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.

userdesigntaskwidget.js 15KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181
  1. var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
  2. function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
  3. return new (P || (P = Promise))(function (resolve, reject) {
  4. function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
  5. function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
  6. function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
  7. step((generator = generator.apply(thisArg, _arguments || [])).next());
  8. });
  9. };
  10. var Unibase;
  11. (function (Unibase) {
  12. let Themes;
  13. (function (Themes) {
  14. let Compact;
  15. (function (Compact) {
  16. let Components;
  17. (function (Components) {
  18. class TaskWidget extends Unibase.Platform.Core.BaseComponent {
  19. load(id, containerid, callback) {
  20. var instance = this;
  21. }
  22. jsFiles() {
  23. return [];
  24. }
  25. cssFiles() {
  26. return [];
  27. }
  28. html(id, containerid) {
  29. var instance = this;
  30. let html = ``;
  31. return html;
  32. }
  33. init(containerid) {
  34. return __awaiter(this, void 0, void 0, function* () {
  35. let instance = this;
  36. yield instance.loadnotificationDetails(containerid);
  37. yield instance.loadReminders(null, containerid);
  38. });
  39. }
  40. loadnotificationDetails(containerid) {
  41. let instance = this;
  42. let html = `<div class="card mb-0 border-0 BindData_` + containerid + ` findcontainer h-100" style="background:0 0">
  43. <div class="card-header py-2 px-2 border-bottom search-bar-main-wrapper viewer-header position-sticky t-0 bg-white z-index-2" id="ViewerHeader_` + containerid + `">
  44. <div class="card-header-top line-loader-container p-relative">
  45. <div class=line-loader></div>
  46. <div id=div_ErrorMessage class=form-error-message style=margin-left:-5px;z-index:100></div>
  47. <div class="d-flex align-items-center biz-highlight-bg-color widget-font text-truncate">Tasks</div>
  48. </div>
  49. </div>
  50. <div class="card-body px-1 py-0 border-removed border-white-removed show userDesignWidgetCardBody taskDetailsCardBody simple-scroll-bar" id="Viewer_` + containerid + `" data-iscollapseapplied=false>
  51. <ul class="UserdesignTaskDetails" id="UserdesignTaskDetails"></ul>
  52. </div>
  53. <div class="border-0 card-footer d-flex justify-content-center position-sticky pt-10 bg-white z-index-2">
  54. <a class="btn btn-xs rounded-4 btn-outline-primary" onclick="Unibase.Themes.Compact.Components.Notification.Instance().ViewAll(1)" href="javascript:;" id="AddWidget_btnCreateWidget">View Earlier Tasks</a>
  55. </div>
  56. </div>`;
  57. $('#' + containerid).html(html);
  58. if (screen.width > 1120) {
  59. $('#' + containerid).find(".userDesignWidgetCardBody").css("height", "308px");
  60. }
  61. }
  62. loadReminders(tabview, count) {
  63. return __awaiter(this, void 0, void 0, function* () {
  64. let remindertype = Unibase.Platform.Communications.Enums.ReminderType.Task;
  65. return yield Unibase.Platform.Communications.Managers.ReminderManager.Instance().getReminders(remindertype, 10).then(function (response) {
  66. let html = "";
  67. if (response.length != '' || response.length != 0) {
  68. for (let i = 0; i < response.length; i++) {
  69. let createformid = 0, installedappid = 0, refid = 0;
  70. if (response[i].RedirectOptions == null || response[i].RedirectOptions == undefined) {
  71. installedappid = response[i].InstalledAppId;
  72. refid = response[i].RefId;
  73. }
  74. else {
  75. createformid = response[i].RedirectOptions.CreateFormId;
  76. installedappid = response[i].RedirectOptions.InstalledAppId;
  77. refid = response[i].RedirectOptions.RefId;
  78. }
  79. let ReminderUrl = response[i].ReminderUrl;
  80. let IconUrl = response[i].IconUrl;
  81. if (IconUrl == undefined || IconUrl == null) {
  82. IconUrl = "tenants/themes/compact/imgs/defaultnotification.png";
  83. }
  84. if (IconUrl == "") {
  85. IconUrl = "tenants/themes/compact/imgs/notification.png";
  86. }
  87. let ReminderId = response[i].ReminderId;
  88. if (ReminderUrl == "") {
  89. ReminderUrl = null;
  90. }
  91. html = '<div id="Taskmedia_' + ReminderId + '" class="task-list-item border-bottom border-2">' +
  92. '<div class="cursor-pointer d-flex pr-3 py-1 w-100" id="Rem-item-' + ReminderId + '" data-id="' + ReminderId + '" onclick="Unibase.Themes.Compact.Components.Notification.Instance().loadReminderDetails(' + refid + ',' + installedappid + ',\'' + response[i].UrlType + '\',\'' + ReminderUrl + '\',' + remindertype + ',' + createformid + ',null)">' +
  93. `<div class="w-60p p-2 mr-2 flex-shrink-0"><img src="${IconUrl}" data-dynamic="1" onerror="ReloadImage(event)" class="img-fluid" data-loaded="0"></div>
  94. <div class="notifications-text flex-grow-1 overflow-hide word-break">
  95. <p class="text-dark text-capitalize font-12 font-weight-600 w-95 text-truncate word-break task-subject" title="${response[i].Subject}">${response[i].Subject}</p>
  96. <p class="font-12 text-dark notifi_message_overflow"> ${response[i].Message}</p>
  97. <div class="d-flex align-items-center justify-content-between ">
  98. <div class="notifications-time font-12">${Unibase.Platform.Helpers.DateTimeHelper.Instance().formatLocal(response[i].ReminderDate)}</div>` +
  99. '<div class="btn btn-outline-primary btn-xs p-2 line-height-10" onclick="Unibase.Themes.Compact.Components.TaskWidget.Instance().LoadApprovals(\'' + response[i].RefGuid + '\',\'' + ReminderId + '\',' + response[i].TaskId + ');event.stopPropagation();"><a class="pull-right TaskCollapse_Manage' + ReminderId + ' font-12" style="text-decoration: none;" data-toggle="collapse" > Manage <i class="text-dark fa fa-angle-down"></i>' +
  100. `</a></div></div></div></div>
  101. <div class="box collaps" id="TaskcollapseManageBtn_${ReminderId}">
  102. </div>
  103. </div>`;
  104. $(".UserdesignTaskDetails").append(html);
  105. }
  106. }
  107. else {
  108. let emptyhtml = `
  109. <div class="card-body text-center h-295p px-0">
  110. <div class="biz-custom-scrollbar" style="height: -webkit-fill-available;">
  111. <img src="tenants/themes/compact/imgs/task.png" onerror="ReloadImage(event)" class="h-125p w-125p">
  112. <p class="text-dark my-1 font-weight-600">You don't have any Tasks Right Now.</p>
  113. <p class="font-14">Will notify you when Something arrives'</p>
  114. </div>
  115. </div>
  116. `;
  117. $(".UserdesignTaskDetails").html(emptyhtml);
  118. }
  119. });
  120. });
  121. }
  122. LoadApprovals(RefId, ReminderId, TaskId) {
  123. var html = "";
  124. if ($(`#taskManageBtnWrap_${ReminderId}`).length) {
  125. $("#TaskcollapseManageBtn_" + ReminderId).collapse('toggle');
  126. return;
  127. }
  128. Unibase.Platform.Communications.Managers.TaskManager.Instance().getTaskByRefId(RefId, TaskId).then(function (response) {
  129. if (response.result != null) {
  130. var Approvedbtn = "Approve";
  131. var Rejectbtn = "Reject";
  132. var rejectonclick = 'Unibase.Themes.Compact.Components.Notification.Instance().SaveTaskReason(\'' + ReminderId + '\',' + response.result.TaskId + ',\'Reject\');';
  133. if (response.result.ConfirmKeyText != null && response.result.ConfirmKeyText != undefined && response.result.ConfirmKeyText != "") {
  134. Approvedbtn = response.result.ConfirmKeyText;
  135. }
  136. if (response.result.RejectKeyText != null && response.result.RejectKeyText != undefined && response.result.RejectKeyText != "") {
  137. Rejectbtn = response.result.RejectKeyText;
  138. }
  139. if (Number(response.result.RejectFormId) != 0) {
  140. rejectonclick = 'Unibase.Themes.Compact.Components.Notification.Instance().ChangeApprovalStatus(\'' + ReminderId + '\',' + response.result.TaskId + ',\'Reject\',' + response.result.RejectFormId + ',' + response.result.RejectFormPkId + ')';
  141. }
  142. html += `<div class="d-flex justify-content-between align-items-center mb-2 mt-1 ml-3 accordion-header" id="taskManageBtnWrap_${ReminderId}">` +
  143. `<div>` +
  144. '<button class="btn btn-outline-success taskbtn_conform mr-2 ml-auto px-4 py-1 font-12" onclick="Unibase.Themes.Compact.Components.Notification.Instance().ChangeApprovalStatus(\'' + ReminderId + '\',' + response.result.TaskId + ',\'Accept\',' + response.result.ApprovalFormId + ',' + response.result.ApprovalFormPkId + ')">' + Approvedbtn + '</button>' +
  145. '<button class="btn btn-outline-danger mr-2 ml-auto px-4 py-1 font-12 collapsed" data-toggle="collapse" href="#collapseReject_' + ReminderId + '">' + Rejectbtn + '</button></div>' +
  146. '<a class="py-1 font-12 text-danger pr-25 taskbtn_end" onclick = "Unibase.Themes.Compact.Components.Notification.Instance().confirmclosetask(' + TaskId + ',\'' + ReminderId + '\')">Close</a>' +
  147. '</div>' +
  148. '<div class="collapse py-1" id="collapseReject_' + ReminderId + '" data-parent="#TaskcollapseManageBtn_' + ReminderId + '">' +
  149. '<div class="d-flex justify-content-start mt-1 px-3">' +
  150. '<input type="text" id="Reason_' + TaskId + '" class="form-control focus_blue border-0 w-75 p-0 pl-1 mr-2" placeholder="Add Comment">' +
  151. '<a href="javascript:void(0);" class="btn-sm btn-success px-3 ml-2 p-0 d-flex flex-row align-items-center taskbtn_send" onclick="' + rejectonclick + '">' +
  152. '<i class="fa fa-send-o font-11"></i>' +
  153. '</a>' +
  154. '</div>' +
  155. '</div>';
  156. $(".taskDetailsCardBody #TaskcollapseManageBtn_" + ReminderId).html(html).collapse('show');
  157. $(".taskbtn_conform,.taskbtn_send").click(function () {
  158. $(this).parents(".task-list-item").remove();
  159. if ($(".UserdesignTaskDetails").html().length == 0) {
  160. let emptyhtml = `<div class="card-body text-center">
  161. <img src="tenants/themes/compact/imgs/task.png" onerror="ReloadImage(event)" class="h-125p w-125p">
  162. <p class="text-dark my-1 font-weight-600">You don't have any Tasks Right Now.</p>
  163. <p class="font-14">Will notify you when Something arrives'</p>
  164. </div>`;
  165. $(".UserdesignTaskDetails").html(emptyhtml);
  166. }
  167. });
  168. }
  169. });
  170. }
  171. static Instance() {
  172. if (this.instance === undefined)
  173. this.instance = new TaskWidget();
  174. return this.instance;
  175. }
  176. }
  177. Components.TaskWidget = TaskWidget;
  178. })(Components = Compact.Components || (Compact.Components = {}));
  179. })(Compact = Themes.Compact || (Themes.Compact = {}));
  180. })(Themes = Unibase.Themes || (Unibase.Themes = {}));
  181. })(Unibase || (Unibase = {}));