New UI layout
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.

list.index.js 9.6KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156
  1. /*Data loading start here*/
  2. import { getData, getDataObj } from "./base.js";
  3. function loadData() {
  4. getData('apis/v4/unibase/reminders/platform/getunreadreminders/ReminderType/6/PageSize/20').then(function (result) {
  5. let response = JSON.parse(result.result);
  6. if (response.length != 0) { // Notifcations
  7. let bdyUI = '<div class="accordion" id="notifi-list">';
  8. for (var i = 0; i < response.length; i++) {
  9. bdyUI += `<li class="item-li" id="${response[i].ReminderId}" data-ref="${response[i].RedirectOptions.RefId}" data-installedAppId="${response[i].RedirectOptions.InstalledAppId}" data-formId="${response[i].RedirectOptions.CreateFormId}">
  10. <div class="accordion-header" id="accHeader-${response[i].ReminderId}">
  11. <div class="notifiListItms accordion-button collapsed" data-bs-toggle="collapse" data-bs-target="#collapse-${response[i].ReminderId}" aria-expanded="false" aria-controls="collapseOne">
  12. <div class="row m-0 w-100 p-0 ">
  13. <div class="col-1 ">
  14. <input class="form-check-input mx-1" type="checkbox" value="" id="flexCheckDefault">
  15. </div>
  16. <div class="col-4 text-truncate">
  17. <span class="mx-1">${response[i].Subject}</span>
  18. </div>
  19. <div class="col-5 text-truncate">
  20. <span class="mx-1">${response[i].Message}</span>
  21. </div>
  22. <div class="col-2 text-truncate">
  23. <span class="mx-1">${formatLocal(response[i].ReminderDate)}</span>
  24. </div>
  25. </div>
  26. </div>
  27. <div id="collapse-${response[i].ReminderId}" class="accordion-collapse collapse" aria-labelledby="accHeader-${response[i].ReminderId}" data-bs-parent="#notifi-list">
  28. <div class="accordion-body" id="accBody${response[i].ReminderId}">
  29. </div>
  30. </div>
  31. </div>
  32. </li>`;
  33. }
  34. bdyUI += '</div>'
  35. $('.bdy-ul').append(bdyUI);
  36. $('.notifiListItms').on('click', function () {
  37. let _this = $(this).parents('.item-li');
  38. let obj = { "FromDate": "2022/11/30", "InstalledAppId": Number($(_this).attr('data-installedAppId')), "RecordId": Number($(_this).attr('data-ref')), "ToDate": "2022/11/30" };
  39. //let obj = { "FromDate": "2022/11/30", "InstalledAppId": 102530270000109, "RecordId": 102533490346298, "ToDate": "2022/11/30" };
  40. getDataObj('apis/v4/unibase/platform/widgets/getdefaultwidget', obj, true, "POST").then(function (response) {
  41. let res = JSON.parse(response.result),
  42. html = '';
  43. if (response.message == '200' && response.errors == null) {
  44. html = `<ul class="p-0 m-0 d-flex flex-row">`;
  45. if (res.AppConfigurations != null && res.AppConfigurations.length > 0) {
  46. for (var k = 0; k < res.AppConfigurations.length; k++) {
  47. html += `<li class="mx-2 btn-outline-primary btn btn-sm">${res.AppConfigurations[k].SettingName}</li>`;
  48. }
  49. } else {
  50. html += `<li class="p-1 my-0 alert alert-danger" role="alert">
  51. App Configurations Not configure
  52. </li>`;
  53. }
  54. if (res.Stages != null) {
  55. for (var x = 0; x < res.Stages.length; x++) {
  56. if (res.Stages[x].IsDefault) {
  57. html += `<li class="ml-auto">
  58. <a class="btn btn-sm btn-secondary dropdown-toggle" href="javascript:void(0)" role="button" data-bs-toggle="dropdown" aria-expanded="false">
  59. ${res.Stages[x].StageName}
  60. </a>
  61. <ul class="dropdown-menu">`;
  62. }
  63. }
  64. for (var i = 0; i < res.Stages.length; i++) {
  65. if (!res.Stages[i].IsDefault) {
  66. html += `<li><a class="dropdown-item" href="javascript:void(0);">${res.Stages[i].StageName}</a></li>`;
  67. }
  68. }
  69. html += '</ul></li>'
  70. } else {
  71. html += `<li class="p-1 my-0 alert alert-danger ml-auto" role="alert">
  72. No Stages
  73. </li>`;
  74. }
  75. html += `</ul>`;
  76. } else {
  77. html += `<div class="alert alert-danger" role="alert">
  78. ${response.message} ${response.errors}
  79. </div>`
  80. }
  81. $(_this).find('.accordion-body').html(html);
  82. });
  83. })
  84. }
  85. })
  86. getData('apis/v4/unibase/reminders/platform/getunreadreminders/ReminderType/1/PageSize/20').then(function (tskResp) {
  87. let response = JSON.parse(tskResp.result)
  88. if (response.length != 0) {
  89. let _tskhtml = '<div class="accordion" id="task-list">';
  90. for (var i = 0; i < response.length; i++) {
  91. _tskhtml += `<li class="item-li" id="${response[i].ReminderId}" data-ref="${response[i].RedirectOptions.RefId}" data-installedAppId="${response[i].RedirectOptions.InstalledAppId}" data-formId="${response[i].RedirectOptions.CreateFormId}">
  92. <div class="accordion-header" id="accHeader-${response[i].ReminderId}">
  93. <div class="tskListItms accordion-button collapsed" data-bs-toggle="collapse" data-bs-target="#collapse-${response[i].ReminderId}" aria-expanded="false" aria-controls="collapseOne">
  94. <div class="row m-0 w-100 p-0 ">
  95. <div class="col-1 ">
  96. <input class="form-check-input mx-1" type="checkbox" value="" id="flexCheckDefault">
  97. </div>
  98. <div class="col-4 text-truncate">
  99. <span class="mx-1">${response[i].Subject}</span>
  100. </div>
  101. <div class="col-5 text-truncate">
  102. <span class="mx-1">${response[i].Message}</span>
  103. </div>
  104. <div class="col-2 text-truncate">
  105. <span class="mx-1">${formatLocal(response[i].ReminderDate)}</span>
  106. </div>
  107. </div>
  108. </div>
  109. <div id="collapse-${response[i].ReminderId}" class="accordion-collapse collapse" aria-labelledby="accHeader-${response[i].ReminderId}" data-bs-parent="#notifi-list">
  110. <div class="accordion-body" id="accBody${response[i].ReminderId}">
  111. <ul class="p-0 m-0 d-flex flex-row justify-content-between">
  112. <li class="mx-2 btn-outline-success btn btn-sm">Confirm</li>
  113. <li class="mx-2 btn-outline-danger btn btn-sm">Reject</li>
  114. <li class="mx-2 btn-outline-primary btn btn-sm">Close</li>
  115. </ul>
  116. </div>
  117. </div>
  118. </div>
  119. </li>`;
  120. }
  121. _tskhtml += '</div>'
  122. $('.bdy-ul').append(_tskhtml);
  123. }
  124. });
  125. }
  126. export function initListIndex() {
  127. let _userInfo = atob(document.cookie.split('=')[1]);
  128. let userInfo = ' JSON.parse(_userInfo).result';
  129. let sessionId = 'userInfo.sessionId';
  130. let usrinfoHTML = `<li><a class="dropdown-item" href="javascript:void(0);">${userInfo.name}</a></li>
  131. <li><a class="dropdown-item" href="javascript:void(0);">Cloud Settings</a></li>
  132. <li><a class="dropdown-item" href="javascript:void(0);">Help</a></li>
  133. <li><a class="dropdown-item" href="javascript:void(0);">Logoff</a></li>`;
  134. $('.icn-circle').text(userInfo?.name?.charAt(0)?.toUpperCase())
  135. $('.uindtls').html(usrinfoHTML)
  136. // List Page loading
  137. /*Data loading start here*/
  138. $('.mnNvIcn').click(function () {
  139. $('.lft-nav-bar').toggleClass('lft-nav-bar-Wrap');
  140. $('.ctr-lst-pge').toggleClass('lft-nav-bar-Wrap');
  141. });
  142. loadData();
  143. }