Iniit
This commit is contained in:
@@ -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
+104
File diff suppressed because one or more lines are too long
Reference in New Issue
Block a user