summaryrefslogtreecommitdiff
path: root/js/PrefLabelTree.js
blob: 2f7dc0f534df5059d6877b03de0569231501ad06 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
dojo.provide("fox.PrefLabelTree");

dojo.require("lib.CheckBoxTree");
dojo.require("dijit.form.DropDownButton");

dojo.declare("fox.PrefLabelTree", lib.CheckBoxTree, {
	setNameById: function (id, name) {
		var item = this.model.store._itemsByIdentity['LABEL:' + id];

		if (item)
			this.model.store.setValue(item, 'name', name);

	},
	_createTreeNode: function(args) {
		var tnode = this.inherited(arguments);

		var fg_color = this.model.store.getValue(args.item, 'fg_color');
		var bg_color = this.model.store.getValue(args.item, 'bg_color');
		var type = this.model.store.getValue(args.item, 'type');
		var bare_id = this.model.store.getValue(args.item, 'bare_id');

		if (type == 'label') {
			var span = dojo.doc.createElement('span');
			span.innerHTML = 'α';
			span.className = 'labelColorIndicator';
			span.id = 'LICID-' + bare_id;

			span.setStyle({
				color: fg_color,
				backgroundColor: bg_color});

			tnode._labelIconNode = span;

			dojo.place(tnode._labelIconNode, tnode.labelNode, 'before');
		}

		return tnode;
	},
	getIconClass: function (item, opened) {
		return (!item || this.model.mayHaveChildren(item)) ? (opened ? "dijitFolderOpened" : "dijitFolderClosed") : "invisible";
	},
});