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.

ImportInstantReminder.js 9.3KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134
  1. var Unibase;
  2. (function (Unibase) {
  3. let Platform;
  4. (function (Platform) {
  5. let Communications;
  6. (function (Communications) {
  7. let Components;
  8. (function (Components) {
  9. class ImportInstantReminder extends Unibase.Platform.Core.BaseComponent {
  10. jsFiles() {
  11. return ['platform/communications/managers/reminders/remindermanager.js',
  12. "platform/forms/components/formviewer/formviewer.js",
  13. 'libs/parsley/parsley.min.js',
  14. 'platform/core/infos/status.js', '/platform/core/helpers/file/filehelper.js'];
  15. }
  16. cssFiles() {
  17. return [];
  18. }
  19. ;
  20. html(id, containerid) {
  21. var instance = this;
  22. let html = '<form id="form_ImportInstantReminder" data-validate="parsley" data-isdynamic="false"><div id="div_importmessage" class="clear"></div><div class="b-b bg-white header dataApiHeader"><strong>Import InstantReminder</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.Communications.Components.ImportInstantReminder.Instance().FileUpload(\'' + containerid + '\',' + ImportInstantReminder.IsAlltenants + ');">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(IsAllTenants) {
  26. ImportInstantReminder.IsAlltenants = IsAllTenants;
  27. this.navigationHelper.popup(0, '', Unibase.Platform.Communications.Components.ImportInstantReminder.Instance(), null, Platform.Helpers.Size.Large);
  28. }
  29. FileUpload(containerid, IsAllTenants) {
  30. var instance = this;
  31. instance.navigationHelper.showLoading();
  32. var url = _appsettings.server_url() + '/apis/v4/unibase/instantreminders/platform/ImportInSigleTenant/np';
  33. if (IsAllTenants) {
  34. url = _appsettings.server_url() + '/apis/v4/unibase/instantreminders/platform/ImportToAllTenants/np';
  35. }
  36. Platform.Helpers.FileHelper.Instance().upload(url, Unibase.Platform.Communications.Components.ImportInstantReminder.fileData).then(function (response) {
  37. if (response.status == Unibase.Data.Status.Error) {
  38. instance.navigationHelper.hideLoading();
  39. MessageHelper.Instance().showError(response.message, "div_importmessage");
  40. }
  41. else {
  42. instance.navigationHelper.hideLoading();
  43. MessageHelper.Instance().showSuccess(response.message, "div_importmessage");
  44. $('#' + containerid).modal('hide');
  45. $('#' + containerid).remove();
  46. }
  47. });
  48. }
  49. load(id, containerid, callback) {
  50. var instance = this;
  51. $("#btn_CloseImport").click(function () {
  52. $('#' + containerid).modal('hide');
  53. $('#' + containerid).remove();
  54. });
  55. $("#btn_Import").click(function () {
  56. $("#importexportsection").removeClass("hidden");
  57. $("#div_Import").removeClass("hidden");
  58. });
  59. $('#import_File').change(function (e) {
  60. Unibase.Platform.Communications.Components.ImportInstantReminder.Instance().fileEvent(e);
  61. });
  62. $("#txt_Icon").focus(function () {
  63. $(".div_Icons").fadeIn();
  64. $("#icons").toggleClass("hidden");
  65. $(".div_Icons").removeClass('hidden');
  66. });
  67. $("#txt_Icon").focusout(function () {
  68. $(".div_Icons").fadeOut();
  69. });
  70. }
  71. fileEvent($event) {
  72. const fileSelected = $event.target.files[0];
  73. Unibase.Platform.Communications.Components.ImportInstantReminder.fileData = new FormData();
  74. Unibase.Platform.Communications.Components.ImportInstantReminder.fileData.append(fileSelected.name, fileSelected);
  75. }
  76. ExportSingleInstantReminder() {
  77. var instantreminderid = Unibase.Themes.Providers.Detail_Settings.Instance().InputParameters.find(x => x.Key === "hf_" + Unibase.Themes.Providers.DetailHelper.installedAppId + "_recordid").Value;
  78. var instance = this;
  79. Unibase.Platform.Helpers.FileCacheHelper.Instance().loadJsFile("platform/communications/managers/reminders/remindermanager.js", function () {
  80. Unibase.Platform.Communications.Managers.ReminderManager.Instance().ExportSingleInstantReminder(instantreminderid).then(function (response) {
  81. var filename = "InstantReminder.xml";
  82. var xmltext = response;
  83. var pom = document.createElement('a');
  84. var bb = new Blob([xmltext], { type: 'text/plain' });
  85. pom.setAttribute('href', window.URL.createObjectURL(bb));
  86. pom.setAttribute('download', filename);
  87. pom.dataset.downloadurl = ['text/plain', pom.download, pom.href].join(':');
  88. pom.draggable = true;
  89. pom.classList.add('dragout');
  90. pom.click();
  91. });
  92. });
  93. }
  94. ExportInstantReminders() {
  95. Unibase.Platform.Helpers.FileCacheHelper.Instance().loadJsFile("platform/communications/managers/reminders/remindermanager.js", function () {
  96. Unibase.Platform.Communications.Managers.ReminderManager.Instance().ExportInstantReminders().then(function (response) {
  97. var filename = "InstantReminders.xml";
  98. var xmltext = response;
  99. var pom = document.createElement('a');
  100. var bb = new Blob([xmltext], { type: 'text/plain' });
  101. pom.setAttribute('href', window.URL.createObjectURL(bb));
  102. pom.setAttribute('download', filename);
  103. pom.dataset.downloadurl = ['text/plain', pom.download, pom.href].join(':');
  104. pom.draggable = true;
  105. pom.classList.add('dragout');
  106. pom.click();
  107. });
  108. });
  109. }
  110. SendToAllTenants() {
  111. var refguid = Unibase.Themes.Providers.Detail_Settings.Instance().InputParameters.find(x => x.Key == "hf_" + Unibase.Themes.Providers.DetailHelper.installedAppId + "_refguid").Value;
  112. Unibase.Platform.Communications.Managers.ReminderManager.Instance().SendToAll(refguid).then(function (response) {
  113. if (response.status = Unibase.Data.Status.Success) {
  114. alert("Failed To Update");
  115. }
  116. else {
  117. alert("SucessFully Updated");
  118. }
  119. });
  120. }
  121. static Instance() {
  122. if (this.instance == undefined) {
  123. this.instance = new ImportInstantReminder();
  124. }
  125. return this.instance;
  126. }
  127. }
  128. ImportInstantReminder.fileData = new FormData();
  129. ImportInstantReminder.IsAlltenants = false;
  130. Components.ImportInstantReminder = ImportInstantReminder;
  131. })(Components = Communications.Components || (Communications.Components = {}));
  132. })(Communications = Platform.Communications || (Platform.Communications = {}));
  133. })(Platform = Unibase.Platform || (Unibase.Platform = {}));
  134. })(Unibase || (Unibase = {}));