From fab12cca4a904bf80a72e585ccb43da8a11dc368 Mon Sep 17 00:00:00 2001 From: Lebbeous Fogle-Weekley Date: Mon, 23 Jan 2012 16:57:25 -0500 Subject: [PATCH] 1) global flag for autosuggest on/off, opac-visiblity 2) don't hardcode as style Signed-off-by: Lebbeous Fogle-Weekley --- Open-ILS/src/sql/Pg/950.data.seed-values.sql | 13 +++++++++++++ .../sql/Pg/upgrade/YYYY.schema.bib_autosuggest.sql | 6 ++++++ Open-ILS/web/opac/skin/default/js/search_bar.js | 20 ++++++++++++++++++-- 3 files changed, 37 insertions(+), 2 deletions(-) diff --git a/Open-ILS/src/sql/Pg/950.data.seed-values.sql b/Open-ILS/src/sql/Pg/950.data.seed-values.sql index ddb6b39fe3..420ef9cbb7 100644 --- a/Open-ILS/src/sql/Pg/950.data.seed-values.sql +++ b/Open-ILS/src/sql/Pg/950.data.seed-values.sql @@ -9247,6 +9247,19 @@ INSERT INTO config.global_flag (name, label, enabled) FALSE ); +INSERT INTO config.global_flag (name, label, enabled) + VALUES ( + 'opac.use_autosuggest', + oils_i18n_gettext( + 'opac.use_autosuggest', + 'OPAC: Show auto-completing suggestions dialog under basic search box (put ''opac_visible'' into the value field to limit suggestions to OPAC-visible items)', + 'cgf', + 'label' + ), + FALSE + ); + + INSERT INTO config.usr_setting_type (name,opac_visible,label,description,datatype) VALUES ( 'history.circ.retention_age', diff --git a/Open-ILS/src/sql/Pg/upgrade/YYYY.schema.bib_autosuggest.sql b/Open-ILS/src/sql/Pg/upgrade/YYYY.schema.bib_autosuggest.sql index e64f39ffbd..96107b81e2 100644 --- a/Open-ILS/src/sql/Pg/upgrade/YYYY.schema.bib_autosuggest.sql +++ b/Open-ILS/src/sql/Pg/upgrade/YYYY.schema.bib_autosuggest.sql @@ -2,6 +2,12 @@ BEGIN; SELECT evergreen.upgrade_deps_block_check('YYYY', :eg_version); +INSERT INTO config.global_flag (label, name, enabled) VALUES ( + 'opac.use_autosuggest', + 'OPAC: Show auto-completing suggestions dialog under basic search box (put ''opac_visible'' into the value field to limit suggestions to OPAC-visible items)', + FALSE +); + CREATE TABLE metabib.browse_entry ( id BIGSERIAL PRIMARY KEY, value TEXT unique, diff --git a/Open-ILS/web/opac/skin/default/js/search_bar.js b/Open-ILS/web/opac/skin/default/js/search_bar.js index 12f827dc24..9ab58b6c27 100644 --- a/Open-ILS/web/opac/skin/default/js/search_bar.js +++ b/Open-ILS/web/opac/skin/default/js/search_bar.js @@ -13,6 +13,7 @@ G.evt.common.init.push(searchBarInit); var newSearchLocation; var newSearchDepth = null; +dojo.require("openils.Util"); dojo.require("openils.widget.AutoSuggest"); function updateSearchTypeSelector(id) { @@ -48,11 +49,26 @@ function updateSearchTypeSelector(id) { } function autoSuggestInit() { + var global_flag = fieldmapper.standardRequest( + ["open-ils.fielder", "open-ils.fielder.cgf.atomic"], { + "query": {"name": "opac.use_autosuggest"}, + "fields": ["enabled", "value"] + } + ); + + var org_unit_getter = null; + + if (!global_flag || !openils.Util.isTrue(global_flag.enabled)) { + return; + } else if (global_flag.value && global_flag.value.match(/opac_visible/)) { + org_unit_getter = depthSelGetNewLoc; + } + var widg = new openils.widget.AutoSuggest( { "storeArgs": { "type_selector": G.ui.searchbar.type_selector, - "org_unit_getter": depthSelGetNewLoc + "org_unit_getter": org_unit_getter }, "onChange": function(value) { if (typeof value.field == "number") @@ -62,7 +78,7 @@ function autoSuggestInit() { if (event.charOrCode == dojo.keys.ENTER) searchBarSubmit(); }, - "style": {"width": dojo.attr("search_box", "style").width}, + "style": {"width": dojo.style("search_box", "width")}, "value": ((getTerm() != null) ? getTerm() : "") }, "search_box" ); -- 2.11.0