123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119 |
- var Unibase;
- (function (Unibase) {
- let Platform;
- (function (Platform) {
- let Apps;
- (function (Apps) {
- let Components;
- (function (Components) {
- class PermissionExportImport extends Platform.Core.BaseComponent {
- constructor() {
- super();
- this.appmanager = Apps.Managers.AppManager.Instance();
- this.navigationhelper = Unibase.Platform.Helpers.NavigationHelper.Instance();
- }
- cssFiles() {
- return [];
- }
- jsFiles() {
- return ['platform/apps/components/appbuilder.js', "platform/forms/components/formviewer/formviewer.js", 'libs/parsley/parsley.min.js', 'platform/core/infos/status.js', '/platform/core/helpers/file/filehelper.js'];
- }
- html(id, containerid) {
- return `<form id="form_PermissionExpImp" data-validate="parsley" data-isdynamic="false">
- <div class="b-b bg-white header"><strong>Permissions Export/Import</strong></div>
- <div class="simple-scroll-bar scrollable import-export-body">
- <div id="div_importmessage" class="clear"></div>
- <div class="card">
- <div class="card-header">Export</div>
- <div class="card-body"><div id="div_Export">
- <a href="javascript:;" id="btn_permissionExport" class="btn btn-info text-white">Export</a>
- </div></div></div>
- <div class="card">
- <div class="card-header">Select file to import</div>
- <div class="card-body"><div class="" id="div_Import">
- <input type="file" id="permissionimport_File" class="bg-light d-none d-sm-block required"></br>
- <a href="javascript:;" id="fileUpload" class="btn btn-warning text-white">Upload</a></div>
- </div></div>
- </div>
- <div class="bg-white footer"><button id="btn_PermissionClose" class="btn btn-sm mr-auto btn-close">Close</button></div></form>`;
- }
- load(id, containerid, callback) {
- var instance = this;
- $("#btn_PermissionClose").click(function () {
- $('#' + containerid).modal('hide');
- $('#' + containerid).remove();
- });
- $('#permissionimport_File').change(function (e) {
- Unibase.Platform.Apps.Components.PermissionExportImport.Instance().fileEvent(e);
- });
- $("#btn_permissionExport").on("click", function () {
- PermissionExportImport.Instance().exportapprolesettings();
- });
- $("#fileUpload").click(function () {
- let permissioncontrolid = "form_PermissionExpImp";
- let result = Unibase.Platform.Forms.Components.FormViewer.Instance().requiredFieldValidation(permissioncontrolid);
- if (result == false) {
- MessageHelper.Instance().showError("Plase Select File", "div_importmessage");
- return false;
- }
- else {
- PermissionExportImport.Instance().importapprolesettings(containerid);
- }
- });
- }
- exportapprolesettings() {
- var instance = this;
- instance.navigationHelper.showLoading();
- instance.appmanager.exportAppRoleSettings().then(function (response) {
- var filename = "Permissions.xml";
- var xmltext = response.result;
- var pom = document.createElement('a');
- var bb = new Blob([xmltext], { type: 'text/plain' });
- pom.setAttribute('href', window.URL.createObjectURL(bb));
- pom.setAttribute('download', filename);
- pom.dataset.downloadurl = ['text/plain', pom.download, pom.href].join(':');
- pom.draggable = true;
- pom.classList.add('dragout');
- pom.click();
- instance.navigationHelper.hideLoading();
- });
- }
- importapprolesettings(containerid) {
- var instance = this;
- instance.navigationHelper.showLoading();
- var url = _appsettings.server_url() + '/apis/v4/unibase/platform/apps/importapprolesettings/np';
- Platform.Helpers.FileHelper.Instance().upload(url, Unibase.Platform.Apps.Components.PermissionExportImport.fileData).then(function (response) {
- if (response.status == Unibase.Data.Status.Error) {
- instance.navigationHelper.hideLoading();
- MessageHelper.Instance().showError(response.message, "div_importmessage");
- }
- else {
- instance.navigationHelper.hideLoading();
- MessageHelper.Instance().showSuccess(response.message, "div_importmessage");
- $('#' + containerid).modal('hide');
- $('#' + containerid).remove();
- }
- });
- }
- showImport() {
- this.navigationHelper.popup(0, '', Unibase.Platform.Apps.Components.PermissionExportImport.Instance(), null, Platform.Helpers.Size.Large);
- }
- fileEvent($event) {
- const fileSelected = $event.target.files[0];
- Unibase.Platform.Apps.Components.PermissionExportImport.fileData = new FormData();
- Unibase.Platform.Apps.Components.PermissionExportImport.fileData.append(fileSelected.name, fileSelected);
- }
- static Instance() {
- if (this.instance === undefined) {
- this.instance = new PermissionExportImport();
- }
- return this.instance;
- }
- }
- PermissionExportImport.fileData = new FormData();
- PermissionExportImport.childappnames = [];
- Components.PermissionExportImport = PermissionExportImport;
- })(Components = Apps.Components || (Apps.Components = {}));
- })(Apps = Platform.Apps || (Platform.Apps = {}));
- })(Platform = Unibase.Platform || (Unibase.Platform = {}));
- })(Unibase || (Unibase = {}));
|