Index: branches/unlabeled/unlabeled-1.2.2/core/admin_templates/js/script.js =================================================================== diff -u -r6863 -r6865 --- branches/unlabeled/unlabeled-1.2.2/core/admin_templates/js/script.js (.../script.js) (revision 6863) +++ branches/unlabeled/unlabeled-1.2.2/core/admin_templates/js/script.js (.../script.js) (revision 6865) @@ -20,6 +20,11 @@ var $hooks = new Array(); } +function use_popups($prefix_special, $event) { + return false; +// return true; +} + function getArrayValue() { var $value = arguments[0]; @@ -407,6 +412,7 @@ function openwin($url,$name,$width,$height) { +// alert('openwin: name = ['+$name+']'); var left = Math.round((screen.width - $width)/2); var top = Math.round((screen.height - $height)/2); var $window_params = 'left='+left+',top='+top+',width='+$width+',height='+$height+',status=yes,resizable=yes,menubar=no,scrollbars=yes,toolbar=no'; @@ -415,33 +421,70 @@ function opener_action(new_action) { + var $prev_opener = get_hidden_field('m_opener'); set_hidden_field('m_opener', new_action); + return $prev_opener; } +function open_popup($prefix_special, $event, $t) { + var $kf = document.getElementById($form_name); + + var $window_name = $t.replace(/(\/|-)/g, '_'); // replace "/" and "-" with "_" + var $window_size = '750x400'; // query with AJAX later + $window_size = $window_size.split('x'); + + openwin('', $window_name, $window_size[0], $window_size[1]); + $kf.target = $window_name; + + var $prev_opener = opener_action('p'); + submit_event($prefix_special, $event, $t); + opener_action($prev_opener); // restore opener in parent window +} + function std_precreate_item(prefix_special, edit_template) { - opener_action('d'); set_hidden_field(prefix_special+'_mode', 't'); - submit_event(prefix_special,'OnPreCreate', edit_template) + if (use_popups(prefix_special, 'OnPreCreate')) { + open_popup(prefix_special, 'OnPreCreate', edit_template); + } + else { + opener_action('d'); + submit_event(prefix_special,'OnPreCreate', edit_template); + } } function std_new_item(prefix_special, edit_template) { - opener_action('d'); - submit_event(prefix_special,'OnNew', edit_template) + if (use_popups(prefix_special, 'OnNew')) { + open_popup(prefix_special, 'OnNew', edit_template); + } + else { + opener_action('d'); + submit_event(prefix_special,'OnNew', edit_template); + } } function std_edit_item(prefix_special, edit_template) - { - opener_action('d'); +{ set_hidden_field(prefix_special+'_mode', 't'); - submit_event(prefix_special,'OnEdit',edit_template) + if (use_popups(prefix_special, 'OnEdit')) { + open_popup(prefix_special, 'OnEdit', edit_template); + } + else { + opener_action('d'); + submit_event(prefix_special,'OnEdit',edit_template); + } } function std_edit_temp_item(prefix_special, edit_template) { - opener_action('d'); - submit_event(prefix_special,'',edit_template) + if (use_popups(prefix_special, '')) { + open_popup(prefix_special, '', edit_template); + } + else { + opener_action('d'); + submit_event(prefix_special,'',edit_template); + } } function std_delete_items(prefix_special, t, $ajax)