From: erickson Date: Mon, 21 Apr 2008 16:51:44 +0000 (+0000) Subject: added widget directory and new org unit filtering select widget X-Git-Url: https://old-git.evergreen-ils.org/?a=commitdiff_plain;h=c52394ec0b74bb05e1194599f8cbac37cbb8ef44;p=Evergreen.git added widget directory and new org unit filtering select widget git-svn-id: svn://svn.open-ils.org/ILS/trunk@9396 dcc99617-32d9-48b4-a31d-7c20da2025e4 --- 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') + + '
' + } + } + } +); + +}