Index: trunk/core/admin_templates/js/catalog.js
===================================================================
diff -u -N -r5025 -r5027
--- trunk/core/admin_templates/js/catalog.js (.../catalog.js) (revision 5025)
+++ trunk/core/admin_templates/js/catalog.js (.../catalog.js) (revision 5027)
@@ -48,14 +48,15 @@
alert('AJAX ERROR: ' + Request.getErrorHtml($request));
}
-Catalog.prototype.submit_event = function($prefix_special, $event, $t, $result_div, $source_form) {
- // set form name first, because set_hidden_field uses it
- if (isset($source_form)) $form_name = $source_form;
+Catalog.prototype.submit_event = function($prefix_special, $event, $t) {
+ if (!isset($prefix_special)) $prefix_special = this.getCurrentPrefix();
+ var $tab_id = this.queryTabRegistry('prefix', $prefix_special, 'tab_id');
- if (isset($event)) set_hidden_field('events['+$prefix_special+']', $event);
+ $form_name = $tab_id + '_form'; // set firstly, because set_hidden_field uses it
+ if (isset($event)) set_hidden_field('events[' + $prefix_special + ']', $event);
if (isset($t)) set_hidden_field('t', $t);
- this.submit_kernel_form($form_name, $result_div);
+ this.submit_kernel_form($form_name, $tab_id + '_div');
}
@@ -170,4 +171,15 @@
Catalog.prototype.setItemCount = function($prefix, $count) {
setInnerHTML($prefix + '_item_count', $count);
+}
+
+Catalog.prototype.getCurrentPrefix = function() {
+ if (isset(Grids[this.ActivePrefix]) && (Grids[this.ActivePrefix].SelectedCount > 0)) {
+ // item tab grid exists and some items are selected
+ return this.ActivePrefix;
+ }
+ else {
+ // return prefix of first registred tab -> categories
+ return this.TabRegistry[0]['prefix'];
+ }
}
\ No newline at end of file
Index: trunk/core/kernel/application.php
===================================================================
diff -u -N -r5026 -r5027
--- trunk/core/kernel/application.php (.../application.php) (revision 5026)
+++ trunk/core/kernel/application.php (.../application.php) (revision 5027)
@@ -1316,7 +1316,10 @@
if( isset($params['js_redirect']) ) unset($params['js_redirect']);
if (!isset($params['pass'])) $params['pass'] = 'all';
- if ($this->GetVar('ajax') == 'yes') $params['ajax'] = 'yes';
+ if ($this->GetVar('ajax') == 'yes' && $t == $this->GetVar('t')) {
+ // redirects to the same template as current
+ $params['ajax'] = 'yes';
+ }
$params['__URLENCODE__'] = 1;
$location = $this->HREF($t, $prefix, $params, $index_file);
Index: trunk/core/admin_templates/catalog/catalog.tpl
===================================================================
diff -u -N -r5026 -r5027
--- trunk/core/admin_templates/catalog/catalog.tpl (.../catalog.tpl) (revision 5026)
+++ trunk/core/admin_templates/catalog/catalog.tpl (.../catalog.tpl) (revision 5027)
@@ -1,6 +1,6 @@
-
+
@@ -22,12 +22,12 @@
var a_toolbar = new ToolBar();
a_toolbar.AddButton( new ToolBarButton('upcat', '', function() {
- $Catalog.submit_event('c', 'OnCategoryUp', null, 'categories_div', 'categories_form');
+ $Catalog.submit_event('c', 'OnCategoryUp');
}
) );
a_toolbar.AddButton( new ToolBarButton('homecat', '', function() {
- $Catalog.submit_event('c', 'OnGoHome', null, 'categories_div', 'categories_form');
+ $Catalog.submit_event('c', 'OnGoHome');
}
) );
@@ -49,63 +49,63 @@
a_toolbar.AddButton( new ToolBarButton('delete', '',
function() {
- std_delete_items('c')
+ std_delete_items($Catalog.getCurrentPrefix());
} ) );
a_toolbar.AddButton( new ToolBarSeparator('sep2') );
a_toolbar.AddButton( new ToolBarButton('approve', '', function() {
- $Catalog.submit_event('c','OnMassApprove', null, 'categories_div', 'categories_form');
+ $Catalog.submit_event(null, 'OnMassApprove');
}
) );
a_toolbar.AddButton( new ToolBarButton('decline', '', function() {
- $Catalog.submit_event('c','OnMassDecline', null, 'categories_div', 'categories_form');
+ $Catalog.submit_event(null, 'OnMassDecline');
}
) );
a_toolbar.AddButton( new ToolBarSeparator('sep3') );
a_toolbar.AddButton( new ToolBarButton('export', '', function() {
-
+ $Catalog.submit_event(this.ActivePrefix, 'OnExport');
}
) );
a_toolbar.AddButton( new ToolBarButton('rebuild_cache', '', function() {
-
+ $Catalog.submit_event(null, 'OnRebuildCache');
}
) );
a_toolbar.AddButton( new ToolBarSeparator('sep4') );
a_toolbar.AddButton( new ToolBarButton('cut', '', function() {
-
+ $Catalog.submit_event(null, 'OnCut');
}
) );
a_toolbar.AddButton( new ToolBarButton('copy', '', function() {
-
+ $Catalog.submit_event(null, 'OnCopy');
}
) );
a_toolbar.AddButton( new ToolBarButton('paste', '', function() {
-
+ $Catalog.submit_event(null, 'OnCatPaste');
}
) );
a_toolbar.AddButton( new ToolBarSeparator('sep5') );
a_toolbar.AddButton( new ToolBarButton('move_up', '', function() {
-
+ $Catalog.submit_event(null, 'OnMassMoveUp');
}
) );
a_toolbar.AddButton( new ToolBarButton('move_down', '', function() {
-
+ $Catalog.submit_event(null, 'OnMassMoveDown');
}
) );
@@ -120,8 +120,9 @@
function edit()
{
- $form_name = $Catalog.queryTabRegistry('prefix', $Catalog.ActivePrefix, 'tab_id') + '_form';
- std_edit_item($Catalog.ActivePrefix, $Catalog.queryTabRegistry('prefix', $Catalog.ActivePrefix, 'edit_template'));
+ var $current_prefix = $Catalog.getCurrentPrefix();
+ $form_name = $Catalog.queryTabRegistry('prefix', $current_prefix, 'tab_id') + '_form';
+ std_edit_item($current_prefix, $Catalog.queryTabRegistry('prefix', $current_prefix, 'edit_template'));
}
@@ -207,8 +208,4 @@
-->
-
-
-
\ No newline at end of file
+
\ No newline at end of file
Index: trunk/kernel/admin_templates/incs/catalog.js
===================================================================
diff -u -N -r5026 -r5027
--- trunk/kernel/admin_templates/incs/catalog.js (.../catalog.js) (revision 5026)
+++ trunk/kernel/admin_templates/incs/catalog.js (.../catalog.js) (revision 5027)
@@ -48,14 +48,15 @@
alert('AJAX ERROR: ' + Request.getErrorHtml($request));
}
-Catalog.prototype.submit_event = function($prefix_special, $event, $t, $result_div, $source_form) {
- // set form name first, because set_hidden_field uses it
- if (isset($source_form)) $form_name = $source_form;
+Catalog.prototype.submit_event = function($prefix_special, $event, $t) {
+ if (!isset($prefix_special)) $prefix_special = this.getCurrentPrefix();
+ var $tab_id = this.queryTabRegistry('prefix', $prefix_special, 'tab_id');
- if (isset($event)) set_hidden_field('events['+$prefix_special+']', $event);
+ $form_name = $tab_id + '_form'; // set firstly, because set_hidden_field uses it
+ if (isset($event)) set_hidden_field('events[' + $prefix_special + ']', $event);
if (isset($t)) set_hidden_field('t', $t);
- this.submit_kernel_form($form_name, $result_div);
+ this.submit_kernel_form($form_name, $tab_id + '_div');
}
@@ -170,4 +171,15 @@
Catalog.prototype.setItemCount = function($prefix, $count) {
setInnerHTML($prefix + '_item_count', $count);
+}
+
+Catalog.prototype.getCurrentPrefix = function() {
+ if (isset(Grids[this.ActivePrefix]) && (Grids[this.ActivePrefix].SelectedCount > 0)) {
+ // item tab grid exists and some items are selected
+ return this.ActivePrefix;
+ }
+ else {
+ // return prefix of first registred tab -> categories
+ return this.TabRegistry[0]['prefix'];
+ }
}
\ No newline at end of file
Index: trunk/kernel/admin_templates/catalog.tpl
===================================================================
diff -u -N -r5026 -r5027
--- trunk/kernel/admin_templates/catalog.tpl (.../catalog.tpl) (revision 5026)
+++ trunk/kernel/admin_templates/catalog.tpl (.../catalog.tpl) (revision 5027)
@@ -1,6 +1,6 @@
-
+
@@ -22,12 +22,12 @@
var a_toolbar = new ToolBar();
a_toolbar.AddButton( new ToolBarButton('upcat', '', function() {
- $Catalog.submit_event('c', 'OnCategoryUp', null, 'categories_div', 'categories_form');
+ $Catalog.submit_event('c', 'OnCategoryUp');
}
) );
a_toolbar.AddButton( new ToolBarButton('homecat', '', function() {
- $Catalog.submit_event('c', 'OnGoHome', null, 'categories_div', 'categories_form');
+ $Catalog.submit_event('c', 'OnGoHome');
}
) );
@@ -49,63 +49,63 @@
a_toolbar.AddButton( new ToolBarButton('delete', '',
function() {
- std_delete_items('c')
+ std_delete_items($Catalog.getCurrentPrefix());
} ) );
a_toolbar.AddButton( new ToolBarSeparator('sep2') );
a_toolbar.AddButton( new ToolBarButton('approve', '', function() {
- $Catalog.submit_event('c','OnMassApprove', null, 'categories_div', 'categories_form');
+ $Catalog.submit_event(null, 'OnMassApprove');
}
) );
a_toolbar.AddButton( new ToolBarButton('decline', '', function() {
- $Catalog.submit_event('c','OnMassDecline', null, 'categories_div', 'categories_form');
+ $Catalog.submit_event(null, 'OnMassDecline');
}
) );
a_toolbar.AddButton( new ToolBarSeparator('sep3') );
a_toolbar.AddButton( new ToolBarButton('export', '', function() {
-
+ $Catalog.submit_event(this.ActivePrefix, 'OnExport');
}
) );
a_toolbar.AddButton( new ToolBarButton('rebuild_cache', '', function() {
-
+ $Catalog.submit_event(null, 'OnRebuildCache');
}
) );
a_toolbar.AddButton( new ToolBarSeparator('sep4') );
a_toolbar.AddButton( new ToolBarButton('cut', '', function() {
-
+ $Catalog.submit_event(null, 'OnCut');
}
) );
a_toolbar.AddButton( new ToolBarButton('copy', '', function() {
-
+ $Catalog.submit_event(null, 'OnCopy');
}
) );
a_toolbar.AddButton( new ToolBarButton('paste', '', function() {
-
+ $Catalog.submit_event(null, 'OnCatPaste');
}
) );
a_toolbar.AddButton( new ToolBarSeparator('sep5') );
a_toolbar.AddButton( new ToolBarButton('move_up', '', function() {
-
+ $Catalog.submit_event(null, 'OnMassMoveUp');
}
) );
a_toolbar.AddButton( new ToolBarButton('move_down', '', function() {
-
+ $Catalog.submit_event(null, 'OnMassMoveDown');
}
) );
@@ -120,8 +120,9 @@
function edit()
{
- $form_name = $Catalog.queryTabRegistry('prefix', $Catalog.ActivePrefix, 'tab_id') + '_form';
- std_edit_item($Catalog.ActivePrefix, $Catalog.queryTabRegistry('prefix', $Catalog.ActivePrefix, 'edit_template'));
+ var $current_prefix = $Catalog.getCurrentPrefix();
+ $form_name = $Catalog.queryTabRegistry('prefix', $current_prefix, 'tab_id') + '_form';
+ std_edit_item($current_prefix, $Catalog.queryTabRegistry('prefix', $current_prefix, 'edit_template'));
}
@@ -207,8 +208,4 @@
-->
-
-
-
\ No newline at end of file
+
\ No newline at end of file