From ace0b3705a2aed71ad1cbb4b5efcff9fedffd9b5 Mon Sep 17 00:00:00 2001 From: erickson Date: Mon, 21 Apr 2008 16:54:46 +0000 Subject: [PATCH] Merged revisions 9395-9396 via svnmerge from svn://svn.open-ils.org/ILS/trunk ........ r9395 | erickson | 2008-04-21 11:42:10 -0400 (Mon, 21 Apr 2008) | 1 line added support for for truncation attribute to z39 queries. Thanks, James! ........ r9396 | erickson | 2008-04-21 12:51:44 -0400 (Mon, 21 Apr 2008) | 1 line added widget directory and new org unit filtering select widget ........ git-svn-id: svn://svn.open-ils.org/ILS/branches/acq-experiment@9397 dcc99617-32d9-48b4-a31d-7c20da2025e4 --- .../perlmods/OpenILS/Application/Search/Z3950.pm | 7 +++-- .../dojo/openils/widget/OrgUnitFilteringSelect.js | 33 ++++++++++++++++++++++ 2 files changed, 38 insertions(+), 2 deletions(-) create mode 100644 Open-ILS/web/js/dojo/openils/widget/OrgUnitFilteringSelect.js diff --git a/Open-ILS/src/perlmods/OpenILS/Application/Search/Z3950.pm b/Open-ILS/src/perlmods/OpenILS/Application/Search/Z3950.pm index 9d84c1872e..dc4c001014 100755 --- a/Open-ILS/src/perlmods/OpenILS/Application/Search/Z3950.pm +++ b/Open-ILS/src/perlmods/OpenILS/Application/Search/Z3950.pm @@ -329,8 +329,11 @@ sub compile_query { for( keys %$hash ) { next unless ( exists $services{$service}->{attrs}->{$_} ); $str .= '@attr 1=' . $services{$service}->{attrs}->{$_}->{code} . # add the use attribute - ' @attr 4=' . $services{$service}->{attrs}->{$_}->{format} . # add the structure attribute - " \"" . $$hash{$_} . "\" "; # add the search term + ' @attr 4=' . $services{$service}->{attrs}->{$_}->{format}; # add the structure attribute + if (exists $services{$service}->{attrs}->{$_}->{truncation}){ + $str .= ' @attr 5=' . $services{$service}->{attrs}->{$_}->{truncation}; + } + $str .= " \"" . $$hash{$_} . "\" "; # add the search term } return $str; } diff --git a/Open-ILS/web/js/dojo/openils/widget/OrgUnitFilteringSelect.js b/Open-ILS/web/js/dojo/openils/widget/OrgUnitFilteringSelect.js new file mode 100644 index 0000000000..a875264d28 --- /dev/null +++ b/Open-ILS/web/js/dojo/openils/widget/OrgUnitFilteringSelect.js @@ -0,0 +1,33 @@ +if(!dojo._hasResource["openils.widget.OrgUnitFilteringSelect"]){ +dojo._hasResource["openils.widget.OrgUnitFilteringSelect"] = true; +dojo.require("dijit.form.FilteringSelect"); +dojo.require("fieldmapper.OrgUtils"); +dojo.provide("openils.widget.OrgUnitFilteringSelect"); + +/** + * This widget provides a FilteringSelect for Org Units. In particular, + * it indents displayed name ('shortname', by default) based on the orgs depth + * to imitate a tree. + */ + +/* TODO add org sorting to ensure proper render order */ + +dojo.declare( + "openils.widget.OrgUnitFilteringSelect", [dijit.form.FilteringSelect], + { + _getMenuLabelFromItem : function(item) { + var type = this.store.getValue(item, 'ou_type'); + var depth = fieldmapper.aout.findOrgType(type).depth(); + var lpad = depth*6; /* CSS instead? */ + + return { + html: true, + label: '
' + + this.store.getValue(item, this.labelAttr || 'shortname') + + '
' + } + } + } +); + +} -- 2.11.0