Built files from Bizgaze WebServer
Du kannst nicht mehr als 25 Themen auswählen Themen müssen mit entweder einem Buchstaben oder einer Ziffer beginnen. Sie können Bindestriche („-“) enthalten und bis zu 35 Zeichen lang sein.

integrationdataapilog.js 45KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559
  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 Integrations;
  16. (function (Integrations) {
  17. let Components;
  18. (function (Components) {
  19. class IntegrationDataApiLog 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_dataapilogs" class="bg-white" default="" data-validate="parsley" data-isdynamic="false"><div class="px-20 pt-3 w-100 d-flex align-items-center justify-content-between"><span class="font-18 font-weight-600">API Log</span></div><div class="b-b bg-white header log-Header modal-header align-items-end"><div class="b-b bg-white d-flex flex-column" id="div_Listsearch"><label class="font-weight-500">Service Integrator</label><select type="text" id="txtServiceIntegrator" class="form-control floating-label-control w-250p" placeholder="Integrator *" data-placeholder="Enter Service Integrator"></select></div><div id="log_item" class="flex-column row"><label class="font-weight-500">Status</label><div class=""><select id="txtAutocomplete_log" placeholder="Select" class="form-control pl-0" 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="b-b bg-white d-flex flex-column" id="div_RemoteSearch"><label class="font-weight-500">RefId & Column</label><input type="text" value="" data-isdynamic="false" class="form-control w-160p pl-0" style="box-shadow: none;" placeholder="Search RemoteId" data-placeholder="Search Remote PkId" data-label="Search" id="txtSearchPkId"></div><div class="b-b bg-white d-flex flex-column" id="div_Errorsearch"><label class="font-weight-500">ErrorMessage</label><input type="text" value="" data-isdynamic="false" class="form-control pl-0" placeholder="Search ErrorMessage" data-placeholder="Error Message" data-label="Search" id="txtSearchMessage" style="box-shadow: none;"></div><div><a href="javascript:void(0);" class="no-caret dropdown-toggle" id="integrationDropdown" data-toggle="dropdown" aria-haspopup="true" aria-expanded="false"> <span class="nav-icon-wrap" data-tooltip="true" title="FromDate to ToDate "><i class="las la-calendar font-25"></i></span> </a> <div class="dropdown-menu" aria-labelledby="integrationDropdown"> <div class="d-flex flex-column pb-2" id="div_fromDate" data-dateinitialized="false"><label class="font-weight-400">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" style="box-shadow: none;" 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="font-weight-400">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" style="box-shadow: none;" 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></div></div><a href="javascript:;" id="btnApply" class="btn btn-primary btn-sm">Apply</a><a href="javascript:;" class="btn btn-icon btn-flush-biz-theme btn-rounded flush-soft-hover w-30p h-30p dataapilog-refresh-btn mr-20" id="dataapilogRefreshBtn_" data-tooltip="true" title="Refresh All"><span class="btn-icon-wrap"><i class="fa fa-refresh"></i></span></a></div>' +
  32. `<div class="simple-scroll-bar scrollable sync-log-body px-20 py-2" ><div id="Unibase_ValidationSummary" class="clear" > </div>
  33. <div class="templateviewer-tableview">
  34. <div class="row px-0 mx-0 row card-header Templateheader biz-list-header biz-transparent-text-color no-background list-border-color">
  35. <div class="row mx-0 px-0" style="width:98%">
  36. <div class="col-1 pl-0">Log Time</div>
  37. <div class="col-2 px-0">Ref Id</div>
  38. <div class="col-3 pr-0">Status<span class="mx-1">-</span>Message</div>
  39. <div class="col-6 pr-0 d-flex"><div class="w-30 pr-0">Api Log Name</div>
  40. <div class="w-25">Ref Column</div>
  41. <div class="w-45 d-flex px-0"><span class="w-35 text-center text-truncate" data-tooltip="true" title="PayLoad">PayLoad</span><span class="w-30 text-center text-truncate" data-tooltip="true" title="Result">Result</span><span class="w-20 text-center text-truncate" data-tooltip="true" title="Info">Info</span><span class="w-15 text-center text-truncate" data-tooltip="true" title="Refresh"></span></div>
  42. </div></div>
  43. <div class="px-0" style="width:2%"></div>
  44. </div>
  45. </div>
  46. <div>
  47. <ul class="divlog list-group font-14 mb-10 templateviewer-body"></ul>
  48. <span id="totalcount" class="">Total Count : <a href="javascript:; "id="getcount"></a></span></div>
  49. <div id = "ItemsListPagination" class="pagination custom-pagination pagination-rounded pull-right">
  50. </div>
  51. </div>
  52. <div id="div_LogFooter" class="bg-white footer h-50p">
  53. </div>
  54. </div>`;
  55. }
  56. init(containerid) {
  57. this.clickEvntInit(0, containerid);
  58. }
  59. clickEvntInit(serviceIntegratorId, containerid) {
  60. return __awaiter(this, void 0, void 0, function* () {
  61. let instance = this;
  62. Unibase.Platform.Helpers.FileCacheHelper.Instance().loadJsFiles(['platform/dataapis/managers/dataapimanager.js'], function () {
  63. if (containerid == undefined) {
  64. Unibase.Platform.Integrations.Components.IntegrationDataApiLog.serviceIntegratorId = serviceIntegratorId;
  65. this.navigationHelper.popup(0, '', Unibase.Platform.Integrations.Components.IntegrationDataApiLog.Instance(), null, Unibase.Platform.Helpers.Size.ExtraLarge);
  66. Unibase.Platform.Integrations.Components.IntegrationDataApiLog.Instance().loadApiLog(serviceIntegratorId);
  67. serviceIntegratorIds = serviceIntegratorId;
  68. }
  69. else {
  70. Unibase.Platform.Integrations.Components.IntegrationDataApiLog.serviceIntegratorId = serviceIntegratorId;
  71. instance.navigationHelper.loadSection(0, containerid, Unibase.Platform.Integrations.Components.IntegrationDataApiLog.Instance(), null, Unibase.Platform.Integrations.Components.IntegrationDataApiLog.Instance().closeBtn);
  72. Unibase.Platform.Integrations.Components.IntegrationDataApiLog.Instance().loadApiLog(serviceIntegratorId);
  73. serviceIntegratorIds = serviceIntegratorId;
  74. }
  75. });
  76. });
  77. }
  78. closeBtn() {
  79. $('[data-btn_close="integrations"]').parent().addClass('invisible');
  80. }
  81. load(id, containerid, callback) {
  82. $('input[data-datepicker="integration"]').daterangepicker({
  83. opens: 'left'
  84. }, function (start, end, label) {
  85. console.log("A new date selection was made: " + start.format('YYYY-MM-DD') + ' to ' + end.format('YYYY-MM-DD'));
  86. });
  87. var url = _appsettings.server_url() + '/apis/v4/unibase/integrations/integrator/servicintegratorautocomplete/integratorid/0';
  88. AutoCompleteHelper.getHelper().Create("#txtServiceIntegrator", "#hf_Autocomplete_Services", url, function (response) {
  89. var data = response;
  90. });
  91. $('.dataapilog-refresh-btn').on('click', function () {
  92. bootbox.confirm({
  93. message: "Do you want refresh all API request",
  94. closeButton: false,
  95. buttons: {
  96. confirm: {
  97. label: 'Yes',
  98. className: 'btn-success'
  99. },
  100. cancel: {
  101. label: 'No',
  102. className: 'btn-danger'
  103. }
  104. },
  105. callback: function (result) {
  106. if (result) {
  107. Unibase.Platform.Integrations.Components.IntegrationDataApiLog.Instance().RefreshdataApiLogs();
  108. }
  109. else {
  110. }
  111. }
  112. });
  113. });
  114. $("#btnApply").click(function () {
  115. var ids = $("#txtServiceIntegrator option:selected").val();
  116. Unibase.Platform.Integrations.Components.IntegrationDataApiLog.Instance().loadApiLog(ids);
  117. });
  118. $("#clr_fdate").click(function () {
  119. $("#txt_fromDate").val("");
  120. });
  121. $("#clr_tdate").click(function () {
  122. $("#txt_toDate").val("");
  123. });
  124. var timer;
  125. $("#txtSearchItem").on('keyup', () => {
  126. var delay = 1000;
  127. window.clearTimeout(timer);
  128. timer = window.setTimeout(() => {
  129. var searchtext = $("#txtSearchItem").val();
  130. if (searchtext != "") {
  131. var ids = serviceIntegratorIds;
  132. Unibase.Platform.Integrations.Components.IntegrationDataApiLog.Instance().loadApiLog(ids);
  133. }
  134. else {
  135. var ids = serviceIntegratorIds;
  136. Unibase.Platform.Integrations.Components.IntegrationDataApiLog.Instance().loadApiLog(ids);
  137. }
  138. }, delay);
  139. });
  140. $("#txtSearchMessage, #txtSearchPkId").on('keyup', () => {
  141. var delay = 1000;
  142. window.clearTimeout(timer);
  143. timer = window.setTimeout(() => {
  144. var searchtextmessage = $("#txtSearchMessage").val();
  145. if (searchtextmessage != "") {
  146. var ids = serviceIntegratorIds;
  147. Unibase.Platform.Integrations.Components.IntegrationDataApiLog.Instance().loadApiLog(ids);
  148. }
  149. else {
  150. var ids = serviceIntegratorIds;
  151. Unibase.Platform.Integrations.Components.IntegrationDataApiLog.Instance().loadApiLog(ids);
  152. }
  153. }, delay);
  154. });
  155. }
  156. loadForm(FormId, Pk_Value, AppConfigurationId, Callback, ElementId) {
  157. }
  158. loadPagination(totalRecords, serviceIntegratorId) {
  159. var instance = this;
  160. let elem = $('#ItemsListPagination');
  161. elem.pagination(totalRecords, 20, {
  162. items_per_page: 20,
  163. callback: function (page, component) {
  164. instance.pageIndex = page;
  165. instance.loadApiLog(serviceIntegratorId);
  166. }, current_page: instance.pageIndex
  167. });
  168. }
  169. RefreshdataApiLogs() {
  170. let datetimeIns = Unibase.Platform.Helpers.DateTimeHelper.Instance();
  171. var instance = this;
  172. var serviceIntegratorId = $('#txtServiceIntegrator option:selected').val();
  173. if (serviceIntegratorId == undefined)
  174. serviceIntegratorId = 0;
  175. var postData = {
  176. RemoteId: $("#txtSearchPkId").val(),
  177. RefId: serviceIntegratorId,
  178. Page: 0,
  179. Rows: 0,
  180. FromDate: $("#txt_fromDate").val(),
  181. ToDate: $("#txt_toDate").val(),
  182. StatusCode: $("#txtAutocomplete_log").val(),
  183. ErrorMessage: $("#txtSearchMessage").val(),
  184. };
  185. if (($("#txt_fromDate").val() == "" && $("#txt_toDate").val() != "" && $("#txt_toDate").val() != undefined)) {
  186. MessageHelper.Instance().showError("Please select FromDate", "Unibase_ValidationSummary");
  187. }
  188. else if ($("#txt_fromDate").val() != "" && $("#txt_fromDate").val() != undefined && $("#txt_toDate").val() == "") {
  189. MessageHelper.Instance().showError("Please select ToDate", "Unibase_ValidationSummary");
  190. }
  191. else if (($("#txt_fromDate").val() > $("#txt_toDate").val())) {
  192. MessageHelper.Instance().showError("ToDate is lessthan FromDate", "Unibase_ValidationSummary");
  193. }
  194. else {
  195. Unibase.Platform.DataApis.Manangers.DataApiManager.Instance().executefailedapisbyfilter(postData).then(function (response) {
  196. return __awaiter(this, void 0, void 0, function* () {
  197. if (response.status == 2) {
  198. yield bootbox.confirm({
  199. message: response.message,
  200. closeButton: false,
  201. buttons: {
  202. confirm: {
  203. label: 'Close',
  204. className: 'btn-success'
  205. },
  206. cancel: {
  207. label: 'Cancel',
  208. className: 'btn-danger'
  209. }
  210. },
  211. callback: function (result) {
  212. }
  213. });
  214. yield $('.bootbox-cancel').remove();
  215. }
  216. else {
  217. MessageHelper.Instance().showSuccess(response.message, '');
  218. }
  219. });
  220. });
  221. }
  222. }
  223. loadApiLog(serviceIntegratorId) {
  224. let datetimeIns = Unibase.Platform.Helpers.DateTimeHelper.Instance();
  225. var instance = this;
  226. serviceIntegratorId = $('#txtServiceIntegrator option:selected').val();
  227. if (serviceIntegratorId == undefined)
  228. serviceIntegratorId = 0;
  229. var postData = {
  230. RemoteId: $("#txtSearchPkId").val(),
  231. RefId: serviceIntegratorId,
  232. Page: instance.pageIndex,
  233. Rows: 20,
  234. FromDate: $("#txt_fromDate").val(),
  235. ToDate: $("#txt_toDate").val(),
  236. StatusCode: $("#txtAutocomplete_log").val(),
  237. ErrorMessage: $("#txtSearchMessage").val(),
  238. };
  239. if (($("#txt_fromDate").val() == "" && $("#txt_toDate").val() != "" && $("#txt_toDate").val() != undefined)) {
  240. MessageHelper.Instance().showError("Please select FromDate", "Unibase_ValidationSummary");
  241. }
  242. else if ($("#txt_fromDate").val() != "" && $("#txt_fromDate").val() != undefined && $("#txt_toDate").val() == "") {
  243. MessageHelper.Instance().showError("Please select ToDate", "Unibase_ValidationSummary");
  244. }
  245. else if (($("#txt_fromDate").val() > $("#txt_toDate").val())) {
  246. MessageHelper.Instance().showError("ToDate is lessthan FromDate", "Unibase_ValidationSummary");
  247. }
  248. else {
  249. $(".divlog").html(Unibase.Themes.Compact.Components.Nav_Template.Instance().skelTonHorizontal());
  250. Unibase.Platform.DataApis.Manangers.DataApiManager.Instance().getDataApiLogfilter(postData).then(function (response) {
  251. var data = JSON.parse(response.result);
  252. response.result = JSON.parse(response.result);
  253. if (response.result.length == 0) {
  254. $(".divlog").hide();
  255. $("#totalcount").hide();
  256. }
  257. else {
  258. $(".divlog").show();
  259. $("#totalcount").show();
  260. var html = "";
  261. for (var i = 0; i < response.result.length; i++) {
  262. var data = response.result[i], txtColor = "";
  263. var date = Unibase.Platform.Helpers.DateTimeHelper.Instance().FormatDateTime(data.lastupdateddate);
  264. if (data.Status == "Success") {
  265. txtColor = 'text-success';
  266. }
  267. else {
  268. txtColor = 'text-danger';
  269. }
  270. let apiName = [], _apiName;
  271. apiName = data.ApiName.split('_');
  272. _apiName = apiName.slice(1, apiName.length).join("_");
  273. html += '<li class="list-group-item px-3 data-list-item biz-transparent-text-color no-background list-border-color apilog-item group-item_' + data.DataApiLogId + '">' +
  274. '<div class="row">' +
  275. '<div class="row px-0 mx-0" style="width:98%">' +
  276. '<div class="col-1 pl-0">' + date + '</div>' +
  277. '<div class="col-2 px-0 word-break-biz">' + data.RemotePkId + '</div>' +
  278. '<div class="col-3 pr-0 word-break-biz"><span><span class="' + txtColor + '">' + data.Status + '</span><span class="mx-1">-</span>';
  279. let responseMessage;
  280. if (data.ResponseObject != null && data.ResponseObject != undefined && data.ResponseObject != '') {
  281. try {
  282. if (JSON.parse(data.ResponseObject).Message != null && JSON.parse(data.ResponseObject).Message != undefined && JSON.parse(data.ResponseObject).Message != '') {
  283. responseMessage = JSON.parse(data.ResponseObject).Message;
  284. }
  285. else {
  286. responseMessage = data.ExceptionMessage;
  287. }
  288. }
  289. catch (e) {
  290. responseMessage = data.ResponseObject;
  291. }
  292. }
  293. else {
  294. responseMessage = data.ExceptionMessage;
  295. }
  296. html += '<span>' + responseMessage + '</span></span></div>' +
  297. '<div class="col-6 pr-0 d-flex"><div class="w-30 pr-2 word-break-biz">' + _apiName + '</div>';
  298. html += `<div class="w-25 word-break-biz">${data.RefColumnValue1}</div><div class="w-45 px-0 d-flex"><div class="w-35 text-center" data-copydata="true" title='${data.RequestObject}' data-urlcoppy="fiedata" data-copy="true"><span class="d-none" data-url='true'>${data.RequestObject}</span><span><i class="las la-copy"></i></span></div>
  299. <div class="w-30 text-center" data-copy="true" title='${data.ResponseObject}' data-responsecopy="response"><span class="d-none" data-url='true'>${data.ResponseObject}</span><span><i class="las la-copy"></i></span></div>
  300. <div class="w-20 text-center">
  301. <a href="javascript:;" onclick="Unibase.Platform.Integrations.Components.IntegrationDataApiLog.Instance().infoPopupBind('${data.DataApiLogId}');"><span class="glyphicon glyphicon-info-sign text-info font-20"></span>
  302. </a></div>
  303. <div class="w-15 text-right px-0">`;
  304. if (data.Status == "Success") {
  305. }
  306. else {
  307. html += '<i class="fa fa-refresh mr-10" onclick="javascript:Unibase.Platform.Integrations.Components.IntegrationDataApiLog.Instance().RefreshdataApiLog(\'' + data.DataApiLogId + '\');"></i>';
  308. }
  309. html += '</div></div></div>' +
  310. '</div>' +
  311. '<div class="justify-content-end d-flex" style="width:2%">' +
  312. '<a href="#sync-' + data.DataApiLogId + '" data-parent="divTasks" data-toggle="collapse" class="accordion-toggle collapsed" onclick="javascript:Unibase.Platform.Integrations.Components.IntegrationDataApiLog.Instance().loadApiLogItem(\'' + data.DataApiLogId + '\');"> ' +
  313. '<i class="indicator fa fa-chevron-right"></i>' +
  314. '</a>' +
  315. '</div>' +
  316. '</div>' +
  317. '<div class="panel-collapse collapse" id="sync-' + data.DataApiLogId + '" style="height: 0px;">' +
  318. '<ul id="sync-list_' + data.DataApiLogId + '" class="list-group no-radius m-b-none list-group-lg no-border m-t sync-list">' +
  319. '</ul>' +
  320. '</div>' +
  321. '</li>';
  322. }
  323. }
  324. if (response.totalRecords > 20) {
  325. $("#ItemsListPagination").removeClass("hidden");
  326. instance.loadPagination(response.totalRecords, serviceIntegratorId);
  327. }
  328. else {
  329. $("#ItemsListPagination").addClass("hidden");
  330. }
  331. $('#getcount').text(response.totalRecords);
  332. $("#lblintegratelogRecords").text(response.result.length);
  333. $(".divlog").html(html);
  334. $('[data-urlcoppy="fiedata"]').on('click', function () {
  335. let element = $(this);
  336. let url = $(this).find('[data-url="true"]').text();
  337. eval(`navigator.clipboard.writeText(url);
  338. $('[data-copy="true"]').removeClass('text-danger')
  339. element.addClass('text-danger')
  340. `);
  341. });
  342. $('[data-responsecopy="response"]').on('click', function () {
  343. let element = $(this);
  344. let url = $(this).find('[data-url="true"]').text();
  345. eval(`navigator.clipboard.writeText(url);
  346. $('[data-copy="true"]').removeClass('text-danger')
  347. element.addClass('text-danger')
  348. `);
  349. });
  350. });
  351. }
  352. }
  353. infoPopupBind(dataApiLogId) {
  354. Unibase.Platform.DataApis.Manangers.DataApiManager.Instance().getapilogitembydataapilogid(dataApiLogId).then(function (response) {
  355. let html = `<div id="infoPopUp" class="modal fade" role="dialog">
  356. <div class="modal-dialog modal-lg text-dark">
  357. <!-- Modal content-->
  358. <div class="modal-content">
  359. <div class="modal-header p-3">
  360. <span class="modal-title font-18 font-weight-600">API Log Items <span class="ml-2 rounded-circle badge badge-primary" data-count="true"></span></span>
  361. <button type="button" class="close" data-dismiss="modal" data-btn_close="infoPopUp">&times;</button>
  362. </div>
  363. <div clas="modal-header">
  364. <ul class="d-flex justify-content-between px-3 py-2 border-right-0 border-top-0 border-left-0 border">
  365. <li class="d-flex flex-column w-20">
  366. <span class="font-16 font-weight-500 py-1">Created Date</span>
  367. </li>
  368. <li class="d-flex flex-column w-50 text-left px-3">
  369. <span class="font-16 font-weight-500 py-1">Status<span class="mx-1">-</span><span>Messsage</span></span>
  370. </li>
  371. <li class="d-flex flex-column w-15 pr-3">
  372. <span class="font-16 font-weight-500 py-1 text-center" >PayLoad</span>
  373. </li>
  374. <li class="d-flex flex-column w-15">
  375. <span class="font-16 font-weight-500 py-1 text-center" >Result</span>
  376. </li>
  377. </ul>
  378. </div>
  379. <div class="modal-body py-2 px-0 h-350p simple-scroll-bar scrollable" data-simplebar>`;
  380. for (var i = 0; i < response.result.length; i++) {
  381. let data = response.result[i];
  382. var date = Unibase.Platform.Helpers.DateTimeHelper.Instance().FormatDateTime(data.createddate);
  383. debugger;
  384. html += `<ul class="d-flex justify-content-between py-2 px-3 border-right-0 border-top-0 border-left-0 border">
  385. <li class="d-flex flex-column w-20 word-break-biz">
  386. <span class="font-14 font-weight-400 py-1">${date}</span>
  387. </li>
  388. <li class="d-flex flex-column w-50 text-left px-3 word-break-biz">
  389. <span class="font-14 font-weight-400 py-1">${data.Status}<span class="px-1">-</span><span>`;
  390. let message;
  391. if (data.ResponseObject != null && data.ResponseObject != undefined && data.ResponseObject != '') {
  392. if (JSON.parse(data.ResponseObject).Message != undefined && JSON.parse(data.ResponseObject).Message != '' && JSON.parse(data.ResponseObject).Message != null) {
  393. message = JSON.parse(data.ResponseObject).Message;
  394. }
  395. else {
  396. message = data.ExceptionMessage;
  397. }
  398. }
  399. else {
  400. message = data.ExceptionMessage;
  401. }
  402. html += `${message}</span></span >
  403. </li>
  404. <li class="d-flex flex-column w-15 pr-3 word-break-biz">
  405. <span class="font-14 font-weight-400 py-1 text-center" title='${data.RequestObject}' data-copy="true" data-copy2Objt="rquest2objt"><span class="d-none" data-rquest2objt="true">${data.RequestObject}</span><span><i class="las la-copy"></i></span></span>
  406. </li>
  407. <li class="d-flex flex-column w-15">
  408. <span class="font-14 font-weight-400 py-1 text-center" title='${data.ResponseObject}' data-copy="true" data-copy2Objt="response2objt"><span class="d-none" data-response2objt="true">${data.ResponseObject}</span><span><i class="las la-copy"></i></span></span>
  409. </li>
  410. </ul>`;
  411. }
  412. html += `</div>
  413. </div>
  414. </div>
  415. </div>`;
  416. $('body').append(html);
  417. $('[data-count="true"]').text(response.result.length);
  418. $('[data-btn_close="infoPopUp"]').on('click', function () {
  419. $('#infoPopUp').remove();
  420. $('.modal-backdrop.fade.show').not('.unibase_modal_backdrop').remove();
  421. });
  422. $('#infoPopUp').modal('show');
  423. $('[data-copy2Objt="response2objt"]').on('click', function () {
  424. let element = $(this);
  425. let obj = $(this).find('[data-response2objt="true"]').text();
  426. eval(`navigator.clipboard.writeText(obj);
  427. $('[data-copy="true"]').removeClass('text-danger')
  428. element.addClass('text-danger')
  429. `);
  430. });
  431. $('[data-copy2Objt="rquest2objt"]').on('click', function () {
  432. let element = $(this);
  433. let obj = $(this).find('[data-rquest2objt="true"]').text();
  434. eval(`navigator.clipboard.writeText(obj);
  435. $('[data-copy="true"]').removeClass('text-danger')
  436. element.addClass('text-danger')
  437. `);
  438. });
  439. });
  440. }
  441. RefreshdataApiLog(dataApiLogId) {
  442. var ids = $("#txtServiceIntegrator option:selected").val();
  443. bootbox.confirm({
  444. message: "Do you want to reresh API request?",
  445. closeButton: false,
  446. buttons: {
  447. confirm: {
  448. label: 'Yes',
  449. className: 'btn-success'
  450. },
  451. cancel: {
  452. label: 'No',
  453. className: 'btn-danger'
  454. }
  455. },
  456. callback: function (result) {
  457. if (result) {
  458. $(".divlog").html(Unibase.Themes.Compact.Components.Nav_Template.Instance().skelTonHorizontal());
  459. Unibase.Platform.DataApis.Manangers.DataApiManager.Instance().executeFailedApiLog(dataApiLogId).then(function (response) {
  460. return __awaiter(this, void 0, void 0, function* () {
  461. if (response.status == 2) {
  462. yield Unibase.Platform.Integrations.Components.IntegrationDataApiLog.Instance().loadApiLog(ids);
  463. MessageHelper.Instance().showError(response.message, "Unibase_ValidationSummary");
  464. }
  465. else {
  466. yield Unibase.Platform.Integrations.Components.IntegrationDataApiLog.Instance().loadApiLog(ids);
  467. MessageHelper.Instance().showSuccess(response.message, '');
  468. }
  469. });
  470. });
  471. }
  472. }
  473. });
  474. }
  475. loadApiLogItem(apiLogItemId) {
  476. let instance = this;
  477. Unibase.Platform.DataApis.Manangers.DataApiManager.Instance().getdataApiLog(apiLogItemId).then(function (response) {
  478. var date = Unibase.Platform.Helpers.DateTimeHelper.Instance().FormatDateTime(response.result.createddate);
  479. var innerhtml = '<li class="list-group-item bg-white apilog-item_' + response.result.DataApiLogId + ' ">' +
  480. '<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>' +
  481. '<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>' +
  482. '<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>' +
  483. '<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">';
  484. response.result.ExceptionMessage + '</span></div>' +
  485. '<div class="row" style="overflow-wrap: break-word;"><strong class="col-sm-2">Created Date</strong><span class="col-sm-10">' + date + '</span></div>' +
  486. '<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>' +
  487. '<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>';
  488. if (response.result.StackTrace != null && response.result.StackTrace != '' && response.result.StackTrace != undefined) {
  489. 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>`;
  490. }
  491. if (response.result.Headers != null && response.result.Headers != '' && response.result.Headers != undefined) {
  492. innerhtml += '</span></div > ' +
  493. '<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>';
  494. if (response.result.Headers != null && response.result.Headers != '' && response.result.Headers != undefined) {
  495. 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>`;
  496. }
  497. }
  498. innerhtml += '</span></div>' +
  499. '<div class="row" style="overflow-wrap: break-word;"><strong class="col-sm-2">Request Type</strong><span class="col-sm-10">' + response.result.RequestType + '</span></div>' +
  500. '<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>';
  501. if (response.result.ResponseObject != null && response.result.ResponseObject != '' && response.result.ResponseObject != undefined) {
  502. 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>`;
  503. }
  504. innerhtml += '</span></div > ' +
  505. '<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>';
  506. if (response.result.RequestObject != null && response.result.RequestObject != '' && response.result.RequestObject != undefined) {
  507. 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>`;
  508. }
  509. innerhtml += '</span ></div > ' +
  510. '</li>';
  511. $("#sync-list_" + apiLogItemId).html(innerhtml);
  512. let copy = ['stacktrace', 'dropdownheader', 'dropdownres', 'dropdownreq'];
  513. copy.forEach(function (element, index) {
  514. instance.copyFuntionaLity(element);
  515. });
  516. });
  517. }
  518. copyFuntionaLity(attr1) {
  519. $(`[data-copy2${attr1}="${attr1}"]`).on('click', function () {
  520. let element = $(this);
  521. let obj = $(this).find(`[data-copy2${attr1}="true"]`).text();
  522. eval(`navigator.clipboard.writeText(obj);
  523. $('[data-copy="true"]').removeClass('text-danger')
  524. element.addClass('text-danger')
  525. `);
  526. });
  527. }
  528. refreshFailedApiLog(dataApiLogId) {
  529. Unibase.Platform.DataApis.Manangers.DataApiManager.Instance().executeFailedApiLog(dataApiLogId).then(function (response) {
  530. if (response.status == 0) {
  531. MessageHelper.Instance().showSuccess(response.message, "");
  532. }
  533. else {
  534. MessageHelper.Instance().showSuccess(response.message, "");
  535. }
  536. });
  537. }
  538. refreshFailedApiQueue(apiQueueId) {
  539. Unibase.Platform.DataApis.Manangers.DataApiManager.Instance().executeFailedApiQueue(apiQueueId).then(function (response) {
  540. if (response.status == 0) {
  541. MessageHelper.Instance().showSuccess(response.message, "");
  542. }
  543. else {
  544. MessageHelper.Instance().showSuccess(response.message, "");
  545. }
  546. });
  547. }
  548. static Instance() {
  549. return new IntegrationDataApiLog();
  550. }
  551. }
  552. IntegrationDataApiLog.serviceIntegratorId = 0;
  553. Components.IntegrationDataApiLog = IntegrationDataApiLog;
  554. })(Components = Integrations.Components || (Integrations.Components = {}));
  555. })(Integrations = Platform.Integrations || (Platform.Integrations = {}));
  556. })(Platform = Unibase.Platform || (Unibase.Platform = {}));
  557. })(Unibase || (Unibase = {}));