openrat-cms

Unnamed repository; edit this file 'description' to name the repository.
Log | Files | Refs | README

commit 2e82c09a4af626448eb17d8e871bd4fe86cd754b
parent 8dec4a330860235914b76bacdeed18efd0e14500
Author: dankert <openrat@jandankert.de>
Date:   Mon,  6 Dec 2021 23:21:18 +0100

Fixes: Click on search results will close the search results.

Diffstat:
Mmodules/cms/ui/themes/default/script/Oquery.js | 5++++-
Mmodules/cms/ui/themes/default/script/openrat/workbench.js | 2+-
Mmodules/cms/ui/themes/default/script/plugin/jquery-plugin-orSearch.js | 28+++++++++++++++-------------
3 files changed, 20 insertions(+), 15 deletions(-)

diff --git a/modules/cms/ui/themes/default/script/Oquery.js b/modules/cms/ui/themes/default/script/Oquery.js @@ -223,7 +223,10 @@ export class OQuery { data( name,value) { if ( typeof value === 'undefined' ) - return this.nodes.length > 0 ? this.nodes[0].dataset[name] : ''; + if ( typeof name === 'undefined' ) + return this.nodes.length > 0 ? this.nodes[0].dataset : {}; + else + return this.nodes.length > 0 ? this.nodes[0].dataset[name] : null; this.nodes.forEach(node => node.dataset[name] = value ); return this; diff --git a/modules/cms/ui/themes/default/script/openrat/workbench.js b/modules/cms/ui/themes/default/script/openrat/workbench.js @@ -635,7 +635,7 @@ export default class Workbench { $('.or-search').removeClass('search--is-active'); }, dropdown : '.or-act-search-result', - resultEntryClass: 'or-search-result-entry', + resultEntryClass: 'search-result-entry', //openDropdown: true, // the dropdown is automatically opened by the menu. select : function(obj) { // open the search result 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 @@ -19,13 +19,21 @@ export default function( options ) 'resultEntryClass': 'dropdown-entry', }, options); - + 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 ) { settings.onSearchActive(); @@ -52,11 +60,9 @@ export default function( options ) .addClass( settings.resultEntryClass ) .addClass( settings.resultEntryClass + '--active' ) .attr('title',result.desc); - div.data('object', { - 'name': result.name, - 'action': result.type, - 'id': result.id - }); + div.data( 'name' , result.name ); + div.data( 'action', result.type ); + div.data( 'id' , result.id ); let link = $.create('a') .addClass('link') .attr('href', WorkbenchNavigator.createShortUrl(result.type, result.id)); @@ -84,19 +90,15 @@ export default function( options ) // Register clickhandler for search results. $(dropdownEl).find('.or-search-result-entry').click(function (e) { - settings.select($(this).data('object')); + settings.select( $(this).data() ); settings.afterSelect(); searchInput.val(''); + closeSearch(); }); } else { - settings.onSearchInactive(); - - // No search argument. - $(dropdownEl).empty(); // Leeren. - - dropdownEl.removeClass('search-result--is-active'); + closeSearch(); } }); }; \ No newline at end of file