Built files from Bizgaze WebServer
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

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 = {}));