commit 087a98c2c3d3f6b14b53097be72649a0169a09e3
parent 2e82c09a4af626448eb17d8e871bd4fe86cd754b
Author: dankert <openrat@jandankert.de>
Date: Tue, 7 Dec 2021 00:16:02 +0100
New: Enter in Search field will open a dialog for the view.
Diffstat:
5 files changed, 194 insertions(+), 122 deletions(-)
diff --git a/modules/cms/action/search/SearchEditAction.class.php b/modules/cms/action/search/SearchEditAction.class.php
@@ -2,17 +2,56 @@
namespace cms\action\search;
use cms\action\Method;
use cms\action\SearchAction;
+use cms\base\Configuration;
use cms\model\User;
use util\Session;
class SearchEditAction extends SearchAction implements Method {
+
public function view() {
- $user = Session::getUser();
+ $searchConfig = Configuration::subset('search')->subset('quicksearch');
+ $flag = $searchConfig->subset('flag');
- $this->setTemplateVar( 'users' ,User::listAll() );
- $this->setTemplateVar( 'act_userid',$user->userid );
- }
+ $initial = ! $this->request->has('repeat');
+
+ if ( $initial ) {
+ $searchById = $flag->is('id' );
+ $searchByName = $flag->is('name' );
+ $searchByFilename = $flag->is('filename' );
+ $searchByDesc = $flag->is('description');
+ $searchByContent = $flag->is('content' );
+ } else {
+ $searchById = $this->request->has('oid' );
+ $searchByName = $this->request->has('name' );
+ $searchByFilename = $this->request->has('filename' );
+ $searchByDesc = $this->request->has('description');
+ $searchByContent = $this->request->has('content' );
+ }
+
+ $this->setTemplateVar('oid' ,$searchById );
+ $this->setTemplateVar('name' ,$searchByName );
+ $this->setTemplateVar('filename' ,$searchByFilename );
+ $this->setTemplateVar('description',$searchByDesc );
+ $this->setTemplateVar('content' ,$searchByContent );
+
+ $suchText = $this->request->getText('text');
+ $this->setTemplateVar('text',$suchText);
+
+ $searchFlags = 0;
+
+ // Always search for the id without a max length
+ if ( strlen($suchText) >= $searchConfig->get('maxlength',3 ) ) {
+ if ($searchById ) $searchFlags |= self::FLAG_ID;
+ if ($searchByFilename) $searchFlags |= self::FLAG_FILENAME;
+ if ($searchByName ) $searchFlags |= self::FLAG_NAME;
+ if ($searchByDesc ) $searchFlags |= self::FLAG_DESCRIPTION;
+ if ($searchByContent ) $searchFlags |= self::FLAG_VALUE;
+
+ }
+
+ $this->performSearch($suchText, $searchFlags);
+ }
public function post() {
diff --git a/modules/cms/action/search/SearchResultAction.class.php b/modules/cms/action/search/SearchResultAction.class.php
@@ -7,16 +7,6 @@ class SearchResultAction extends SearchAction implements Method {
public function view() {
- $suchText = $this->request->getText('text');
- $searchFlags = 0;
-
- if ( $this->request->has('id' ) ) $searchFlags |= self::FLAG_ID;
- if ( $this->request->has('filename' ) ) $searchFlags |= self::FLAG_FILENAME;
- if ( $this->request->has('name' ) ) $searchFlags |= self::FLAG_NAME;
- if ( $this->request->has('description') ) $searchFlags |= self::FLAG_DESCRIPTION;
- if ( $this->request->has('content' ) ) $searchFlags |= self::FLAG_VALUE;
-
- $this->performSearch($suchText, $searchFlags);
/*
case 'lastchange_user':
diff --git a/modules/cms/ui/themes/default/html/views/search/edit.php b/modules/cms/ui/themes/default/html/views/search/edit.php
@@ -1,59 +1,94 @@
<?php /* THIS FILE IS GENERATED from edit.tpl.src.xml - DO NOT CHANGE */ defined('APP_STARTED') || die('Forbidden'); use \template_engine\Output as O; ?>
- <form name="<?php echo O::escapeHtml('') ?>" target="<?php echo O::escapeHtml('_self') ?>" data-target="<?php echo O::escapeHtml('view') ?>" action="<?php echo O::escapeHtml('./') ?>" data-method="<?php echo O::escapeHtml('result') ?>" data-action="<?php echo O::escapeHtml('search') ?>" data-id="<?php echo O::escapeHtml(''.@$_id.'') ?>" method="<?php echo O::escapeHtml('GET') ?>" enctype="<?php echo O::escapeHtml('application/x-www-form-urlencoded') ?>" data-async="<?php echo O::escapeHtml('') ?>" data-autosave="<?php echo O::escapeHtml('') ?>" class="<?php echo O::escapeHtml('or-form or-search') ?>"><?php echo O::escapeHtml('') ?>
+ <form name="<?php echo O::escapeHtml('') ?>" target="<?php echo O::escapeHtml('_self') ?>" data-target="<?php echo O::escapeHtml('view') ?>" action="<?php echo O::escapeHtml('./') ?>" data-method="<?php echo O::escapeHtml('edit') ?>" data-action="<?php echo O::escapeHtml('search') ?>" data-id="<?php echo O::escapeHtml(''.@$_id.'') ?>" method="<?php echo O::escapeHtml('GET') ?>" enctype="<?php echo O::escapeHtml('application/x-www-form-urlencoded') ?>" data-async="<?php echo O::escapeHtml('') ?>" data-autosave="<?php echo O::escapeHtml('') ?>" class="<?php echo O::escapeHtml('or-form or-search') ?>"><?php echo O::escapeHtml('') ?>
<div class="<?php echo O::escapeHtml('or-form-headline') ?>"><?php echo O::escapeHtml('') ?></div>
<div class="<?php echo O::escapeHtml('or-form-content') ?>"><?php echo O::escapeHtml('') ?>
<input type="<?php echo O::escapeHtml('hidden') ?>" name="<?php echo O::escapeHtml('token') ?>" value="<?php echo O::escapeHtml(''.@$_token.'') ?>" /><?php echo O::escapeHtml('') ?>
<input type="<?php echo O::escapeHtml('hidden') ?>" name="<?php echo O::escapeHtml('action') ?>" value="<?php echo O::escapeHtml('search') ?>" /><?php echo O::escapeHtml('') ?>
- <input type="<?php echo O::escapeHtml('hidden') ?>" name="<?php echo O::escapeHtml('subaction') ?>" value="<?php echo O::escapeHtml('result') ?>" /><?php echo O::escapeHtml('') ?>
+ <input type="<?php echo O::escapeHtml('hidden') ?>" name="<?php echo O::escapeHtml('subaction') ?>" value="<?php echo O::escapeHtml('edit') ?>" /><?php echo O::escapeHtml('') ?>
<input type="<?php echo O::escapeHtml('hidden') ?>" name="<?php echo O::escapeHtml('id') ?>" value="<?php echo O::escapeHtml(''.@$_id.'') ?>" /><?php echo O::escapeHtml('') ?>
- <section class="<?php echo O::escapeHtml('or-fieldset') ?>"><?php echo O::escapeHtml('') ?>
- <h3 class="<?php echo O::escapeHtml('or-fieldset-label') ?>"><?php echo O::escapeHtml('') ?></h3>
- <div class="<?php echo O::escapeHtml('or-fieldset-value') ?>"><?php echo O::escapeHtml('') ?>
- <div class="<?php echo O::escapeHtml('or-label') ?>"><?php echo O::escapeHtml('') ?>
- <label class="<?php echo O::escapeHtml('or-label') ?>"><?php echo O::escapeHtml('') ?>
- <span><?php echo O::escapeHtml(''.@O::lang('value').'') ?></span>
- </label>
- <br /><?php echo O::escapeHtml('') ?>
- </div>
- <div class="<?php echo O::escapeHtml('or-value') ?>"><?php echo O::escapeHtml('') ?>
- <input name="<?php echo O::escapeHtml('text') ?>" placeholder="<?php echo O::escapeHtml(''.@O::lang('search').'') ?>" type="<?php echo O::escapeHtml('text') ?>" maxlength="<?php echo O::escapeHtml('256') ?>" value="<?php echo O::escapeHtml(''.@$text.'') ?>" class="<?php echo O::escapeHtml('or-input') ?>" /><?php echo O::escapeHtml('') ?>
- </div>
+ <section class="<?php echo O::escapeHtml('or-group or-collapsible--is-open or-collapsible--is-visible or-collapsible--show') ?>"><?php echo O::escapeHtml('') ?>
+ <h2 class="<?php echo O::escapeHtml('or-collapsible-title or-group-title or-collapsible-act-switch') ?>"><?php echo O::escapeHtml('') ?>
+ <span><?php echo O::escapeHtml(''.@O::lang('SEARCH').'') ?></span>
+ </h2>
+ <div class="<?php echo O::escapeHtml('or-collapsible-value or-group-value') ?>"><?php echo O::escapeHtml('') ?>
+ <section class="<?php echo O::escapeHtml('or-fieldset') ?>"><?php echo O::escapeHtml('') ?>
+ <h3 class="<?php echo O::escapeHtml('or-fieldset-label') ?>"><?php echo O::escapeHtml(''.@O::lang('value').'') ?></h3>
+ <div class="<?php echo O::escapeHtml('or-fieldset-value') ?>"><?php echo O::escapeHtml('') ?>
+ <input name="<?php echo O::escapeHtml('text') ?>" placeholder="<?php echo O::escapeHtml(''.@O::lang('search').'') ?>" type="<?php echo O::escapeHtml('text') ?>" maxlength="<?php echo O::escapeHtml('256') ?>" value="<?php echo O::escapeHtml(''.@$text.'') ?>" class="<?php echo O::escapeHtml('or-input') ?>" /><?php echo O::escapeHtml('') ?>
+ <input type="<?php echo O::escapeHtml('hidden') ?>" name="<?php echo O::escapeHtml('repeat') ?>" value="<?php echo O::escapeHtml('1') ?>" /><?php echo O::escapeHtml('') ?>
+ </div>
+ </section>
</div>
</section>
- <section class="<?php echo O::escapeHtml('or-fieldset') ?>"><?php echo O::escapeHtml('') ?>
- <h3 class="<?php echo O::escapeHtml('or-fieldset-label') ?>"><?php echo O::escapeHtml('') ?></h3>
- <div class="<?php echo O::escapeHtml('or-fieldset-value') ?>"><?php echo O::escapeHtml('') ?>
- <div class="<?php echo O::escapeHtml('or-label') ?>"><?php echo O::escapeHtml('') ?>
- <label class="<?php echo O::escapeHtml('or-label') ?>"><?php echo O::escapeHtml('') ?>
- <span><?php echo O::escapeHtml(''.@O::lang('filter').'') ?></span>
- </label>
- <br /><?php echo O::escapeHtml('') ?>
- </div>
- <div class="<?php echo O::escapeHtml('or-value') ?>"><?php echo O::escapeHtml('') ?>
- <input type="<?php echo O::escapeHtml('checkbox') ?>" name="<?php echo O::escapeHtml('id') ?>" value="<?php echo O::escapeHtml('1') ?>" <?php if(O::config(['search','quicksearch','flag','id'])){ ?>checked="<?php echo O::escapeHtml('checked') ?>"<?php } ?> class="<?php echo O::escapeHtml('or-form-checkbox') ?>" /><?php echo O::escapeHtml('') ?>
- <label class="<?php echo O::escapeHtml('or-label') ?>"><?php echo O::escapeHtml('') ?>
- <span><?php echo O::escapeHtml(''.@O::lang('id').'') ?></span>
- </label>
- <br /><?php echo O::escapeHtml('') ?>
- <input type="<?php echo O::escapeHtml('checkbox') ?>" name="<?php echo O::escapeHtml('name') ?>" value="<?php echo O::escapeHtml('1') ?>" <?php if(O::config(['search','quicksearch','flag','name'])){ ?>checked="<?php echo O::escapeHtml('checked') ?>"<?php } ?> class="<?php echo O::escapeHtml('or-form-checkbox') ?>" /><?php echo O::escapeHtml('') ?>
- <label class="<?php echo O::escapeHtml('or-label') ?>"><?php echo O::escapeHtml('') ?>
- <span><?php echo O::escapeHtml(''.@O::lang('name').'') ?></span>
- </label>
- <br /><?php echo O::escapeHtml('') ?>
- <input type="<?php echo O::escapeHtml('checkbox') ?>" name="<?php echo O::escapeHtml('filename') ?>" value="<?php echo O::escapeHtml('1') ?>" <?php if(O::config(['search','quicksearch','flag','filename'])){ ?>checked="<?php echo O::escapeHtml('checked') ?>"<?php } ?> class="<?php echo O::escapeHtml('or-form-checkbox') ?>" /><?php echo O::escapeHtml('') ?>
- <label class="<?php echo O::escapeHtml('or-label') ?>"><?php echo O::escapeHtml('') ?>
- <span><?php echo O::escapeHtml(''.@O::lang('filename').'') ?></span>
- </label>
- <br /><?php echo O::escapeHtml('') ?>
- <input type="<?php echo O::escapeHtml('checkbox') ?>" name="<?php echo O::escapeHtml('description') ?>" value="<?php echo O::escapeHtml('1') ?>" <?php if(O::config(['search','quicksearch','flag','description'])){ ?>checked="<?php echo O::escapeHtml('checked') ?>"<?php } ?> class="<?php echo O::escapeHtml('or-form-checkbox') ?>" /><?php echo O::escapeHtml('') ?>
- <label class="<?php echo O::escapeHtml('or-label') ?>"><?php echo O::escapeHtml('') ?>
- <span><?php echo O::escapeHtml(''.@O::lang('description').'') ?></span>
- </label>
- <br /><?php echo O::escapeHtml('') ?>
- <input type="<?php echo O::escapeHtml('checkbox') ?>" name="<?php echo O::escapeHtml('content') ?>" value="<?php echo O::escapeHtml('1') ?>" <?php if(O::config(['search','quicksearch','flag','content'])){ ?>checked="<?php echo O::escapeHtml('checked') ?>"<?php } ?> class="<?php echo O::escapeHtml('or-form-checkbox') ?>" /><?php echo O::escapeHtml('') ?>
- <label class="<?php echo O::escapeHtml('or-label') ?>"><?php echo O::escapeHtml('') ?>
- <span><?php echo O::escapeHtml(''.@O::lang('content').'') ?></span>
- </label>
+ <section class="<?php echo O::escapeHtml('or-group or-collapsible or-collapsible--show') ?>"><?php echo O::escapeHtml('') ?>
+ <h2 class="<?php echo O::escapeHtml('or-collapsible-title or-group-title or-collapsible-act-switch') ?>"><?php echo O::escapeHtml('') ?>
+ <i class="<?php echo O::escapeHtml('or-image-icon or-image-icon--node-closed or-collapsible--on-closed') ?>"><?php echo O::escapeHtml('') ?></i>
+ <i class="<?php echo O::escapeHtml('or-image-icon or-image-icon--node-open or-collapsible--on-open') ?>"><?php echo O::escapeHtml('') ?></i>
+ <span><?php echo O::escapeHtml(''.@O::lang('OPTIONS').'') ?></span>
+ </h2>
+ <div class="<?php echo O::escapeHtml('or-collapsible-value or-group-value') ?>"><?php echo O::escapeHtml('') ?>
+ <section class="<?php echo O::escapeHtml('or-fieldset') ?>"><?php echo O::escapeHtml('') ?>
+ <h3 class="<?php echo O::escapeHtml('or-fieldset-label') ?>"><?php echo O::escapeHtml(''.@O::lang('search_prop').'') ?></h3>
+ <div class="<?php echo O::escapeHtml('or-fieldset-value') ?>"><?php echo O::escapeHtml('') ?>
+ <label><?php echo O::escapeHtml('') ?>
+ <input type="<?php echo O::escapeHtml('checkbox') ?>" name="<?php echo O::escapeHtml('oid') ?>" value="<?php echo O::escapeHtml('1') ?>" <?php if(@$oid){ ?>checked="<?php echo O::escapeHtml('checked') ?>"<?php } ?> class="<?php echo O::escapeHtml('or-form-checkbox') ?>" /><?php echo O::escapeHtml('') ?>
+ <span class="<?php echo O::escapeHtml('or-form-label') ?>"><?php echo O::escapeHtml(''.@O::lang('id').'') ?></span>
+ </label>
+ <label><?php echo O::escapeHtml('') ?>
+ <input type="<?php echo O::escapeHtml('checkbox') ?>" name="<?php echo O::escapeHtml('name') ?>" value="<?php echo O::escapeHtml('1') ?>" <?php if(@$name){ ?>checked="<?php echo O::escapeHtml('checked') ?>"<?php } ?> class="<?php echo O::escapeHtml('or-form-checkbox') ?>" /><?php echo O::escapeHtml('') ?>
+ <span class="<?php echo O::escapeHtml('or-form-label') ?>"><?php echo O::escapeHtml(''.@O::lang('name').'') ?></span>
+ </label>
+ <label><?php echo O::escapeHtml('') ?>
+ <input type="<?php echo O::escapeHtml('checkbox') ?>" name="<?php echo O::escapeHtml('filename') ?>" value="<?php echo O::escapeHtml('1') ?>" <?php if(@$filename){ ?>checked="<?php echo O::escapeHtml('checked') ?>"<?php } ?> class="<?php echo O::escapeHtml('or-form-checkbox') ?>" /><?php echo O::escapeHtml('') ?>
+ <span class="<?php echo O::escapeHtml('or-form-label') ?>"><?php echo O::escapeHtml(''.@O::lang('filename').'') ?></span>
+ </label>
+ <label><?php echo O::escapeHtml('') ?>
+ <input type="<?php echo O::escapeHtml('checkbox') ?>" name="<?php echo O::escapeHtml('description') ?>" value="<?php echo O::escapeHtml('1') ?>" <?php if(@$description){ ?>checked="<?php echo O::escapeHtml('checked') ?>"<?php } ?> class="<?php echo O::escapeHtml('or-form-checkbox') ?>" /><?php echo O::escapeHtml('') ?>
+ <span class="<?php echo O::escapeHtml('or-form-label') ?>"><?php echo O::escapeHtml(''.@O::lang('description').'') ?></span>
+ </label>
+ <label><?php echo O::escapeHtml('') ?>
+ <input type="<?php echo O::escapeHtml('checkbox') ?>" name="<?php echo O::escapeHtml('content') ?>" value="<?php echo O::escapeHtml('1') ?>" <?php if(@$content){ ?>checked="<?php echo O::escapeHtml('checked') ?>"<?php } ?> class="<?php echo O::escapeHtml('or-form-checkbox') ?>" /><?php echo O::escapeHtml('') ?>
+ <span class="<?php echo O::escapeHtml('or-form-label') ?>"><?php echo O::escapeHtml(''.@O::lang('content').'') ?></span>
+ </label>
+ </div>
+ </section>
+ </div>
+ </section>
+ <section class="<?php echo O::escapeHtml('or-group or-collapsible--is-open or-collapsible--is-visible or-collapsible--show') ?>"><?php echo O::escapeHtml('') ?>
+ <h2 class="<?php echo O::escapeHtml('or-collapsible-title or-group-title or-collapsible-act-switch') ?>"><?php echo O::escapeHtml('') ?>
+ <span><?php echo O::escapeHtml(''.@O::lang('search_result').'') ?></span>
+ </h2>
+ <div class="<?php echo O::escapeHtml('or-collapsible-value or-group-value') ?>"><?php echo O::escapeHtml('') ?>
+ <div class="<?php echo O::escapeHtml('or-table-wrapper') ?>"><?php echo O::escapeHtml('') ?>
+ <div class="<?php echo O::escapeHtml('or-table-filter') ?>"><?php echo O::escapeHtml('') ?>
+ <input type="<?php echo O::escapeHtml('search') ?>" name="<?php echo O::escapeHtml('filter') ?>" placeholder="<?php echo O::escapeHtml(''.@O::lang('SEARCH_FILTER').'') ?>" class="<?php echo O::escapeHtml('or-input or-table-filter-input') ?>" /><?php echo O::escapeHtml('') ?>
+ </div>
+ <div class="<?php echo O::escapeHtml('or-table-area') ?>"><?php echo O::escapeHtml('') ?>
+ <table class="<?php echo O::escapeHtml('or-table') ?>"><?php echo O::escapeHtml('') ?>
+ <tr class="<?php echo O::escapeHtml('or-table-header') ?>"><?php echo O::escapeHtml('') ?>
+ <th><?php echo O::escapeHtml('') ?>
+ <span><?php echo O::escapeHtml(''.@O::lang('NAME').'') ?></span>
+ </th>
+ <th><?php echo O::escapeHtml('') ?>
+ <span><?php echo O::escapeHtml(''.@O::lang('LASTCHANGE').'') ?></span>
+ </th>
+ </tr>
+ <?php foreach((array)@$result as $list_key=>$list_value) { extract($list_value); ?>
+ <tr class="<?php echo O::escapeHtml('or-data') ?>"><?php echo O::escapeHtml('') ?>
+ <td class="<?php echo O::escapeHtml('or-act-clickable') ?>"><?php echo O::escapeHtml('') ?>
+ <a target="<?php echo O::escapeHtml('_self') ?>" data-name="<?php echo O::escapeHtml(''.@$name.'') ?>" name="<?php echo O::escapeHtml(''.@$name.'') ?>" data-type="<?php echo O::escapeHtml('open') ?>" data-action="<?php echo O::escapeHtml(''.@$type.'') ?>" data-method="<?php echo O::escapeHtml('') ?>" data-id="<?php echo O::escapeHtml(''.@$id.'') ?>" data-extra="<?php echo O::escapeHtml('[]') ?>" href="<?php echo O::escapeHtml('#/'.@$type.'/'.@$id.'') ?>" class="<?php echo O::escapeHtml('or-link') ?>"><?php echo O::escapeHtml('') ?>
+ <i class="<?php echo O::escapeHtml('or-image-icon or-image-icon--action-'.@$type.'') ?>"><?php echo O::escapeHtml('') ?></i>
+ <span title="<?php echo O::escapeHtml(''.@$desc.'') ?>"><?php echo O::escapeHtml(''.@$name.'') ?></span>
+ </a>
+ </td>
+ <td><?php echo O::escapeHtml('') ?>
+ <?php include_once( 'modules/template_engine/components/html/component_date/component-date.php'); { component_date($lastchange_date); ?>
+ <?php } ?>
+ </td>
+ </tr>
+ <?php } ?>
+ </table>
+ </div>
</div>
</div>
</section>
@@ -65,7 +100,7 @@
</div>
<div class="<?php echo O::escapeHtml('or-btn or-btn--control or-btn--primary or-act-form-save') ?>"><?php echo O::escapeHtml('') ?>
<i class="<?php echo O::escapeHtml('or-image-icon or-image-icon--form-ok') ?>"><?php echo O::escapeHtml('') ?></i>
- <span class="<?php echo O::escapeHtml('or-form-btn-label') ?>"><?php echo O::escapeHtml(''.@O::lang('button_ok').'') ?></span>
+ <span class="<?php echo O::escapeHtml('or-form-btn-label') ?>"><?php echo O::escapeHtml(''.@O::lang('search').'') ?></span>
</div>
</div>
</form>
\ No newline at end of file
diff --git a/modules/cms/ui/themes/default/html/views/search/edit.tpl.src.xml b/modules/cms/ui/themes/default/html/views/search/edit.tpl.src.xml
@@ -1,49 +1,47 @@
-<output xmlns="http://www.openrat.de/template" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://www.openrat.de/template ../../../../../../../template_engine/components/template.xsd">
- <form method="GET" subaction="result">
- <fieldset class="line" label="">
- <part class="label">
- <label for="value">
- <text value="${message:value}"/>
- </label>
- <newline/>
- </part>
- <part class="value">
- <input name="text" hint="${message:search}"/>
- </part>
- </fieldset>
- <fieldset class="line" label="">
- <part class="label">
- <label for="value">
- <text value="${message:filter}"/>
- </label>
- <newline/>
- </part>
- <part class="value">
- <checkbox name="id" default="${config:search/quicksearch/flag/id}"/>
- <label for="id">
- <text value="${message:id}"/>
- </label>
- <newline/>
- <checkbox name="name" default="${config:search/quicksearch/flag/name}"/>
- <label for="name">
- <text value="${message:name}"/>
- </label>
- <newline/>
- <checkbox name="filename" default="${config:search/quicksearch/flag/filename}"/>
- <label for="filename">
- <text value="${message:filename}"/>
- </label>
- <newline/>
- <checkbox name="description" default="${config:search/quicksearch/flag/description}"/>
- <label for="description">
- <text value="${message:description}"/>
- </label>
- <newline/>
- <checkbox name="content" default="${config:search/quicksearch/flag/content}"/>
- <label for="content">
- <text value="${message:content}"/>
- </label>
- </part>
- </fieldset>
- </form>
+<output xmlns="http://www.openrat.de/template" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
+ xsi:schemaLocation="http://www.openrat.de/template ../../../../../../../template_engine/components/template.xsd">
+ <form method="GET" subaction="edit" label="${message:search}">
+ <group title="${message:SEARCH}" collapsible="false">
+ <fieldset label="${message:value}">
+ <input name="text" hint="${message:search}"/>
+ <hidden name="repeat" default="1"/>
+ </fieldset>
+ </group>
+
+ <group title="${message:OPTIONS}" open="false">
+ <fieldset label="${message:search_prop}">
+ <checkbox label="${message:id}" name="oid"/>
+ <checkbox label="${message:name}" name="name"/>
+ <checkbox label="${message:filename}" name="filename"/>
+ <checkbox label="${message:description}" name="description"/>
+ <checkbox label="${message:content}" name="content"/>
+ </fieldset>
+ </group>
+
+ <group title="${message:search_result}" collapsible="false">
+ <table>
+ <row header="true">
+ <column header="true">
+ <text value="${message:NAME}"/>
+ </column>
+ <column header="true">
+ <text value="${message:LASTCHANGE}"/>
+ </column>
+ </row>
+ <list list="${result}" extract="true">
+ <row class="data">
+ <column class="act-clickable">
+ <link type="open" action="${type}" name="${name}" id="${id}">
+ <image action="${type}"/>
+ <text value="${name}" title="${desc}"/>
+ </link>
+ </column>
+ <column>
+ <date date="${lastchange_date}"/>
+ </column>
+ </row>
+ </list>
+ </table>
+ </group>
+ </form>
</output>
diff --git a/modules/cms/ui/themes/default/script/plugin/jquery-plugin-orSearch.js b/modules/cms/ui/themes/default/script/plugin/jquery-plugin-orSearch.js
@@ -1,5 +1,6 @@
import $ from "../jquery-global.js";
import WorkbenchNavigator from "../openrat/navigator.js";
+import Dialog from "../openrat/dialog.js";
/**
* Suche mit Dropdown
@@ -18,21 +19,30 @@ export default function( options )
'method': 'quicksearch',
'resultEntryClass': 'dropdown-entry',
}, options);
-
+
+ let searchInput = $(this)
+ let dropdownEl = $( settings.dropdown );
+
+ let closeSearch = function() {
+ settings.onSearchInactive();
+
+ // No search argument.
+ $(dropdownEl).empty(); // Leeren.
+ dropdownEl.removeClass('search-result--is-active');
+ };
+
+ $(this).on('keydown',async function(e) {
+ if ( e.keyCode == 13 ) { // Listen to ENTER
+ let dialog = new Dialog();
+ closeSearch();
+ dialog.start('','search','edit',0,{'text':searchInput.val()});
+ searchInput.val('');
+ }
+ } );
return $(this).input(async function()
{
- let searchInput = $(this)
let searchArgument = searchInput.val();
- let dropdownEl = $( settings.dropdown );
-
- let closeSearch = function() {
- settings.onSearchInactive();
-
- // No search argument.
- $(dropdownEl).empty(); // Leeren.
- dropdownEl.removeClass('search-result--is-active');
- };
if ( searchArgument.length )
{