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 8.9KB

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