Built files from Bizgaze WebServer
Vous ne pouvez pas sélectionner plus de 25 sujets Les noms de sujets doivent commencer par une lettre ou un nombre, peuvent contenir des tirets ('-') et peuvent comporter jusqu'à 35 caractères.

projectteammembers.js 14KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220
  1. var Bizgaze;
  2. (function (Bizgaze) {
  3. let Apps;
  4. (function (Apps) {
  5. let PM;
  6. (function (PM) {
  7. let Controls;
  8. (function (Controls) {
  9. class ProjectTeamMembers extends Unibase.Platform.Core.BaseComponent {
  10. constructor() {
  11. super(...arguments);
  12. this.count = 0;
  13. this.pageindex = 0;
  14. this.pagesize = 5;
  15. this.txt = null;
  16. this.containerel = 0;
  17. }
  18. init(formpropertyid, prop, callback) {
  19. $('.btn_Save_Form').addClass('hidden');
  20. var instance = this;
  21. $('#txt_SearchTeamMembers').on('input', function () {
  22. var txt = $('#txt_SearchTeamMembers').val();
  23. if (txt != '') {
  24. instance.txt = txt;
  25. }
  26. else {
  27. instance.txt = null;
  28. }
  29. instance.ShowTeamMembers($('#hf_pk_value').val(), instance.txt);
  30. });
  31. instance.ShowTeamMembers($('#hf_pk_value').val(), instance.txt);
  32. }
  33. loadControl(containerid, prop) {
  34. const instance = this;
  35. instance.containerel = containerid;
  36. var html = '<div class="col-sm-12" id="div_txt_SearchTeamMembers">' +
  37. '<div class="floating-label-form-group">' +
  38. '<input type="text" maxlength="50" class="form-control floating-label-control" id="txt_SearchTeamMembers" data-isdynamic="false" placeholder="Search" data-placeholder="Search" data-label="Search">' +
  39. '</div></div>' +
  40. '<ul id="ul_TeamMembers_Details" class="mt-10">' +
  41. '<li class="list-group-item bg-cyan-light-4 hidden" id="TeamMembers_Heading">' +
  42. '<div class="row">' +
  43. '<div class="col-sm-7"><strong>Member Name</strong></div>' +
  44. '<div class="col-sm-3"><strong>Designation</strong></div>' +
  45. '<div class="col-sm-2">' +
  46. '<div class="pull-right">' +
  47. '<strong></strong>' +
  48. '</div></div>' +
  49. '</div>' +
  50. '</li>' +
  51. '<li class="length-row" id="TeamMembers_Details_HiddenRow" class="hidden"></li>' +
  52. '</ul>' +
  53. '<div class="Div_pagination hidden row row mt-15">' +
  54. '<div class="col-sm-3" id="list_count"><span id="TotalRecords"class="text-muted">Total :' + '<span id="lbl_TeamMembersCount" class="lbl_TeamMembersCount mr-30"></span></span>' +
  55. '</div><div class="col-sm-9">' + '<div id="divpagination" class="pagination custom-pagination pagination-rounded pull-right"></div></div>' +
  56. '</div>';
  57. $("#" + containerid).html(html);
  58. const visibleContainerId = instance.navigationHelper.getLastContainerId();
  59. $("#" + visibleContainerId).find('.btn_CloseForm').click(function () {
  60. instance.setpage();
  61. });
  62. }
  63. loadControlSettings(controlsettingjson, formpropertyid) {
  64. return null;
  65. }
  66. loadPropertySettings(propertysettings, formpropertyid, DocPropertyName) {
  67. return null;
  68. }
  69. bindEditFormDetails(formpropertyid, propval, DocPropertyName) {
  70. return null;
  71. }
  72. ShowTeamMembers(projectteamid, term) {
  73. var instance = this;
  74. this.fileCacheHelper.loadJsFile("apps/pm/managers/taskmanager.js", function () {
  75. Bizgaze.Apps.PM.Managers.TaskManager.Instance().getProjectTeamMembers(projectteamid, term, instance.pagesize, instance.pageindex).then(function (response) {
  76. if (response.result != "") {
  77. var data = response.result;
  78. $('.TeamMember-row').remove();
  79. $('#div_TeamMembers_Details_NoData').remove();
  80. if (data.length == 0) {
  81. $('#TeamMembers_Heading').addClass('hidden');
  82. }
  83. else {
  84. $('#TeamMembers_Heading').removeClass('hidden');
  85. }
  86. var Count = ProjectTeamMembers.Instance().count;
  87. for (let i = 0; i < data.length; i++) {
  88. instance.AddRow(data[i]);
  89. }
  90. if (data.length <= 0) {
  91. $(".Div_pagination").addClass('hidden');
  92. }
  93. else {
  94. $(".Div_pagination").removeClass('hidden');
  95. var totalCount = data.length;
  96. var _page = instance.pageindex + 1;
  97. var st = 0;
  98. var _count = 0;
  99. var t = _page * 5;
  100. if (totalCount > 0) {
  101. st = 1;
  102. _count = totalCount;
  103. }
  104. if (totalCount > t)
  105. _count = t;
  106. if (instance.pageindex > 0) {
  107. st += t - 5;
  108. }
  109. var result = st + " - " + (st + (_count - 1)) + " of " + ProjectTeamMembers.Instance().count;
  110. var totalcount = ProjectTeamMembers.Instance().count;
  111. var ct = Count - 5;
  112. if (Count <= 5) {
  113. $(".Div_pagination").addClass('hidden');
  114. }
  115. $("#lbl_TeamMembersCount").text(result);
  116. instance.fileCacheHelper.loadJsFile('libs/jquery/pagination/jquery.pagination.js', function () {
  117. var ele;
  118. ele = $(".Div_pagination").find('#divpagination');
  119. ele.pagination(totalcount, 5, {
  120. current_page: (instance.pageindex),
  121. callback: function (page, component) {
  122. instance.pageindex = page;
  123. instance.ShowTeamMembers(projectteamid, instance.txt);
  124. }
  125. });
  126. });
  127. }
  128. }
  129. else {
  130. $('.TeamMember-row').remove();
  131. $('#div_TeamMembers_Details_NoData').remove();
  132. $('#ul_TeamMembers_Details').after('<div class="alert alert-info ma-0" id="div_TeamMembers_Details_NoData">There is no Data</div>');
  133. }
  134. });
  135. });
  136. }
  137. AddRow(data) {
  138. var len = $('.length-row').length;
  139. var html = '<li class="TeamMember-row length-row list-group-item" id="TeamMember_' + len + '" >' +
  140. '<div class="row"><div class="col-sm-7" ><span>' + data.MemberName + ' ' +
  141. '</span><input type="hidden" val="' + data.TeamMemberId + '" id="TeamMemberId_' + len + '" class="TeamMemberId" />' +
  142. '<input type="hidden" class="MemberId hf_MemberId-' + len + '" value="' + data.MemberId + '" id="MemberId_' + len + '" /></div>' +
  143. '<div class="col-sm-3">' +
  144. '<span>' + data.DesignationName + '</span>' +
  145. '</div>' +
  146. '<div class="col-sm-2">' +
  147. '<div class="pull-right pr-20"><a class="btn-icon pull-right" href="javascript:;" onclick="javascript:Bizgaze.Apps.PM.Controls.ProjectTeamMembers.Instance().removeTeamMembers(' + data.TeamMemberId + ',' + data.MemberId + ',' + len + ');" >' +
  148. '<i class="fa fa-trash-o text-danger" ></i></a></div>' +
  149. '</div>' +
  150. '</li>';
  151. $('#TeamMembers_Details_HiddenRow').after(html);
  152. }
  153. removeTeamMembers(TeamMemberId, MemberId, len) {
  154. var instance = this;
  155. Bizgaze.Apps.PM.Managers.TaskManager.Instance().getAssignToTasks(MemberId).then(function (response) {
  156. var data1 = JSON.stringify(response);
  157. var data2 = JSON.parse(data1);
  158. if (data2 != "") {
  159. var data = JSON.parse(data2);
  160. if (data.length > 0) {
  161. bootbox.confirm({
  162. message: "Tasks are already assigned to the employee. Would you like to continue.",
  163. buttons: {
  164. confirm: {
  165. label: 'Yes',
  166. className: 'btn-success'
  167. },
  168. cancel: {
  169. label: 'No',
  170. className: 'btn-danger'
  171. }
  172. },
  173. callback: function (result) {
  174. if (result == true) {
  175. if (TeamMemberId != undefined) {
  176. Bizgaze.Apps.PM.Managers.TaskManager.Instance().deleteTeamMember(TeamMemberId).then(function (response) {
  177. MessageHelper.Instance().showSuccess(response.message, 'div_ErrorMessage');
  178. $('#TeamMember_' + len).remove();
  179. instance.ShowTeamMembers($('#hf_pk_value').val(), null);
  180. });
  181. }
  182. }
  183. }
  184. });
  185. }
  186. }
  187. else {
  188. bootbox.confirm("Are you sure to delete this TeamMember?", function (result) {
  189. if (result) {
  190. if (TeamMemberId != undefined) {
  191. Bizgaze.Apps.PM.Managers.TaskManager.Instance().deleteTeamMember(TeamMemberId).then(function (response) {
  192. MessageHelper.Instance().showSuccess(response.message, 'div_ErrorMessage');
  193. $('#TeamMember_' + len).remove();
  194. instance.ShowTeamMembers($('#hf_pk_value').val(), null);
  195. });
  196. }
  197. else {
  198. $('#TeamMember_' + len).remove();
  199. }
  200. }
  201. });
  202. }
  203. });
  204. }
  205. setpage() {
  206. const instance = this;
  207. instance.pageindex = 0;
  208. instance.txt = null;
  209. }
  210. static Instance() {
  211. if (this.instance === undefined)
  212. this.instance = new ProjectTeamMembers();
  213. return this.instance;
  214. }
  215. }
  216. Controls.ProjectTeamMembers = ProjectTeamMembers;
  217. })(Controls = PM.Controls || (PM.Controls = {}));
  218. })(PM = Apps.PM || (Apps.PM = {}));
  219. })(Apps = Bizgaze.Apps || (Bizgaze.Apps = {}));
  220. })(Bizgaze || (Bizgaze = {}));