Role.js 2.7 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677
  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.Role = new Class({
  5. Extends: MWF.xApplication.Selector.Person,
  6. options: {
  7. "style": "default",
  8. "count": 0,
  9. "title": "Select Role",
  10. "groups": [],
  11. "roles": [],
  12. "values": [],
  13. "names": []
  14. },
  15. initialize: function(container, options){
  16. this.setOptions(options);
  17. this.options.groups = [];
  18. this.options.roles = [];
  19. this.path = "/x_component_Selector/$Selector/";
  20. this.cssPath = "/x_component_Selector/$Selector/"+this.options.style+"/css.wcss";
  21. this._loadCss();
  22. this.container = $(container);
  23. this.action = new MWF.xApplication.Selector.Actions.RestActions();
  24. this.lastPeople = "";
  25. this.pageCount = "13";
  26. this.selectedItems = [];
  27. this.items = [];
  28. },
  29. _listItemByKey: function(callback, failure, key){
  30. this.action.listRoleByKey(function(json){
  31. if (callback) callback.apply(this, [json]);
  32. }.bind(this), failure, key);
  33. },
  34. _getItem: function(callback, failure, id, async){
  35. this.action.getRole(function(json){
  36. if (callback) callback.apply(this, [json]);
  37. }.bind(this), failure, id, async);
  38. },
  39. _newItemSelected: function(data, selector, item){
  40. return new MWF.xApplication.Selector.Role.ItemSelected(data, selector, item)
  41. },
  42. _listItemByPinyin: function(callback, failure, key){
  43. this.action.listRoleByPinyin(function(json){
  44. if (callback) callback.apply(this, [json]);
  45. }.bind(this), failure, key);
  46. },
  47. _newItem: function(data, selector, container){
  48. return new MWF.xApplication.Selector.Role.Item(data, selector, container);
  49. },
  50. _listItemNext: function(last, count, callback){
  51. this.action.listRoleNext(last, count, function(json){
  52. if (callback) callback.apply(this, [json]);
  53. }.bind(this));
  54. }
  55. });
  56. MWF.xApplication.Selector.Role.Item = new Class({
  57. Extends: MWF.xApplication.Selector.Person.Item,
  58. _getShowName: function(){
  59. return this.data.name;
  60. },
  61. _setIcon: function(){
  62. this.iconNode.setStyle("background-image", "url("+"/x_component_Selector/$Selector/default/icon/roleicon.png)");
  63. }
  64. });
  65. MWF.xApplication.Selector.Role.ItemSelected = new Class({
  66. Extends: MWF.xApplication.Selector.Person.ItemSelected,
  67. _getShowName: function(){
  68. return this.data.name;
  69. },
  70. _setIcon: function(){
  71. this.iconNode.setStyle("background-image", "url("+"/x_component_Selector/$Selector/default/icon/roleicon.png)");
  72. }
  73. });