forked from extern/egroupware
- link widgets uses now ajax to search
- new sub-type to search and select an entry of a selectable or given app - more to come
This commit is contained in:
parent
2d2a18959f
commit
f68c173c30
@ -25,6 +25,8 @@
|
||||
* - link-string: comma-separated list of link-titles with a link to its view method, value is like get_links()
|
||||
* or array with keys to_app and to_id (widget calls then get_links itself)
|
||||
* - link-add: Add a new entry of the select app, which is already linked to a given entry
|
||||
* - link-entry: Allow to select an entry of a selectable or in options specified app
|
||||
* - link-apps: Select an app registerd in the link system, options: '' or 'add'
|
||||
*
|
||||
*<code>
|
||||
* $content[$name] = array(
|
||||
@ -52,8 +54,9 @@
|
||||
* @var array exported methods of this class
|
||||
*/
|
||||
var $public_functions = array(
|
||||
'pre_process' => True,
|
||||
'post_process' => True
|
||||
'pre_process' => True,
|
||||
'post_process' => True,
|
||||
'ajax_search' => True,
|
||||
);
|
||||
/**
|
||||
* @var array availible extensions and there names for the editor
|
||||
@ -63,14 +66,18 @@
|
||||
'link-to' => 'LinkTo',
|
||||
'link-list' => 'LinkList',
|
||||
'link-string' => 'LinkString',
|
||||
'link-add' => 'LinkEntry',
|
||||
'link-add' => 'LinkAdd',
|
||||
'link-entry' => 'LinkEntry',
|
||||
'link-apps' => 'LinkApps',
|
||||
);
|
||||
/**
|
||||
* @var boolean $debug switches debug-messages on and off
|
||||
*/
|
||||
var $debug = False;
|
||||
/**
|
||||
* @var object $link reference to the link class
|
||||
* reference to the link class
|
||||
*
|
||||
* @var bolink
|
||||
*/
|
||||
var $link;
|
||||
|
||||
@ -79,7 +86,7 @@
|
||||
*
|
||||
* @param string $ui '' for html
|
||||
*/
|
||||
function link_widget($ui)
|
||||
function link_widget($ui='')
|
||||
{
|
||||
if (!is_object($GLOBALS['egw']->link))
|
||||
{
|
||||
@ -103,7 +110,7 @@
|
||||
*/
|
||||
function pre_process($name,&$value,&$cell,&$readonlys,&$extension_data,&$tmpl)
|
||||
{
|
||||
$type = $cell['type'];
|
||||
$extension_data['type'] = $type = $cell['type'];
|
||||
$help = $cell['help'] ? ($value['help'] ? $value['help'] : $cell['help']) : lang('view this linked entry in its application');
|
||||
|
||||
if (($type == 'link-to' || $type == 'link-add') && ($cell['readonly'] || $readonlys))
|
||||
@ -113,7 +120,7 @@
|
||||
$cell = $tmpl->empty_cell();
|
||||
return;
|
||||
}
|
||||
if (!is_array($value) && $type != 'link-string' && $type != 'link')
|
||||
if (!is_array($value) && in_array($type,array('link-to','link-list','link-add')))
|
||||
{
|
||||
$value = array(
|
||||
'to_id' => $value,
|
||||
@ -126,7 +133,7 @@
|
||||
echo "<p>start: $cell[type][$name]::pre_process: value ="; _debug_array($value);
|
||||
echo "extension_data[$cell[type]][$name] ="; _debug_array($extension_data);
|
||||
}
|
||||
switch ($type = $cell['type'])
|
||||
switch ($cell['type'])
|
||||
{
|
||||
case 'link':
|
||||
$cell['readonly'] = True; // set it readonly to NOT call our post_process function
|
||||
@ -223,6 +230,13 @@
|
||||
break;
|
||||
|
||||
case 'link-to':
|
||||
$GLOBALS['egw_info']['flags']['include_xajax'] = true;
|
||||
if ($value['search_label'] && $extension_data['search_label'] != $value['search_label']) $value['search_label'] = lang($value['search_label']);
|
||||
$extension_data = $value;
|
||||
$tpl =& new etemplate('etemplate.link_widget.to');
|
||||
if ($value['link_label']) $tpl->set_cell_attribute('create','label',$value['link_label']);
|
||||
if ($value['search_label']) $tpl->set_cell_attribute('search','label',$value['search_label']);
|
||||
/* old request code
|
||||
$value['msg'] = '';
|
||||
if ($value['button'] == 'search' && count($ids = $this->link->query($value['app'],$value['query'])))
|
||||
{
|
||||
@ -258,7 +272,7 @@
|
||||
}
|
||||
$tpl->set_cell_attribute('comment','onchange',"set_style_by_class('*','hide_comment','display',this.checked ? 'block' : 'none');");
|
||||
unset($value['comment']);
|
||||
}
|
||||
}*/
|
||||
break;
|
||||
|
||||
case 'link-list':
|
||||
@ -309,6 +323,63 @@
|
||||
}
|
||||
}
|
||||
break;
|
||||
|
||||
case 'link-entry':
|
||||
$GLOBALS['egw_info']['flags']['include_xajax'] = true;
|
||||
$tpl =& new etemplate('etemplate.link_widget.entry');
|
||||
if ($value) // show pre-selected entry in select-box and not the search
|
||||
{
|
||||
// add selected-entry plus "new search" to the selectbox-options
|
||||
if (($app = $cell['size']))
|
||||
{
|
||||
$id = $value;
|
||||
}
|
||||
else
|
||||
{
|
||||
list($app,$id) = explode(':',$value);
|
||||
}
|
||||
if ($id && ($title = $this->link->title($app,$id)))
|
||||
{
|
||||
$selectbox =& $tpl->get_widget_by_name('id');
|
||||
$selectbox['sel_options'] = array(
|
||||
$id => $title,
|
||||
'' => lang('new search').' ...',
|
||||
);
|
||||
// remove link_hide class from select-box-line
|
||||
$span =& $tpl->get_cell_attribute('select_line','span');
|
||||
$span = str_replace('link_hide','',$span);
|
||||
// add link_hide class to search_line
|
||||
$span =& $tpl->get_cell_attribute('search_line','span');
|
||||
$span .= ' link_hide';
|
||||
unset($span);
|
||||
}
|
||||
}
|
||||
if (($extension_data['app'] = $cell['size'])) // no app-selection, using app given in $cell['size']
|
||||
{
|
||||
$tpl->disable_cells('app');
|
||||
$onchange =& $tpl->get_cell_attribute('search','onclick');
|
||||
$onchange = str_replace("document.getElementById(form::name('app')).value",'\''.$cell['size'].'\'',$onchange);
|
||||
unset($onchange);
|
||||
}
|
||||
$value = array(
|
||||
'app' => $cell['size'],
|
||||
'no_app_sel' => !!$cell['size'],
|
||||
'id' => $value,
|
||||
);
|
||||
break;
|
||||
|
||||
case 'link-apps':
|
||||
$apps = $this->link->app_list($cell['size']);
|
||||
if (!$apps) // cant do an add without apps or already created entry
|
||||
{
|
||||
$cell = $tmpl->empty_cell();
|
||||
return;
|
||||
}
|
||||
asort($apps); // sort them alphabetic
|
||||
$cell['sel_options'] = $apps;
|
||||
$cell['no_lang'] = True; // already translated
|
||||
$cell['type'] = 'select';
|
||||
return true;
|
||||
}
|
||||
$cell['size'] = $cell['name'];
|
||||
$cell['type'] = 'template';
|
||||
@ -345,6 +416,16 @@
|
||||
{
|
||||
//echo "<p>link_widget::post_process('$name',value=".print_r($value,true).",ext=".print_r($extension_data,true).",$loop,,value_in=".print_r($value_in,true)."</p>\n";
|
||||
|
||||
switch($extension_data['type'])
|
||||
{
|
||||
case 'link-entry':
|
||||
$value = $extension_data['app'] ? $value_in['id'] : $value['app'].':'.$value_in['id'];
|
||||
return !!$value_in['id'];
|
||||
|
||||
case 'link-apps':
|
||||
$value = $value_in;
|
||||
return !!$value;
|
||||
}
|
||||
$buttons = array('search','create','new','upload','attach');
|
||||
while (!$button && list(,$bname) = each($buttons))
|
||||
{
|
||||
@ -374,7 +455,7 @@
|
||||
{
|
||||
$link_id = $this->link->link($value['to_app'],$value['to_id'],
|
||||
$value['app'],$value['id'],$value['remark']);
|
||||
$value['remark'] = '';
|
||||
$value['remark'] = $value['query'] = '';
|
||||
|
||||
if (isset($value['primary']) && !$value['anz_links'] )
|
||||
{
|
||||
@ -405,6 +486,7 @@
|
||||
{
|
||||
$value['primary'] = $link_id;
|
||||
}
|
||||
unset($value['comment']);
|
||||
unset($value['file']);
|
||||
}
|
||||
else
|
||||
@ -437,4 +519,46 @@
|
||||
}
|
||||
return True;
|
||||
}
|
||||
|
||||
/**
|
||||
* ajax callback to search in $app for $pattern, result is displayed in $id
|
||||
*
|
||||
* @param string $app app-name to search
|
||||
* @param string $pattern search-pattern
|
||||
* @param string $id_res id of selectbox to show the result
|
||||
* @param string $id_hide id(s) of the search-box/-line to hide after a successful search
|
||||
* @param string $id_show id(s) of the select-box/-line to show after a successful search
|
||||
* @param string $id_input id of the search input-field
|
||||
*/
|
||||
function ajax_search($app,$pattern,$id_res,$id_hide,$id_show,$id_input)
|
||||
{
|
||||
$response = new xajaxResponse();
|
||||
//$args = func_get_args(); $response->addAlert("link_widget::ajax_search('".implode("','",$args)."')");
|
||||
|
||||
if (!($found = $this->link->query($app,$pattern == lang('Search') ? '' : $pattern))) // ignore the blur-text
|
||||
{
|
||||
$response->addAlert(lang('Nothing found - try again !!!'));
|
||||
$response->addScript("document.getElementById('$id_input').select();");
|
||||
}
|
||||
else
|
||||
{
|
||||
$script = "var select = document.getElementById('$id_res');\nselect.options.length=0;\n";
|
||||
foreach($found as $id => $title)
|
||||
{
|
||||
$script .= "select.options[select.options.length] = new Option('".addslashes($title)."','$id');\n";
|
||||
}
|
||||
$script .= "select.options[select.options.length] = new Option('".addslashes(lang('New search').' ...')."','');\n";
|
||||
foreach(explode(',',$id_show) as $id)
|
||||
{
|
||||
$script .= "document.getElementById('$id').style.display='inline';\n";
|
||||
}
|
||||
foreach(explode(',',$id_hide) as $id)
|
||||
{
|
||||
$script .= "document.getElementById('$id').style.display='none';\n";
|
||||
}
|
||||
//$response->addAlert($script);
|
||||
$response->addScript($script);
|
||||
}
|
||||
return $response->getXML();
|
||||
}
|
||||
}
|
||||
|
@ -2,7 +2,7 @@
|
||||
/**
|
||||
* eGroupWare - eTemplates for Application etemplate
|
||||
* http://www.egroupware.org
|
||||
* generated by soetemplate::dump4setup() 2006-09-25 18:00
|
||||
* generated by soetemplate::dump4setup() 2006-09-29 23:54
|
||||
*
|
||||
* @license http://opensource.org/licenses/gpl-license.php GPL - GNU General Public License
|
||||
* @package etemplate
|
||||
@ -117,12 +117,17 @@ $templ_data[] = array('name' => 'etemplate.integer','template' => '','lang' => '
|
||||
$templ_data[] = array('name' => 'etemplate.link_widget.add','template' => '','lang' => '','group' => '0','version' => '1.2.001','data' => 'a:1:{i:0;a:4:{s:4:"type";s:4:"grid";s:4:"data";a:2:{i:0;a:0:{}i:1;a:2:{s:1:"A";a:5:{s:4:"type";s:6:"select";s:4:"name";s:3:"app";s:4:"help";s:43:"Add a new entry of the selected application";s:5:"label";s:7:"Add new";s:7:"no_lang";s:1:"1";}s:1:"B";a:5:{s:4:"type";s:6:"button";s:5:"label";s:3:"Add";s:4:"name";s:3:"add";s:4:"help";s:43:"Add a new entry of the selected application";s:7:"onclick";s:64:"eval(this.form.elements[form::name(\'app\')].value); return false;";}}}s:4:"rows";i:1;s:4:"cols";i:2;}}','size' => '','style' => '.redItalic { font-style: italic; color: red; }
|
||||
.hide_comment { display: none; }','modified' => '1131618647',);
|
||||
|
||||
$templ_data[] = array('name' => 'etemplate.link_widget.add','template' => '','lang' => '','group' => '0','version' => '1.3.001','data' => 'a:1:{i:0;a:4:{s:4:"type";s:4:"grid";s:4:"data";a:2:{i:0;a:0:{}i:1;a:2:{s:1:"A";a:5:{s:4:"type";s:6:"select";s:4:"name";s:3:"app";s:4:"help";s:43:"Add a new entry of the selected application";s:5:"label";s:7:"Add new";s:7:"no_lang";s:1:"1";}s:1:"B";a:5:{s:4:"type";s:6:"button";s:5:"label";s:3:"Add";s:4:"name";s:3:"add";s:4:"help";s:43:"Add a new entry of the selected application";s:7:"onclick";s:64:"eval(this.form.elements[form::name(\'app\')].value); return false;";}}}s:4:"rows";i:1;s:4:"cols";i:2;}}','size' => '','style' => '','modified' => '1159565080',);
|
||||
|
||||
$templ_data[] = array('name' => 'etemplate.link_widget.add-test','template' => '','lang' => '','group' => '0','version' => '','data' => 'a:1:{i:0;a:4:{s:4:"type";s:4:"grid";s:4:"data";a:2:{i:0;a:0:{}i:1;a:1:{s:1:"A";a:2:{s:4:"type";s:8:"link-add";s:4:"name";s:3:"add";}}}s:4:"rows";i:1;s:4:"cols";i:1;}}','size' => '','style' => '','modified' => '1131620509',);
|
||||
|
||||
$templ_data[] = array('name' => 'etemplate.link_widget.attach','template' => '','lang' => '','group' => '0','version' => '0.9.15.001','data' => 'a:1:{i:0;a:4:{s:4:"type";s:4:"grid";s:4:"data";a:3:{i:0;a:2:{s:2:"c1";s:6:"row_on";s:2:"c2";s:7:"row_off";}i:1;a:4:{s:1:"A";a:2:{s:4:"type";s:5:"label";s:5:"label";s:4:"File";}s:1:"B";a:4:{s:4:"type";s:5:"label";s:4:"span";s:11:",like_input";s:7:"no_lang";s:1:"1";s:4:"name";s:10:"file[path]";}s:1:"C";a:4:{s:4:"type";s:6:"button";s:5:"label";s:6:"Attach";s:4:"name";s:6:"attach";s:4:"help";s:29:"click here to attach the file";}s:1:"D";a:4:{s:4:"type";s:6:"button";s:5:"label";s:6:"Cancel";s:4:"name";s:3:"new";s:4:"help";s:36:"start a new search, cancel this link";}}i:2;a:4:{s:1:"A";a:2:{s:4:"type";s:5:"label";s:5:"label";s:7:"Comment";}s:1:"B";a:5:{s:4:"type";s:4:"text";s:4:"size";s:5:"50,50";s:4:"span";s:3:"all";s:4:"name";s:6:"remark";s:4:"help";s:28:"optional note about the Link";}s:1:"C";a:1:{s:4:"type";s:5:"label";}s:1:"D";a:1:{s:4:"type";s:5:"label";}}}s:4:"rows";i:2;s:4:"cols";i:4;}}','size' => '','style' => '.like_input { background: white; border: medium groove black; padding-left: 3px; padding-right: 3px; }','modified' => '1035118591',);
|
||||
|
||||
$templ_data[] = array('name' => 'etemplate.link_widget.create','template' => '','lang' => '','group' => '0','version' => '0.9.15.001','data' => 'a:1:{i:0;a:4:{s:4:"type";s:4:"grid";s:4:"data";a:3:{i:0;a:2:{s:2:"c1";s:6:"row_on";s:2:"c2";s:7:"row_off";}i:1;a:4:{s:1:"A";a:2:{s:4:"type";s:5:"label";s:4:"name";s:3:"app";}s:1:"B";a:4:{s:4:"type";s:6:"select";s:7:"no_lang";s:1:"1";s:4:"name";s:2:"id";s:4:"help";s:28:"Select an entry to link with";}s:1:"C";a:4:{s:4:"type";s:6:"button";s:5:"label";s:4:"Link";s:4:"name";s:6:"create";s:4:"help";s:29:"click here to create the Link";}s:1:"D";a:4:{s:4:"type";s:6:"button";s:5:"label";s:10:"New search";s:4:"name";s:3:"new";s:4:"help";s:36:"start a new search, cancel this link";}}i:2;a:4:{s:1:"A";a:2:{s:4:"type";s:5:"label";s:5:"label";s:7:"Comment";}s:1:"B";a:5:{s:4:"type";s:4:"text";s:4:"size";s:5:"50,50";s:4:"span";s:3:"all";s:4:"name";s:6:"remark";s:4:"help";s:28:"optional note about the Link";}s:1:"C";a:1:{s:4:"type";s:5:"label";}s:1:"D";a:1:{s:4:"type";s:5:"label";}}}s:4:"rows";i:2;s:4:"cols";i:4;}}','size' => '','style' => '','modified' => '1035043515',);
|
||||
|
||||
$templ_data[] = array('name' => 'etemplate.link_widget.entry','template' => '','lang' => '','group' => '0','version' => '1.3.001','data' => 'a:1:{i:0;a:7:{s:4:"type";s:3:"box";s:4:"data";a:2:{i:0;a:0:{}i:1;a:1:{s:1:"A";a:1:{s:4:"type";s:5:"label";}}}s:4:"rows";i:1;s:4:"cols";i:1;s:4:"size";s:1:"2";i:1;a:7:{s:4:"type";s:3:"box";s:4:"size";s:6:"3,,0,0";i:1;a:3:{s:4:"type";s:9:"link-apps";s:4:"name";s:3:"app";s:4:"help";s:28:"Select application to search";}i:2;a:3:{s:4:"type";s:4:"text";s:4:"name";s:5:"query";s:4:"blur";s:6:"Search";}s:4:"span";s:11:",box_inline";s:4:"name";s:11:"search_line";i:3;a:5:{s:4:"type";s:6:"button";s:4:"name";s:6:"search";s:5:"label";s:1:">";s:4:"help";s:30:"Click here to start the search";s:7:"onclick";s:256:"xajax_doXMLHTTP(\'etemplate.link_widget.ajax_search\',document.getElementById(form::name(\'app\')).value,document.getElementById(form::name(\'query\')).value,form::name(\'id\'),form::name(\'search_line\'),form::name(\'select_line\'),form::name(\'query\')); return false;";}}i:2;a:5:{s:4:"type";s:3:"box";s:4:"size";s:1:"1";s:4:"span";s:22:",link_select link_hide";i:1;a:4:{s:4:"type";s:6:"select";s:4:"name";s:2:"id";s:8:"onchange";s:167:"if (!this.value) { document.getElementById(form::name(\'search_line\')).style.display=\'inline\'; document.getElementById(form::name(\'select_line\')).style.display=\'none\';}";s:7:"no_lang";s:1:"1";}s:4:"name";s:11:"select_line";}}}','size' => '','style' => '.link_hide { display: none; }
|
||||
','modified' => '1159544478',);
|
||||
|
||||
$templ_data[] = array('name' => 'etemplate.link_widget.list','template' => '','lang' => '','group' => '0','version' => '0.9.15.003','data' => 'a:1:{i:0;a:5:{s:4:"type";s:4:"grid";s:4:"data";a:2:{i:0;a:2:{s:1:"D";s:10:",!@primary";s:2:"c1";s:3:"nmr";}i:1;a:4:{s:1:"A";a:2:{s:4:"type";s:5:"label";s:4:"name";s:11:"${row}[app]";}s:1:"B";a:4:{s:4:"type";s:4:"hbox";s:4:"size";s:5:"2,0,0";i:1;a:5:{s:4:"type";s:5:"label";s:4:"size";s:14:",@${row}[view]";s:7:"no_lang";s:1:"1";s:4:"name";s:13:"${row}[title]";s:4:"help";s:41:"view this linked entry in its application";}i:2;a:4:{s:4:"type";s:5:"label";s:4:"span";s:15:",note_following";s:7:"no_lang";s:1:"1";s:4:"name";s:14:"${row}[remark]";}}s:1:"C";a:5:{s:4:"type";s:6:"button";s:4:"size";s:10:"delete.png";s:5:"label";s:6:"Unlink";s:4:"name";s:26:"unlink[$row_cont[link_id]]";s:4:"help";s:39:"Remove this link (not the entry itself)";}s:1:"D";a:4:{s:4:"type";s:5:"radio";s:4:"size";s:18:"$row_cont[link_id]";s:4:"name";s:7:"primary";s:4:"help";s:45:"Select a primary contact, to show in the list";}}}s:4:"rows";i:1;s:4:"cols";i:4;s:4:"size";s:12:",,,whiteback";}}','size' => ',,,whiteback','style' => '.whiteback { background: white; }
|
||||
.note_following { font-style: italic; padding-left: 5px; }','modified' => '1035126186',);
|
||||
|
||||
@ -131,9 +136,20 @@ $templ_data[] = array('name' => 'etemplate.link_widget.list','template' => '','l
|
||||
|
||||
$templ_data[] = array('name' => 'etemplate.link_widget.search','template' => '','lang' => '','group' => '0','version' => '1.0.0.001','data' => 'a:1:{i:0;a:4:{s:4:"type";s:4:"grid";s:4:"data";a:4:{i:0;a:5:{s:2:"c1";s:6:"row_on";s:2:"c3";s:7:"row_off";s:2:"h3";s:10:",@no_files";s:2:"c2";s:6:"row_on";s:2:"h2";s:6:",!@msg";}i:1;a:3:{s:1:"A";a:5:{s:4:"type";s:6:"select";s:5:"label";s:6:"Search";s:7:"no_lang";s:1:"1";s:4:"name";s:3:"app";s:4:"help";s:26:"Select an App to search in";}s:1:"B";a:4:{s:4:"type";s:4:"text";s:4:"size";s:2:"25";s:4:"name";s:5:"query";s:4:"help";s:22:"Enter a search pattern";}s:1:"C";a:4:{s:4:"type";s:6:"button";s:5:"label";s:6:"Search";s:4:"name";s:6:"search";s:4:"help";s:30:"Click here to start the search";}}i:2;a:3:{s:1:"A";a:4:{s:4:"type";s:5:"label";s:4:"span";s:13:"all,redItalic";s:4:"name";s:3:"msg";s:5:"align";s:6:"center";}s:1:"B";a:1:{s:4:"type";s:5:"label";}s:1:"C";a:1:{s:4:"type";s:5:"label";}}i:3;a:3:{s:1:"A";a:2:{s:4:"type";s:5:"label";s:5:"label";s:11:"attach file";}s:1:"B";a:3:{s:4:"type";s:4:"file";s:4:"name";s:4:"file";s:4:"help";s:69:"Enter filename to upload and attach, use [Browse...] to search for it";}s:1:"C";a:4:{s:4:"type";s:6:"button";s:5:"label";s:6:"Upload";s:4:"name";s:6:"upload";s:4:"help";s:29:"Click here to upload the file";}}}s:4:"rows";i:3;s:4:"cols";i:3;}}','size' => '','style' => '.error_msg { font-style: italic; color: red; }','modified' => '1113223869',);
|
||||
|
||||
$templ_data[] = array('name' => 'etemplate.link_widget.search','template' => '','lang' => '','group' => '0','version' => '1.2.001','data' => 'a:2:{i:0;a:4:{s:4:"type";s:4:"grid";s:4:"data";a:4:{i:0;a:5:{s:2:"c1";s:6:"row_on";s:2:"c3";s:7:"row_off";s:2:"h3";s:10:",@no_files";s:2:"c2";s:6:"row_on";s:2:"h2";s:6:",!@msg";}i:1;a:4:{s:1:"A";a:4:{s:4:"type";s:6:"select";s:7:"no_lang";s:1:"1";s:4:"name";s:3:"app";s:4:"help";s:26:"Select an App to search in";}s:1:"B";a:5:{s:4:"type";s:4:"text";s:4:"size";s:2:"32";s:4:"name";s:5:"query";s:4:"help";s:22:"Enter a search pattern";s:8:"tabindex";i:99;}s:1:"C";a:6:{s:4:"type";s:6:"button";s:5:"label";s:6:"Search";s:4:"name";s:6:"search";s:4:"help";s:30:"Click here to start the search";s:4:"span";s:3:"all";s:8:"tabindex";i:100;}s:1:"D";a:1:{s:4:"type";s:5:"label";}}i:2;a:4:{s:1:"A";a:4:{s:4:"type";s:5:"label";s:4:"span";s:13:"all,redItalic";s:4:"name";s:3:"msg";s:5:"align";s:6:"center";}s:1:"B";a:1:{s:4:"type";s:5:"label";}s:1:"C";a:1:{s:4:"type";s:5:"label";}s:1:"D";a:1:{s:4:"type";s:5:"label";}}i:3;a:4:{s:1:"A";a:2:{s:4:"type";s:5:"label";s:5:"label";s:11:"Attach file";}s:1:"B";a:4:{s:4:"type";s:4:"file";s:4:"name";s:4:"file";s:4:"help";s:69:"Enter filename to upload and attach, use [Browse...] to search for it";s:4:"size";s:2:"12";}s:1:"C";a:4:{s:4:"type";s:6:"button";s:5:"label";s:6:"Attach";s:4:"name";s:6:"attach";s:4:"help";s:29:"Click here to attach the file";}s:1:"D";a:3:{s:4:"type";s:8:"checkbox";s:4:"name";s:7:"comment";s:4:"help";s:28:"optional note about the Link";}}}s:4:"rows";i:3;s:4:"cols";i:4;}i:1;a:6:{s:4:"type";s:4:"text";s:4:"name";s:6:"remark";s:4:"size";s:5:"50,50";s:4:"span";s:13:",hide_comment";s:5:"label";s:7:"Comment";s:4:"help";s:28:"optional note about the Link";}}','size' => '','style' => '.redItalic { font-style: italic; color: red; }
|
||||
$templ_data[] = array('name' => 'etemplate.link_widget.search','template' => '','lang' => '','group' => '0','version' => '1.2.001','data' => 'a:2:{i:0;a:4:{s:4:"type";s:4:"grid";s:4:"data";a:4:{i:0;a:5:{s:2:"c1";s:6:"row_on";s:2:"c3";s:7:"row_off";s:2:"h3";s:10:",@no_files";s:2:"c2";s:6:"row_on";s:2:"h2";s:6:",!@msg";}i:1;a:4:{s:1:"A";a:4:{s:4:"type";s:6:"select";s:7:"no_lang";s:1:"1";s:4:"name";s:3:"app";s:4:"help";s:26:"Select an App to search in";}s:1:"B";a:5:{s:4:"type";s:4:"text";s:4:"size";s:2:"32";s:4:"name";s:5:"query";s:4:"help";s:22:"Enter a search pattern";s:8:"tabindex";i:99;}s:1:"C";a:6:{s:4:"type";s:6:"button";s:5:"label";s:6:"Search";s:4:"name";s:6:"search";s:4:"help";s:30:"Click here to start the search";s:4:"span";s:3:"all";s:8:"tabindex";i:100;}s:1:"D";a:1:{s:4:"type";s:5:"label";}}i:2;a:4:{s:1:"A";a:4:{s:4:"type";s:5:"label";s:4:"span";s:13:"all,redItalic";s:4:"name";s:3:"msg";s:5:"align";s:6:"center";}s:1:"B";a:1:{s:4:"type";s:5:"label";}s:1:"C";a:1:{s:4:"type";s:5:"label";}s:1:"D";a:1:{s:4:"type";s:5:"label";}}i:3;a:4:{s:1:"A";a:2:{s:4:"type";s:5:"label";s:5:"label";s:11:"Attach file";}s:1:"B";a:4:{s:4:"type";s:4:"file";s:4:"name";s:4:"file";s:4:"help";s:69:"Enter filename to upload and attach, use [Browse...] to search for it";s:4:"size";s:2:"12";}s:1:"C";a:4:{s:4:"type";s:6:"button";s:5:"label";s:6:"Attach";s:4:"name";s:6:"attach";s:4:"help";s:29:"Click here to attach the file";}s:1:"D";a:4:{s:4:"type";s:8:"checkbox";s:4:"name";s:7:"comment";s:4:"help";s:28:"optional note about the Link";s:8:"onchange";s:81:"set_style_by_class(\'*\',\'hide_comment\',\'display\',this.checked ? \'block\' : \'none\');";}}}s:4:"rows";i:3;s:4:"cols";i:4;}i:1;a:6:{s:4:"type";s:4:"text";s:4:"name";s:6:"remark";s:4:"size";s:5:"50,50";s:4:"span";s:13:",hide_comment";s:5:"label";s:7:"Comment";s:4:"help";s:28:"optional note about the Link";}}','size' => '','style' => '.redItalic { font-style: italic; color: red; }
|
||||
.hide_comment { display: none; }','modified' => '1131608831',);
|
||||
|
||||
$templ_data[] = array('name' => 'etemplate.link_widget.to','template' => '','lang' => '','group' => '0','version' => '1.3.000','data' => 'a:1:{i:0;a:7:{s:4:"type";s:3:"box";s:4:"data";a:2:{i:0;a:0:{}i:1;a:1:{s:1:"A";a:1:{s:4:"type";s:5:"label";}}}s:4:"rows";i:1;s:4:"cols";i:1;s:4:"size";s:1:"2";i:1;a:6:{s:4:"type";s:3:"box";s:4:"size";s:6:"3,,0,0";i:1;a:5:{s:4:"type";s:4:"hbox";s:4:"size";s:1:"3";i:1;a:4:{s:4:"type";s:9:"link-apps";s:4:"name";s:3:"app";s:4:"help";s:28:"Select application to search";s:5:"label";s:13:"@search_label";}i:2;a:2:{s:4:"type";s:4:"text";s:4:"name";s:5:"query";}i:3;a:5:{s:4:"type";s:6:"button";s:4:"name";s:5:"query";s:5:"label";s:1:">";s:4:"help";s:6:"Search";s:7:"onclick";s:256:"xajax_doXMLHTTP(\'etemplate.link_widget.ajax_search\',document.getElementById(form::name(\'app\')).value,document.getElementById(form::name(\'query\')).value,form::name(\'id\'),form::name(\'search_line\'),form::name(\'select_line\'),form::name(\'query\')); return false;";}}i:2;a:4:{s:4:"type";s:4:"grid";s:4:"data";a:2:{i:0;a:1:{s:2:"h1";s:10:",@no_files";}i:1;a:3:{s:1:"A";a:5:{s:4:"type";s:4:"file";s:4:"name";s:4:"file";s:4:"help";s:69:"Enter filename to upload and attach, use [Browse...] to search for it";s:4:"size";s:2:"12";s:5:"label";s:11:"attach file";}s:1:"B";a:4:{s:4:"type";s:6:"button";s:5:"label";s:6:"Attach";s:4:"name";s:6:"attach";s:4:"help";s:29:"Click here to attach the file";}s:1:"C";a:4:{s:4:"type";s:8:"checkbox";s:4:"name";s:7:"comment";s:4:"help";s:28:"optional note about the Link";s:8:"onchange";s:88:"document.getElementById(form::name(\'remark\')).style.display=this.checked?\'block\':\'none\';";}}}s:4:"rows";i:1;s:4:"cols";i:3;}s:4:"name";s:11:"search_line";i:3;a:6:{s:4:"type";s:4:"text";s:4:"name";s:6:"remark";s:4:"size";s:5:"50,50";s:4:"span";s:13:",hide_comment";s:4:"help";s:28:"optional note about the Link";s:4:"blur";s:7:"Comment";}}i:2;a:7:{s:4:"type";s:4:"hbox";s:4:"size";s:1:"3";s:4:"span";s:22:",link_select link_hide";i:1;a:4:{s:4:"type";s:6:"select";s:4:"name";s:2:"id";s:8:"onchange";s:167:"if (!this.value) { document.getElementById(form::name(\'search_line\')).style.display=\'inline\'; document.getElementById(form::name(\'select_line\')).style.display=\'none\';}";s:7:"no_lang";s:1:"1";}s:4:"name";s:11:"select_line";i:2;a:4:{s:4:"type";s:6:"button";s:5:"label";s:4:"Link";s:4:"name";s:6:"create";s:4:"help";s:29:"click here to create the Link";}i:3;a:6:{s:4:"type";s:4:"text";s:4:"size";s:5:"50,50";s:4:"name";s:6:"remark";s:4:"help";s:28:"optional note about the Link";s:4:"blur";s:7:"comment";s:4:"span";s:13:",link_comment";}}}}','size' => '','style' => '.link_select select { }
|
||||
.link_comment { display: block; }
|
||||
.link_hide { display: none; }
|
||||
.redItalic { font-style: italic; color: red; }
|
||||
.hide_comment input { display: none; }','modified' => '1159559249',);
|
||||
|
||||
$templ_data[] = array('name' => 'etemplate.link_widget.to','template' => '','lang' => '','group' => '0','version' => '1.3.001','data' => 'a:1:{i:0;a:8:{s:4:"type";s:3:"box";s:4:"data";a:2:{i:0;a:0:{}i:1;a:1:{s:1:"A";a:1:{s:4:"type";s:5:"label";}}}s:4:"rows";i:1;s:4:"cols";i:1;s:4:"size";s:1:"3";i:1;a:5:{s:4:"type";s:3:"box";s:4:"size";s:6:"2,,0,0";i:1;a:5:{s:4:"type";s:4:"hbox";s:4:"size";s:1:"3";i:1;a:4:{s:4:"type";s:9:"link-apps";s:4:"name";s:3:"app";s:4:"help";s:28:"Select application to search";s:5:"label";s:13:"@search_label";}i:2;a:3:{s:4:"type";s:4:"text";s:4:"name";s:5:"query";s:4:"blur";s:6:"Search";}i:3;a:5:{s:4:"type";s:6:"button";s:4:"name";s:5:"query";s:5:"label";s:1:">";s:4:"help";s:30:"Click here to start the search";s:7:"onclick";s:281:"xajax_doXMLHTTP(\'etemplate.link_widget.ajax_search\',document.getElementById(form::name(\'app\')).value,document.getElementById(form::name(\'query\')).value,form::name(\'id\'),form::name(\'search_line\'),form::name(\'remark\')+\',\'+form::name(\'select_line\'),form::name(\'query\')); return false;";}}i:2;a:4:{s:4:"type";s:4:"grid";s:4:"data";a:2:{i:0;a:1:{s:2:"h1";s:10:",@no_files";}i:1;a:3:{s:1:"A";a:5:{s:4:"type";s:4:"file";s:4:"name";s:4:"file";s:4:"help";s:69:"Enter filename to upload and attach, use [Browse...] to search for it";s:4:"size";s:2:"12";s:5:"label";s:11:"attach file";}s:1:"B";a:4:{s:4:"type";s:6:"button";s:5:"label";s:6:"Attach";s:4:"name";s:6:"attach";s:4:"help";s:29:"Click here to attach the file";}s:1:"C";a:4:{s:4:"type";s:8:"checkbox";s:4:"name";s:7:"comment";s:4:"help";s:28:"optional note about the Link";s:8:"onchange";s:88:"document.getElementById(form::name(\'remark\')).style.display=this.checked?\'block\':\'none\';";}}}s:4:"rows";i:1;s:4:"cols";i:3;}s:4:"name";s:11:"search_line";}i:2;a:6:{s:4:"type";s:3:"box";s:4:"size";s:1:"2";s:4:"span";s:22:",link_select link_hide";i:1;a:4:{s:4:"type";s:6:"select";s:4:"name";s:2:"id";s:8:"onchange";s:227:"if (!this.value) { document.getElementById(form::name(\'search_line\')).style.display=\'inline\'; document.getElementById(form::name(\'remark\')).style.display=document.getElementById(form::name(\'select_line\')).style.display=\'none\';}";s:7:"no_lang";s:1:"1";}s:4:"name";s:11:"select_line";i:2;a:4:{s:4:"type";s:6:"button";s:5:"label";s:4:"Link";s:4:"name";s:6:"create";s:4:"help";s:29:"click here to create the Link";}}i:3;a:6:{s:4:"type";s:4:"text";s:4:"name";s:6:"remark";s:4:"size";s:5:"50,50";s:4:"span";s:13:",hide_comment";s:4:"help";s:28:"optional note about the Link";s:4:"blur";s:7:"Comment";}}}','size' => '','style' => '.link_select { white-space: nowrap; }
|
||||
.link_hide { display: none; }
|
||||
.hide_comment input { display: none; width: 99%; }
|
||||
','modified' => '1159565799',);
|
||||
|
||||
$templ_data[] = array('name' => 'etemplate.nextm*','template' => '','lang' => '','group' => '0','version' => '','data' => 'a:1:{i:0;a:4:{s:4:"type";s:4:"grid";s:4:"data";a:2:{i:0;a:0:{}i:1;a:1:{s:1:"A";a:1:{s:4:"type";s:5:"label";}}}s:4:"rows";i:1;s:4:"cols";i:1;}}','size' => '','style' => '','modified' => '1155977979',);
|
||||
|
||||
$templ_data[] = array('name' => 'etemplate.nextmatch_widget','template' => '','lang' => '','group' => '0','version' => '0.9.15.008','data' => 'a:1:{i:0;a:5:{s:4:"type";s:4:"grid";s:4:"data";a:5:{i:0;a:3:{s:1:"A";s:3:"40%";s:1:"C";s:3:"40%";s:2:"h4";s:13:",!@bottom_too";}i:1;a:3:{s:1:"A";a:2:{s:4:"type";s:8:"template";s:4:"name";s:12:"@header_left";}s:1:"B";a:5:{s:4:"type";s:4:"hbox";s:4:"size";s:1:"2";s:5:"align";s:6:"center";i:1;a:4:{s:4:"type";s:5:"label";s:5:"label";s:7:"showing";s:7:"no_lang";s:1:"1";s:4:"name";s:5:"range";}i:2;a:4:{s:4:"type";s:5:"label";s:5:"label";s:2:"of";s:7:"no_lang";s:1:"1";s:4:"name";s:5:"total";}}s:1:"C";a:3:{s:4:"type";s:8:"template";s:5:"align";s:5:"right";s:4:"name";s:13:"@header_right";}}i:2;a:3:{s:1:"A";a:4:{s:4:"type";s:8:"template";s:4:"span";s:3:"all";s:5:"align";s:6:"center";s:4:"name";s:33:"etemplate.nextmatch_widget.nm_row";}s:1:"B";a:2:{s:4:"type";s:5:"label";s:8:"onchange";s:1:"1";}s:1:"C";a:1:{s:4:"type";s:5:"label";}}i:3;a:3:{s:1:"A";a:5:{s:4:"type";s:8:"template";s:4:"size";s:4:"rows";s:4:"span";s:3:"all";s:5:"align";s:6:"center";s:4:"name";s:9:"@template";}s:1:"B";a:1:{s:4:"type";s:5:"label";}s:1:"C";a:1:{s:4:"type";s:5:"label";}}i:4;a:3:{s:1:"A";a:5:{s:4:"type";s:8:"template";s:4:"size";s:6:"bottom";s:4:"span";s:3:"all";s:5:"align";s:6:"center";s:4:"name";s:33:"etemplate.nextmatch_widget.nm_row";}s:1:"B";a:1:{s:4:"type";s:5:"label";}s:1:"C";a:1:{s:4:"type";s:5:"label";}}}s:4:"rows";i:4;s:4:"cols";i:3;s:4:"size";s:4:"100%";}}','size' => '100%','style' => '.activ_sortcolumn { color: red; font-weight: bold; }
|
||||
|
@ -1,5 +1,5 @@
|
||||
/* $Id$ */
|
||||
.redItalic { color: red; font-style: italic; }
|
||||
.gray { color: gray; }
|
||||
.clickWidgetToEdit { cursor: pointer; }
|
||||
.clickWidgetToEdit { cursor: pointer; display: inline; }
|
||||
.clickWidgetToEdit:hover { background-color: pink; }
|
||||
|
20
etemplate/templates/default/link_widget.add.xet
Normal file
20
etemplate/templates/default/link_widget.add.xet
Normal file
@ -0,0 +1,20 @@
|
||||
<?xml version="1.0"?>
|
||||
<!-- $Id$ -->
|
||||
<overlay>
|
||||
<template id="etemplate.link_widget.add" template="" lang="" group="0" version="1.3.001">
|
||||
<grid>
|
||||
<columns>
|
||||
<column/>
|
||||
<column/>
|
||||
</columns>
|
||||
<rows>
|
||||
<row>
|
||||
<menulist>
|
||||
<menupopup id="app" statustext="Add a new entry of the selected application" label="Add new" no_lang="1"/>
|
||||
</menulist>
|
||||
<button label="Add" id="add" statustext="Add a new entry of the selected application" onclick="eval(this.form.elements[form::name('app')].value); return false;"/>
|
||||
</row>
|
||||
</rows>
|
||||
</grid>
|
||||
</template>
|
||||
</overlay>
|
@ -1,26 +0,0 @@
|
||||
<?xml version="1.0"?>
|
||||
<!-- $Id$ -->
|
||||
<overlay>
|
||||
<grid id="etemplate.link_widget.create" template="" lang="" group="" version="0.9.15.001">
|
||||
<columns>
|
||||
<column/>
|
||||
<column/>
|
||||
<column/>
|
||||
<column/>
|
||||
</columns>
|
||||
<rows>
|
||||
<row class="row_on">
|
||||
<description id="app"/>
|
||||
<menulist>
|
||||
<menupopup no_lang="1" id="id" statustext="Select an entry to link with"/>
|
||||
</menulist>
|
||||
<button label="Link" id="create" statustext="click here to create the Link"/>
|
||||
<button label="New search" id="new" statustext="start a new search, cancel this link"/>
|
||||
</row>
|
||||
<row class="row_off">
|
||||
<description value="Comment"/>
|
||||
<textbox size="50" maxlength="50" span="all" id="remark" statustext="optional note about the Link"/>
|
||||
</row>
|
||||
</rows>
|
||||
</grid>
|
||||
</overlay>
|
22
etemplate/templates/default/link_widget.entry.xet
Normal file
22
etemplate/templates/default/link_widget.entry.xet
Normal file
@ -0,0 +1,22 @@
|
||||
<?xml version="1.0"?>
|
||||
<!-- $Id$ -->
|
||||
<overlay>
|
||||
<template id="etemplate.link_widget.entry" template="" lang="" group="0" version="1.3.001">
|
||||
<box rows="1" cols="1">
|
||||
<box options="0,0" class="box_inline" id="search_line">
|
||||
<link-apps id="app" statustext="Select application to search"/>
|
||||
<textbox id="query" blur="Search"/>
|
||||
<button id="search" label=">" statustext="Click here to start the search" onclick="xajax_doXMLHTTP('etemplate.link_widget.ajax_search',document.getElementById(form::name('app')).value,document.getElementById(form::name('query')).value,form::name('id'),form::name('search_line'),form::name('select_line'),form::name('query')); return false;"/>
|
||||
</box>
|
||||
<box class="link_select link_hide" id="select_line">
|
||||
<menulist>
|
||||
<menupopup id="id" onchange="if (!this.value) { document.getElementById(form::name('search_line')).style.display='inline'; document.getElementById(form::name('select_line')).style.display='none';}" no_lang="1"/>
|
||||
</menulist>
|
||||
</box>
|
||||
</box>
|
||||
<styles>
|
||||
.link_hide { display: none; }
|
||||
|
||||
</styles>
|
||||
</template>
|
||||
</overlay>
|
@ -1,31 +0,0 @@
|
||||
<?xml version="1.0"?>
|
||||
<!-- $Id$ -->
|
||||
<overlay>
|
||||
<grid id="etemplate.link_widget.search" template="" lang="" group="" version="0.9.15.003">
|
||||
<columns>
|
||||
<column/>
|
||||
<column/>
|
||||
<column/>
|
||||
<column/>
|
||||
</columns>
|
||||
<rows>
|
||||
<row class="row_on">
|
||||
<menulist>
|
||||
<menupopup label="Search" no_lang="1" id="app" statustext="Select an App to search in"/>
|
||||
</menulist>
|
||||
<textbox size="25" id="query" statustext="Enter a search pattern"/>
|
||||
<button label="Search" id="search" statustext="Click here to start the search"/>
|
||||
<description class="error_msg" value="Nothing found - try again !!!" id="msg"/>
|
||||
</row>
|
||||
<row class="row_off">
|
||||
<description value="attach file"/>
|
||||
<file id="file" statustext="Enter filename to upload and attach, use [Browse...] to search for it"/>
|
||||
<button label="Upload" id="upload" statustext="Click here to upload the file"/>
|
||||
<description/>
|
||||
</row>
|
||||
</rows>
|
||||
<styles>
|
||||
.error_msg { font-style: italic; color: red; }
|
||||
</styles>
|
||||
</grid>
|
||||
</overlay>
|
42
etemplate/templates/default/link_widget.to.xet
Normal file
42
etemplate/templates/default/link_widget.to.xet
Normal file
@ -0,0 +1,42 @@
|
||||
<?xml version="1.0"?>
|
||||
<!-- $Id$ -->
|
||||
<overlay>
|
||||
<template id="etemplate.link_widget.to" template="" lang="" group="0" version="1.3.001">
|
||||
<box rows="1" cols="1">
|
||||
<box options="0,0" id="search_line">
|
||||
<hbox>
|
||||
<link-apps id="app" statustext="Select application to search" label="@search_label"/>
|
||||
<textbox id="query" blur="Search"/>
|
||||
<button id="query" label=">" statustext="Click here to start the search" onclick="xajax_doXMLHTTP('etemplate.link_widget.ajax_search',document.getElementById(form::name('app')).value,document.getElementById(form::name('query')).value,form::name('id'),form::name('search_line'),form::name('remark')+','+form::name('select_line'),form::name('query')); return false;"/>
|
||||
</hbox>
|
||||
<grid>
|
||||
<columns>
|
||||
<column/>
|
||||
<column/>
|
||||
<column/>
|
||||
</columns>
|
||||
<rows>
|
||||
<row disabled="@no_files">
|
||||
<file id="file" statustext="Enter filename to upload and attach, use [Browse...] to search for it" options="12" label="attach file"/>
|
||||
<button label="Attach" id="attach" statustext="Click here to attach the file"/>
|
||||
<checkbox id="comment" statustext="optional note about the Link" onchange="document.getElementById(form::name('remark')).style.display=this.checked?'block':'none';"/>
|
||||
</row>
|
||||
</rows>
|
||||
</grid>
|
||||
</box>
|
||||
<box class="link_select link_hide" id="select_line">
|
||||
<menulist>
|
||||
<menupopup id="id" onchange="if (!this.value) { document.getElementById(form::name('search_line')).style.display='inline'; document.getElementById(form::name('remark')).style.display=document.getElementById(form::name('select_line')).style.display='none';}" no_lang="1"/>
|
||||
</menulist>
|
||||
<button label="Link" id="create" statustext="click here to create the Link"/>
|
||||
</box>
|
||||
<textbox id="remark" size="50" maxlength="50" class="hide_comment" statustext="optional note about the Link" blur="Comment"/>
|
||||
</box>
|
||||
<styles>
|
||||
.link_select { white-space: nowrap; }
|
||||
.link_hide { display: none; }
|
||||
.hide_comment input { display: none; width: 99%; }
|
||||
|
||||
</styles>
|
||||
</template>
|
||||
</overlay>
|
Loading…
Reference in New Issue
Block a user