PrefLabelTree.js 1.3 KB

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