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.

dataapilog.js 21KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239
  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 serviceIntegratorIds = 0;
  11. var Unibase;
  12. (function (Unibase) {
  13. let Platform;
  14. (function (Platform) {
  15. let DataApis;
  16. (function (DataApis) {
  17. let Components;
  18. (function (Components) {
  19. class DataApiLog extends Platform.Core.BaseComponent {
  20. constructor() {
  21. super();
  22. this.pageIndex = 0;
  23. }
  24. jsFiles() {
  25. return ["platform/integrations/managers/integrationmanager.js", "platform/dataapis/managers/dataapimanager.js", "libs/jquery/pagination/jquery.pagination.js"];
  26. }
  27. cssFiles() {
  28. return [];
  29. }
  30. html(id, containerid) {
  31. return '<div id="Unibase_dataapilog" default="" data-validate="parsley" data-isdynamic="false"><div class="b-b bg-white header log-Header"><strong class="text-dark">Data Api Log</strong><div class="b-b bg-white d-flex flex-column" id="div_Listsearch"><label class="mb-2">Remote PkId</label><input type="text" value="" data-isdynamic="false" placeholder="Search" data-placeholder="Search" data-label="Search" id="txtSearchItem"></div><div id="log_item" class="flex-column row"><label >Status :</label><div class="m-1"><select id="txtAutocomplete_log" placeholder="Select" data-placeholder="Select" data-label="Log"><option class="primary-account font-10" value="1">All</option><option class="secondary-account font-10" value="0">Success</option><option class="secondary-account font-10" value="2">Failed</option></select><input type="hidden" value="0" id="hfAutocomplete_log"></div></div><div class="d-flex flex-column" id="div_fromDate" data-dateinitialized="false"><label class="mt-5 mb-0">From Date :</label><div class="align-items-center d-flex"><input type="date" id="txt_fromDate" min="1980-01-01" class="form-control floating-label-control datepicker-input pl-0 w-150p" data-date-format="dd/MM/yyyy" data-isdynamic="false" placeholder="From Date *" data-placeholder="dd/mm/yyyy" data-label="From Date"><div id="clr_fdate"><i class="fa fa-close"></i></div></div><input type="hidden" id="hf_fromDate"></div><div class="d-flex flex-column" id="div_toDate"><label class="mt-5 mb-0">To Date :</label><div class="floating-label-from-group align-items-center d-flex"><input type="date" id="txt_toDate" class="form-control floating-label-control datepicker-input pl-0 w-150p" data-date-format="dd/MM/yyyy" data-isdynamic="false" placeholder="To Date *" data-placeholder="dd/mm/yyyy" data-label="To Date"><div id="clr_tdate"><i class="fa fa-close"></i></div></div><input type="hidden" id="hf_toDate"></div><a href="javascript:;" id="btnApply" class="btn btn-primary btn-sm">Apply</a></div><div data-simplebar class="simple-scroll-bar scrollable sync-log-body"><div id="Unibase_ValidationSummary" class="clear"></div><div class="row col-sm-12"><strong class="col-sm-4">Date</strong><strong class="col-sm-4">Remote PkId</strong><strong class="col-sm-4">Status</strong></div><div><ul class="divlog list-group"></ul><span id="totalcount">Total Count :<a href="javascript:; "id="getcount"></a></span></div><div id = "ItemsListPagination" class="pagination custom-pagination pagination-rounded pull-right"> </div></div><div id="div_LogFooter" class="bg-white footer"><a class="btn btn-light btn-sm btn-center mr-auto btn-close" id="btnClose">Close</a></div></div>';
  32. }
  33. init(serviceIntegratorId) {
  34. return __awaiter(this, void 0, void 0, function* () {
  35. Unibase.Platform.DataApis.Components.DataApiLog.serviceIntegratorId = serviceIntegratorId;
  36. this.navigationHelper.popup(0, '', Unibase.Platform.DataApis.Components.DataApiLog.Instance(), null, Platform.Helpers.Size.Large);
  37. Unibase.Platform.DataApis.Components.DataApiLog.Instance().loadApiLog(serviceIntegratorId);
  38. serviceIntegratorIds = serviceIntegratorId;
  39. });
  40. }
  41. load(id, containerid, callback) {
  42. $("#btnApply").click(function () {
  43. var ids = serviceIntegratorIds;
  44. Unibase.Platform.DataApis.Components.DataApiLog.Instance().loadApiLog(ids);
  45. });
  46. $("#clr_fdate").click(function () {
  47. $("#txt_fromDate").val("");
  48. });
  49. $("#clr_tdate").click(function () {
  50. $("#txt_toDate").val("");
  51. });
  52. var timer;
  53. $("#txtSearchItem").on('keyup', () => {
  54. var delay = 1000;
  55. window.clearTimeout(timer);
  56. timer = window.setTimeout(() => {
  57. var searchtext = $("#txtSearchItem").val();
  58. if (searchtext != "") {
  59. var ids = serviceIntegratorIds;
  60. Unibase.Platform.DataApis.Components.DataApiLog.Instance().loadApiLog(ids);
  61. }
  62. else {
  63. var ids = serviceIntegratorIds;
  64. Unibase.Platform.DataApis.Components.DataApiLog.Instance().loadApiLog(ids);
  65. }
  66. }, delay);
  67. });
  68. }
  69. loadForm(FormId, Pk_Value, AppConfigurationId, Callback, ElementId) {
  70. }
  71. loadPagination(totalRecords, serviceIntegratorId) {
  72. var instance = this;
  73. let elem = $('#ItemsListPagination');
  74. elem.pagination(totalRecords, 20, {
  75. items_per_page: 20,
  76. callback: function (page, component) {
  77. instance.pageIndex = page;
  78. instance.loadApiLog(serviceIntegratorId);
  79. }, current_page: instance.pageIndex
  80. });
  81. }
  82. loadApiLog(serviceIntegratorId) {
  83. let datetimeIns = Unibase.Platform.Helpers.DateTimeHelper.Instance();
  84. var instance = this;
  85. var page = instance.pageIndex;
  86. var rows = 20;
  87. var fromdate = $("#txt_fromDate").val();
  88. var todate = $("#txt_toDate").val();
  89. var searchtext = $("#txtSearchItem").val();
  90. var statuscode = $("#txtAutocomplete_log").val();
  91. var postData = {
  92. Searchtext: searchtext,
  93. RefId: serviceIntegratorId,
  94. Page: page,
  95. Rows: rows,
  96. FromDate: fromdate,
  97. ToDate: todate,
  98. StatusCode: statuscode,
  99. };
  100. if (($("#txt_fromDate").val() == "" && $("#txt_toDate").val() != "" && $("#txt_toDate").val() != undefined)) {
  101. MessageHelper.Instance().showError("Please select FromDate", "Unibase_ValidationSummary");
  102. }
  103. else if ($("#txt_fromDate").val() != "" && $("#txt_fromDate").val() != undefined && $("#txt_toDate").val() == "") {
  104. MessageHelper.Instance().showError("Please select ToDate", "Unibase_ValidationSummary");
  105. }
  106. else if (($("#txt_fromDate").val() > $("#txt_toDate").val())) {
  107. MessageHelper.Instance().showError("ToDate is lessthan FromDate", "Unibase_ValidationSummary");
  108. }
  109. else {
  110. Unibase.Platform.DataApis.Manangers.DataApiManager.Instance().getApiLogItemsfilter(postData).then(function (response) {
  111. var data = JSON.parse(response.result);
  112. response.result = JSON.parse(response.result);
  113. if (response.result.length == 0) {
  114. $(".divlog").hide();
  115. $("#totalcount").hide();
  116. }
  117. else {
  118. $(".divlog").show();
  119. $("#totalcount").show();
  120. var html = "";
  121. for (var i = 0; i < response.result.length; i++) {
  122. var data = response.result[i];
  123. var date = Unibase.Platform.Helpers.DateTimeHelper.Instance().FormatDateTime(data.createddate);
  124. html += '<li class="list-group-item apilog-item group-item_' + data.ApiLogItemId + '">' +
  125. '<div class="">' +
  126. '<a href="#sync-' + data.ApiLogItemId + '" data-parent="divTasks" data-toggle="collapse" class="accordion-toggle collapsed" onclick="javascript:Unibase.Platform.DataApis.Components.DataApiLog.Instance().loadApiLogItem(\'' + data.ApiLogItemId + '\');"> ' +
  127. '<i class="indicator fa fa-chevron-right m-t-xs pull-right btn"></i>' +
  128. '<div class="row"><span class="col-sm-4">' + date + '</span> <span class="col-sm-4">' + data.RemotePkId + '</span> <span class="col-sm-4">' + data.Status + '</span>' +
  129. '</div>' +
  130. '</a>' +
  131. '<div class="panel-collapse collapse" id="sync-' + data.ApiLogItemId + '" style="height: 0px;">' +
  132. '<ul id="sync-list_' + data.ApiLogItemId + '" class="list-group no-radius m-b-none list-group-lg no-border m-t sync-list">';
  133. html += '</ul></div></div></li>';
  134. }
  135. }
  136. if (response.totalRecords > 20) {
  137. $("#ItemsListPagination").removeClass("hidden");
  138. instance.loadPagination(response.totalRecords, serviceIntegratorId);
  139. }
  140. else {
  141. $("#ItemsListPagination").addClass("hidden");
  142. }
  143. $('#getcount').text(response.totalRecords);
  144. $("#lblintegratelogRecords").text(response.result.length);
  145. $(".divlog").html(html);
  146. });
  147. }
  148. }
  149. loadApiLogItem(apiLogItemId) {
  150. let instance = this;
  151. Unibase.Platform.DataApis.Manangers.DataApiManager.Instance().getApiLogItem(apiLogItemId).then(function (response) {
  152. var date = Unibase.Platform.Helpers.DateTimeHelper.Instance().FormatDateTime(response.result.createddate);
  153. var innerhtml = '<li class="list-group-item bg-white border-0 apilog-item_' + response.result.ApiLogItemId + ' " style="background-color:unset !important">' +
  154. '<div class="row"><strong class="col-sm-2">Api Name</strong><span style="word-wrap: break-word;" class="col-sm-10">' + response.result.ApiName + '</span></div>' +
  155. '<div class="row" style="overflow-wrap: break-word;"><strong class="col-sm-2">Request Url</strong><span style="word-wrap: break-word;" class="col-sm-10">' + response.result.RequestUrl + '</span></div>' +
  156. '<div class="row" style="overflow-wrap: break-word;"><strong class="col-sm-2">Remote PkId</strong><span style="word-wrap: break-word;" class="col-sm-10">' + response.result.RemotePkId + '</span></div>' +
  157. '<div class="row" style="overflow-wrap: break-word;"><strong class="col-sm-2">Pk Id</strong><span style="word-wrap: break-word;" class="col-sm-10">' + response.result.PkId + '</span></div>' +
  158. '<div class="text-black row" style="overflow-wrap: break-word;"><strong class="col-sm-2">Status</strong><span class="col-sm-10">' + response.result.Status + '</span></div>' +
  159. '<div class="row" style="overflow-wrap: break-word;"><strong class="col-sm-2">Message</strong><span style="word-wrap: break-word;" class="col-sm-10">' + response.result.ExceptionMessage + '</span></div>' +
  160. '<div class="row" style="overflow-wrap: break-word;"><strong class="col-sm-2">Created Date</strong><span class="col-sm-10">' + date + '</span></div>' +
  161. '<div class="row" style="overflow-wrap: break-word;"><strong class="col-sm-2">Inner Exception</strong><span style="word-wrap: break-word;" class="col-sm-10">' + response.result.InnerException + '</span></div>' +
  162. '<div class="row" style="overflow-wrap: break-word;"><strong class="col-sm-2">Stack Trace</strong><span style="word-wrap: break-word;" class="col-sm-10 d-flex flex-column"><span data-integrations="4lines">' + response.result.StackTrace + '</span>';
  163. if (response.result.StackTrace != null && response.result.StackTrace != '' && response.result.StackTrace != undefined) {
  164. innerhtml += `<span class="font-14 font-weight-400 py-1" data-copy="true" data-copy2stacktrace="stacktrace"><span class="d-none" data-copy2stacktrace="true">${response.result.StackTrace}</span><span title='${response.result.StackTrace}'><i class="las la-copy"></i></span></span>`;
  165. }
  166. if (response.result.Headers != null && response.result.Headers != '' && response.result.Headers != undefined) {
  167. innerhtml += '</span></div > ' +
  168. '<div class="row" style="overflow-wrap: break-word;"><strong class="col-sm-2">Request Header</strong><span style="word-wrap: break-word;" class="col-sm-10"><span data-integrations="4lines">' + response.result.Headers + '</span>';
  169. if (response.result.Headers != null && response.result.Headers != '' && response.result.Headers != undefined) {
  170. innerhtml += `<span class="font-14 font-weight-400 py-1" data-copy="true" data-copy2dropdownheader="dropdownheader"><span class="d-none" data-copy2dropdownheader="true">${response.result.Headers}</span><span title='${response.result.Headers}'><i class="las la-copy"></i></span></span>`;
  171. }
  172. }
  173. innerhtml += '</span></div>' +
  174. '<div class="row" style="overflow-wrap: break-word;"><strong class="col-sm-2">Response Object</strong><span style="word-wrap: break-word;" class="col-sm-10"><span data-integrations="4lines">' + response.result.ResponseObject + '</span>';
  175. if (response.result.ResponseObject != null && response.result.ResponseObject != '' && response.result.ResponseObject != undefined) {
  176. innerhtml += `<span class="font-14 font-weight-400 py-1" data-copy="true" data-copy2dropdownRes="dropdownres"><span class="d-none" data-copy2dropdownres="true">${response.result.ResponseObject}</span><span title='${response.result.ResponseObject}'><i class="las la-copy"></i></span></span>`;
  177. }
  178. innerhtml += '</span></div > ' +
  179. '<div class="row" style="overflow-wrap: break-word;"><strong class="col-sm-2">Request Object</strong><span style="word-wrap: break-word;" class="col-sm-10"><span data-integrations="4lines">' + response.result.RequestObject + '</span>';
  180. if (response.result.RequestObject != null && response.result.RequestObject != '' && response.result.RequestObject != undefined) {
  181. innerhtml += `<span class="font-14 font-weight-400 py-1" data-copy="true" data-copy2dropdownReq="dropdownreq"><span class="d-none" data-copy2dropdownreq="true">${response.result.RequestObject}</span><span title='${response.result.RequestObject}'><i class="las la-copy"></i></span></span>`;
  182. }
  183. innerhtml += '</span ></div > ' +
  184. '</li>';
  185. $("#sync-list_" + apiLogItemId).html(innerhtml);
  186. let copy = ['stacktrace', 'dropdownheader', 'dropdownres', 'dropdownreq'];
  187. copy.forEach(function (element, index) {
  188. instance.copyFuntionaLity(element);
  189. });
  190. });
  191. }
  192. copyFuntionaLity(attr1) {
  193. $(`[data-copy2${attr1}="${attr1}"]`).on('click', function () {
  194. let element = $(this);
  195. let obj = $(this).find(`[data-copy2${attr1}="true"]`).text();
  196. eval(`navigator.clipboard.writeText(obj);
  197. $('[data-copy="true"]').removeClass('text-danger')
  198. element.addClass('text-danger')
  199. `);
  200. });
  201. }
  202. refreshFailedApiLog(dataApiLogId) {
  203. Unibase.Platform.DataApis.Manangers.DataApiManager.Instance().executeFailedApiLog(dataApiLogId).then(function (response) {
  204. if (response.status == 0) {
  205. MessageHelper.Instance().showSuccess(response.message, "");
  206. }
  207. else {
  208. MessageHelper.Instance().showSuccess(response.message, "");
  209. }
  210. });
  211. }
  212. refreshFailedApiQueue(apiQueueId) {
  213. let VisibleContainerId = Unibase.Platform.Helpers.NavigationHelper.ModalContainerIds[Unibase.Platform.Helpers.NavigationHelper.ModalContainerIds.length - 1];
  214. let html = '<div class="skelton_loader biz-secondary-color position-absolute w-100 z-index-10">';
  215. html += Unibase.Themes.Compact.Components.Nav_Template.Instance().skelTonListPage();
  216. html += '</div>';
  217. $('.BindData_' + VisibleContainerId).before(html);
  218. $('.BindData_' + VisibleContainerId).addClass('hidden');
  219. Unibase.Platform.DataApis.Manangers.DataApiManager.Instance().executeFailedApiQueue(apiQueueId).then(function (response) {
  220. if (response.status == 0) {
  221. MessageHelper.Instance().showSuccess(response.message, "");
  222. }
  223. else {
  224. MessageHelper.Instance().showSuccess(response.message, "");
  225. }
  226. $('.skelton_loader').remove();
  227. $('.BindData_' + VisibleContainerId).removeClass('hidden');
  228. });
  229. }
  230. static Instance() {
  231. return new DataApiLog();
  232. }
  233. }
  234. DataApiLog.serviceIntegratorId = 0;
  235. Components.DataApiLog = DataApiLog;
  236. })(Components = DataApis.Components || (DataApis.Components = {}));
  237. })(DataApis = Platform.DataApis || (Platform.DataApis = {}));
  238. })(Platform = Unibase.Platform || (Unibase.Platform = {}));
  239. })(Unibase || (Unibase = {}));