PrefLabelTree.js 1.2 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243
  1. dojo.provide("fox.PrefLabelTree");
  2. dojo.require("lib.CheckBoxTree");
  3. dojo.require("dijit.form.DropDownButton");
  4. dojo.declare("fox.PrefLabelTree", lib.CheckBoxTree, {
  5. setNameById: function (id, name) {
  6. var item = this.model.store._itemsByIdentity['LABEL:' + id];
  7. if (item)
  8. this.model.store.setValue(item, 'name', name);
  9. },
  10. _createTreeNode: function(args) {
  11. var tnode = this.inherited(arguments);
  12. var fg_color = this.model.store.getValue(args.item, 'fg_color');
  13. var bg_color = this.model.store.getValue(args.item, 'bg_color');
  14. var type = this.model.store.getValue(args.item, 'type');
  15. var bare_id = this.model.store.getValue(args.item, 'bare_id');
  16. if (type == 'label') {
  17. var span = dojo.doc.createElement('span');
  18. span.innerHTML = 'α';
  19. span.className = 'labelColorIndicator2';
  20. span.id = 'LICID-' + bare_id;
  21. span.setStyle({
  22. color: fg_color,
  23. backgroundColor: bg_color});
  24. tnode._labelIconNode = span;
  25. dojo.place(tnode._labelIconNode, tnode.labelNode, 'before');
  26. }
  27. return tnode;
  28. },
  29. getIconClass: function (item, opened) {
  30. return (!item || this.model.mayHaveChildren(item)) ? (opened ? "dijitFolderOpened" : "dijitFolderClosed") : "invisible";
  31. },
  32. });