Index: trunk/core/kernel/db/db_tag_processor.php =================================================================== diff -u -r4996 -r5081 --- trunk/core/kernel/db/db_tag_processor.php (.../db_tag_processor.php) (revision 4996) +++ trunk/core/kernel/db/db_tag_processor.php (.../db_tag_processor.php) (revision 5081) @@ -110,7 +110,7 @@ $submit = 1; $status = 0; } - $block_params['filter_action'] = 'set_filter("'.$prefix_special.'","'.$filter_key.'","'.$submit.'");'; + $block_params['filter_action'] = 'set_filter("'.$prefix_special.'","'.$filter_key.'","'.$submit.'",'.$params['ajax'].');'; $block_params['filter_status'] = $status; $filters[] = $this->Application->ParseBlock($block_params); } Index: trunk/kernel/admin_templates/incs/script.js =================================================================== diff -u -r5073 -r5081 --- trunk/kernel/admin_templates/incs/script.js (.../script.js) (revision 5073) +++ trunk/kernel/admin_templates/incs/script.js (.../script.js) (revision 5081) @@ -76,13 +76,14 @@ submit_event($prefix_special, 'OnSetSorting', null, null, $ajax); } -function direct_sort_grid($prefix_special,$field,$direction,$field_pos) +function direct_sort_grid($prefix_special, $field, $direction, $field_pos, $ajax) { if(!isset($field_pos)) $field_pos = 1; + set_form($prefix_special, $ajax); set_hidden_field($prefix_special+'_Sort'+$field_pos,$field); set_hidden_field($prefix_special+'_Sort'+$field_pos+'_Dir',$direction); set_hidden_field($prefix_special+'_SortPos',$field_pos); - submit_event($prefix_special,'OnSetSortingDirect'); + submit_event($prefix_special,'OnSetSortingDirect', null, null, $ajax); } function reset_sorting($prefix_special) @@ -585,21 +586,24 @@ $window.document.title = (main_title.length ? main_title + ' - ' : '') + $title; } -function set_filter($prefix_special, $filter_id, $filter_value) +function set_filter($prefix_special, $filter_id, $filter_value, $ajax) { - set_hidden_field('filter_id',$filter_id); - set_hidden_field('filter_value',$filter_value); - submit_event($prefix_special,'OnSetFilter'); + set_form($prefix_special, $ajax); + set_hidden_field('filter_id', $filter_id); + set_hidden_field('filter_value', $filter_value); + submit_event($prefix_special, 'OnSetFilter', null, null, $ajax); } -function filters_remove_all($prefix_special) +function filters_remove_all($prefix_special, $ajax) { - submit_event($prefix_special,'OnRemoveFilters'); + set_form($prefix_special, $ajax); + submit_event($prefix_special,'OnRemoveFilters', null, null, $ajax); } -function filters_apply_all($prefix_special) +function filters_apply_all($prefix_special, $ajax) { - submit_event($prefix_special,'OnApplyFilters'); + set_form($prefix_special, $ajax); + submit_event($prefix_special,'OnApplyFilters', null, null, $ajax); } function RemoveTranslationLink($string, $escaped) Index: trunk/core/units/categories/categories_config.php =================================================================== diff -u -r5030 -r5081 --- trunk/core/units/categories/categories_config.php (.../categories_config.php) (revision 5030) +++ trunk/core/units/categories/categories_config.php (.../categories_config.php) (revision 5081) @@ -152,7 +152,23 @@ ), ), - + + 'FilterMenu' => Array( + 'Groups' => Array( + Array('mode' => 'AND', 'filters' => Array('show_active','show_pending','show_disabled'), 'type' => WHERE_FILTER), + Array('mode' => 'AND', 'filters' => Array('show_new'), 'type' => HAVING_FILTER), + Array('mode' => 'AND', 'filters' => Array('show_pick'), 'type' => WHERE_FILTER), + ), + 'Filters' => Array( + 'show_active' => Array('label' =>'la_Active', 'on_sql' => '', 'off_sql' => 'Status != 1' ), + 'show_pending' => Array('label' => 'la_Pending', 'on_sql' => '', 'off_sql' => 'Status != 2' ), + 'show_disabled' => Array('label' => 'la_Disabled', 'on_sql' => '', 'off_sql' => 'Status != 0' ), + 's1' => Array(), + 'show_new' => Array('label' => 'la_Text_New', 'on_sql' => '', 'off_sql' => '`IsNew` != 1' ), + 'show_pick' => Array('label' => 'la_prompt_EditorsPick', 'on_sql' => '', 'off_sql' => '`EditorsPick` != 1' ), + ) + ), + 'ListSQLs' => Array( ''=> ' SELECT %1$s.* %2$s FROM %1$s LEFT JOIN '.TABLE_PREFIX.'PermCache ON '.TABLE_PREFIX.'PermCache.CategoryId = %1$s.CategoryId Index: trunk/kernel/admin_templates/xml/categories_list.tpl =================================================================== diff -u -r5078 -r5081 --- trunk/kernel/admin_templates/xml/categories_list.tpl (.../categories_list.tpl) (revision 5078) +++ trunk/kernel/admin_templates/xml/categories_list.tpl (.../categories_list.tpl) (revision 5081) @@ -5,7 +5,7 @@ Grids['c'].AddItemsByIdMask('td', /^c_([0-9-]+)/, 'c[$$ID$$][CategoryId]'); Grids['c'].InitItems(); Grids['c'].SetDependantToolbarButtons( new Array('edit','delete','approve','decline','sep3','cut','copy','move_up','move_down','sep6')); - + document.getElementById('categories_form').action = ''; Index: trunk/core/admin_templates/categories/xml/categories_list.tpl =================================================================== diff -u -r5078 -r5081 --- trunk/core/admin_templates/categories/xml/categories_list.tpl (.../categories_list.tpl) (revision 5078) +++ trunk/core/admin_templates/categories/xml/categories_list.tpl (.../categories_list.tpl) (revision 5081) @@ -5,7 +5,7 @@ Grids['c'].AddItemsByIdMask('td', /^c_([0-9-]+)/, 'c[$$ID$$][CategoryId]'); Grids['c'].InitItems(); Grids['c'].SetDependantToolbarButtons( new Array('edit','delete','approve','decline','sep3','cut','copy','move_up','move_down','sep6')); - + document.getElementById('categories_form').action = ''; Index: trunk/kernel/units/categories/categories_config.php =================================================================== diff -u -r5030 -r5081 --- trunk/kernel/units/categories/categories_config.php (.../categories_config.php) (revision 5030) +++ trunk/kernel/units/categories/categories_config.php (.../categories_config.php) (revision 5081) @@ -152,7 +152,23 @@ ), ), - + + 'FilterMenu' => Array( + 'Groups' => Array( + Array('mode' => 'AND', 'filters' => Array('show_active','show_pending','show_disabled'), 'type' => WHERE_FILTER), + Array('mode' => 'AND', 'filters' => Array('show_new'), 'type' => HAVING_FILTER), + Array('mode' => 'AND', 'filters' => Array('show_pick'), 'type' => WHERE_FILTER), + ), + 'Filters' => Array( + 'show_active' => Array('label' =>'la_Active', 'on_sql' => '', 'off_sql' => 'Status != 1' ), + 'show_pending' => Array('label' => 'la_Pending', 'on_sql' => '', 'off_sql' => 'Status != 2' ), + 'show_disabled' => Array('label' => 'la_Disabled', 'on_sql' => '', 'off_sql' => 'Status != 0' ), + 's1' => Array(), + 'show_new' => Array('label' => 'la_Text_New', 'on_sql' => '', 'off_sql' => '`IsNew` != 1' ), + 'show_pick' => Array('label' => 'la_prompt_EditorsPick', 'on_sql' => '', 'off_sql' => '`EditorsPick` != 1' ), + ) + ), + 'ListSQLs' => Array( ''=> ' SELECT %1$s.* %2$s FROM %1$s LEFT JOIN '.TABLE_PREFIX.'PermCache ON '.TABLE_PREFIX.'PermCache.CategoryId = %1$s.CategoryId Index: trunk/kernel/admin_templates/incs/grid_blocks.tpl =================================================================== diff -u -r5073 -r5081 --- trunk/kernel/admin_templates/incs/grid_blocks.tpl (.../grid_blocks.tpl) (revision 5073) +++ trunk/kernel/admin_templates/incs/grid_blocks.tpl (.../grid_blocks.tpl) (revision 5081) @@ -197,7 +197,7 @@ - $Menus[''+'_sorting_menu'].addMenuItem('','direct_sort_grid("","","");','2'); + $Menus[''+'_sorting_menu'].addMenuItem('','direct_sort_grid("","","", null, );','2'); @@ -208,27 +208,27 @@ $Menus[''+'_filter_menu'].addMenuSeparator(); - + // define ViewMenu $fw_menus[''+'_view_menu'] = function() { // filtring menu $Menus[''+'_filter_menu'] = new Menu(''); - $Menus[''+'_filter_menu'].addMenuItem('All','filters_remove_all("");'); - $Menus[''+'_filter_menu'].addMenuItem('None','filters_apply_all("");'); + $Menus[''+'_filter_menu'].addMenuItem('All','filters_remove_all("", );'); + $Menus[''+'_filter_menu'].addMenuItem('None','filters_apply_all("", );'); $Menus[''+'_filter_menu'].addMenuSeparator(); - + // sorting menu $Menus[''+'_sorting_menu'] = new Menu(''); - $Menus[''+'_sorting_menu'].addMenuItem('','direct_sort_grid("","","asc");','2'); - $Menus[''+'_sorting_menu'].addMenuItem('','direct_sort_grid("","","desc");','2'); + $Menus[''+'_sorting_menu'].addMenuItem('','direct_sort_grid("","","asc",null,);','2'); + $Menus[''+'_sorting_menu'].addMenuItem('','direct_sort_grid("","","desc",null,);','2'); $Menus[''+'_sorting_menu'].addMenuSeparator(); $Menus[''+'_sorting_menu'].addMenuItem('','reset_sorting("");'); - +