Index: branches/RC/core/units/general/cat_tag_processor.php =================================================================== diff -u -N -r10870 -r10902 --- branches/RC/core/units/general/cat_tag_processor.php (.../cat_tag_processor.php) (revision 10870) +++ branches/RC/core/units/general/cat_tag_processor.php (.../cat_tag_processor.php) (revision 10902) @@ -151,6 +151,7 @@ $params['cat_prefix'] = trim('c.'.($tab_params['special'] ? $tab_params['special'] : $this->Special), '.'); $params['tab_mode'] = $tab_params['mode']; + $params['grid_name'] = ($tab_params['mode'] == 'multi') ? $params['default_grid'] : $params['radio_grid']; $params['tab_dependant'] = $tab_params['dependant']; $params['show_category'] = $tab_params['special'] == 'showall' ? 1 : 0; // this is advanced view -> show category name Index: branches/RC/core/admin_templates/users/user_selector.tpl =================================================================== diff -u -N -r10020 -r10902 --- branches/RC/core/admin_templates/users/user_selector.tpl (.../user_selector.tpl) (revision 10020) +++ branches/RC/core/admin_templates/users/user_selector.tpl (.../user_selector.tpl) (revision 10902) @@ -41,7 +41,6 @@ \ No newline at end of file Index: branches/RC/core/admin_templates/js/forms.js =================================================================== diff -u -N -r10863 -r10902 --- branches/RC/core/admin_templates/js/forms.js (.../forms.js) (revision 10863) +++ branches/RC/core/admin_templates/js/forms.js (.../forms.js) (revision 10902) @@ -43,6 +43,9 @@ } ); } + /*else { + console.log('error: focusing failed for [', prefix, '.', field, '] = ', element); + }*/ if (typeof(first_error[prefix]) == 'undefined' || first_error[prefix] == false) { first_error[prefix] = [field, element]; Index: branches/RC/core/units/groups/groups_config.php =================================================================== diff -u -N -r10517 -r10902 --- branches/RC/core/units/groups/groups_config.php (.../groups_config.php) (revision 10517) +++ branches/RC/core/units/groups/groups_config.php (.../groups_config.php) (revision 10902) @@ -108,6 +108,7 @@ 'Radio' => Array ( 'Icons' => Array (1 => 'icon16_group.gif', 0 => 'icon16_group_disabled.gif'), + 'Selector' => 'radio', 'Fields' => Array ( 'GroupId' => Array ('title' => 'la_col_Id', 'data_block' => 'grid_radio_td', 'filter_block' => 'grid_range_filter'), 'Name' => Array ('title' => 'la_col_GroupName'), Index: branches/RC/core/admin_templates/user_selector.tpl =================================================================== diff -u -N -r8929 -r10902 --- branches/RC/core/admin_templates/user_selector.tpl (.../user_selector.tpl) (revision 8929) +++ branches/RC/core/admin_templates/user_selector.tpl (.../user_selector.tpl) (revision 10902) @@ -40,7 +40,6 @@ \ No newline at end of file Index: branches/RC/core/admin_templates/categories/categories_edit.tpl =================================================================== diff -u -N -r10863 -r10902 --- branches/RC/core/admin_templates/categories/categories_edit.tpl (.../categories_edit.tpl) (revision 10863) +++ branches/RC/core/admin_templates/categories/categories_edit.tpl (.../categories_edit.tpl) (revision 10902) @@ -1,9 +1,7 @@ - + - - @@ -93,6 +91,8 @@ var $checked = document.getElementById('_cb_').checked; document.getElementById('').readOnly = $checked; } + + Application.setHook('m:OnAfterWindowLoad', reflect_filename); \ No newline at end of file Index: branches/RC/kernel/admin_templates/categories/categories_edit_custom.tpl =================================================================== diff -u -N -r8929 -r10902 --- branches/RC/kernel/admin_templates/categories/categories_edit_custom.tpl (.../categories_edit_custom.tpl) (revision 8929) +++ branches/RC/kernel/admin_templates/categories/categories_edit_custom.tpl (.../categories_edit_custom.tpl) (revision 10902) @@ -57,7 +57,18 @@ + + - + Index: branches/RC/kernel/admin_templates/categories/categories_edit.tpl =================================================================== diff -u -N -r10863 -r10902 --- branches/RC/kernel/admin_templates/categories/categories_edit.tpl (.../categories_edit.tpl) (revision 10863) +++ branches/RC/kernel/admin_templates/categories/categories_edit.tpl (.../categories_edit.tpl) (revision 10902) @@ -1,9 +1,7 @@ - + - - @@ -93,6 +91,8 @@ var $checked = document.getElementById('_cb_').checked; document.getElementById('').readOnly = $checked; } + + Application.setHook('m:OnAfterWindowLoad', reflect_filename); \ No newline at end of file Index: branches/RC/core/admin_templates/categories/categories_edit_custom.tpl =================================================================== diff -u -N -r8929 -r10902 --- branches/RC/core/admin_templates/categories/categories_edit_custom.tpl (.../categories_edit_custom.tpl) (revision 8929) +++ branches/RC/core/admin_templates/categories/categories_edit_custom.tpl (.../categories_edit_custom.tpl) (revision 10902) @@ -57,7 +57,18 @@ + + - + Index: branches/RC/core/admin_templates/categories/categories_edit_permissions.tpl =================================================================== diff -u -N -r10863 -r10902 --- branches/RC/core/admin_templates/categories/categories_edit_permissions.tpl (.../categories_edit_permissions.tpl) (revision 10863) +++ branches/RC/core/admin_templates/categories/categories_edit_permissions.tpl (.../categories_edit_permissions.tpl) (revision 10902) @@ -171,8 +171,6 @@ } } - Grids['g'].EnableRadioMode(); - function update_light(perm_name, value) { document.getElementById('light_'+perm_name).src = 'img/perm_' + (value ? 'green' : 'red') + '.gif'; Index: branches/RC/kernel/admin_templates/categories/categories_edit_permissions.tpl =================================================================== diff -u -N -r10863 -r10902 --- branches/RC/kernel/admin_templates/categories/categories_edit_permissions.tpl (.../categories_edit_permissions.tpl) (revision 10863) +++ branches/RC/kernel/admin_templates/categories/categories_edit_permissions.tpl (.../categories_edit_permissions.tpl) (revision 10902) @@ -171,8 +171,6 @@ } } - Grids['g'].EnableRadioMode(); - function update_light(perm_name, value) { document.getElementById('light_'+perm_name).src = 'img/perm_' + (value ? 'green' : 'red') + '.gif'; Index: branches/RC/core/units/users/users_config.php =================================================================== diff -u -N -r10863 -r10902 --- branches/RC/core/units/users/users_config.php (.../users_config.php) (revision 10863) +++ branches/RC/core/units/users/users_config.php (.../users_config.php) (revision 10902) @@ -270,6 +270,7 @@ 'UserSelector' => Array( 'Icons' => Array(0 => 'icon16_user_disabled.gif', 1 => 'icon16_user.gif', 2 => 'icon16_user_pending.gif'), + 'Selector' => 'radio', 'Fields' => Array( 'Login' => Array('title' => 'la_col_Username', 'data_block' => 'grid_radio_td'), 'LastName' => Array( 'title'=>'la_col_LastName'), Index: branches/RC/core/units/custom_fields/custom_fields_config.php =================================================================== diff -u -N -r10856 -r10902 --- branches/RC/core/units/custom_fields/custom_fields_config.php (.../custom_fields_config.php) (revision 10856) +++ branches/RC/core/units/custom_fields/custom_fields_config.php (.../custom_fields_config.php) (revision 10902) @@ -98,17 +98,18 @@ 'Default' => Array( 'Icons' => Array('default'=>'icon16_custom.gif'), 'Fields' => Array( - 'CustomFieldId' => Array( 'title'=>'la_prompt_FieldId', 'data_block' => 'grid_checkbox_td' ), + 'CustomFieldId' => Array( 'title'=>'la_prompt_FieldId', 'data_block' => 'grid_checkbox_td', 'filter_block' => 'grid_range_filter' ), 'FieldName' => Array( 'title'=>'la_prompt_FieldName'), 'FieldLabel' => Array( 'title'=>'la_prompt_FieldLabel', 'data_block' => 'cf_grid_data_td' ), - 'DisplayOrder' => Array('title' => 'la_prompt_DisplayOrder'), + 'DisplayOrder' => Array('title' => 'la_prompt_DisplayOrder', 'filter_block' => 'grid_range_filter' ), ), ), 'SeparateTab' => Array( 'Icons' => Array('default'=>'icon16_custom.gif'), + 'Selector' => '', 'Fields' => Array( - 'FieldName' => Array( 'title'=>'la_col_FieldName', 'data_block' => 'grid_icon_td'), + 'FieldName' => Array( 'title'=>'la_col_FieldName', 'data_block' => 'grid_checkbox_td'), 'Prompt' => Array( 'title'=>'la_col_Prompt', 'data_block' => 'grid_data_label_ml_td', 'ElementTypeField' => 'ElementType'), 'Value' => Array( 'title'=>'la_col_Value', 'data_block' => 'edit_custom_td'), 'Error' => Array( 'title'=>'la_col_Error', 'data_block' => 'custom_error_td'), @@ -117,6 +118,7 @@ 'SeparateTabOriginal' => Array( 'Icons' => Array('default'=>'icon16_custom.gif'), + 'Selector' => '', 'Fields' => Array( 'FieldName' => Array( 'title'=>'la_col_FieldName', 'data_block' => 'grid_icon_td'), 'Prompt' => Array( 'title'=>'la_col_Prompt', 'data_block' => 'grid_data_label_ml_td', 'ElementTypeField' => 'ElementType'), Index: branches/RC/core/admin_templates/js/script.js =================================================================== diff -u -N -r10719 -r10902 --- branches/RC/core/admin_templates/js/script.js (.../script.js) (revision 10719) +++ branches/RC/core/admin_templates/js/script.js (.../script.js) (revision 10902) @@ -1,6 +1,7 @@ if ( !( isset($init_made) && $init_made ) ) { var Application = new kApplication(); var Grids = new Array(); + var GridScrollers = new Array (); var Toolbars = new Array(); var $Menus = new Array(); var $ViewMenus = new Array(); Index: branches/RC/core/admin_templates/incs/grid_blocks.tpl =================================================================== diff -u -N -r10832 -r10902 --- branches/RC/core/admin_templates/incs/grid_blocks.tpl (.../grid_blocks.tpl) (revision 10832) +++ branches/RC/core/admin_templates/incs/grid_blocks.tpl (.../grid_blocks.tpl) (revision 10902) @@ -382,14 +382,16 @@ - + + + nobottomnotop"> @@ -467,12 +469,18 @@ _Sort1_Dir" name="_Sort1_Dir" value="asc"> - - + + + + Grids[''] = new Grid('', '', ':original', edit, a_toolbar); Grids[''].AddItemsByIdMask('', /^_([\d\w-]+)/, '[$$ID$$][]'); Grids[''].InitItems(); + + Grids[''].EnableRadioMode(); + + function refresh_grid() { // window.location.reload(); Index: branches/RC/kernel/units/reviews/reviews_tag_processor.php =================================================================== diff -u -N -r10455 -r10902 --- branches/RC/kernel/units/reviews/reviews_tag_processor.php (.../reviews_tag_processor.php) (revision 10455) +++ branches/RC/kernel/units/reviews/reviews_tag_processor.php (.../reviews_tag_processor.php) (revision 10902) @@ -111,6 +111,7 @@ $params['cat_prefix'] = trim('c.'.($tab_params['special'] ? $tab_params['special'] : $this->Special), '.'); $params['tab_mode'] = $tab_params['mode']; + $params['grid_name'] = ($tab_params['mode'] == 'multi') ? $params['default_grid'] : $params['radio_grid']; $params['tab_dependant'] = $tab_params['dependant']; $params['show_category'] = $tab_params['special'] == 'showall' ? 1 : 0; // this is advanced view -> show category name $params['tab_name'] = $this->Application->GetVar('tab_name'); Index: branches/RC/core/admin_templates/incs/form_blocks.tpl =================================================================== diff -u -N -r10673 -r10902 --- branches/RC/core/admin_templates/incs/form_blocks.tpl (.../form_blocks.tpl) (revision 10673) +++ branches/RC/core/admin_templates/incs/form_blocks.tpl (.../form_blocks.tpl) (revision 10902) @@ -159,6 +159,10 @@ " id="" value=""> + + + + "> Index: branches/RC/core/units/reviews/reviews_tag_processor.php =================================================================== diff -u -N -r10455 -r10902 --- branches/RC/core/units/reviews/reviews_tag_processor.php (.../reviews_tag_processor.php) (revision 10455) +++ branches/RC/core/units/reviews/reviews_tag_processor.php (.../reviews_tag_processor.php) (revision 10902) @@ -111,6 +111,7 @@ $params['cat_prefix'] = trim('c.'.($tab_params['special'] ? $tab_params['special'] : $this->Special), '.'); $params['tab_mode'] = $tab_params['mode']; + $params['grid_name'] = ($tab_params['mode'] == 'multi') ? $params['default_grid'] : $params['radio_grid']; $params['tab_dependant'] = $tab_params['dependant']; $params['show_category'] = $tab_params['special'] == 'showall' ? 1 : 0; // this is advanced view -> show category name $params['tab_name'] = $this->Application->GetVar('tab_name'); Index: branches/RC/core/units/images/image_event_handler.php =================================================================== diff -u -N -r10853 -r10902 --- branches/RC/core/units/images/image_event_handler.php (.../image_event_handler.php) (revision 10853) +++ branches/RC/core/units/images/image_event_handler.php (.../image_event_handler.php) (revision 10902) @@ -78,7 +78,7 @@ function ImageAction(&$event) { $id = $event->getEventParam('id'); - $object =& $this->Application->recallObject($event->Prefix.'.-item', $event->Prefix); + $object =& $this->Application->recallObject($event->Prefix.'.-item', $event->Prefix, Array ('skip_autoload' => true)); if (in_array($event->Name, Array('OnBeforeDeleteFromLive','OnAfterClone')) ) { $object->SwitchToLive(); } Index: branches/RC/core/kernel/db/db_tag_processor.php =================================================================== diff -u -N -r10870 -r10902 --- branches/RC/core/kernel/db/db_tag_processor.php (.../db_tag_processor.php) (revision 10870) +++ branches/RC/core/kernel/db/db_tag_processor.php (.../db_tag_processor.php) (revision 10902) @@ -1416,12 +1416,43 @@ */ function UseItemIcons($params) { - $object =& $this->getObject($params); - $grids = $this->Application->getUnitOption($this->Prefix, 'Grids'); return array_key_exists('Icons', $grids[ $params['grid'] ]); } + /** + * Returns corresponding to grid layout selector column width + * + * @param Array $params + * @return int + */ + function GridSelectorColumnWidth($params) + { + $width = 0; + if ($params['selector']) { + $width += $params['selector_width']; + } + + if ($this->UseItemIcons($params)) { + $width += $params['icon_width']; + } + + return $width; + } + + /** + * Returns grids item selection mode (checkbox, radio, ) + * + * @param Array $params + * @return string + */ + function GridSelector($params) + { + $grids = $this->Application->getUnitOption($this->Prefix, 'Grids'); + + return array_key_exists('Selector', $grids[ $params['grid'] ]) ? $grids[ $params['grid'] ]['Selector'] : $params['default']; + } + function ItemIcon($params) { $object =& $this->getObject($params); Index: branches/RC/kernel/units/images/image_event_handler.php =================================================================== diff -u -N -r10853 -r10902 --- branches/RC/kernel/units/images/image_event_handler.php (.../image_event_handler.php) (revision 10853) +++ branches/RC/kernel/units/images/image_event_handler.php (.../image_event_handler.php) (revision 10902) @@ -78,7 +78,7 @@ function ImageAction(&$event) { $id = $event->getEventParam('id'); - $object =& $this->Application->recallObject($event->Prefix.'.-item', $event->Prefix); + $object =& $this->Application->recallObject($event->Prefix.'.-item', $event->Prefix, Array ('skip_autoload' => true)); if (in_array($event->Name, Array('OnBeforeDeleteFromLive','OnAfterClone')) ) { $object->SwitchToLive(); }