Group.js 2.3 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364
  1. MWF.xApplication.Selector = MWF.xApplication.Selector || {};
  2. MWF.xDesktop.requireApp("Selector", "Actions.RestActions", null, false);
  3. MWF.xDesktop.requireApp("Selector", "Person", null, false);
  4. MWF.xApplication.Selector.Group = new Class({
  5. Extends: MWF.xApplication.Selector.Person,
  6. options: {
  7. "style": "default",
  8. "count": 0,
  9. "title": "Select Group",
  10. "groups": [],
  11. "roles": [],
  12. "values": [],
  13. "names": []
  14. },
  15. _listItemByKey: function(callback, failure, key){
  16. this.action.listGroupByKey(function(json){
  17. if (callback) callback.apply(this, [json]);
  18. }.bind(this), failure, key);
  19. },
  20. _getItem: function(callback, failure, id, async){
  21. this.action.getGroup(function(json){
  22. if (callback) callback.apply(this, [json]);
  23. }.bind(this), failure, id, async);
  24. },
  25. _newItemSelected: function(data, selector, item){
  26. return new MWF.xApplication.Selector.Group.ItemSelected(data, selector, item)
  27. },
  28. _listItemByPinyin: function(callback, failure, key){
  29. this.action.listGroupByPinyin(function(json){
  30. if (callback) callback.apply(this, [json]);
  31. }.bind(this), failure, key);
  32. },
  33. _newItem: function(data, selector, container){
  34. return new MWF.xApplication.Selector.Group.Item(data, selector, container);
  35. },
  36. _listItemNext: function(last, count, callback){
  37. this.action.listGroupNext(last, count, function(json){
  38. if (callback) callback.apply(this, [json]);
  39. }.bind(this));
  40. },
  41. _getChildrenItemIds: function(data){
  42. return data.groupList;
  43. }
  44. });
  45. MWF.xApplication.Selector.Group.Item = new Class({
  46. Extends: MWF.xApplication.Selector.Person.Item,
  47. _getShowName: function(){
  48. return this.data.name;
  49. },
  50. _setIcon: function(){
  51. this.iconNode.setStyle("background-image", "url("+"/x_component_Selector/$Selector/default/icon/groupicon.png)");
  52. }
  53. });
  54. MWF.xApplication.Selector.Group.ItemSelected = new Class({
  55. Extends: MWF.xApplication.Selector.Person.ItemSelected,
  56. _getShowName: function(){
  57. return this.data.name;
  58. },
  59. _setIcon: function(){
  60. this.iconNode.setStyle("background-image", "url("+"/x_component_Selector/$Selector/default/icon/groupicon.png)");
  61. }
  62. });