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.

executedactions.widget.js 30KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425
  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 Platform;
  13. (function (Platform) {
  14. let Automation;
  15. (function (Automation) {
  16. let Components;
  17. (function (Components) {
  18. class ExecutedActions extends Platform.Core.BaseComponent {
  19. constructor() {
  20. super(...arguments);
  21. this.page_index = 0;
  22. this.page_size = 10;
  23. this.count = 0;
  24. }
  25. cssFiles() {
  26. return [];
  27. }
  28. jsFiles() {
  29. return ["platform/automation/managers/rulemanager.js", "platform/automation/requests/executedaction.js", "apps/communications/managers/sms/smsmanager.js", "libs/jquery/pagination/jquery.pagination.js"];
  30. }
  31. html(id, containerid) {
  32. let html = `<form id="frmUnibase_ActionsData" data-validate="parsley" data-isdynamic="false">
  33. <div class="card bg-light">
  34. <div class="b-b bg-white card-header header">
  35. <span class="pull-right">
  36. <a class="btn_actionsdata_close pull-right" href="javascript:;">
  37. <i class="fa fa-close"></i>
  38. </a>
  39. </span>
  40. </div>
  41. <div class="card-body scrollable" style="overflow-y: scroll;">
  42. <div class="row">
  43. <table class="table">
  44. <thead>
  45. <tr id="Reminders_Row" class="bg-primary">
  46. <th>S.No</th>
  47. <th>Recipient</th>
  48. <th>Subject</th>
  49. </tr>
  50. </thead>
  51. <tbody class="ActionsDatalist_body"></tbody>
  52. </table>
  53. </div>
  54. </div>
  55. </div>
  56. </form>`;
  57. return html;
  58. }
  59. load(id, containerid, callback) {
  60. $(".btn_actionsdata_close").click(function () {
  61. $('#' + containerid).modal('hide');
  62. $('#' + containerid).remove();
  63. });
  64. }
  65. LoadFunctions() {
  66. $("#date_FromDate").daterangepicker({
  67. autoUpdateInput: true,
  68. timePicker: false,
  69. timePicker24Hour: false,
  70. locale: {
  71. format: 'DD/MM/YYYY',
  72. },
  73. singleDatePicker: true,
  74. showDropdowns: true,
  75. minYear: 1901,
  76. maxDate: new Date(2050, 11, 31)
  77. });
  78. $("#date_ToDate").daterangepicker({
  79. autoUpdateInput: false,
  80. timePicker: false,
  81. timePicker24Hour: false,
  82. locale: {
  83. format: 'DD/MM/YYYY',
  84. },
  85. singleDatePicker: true,
  86. showDropdowns: true,
  87. minYear: 1901,
  88. maxDate: new Date(2050, 11, 31)
  89. });
  90. $('#date_FromDate').on('apply.daterangepicker', function (ev, picker) {
  91. $('#div_FromDate').addClass('floating-label-form-group-with-value');
  92. });
  93. $('#date_ToDate').on('apply.daterangepicker', function (ev, picker) {
  94. $('#div_ToDate').addClass('floating-label-form-group-with-value');
  95. });
  96. $("#Apply_Conditions").click(function () {
  97. $(".ExecutedActionslist").html("");
  98. let obj = new Unibase.Platform.Automation.Requests.ExecutedAction();
  99. let FromDate = Unibase.Platform.Helpers.DateTimeHelper.Instance().formatServerDateTime($("#date_FromDate").val());
  100. let From_Date = new Date(FromDate);
  101. let ToDate = Unibase.Platform.Helpers.DateTimeHelper.Instance().formatServerDateTime($("#date_ToDate").val());
  102. let To_Date = new Date(ToDate);
  103. let zeroactions = $('#chkZeroActions').is(':checked');
  104. let ActionName = $("#txtAutoComplete_Actions option:selected").text();
  105. Unibase.Platform.Automation.Components.ExecutedActions.Instance().page_index = 0;
  106. obj.StartDate = From_Date;
  107. obj.EndDate = To_Date;
  108. if (ActionName != "Select") {
  109. obj.ActionTypeName = ActionName;
  110. }
  111. obj.ZeroActions = zeroactions;
  112. Unibase.Platform.Automation.Components.ExecutedActions.Instance().GetExecutedActions(obj);
  113. });
  114. }
  115. init(containerid) {
  116. this.render(containerid).then(function () {
  117. Unibase.Platform.Automation.Components.ExecutedActions.Instance().LoadFunctions();
  118. Unibase.Platform.Automation.Components.ExecutedActions.Instance().loadJsFiles();
  119. });
  120. }
  121. loadJsFiles() {
  122. var jsfiles = Unibase.Platform.Automation.Components.ExecutedActions.Instance().jsFiles();
  123. Unibase.Platform.Helpers.FileCacheHelper.Instance().loadJsFiles(jsfiles, function () {
  124. Unibase.Platform.Automation.Components.ExecutedActions.Instance().LoadActions();
  125. let obj = new Unibase.Platform.Automation.Requests.ExecutedAction();
  126. var date = new Date();
  127. let fromdate = Unibase.Platform.Helpers.DateTimeHelper.Instance().serverDateformat(date);
  128. let todate = Unibase.Platform.Helpers.DateTimeHelper.Instance().serverDateformat(date) + " 23:59";
  129. $("#date_FromDate").val(fromdate);
  130. $("#date_ToDate").val(todate);
  131. let from_date = Unibase.Platform.Helpers.DateTimeHelper.Instance().formatServerDateTime($("#date_FromDate").val());
  132. let to_date = Unibase.Platform.Helpers.DateTimeHelper.Instance().formatServerDateTime($("#date_ToDate").val());
  133. let From_Date = new Date(from_date);
  134. let To_Date = new Date(to_date);
  135. obj.StartDate = From_Date;
  136. obj.EndDate = To_Date;
  137. obj.ActionTypeName = "";
  138. obj.ZeroActions = false;
  139. Unibase.Platform.Automation.Components.ExecutedActions.Instance().GetExecutedActions(obj);
  140. });
  141. }
  142. render(containerid) {
  143. return __awaiter(this, void 0, void 0, function* () {
  144. $("." + containerid).empty();
  145. let html = `<form id="frmUnibase_ExecutedActions" data-validate="parsley" data-isdynamic="false">
  146. <div class="card bg-light">
  147. <div class="b-b bg-white card-header">
  148. <strong class="text-dark title" id="">Executed Actions</strong>
  149. <span class="badge badge-light badge-pill badge-outline span_executedactions_count">0</span>
  150. <span class="pull-right" id="executedactions_angle">
  151. <a class="btn_executedactions_angle" href="javascript:;" onclick="Unibase.Platform.Automation.Components.ExecutedActions.Instance().ToggleExecutedActions()">
  152. <i class="fa fa-angle-down"></i>
  153. <i class="fa fa-angle-up hidden"></i>
  154. </a>
  155. </span>
  156. </div>
  157. <div class="card-body Conditions hidden">
  158. <div class="row">
  159. <div class="col-sm-3">
  160. <div class="floating-label-form-group" id="div_FromDate">
  161. <label for="lbl" id="lbl_FromDate">FromDate</label>
  162. <div class="input-group">
  163. <input type="text" id="date_FromDate" class="form-control type-control datepicker-input hasDatepicker value-control floating-label-control" placeholder="FromDate" data-placeholder="dd/mm/yyyy" data-label="FromDate">
  164. <span class="input-group-addon mt-10"><i class="fa fa-calendar"></i></span>
  165. <input type="hidden" id="hf_FromDate" />
  166. </div>
  167. </div>
  168. </div>
  169. <div class="col-sm-3">
  170. <div class="floating-label-form-group" id="div_ToDate">
  171. <label for="lbl" id="lbl_ToDate">ToDate</label>
  172. <div class="input-group">
  173. <input type="text" id="date_ToDate" class="form-control type-control datepicker-input hasDatepicker value-control floating-label-control" placeholder="ToDate" data-placeholder="dd/mm/yyyy" data-label="ToDate">
  174. <span class="input-group-addon mt-10"><i class="fa fa-calendar"></i></span>
  175. <input type="hidden" id="hf_ToDate" />
  176. </div>
  177. </div>
  178. </div>
  179. <div class="col-sm-2">
  180. <div class="input-group mt-30">
  181. <select id="txtAutoComplete_Actions" class="form-control text-control" style="width:100%;" placeholder="User" data-placeholder="User" data-label="" data-istagselect="true"></select>
  182. <input type="hidden" id="hf_Autocomplete_Actions" class="form-control value-control" data-isdynamic="true" />
  183. </div>
  184. </div>
  185. <div class="col-sm-2">
  186. <div class="custom-control custom-checkbox divEnablePieces checkbox-primary mt-40">
  187. <input type="checkbox" class="custom-control-input" id="chkZeroActions">
  188. <label class="custom-control-label" for="chkZeroActions">Zero Actions</label>&nbsp
  189. </div>
  190. </div>
  191. <div class="col-sm-2">
  192. <button type="button" id="Apply_Conditions" class="btn btn-success mt-30">Apply</button>
  193. </div>
  194. </div>
  195. </div>
  196. <div class="card-body scrollable" style="overflow-y: scroll;">
  197. <div class="row">
  198. <table class="table">
  199. <thead>
  200. <tr class="bg-primary">
  201. <th>Action Name</th>
  202. <th>Action Type</th>
  203. <th>Start Date</th>
  204. <th>End date</th>
  205. <th>Count</th>
  206. </tr>
  207. </thead>
  208. <tbody class="ExecutedActionslist_body"></tbody>
  209. </table>
  210. </div>
  211. </div>
  212. <div class="bg-white card-footer footer" id="ExecutedActionsFooter">
  213. <div class="Div_pagination row col-sm-12 mt-15">
  214. <div class="col-sm-4" id="list_count">
  215. <span id="TotalRecords" class="text-muted">Total : <span id="lblItemTotalRecords" class="lblItemTotalRecords mr-30"></span></span>
  216. </div>
  217. <div class="col-sm-8">
  218. <div id="divpagination" class="pagination custom-pagination pagination-rounded pull-right"></div>
  219. </div>
  220. </div>
  221. </div>
  222. </div>
  223. </form>`;
  224. return yield $("." + containerid).append(html);
  225. });
  226. }
  227. ToggleExecutedActions() {
  228. $("#frmUnibase_ExecutedActions").find(".fa-angle-down").toggleClass("hidden");
  229. $("#frmUnibase_ExecutedActions").find(".fa-angle-up").toggleClass("hidden");
  230. $("#frmUnibase_ExecutedActions").find(".Conditions").toggleClass("hidden");
  231. }
  232. GetExecutedActionsCount() {
  233. Unibase.Platform.Automation.Managers.RuleManager.Instance().ExecutedActions().then(function (response) {
  234. if (response.result.length > 0) {
  235. $(".span_executedactions_count").text(response.result.length);
  236. }
  237. });
  238. }
  239. GetExecutedActions(obj) {
  240. let pageindex = Unibase.Platform.Automation.Components.ExecutedActions.Instance().page_index;
  241. let pagesize = Unibase.Platform.Automation.Components.ExecutedActions.Instance().page_size;
  242. obj.PageIndex = Unibase.Platform.Automation.Components.ExecutedActions.Instance().page_index;
  243. obj.PageRows = Unibase.Platform.Automation.Components.ExecutedActions.Instance().page_size;
  244. var MultiSelectList = pageindex;
  245. if (pageindex < 1) {
  246. MultiSelectList = 0;
  247. }
  248. else {
  249. MultiSelectList = pageindex;
  250. }
  251. Unibase.Platform.Automation.Managers.RuleManager.Instance().ExecutedActionsList(obj).then(function (response) {
  252. if (response.result.length > 0) {
  253. $('.ExecutedActionslist_body').html('<tr class="ExecutedActionslist hidden"></tr>');
  254. var Count = Unibase.Platform.Automation.Components.ExecutedActions.Instance().count;
  255. var html = "";
  256. var ExecutedActionss = response.result;
  257. for (var i = 0; i < ExecutedActionss.length; i++) {
  258. var ExecutedActions = ExecutedActionss[i];
  259. var ExeActionName = ExecutedActions.RuleActionName;
  260. var ActionType = ExecutedActions.ActionName;
  261. var StartDate = Unibase.Platform.Helpers.DateTimeHelper.Instance().FormatDateTimeWithoutSeconds(ExecutedActions.StartDate);
  262. var EndDate = Unibase.Platform.Helpers.DateTimeHelper.Instance().FormatDateTimeWithoutSeconds(ExecutedActions.EndDate);
  263. var actionname = ExecutedActions.ActionName.replace("Send", "");
  264. html = '<tr><td>' + ExeActionName + '</td><td>' + ActionType + '</td><td>' + StartDate + '</td><td>' + EndDate + '</td><td><a href="javascript:;" onclick="Unibase.Platform.Automation.Components.ExecutedActions.Instance().LoadPopoupDetails(\'' + ExecutedActions.ActionName + '\',\'' + ExecutedActions.ExecutedActionId + '\');">' + ExecutedActions.ReminderCount + " " + actionname + 's</a></td></tr>';
  265. $(".ExecutedActionslist:last").before(html);
  266. }
  267. if (ExecutedActionss.length <= 0) {
  268. $(".Div_pagination").hide();
  269. }
  270. else {
  271. $(".Div_pagination").show();
  272. var totalCount = ExecutedActionss[0].TotalRecords;
  273. var startingValue = 0;
  274. var _count = 0;
  275. var t = (Unibase.Platform.Automation.Components.ExecutedActions.Instance().page_index + 1) * 10;
  276. if (totalCount > 0) {
  277. startingValue = 1;
  278. _count = totalCount;
  279. }
  280. if (totalCount > t)
  281. _count = t;
  282. if (Unibase.Platform.Automation.Components.ExecutedActions.Instance().page_index > 0) {
  283. startingValue += t - 10;
  284. }
  285. var result = startingValue + " - " + _count + " of " + totalCount;
  286. $(".Div_pagination").show();
  287. $(".lblItemTotalRecords").text(result);
  288. var pageEle = $(".Div_pagination").find('#divpagination');
  289. Unibase.Platform.Helpers.FileCacheHelper.Instance().loadJsFile('libs/jquery/pagination/jquery.pagination.js', function () {
  290. var ele;
  291. ele = $(".Div_pagination").find('#divpagination');
  292. ele.pagination(ExecutedActionss[0].TotalRecords, 10, {
  293. current_page: Unibase.Platform.Automation.Components.ExecutedActions.Instance().page_index,
  294. callback: function (page, component) {
  295. Unibase.Platform.Automation.Components.ExecutedActions.Instance().page_index = page;
  296. Unibase.Platform.Automation.Components.ExecutedActions.Instance().GetExecutedActions(obj);
  297. }
  298. });
  299. });
  300. }
  301. Unibase.Platform.Automation.Components.ExecutedActions.Instance().page_index = 0;
  302. $(".span_executedactions_count").text(ExecutedActionss[0].TotalRecords);
  303. }
  304. else {
  305. $(".ExecutedActionslist_body").html("No Records Found");
  306. $(".span_executedactions_count").text("0");
  307. }
  308. });
  309. }
  310. LoadPopoupDetails(type, id) {
  311. Unibase.Platform.Helpers.NavigationHelper.Instance().popup(id, "", Unibase.Platform.Automation.Components.ExecutedActions.Instance(), null, Platform.Helpers.Size.DockLeft);
  312. if (type == "Send Notification") {
  313. Unibase.Platform.Automation.Components.ExecutedActions.Instance().LoadReminderDetails(id);
  314. }
  315. else if (type == "Send Sms") {
  316. Unibase.Platform.Automation.Components.ExecutedActions.Instance().LoadSMSDetails(id);
  317. }
  318. else if (type == "Send Email") {
  319. Unibase.Platform.Automation.Components.ExecutedActions.Instance().LoadMailDetails(id);
  320. }
  321. else if (type == "Send Task") {
  322. Unibase.Platform.Automation.Components.ExecutedActions.Instance().LoadTaskDetails(id);
  323. }
  324. else {
  325. return false;
  326. }
  327. }
  328. LoadActions() {
  329. Unibase.Platform.Automation.Managers.RuleManager.Instance().getActions().then(function (response) {
  330. let cmbActions = document.getElementById('txtAutoComplete_Actions');
  331. $('#txtAutoComplete_Actions').empty();
  332. var defaultOpt1 = document.createElement("option");
  333. defaultOpt1.text = "Select";
  334. defaultOpt1.value = "";
  335. cmbActions.appendChild(defaultOpt1);
  336. for (let i = 0; i <= response.length - 1; i++) {
  337. var opt = document.createElement("option");
  338. opt.text = response[i].ActionName;
  339. opt.value = response[i].ActionId.toString();
  340. cmbActions.appendChild(opt);
  341. }
  342. });
  343. }
  344. LoadReminderDetails(id) {
  345. Unibase.Platform.Communications.Managers.ReminderManager.Instance().getRemindersWithType(id, false).then(function (response) {
  346. if (response.result.length > 0) {
  347. $('.ActionsDatalist_body').html('<tr class="ActionsDatalist_body hidden"></tr>');
  348. var html = "";
  349. var Reminders = response.result;
  350. for (var i = 0; i < Reminders.length; i++) {
  351. var Reminder = Reminders[i];
  352. var sno = i + 1;
  353. html = '<tr class="Notification-item"><td>' + sno + '</td><td>' + Reminder.ToUserName + '</td><td>' + Reminder.Message + '</td></tr>';
  354. $(".ActionsDatalist_body:last").before(html);
  355. }
  356. }
  357. });
  358. }
  359. LoadSMSDetails(id) {
  360. Unibase.Apps.Communications.Managers.SmsManager.Instance().getSmsByExecutedActionId(id).then(function (response) {
  361. if (response.result.length > 0) {
  362. var thhtml = "<th>Phone Number</th><th>Status</th><th class='hidden'>Delivery Report</th>";
  363. $("#Reminders_Row").append(thhtml);
  364. $('.ActionsDatalist_body').html('<tr class="ActionsDatalist_body hidden"></tr>');
  365. var html = "";
  366. var SmsResponse = response.result;
  367. for (var i = 0; i < SmsResponse.length; i++) {
  368. var Sms = SmsResponse[i];
  369. var sno = i + 1;
  370. html = '<tr class="Sms-item"><td>' + sno + '</td><td>' + Sms.ToUserName + '</td><td>' + Sms.SmsBody + '</td><td>' + Sms.ToPhoneNumber + '</td><td>' + Sms.RecipientStatus + '</td><td class="hidden">' + Sms.DeliveryReport + '</td></tr>';
  371. $(".ActionsDatalist_body:last").before(html);
  372. }
  373. }
  374. });
  375. }
  376. LoadMailDetails(id) {
  377. this.fileCacheHelper.loadJsFile("apps/communications/managers/mails/mailmanager.js", function () {
  378. Unibase.Apps.Communications.Managers.MailManager.Instance().getMailByExecutedActionId(id).then(function (response) {
  379. var html = " ";
  380. html = "<tr><th>S.No.</th><th>Recipient</th><th>Mail Address</th><th>Mail Subject</th></tr>";
  381. $(".Reminders-head").html(html);
  382. $(".Reminders-body").html('<tr class="Notification-item hidden"></tr>');
  383. var record = 0;
  384. for (var i = 0; i < response.result.length; i++) {
  385. var data = response.result[i];
  386. if (data.ToEmailAddress != null && data.ToEmailAddress != "" && data.ToEmailAddress != undefined) {
  387. var toemailaddress = data.ToEmailAddress.split(",");
  388. for (let c = 0; c < toemailaddress.length; c++) {
  389. record = record + 1;
  390. html = '<tr class="Notification-item"><td>' + record + '</td><td>' + toemailaddress[c] + '</td><td class="text-truncate w-200">' + data.MailBody + '</td></tr>';
  391. $(".ActionsDatalist_body:last").append(html);
  392. }
  393. }
  394. }
  395. });
  396. });
  397. }
  398. LoadTaskDetails(id) {
  399. Unibase.Platform.Communications.Managers.ReminderManager.Instance().getRemindersWithType(id, true).then(function (response) {
  400. if (response.result.length > 0) {
  401. $('.ActionsDatalist_body').html('<tr class="ActionsDatalist_body hidden"></tr>');
  402. var html = "";
  403. var Reminders = response.result;
  404. for (var i = 0; i < Reminders.length; i++) {
  405. var Reminder = Reminders[i];
  406. var sno = i + 1;
  407. html = '<tr class="Notification-item"><td>' + sno + '</td><td>' + Reminder.ToUserName + '</td><td>' + Reminder.Message + '</td></tr>';
  408. $(".ActionsDatalist_body:last").before(html);
  409. }
  410. }
  411. });
  412. }
  413. static Instance() {
  414. if (this.instance === undefined) {
  415. this.instance = new ExecutedActions();
  416. }
  417. return this.instance;
  418. }
  419. }
  420. Components.ExecutedActions = ExecutedActions;
  421. })(Components = Automation.Components || (Automation.Components = {}));
  422. })(Automation = Platform.Automation || (Platform.Automation = {}));
  423. })(Platform = Unibase.Platform || (Unibase.Platform = {}));
  424. })(Unibase || (Unibase = {}));