This commit is contained in:
2023-03-11 17:30:20 +00:00
commit b6c4e025bc
5124 changed files with 1153349 additions and 0 deletions
@@ -0,0 +1,719 @@
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 = {}));
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long