Built files from Bizgaze WebServer
Nevar pievienot vairāk kā 25 tēmas Tēmai ir jāsākas ar burtu vai ciparu, tā var saturēt domu zīmes ('-') un var būt līdz 35 simboliem gara.

createintegrator.js 17KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244
  1. var Unibase;
  2. (function (Unibase) {
  3. let Platform;
  4. (function (Platform) {
  5. let Integrations;
  6. (function (Integrations) {
  7. let Components;
  8. (function (Components) {
  9. class CreateIntegrator extends Platform.Core.BaseComponent {
  10. cssFiles() {
  11. return ["libs/summernote/summernote.css"];
  12. }
  13. jsFiles() {
  14. return ["platform/integrations/components/createintegrator.js", "platform/integrations/managers/integrationmanager.js", "platform/forms/components/formviewer/formviewer.js", 'libs/parsley/parsley.min.js', "libs/summernote/summernote.min.js", "platform/dataapis/managers/dataapimanager.js"];
  15. }
  16. html(id, containerid) {
  17. let html = '<form id="frmUnibase_Integrator" default="" data-validate="parsley" data-isdynamic="false"><div class="b-b bg-white header dataApiHeader"><input id="hf_IntegratorId" type="hidden" value="0"/><strong id="formName" class="text-dark">Create Integrator</strong><a class="btn btn-sm ml-auto"><i class="ti-help-alt" title="help" href="javascript:;" target="_blank"></i></a><input id="hf_fromIntegration" type="hidden" value="false"/></div><div data-simplebar class="simple-scroll-bar scrollable integrator-body"><div id="Unibase_ValidationSummary" class="clear mt-10"></div><div class="card"><div class="card-body"><div class="row"><div class="col-sm-6"><div class="floating-label-form-group floating-label-form-group-with-value"><label>Integrator Name<span class="text-danger " id="spnIntegratorName"> *</span></label><input class="form-control value-control required floating-label-control" id="txtIntegratorName" placeholder="Integrator Name *" data-placeholder="Enter Integrator Name" data-label="Integrator Name *" value="" type="text"></div></div><div class="col-sm-6"><div class="floating-label-form-group-with-value"><label for="ddl_Provider">Provider<span class="text-danger " id="spnProvider"> *</span></label><select class="form-control required" id="ddl_Provider" multiple="multiple"></select></div></div></div></div></div>' +
  18. '<div class="card card-body"><div class="col-sm-12"> <label for="chkIsUser"><b>Is User</b></label><label id="lblIsUpdate" class="switch form-inline pull-right"><input id="chkIsUser" data-group="chkIsUser" type="checkbox" data-isdynamic="false"><span></span></label></div></div>' +
  19. '<div class="integrator-description"><div class="card"><div class="card-header"><strong class="text-dark">Description</strong></div><div class="card-body"><div class="type-control summernote" style="display: block;" id="summernote" data-propdoctypename="" placeholder = "Enter Description" data-placeholder="Enter Descrpition" data-label="Descrpition"></div>' +
  20. '<label for="Validation" id="lblValidation"></label></div ></div></div></div></div><div id="div_dataApiFooter" class="bg-white footer"><a class="btn btn-light btn-sm btn-center mr-auto btn-close" id="btnClose">Close</a><a class="btn btn-primary btn-center btn-sm text-white" id="btnSave">Save</a></div></form>';
  21. return html;
  22. }
  23. load(id, containerid, callback) {
  24. this.fileCacheHelper.loadJsFiles(["platform/integrations/managers/integrationmanager.js", "libs/summernote/summernote.min.js"], null);
  25. this.fileCacheHelper.loadCssFile("libs/summernote/summernote.css", null);
  26. this.loadSummernote();
  27. Unibase.Platform.Integrations.Components.CreateIntegrator.Instance().loadProviders("");
  28. $("#btnSave").click(function () {
  29. let appcontrolid = "frmUnibase_Integrator";
  30. let result = Unibase.Platform.Forms.Components.FormViewer.Instance().requiredFieldValidation(appcontrolid);
  31. if (result == false) {
  32. MessageHelper.Instance().showError("Mandatory fields are missing", "Unibase_ValidationSummary");
  33. return false;
  34. }
  35. else {
  36. CreateIntegrator.Instance().save(id, containerid);
  37. }
  38. });
  39. }
  40. loadSummernote() {
  41. $("#summernote").summernote({
  42. height: 100,
  43. minHeight: null,
  44. maxHeight: null,
  45. placeholder: "Enter Description",
  46. toolbar: [
  47. ['font', ['bold', 'italic', 'underline']],
  48. ['color', ['color']]
  49. ]
  50. });
  51. }
  52. loadForm(FormId, Pk_Value, AppConfigurationId, Callback, ElementId) {
  53. var instance = this;
  54. instance.navigationHelper.popup(0, '', Unibase.Platform.Integrations.Components.CreateIntegrator.Instance(), null, Platform.Helpers.Size.Large);
  55. $("#ddl_IntegratorType").change(function () {
  56. Unibase.Platform.Integrations.Components.CreateIntegrator.Instance().loadProviders("");
  57. });
  58. if (Pk_Value != 0) {
  59. $("#formName").text("Edit Integrator");
  60. CreateIntegrator.Instance().edit(Pk_Value);
  61. }
  62. else {
  63. Unibase.Platform.Integrations.Components.CreateIntegrator.Instance().loadProviders("");
  64. }
  65. }
  66. loadIntegratorForm(iscreate) {
  67. var Pk_Value = 0;
  68. var instance = this;
  69. if (!iscreate) {
  70. Pk_Value = Unibase.Themes.Providers.DetailHelper.recordId;
  71. }
  72. instance.navigationHelper.popup(0, '', Unibase.Platform.Integrations.Components.CreateIntegrator.Instance(), null, Platform.Helpers.Size.Large);
  73. if (Pk_Value != 0) {
  74. $("#formName").text("Edit Integrator");
  75. CreateIntegrator.Instance().edit(Pk_Value);
  76. }
  77. else {
  78. Unibase.Platform.Integrations.Components.CreateIntegrator.Instance().loadProviders("");
  79. }
  80. }
  81. loadProviders(providers) {
  82. if (providers == "") {
  83. providers += "0";
  84. }
  85. var selectdProviders = [];
  86. if ($("#ddl_Provider").val() != undefined)
  87. selectdProviders = $("#ddl_Provider").val().toString().split(',');
  88. var providerIds = [];
  89. var ids = [];
  90. Unibase.Platform.Integrations.Managers.IntegrationManager.Instance().getProvidersByIds(providers).then(function (response) {
  91. if (selectdProviders.length > 0) {
  92. for (var i = 0; i < selectdProviders.length; i++) {
  93. if (selectdProviders[i] != "" && selectdProviders[i] != "0") {
  94. providerIds.push(selectdProviders[i]);
  95. }
  96. }
  97. }
  98. for (var i = 0; i < response.result.length; i++) {
  99. var provider = response.result[i];
  100. providerIds.push({ id: provider.ProviderId, text: provider.ProviderName });
  101. ids.push(provider.ProviderId);
  102. }
  103. var url = _appsettings.server_url() + "/apis/v4/unibase/integrations/provider/providerautocomplete/";
  104. var userinfo = Unibase.Platform.Membership.Infos.Identity.getCurrentUser();
  105. $("#ddl_Provider").select2({
  106. placeholder: "Select ",
  107. data: providerIds,
  108. tags: true,
  109. ajax: {
  110. url: function (request) {
  111. var reqUrl = _appsettings.server_url() + "/apis/v4/unibase/integrations/provider/providerautocomplete/";
  112. var term = request.term;
  113. if (term == undefined || term == "")
  114. reqUrl = reqUrl + "term/" + term + "/authtoken/" + userinfo.sessionId;
  115. else
  116. reqUrl = reqUrl + "term/" + term + "/authtoken/" + userinfo.sessionId;
  117. return reqUrl;
  118. },
  119. dataType: 'json',
  120. delay: 250,
  121. data: function (params) {
  122. var query = {
  123. term: params.term,
  124. type: 'GET'
  125. };
  126. return query;
  127. },
  128. beforeSend: function (xhr) {
  129. if (userinfo !== undefined && userinfo !== null) {
  130. xhr.setRequestHeader("Authorization", "Basic " + userinfo.sessionId);
  131. xhr.setRequestHeader('geoposition', userinfo.latd + ':' + userinfo.lgId);
  132. }
  133. },
  134. processResults: function (data, params) {
  135. return {
  136. results: jQuery.map(JSON.parse(data.result), function (item) {
  137. return {
  138. id: item.Value,
  139. text: item.SelectText,
  140. addlInfo: item.addlData
  141. };
  142. })
  143. };
  144. }
  145. },
  146. templateSelection: function (result) {
  147. var $template = $('<span>' + result.text + '</span> <input type="hidden" id="hf_AutocompleteId" value="' + result.id + '">');
  148. return $template;
  149. }
  150. });
  151. $("#ddl_Provider").val(ids).trigger('change');
  152. });
  153. }
  154. edit(recordId) {
  155. Unibase.Platform.Integrations.Managers.IntegrationManager.Instance().getIntegrator(recordId).then(function (response) {
  156. $("#hf_IntegratorId").val(response.result.IntegratorId);
  157. $("#txtIntegratorName").val(response.result.IntegratorName);
  158. Unibase.Platform.Integrations.Components.CreateIntegrator.Instance().loadProviders(response.result.ProviderIds);
  159. $('#summernote').summernote('code', response.result.Description);
  160. $("#chkIsUser").prop('disabled', true);
  161. $("#chkIsUser").prop("checked", response.result.IsUser);
  162. });
  163. }
  164. save(pk_value, containerid) {
  165. var instance = this;
  166. var contents = $('#summernote').summernote('code');
  167. var plainText = $("<p>" + contents + "</p>").text();
  168. instance.fileCacheHelper.loadJsFile("platform/integrations/managers/integrationmanager.js", function () {
  169. var postData = {
  170. IntegratorId: Number($("#hf_IntegratorId").val()),
  171. UniqueId: ("Unibase_Integrations_Integrator_" + $("#txtIntegratorName").val().toString()).replace(/\s/g, ''),
  172. IntegratorName: $("#txtIntegratorName").val().toString(),
  173. ProviderIds: $("#ddl_Provider").val().toString(),
  174. Description: plainText,
  175. IsUser: $("#chkIsUser").prop("checked")
  176. };
  177. Integrations.Managers.IntegrationManager.Instance().saveIntegrator(postData).then(function (response) {
  178. if (response.status == 0) {
  179. $('#' + containerid).modal('hide');
  180. $('#' + containerid).remove();
  181. MessageHelper.Instance().showSuccess(response.message, "Unibase_ValidationSummary");
  182. }
  183. else {
  184. MessageHelper.Instance().showError(response.message, "Unibase_ValidationSummary");
  185. return false;
  186. }
  187. });
  188. });
  189. }
  190. regenerateSession() {
  191. if (confirm("TheSession will be ReGenerate. Are you sure you want to continue")) {
  192. generate();
  193. }
  194. else {
  195. return null;
  196. }
  197. function generate() {
  198. var IntegratorId = Unibase.Themes.Providers.DetailHelper.recordId;
  199. Unibase.Platform.Integrations.Managers.IntegrationManager.Instance().regenerateSession(IntegratorId).then(function (response) {
  200. if (response.status == 0) {
  201. MessageHelper.Instance().showSuccess(response.message, "Unibase_ValidationSummary");
  202. }
  203. else {
  204. MessageHelper.Instance().showError(response.message, "Unibase_ValidationSummary");
  205. return false;
  206. }
  207. });
  208. }
  209. }
  210. reInitiateApi() {
  211. if (confirm("It will Re-Intiate the Draft items. Are you sure you want to continue")) {
  212. generate();
  213. }
  214. else {
  215. return null;
  216. }
  217. function generate() {
  218. Unibase.Platform.DataApis.Manangers.DataApiManager.Instance().reInitiateApi().then(function (response) {
  219. MessageHelper.Instance().showSuccess("Api Initiated", "Unibase_ValidationSummary");
  220. });
  221. }
  222. }
  223. changeQueueStatus() {
  224. if (confirm("All the InProgress Queue Items moved to Draft. Are you sure you want to continue")) {
  225. generate();
  226. }
  227. else {
  228. return null;
  229. }
  230. function generate() {
  231. Unibase.Platform.DataApis.Manangers.DataApiManager.Instance().changeQueueStatus().then(function (response) {
  232. MessageHelper.Instance().showSuccess(response.message, "Unibase_ValidationSummary");
  233. });
  234. }
  235. }
  236. static Instance() {
  237. return new CreateIntegrator();
  238. }
  239. }
  240. Components.CreateIntegrator = CreateIntegrator;
  241. })(Components = Integrations.Components || (Integrations.Components = {}));
  242. })(Integrations = Platform.Integrations || (Platform.Integrations = {}));
  243. })(Platform = Unibase.Platform || (Unibase.Platform = {}));
  244. })(Unibase || (Unibase = {}));