var Unibase;
(function (Unibase) {
let Platform;
(function (Platform) {
let Apps;
(function (Apps) {
let Components;
(function (Components) {
class Import 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/apps/components/import.js', "platform/forms/components/formviewer/formviewer.js", 'libs/parsley/parsley.min.js', 'platform/core/infos/status.js', '/platform/core/helpers/file/filehelper.js', 'platform/permission/managers/permissionmanager.js'];
}
html(id, containerid) {
var instance = this;
var data;
if (this.DuplicateHtml == true) {
var installedappid = Unibase.Themes.Providers.DetailHelper.recordId;
instance.appmanager.getChilds(installedappid).then(function (response) {
data = response.result;
}).then(function () {
if (data.length > 0) {
var html1 = "";
$(".div_childbody").empty();
for (let i = 0; i < data.length; i++) {
html1 += '
';
}
$(".div_childapp").removeClass('hidden');
$(".child_card").removeClass('hidden');
$(".div_childbody").append(html1);
}
});
var html = ``;
return html;
}
else if (this.PermissionsExportImportHtml == true) {
return ``;
}
else {
return ``;
}
}
load(id, containerid, callback) {
var instance = this;
$("#btn_CloseImport,#btn_CloseDuplicateApp").click(function () {
$('#' + containerid).modal('hide');
$('#' + containerid).remove();
});
$("#btn_Import").click(function () {
$("#importexportsection").removeClass("hidden");
$("#div_Import").removeClass("hidden");
});
$('#import_File').change(function (e) {
Unibase.Platform.Apps.Components.Import.Instance().fileEvent(e);
});
$('#import_AllAppsPermissionFile').change(function (e) {
Unibase.Platform.Apps.Components.Import.Instance().allAppsPermissionFileEvent(e);
});
$('#import_SingleAppPermissionFile').change(function (e) {
Unibase.Platform.Apps.Components.Import.Instance().singleAppPermissionFileEvent(e);
});
$("#btn_SaveDuplicateApp").on("click", function () {
let controlid = "frmUnibase_DuplicateApp";
let result = Unibase.Platform.Forms.Components.FormViewer.Instance().requiredFieldValidation(controlid);
if (result == false) {
MessageHelper.Instance().showError("Mandatory Fields are missing", "div_duplicatemessage");
return false;
}
Import.Instance().SaveDuplicateApp(containerid);
});
$("#txt_Icon").focus(function () {
$(".div_Icons").fadeIn();
$("#icons").toggleClass("hidden");
$(".div_Icons").removeClass('hidden');
});
$("#txt_Icon").focusout(function () {
$(".div_Icons").fadeOut();
});
Unibase.Platform.Apps.Components.AppBuilder.Instance().loadIcons();
$("#fileUpload").click(function () {
let appcontrolid = "form_Import";
let result = Unibase.Platform.Forms.Components.FormViewer.Instance().requiredFieldValidation(appcontrolid);
if (result == false) {
MessageHelper.Instance().showError("Please Select File", "div_importmessage");
return false;
}
else {
setTimeout(function () {
if (Unibase.Platform.Apps.Components.Import.Instance().importType == "apps") {
Import.Instance().importApp(containerid);
}
else if (Unibase.Platform.Apps.Components.Import.Instance().importType == "widget") {
instance.fileCacheHelper.loadJsFile("platform/widgets/components/widget.js", function () {
Unibase.Platform.Widgets.Components.Widget.Instance().importWidget(containerid, Unibase.Platform.Apps.Components.Import.fileData);
});
}
else {
MessageHelper.Instance().showError("Please Select Import Type", "div_importmessage");
Unibase.Platform.Helpers.NavigationHelper.Instance().hideLoading();
}
}, 1000);
Unibase.Platform.Helpers.NavigationHelper.Instance().showLoading();
}
});
$("#allAppsPermission_fileUpload").click(function () {
let appcontrolid = "form_AllAppsPermissionsExportImport";
let result = Unibase.Platform.Forms.Components.FormViewer.Instance().requiredFieldValidation(appcontrolid);
if (result == false) {
MessageHelper.Instance().showError("Please Select File", "div_permissionsimportmessage");
return false;
}
else {
setTimeout(function () {
Import.Instance().importAppPermissions(containerid);
}, 1000);
Unibase.Platform.Helpers.NavigationHelper.Instance().showLoading();
}
});
$("#singleAppPermission_fileUpload").click(function () {
let appcontrolid = "form_SingleAppPermissionsImport";
let result = Unibase.Platform.Forms.Components.FormViewer.Instance().requiredFieldValidation(appcontrolid);
if (result == false) {
MessageHelper.Instance().showError("Please Select File", "div_permissionsimportmessage");
return false;
}
else {
setTimeout(function () {
Import.Instance().importAppPermissions(containerid);
}, 1000);
Unibase.Platform.Helpers.NavigationHelper.Instance().showLoading();
}
});
}
ImportType(importType) {
if (importType == 1) {
this.importType = "apps";
}
else if (importType == 2) {
this.importType = "widget";
}
}
importApp(containerid) {
var instance = this;
var url = _appsettings.server_url() + '/apis/v4/unibase/platform/apps/importapp/np';
Platform.Helpers.FileHelper.Instance().upload(url, Unibase.Platform.Apps.Components.Import.fileData).then(function (response) {
if (response.status == Unibase.Data.Status.Error) {
MessageHelper.Instance().showError(response.message, "div_importmessage");
}
else {
MessageHelper.Instance().showSuccess(response.message, "div_importmessage");
$('#' + containerid).modal('hide');
$('#' + containerid).remove();
}
Unibase.Platform.Helpers.NavigationHelper.Instance().hideLoading();
});
}
showImport(isduplicate) {
var obj = new Unibase.Platform.Apps.Components.Import;
obj.DuplicateHtml = isduplicate;
this.navigationHelper.popup(0, '', obj, null, Platform.Helpers.Size.Large);
}
permissionsExportImport(ispermissionhtml) {
var obj = new Unibase.Platform.Apps.Components.Import;
obj.PermissionsExportImportHtml = ispermissionhtml;
this.navigationHelper.popup(0, '', obj, null, Platform.Helpers.Size.Large);
}
fileEvent($event) {
const fileSelected = $event.target.files[0];
Unibase.Platform.Apps.Components.Import.fileData = new FormData();
Unibase.Platform.Apps.Components.Import.fileData.append(fileSelected.name, fileSelected);
}
singleAppPermissionFileEvent($event) {
const fileSelected = $event.target.files[0];
Unibase.Platform.Apps.Components.Import.permissionfileData = new FormData();
Unibase.Platform.Apps.Components.Import.permissionfileData.append(fileSelected.name, fileSelected);
}
allAppsPermissionFileEvent($event) {
const fileSelected = $event.target.files[0];
Unibase.Platform.Apps.Components.Import.permissionfileData = new FormData();
Unibase.Platform.Apps.Components.Import.permissionfileData.append(fileSelected.name, fileSelected);
}
exportAppRoleSettings() {
var instance = this;
instance.navigationHelper.showLoading();
instance.appmanager.exportAppRoleSettings().then(function (response) {
if (response.status == Unibase.Data.Status.Error) {
instance.navigationHelper.hideLoading();
MessageHelper.Instance().showError(response.message, "div_permissionsimportmessage");
return false;
}
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;
var url = _appsettings.server_url() + '/apis/v4/unibase/platform/apps/importapprolesettings/np';
Platform.Helpers.FileHelper.Instance().upload(url, Unibase.Platform.Apps.Components.Import.permissionfileData).then(function (response) {
if (response.status == Unibase.Data.Status.Error) {
MessageHelper.Instance().showError(response.result, "div_permissionsimportmessage");
}
else {
MessageHelper.Instance().showSuccess(response.result, "div_permissionsimportmessage");
$('#' + containerid).modal('hide');
$('#' + containerid).remove();
}
Unibase.Platform.Helpers.NavigationHelper.Instance().hideLoading();
});
}
SaveDuplicateApp(containerid) {
var instance = this;
var recordid = Unibase.Themes.Providers.DetailHelper.recordId;
$(".div_childs").each(function () {
var oldappname = $(this).find(".sp_appname").text();
var newappname = $(this).find("#txt_Childapp").val();
Import.childappnames.push({ oldapptitle: oldappname, newapptitle: newappname });
});
let postdata = {
InstalledAppId: recordid,
AppTitle: $("#txt_Name").val(),
IconName: $("#txtfafaIcon").val(),
ChildApps: Import.childappnames
};
instance.navigationHelper.showLoading();
instance.appmanager.duplicateApp(postdata).then(function (response) {
if (response.status == Unibase.Data.Status.Error) {
MessageHelper.Instance().showError(response.message, "div_duplicatemessage");
}
else {
MessageHelper.Instance().showSuccess(response.message, "div_duplicatemessage");
$('#' + containerid).modal('hide');
$('#' + containerid).remove();
}
instance.navigationHelper.hideLoading();
});
}
exportAppPermissions() {
var instance = this;
instance.navigationHelper.showLoading();
instance.appmanager.exportAppPermissions(0).then(function (response) {
if (response.status == Unibase.Data.Status.Error) {
instance.navigationHelper.hideLoading();
MessageHelper.Instance().showError(response.message, "div_permissionsimportmessage");
return false;
}
var filename = "AllAppPermissions.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();
});
}
importAppPermissions(containerid) {
var instance = this;
var url = _appsettings.server_url() + '/apis/v4/unibase/platform/apps/importapppermissions/np';
Platform.Helpers.FileHelper.Instance().upload(url, Unibase.Platform.Apps.Components.Import.permissionfileData).then(function (response) {
if (response.status == Unibase.Data.Status.Error) {
MessageHelper.Instance().showError(response.message, "div_permissionsimportmessage");
}
else {
MessageHelper.Instance().showSuccess(response.result, "div_permissionsimportmessage");
$('#' + containerid).modal('hide');
$('#' + containerid).remove();
}
Unibase.Platform.Helpers.NavigationHelper.Instance().hideLoading();
});
}
static Instance() {
if (this.instance === undefined) {
this.instance = new Import();
}
return this.instance;
}
}
Import.fileData = new FormData();
Import.permissionfileData = new FormData();
Import.childappnames = [];
Components.Import = Import;
})(Components = Apps.Components || (Apps.Components = {}));
})(Apps = Platform.Apps || (Platform.Apps = {}));
})(Platform = Unibase.Platform || (Unibase.Platform = {}));
})(Unibase || (Unibase = {}));