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.

import.js 9.8KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157
  1. var Unibase;
  2. (function (Unibase) {
  3. let Platform;
  4. (function (Platform) {
  5. let Dashboards;
  6. (function (Dashboards) {
  7. let Components;
  8. (function (Components) {
  9. class Import extends Platform.Core.BaseComponent {
  10. constructor() {
  11. super();
  12. this.dashboardmanager = Dashboards.Managers.DashboardManager.Instance();
  13. this.navigationhelper = Unibase.Platform.Helpers.NavigationHelper.Instance();
  14. }
  15. cssFiles() {
  16. var cssfiles = ["libs/nestable/JqueryminMenu.css"];
  17. return cssfiles;
  18. }
  19. jsFiles() {
  20. return ['platform/dashboards/managers/dashboardmanager.js',
  21. 'platform/dashboards/components/import.js',
  22. "platform/forms/components/formviewer/formviewer.js",
  23. 'libs/parsley/parsley.min.js',
  24. 'platform/core/infos/status.js', '/platform/core/helpers/file/filehelper.js'];
  25. }
  26. html(id, containerid) {
  27. var instance = this;
  28. var dashboardGroup = "</br>";
  29. let navElement = document.getElementsByClassName("navbar-header");
  30. if (navElement.length != 0) {
  31. dashboardGroup = '<input type="radio" id="dashboard" class="dashboard_import_dashboard" onclick = "Unibase.Platform.Dashboards.Components.Import.Instance().ImportType(1)" name = "dashboard_import_radio_btn" value = "Dashboard" > <label for= "dashboard" > Dashboard </label><br> <input type="radio" id="dashboardgroup" class="dashboard_import_dashboardgroup" onclick="Unibase.Platform.Dashboards.Components.Import.Instance().ImportType(2)"name="dashboard_import_radio_btn" value="dashboardgroup"><label for="dashboardgroup">Dashboard Group</label><br>';
  32. }
  33. else {
  34. dashboardGroup = '<input type="radio" id="portlet" class="app_import_portlet" onclick="Unibase.Platform.Dashboards.Components.Import.Instance().ImportType(3)" name="portlet_import_radio_btn" value="portlet"><label for="dashboardgroup">Portlet</label> <br>';
  35. }
  36. let html = `<form id="form_Import" data-validate="parsley" data-isdynamic="false">
  37. <div class="modal-header"><strong class="text-dark">Import</strong><div id="div_importmessage" class="clear form-error-message"></div></div>
  38. <div data-simplebar class="import-export-body modal-body simple-scroll-bar" style="overflow-y:auto">
  39. <div id="industry_validation" class="clear"></div>
  40. <div id="div_importexport">
  41. <div class="card" id="importexportsection">
  42. <div class="card-body">
  43. <div id="div_Import"><input type="file" id="import_File" class="bg-light d-none d-sm-block required">
  44. <hr>${dashboardGroup}<a href="javascript:;" id="fileUpload" class="btn btn-warning text-white" onclick="Unibase.Platform.Dashboards.Components.Import.Instance().loadEventBeforeFileUpload('${containerid}')">Upload</a>
  45. </div>
  46. </div>
  47. </div>
  48. <div class="hidden" id="div_Export"><span id="sp_formName"></span><a href="javascript:;"
  49. id="fileExport" class="btn btn-primary text-white">Download</a></div>
  50. </div>
  51. </div>
  52. <div class="bg-white modal-footer footer"><button id="btn_CloseImport" class="btn btn-secondary btn-sm mr-auto">Close</button></div>
  53. </form>`;
  54. return html;
  55. }
  56. loadEventBeforeFileUpload(containerid) {
  57. let instance = this;
  58. $("#preloader-it").css("display", "block");
  59. setTimeout(function () {
  60. instance.FileUpload(containerid);
  61. }, 100);
  62. }
  63. FileUpload(containerid) {
  64. var instance = this;
  65. var url = "";
  66. let appcontrolid = "import_File";
  67. let result = Unibase.Platform.Forms.Components.FormViewer.Instance().requiredFieldValidation(appcontrolid);
  68. if (result == false) {
  69. MessageHelper.Instance().showError("Please Choose File", "div_importmessage");
  70. instance.navigationHelper.hideLoading();
  71. return false;
  72. }
  73. instance.navigationHelper.showLoading();
  74. if (this.importType == "dashboard") {
  75. url = _appsettings.server_url() + '/apis/v4/unibase/platform/portlets/importportlet/np';
  76. }
  77. else if (this.importType == "dashboardGroup") {
  78. url = _appsettings.server_url() + '/apis/v4/unibase/platform/apps/importdashboardportlets/np';
  79. }
  80. else if (this.importType == "portlet") {
  81. url = _appsettings.server_url() + '/apis/v4/unibase/platform/portlets/importportlet/np';
  82. }
  83. else {
  84. MessageHelper.Instance().showError("Please Select Import Type", "div_importmessage");
  85. instance.navigationHelper.hideLoading();
  86. }
  87. if (url != "") {
  88. instance.navigationhelper.showLoading();
  89. Platform.Helpers.FileHelper.Instance().upload(url, Unibase.Platform.Dashboards.Components.Import.fileData).then(function (response) {
  90. if (response.status == Unibase.Data.Status.Error) {
  91. MessageHelper.Instance().showError(response.message, "div_importmessage");
  92. }
  93. else {
  94. MessageHelper.Instance().showSuccess('success', "div_importmessage");
  95. let VisibleContainerId = Unibase.Platform.Helpers.NavigationHelper.ModalContainerIds[Unibase.Platform.Helpers.NavigationHelper.ModalContainerIds.length - 1];
  96. $('#' + VisibleContainerId).modal('hide');
  97. $('#' + VisibleContainerId).remove();
  98. }
  99. instance.navigationHelper.hideLoading();
  100. });
  101. }
  102. $("#preloader-it").css("display", "none");
  103. }
  104. load(id, containerid, callback) {
  105. var instance = this;
  106. $("#btn_CloseImport").click(function () {
  107. $(".biz-submenu").css({ "z-index": "9999" });
  108. $(".biz-layout-3-left-nav").css({ "z-index": "9999" });
  109. $(".toplayout-structures-panel").css({ "z-index": "9999" });
  110. $('#' + containerid).modal('hide');
  111. $('#' + containerid).remove();
  112. });
  113. $("#btn_Import").click(function () {
  114. $("#importexportsection").removeClass("hidden");
  115. $("#div_Import").removeClass("hidden");
  116. });
  117. $('#import_File').change(function (e) {
  118. Unibase.Platform.Dashboards.Components.Import.Instance().fileEvent(e);
  119. });
  120. $("#txt_Icon").focus(function () {
  121. $(".div_Icons").fadeIn();
  122. $("#icons").toggleClass("hidden");
  123. $(".div_Icons").removeClass('hidden');
  124. });
  125. $("#txt_Icon").focusout(function () {
  126. $(".div_Icons").fadeOut();
  127. });
  128. }
  129. ImportType(importType) {
  130. if (importType == 1) {
  131. this.importType = "dashboard";
  132. }
  133. else if (importType == 2) {
  134. this.importType = "dashboardGroup";
  135. }
  136. else if (importType == 3) {
  137. this.importType = "portlet";
  138. }
  139. }
  140. fileEvent($event) {
  141. const fileSelected = $event.target.files[0];
  142. Unibase.Platform.Dashboards.Components.Import.fileData = new FormData();
  143. Unibase.Platform.Dashboards.Components.Import.fileData.append(fileSelected.name, fileSelected);
  144. }
  145. static Instance() {
  146. if (this.instance === undefined) {
  147. this.instance = new Import();
  148. }
  149. return this.instance;
  150. }
  151. }
  152. Import.fileData = new FormData();
  153. Components.Import = Import;
  154. })(Components = Dashboards.Components || (Dashboards.Components = {}));
  155. })(Dashboards = Platform.Dashboards || (Platform.Dashboards = {}));
  156. })(Platform = Unibase.Platform || (Unibase.Platform = {}));
  157. })(Unibase || (Unibase = {}));