1234 |
- var Unibase;(function(n){let t;(function(t){let i;(function(i){let r;(function(r){class u extends t.Core.BaseComponent{constructor(){super();this.appmanager=i.Managers.AppManager.Instance();this.navigationhelper=n.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(){var r=this,t,i;return this.DuplicateHtml==!0?(i=n.Themes.Providers.DetailHelper.recordId,r.appmanager.getChilds(i).then(function(n){t=n.result}).then(function(){if(t.length>0){var n="";$(".div_childbody").empty();for(let i=0;i<t.length;i++)n+='<div class="row div_childs"><div class="col-sm-4" style="margin-top:50px"><strong><span class="sp_appname" data-text='+t[i].InstalledAppId+">"+t[i].AppTitle+'<\/span><\/strong><\/div><div class="col-sm-6"> <div class="floating-label-form-group"> <label for= "txt_childapp" class= "font-bold"> App Title <span class="text-danger">*<\/span> <\/label > <input type="text" id = "txt_Childapp" class="form-control floating-label-control required childapp" data - isdynamic="false" placeholder = "App Title *" data - placeholder="Enter App Title" data-label="App Title *" autocomplete = "off"/><\/div><\/div><\/div>';$(".div_childapp").removeClass("hidden");$(".child_card").removeClass("hidden");$(".div_childbody").append(n)}}),`<form id="frmUnibase_DuplicateApp" data-validate="parsley" data-isdynamic="false"><div id="div_duplicatemessage" class="clear"></div><div class="card bg-light"><div class="b-b bg-white card-header header"><strong class="text-dark title" id="lbl_title">Duplicate App</strong> </div>
- <div class="card-body scrollable" id = "divCreateApp"> <div class="bg-white card"> <div id="unibase_ValidationSummary" class="clear"> </div><div class="card-body"><div class="row"> <div class="col-sm-6"> <div class="floating-label-form-group"> <label for= "txt_FriendlyName" class= "font-bold"> App Title <span class="text-danger"> * </span></label> <input type="text" id = "txt_Name" class="form-control floating-label-control required" data - isdynamic="false" placeholder = "App Title *" data - placeholder="Enter App Title" data - label="App Title *" autocomplete = "off"/> </div></div>
- <div class="col-sm-6"> <div class="floating-label-form-group div_IconGroupName" id = "div_IconMargin"> <label for= "txt_IconName" class= "font-bold"> Icon Name <span class="text-danger"> * </span></label > <input type="text" id = "txt_Icon" class="form-control floating-label-control tokenable" data - isdynamic="false" placeholder = "Icon Name *" data - placeholder="Enter Icon Name" data - label="Icon Name *" autocomplete = "off"> <input type='hidden' id = 'txtfafaIcon'/> <div class='div_GroupIcon'></div></div> </div></div><div class='col-sm-12 hidden div_Icons' id = 'icons'>
- <div id='appicons' class='panel panel-default'><ul class='list-group no-radius m-b-none list-group-item no-border icon-list'> </ul></div></div> </div></div><div class="b-b bg-white div_childapp hidden card-header header"><strong class="text-dark title">Child Apps</strong> </div> <div class="bg-white card child_card hidden"><div class="card-body div_childbody"></div></div> </div><div class="bg-white card-footer footer" id = "CreateAppFooter"> <button id="btn_CloseDuplicateApp" class="btn btn-secondary btn-sm mr-auto"> Close </button><button id="btn_SaveDuplicateApp" class="btn btn-primary btn-sm pull-right">Save</button></div></div></form>`):this.PermissionsExportImportHtml==!0?`<div class="b-b bg-white header"> <strong>Export/Import Permissions</strong></div><div class="simple-scroll-bar scrollable"> <div id="div_permissionsimportmessage" class="clear"></div><form id="form_AllAppsPermissionsExportImport" data-validate="parsley" data-isdynamic="false"> <div class="card"> <div class="card-header">For All Apps</div><div class="card-body"> <ul class="d-flex justify-content-between w-100"> <li class=" w-45"> <div class="card-header">Import</div><div class="card-body"> <div class="" id="div_AllPermissionsImport"> Select file to import </br> </br> <input type="file" id="import_AllAppsPermissionFile" class="bg-light required"> <br/> <br/> <a href="javascript:;" id="allAppsPermission_fileUpload" class="btn btn-warning text-white">Upload</a> </div></div></li><li class="w-45 h-130p"> <div class="card-header"> Export</div><div class="card-body"> <a href="javascript:;" onclick="Unibase.Platform.Apps.Components.Import.Instance().exportAppPermissions();" class="btn btn-info text-white">Export</a> </div></li></ul> </div></div></form> <form id="form_SingleAppPermissionsImport" data-validate="parsley" data-isdynamic="false"> <div class="card"> <div class="card-header"> For Individual App</div><div class="card-body"> <ul class="d-flex flex-column w-100"> <li class="card w-50"> <div class="card-header">Import</div><div class="card-body"> <div class="" id="div_IndividualAppPermissionsImport">Select File to import <br/></br> <input type="file" id="import_SingleAppPermissionFile" class="bg-light required"> <br/> <br/> <a href="javascript:;" id="singleAppPermission_fileUpload" class="btn btn-warning text-white">Upload</a> </div></div></li></ul> </div></div></form></div><div class="bg-white footer"> <button id="btn_CloseImport" class="btn btn-sm mr-auto btn-close">Close</button></div>`:`<form id="form_Import" data-validate="parsley" data-isdynamic="false"><div class="b-b bg-white header"><strong>Import App</strong></div><div class="simple-scroll-bar scrollable"><div id="div_importmessage" class="clear"></div><div class="card" id="importexportsection"><div class="card-header">Select file to import</div><div class="card-body"><div id="div_Import"><input type="file" id="import_File" class="bg-light required"><br><br><input type="radio" id="apps" class="app_store_import_apps" onclick="Unibase.Platform.Apps.Components.Import.Instance().ImportType(1)" name="app_store_import_radio_btn" value="apps"><label for="apps">Apps</label><br><input type="radio" id="widget" class="app_store_import_widget" onclick="Unibase.Platform.Apps.Components.Import.Instance().ImportType(2)" name="app_store_import_radio_btn" value="Widget"><label for="widget">Widget</label><br><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_CloseImport" class="btn btn-sm mr-auto btn-close">Close</button></div></form>`}load(t,i){var r=this;$("#btn_CloseImport,#btn_CloseDuplicateApp").click(function(){$("#"+i).modal("hide");$("#"+i).remove()});$("#btn_Import").click(function(){$("#importexportsection").removeClass("hidden");$("#div_Import").removeClass("hidden")});$("#import_File").change(function(t){n.Platform.Apps.Components.Import.Instance().fileEvent(t)});$("#import_AllAppsPermissionFile").change(function(t){n.Platform.Apps.Components.Import.Instance().allAppsPermissionFileEvent(t)});$("#import_SingleAppPermissionFile").change(function(t){n.Platform.Apps.Components.Import.Instance().singleAppPermissionFileEvent(t)});$("#btn_SaveDuplicateApp").on("click",function(){let t=n.Platform.Forms.Components.FormViewer.Instance().requiredFieldValidation("frmUnibase_DuplicateApp");if(t==!1)return MessageHelper.Instance().showError("Mandatory Fields are missing","div_duplicatemessage"),!1;u.Instance().SaveDuplicateApp(i)});$("#txt_Icon").focus(function(){$(".div_Icons").fadeIn();$("#icons").toggleClass("hidden");$(".div_Icons").removeClass("hidden")});$("#txt_Icon").focusout(function(){$(".div_Icons").fadeOut()});n.Platform.Apps.Components.AppBuilder.Instance().loadIcons();$("#fileUpload").click(function(){let t=n.Platform.Forms.Components.FormViewer.Instance().requiredFieldValidation("form_Import");if(t==!1)return MessageHelper.Instance().showError("Please Select File","div_importmessage"),!1;setTimeout(function(){n.Platform.Apps.Components.Import.Instance().importType=="apps"?u.Instance().importApp(i):n.Platform.Apps.Components.Import.Instance().importType=="widget"?r.fileCacheHelper.loadJsFile("platform/widgets/components/widget.js",function(){n.Platform.Widgets.Components.Widget.Instance().importWidget(i,n.Platform.Apps.Components.Import.fileData)}):(MessageHelper.Instance().showError("Please Select Import Type","div_importmessage"),n.Platform.Helpers.NavigationHelper.Instance().hideLoading())},1e3);n.Platform.Helpers.NavigationHelper.Instance().showLoading()});$("#allAppsPermission_fileUpload").click(function(){let t=n.Platform.Forms.Components.FormViewer.Instance().requiredFieldValidation("form_AllAppsPermissionsExportImport");if(t==!1)return MessageHelper.Instance().showError("Please Select File","div_permissionsimportmessage"),!1;setTimeout(function(){u.Instance().importAppPermissions(i)},1e3);n.Platform.Helpers.NavigationHelper.Instance().showLoading()});$("#singleAppPermission_fileUpload").click(function(){let t=n.Platform.Forms.Components.FormViewer.Instance().requiredFieldValidation("form_SingleAppPermissionsImport");if(t==!1)return MessageHelper.Instance().showError("Please Select File","div_permissionsimportmessage"),!1;setTimeout(function(){u.Instance().importAppPermissions(i)},1e3);n.Platform.Helpers.NavigationHelper.Instance().showLoading()})}ImportType(n){n==1?this.importType="apps":n==2&&(this.importType="widget")}importApp(i){var u=this,r=_appsettings.server_url()+"/apis/v4/unibase/platform/apps/importapp/np";t.Helpers.FileHelper.Instance().upload(r,n.Platform.Apps.Components.Import.fileData).then(function(t){t.status==n.Data.Status.Error?MessageHelper.Instance().showError(t.message,"div_importmessage"):(MessageHelper.Instance().showSuccess(t.message,"div_importmessage"),$("#"+i).modal("hide"),$("#"+i).remove());n.Platform.Helpers.NavigationHelper.Instance().hideLoading()})}showImport(i){var r=new n.Platform.Apps.Components.Import;r.DuplicateHtml=i;this.navigationHelper.popup(0,"",r,null,t.Helpers.Size.Large)}permissionsExportImport(i){var r=new n.Platform.Apps.Components.Import;r.PermissionsExportImportHtml=i;this.navigationHelper.popup(0,"",r,null,t.Helpers.Size.Large)}fileEvent(t){const i=t.target.files[0];n.Platform.Apps.Components.Import.fileData=new FormData;n.Platform.Apps.Components.Import.fileData.append(i.name,i)}singleAppPermissionFileEvent(t){const i=t.target.files[0];n.Platform.Apps.Components.Import.permissionfileData=new FormData;n.Platform.Apps.Components.Import.permissionfileData.append(i.name,i)}allAppsPermissionFileEvent(t){const i=t.target.files[0];n.Platform.Apps.Components.Import.permissionfileData=new FormData;n.Platform.Apps.Components.Import.permissionfileData.append(i.name,i)}exportAppRoleSettings(){var t=this;t.navigationHelper.showLoading();t.appmanager.exportAppRoleSettings().then(function(i){if(i.status==n.Data.Status.Error)return t.navigationHelper.hideLoading(),MessageHelper.Instance().showError(i.message,"div_permissionsimportmessage"),!1;var u=i.result,r=document.createElement("a"),f=new Blob([u],{type:"text/plain"});r.setAttribute("href",window.URL.createObjectURL(f));r.setAttribute("download","Permissions.xml");r.dataset.downloadurl=["text/plain",r.download,r.href].join(":");r.draggable=!0;r.classList.add("dragout");r.click();t.navigationHelper.hideLoading()})}importAppRoleSettings(i){var u=this,r=_appsettings.server_url()+"/apis/v4/unibase/platform/apps/importapprolesettings/np";t.Helpers.FileHelper.Instance().upload(r,n.Platform.Apps.Components.Import.permissionfileData).then(function(t){t.status==n.Data.Status.Error?MessageHelper.Instance().showError(t.result,"div_permissionsimportmessage"):(MessageHelper.Instance().showSuccess(t.result,"div_permissionsimportmessage"),$("#"+i).modal("hide"),$("#"+i).remove());n.Platform.Helpers.NavigationHelper.Instance().hideLoading()})}SaveDuplicateApp(t){var i=this,r=n.Themes.Providers.DetailHelper.recordId;$(".div_childs").each(function(){var n=$(this).find(".sp_appname").text(),t=$(this).find("#txt_Childapp").val();u.childappnames.push({oldapptitle:n,newapptitle:t})});let f={InstalledAppId:r,AppTitle:$("#txt_Name").val(),IconName:$("#txtfafaIcon").val(),ChildApps:u.childappnames};i.navigationHelper.showLoading();i.appmanager.duplicateApp(f).then(function(r){r.status==n.Data.Status.Error?MessageHelper.Instance().showError(r.message,"div_duplicatemessage"):(MessageHelper.Instance().showSuccess(r.message,"div_duplicatemessage"),$("#"+t).modal("hide"),$("#"+t).remove());i.navigationHelper.hideLoading()})}exportAppPermissions(){var t=this;t.navigationHelper.showLoading();t.appmanager.exportAppPermissions(0).then(function(i){if(i.status==n.Data.Status.Error)return t.navigationHelper.hideLoading(),MessageHelper.Instance().showError(i.message,"div_permissionsimportmessage"),!1;var u=i.result,r=document.createElement("a"),f=new Blob([u],{type:"text/plain"});r.setAttribute("href",window.URL.createObjectURL(f));r.setAttribute("download","AllAppPermissions.xml");r.dataset.downloadurl=["text/plain",r.download,r.href].join(":");r.draggable=!0;r.classList.add("dragout");r.click();t.navigationHelper.hideLoading()})}importAppPermissions(i){var u=this,r=_appsettings.server_url()+"/apis/v4/unibase/platform/apps/importapppermissions/np";t.Helpers.FileHelper.Instance().upload(r,n.Platform.Apps.Components.Import.permissionfileData).then(function(t){t.status==n.Data.Status.Error?MessageHelper.Instance().showError(t.message,"div_permissionsimportmessage"):(MessageHelper.Instance().showSuccess(t.result,"div_permissionsimportmessage"),$("#"+i).modal("hide"),$("#"+i).remove());n.Platform.Helpers.NavigationHelper.Instance().hideLoading()})}static Instance(){return this.instance===undefined&&(this.instance=new u),this.instance}}u.fileData=new FormData;u.permissionfileData=new FormData;u.childappnames=[];r.Import=u})(r=i.Components||(i.Components={}))})(i=t.Apps||(t.Apps={}))})(t=n.Platform||(n.Platform={}))})(Unibase||(Unibase={}));
|