RoleExplorer.js 3.5 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182838485868788899091929394
  1. MWF.xDesktop.requireApp("Organization", "GroupExplorer", null, false);
  2. MWF.xApplication.Organization.RoleExplorer = new Class({
  3. Extends: MWF.xApplication.Organization.GroupExplorer,
  4. Implements: [Options, Events],
  5. options: {
  6. "style": "default"
  7. },
  8. _loadPath: function(){
  9. this.path = "/x_component_Organization/$RoleExplorer/";
  10. this.cssPath = "/x_component_Organization/$RoleExplorer/"+this.options.style+"/css.wcss";
  11. },
  12. _loadLp: function(){
  13. this.options.lp = {
  14. "elementLoaded": this.app.lp.roleLoaded,
  15. "search": this.app.lp.search,
  16. "searchText": this.app.lp.searchText,
  17. "elementSave": this.app.lp.roleSave,
  18. "deleteElements": this.app.lp.deleteRoles,
  19. "deleteElementsTitle": this.app.lp.deleteRolesTitle,
  20. "deleteElementsConfirm": this.app.lp.deleteRolesConfirm,
  21. "elementBaseText": this.app.lp.roleBaseText,
  22. "elementName": this.app.lp.roleName,
  23. "edit": this.app.lp.edit,
  24. "cancel": this.app.lp.cancel,
  25. "save": this.app.lp.save,
  26. "add": this.app.lp.add,
  27. "inputElementName": this.app.lp.inputRoleName,
  28. "elementMemberPersonText": this.app.lp.roleMemberPersonText,
  29. "personEmployee": this.app.lp.personEmployee,
  30. "personDisplay": this.app.lp.personDisplay,
  31. "personMail": this.app.lp.personMail,
  32. "personPhone": this.app.lp.personPhone,
  33. "deletePersonMemberTitle": this.app.lp.deletePersonMemberTitle,
  34. "deletePersonMember": this.app.lp.deletePersonMember,
  35. "elementMemberGroupText": this.app.lp.roleMemberGroupText,
  36. "groupDescription": this.app.lp.groupDescription,
  37. "groupName": this.app.lp.groupName,
  38. "deleteGroupMemberTitle": this.app.lp.deleteGroupMemberTitle,
  39. "deleteGroupMember": this.app.lp.deleteGroupMember
  40. }
  41. },
  42. _listElementNext: function(lastid, count, callback){
  43. this.actions.listRoleNext(lastid, count, function(json){
  44. if (callback) callback.apply(this, [json]);
  45. }.bind(this));
  46. },
  47. _newElement: function(data, explorer){
  48. return new MWF.xApplication.Organization.RoleExplorer.Role(data, explorer, this.isEditor);
  49. },
  50. _listElementByKey: function(callback, failure, key){
  51. this.actions.listRoleByKey(function(json){
  52. if (callback) callback.apply(this, [json]);
  53. }.bind(this), failure, key);
  54. },
  55. _getAddElementData: function(){
  56. return {
  57. "personList": [],
  58. "groupList": [],
  59. "id": "",
  60. "name": ""
  61. };
  62. },
  63. loadToolbar: function(){
  64. this.toolbarNode = new Element("div", {"styles": this.css.toolbarNode}).inject(this.chartAreaNode);
  65. if (MWF.AC.isAdministrator()){
  66. this.isEditor = true;
  67. this.addTopElementNode = new Element("div", {"styles": this.css.addTopGroupNode}).inject(this.toolbarNode);
  68. this.addTopElementNode.addEvent("click", function(){
  69. this.addTopElement();
  70. }.bind(this));
  71. }
  72. this.createSearchNode();
  73. }
  74. });
  75. MWF.xApplication.Organization.RoleExplorer.Role = new Class({
  76. Extends: MWF.xApplication.Organization.GroupExplorer.Group,
  77. _saveElement: function(data, success, failure){
  78. this.explorer.actions.saveRole(data, success, failure);
  79. },
  80. _deleteElement: function(id, success, failure){
  81. this.explorer.actions.deleteRole(id, success, failure);
  82. }
  83. });