Built files from Bizgaze WebServer
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.

importtemplate.js 8.3KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125
  1. var Unibase;
  2. (function (Unibase) {
  3. let Platform;
  4. (function (Platform) {
  5. let Automation;
  6. (function (Automation) {
  7. let Components;
  8. (function (Components) {
  9. class ImportEventTemplate extends Platform.Core.BaseComponent {
  10. cssFiles() {
  11. var cssfiles = ["libs/nestable/JqueryminMenu.css"];
  12. return cssfiles;
  13. }
  14. jsFiles() {
  15. return ['platform/automation/managers/rulemanager.js',
  16. "platform/forms/components/formviewer/formviewer.js",
  17. 'libs/parsley/parsley.min.js',
  18. 'platform/core/infos/status.js', '/platform/core/helpers/file/filehelper.js'];
  19. }
  20. html(id, containerid) {
  21. var instance = this;
  22. let html = '<form id="form_ImportTemplateProvider" data-validate="parsley" data-isdynamic="false"><div id="div_importmessage" class="clear"></div><div class="b-b bg-white header dataApiHeader"><strong>Import Template</strong></div><div data-simplebar class="simple-scroll-bar scrollable import-export-body"><div class="card" id="importexportsection"><div class="card-header">Select file to import</div><div class="card-body"><div class="" id="div_Import"><input type="file" id="import_File" class="bg-light d-none d-sm-block required"><hr /><a href="javascript:;" id="fileUpload" class="btn btn-warning text-white" onclick=" Unibase.Platform.Automation.Components.ImportEventTemplate.Instance().FileUpload(\'' + containerid + '\');">Upload</a></div></div></div><div class="hidden" id="div_Export"><span id="sp_formName"></span><a href="javascript:;" id="fileExport" class="btn btn-primary text-white">Download</a></div></div><div class="bg-white footer"><button id="btn_CloseImport" class="btn btn-sm mr-auto btn-close">Close</button></div></form>';
  23. return html;
  24. }
  25. showImport() {
  26. this.navigationHelper.popup(0, '', Unibase.Platform.Automation.Components.ImportEventTemplate.Instance(), null, Platform.Helpers.Size.Large);
  27. }
  28. FileUpload(containerid) {
  29. var instance = this;
  30. instance.navigationHelper.showLoading();
  31. var url = _appsettings.server_url() + '/apis/v4/unibase/notificationrule/platform/ImportEventTemplates/np';
  32. Platform.Helpers.FileHelper.Instance().upload(url, Unibase.Platform.Automation.Components.ImportEventTemplate.fileData).then(function (response) {
  33. if (response.status == Unibase.Data.Status.Error) {
  34. instance.navigationHelper.hideLoading();
  35. MessageHelper.Instance().showError(response.message, "div_importmessage");
  36. }
  37. else {
  38. instance.navigationHelper.hideLoading();
  39. MessageHelper.Instance().showSuccess(response.message, "div_importmessage");
  40. $('#' + containerid).modal('hide');
  41. $('#' + containerid).remove();
  42. }
  43. });
  44. }
  45. load(id, containerid, callback) {
  46. var instance = this;
  47. $("#btn_CloseImport").click(function () {
  48. $('#' + containerid).modal('hide');
  49. $('#' + containerid).remove();
  50. });
  51. $("#btn_Import").click(function () {
  52. $("#importexportsection").removeClass("hidden");
  53. $("#div_Import").removeClass("hidden");
  54. });
  55. $('#import_File').change(function (e) {
  56. Unibase.Platform.Automation.Components.ImportEventTemplate.Instance().fileEvent(e);
  57. });
  58. $("#txt_Icon").focus(function () {
  59. $(".div_Icons").fadeIn();
  60. $("#icons").toggleClass("hidden");
  61. $(".div_Icons").removeClass('hidden');
  62. });
  63. $("#txt_Icon").focusout(function () {
  64. $(".div_Icons").fadeOut();
  65. });
  66. }
  67. fileEvent($event) {
  68. const fileSelected = $event.target.files[0];
  69. Unibase.Platform.Automation.Components.ImportEventTemplate.fileData = new FormData();
  70. Unibase.Platform.Automation.Components.ImportEventTemplate.fileData.append(fileSelected.name, fileSelected);
  71. }
  72. exporteventtemplates() {
  73. Unibase.Platform.Helpers.FileCacheHelper.Instance().loadJsFile("platform/automation/managers/rulemanager.js", function () {
  74. Unibase.Platform.Automation.Managers.RuleManager.Instance().exporteventtemplates().then(function (response) {
  75. var filename = "EventTemplate.xml";
  76. var xmltext = response;
  77. var pom = document.createElement('a');
  78. var bb = new Blob([xmltext], { type: 'text/plain' });
  79. pom.setAttribute('href', window.URL.createObjectURL(bb));
  80. pom.setAttribute('download', filename);
  81. pom.dataset.downloadurl = ['text/plain', pom.download, pom.href].join(':');
  82. pom.draggable = true;
  83. pom.classList.add('dragout');
  84. pom.click();
  85. });
  86. });
  87. }
  88. exportsingletemplates() {
  89. var doctypeid = 0;
  90. if (Unibase.Themes.Providers.Detail_Settings.Instance().InputParameters.length > 0) {
  91. for (let obj of Unibase.Themes.Providers.Detail_Settings.Instance().InputParameters) {
  92. if (obj.Key === "hf_" + Unibase.Themes.Providers.DetailHelper.installedAppId + "_doctypeid") {
  93. doctypeid = Number(obj.Value);
  94. }
  95. }
  96. }
  97. var instance = this;
  98. Unibase.Platform.Helpers.FileCacheHelper.Instance().loadJsFile("platform/automation/managers/rulemanager.js", function () {
  99. Unibase.Platform.Automation.Managers.RuleManager.Instance().exportsingletemplate(doctypeid).then(function (response) {
  100. var filename = "EventTemplate.xml";
  101. var xmltext = response;
  102. var pom = document.createElement('a');
  103. var bb = new Blob([xmltext], { type: 'text/plain' });
  104. pom.setAttribute('href', window.URL.createObjectURL(bb));
  105. pom.setAttribute('download', filename);
  106. pom.dataset.downloadurl = ['text/plain', pom.download, pom.href].join(':');
  107. pom.draggable = true;
  108. pom.classList.add('dragout');
  109. pom.click();
  110. });
  111. });
  112. }
  113. static Instance() {
  114. if (this.instance === undefined) {
  115. this.instance = new ImportEventTemplate();
  116. }
  117. return this.instance;
  118. }
  119. }
  120. ImportEventTemplate.fileData = new FormData();
  121. Components.ImportEventTemplate = ImportEventTemplate;
  122. })(Components = Automation.Components || (Automation.Components = {}));
  123. })(Automation = Platform.Automation || (Platform.Automation = {}));
  124. })(Platform = Unibase.Platform || (Unibase.Platform = {}));
  125. })(Unibase || (Unibase = {}));