]> git.evergreen-ils.org Git - working/Evergreen.git/blob - Open-ILS/web/js/dojo/openils/widget/PermGrpFilteringSelect.js
LP2045292 Color contrast for AngularJS patron bills
[working/Evergreen.git] / Open-ILS / web / js / dojo / openils / widget / PermGrpFilteringSelect.js
1 if(!dojo._hasResource["openils.widget.PermGrpFilteringSelect"]){
2     dojo.provide("openils.widget.PermGrpFilteringSelect");
3     dojo.require("dijit.form.FilteringSelect");
4     dojo.require('dojo.data.ItemFileReadStore');
5     dojo.require('openils.Util');
6     dojo.require('openils.PermGrp');
7
8     dojo.declare(
9         "openils.widget.PermGrpFilteringSelect", [dijit.form.FilteringSelect], 
10         {
11             drawGroups : function() {
12                 var self = this;
13                 openils.PermGrp.fetchGroupTree(function(){self._drawGroups()});
14             },
15
16             _drawGroups : function(node, depth, list) {
17                 if(!node) { 
18                     node = openils.PermGrp.groupTree;
19                     list = []; 
20                     depth = 0; 
21                 }
22
23                 lpad = 6 * depth;
24                 var data = pgt.toStoreData([node]).items[0];
25                 data._label = '<div style="padding-left:'+lpad+'px;">' + node.name() + '</div>';
26                 list.push(data);
27
28                 for(var idx in node.children()) 
29                     this._drawGroups(node.children()[idx], depth + 1, list);
30
31                 if(depth == 0) {
32                     var construct = {data : {identifier : 'id', items: list}};
33                     this.store = new dojo.data.ItemFileReadStore(construct);
34                     this.startup();
35                 }
36             },
37
38             _getMenuLabelFromItem : function(item) {
39                 return {
40                     html: true,
41                     label: item._label
42                 };
43             }
44         }
45     );
46 }