123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635636637638639640641642643644645646647648649650651652653654655656657658659660661662663664665666667668669670671672673674675676677678679680681682683684685686687688689690691692693694695696697698699700701702703704705706707708709710711712713714715716717718719 |
- var Unibase;
- (function (Unibase) {
- let Platform;
- (function (Platform) {
- let Apps;
- (function (Apps) {
- let Components;
- (function (Components) {
- class AppConfigurations extends Platform.Core.BaseComponent {
- constructor() {
- super();
- this.formproperties = [];
- this.deletedconfigurationids = "";
- this.appManager = new Apps.Managers.AppManager();
- this.formManager = new Platform.Forms.Managers.FormManager();
- this.permissionManager = new Platform.Permissions.Managers.PermissionManager();
- }
- jsFiles() {
- return ["platform/apps/managers/appmanager.js", "/platform/forms/managers/interfaces/iformmanager.js", "/platform/forms/managers/formmanager.js", "platform/forms/components/formviewer/formviewer.js", 'libs/parsley/parsley.min.js', 'platform/permission/managers/interfaces/ipermissionmanager.js', 'platform/permission/managers/permissionmanager.js', 'platform/core/infos/status.js', '/platform/permission/enums/permission.js'];
- }
- cssFiles() {
- return [];
- }
- html(id, containerid) {
- return `<form id="form_AppConfiguration" data-validate="parsley" data-isdynamic="false">
- <div class="card bg-light mb-0">
- <div class="b-b bg-white card-header">
- <strong class="text-dark title" id="">Add AppConfiguration</strong>
- </div>
- <div class="card-body scrollable" id="divAddAppConfiguration"style="overflow-y: auto;" >
- <div id="div_Validation" class="clear"></div>
- <div class="bg-white card">
- <input type="hidden" id="hf_StatusId" value="">
- <div class="card-body"><div class="row"><div class="col-sm-6"><div class="floating-label-form-group" ><label for="txt_SettingName" id="lblSettingName" class="font-bold">Setting Name<span class="text-danger">*</span></label>
- <input type="text" id="txt_SettingName" class="form-control floating-label-control required SettingName" data-isdynamic="false" placeholder="Setting Name " data-placeholder="Enter Setting Name" data-label="Setting Name " autocomplete="off"></div></div>
-
- <div class="col-sm-6 div_SettingURL "><div class="floating-label-form-group" id="div_WidgetAppConfigSettingURL"><label for="txt_SettingURL" id="lblSettingURL" class="font-bold ">Setting URL</label>
- <input type="text" class="form-control floating-label-control SettingURL" id="txt_SettingURL" data-isdynamic="false" placeholder="Setting URL" data-placeholder="Enter Setting URL" data-label="Setting URL"></div></div></div>
- <div class="row">
- <div class="col-sm-4"><label for="lblInstalledApp" class="font-bold">Apps</label>
- <select id="autocomplete_InstalledApps" class="form-control text-control" style="width:100%;" placeholder = "InstalledApp" data-placeholder="InstalledApp" onchange="Unibase.Platform.Apps.Components.AppConfigurations.Instance().InstalledApps();"></select>
- <input type="hidden" id="hfAutoComplete_InstalledApps" class="hfAutoComplete_InstalledApps' form-control value-control" data-isdynamic="true"/></div>
-
- <div class="col-sm-4"><label for="lblRolesetting" class="font-bold" id="lblWidth">Role Setting <span class="text-danger">*</span></label>
- <select id="autocomplete_RoleSetting" class="form-control text-control required" style="width:100%;" placeholder = "RoleSetting" data-placeholder="RoleSetting"></select>
- <input type="hidden" id="hfAutoComplete_RoleSetting" class="hfAutoComplete_Rolesetting' form-control value-control" data-isdynamic="true"/></div>
-
- <div class="col-sm-4"><label for="lblPermissions" class="font-bold" id="lblWidth">Permissions <span class="text-danger">*</span></label>
- <select id="autocomplete_Permission" class="form-control text-control required" style="width:100%;" placeholder = "Permission" data-placeholder="Permission"></select>
- <input type="hidden" id="hfAutoComplete_Permission" class="hfAutoComplete_Permission' form-control value-control" data-isdynamic="true"/></div>
- </div>
-
- <div class="row">
- <div class="col-sm-4"><label for="lblAppConfigType" class="font-bold" id="lblWidth">AppConfig Type <span class="text-danger">*</span></label>
- <select id="autocomplete_Appconfigtype" class="form-control text-control required" style="width:100%;" placeholder = "AppConfig Type" data-placeholder="AppConfig Type"></select>
- <input type="hidden" id="hfAutoComplete_Appconfigtype" class="hfAutoComplete_AppConfigType' form-control value-control" data-isdynamic="true"/>
- </div>
- <div class="col-sm-4">
- <label for="sel_IconName" class="font-bold">Icon Name</label>
- <select id="autocomplete_Icon" class="form-control text-control" style="width:100%;" placeholder = "Icon" data-placeholder="Icon"></select>
- <input type="hidden" id="hfAutoComplete_Icon" class="hfAutoComplete_Icon' form-control value-control" data-isdynamic="true"/>
- </div>
- <div class="col-sm-4"><label for="lblSettingUrlType" class="font-bold" id="lblWidth">Select Setting Url Type <span class="text-danger">*</span></label>
- <select id="autocomplete_Settingurl" class="form-control text-control required" style="width:100%;" placeholder = "Setting Url" data-placeholder="Setting Url"></select>
- <input type="hidden" id="hfAutoComplete_Settingurl" class="hfAutoComplete_Settingurl' form-control value-control" data-isdynamic="true"/>
- </div>
- </div>
- <div class="row">
- <div class="col-sm-4" style="margin-top:40px"><strong>Ungrouped</strong><label class="switch pull-right"><input id="chk_Ungrouped" data-group="" style="margin-top:40px" type="checkbox"><span></span> </label></div>
- <div class="col-sm-4" style="margin-top:40px"><strong>Exclude From Lock</strong><label class="switch pull-right"><input id="chk_ExcludeFromLock" data-group="" style="margin-top:40px" type="checkbox"><span></span> </label></div>
-
- <div class="col-sm-8 div_onclick hidden"><div class="floating-label-form-group"><label for="txt_Onclick" id="lblOnclick" class="font-bold">Onclick<span class="text-danger"> </span></label><input type="text" id="txt_Onclick" class="form-control floating-label-control SettingName" data-isdynamic="false" placeholder="Onclick " data-placeholder="Enter Onclick" data-label="Onclick" autocomplete="off"></div></div>
-
- <div class="col-sm-8 div_procedure hidden"><div class="floating-label-form-group"><label for="txt_Onclick" id="lblProcName" class="font-bold">Procedure Name<span class="text-danger"> </span></label><input type="text" id="txt_ProcName" class="form-control floating-label-control SettingName" data-isdynamic="false" placeholder="Procedure Name " data-placeholder="Enter Procedure Name" data-label="Procedure Name" autocomplete="off"></div></div>
-
- <div class="col-sm-4 div_linkedapps hidden"><label for="lbl_LinkedApps" class="font-bold">Select LinkedApp <span class="text-danger">*</span></label>
- <select id="autocomplete_LinkedApp" class="form-control text-control" style="width:100%;" placeholder = "LinkedApp" data-placeholder="LinkedApp"></select>
- <input type="hidden" id="hfAutoComplete_LinkedApp" class="hfAutoComplete_LinkedApp' form-control value-control" data-isdynamic="true"/>
- </div>
- <div class="col-sm-4 div_formsize hidden" ><label for="lblFormSize" class="font-bold" id="lblWidth">Form Size</label><select id="autocomplete_FormSize" class="form-control text-control" style="width:100%" placeholder = "Form" data-placeholder="Select Form Size">
- <option value=0>Select Form size</option>
- <option value=1>Mini</option>
- <option value=2>Medium</option>
- <option value=3>Large</option>
- <option value=4>ExtraLarge</option>
- <option value=5>Auto</option>
- <option value=6>DockRight</option>
- <option value=7 selected>DockLeft</option>
- </select><input type = "hidden" id = "hfAutocomplete_FormSize" class="hfAutocomplete_FormSize form-control value-control" data - isdynamic="true" /> </div>
- </div></div></div>
- <div class="card bg-white">
- <div class="card-header"><p>Unique Key</p></div>
- <div class="card-body">
- <div class="row">
- <div class="col-sm-11"><div class="alert alert-primary" id="txt_UniqueId"></div></div>
- <div class="col-sm-1"><button id="Edit_UniqueKey" class="btn btn-secondary btn-sm mr-auto hidden">Edit</button></div></div></div></div>
-
- <div class="bg-white card"><div class="card-header">Description</div><div class="card-body"><div class="row"><div class="col-sm-12"><div class="floating-label-form-group"><label for="txtDescription" class="font-bold">Description <span class="text-danger"> *</span></label><input type="text" id="txt_ConfigDescription" class="form-control value-control floating-label-control" placeholder="Description" data-placeholder="Enter Description" data-label="Description" autocomplete="off"/></div></div>
- </div></div></div>
- <div class="bg-white hidden card div_total"><div class="card-header">Form Roles</div><div class="card-body div_formroles">
-
- <div class="row"><div class="col-sm-5 font-bold"><select id="autocomplete_Form" class="form-control text-control" style="width:100%;" placeholder = "Form" data-placeholder="Form"></select><input type = "hidden" id = "hfAutocomplete_Form" class="hfAutocomplete_Form form-control value-control" data - isdynamic="true" /> </div>
- <div class="col-sm-5 font-bold"><select id = "autocomplete_role" class="form-control text-control" style = "width:100%;" placeholder = "Roles" data - placeholder="Roles" ><option value=-1>Select Role</option>
- </select><input type = "hidden" id = "hf_autocomplete_role" class="hf_autocomplete_role form-control value-control" data - isdynamic="true"/> </div>
- <div class="col-sm-1"><a href="javascript:;" class="Addformrole" onclick=""><i class="fa fa-plus text-primary"></i></a></div>
- </div><br/><div id="ul_errmsg"></div><div class="div_formrole"></div>
- </div></div></div>
- </div>
- </div>
-
- </div>
- <div class="bg-white card-footer" id="sectionFooter">
- <button id="btnCloseAppConfiguration" class="btn btn-secondary btn-sm mr-auto">Close</button>
- <button id="btnSaveAppConfiguration" class="btn btn-primary btn-sm pull-right">Save</button>
- </div>
- </div>
- </form>`;
- }
- load(id, containerid, callback) {
- var instance = this;
- var recordid = Unibase.Themes.Providers.DetailHelper.recordId;
- instance.deletedconfigurationids = "";
- $("#txt_IconName").focus(function () {
- $(".div_Icons").fadeIn();
- $("#icons").toggleClass("hidden");
- $(".div_Icons").removeClass('hidden');
- });
- $("#txt_IconName").focusout(function () {
- $(".div_Icons").fadeOut();
- });
- $("#autocomplete_Settingurl").on("change", function () {
- if (Number($("#autocomplete_Settingurl").val()) == Apps.Enums.SettingUrlType.Form) {
- $(".div_total").removeClass("hidden");
- $(".div_formsize").removeClass("hidden");
- $(".div_onclick").removeClass("hidden");
- $("#hfAutocomplete_Form").addClass("required");
- $("#hf_autocomplete_role").addClass("required");
- $("#txt_Onclick").removeClass("required");
- $("#txt_SettingURL").removeClass("required");
- $(".div_procedure").addClass("hidden");
- $("#txt_ProcName").removeClass("required");
- }
- else if (Number($("#autocomplete_Settingurl").val()) != Apps.Enums.SettingUrlType.Form) {
- $(".div_formsize").addClass("hidden");
- $(".div_total").addClass("hidden");
- $(".div_procedure").addClass("hidden");
- $("#txt_ProcName").removeClass("required");
- if (Number($("#autocomplete_Settingurl").val()) == Apps.Enums.SettingUrlType.JsFunction || Number($("#autocomplete_Settingurl").val()) == Apps.Enums.SettingUrlType.Component) {
- $(".div_onclick").removeClass("hidden");
- $(".div_formsize").addClass("hidden");
- $(".div_total").addClass("hidden");
- $("#txt_SettingURL").addClass("required");
- $("#txt_Onclick").addClass("required");
- $(".div_procedure").addClass("hidden");
- $("#txt_ProcName").removeClass("required");
- }
- else if ((Number($("#autocomplete_Settingurl").val()) == Apps.Enums.SettingUrlType.Procedure)) {
- $(".div_procedure").removeClass("hidden");
- $("#txt_ProcName").addClass("required");
- $(".div_formsize").addClass("hidden");
- $(".div_total").addClass("hidden");
- $("#txt_SettingURL").removeClass("required");
- $(".div_onclick").addClass("hidden");
- $("#txt_Onclick").removeClass("required");
- }
- else {
- $(".div_onclick").addClass("hidden");
- $(".div_formsize").addClass("hidden");
- $(".div_total").addClass("hidden");
- $("#txt_SettingURL").removeClass("required");
- $("#txt_Onclick").removeClass("required");
- $("#txt_ProcName").removeClass("required");
- }
- }
- });
- $("#autocomplete_Appconfigtype").on("change", function () {
- if (Number($("#autocomplete_Settingurl").val()) == Apps.Enums.SettingUrlType.Form) {
- $("#hfAutocomplete_Form").addClass("required");
- $("#hf_autocomplete_role").addClass("required");
- if (Number($("#autocomplete_Appconfigtype").val()) == Apps.Enums.AppConfigeType.DetailSetting) {
- $(".div_onclick").removeClass("hidden");
- }
- else {
- $(".div_onclick").addClass("hidden");
- }
- }
- else if (Number($("#autocomplete_Settingurl").val()) == Apps.Enums.SettingUrlType.Component && Number($("#autocomplete_Appconfigtype").val()) == Apps.Enums.AppConfigeType.List) {
- $(".div_onclick").removeClass("hidden");
- $(".div_formsize").addClass("hidden");
- $(".div_total").addClass("hidden");
- $("#txt_SettingURL").addClass("required");
- $("#txt_Onclick").addClass("required");
- }
- else if (Number($("#autocomplete_Settingurl").val()) == Apps.Enums.SettingUrlType.Procedure) {
- $(".div_procedure").removeClass("hidden");
- $(".div_formsize").addClass("hidden");
- $(".div_total").addClass("hidden");
- $("#txt_SettingURL").removeClass("required");
- }
- else if (Number($("#autocomplete_Settingurl").val()) == Apps.Enums.SettingUrlType.JsFunction && (Number($("#autocomplete_Appconfigtype").val()) == Apps.Enums.AppConfigeType.List || Number($("#autocomplete_Appconfigtype").val()) == Apps.Enums.AppConfigeType.Details || Number($("#autocomplete_Appconfigtype").val()) == Apps.Enums.AppConfigeType.DetailSetting || Number($("#autocomplete_Appconfigtype").val()) == Apps.Enums.AppConfigeType.Print || Number($("#autocomplete_Appconfigtype").val()) == Apps.Enums.AppConfigeType.Status)) {
- $(".div_onclick").removeClass("hidden");
- $(".div_formsize").addClass("hidden");
- $(".div_total").addClass("hidden");
- $("#txt_SettingURL").addClass("required");
- $("#txt_Onclick").addClass("required");
- }
- else {
- $(".div_onclick").addClass("hidden");
- $("#txt_Onclick").removeClass("required");
- }
- if (Number($("#autocomplete_Appconfigtype").val()) == Apps.Enums.AppConfigeType.Settings) {
- $("#autocomplete_Settingurl").empty();
- $(".div_onclick").addClass("hidden");
- $(".div_linkedapps").removeClass("hidden");
- $("#autocomplete_LinkedApp").addClass("required");
- var linkappoption = new Option(Unibase.Platform.Apps.Enums.SettingUrlType[9], Unibase.Platform.Apps.Enums.SettingUrlType.App.toString(), true);
- $("#autocomplete_Settingurl").append(linkappoption);
- $("#autocomplete_Settingurl").attr('disabled', 'true');
- }
- else {
- $(".div_linkedapps").addClass("hidden");
- $("#autocomplete_Settingurl").removeAttr('disabled');
- $("#autocomplete_Settingurl").empty();
- $(".div_formsize").addClass("hidden");
- $(".div_total").addClass("hidden");
- }
- });
- this.loaddata(id);
- var UniqueId = '';
- var apptitle = '';
- if (recordid != 0) {
- Unibase.Platform.Apps.Managers.AppManager.Instance().getAllAppConfigurations(recordid).then(function (response) {
- Unibase.Platform.Apps.Managers.AppManager.Instance().getInstallApp(recordid).then(function (appresponse) {
- if (response.result.length > 0) {
- if (appresponse.result != null) {
- apptitle = appresponse.result.AppTitle.replace(/ /g, '');
- UniqueId = response.result[0].UniqueId.substring(0, response.result[0].UniqueId.indexOf("_AppConfiguration_"));
- UniqueId = UniqueId.replace(/ /g, '');
- if (id == 0) {
- $("#txt_UniqueId").text(UniqueId);
- }
- }
- }
- else {
- if (appresponse.result != null) {
- apptitle = appresponse.result.AppTitle.replace(/ /g, '');
- UniqueId = appresponse.result.DevOrgName + "_" + appresponse.result.ModuleTypeName + "_" + appresponse.result.ModuleName + "_" + apptitle;
- UniqueId = UniqueId.replace(/ /g, '');
- if (id == 0) {
- $("#txt_UniqueId").text(UniqueId);
- }
- }
- }
- });
- });
- }
- $("#txt_SettingName").keyup(function () {
- if (id == 0) {
- let settingname = $("#txt_SettingName").val().toString().replace(/ /g, '');
- $("#txt_UniqueId").text(UniqueId + "_AppConfiguration_" + settingname.toString().replace(/ /g, '') + apptitle);
- }
- });
- $("#btnSaveAppConfiguration").click(function () {
- let controlid = "form_AppConfiguration";
- let result = Unibase.Platform.Forms.Components.FormViewer.Instance().requiredFieldValidation(controlid);
- if (result == false) {
- MessageHelper.Instance().showError("Mandatory Fields are missing", "div_Validation");
- return false;
- }
- AppConfigurations.Instance().SaveConfiguration(containerid, id);
- });
- $("#btnCloseAppConfiguration").click(function () {
- $('#' + containerid).modal('hide');
- $('#' + containerid).remove();
- });
- $(".Addformrole").on("click", function () {
- var formid = Number($("#autocomplete_Form").val());
- var roleid = Number($("#autocomplete_role").val());
- var formname = $("#autocomplete_Form option:selected").text();
- var rolename = $("#autocomplete_role option:selected").text();
- if (formid != 0) {
- if (roleid != -1) {
- instance.formroledesign(formid, formname, roleid, rolename, 0);
- instance.javaScript(formid, roleid);
- }
- else {
- MessageHelper.Instance().showError("Please select role", "ul_errmsg");
- return false;
- }
- }
- else {
- MessageHelper.Instance().showError("Please select form and role", "ul_errmsg");
- return false;
- }
- });
- }
- loadForm(FormId, Pk_Value, AppConfigurationId, Callback, ElementId) {
- AppConfigurations.formroles = [];
- this.addConfiguration(Pk_Value);
- }
- addConfiguration(Pk_Value) {
- AppConfigurations.formroles = [];
- this.navigationHelper.popup(Pk_Value, '', Unibase.Platform.Apps.Components.AppConfigurations.Instance(), null, Platform.Helpers.Size.Large);
- }
- loaddata(Id) {
- var installedappid = Unibase.Themes.Providers.DetailHelper.recordId;
- var instance = this;
- var url = _appsettings.server_url() + '/apis/v4/unibase/platform/apps/getapppermissiontypes/installedappid/' + installedappid;
- AutoCompleteHelper.getHelper().Create("#autocomplete_RoleSetting", "#hfAutoComplete_RoleSetting", url, function (response) {
- });
- var url = _appsettings.server_url() + '/apis/v4/unibase/platform/apps/getpermissions';
- AutoCompleteHelper.getHelper().Create("#autocomplete_Permission", "#hfAutoComplete_Permission", url, function (response) {
- });
- var url = _appsettings.server_url() + '/apis/v4/unibase/platform/apps/getappconfigtypes';
- AutoCompleteHelper.getHelper().Create("#autocomplete_Appconfigtype", "#hfAutoComplete_Appconfigtype", url, function (response) {
- });
- var url = _appsettings.server_url() + '/apis/v4/unibase/platform/forms/getforms/installedappid/' + installedappid + '/appid/' + 0;
- AutoCompleteHelper.getHelper().Create("#autocomplete_Form", "#hfAutocomplete_Form", url, function (response) {
- });
- var url = _appsettings.server_url() + '/apis/v4/unibase/platform/apps/icons';
- AutoCompleteHelper.getHelper().Create("#autocomplete_Icon", "#hfAutocomplete_Icon", url, function (response) {
- }, true);
- var url = _appsettings.server_url() + '/apis/v4/unibase/platform/apps/getsettingurl';
- AutoCompleteHelper.getHelper().Create("#autocomplete_Settingurl", "#hfAutoComplete_Settingurl", url, function (response) {
- });
- var url = _appsettings.server_url() + '/apis/v4/unibase/platform/roles/getroles';
- AutoCompleteHelper.getHelper().Create("#autocomplete_role", "#hf_autocomplete_role", url, function (response) {
- });
- var url = _appsettings.server_url() + '/apis/v4/unibase/platform/apps/installedappautocomplete';
- AutoCompleteHelper.getHelper().Create("#autocomplete_InstalledApps", "#hfAutoComplete_InstalledApps", url, function (response) {
- });
- var url = _appsettings.server_url() + '/apis/v4/unibase/platform/apps/installedappautocomplete';
- AutoCompleteHelper.getHelper().Create("#autocomplete_LinkedApp", "#hfAutoComplete_LinkedApp", url, function (response) {
- });
- if (Id != 0) {
- var instance = this;
- AppConfigurations.formroles.length = 0;
- $(".title").text('Edit AppConfiguration');
- this.appManager.getAppConfiguration(Id).then(function (response) {
- var data = response;
- var settingurlType = data.result.SettingUrlType;
- $("#autocomplete_Settingurl").on("change", function () {
- if (($("#autocomplete_Settingurl").val()) != (Unibase.Platform.Apps.Enums.SettingUrlType.JsFunction && Unibase.Platform.Apps.Enums.SettingUrlType.Component)) {
- $("#txt_SettingURL").val('');
- $("#txt_Onclick").val('');
- }
- });
- if (Number(settingurlType) == Unibase.Platform.Apps.Enums.SettingUrlType.Form) {
- $(".div_total").removeClass("hidden");
- $(".div_formsize").removeClass("hidden");
- $(".div_onclick").removeClass('hidden');
- }
- $("#hf_StatusId").val(data.result.ConfigStatusId);
- if (Number(data.result.AppConfigType) == Unibase.Platform.Apps.Enums.AppConfigeType.Settings) {
- if (Number(data.result.LinkAppId != 0)) {
- var linkedappoption = new Option(response.result.LinkAppTitle, response.result.LinkAppId.toString(), true);
- $("#autocomplete_LinkedApp").append(linkedappoption);
- }
- $(".div_linkedapps").removeClass('hidden');
- }
- if (Number(settingurlType) == Unibase.Platform.Apps.Enums.SettingUrlType.JsFunction || Number(settingurlType) == Unibase.Platform.Apps.Enums.SettingUrlType.Component) {
- $(".div_onclick").removeClass("hidden");
- }
- if (Number(settingurlType) == Unibase.Platform.Apps.Enums.SettingUrlType.Procedure) {
- $(".div_procedure").removeClass("hidden");
- }
- $("#txt_SettingName").val(data.result.SettingName);
- $("#txt_SettingURL").val(data.result.SettingUrl);
- $("#txt_Onclick").val(data.result.JsFunction);
- $("#txt_ProcName").val(data.result.LinkProcName);
- var settingurloption = new Option(Unibase.Platform.Apps.Enums.SettingUrlType[response.result.SettingUrlType], response.result.SettingUrlType.toString(), true);
- $("#autocomplete_Settingurl").append(settingurloption);
- $('#autocomplete_FormSize option:nth(' + response.result.FormSize + ')').prop("selected", "selected");
- var iconoption = new Option(response.result.Icon, response.result.Icon, true);
- $("#autocomplete_Icon").append(iconoption);
- var appconfigoption = new Option(Unibase.Platform.Apps.Enums.AppConfigeType[response.result.AppConfigType], response.result.AppConfigType.toString(), true);
- $("#autocomplete_Appconfigtype").append(appconfigoption);
- var permissionoption = new Option(Unibase.Platform.Permissions.Enums.PermissionLevel[response.result.Permission], response.result.Permission.toString(), true);
- $("#autocomplete_Permission").append(permissionoption);
- var installedappoption = new Option(response.result.RoleSettingAppTitle, response.result.RoleSettingAppId.toString(), true);
- $("#autocomplete_InstalledApps").append(installedappoption);
- if (data.result.AppPermissionId != 0) {
- instance.appManager.getAppPermission(data.result.AppPermissionId).then(function (apppermissionres) {
- $("#autocomplete_RoleSetting").append('<option value="' + apppermissionres.result.AppPermissionId + '">' + apppermissionres.result.SettingName + '</option>');
- });
- }
- if (response.result.Ungrouped == true) {
- $("#chk_Ungrouped").prop("checked", true);
- }
- else {
- $("#chk_Ungrouped").prop("checked", false);
- }
- if (response.result.ExcludeFromLock == true) {
- $("#chk_ExcludeFromLock").prop("checked", true);
- }
- else {
- $("#chk_ExcludeFromLock").prop("checked", false);
- }
- $("#txt_ConfigDescription").val(data.result.Description);
- var formname = "";
- instance.formManager.getFormRoles(response.result.AppConfigurationId).then(function (formresp) {
- if (formresp.result.length > 0) {
- formname = formresp.result[0].FormName;
- var formoption = new Option(formname, (formresp.result[0].FormId).toString(), true);
- $("#autocomplete_Form").append(formoption);
- if (formresp.result[0].RoleId == 0) {
- $("#autocomplete_role").empty();
- var roleoption = new Option("All", (formresp.result[0].RoleId).toString(), true);
- $("#autocomplete_role").append(roleoption);
- }
- else {
- }
- for (let formrole of formresp.result) {
- var rolename = "";
- if (formrole.RoleId == 0) {
- rolename = "All";
- instance.formroledesign(formrole.FormId, formrole.FormName, formrole.RoleId, rolename, formrole.FormRoleId);
- instance.javaScript(formrole.FormId, formrole.RoleId);
- $("#autocomplete_role").empty();
- var roleoption = new Option(rolename, (formresp.result[0].RoleId).toString(), true);
- $("#autocomplete_role").append(roleoption);
- }
- else {
- instance.permissionManager.getRole(formrole.RoleId).then(function (response) {
- rolename = response.result.RoleName;
- }).then(function () {
- instance.formroledesign(formrole.FormId, formrole.FormName, formrole.RoleId, rolename, formrole.FormRoleId);
- instance.javaScript(formrole.FormId, formrole.RoleId);
- $("#autocomplete_role").empty();
- var roleoption = new Option(rolename, (formresp.result[0].RoleId).toString(), true);
- $("#autocomplete_role").append(roleoption);
- });
- }
- }
- }
- });
- $("#txt_UniqueId").text(data.result.UniqueId.replace(/ /g, ''));
- });
- }
- }
- InstalledApps() {
- var installedappid = Unibase.Themes.Providers.DetailHelper.recordId;
- var appid = Number($("#autocomplete_InstalledApps").val());
- $("#autocomplete_RoleSetting").empty();
- var url = _appsettings.server_url() + '/apis/v4/unibase/platform/apps/getapppermissiontypes/installedappid/' + appid;
- AutoCompleteHelper.getHelper().Create("#autocomplete_RoleSetting", "#hfAutoComplete_RoleSetting", url, function (response) {
- });
- var url = _appsettings.server_url() + '/apis/v4/unibase/platform/forms/getforms/installedappid/' + installedappid + '/appid/' + appid;
- AutoCompleteHelper.getHelper().Create("#autocomplete_Form", "#hfAutocomplete_Form", url, function (response) {
- });
- }
- formroledesign(formid, formname, roleid, rolename, FormRoleId) {
- if ($("#spform_" + formid).text() == formname && $("#sprole_" + roleid).text() == rolename || ($("#spform_" + formid).text() != formname && $("#sprole_" + roleid).text() == rolename)) {
- MessageHelper.Instance().showError("aleady existed", "ul_errmsg");
- return false;
- }
- var lihtml = `<div class="formroles" id="li_` + formid + `_` + roleid + `"><div class="card"><div class="card-body"><div class="row">
- <div class="col-sm-6"><h6>FormRoles</h6></div>
- <div class="col-sm-6 div_delete"><a class="ml-auto btn-xs btn pull-right" onclick="Unibase.Platform.Apps.Components.AppConfigurations.Instance().deleterow(` + formid + `,` + roleid + `);" title="Remove row"><i class="fa fa-times remove-icon_1"></i></a></div>
- </div><br>
- <div class="row">
- <div class="col-sm-4"><span id="spform_` + formid + `" class="sp_form" data-text=` + formid + `>` + formname + `</span></div>
- <div class="col-sm-4"><span id="sprole_` + roleid + `" class="sp_role" data-text=` + roleid + `>` + rolename + `</span></div>
- <input type="hidden" class="form-control floating-label-control txtformrole" data-isdynamic="false" value="` + FormRoleId + `">
- </div><br>
- <div class="row"><div class="col-sm-12"><div class="value-control" style="display: block;" id="appconfiguration_javascript_` + formid + `_` + roleid + `"></div></div></div>
- </div>
- </div></div>`;
- $(".div_formrole").append(lihtml);
- AppConfigurations.formroles.push({ formid: formid, roleid: roleid, formroleid: FormRoleId });
- }
- deleteAppConfiguration(AppConfigurationId) {
- var instance = this;
- bootbox.confirm({
- message: "Are you sure you want to Delete",
- closeButton: false,
- buttons: {
- confirm: {
- label: 'Yes',
- className: 'btn-success'
- },
- cancel: {
- label: 'No',
- className: 'btn-defualt'
- }
- },
- callback: function (result) {
- if (result) {
- if (result == true) {
- instance.appManager.deleteAppConfiguration(AppConfigurationId).then(function (response) {
- if (response.status == Unibase.Data.Status.Error) {
- MessageHelper.Instance().showError(response.message, "div_message");
- }
- else {
- MessageHelper.Instance().showSuccess(response.message, "div_message");
- var obj = Unibase.Themes.Compact.Components.Details.Instance();
- obj._recordId = Unibase.Themes.Providers.DetailHelper.recordId;
- obj._installedAppId = Unibase.Themes.Providers.DetailHelper.installedAppId;
- Unibase.Themes.Compact.Components.Details.Instance().loadPortlets(obj);
- }
- });
- }
- }
- }
- });
- }
- deleterow(formid, roleid) {
- var instance = this;
- for (let obj of AppConfigurations.formroles) {
- if (obj.formid == formid && obj.roleid == roleid) {
- if (obj.formroleid != 0) {
- instance.deletedconfigurationids += obj.formroleid + "|";
- }
- var index = AppConfigurations.formroles.indexOf(obj);
- AppConfigurations.formroles.splice(index, 1);
- $(".div_formrole").find('#li_' + formid + '_' + roleid).remove();
- }
- }
- }
- javaScript(formid, roleid) {
- var instance = this;
- instance.formproperties = [];
- instance.formManager.getFormProperties(formid).then(function (response) {
- for (let i = 0; i < response.result.length; i++) {
- instance.formproperties.push(response.result[i].FormPropertyName + "-PropertyName");
- }
- });
- instance.formManager.getSections(formid).then(function (response) {
- for (let j = 0; j < response.result.length; j++) {
- instance.formproperties.push(response.result[j].SectionName + "-SectionName");
- }
- });
- var detailsdata = Unibase.Themes.Providers.Detail_Settings.Instance().InputParameters;
- if (detailsdata.length > 0) {
- for (let k = 0; k < detailsdata.length; k++) {
- let split = detailsdata[k].Key.split('_');
- instance.formproperties.push(split[2] + "-HiddenFieldName");
- }
- }
- $("#appconfiguration_javascript_" + formid + "_" + roleid).summernote({
- height: 200,
- placeholder: "text",
- disableDragAndDrop: true,
- codemirror: {
- mode: 'text/html',
- lineNumbers: true,
- },
- toolbar: [
- ['view', ['help']],
- ],
- hint: {
- match: /\B[@!](\w*)$/,
- search: function (keyword, callback) {
- callback($.grep(instance.formproperties, function (i) {
- var user = i;
- return user.indexOf(keyword) === 0;
- }));
- },
- content: function (i) {
- var user = i;
- return $('<span>@' + user + '</span>')[0];
- }
- }
- });
- }
- SaveConfiguration(containerid, AppConfigurationId) {
- AppConfigurations.formroles = [];
- var instance = this;
- var ungrouped = false;
- var excludeFromLock = false;
- var statusId = 1;
- var StettingUrlType = $("#autocomplete_Settingurl").val();
- var Form = $("#hfAutocomplete_Form").val();
- var Role = $("#hf_autocomplete_role").val();
- if (AppConfigurationId != 0) {
- statusId = Number($("#hf_StatusId").val());
- }
- if ($("#chk_Ungrouped").prop('checked')) {
- ungrouped = true;
- }
- if ($("#chk_ExcludeFromLock").prop('checked')) {
- excludeFromLock = true;
- }
- if (StettingUrlType == (Apps.Enums.SettingUrlType.Component || Apps.Enums.SettingUrlType.JsFunction)) {
- if ($("#txt_SettingURL").val() == '') {
- MessageHelper.Instance().showError("Please Enter SettingUrl", "div_Validation");
- return false;
- }
- if ($("#txt_Onclick").val() == '') {
- MessageHelper.Instance().showError("Please Enter Onclick", "div_Validation");
- return false;
- }
- }
- if (StettingUrlType == Apps.Enums.SettingUrlType.Form) {
- if (Form == '0') {
- MessageHelper.Instance().showError("Please Select Form Role", "div_Validation");
- return false;
- }
- if (Form != '0') {
- if (Role == '-1') {
- MessageHelper.Instance().showError("Please Select Role ", "div_Validation");
- return false;
- }
- if (Role != '-1') {
- if ($(".div_formrole").children(".formroles").length == 0) {
- MessageHelper.Instance().showError("Please Add Form Role ", "div_Validation");
- return false;
- }
- }
- }
- }
- $(".formroles").each(function () {
- var formid = Number($(this).find(".sp_form").attr("data-text"));
- var roleid = Number($(this).find(".sp_role").attr("data-text"));
- var jstext = $(this).find(".note-editable").text();
- var formroleid = Number($(this).find(".txtformrole").val());
- AppConfigurations.formroles.push({ formid: formid, roleid: roleid, formroleid: formroleid, jstext: jstext });
- });
- var formSize = JSON.parse($("#autocomplete_FormSize").val().toString());
- var settingUrlType = JSON.parse($("#autocomplete_Settingurl").val().toString());
- if (settingUrlType != Apps.Enums.SettingUrlType.Form) {
- formSize = Unibase.Platform.Helpers.Size.None;
- }
- let postData = {
- AppConfigurationId: AppConfigurationId,
- SettingName: $("#txt_SettingName").val(),
- SettingUrl: $("#txt_SettingURL").val(),
- SettingUrlType: settingUrlType,
- Permission: JSON.parse($("#hfAutoComplete_Permission").val().toString()),
- AppConfigType: JSON.parse($("#hfAutoComplete_Appconfigtype").val().toString()),
- Icon: $("#autocomplete_Icon").val(),
- UniqueId: $("#txt_UniqueId").text(),
- InstalledAppId: Unibase.Themes.Providers.DetailHelper.recordId,
- JsFunction: $("#txt_Onclick").val(),
- Ungrouped: ungrouped,
- FormRoles: AppConfigurations.formroles,
- DeleteConfigurationIds: instance.deletedconfigurationids,
- Description: $("#txt_ConfigDescription").val(),
- AppPermissionId: Number($("#autocomplete_RoleSetting").val()),
- LinkAppId: Number($("#autocomplete_LinkedApp").val()),
- FormSize: formSize,
- ExcludeFromLock: excludeFromLock,
- StatusId: statusId,
- LinkProcName: $("#txt_ProcName").val()
- };
- instance.navigationHelper.showLoading();
- instance.appManager.saveAppConfiguration(postData).then(function (response) {
- $('#' + containerid).modal('hide');
- $('#' + containerid).remove();
- if (response.status == Unibase.Data.Status.Error) {
- MessageHelper.Instance().showError(response.message, "div_Validation");
- }
- else {
- MessageHelper.Instance().showSuccess(response.message, "div_Validation");
- $('#' + containerid).modal('hide');
- $('#' + containerid).remove();
- var obj = Unibase.Themes.Compact.Components.Details.Instance();
- obj._recordId = Unibase.Themes.Providers.DetailHelper.recordId;
- obj._installedAppId = Unibase.Themes.Providers.DetailHelper.installedAppId;
- Unibase.Themes.Compact.Components.Details.Instance().loadPortlets(obj);
- }
- instance.navigationHelper.hideLoading();
- });
- }
- UpdateConfigStatus(statusId, appConfigurationId) {
- var instance = this;
- if (statusId == 1) {
- var msg = "Are you sure you want to De-Activate ?";
- statusId = 2;
- }
- else {
- var msg = "Are you sure you want to Activate ?";
- statusId = 1;
- }
- bootbox.confirm({
- message: msg,
- closeButton: false,
- buttons: {
- confirm: {
- label: 'Yes',
- className: 'btn-success'
- },
- cancel: {
- label: 'No',
- className: 'btn-defualt'
- }
- },
- callback: function (result) {
- if (result) {
- instance.appManager.updateConfigurationStatus(appConfigurationId, statusId).then(function (response) {
- if (response.status == Unibase.Data.Status.Error) {
- MessageHelper.Instance().showError(response.message, "div_message");
- }
- else {
- MessageHelper.Instance().showSuccess(response.message, "div_message");
- var obj = Unibase.Themes.Compact.Components.Details.Instance();
- obj._recordId = Unibase.Themes.Providers.DetailHelper.recordId;
- obj._installedAppId = Unibase.Themes.Providers.DetailHelper.installedAppId;
- Unibase.Themes.Compact.Components.Details.Instance().loadPortlets(obj);
- }
- });
- }
- }
- });
- }
- static Instance() {
- if (this.instance === undefined) {
- this.instance = new AppConfigurations();
- }
- return this.instance;
- }
- }
- AppConfigurations.formroles = [];
- AppConfigurations.saveformroles = [];
- Components.AppConfigurations = AppConfigurations;
- })(Components = Apps.Components || (Apps.Components = {}));
- })(Apps = Platform.Apps || (Platform.Apps = {}));
- })(Platform = Unibase.Platform || (Unibase.Platform = {}));
- })(Unibase || (Unibase = {}));
|