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,235 @@
var Unibase;
(function (Unibase) {
let Platform;
(function (Platform) {
let Apps;
(function (Apps) {
let Components;
(function (Components) {
class DocPropertyActionProvider extends Platform.Core.BaseComponent {
constructor() {
super();
this.appManager = Apps.Managers.AppManager.Instance();
this.stageManager = Apps.Managers.StageManager.Instance();
this.doctypeManager = Platform.DataSources.Managers.DocTypeManager.Instance();
}
jsFiles() {
return ['/platform/apps/components/stages/stages.js', '/platform/apps/components/stages/stagestatus.js', '/platform/apps/managers/stagemanager.js', '/platform/apps/managers/appmanager.js', '/platform/apps/components/stages/stagepermissions.js', "platform/forms/components/formviewer/formviewer.js", 'libs/parsley/parsley.min.js', 'platform/core/infos/status.js', 'platform/datasources/managers/doctypemanager.js', '/platform/forms/enums/enums.js'];
}
cssFiles() {
return [];
}
load(id, containerid, callback) {
var instance = this;
var installedappid = instance.appSettings.InstalledAppId;
$("#doctype_Autocomplete").change(function () {
var doctypeid = $("#doctype_Autocomplete").val();
var url = _appsettings.server_url() + '/apis/v4/unibase/platform/doctypes/docpropertiesautocomplete/doctypeid/' + doctypeid;
AutoCompleteHelper.getHelper().Create("#Autocomplete_DocProperty", "#hfAutocomplete_DocProperty", url, function (response) {
});
});
var url = _appsettings.server_url() + '/apis/v4/unibase/platform/doctypes/appdoctypesautocomplete/installedappid/' + installedappid;
AutoCompleteHelper.getHelper().Create("#doctype_Autocomplete", "#hfDocType_Autocomplete", url, function (response) {
});
$("#btn_CancelAP_" + containerid).click(function () {
$('#' + containerid).modal('hide');
$('#' + containerid).remove();
});
$("#Drp_ProviderType").on("change", function () {
if ($("#Drp_ProviderType").val() == 1) {
$("#AutoComplete_Onchanging").removeAttr("disabled");
$("#AutoComplete_Onchanging").empty();
var url = _appsettings.server_url() + '/apis/v4/unibase/platform/doctypes/docpropertyactionproviders/actiontype/' + Platform.Forms.Enums.DocPropertyActionProviderType.PreAction;
AutoCompleteHelper.getHelper().Create("#AutoComplete_Onchanging", "#hfAutoComplete_Onchanging", url, function (response) {
});
}
else if ($("#Drp_ProviderType").val() == 2) {
$("#AutoComplete_Onchanging").removeAttr("disabled");
$("#AutoComplete_Onchanging").empty();
var url = _appsettings.server_url() + '/apis/v4/unibase/platform/doctypes/docpropertyactionproviders/actiontype/' + Platform.Forms.Enums.DocPropertyActionProviderType.PostAction;
AutoCompleteHelper.getHelper().Create("#AutoComplete_Onchanging", "#hfAutoComplete_Onchanging", url, function (response) {
});
}
else if ($("#Drp_ProviderType").val() == 3) {
$("#AutoComplete_Onchanging").removeAttr("disabled");
$("#AutoComplete_Onchanging").empty();
var url = _appsettings.server_url() + '/apis/v4/unibase/platform/doctypes/docpropertyactionproviders/actiontype/' + Platform.Forms.Enums.DocPropertyActionProviderType.Both;
AutoCompleteHelper.getHelper().Create("#AutoComplete_Onchanging", "#hfAutoComplete_Onchanging", url, function (response) {
});
}
else {
$("#AutoComplete_Onchanging").attr("disabled", "true");
}
});
$("#btn_ActionProviderSave").on("click", function () {
let controlid = "form_DocTypeActionProvider";
let result = Unibase.Platform.Forms.Components.FormViewer.Instance().requiredFieldValidation(controlid);
if (result == false) {
MessageHelper.Instance().showError("Mandatory Fields are missing", "div_APMessage");
return false;
}
else {
instance.Save(containerid, installedappid);
}
});
}
html(id, containerid) {
return `<header class="header b-b bg-white" id="div_Header"> <strong>Create ActionProvider</strong> </header> <section data-simplebar class="simple-scroll-bar scrollable">
<form id="form_DocTypeActionProvider" data-validate="parsley"><div class="clear" id="div_APMessage"> </div>
<div class="card">
<div class="card-body">
<div class="row">
<div class="col-sm-6"><div class="form-group"><label class="font-bold" id="lblWidth">Doc Type<span class="text-danger">*</span></label>
<select id="doctype_Autocomplete" class="form-control text-control required" style="width:100%;" placeholder = "Stage Updated Table" data-placeholder="StageUpdated Table"></select>
<input type="hidden" id="hfDocType_Autocomplete" class="hfDocType_Autocomplete' form-control value-control" data-isdynamic="true"/></div></div>
<div class="col-sm-6"><div class="form-group"><label for="" class="font-bold" id="lblWidth">Doc Property</label>
<select id="Autocomplete_DocProperty" class="form-control text-control required" style="width:100%;" placeholder = "Doc Property" data-placeholder="Select Doc Property" data-label="" data-istagselect="true" ></select>
<input type="hidden" id="hfAutocomplete_DocProperty" class="hfAutocomplete_DocProperty' form-control value-control" data-isdynamic="true"/></div></div></div>
<div class="row"><div class="col-sm-6"><label for="" class="font-bold">Provider Type</label><select id="Drp_ProviderType" class="form-control text-control" style="width:100%;" placeholder = "Provider Type" data-placeholder="Provider Type" data-label="" data-istagselect="true">
<option value=0>-Select-</option><option value=1>PreAction</option><option value=2>PostAction</option><option value=3>Both</option></select></div>
<div class="col-sm-6"><label for="" class="font-bold">Action Provider</label><select id="AutoComplete_Onchanging" disabled="true" class="form-control text-control required" style="width:100%;" placeholder = "On Change" data-placeholder="On Change" data-label="" data-istagselect="true"></select>
<input type="hidden" id="hfAutoComplete_Onchanging" class="hfAutoComplete_Onchanging' form-control value-control" data-isdynamic="true"/></div>
<div class="col-sm-4 hidden"><label for="" class="font-bold">On Changed</label><select id="AutoComplete_Onchanged" disabled="true" class="form-control text-control" style="width:100%;" placeholder = "On Changed" data-placeholder="On Changed" data-label="" data-istagselect="true"></select>
<input type="hidden" id="hfAutoComplete_Onchanged" class="hfAutoComplete_Onchanged' form-control value-control" data-isdynamic="true"/></div></div>
</div></div></form></section>
<footer class="bg-white footer"><a href="javascript:;" id="btn_CancelAP_` + containerid + `" class="btn btn-light btn-sm mr-auto">Close</a> <a href="javascript:;" id="btn_ActionProviderSave" class="pull-right btn btn-primary btn-sm">Save</a> </footer>`;
}
loadActionProviders(containerid, installedappid) {
$("#div_ActionProviders").empty();
var instance = this;
instance.appSettings.InstalledAppId = installedappid;
var jsfiles = ["/platform/forms/enums/enums.js", "platform/forms/components/formviewer/formviewer.js", 'libs/parsley/parsley.min.js', 'platform/core/infos/status.js'];
instance.fileCacheHelper.loadJsFiles(jsfiles, function () { });
instance.doctypeManager.getDocPropertyActionProviders(installedappid).then(function (response) {
var html = `<ul class="list-group p-sm-0 p-md-4">
<li class="list-group-item pa-10 mb-25 font-weight-600 text-dark-100">
<div class="row">
<div class="col-sm-4">
<span>ActionProvider</span>
</div>
<div class="col-sm-3">
<span>DocType</span>
</div>
<div class="col-sm-2">
<span>DocProperty</span>
</div>
<div class="col-sm-2">
<span>Actiontype</span></div>
</div
</div>
</li>`;
for (var i = 0; i < response.result.length; i++) {
var data = response.result[i];
var actiontype = "";
if (data.ActionType == Number(Platform.Forms.Enums.DocPropertyActionProviderType.PreAction)) {
actiontype = "PreAction";
}
else if (data.ActionType == Number(Platform.Forms.Enums.DocPropertyActionProviderType.PostAction)) {
actiontype = "PostAction";
}
else if (data.ActionType == Number(Platform.Forms.Enums.DocPropertyActionProviderType.Both)) {
actiontype = "Both";
}
html += `<li class="list-group-item border-0 p-1 px-2 mb-1">
<div class="row">
<input type="hidden" id="hfDocPropertyActionProviderId" value=${data.DocPropertyActionProviderId}>
<div class="col-sm-4">
<span>${data.ActionName}</span>
</div>
<div class="col-sm-3">
<span>${data.DocTypeTableName}</span>
</div>
<div class="col-sm-2">
<span>${data.DocPropertyUniqueId}</span>
</div>
<div class="col-sm-2">
<span>${actiontype}</span>
</div>
<div class="col-sm-1 text-right">
<a href="javascript:;" class="hidden mr-10" onclick="Unibase.Platform.Apps.Components.Stages.Instance().AddStage(${data.DocPropertyActionProviderId});"><i class="fa fa-pencil icon-muted fa-fw m-r-xs"></i></a>
<a href="javascript:;" onclick="Unibase.Platform.Apps.Components.DocPropertyActionProvider.Instance().DeleteActionProvider(` + data.DocPropertyActionProviderId + `,'` + containerid + `',` + installedappid + `);"><i class="fa fa-trash"></i></a>
</div>
</li><br/>`;
}
html += '</ul>';
$("#div_ActionProviders").append(html);
if ($.fn.sortable) {
$('.sortable').sortable();
$('.sortable').on("sortupdate", function (event, ui) {
instance.RefreshIndexes(containerid, installedappid);
});
}
if (response.result.length == 0) {
$("#div_ActionProviders").add("hidden");
}
});
}
RefreshIndexes(containerid, installedappid) {
var instance = this;
var ids = "";
$("#div_ActionProviders").find(".list-group-item").each(function () {
var id = $(this).find("#hfDocPropertyActionProviderId").val();
if (id != 0) {
ids += id + ",";
}
});
if (ids != "") {
instance.doctypeManager.updateIndexes(ids).then(function (response) {
if (response.status == Unibase.Data.Status.Error) {
MessageHelper.Instance().showError(response.message, "div_APMessage");
}
else {
MessageHelper.Instance().showSuccess(response.message, "div_APMessage");
}
instance.loadActionProviders(containerid, installedappid);
});
}
}
AddActionProvider(id) {
this.navigationHelper.popup(id, '', Unibase.Platform.Apps.Components.DocPropertyActionProvider.Instance(), null, Platform.Helpers.Size.Auto);
}
Save(containerid, installedappid) {
var instance = this;
var PostData = {
InstalledAppId: Number(installedappid),
DocPropertyId: Number($("#Autocomplete_DocProperty").val()),
ActionType: Number($("#Drp_ProviderType").val()),
ActionProviderId: Number($("#AutoComplete_Onchanging").val()),
};
instance.doctypeManager.save(PostData).then(function (response) {
if (response.status == Unibase.Data.Status.Error) {
MessageHelper.Instance().showError(response.message, "div_APMessage");
}
else {
MessageHelper.Instance().showSuccess(response.message, "div_APMessage");
$('#' + containerid).modal('hide');
$('#' + containerid).remove();
}
instance.loadActionProviders(containerid, installedappid);
});
}
DeleteActionProvider(id, containerid, installedappid) {
var instance = this;
instance.doctypeManager.deleteDoctype(id).then(function (response) {
if (response.status == Unibase.Data.Status.Error) {
MessageHelper.Instance().showError(response.message, "div_APMessage");
}
else {
MessageHelper.Instance().showSuccess(response.message, "div_APMessage");
}
instance.loadActionProviders(containerid, installedappid);
});
}
static Instance() {
if (this.instance === undefined) {
this.instance = new DocPropertyActionProvider();
}
return this.instance;
}
}
DocPropertyActionProvider.StageReasons = [];
Components.DocPropertyActionProvider = DocPropertyActionProvider;
})(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
@@ -0,0 +1,36 @@
var Unibase;(function(n){let t;(function(t){let i;(function(i){let r;(function(r){class u extends t.Core.BaseComponent{constructor(){super();this.appManager=i.Managers.AppManager.Instance();this.stageManager=i.Managers.StageManager.Instance();this.doctypeManager=t.DataSources.Managers.DocTypeManager.Instance()}jsFiles(){return["/platform/apps/components/stages/stages.js","/platform/apps/components/stages/stagestatus.js","/platform/apps/managers/stagemanager.js","/platform/apps/managers/appmanager.js","/platform/apps/components/stages/stagepermissions.js","platform/forms/components/formviewer/formviewer.js","libs/parsley/parsley.min.js","platform/core/infos/status.js","platform/datasources/managers/doctypemanager.js","/platform/forms/enums/enums.js"]}cssFiles(){return[]}load(i,r){var u=this,f=u.appSettings.InstalledAppId,e;$("#doctype_Autocomplete").change(function(){var n=$("#doctype_Autocomplete").val(),t=_appsettings.server_url()+"/apis/v4/unibase/platform/doctypes/docpropertiesautocomplete/doctypeid/"+n;AutoCompleteHelper.getHelper().Create("#Autocomplete_DocProperty","#hfAutocomplete_DocProperty",t,function(){})});e=_appsettings.server_url()+"/apis/v4/unibase/platform/doctypes/appdoctypesautocomplete/installedappid/"+f;AutoCompleteHelper.getHelper().Create("#doctype_Autocomplete","#hfDocType_Autocomplete",e,function(){});$("#btn_CancelAP_"+r).click(function(){$("#"+r).modal("hide");$("#"+r).remove()});$("#Drp_ProviderType").on("change",function(){var n;$("#Drp_ProviderType").val()==1?($("#AutoComplete_Onchanging").removeAttr("disabled"),$("#AutoComplete_Onchanging").empty(),n=_appsettings.server_url()+"/apis/v4/unibase/platform/doctypes/docpropertyactionproviders/actiontype/"+t.Forms.Enums.DocPropertyActionProviderType.PreAction,AutoCompleteHelper.getHelper().Create("#AutoComplete_Onchanging","#hfAutoComplete_Onchanging",n,function(){})):$("#Drp_ProviderType").val()==2?($("#AutoComplete_Onchanging").removeAttr("disabled"),$("#AutoComplete_Onchanging").empty(),n=_appsettings.server_url()+"/apis/v4/unibase/platform/doctypes/docpropertyactionproviders/actiontype/"+t.Forms.Enums.DocPropertyActionProviderType.PostAction,AutoCompleteHelper.getHelper().Create("#AutoComplete_Onchanging","#hfAutoComplete_Onchanging",n,function(){})):$("#Drp_ProviderType").val()==3?($("#AutoComplete_Onchanging").removeAttr("disabled"),$("#AutoComplete_Onchanging").empty(),n=_appsettings.server_url()+"/apis/v4/unibase/platform/doctypes/docpropertyactionproviders/actiontype/"+t.Forms.Enums.DocPropertyActionProviderType.Both,AutoCompleteHelper.getHelper().Create("#AutoComplete_Onchanging","#hfAutoComplete_Onchanging",n,function(){})):$("#AutoComplete_Onchanging").attr("disabled","true")});$("#btn_ActionProviderSave").on("click",function(){let t=n.Platform.Forms.Components.FormViewer.Instance().requiredFieldValidation("form_DocTypeActionProvider");if(t==!1)return MessageHelper.Instance().showError("Mandatory Fields are missing","div_APMessage"),!1;u.Save(r,f)})}html(n,t){return`<header class="header b-b bg-white" id="div_Header"> <strong>Create ActionProvider</strong> </header> <section data-simplebar class="simple-scroll-bar scrollable">
<form id="form_DocTypeActionProvider" data-validate="parsley"><div class="clear" id="div_APMessage"> </div>
<div class="card">
<div class="card-body">
<div class="row">
<div class="col-sm-6"><div class="form-group"><label class="font-bold" id="lblWidth">Doc Type<span class="text-danger">*</span></label>
<select id="doctype_Autocomplete" class="form-control text-control required" style="width:100%;" placeholder = "Stage Updated Table" data-placeholder="StageUpdated Table"></select>
<input type="hidden" id="hfDocType_Autocomplete" class="hfDocType_Autocomplete' form-control value-control" data-isdynamic="true"/></div></div>
<div class="col-sm-6"><div class="form-group"><label for="" class="font-bold" id="lblWidth">Doc Property</label>
<select id="Autocomplete_DocProperty" class="form-control text-control required" style="width:100%;" placeholder = "Doc Property" data-placeholder="Select Doc Property" data-label="" data-istagselect="true" ></select>
<input type="hidden" id="hfAutocomplete_DocProperty" class="hfAutocomplete_DocProperty' form-control value-control" data-isdynamic="true"/></div></div></div>
<div class="row"><div class="col-sm-6"><label for="" class="font-bold">Provider Type</label><select id="Drp_ProviderType" class="form-control text-control" style="width:100%;" placeholder = "Provider Type" data-placeholder="Provider Type" data-label="" data-istagselect="true">
<option value=0>-Select-</option><option value=1>PreAction</option><option value=2>PostAction</option><option value=3>Both</option></select></div>
<div class="col-sm-6"><label for="" class="font-bold">Action Provider</label><select id="AutoComplete_Onchanging" disabled="true" class="form-control text-control required" style="width:100%;" placeholder = "On Change" data-placeholder="On Change" data-label="" data-istagselect="true"></select>
<input type="hidden" id="hfAutoComplete_Onchanging" class="hfAutoComplete_Onchanging' form-control value-control" data-isdynamic="true"/></div>
<div class="col-sm-4 hidden"><label for="" class="font-bold">On Changed</label><select id="AutoComplete_Onchanged" disabled="true" class="form-control text-control" style="width:100%;" placeholder = "On Changed" data-placeholder="On Changed" data-label="" data-istagselect="true"></select>
<input type="hidden" id="hfAutoComplete_Onchanged" class="hfAutoComplete_Onchanged' form-control value-control" data-isdynamic="true"/></div></div>
</div></div></form></section>
<footer class="bg-white footer"><a href="javascript:;" id="btn_CancelAP_`+t+`" class="btn btn-light btn-sm mr-auto">Close</a> <a href="javascript:;" id="btn_ActionProviderSave" class="pull-right btn btn-primary btn-sm">Save</a> </footer>`}loadActionProviders(n,i){var r,u;$("#div_ActionProviders").empty();r=this;r.appSettings.InstalledAppId=i;u=["/platform/forms/enums/enums.js","platform/forms/components/formviewer/formviewer.js","libs/parsley/parsley.min.js","platform/core/infos/status.js"];r.fileCacheHelper.loadJsFiles(u,function(){});r.doctypeManager.getDocPropertyActionProviders(i).then(function(u){for(var f,e,o='<ul class="list-group gutter list-group list-group-sp p-sm-0 p-md-4">',s=0;s<u.result.length;s++)f=u.result[s],e="",f.ActionType==Number(t.Forms.Enums.DocPropertyActionProviderType.PreAction)?e="PreAction":f.ActionType==Number(t.Forms.Enums.DocPropertyActionProviderType.PostAction)?e="PostAction":f.ActionType==Number(t.Forms.Enums.DocPropertyActionProviderType.Both)&&(e="Both"),o+=`<li class="list-group-item biz-highlight-bg-color border-0 p-1 px-2 mb-1">
<div class="row"><span class="pull-left media-xs mr-30"></span>
<input type="hidden" id="hfDocPropertyActionProviderId" value=`+f.DocPropertyActionProviderId+`>
<div class="d-flex w-100 align-items-center ">
<div class="col-sm-10 col-10">
<div class="d-flex flex-wrap">
<div class="col-sm-7 biz-highlight-bg-color">
<strong>`+f.ActionName+`</strong>
</div>
<div class="col-sm-5 biz-highlight-bg-color">
<div class=""><span>`+e+`</span></div></div>
</div>
</div>
<div class="col-sm-1 col-1 p-0 hidden"><a href="javascript:;" class="" onclick="Unibase.Platform.Apps.Components.Stages.Instance().AddStage(`+f.DocPropertyActionProviderId+`);"><i class="fa fa-pencil icon-muted fa-fw m-r-xs"></i></a></div>
<div class="col-sm-1 col-1 p-0 text-right"><a href="javascript:;" class="" onclick="Unibase.Platform.Apps.Components.DocPropertyActionProvider.Instance().DeleteActionProvider(`+f.DocPropertyActionProviderId+`,'`+n+`',`+i+`);"><i class="fa fa-trash biz-highlight-bg-color"></i></a></div>
</div>
</div> </li>`;if(o+="<\/ul>",$("#div_ActionProviders").append(o),$.fn.sortable){$(".sortable").sortable();$(".sortable").on("sortupdate",function(){r.RefreshIndexes(n,i)})}u.result.length==0&&$("#div_ActionProviders").remove()})}RefreshIndexes(t,i){var u=this,r="";$("#div_ActionProviders").find(".list-group-item").each(function(){var n=$(this).find("#hfDocPropertyActionProviderId").val();n!=0&&(r+=n+",")});r!=""&&u.doctypeManager.updateIndexes(r).then(function(r){r.status==n.Data.Status.Error?MessageHelper.Instance().showError(r.message,"div_APMessage"):MessageHelper.Instance().showSuccess(r.message,"div_APMessage");u.loadActionProviders(t,i)})}AddActionProvider(i){this.navigationHelper.popup(i,"",n.Platform.Apps.Components.DocPropertyActionProvider.Instance(),null,t.Helpers.Size.Auto)}Save(t,i){var r=this,u={InstalledAppId:Number(i),DocPropertyId:Number($("#Autocomplete_DocProperty").val()),ActionType:Number($("#Drp_ProviderType").val()),ActionProviderId:Number($("#AutoComplete_Onchanging").val())};r.doctypeManager.save(u).then(function(u){u.status==n.Data.Status.Error?MessageHelper.Instance().showError(u.message,"div_APMessage"):(MessageHelper.Instance().showSuccess(u.message,"div_APMessage"),$("#"+t).modal("hide"),$("#"+t).remove());r.loadActionProviders(t,i)})}DeleteActionProvider(t,i,r){var u=this;u.doctypeManager.deleteDoctype(t).then(function(t){t.status==n.Data.Status.Error?MessageHelper.Instance().showError(t.message,"div_APMessage"):MessageHelper.Instance().showSuccess(t.message,"div_APMessage");u.loadActionProviders(i,r)})}static Instance(){return this.instance===undefined&&(this.instance=new u),this.instance}}u.StageReasons=[];r.DocPropertyActionProvider=u})(r=i.Components||(i.Components={}))})(i=t.Apps||(t.Apps={}))})(t=n.Platform||(n.Platform={}))})(Unibase||(Unibase={}));
@@ -0,0 +1,48 @@
var Unibase;
(function (Unibase) {
let Platform;
(function (Platform) {
let Apps;
(function (Apps) {
let Components;
(function (Components) {
class Details extends Platform.Core.BaseComponent {
constructor() {
super();
this.appManager = Apps.Managers.AppManager.Instance();
}
loadhtml() {
$("#divAppWidgets").empty();
let html = `<div class="card"><div class="card-body"><div class="row"><div id="" class="control-group col-sm-6 "><div id="" class="floating-label-form-group floating-label-form-group-with-value"><input type="hidden" id="hdnddl_SchedulerTypeId" class="value-control" value="0" data-required="true" data-regularexp="" data-validatemsg=""><label for="lbl" id="">Report Configuration<span class="text-danger " id="spnIsRequired_SchedulerTypeId"> *</span></label><select id="sel_report" class="form-control required" data-propertyname="" data-isdefault="true" placeholder="Select Report Name" data-placeholder="Select Report Name" data-label="Report" data-isparent="false" style="none"><option value="0" >--Select Report--</option></select><input type="hidden" id="hfId_ReportId" value=""><label for="Validation" id="lblValidation_SchedulerTypeId"></label><input type="hidden" id="hfFormPropertyId" value=""></div></div><div class="col-sm-6 pull-right"><a href="javascript:;" id="btn_saveReport" class="btn btn-primary btn-sm pull-right">Save</a></div></div></div></div>`;
$("#divAppWidgets").append(html);
this.loadReport();
var instance = this;
$("#btn_saveReport").click(function () {
instance.save();
});
}
loadReport() {
this.fileCacheHelper.loadJsFile("platform/analytics/managers/reportmanager.js", function () {
Unibase.Platform.Analytics.Managers.ReportManager.Instance().getReports().then(function (response) {
for (var i = 0; i < response.length; i++) {
var data = response[i];
var options = '<option value=' + response[i].ReportId + '>' + response[i].ReportName + '</option>';
$("#sel_report").append(options);
}
});
});
}
save() {
}
static Instance() {
if (this.instance === undefined) {
this.instance = new Details();
}
return this.instance;
}
}
Components.Details = Details;
})(Components = Apps.Components || (Apps.Components = {}));
})(Apps = Platform.Apps || (Platform.Apps = {}));
})(Platform = Unibase.Platform || (Unibase.Platform = {}));
})(Unibase || (Unibase = {}));
@@ -0,0 +1 @@
{"version":3,"file":"appbuilder.details.js","sourceRoot":"","sources":["appbuilder.details.ts"],"names":[],"mappings":"AAAA,IAAU,OAAO,CAyDhB;AAzDD,WAAU,OAAO;IACb,IAAiB,QAAQ,CAuDxB;IAvDD,WAAiB,QAAQ;QACrB,IAAiB,IAAI,CAqDpB;QArDD,WAAiB,IAAI;YACjB,IAAiB,UAAU,CAmD1B;YAnDD,WAAiB,UAAU;gBACvB,MAAa,OAAQ,SAAQ,SAAA,IAAI,CAAC,aAAa;oBAE3C;wBACI,KAAK,EAAE,CAAC;wBACR,IAAI,CAAC,UAAU,GAAG,KAAA,QAAQ,CAAC,UAAU,CAAC,QAAQ,EAAE,CAAC;oBACrD,CAAC;oBACD,QAAQ;wBAEJ,CAAC,CAAC,gBAAgB,CAAC,CAAC,KAAK,EAAE,CAAC;wBAC5B,IAAI,IAAI,GAAG,+hCAA+hC,CAAC;wBAC3iC,CAAC,CAAC,gBAAgB,CAAC,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC;wBACjC,IAAI,CAAC,UAAU,EAAE,CAAC;wBAClB,IAAI,QAAQ,GAAG,IAAI,CAAC;wBACpB,CAAC,CAAC,iBAAiB,CAAC,CAAC,KAAK,CAAC;4BAEvB,QAAQ,CAAC,IAAI,EAAE,CAAC;wBACpB,CAAC,CAAC,CAAC;oBAEP,CAAC;oBACD,UAAU;wBACN,IAAI,CAAC,eAAe,CAAC,UAAU,CAAC,8CAA8C,EAAE;4BAC5E,OAAO,CAAC,QAAQ,CAAC,SAAS,CAAC,QAAQ,CAAC,aAAa,CAAC,QAAQ,EAAE,CAAC,UAAU,EAAE,CAAC,IAAI,CAAC,UAAU,QAAQ;gCAE7F,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,QAAQ,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE;oCACtC,IAAI,IAAI,GAAG,QAAQ,CAAC,CAAC,CAAC,CAAC;oCACvB,IAAI,OAAO,GAAG,gBAAgB,GAAG,QAAQ,CAAC,CAAC,CAAC,CAAC,QAAQ,GAAG,GAAG,GAAG,QAAQ,CAAC,CAAC,CAAC,CAAC,UAAU,GAAG,WAAW,CAAC;oCACnG,CAAC,CAAC,aAAa,CAAC,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC;iCAEpC;4BACL,CAAC,CAAC,CAAC;wBAEP,CAAC,CAAC,CAAC;oBAEP,CAAC;oBACD,IAAI;oBAOJ,CAAC;oBAED,MAAM,CAAC,QAAQ;wBACX,IAAI,IAAI,CAAC,QAAQ,KAAK,SAAS,EAAE;4BAC7B,IAAI,CAAC,QAAQ,GAAG,IAAI,OAAO,EAAE,CAAC;yBACjC;wBACD,OAAO,IAAI,CAAC,QAAQ,CAAC;oBACzB,CAAC;iBACJ;gBAjDY,kBAAO,UAiDnB,CAAA;YACL,CAAC,EAnDgB,UAAU,GAAV,eAAU,KAAV,eAAU,QAmD1B;QACL,CAAC,EArDgB,IAAI,GAAJ,aAAI,KAAJ,aAAI,QAqDpB;IACL,CAAC,EAvDgB,QAAQ,GAAR,gBAAQ,KAAR,gBAAQ,QAuDxB;AACL,CAAC,EAzDS,OAAO,KAAP,OAAO,QAyDhB"}
+1
View File
@@ -0,0 +1 @@
var Unibase;(function(n){let t;(function(t){let i;(function(i){let r;(function(r){class u extends t.Core.BaseComponent{constructor(){super();this.appManager=i.Managers.AppManager.Instance()}loadhtml(){$("#divAppWidgets").empty();let n=`<div class="card"><div class="card-body"><div class="row"><div id="" class="control-group col-sm-6 "><div id="" class="floating-label-form-group floating-label-form-group-with-value"><input type="hidden" id="hdnddl_SchedulerTypeId" class="value-control" value="0" data-required="true" data-regularexp="" data-validatemsg=""><label for="lbl" id="">Report Configuration<span class="text-danger " id="spnIsRequired_SchedulerTypeId"> *</span></label><select id="sel_report" class="form-control required" data-propertyname="" data-isdefault="true" placeholder="Select Report Name" data-placeholder="Select Report Name" data-label="Report" data-isparent="false" style="none"><option value="0" >--Select Report--</option></select><input type="hidden" id="hfId_ReportId" value=""><label for="Validation" id="lblValidation_SchedulerTypeId"></label><input type="hidden" id="hfFormPropertyId" value=""></div></div><div class="col-sm-6 pull-right"><a href="javascript:;" id="btn_saveReport" class="btn btn-primary btn-sm pull-right">Save</a></div></div></div></div>`;$("#divAppWidgets").append(n);this.loadReport();var t=this;$("#btn_saveReport").click(function(){t.save()})}loadReport(){this.fileCacheHelper.loadJsFile("platform/analytics/managers/reportmanager.js",function(){n.Platform.Analytics.Managers.ReportManager.Instance().getReports().then(function(n){for(var r,i,t=0;t<n.length;t++)r=n[t],i="<option value="+n[t].ReportId+">"+n[t].ReportName+"<\/option>",$("#sel_report").append(i)})})}save(){}static Instance(){return this.instance===undefined&&(this.instance=new u),this.instance}}r.Details=u})(r=i.Components||(i.Components={}))})(i=t.Apps||(t.Apps={}))})(t=n.Platform||(n.Platform={}))})(Unibase||(Unibase={}));
@@ -0,0 +1,865 @@
var Unibase;
(function (Unibase) {
let Platform;
(function (Platform) {
let Apps;
(function (Apps) {
let Components;
(function (Components) {
class AppBuilder extends Platform.Core.BaseComponent {
constructor() {
super();
this.installedappid = 0;
this.parameters = "";
this.recordid = 0;
this.appmanager = Apps.Managers.AppManager.Instance();
this.reportmanager = Unibase.Platform.Analytics.Managers.ReportManager.Instance();
this.permissionmanager = Unibase.Platform.Permissions.Managers.PermissionManager.Instance();
}
cssFiles() {
return [];
}
init(containerid) {
this.Dependentapp(containerid);
}
jsFiles() {
return ["platform/bundle/index.appbuilder.js"];
}
html(id, containerid) {
return `<form id="frmUnibase_CreateApp" data-validate="parsley" data-isdynamic="false"><div class="card bg-light"><div class="b-b bg-white card-header header"><strong class="text-dark title" id="lbl_title">Create App</strong></div>
<div data-simplebar class="card-body simple-scroll-bar scrollable" id="divCreateApp"><div id="div_appmessage"></div><div class="bg-white card"><div id="unibase_ValidationSummary" class="clear"></div><div class="card-body">
<div class="row"><div class="col-sm-6"><div class="floating-label-form-group"><label for="txt_FriendlyName" class="font-bold">App Title<span class="text-danger"> *</span></label><input type="text" id="txt_FriendlyName" class="form-control floating-label-control required" data-isdynamic="false" placeholder="App Title *" data-placeholder="Enter App Title" data-label="App Title *" autocomplete="off"/></div></div>
<div class="col-sm-6"><div class="floating-label-form-group div_IconGroupName" id="div_IconMargin"><label for="txt_IconName" class="font-bold">Icon Name<span class="text-danger"> *</span></label><input type="text" id="txt_IconName" class="form-control floating-label-control required tokenable" data-isdynamic="false" placeholder="Icon Name *" data-placeholder="Enter Icon Name" data-label="Icon Name *" autocomplete="off"><input type='hidden' id='txtfafaIcon'/><div class='div_GroupIcon'></div></div></div></div>
<div class='col-sm-12 hidden div_Icons' id='icons'><div id='appicons' class='panel panel-default'>
<ul class='list-group no-radius m-b-none list-group-item no-border icon-list'></ul></div></div>
<div class="row"><div class="col-sm-6"><div class="input-group"><label for="companyname" class="font-bold">Company Name<span class="text-danger">*</span></label><select id="txtAutoComplete_Company" class="form-control text-control required" style="width:100%;" placeholder = "Company Name" data-placeholder="Company Name" data-label="" data-istagselect="true" onchange="Unibase.Platform.Apps.Components.AppBuilder.Instance().Company();" ></select>
<input type="hidden" id="hfAutoComplete_Company" class="hfAutoCompleteId_Company' form-control value-control" data-isdynamic="true"/>
</div></div>
<div class="col-sm-6"><div class="input-group"><label for="" class="font-bold">Module Type <span class="text-danger">*</span></label><select id="txtAutoComplete_ModuleType" class="form-control text-control required" style="width:100%;" placeholder = "Module Type" data-placeholder="Module Type" data-label="" data-istagselect="true" disabled="true" onchange="Unibase.Platform.Apps.Components.AppBuilder.Instance().ModuleType();"></select>
<input type="hidden" id="hfAutoComplete_ModuleType" class="hfAutoComplete_ModuleType' form-control value-control" data-isdynamic="true"/>
</div></div>
</div>
<div class="row">
<div class="col-sm-6"><div class="input-group"><label for="" class="font-bold">Module <span class="text-danger">*</span></label><select id="txtAutoComplete_Module" class="form-control text-control required" style="width:100%;" placeholder = "Module" data-placeholder="Module" data-label="" data-istagselect="true" disabled="true" onchange="Unibase.Platform.Apps.Components.AppBuilder.Instance().Module();"></select>
<input type="hidden" id="hfAutoComplete_Module" class="hfAutoComplete_Module' form-control value-control" data-isdynamic="true"/></div></div>
<div class="col-sm-6 div_Enabledefault" style="margin-top:50px"><strong>Enable Defaults</strong><label class="switch pull-right"><input id="chkEnableDefaults" data-group="" style="margin-top:50px" type="checkbox" checked><span></span> </label>
</div>
</div>
<div class="row div_table">
<div class="col-sm-6"><div class="floating-label-form-group"><label for="txt_TableName" class="font-bold">Table Name<span class="text-danger"> *</span></label>
<input type="text" id="txt_TableName" class="form-control floating-label-control required" data-isdynamic="false" placeholder="TableName *" data-placeholder="Enter TableName" data-label="TableName *" autocomplete="off"/></div></div>
<div class="col-sm-6"><div class="floating-label-form-group" ><label for="" class="font-bold">Primary Key<span class="text-danger"> *</span>
</label><input type="text" id="txt_PrimaryKey" class="form-control floating-label-control required" data-isdynamic="false" placeholder="Primary Key *" data-placeholder="Enter Primary Key" data-label="Primary Key *" autocomplete="off">
</div></div>
</div>
<div class="row">
<div class="col-sm-6"><div class="floating-label-form-group"><label for="" class="font-bold">App Color<span class="text-danger"> *</span>
</label><input type="text" id="txt_AppColor" class="form-control floating-label-control required" data-isdynamic="false" placeholder="App Color *" data-placeholder="Enter App Color" data-label="App Color *" autocomplete="off">
</div></div>
<div class="col-sm-6 div_appdoctypes hidden"><div class="input-group"><label for="lblType" class="font-bold">Default DocType </label> <select id="Autocomplete_AppDocTypes" class="form-control value-control" style="width:100%;" placeholder = "App DocTypes" data-placeholder="App DocTypes" data-label="" data-istagselect="true"></select>
<input type="hidden" id="hfAutoComplete_appdoctypes" class="hfAutoComplete_appdoctypes' form-control value-control" data-isdynamic="true"/>
</div></div>
<div class="col-sm-4 div_appimage"><div class="floating-label-form-group"><label for="lblType" class="font-bold">App Image </label>
<input type="file" id="txt_AppImage" class="form-control" data-isdynamic="false" placeholder="App Image" data-placeholder="Choose Image" data-label="App Image" autocomplete="off" onchange = "Unibase.Platform.Apps.Components.AppBuilder.Instance().loadImage(event)">
</div></div>
<div class="div_image col-sm-2"></div></div>
<div class="card-body"><div class="row"><div class="col-sm-12"><div class="floating-label-form-group divSvgimage">
<label for="" class="font-bold">Svg Image<span class="text-danger"></span>
</label><input type="text" id="txt_SvgImage" class="form-control floating-label-control " data-isdynamic="false" placeholder="Svg Img" data-placeholder="Svg Image " data-label=" Svg Image" autocomplete="off">
</div></div></div></div>
<div class="row hidden div_dispname_revname " >
<div class="col-sm-6 "><div class="floating-label-form-group"><label for="" class="font-bold">Display Name<span class="text-danger"></span>
</label><input type="text" id="txt_DisplayName" class="form-control floating-label-control " data-isdynamic="false" placeholder="Display Name" data-placeholder="Enter Display Name" data-label=" Display Name" autocomplete="off">
</div></div>
<div class="col-sm-6 "><div class="floating-label-form-group"><label for="" class="font-bold">Reverse Name<span class="text-danger"></span>
</label><input type="text" id="txt_ReverseName" class="form-control floating-label-control " data-isdynamic="false" placeholder="Reverse Name" data-placeholder="Enter Reverse Name" data-label=" Reverse Name" autocomplete="off">
</div></div>
</div>
<div class="row hidden div_roles"><div class="col-sm-6"><div class="input-group"><label for="lblRoles"
class="font-bold">Roles</label> <select id="Select2_Roles" class="form-control value-control" style="width:100%;
" placeholder = "Roles" data-placeholder="Roles" data-label="" data-istagselect="true" multiple="multiple"/></select>
<input type="hidden" id="hfSelect2_Roles" class="hfSelect2_Roles' form-control value-control" data-isdynamic="true"/>
</div></div></div>
<div class="row">
<div class="col-sm-6 div_stages" style="margin-top:50px"><strong>Enable Stage</strong><label class="switch pull-right"><input id="chkStageEnable" data-group="" style="margin-top:50px" type="checkbox"><span></span> </label></div>
<div class="col-sm-6 div_isSyncEnabled d-none" style="margin-top:50px"><strong>Enable Sync</strong><label class="switch pull-right"><input id="chkSyncEnabled" data-group="" style="margin-top:50px" type="checkbox"><span></span> </label></div>
<div class="col-sm-6 div_issystemlock d-none" style="margin-top:50px"><strong>Enable System Lock</strong><label class="switch pull-right"><input id="chkSystemlock" data-group="" style="margin-top:50px" type="checkbox"><span></span> </label></div>
<div class="col-sm-6 hidden" id="div_LockAppliedOn"><div class="input-group"><label for="lblLockappliedon" class="font-bold">LockAppiedOn</label> <select id="Autocomplete_LockAppliedOn" class="form-control value-control" style="width:100%;" placeholder = "LockAppliedOn" data-placeholder="LockAppliedOn" data-istagselect="true" onchange=""/></select>
<input type="hidden" id="hfAutoComplete_LockAppliedOn" class="hfAutoComplete_LockAppliedOn' form-control value-control" data-isdynamic="true"/>
</div></div>
<div class="col-sm-6 div_isSeriesExport d-none" style="margin-top:50px"><strong>Enable Series Export</strong><label class="switch pull-right"><input id="chkSeriesExport" data-group="" style="margin-top:50px" type="checkbox"><span></span> </label></div>
<div class="col-sm-6 div_isPermissionsExport d-none" style="margin-top:50px"><strong>Enable Permissions Export</strong><label class="switch pull-right"><input id="chkPermissionsExport" data-group="" style="margin-top:50px" type="checkbox"><span></span> </label></div>
</div>
<div class="row">
<div class="col-sm-12" style="margin-top:50px"><a href="javascript:;" id="link_MoreOptions" class="pull-right">More Options</a><a href="javascript:;" id="link_LessOptions" class="pull-right hidden">Less Options</a></div></div>
<div class="row hidden div_moreoptions"><div class="col-sm-6"><div class="input-group"><label for="lblAppproviderType" class="font-bold">AppProvider Type </label> <select id="Autocomplete_AppproviderType" class="form-control value-control" style="width:100%;" placeholder = "AppProvider Type" data-placeholder="AppProvider Type" data-label="" data-istagselect="true" onchange="Unibase.Platform.Apps.Components.AppBuilder.Instance().AppProviderType();"/></select>
<input type="hidden" id="hfAutoComplete_Appprovidertype" class="hfAutoComplete_Appprovidertype' form-control value-control" data-isdynamic="true"/>
</div></div>
<div class="col-sm-6"><div class="input-group"><label for="lblParentApp" class="font-bold">ParentApp </label> <select id="Autocomplete_ParentApp" class="form-control value-control" style="width:100%;" placeholder = "ParentApp" data-placeholder="ParentApp" data-istagselect="true" onchange=""/></select>
<input type="hidden" id="hfAutoComplete_ParentApp" class="hfAutoComplete_ParentApp' form-control value-control" data-isdynamic="true"/>
</div></div>
<div class="col-sm-6 mt-3"><div class="input-group"><label for="lblAppType" class="font-bold">AppType
</label> <select id="Autocomplete_AppType" class="form-control value-control" style="width:100%;" placeholder = "AppType" data-placeholder="AppType" data-istagselect="true" onchange=""/></select>
<input type="hidden" id="hfAutoComplete_AppType" class="hfAutoComplete_AppType' form-control value-control" data-isdynamic="true"/>
</div></div>
</div>
<div class="row hidden div_dependentapps"><div class="col-sm-6"><div class="input-group"><label for="lblAppproviderType" class="font-bold">Dependent Apps </label> <select id="Select2_DependentApps" class="form-control value-control" style="width:100%;" placeholder = "Dependent App" data-placeholder="Dependent Apps" data-label="" data-istagselect="true" multiple="multiple"/></select>
<input type="hidden" id="hfSelect2_Dependentapps" class="hfSelect2_Dependentapps' form-control value-control" data-isdynamic="true"/>
</div></div></div>
</div></div>
<div class="bg-white card div_moreoptions1 hidden" id=" div_moreoptions1"><div class="card-header">
<div class="row col-sm-12 mt-2">
<div class="TemplateText_Section card"><div class="card-header"> Template Text </div><div class="card-body"><div id="div_TemplateText" class="">
<textarea class="" id="txt_DefaultWidgetTemplateText" placeholder="Template Text" rows="3" cols="112"></textarea>
</div></div></div>
</div>
<div class="row">
<div class="col-sm-6"><div class="input-group"><label for="lblReports" class="font-bold">Reports </label> <select id="Autocomplete_Report" class="form-control value-control" style="width:100%;" placeholder = "Reports" data-placeholder="Reports" data-istagselect="true" onchange=""/></select>
<input type="hidden" id="hfAutoComplete_Report" class="hfAutoComplete_Report' form-control value-control" data-isdynamic="true"/>
</div></div>
<div class="col-sm-6"><div class="input-group" ><label for="lblParameter" class="font-bold">DefaultWidget Parameter</label> <select id="Sel_Dwparameter" class="form-control value-control" style="width:100%;" placeholder = "DefaultWidget Parameter data-placeholder="DefaultWidget Parameter" data-istagselect="true" data-isdynamic="true" disabled="true"></select>
<input type="hidden" id="hfAutoComplete_Dwparam" class="hfAutoComplete_Dwparam' form-control value-control" data-isdynamic="true"/>
</div></div>
</div><br>
<div class="row">
<div class="col-sm-4"><div class="input-group" ><label for="lblReport" class="font-bold">Report Column1<span class="text-danger"> </span></label> <select id="Sel_Column1" class="form-control value-control" style="width:100%;" placeholder = "Reports Column1" data-placeholder="Reports Column1" data-istagselect="true" data-isdynamic="true"></select>
<input type="hidden" id="hfAutoComplete_ReportColumn1" class="hfAutoComplete_ReportColumn1' form-control value-control" data-isdynamic="true"/>
</div></div>
<div class="col-sm-4"><div class="input-group" ><label for="lblReport" class="font-bold">Report Column2<span class="text-danger"> </span></label> <select id="Sel_Column2" class="form-control value-control" data-isdynamic="true" style="width:100%;" placeholder = "Reports Column2" data-placeholder="Reports Column2" data-istagselect="true" disabled="true"></select>
<input type="hidden" id="hfAutoComplete_ReportColumn2" class="hfAutoComplete_ReportColumn2' form-control value-control" data-isdynamic="true"/>
</div></div>
<div class="col-sm-4"><div class="input-group" ><label for="lblReport" class="font-bold">Report Column3<span class="text-danger"> </span></label> <select id="Sel_Column3" class="form-control value-control" data-isdynamic="true" style="width:100%;" placeholder = "Reports Column3" data-placeholder="Reports Column3" data-istagselect="true" disabled="true"></select>
<input type="hidden" id="hfAutoComplete_ReportColumn3" class="hfAutoComplete_ReportColumn3' form-control value-control" data-isdynamic="true"/>
</div></div>
</div>
</div></div>
<div class="bg-white card"><div class="card-header">Unique Key</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 divDiscription"><textarea class="summernote form-control value-control floating-label-control required" id="txt_Description" name="" rows=""></textarea></div></div>
</div></div></div></div>
<div class="bg-white card-footer footer" id="CreateAppFooter"><button id="btn_CloseApp" class="btn btn-secondary btn-sm mr-auto">Close</button><button id="btn_SaveApp" class="btn btn-primary btn-sm pull-right">Save</button></div></div></form>`;
}
load(id, containerid, callback) {
Unibase.Platform.Helpers.FileCacheHelper.Instance().addCacheFiles([
"platform/apps/components/appbuilder.js", "platform/apps/enums/dependenttype.js", "platform/datasources/managers/doctypemanager.js", "platform/datasources/managers/interfaces/idoctypemanager.js", "platform/apps/enums/apptype.js"
]);
var instance = this;
instance.recordid = id;
$("#btn_CloseApp").click(function () {
$('#' + containerid).modal('hide');
$('#' + containerid).remove();
});
$("#txt_FriendlyName").keyup(function () {
if (id == 0) {
AppBuilder.Instance().AppTitle(id);
}
});
$("#btn_SaveApp").click(function () {
let appcontrolid = "frmUnibase_CreateApp";
let result = Unibase.Platform.Forms.Components.FormViewer.Instance().requiredFieldValidation(appcontrolid);
if (result == false) {
if ($($(".summernote").summernote("code")).text() == "") {
$('.divDiscription').css('border-color', 'red');
MessageHelper.Instance().showError("Mandatory Fields are missing", "div_appmessage");
return false;
}
else {
$('.divDiscription').css('border-color', '');
return false;
}
}
else {
AppBuilder.Instance().SaveApp(id, containerid);
}
});
$("#chkEnableDefaults").on("change", function () {
if (!($("#chkEnableDefaults").prop('checked'))) {
$(".div_table").addClass('hidden');
$("#txt_PrimaryKey").removeClass('required');
$("#txt_TableName").removeClass('required');
$(".div_stages").addClass('hidden');
}
else {
$(".div_table").removeClass('hidden');
$(".div_stages").removeClass('hidden');
}
});
$("#txt_IconName").focus(function () {
$(".div_Icons").fadeIn();
$("#icons").toggleClass("hidden");
$(".div_Icons").removeClass('hidden');
});
$("#txt_IconName").focusout(function () {
$(".div_Icons").fadeOut();
});
$('.summernote').summernote({
toolbar: [],
placeholder: "Enter Description *"
});
$('.summernote1').summernote({
toolbar: [],
placeholder: "Svg Image "
});
$(".divDiscription").keypress(function () {
$('.divDiscription').css('border-color', '');
});
$(".divDiscription").keydown(function () {
var contents = $('.summernote').summernote('code');
var plainText = $("<p>" + contents + "</p>").text();
if (plainText != "" && plainText.length == 1) {
$('.divDiscription').css('border-color', 'red');
}
});
$("#chkStageEnable").on("change", function () {
if ($("#chkStageEnable").prop('checked')) {
if (id != 0) {
$("#Autocomplete_AppDocTypes").addClass('required');
}
}
else {
$("#Autocomplete_AppDocTypes").removeClass('required');
}
});
instance.appdata(id);
instance.loadIcons();
$("#chkSystemlock").change(function () {
if ($("#chkSystemlock").prop("checked"))
$("#div_LockAppliedOn").removeClass("hidden");
else
$("#div_LockAppliedOn").addClass("hidden");
});
}
loadImage(event) {
Unibase.Platform.Helpers.FileHelper.Instance().getBase64(event).then(function (response) {
Unibase.Platform.Apps.Components.AppBuilder.FileInfo = response;
});
$(".div_image").empty();
var url = URL.createObjectURL(event.target.files[0]);
var imagetag = '<img class="img-fluid" src = "' + url + '"width="60" height="50" style="margin-top:10px" ></img>';
$(".div_image").append(imagetag);
}
loadForm(FormId, Pk_Value, AppConfigurationId, Callback, ElementId) {
this.addprovider(Pk_Value);
}
addprovider(Pk_Value) {
this.navigationHelper.popup(Pk_Value, '', Unibase.Platform.Apps.Components.AppBuilder.Instance(), null, Platform.Helpers.Size.Large);
}
loadAppForm(iscreate) {
var Pk_Value = 0;
if (!iscreate)
Pk_Value = Unibase.Themes.Providers.DetailHelper.recordId;
this.navigationHelper.popup(Pk_Value, '', Unibase.Platform.Apps.Components.AppBuilder.Instance(), null, Platform.Helpers.Size.Large);
}
appdata(Pk_Value) {
if (Pk_Value != 0) {
var instance = this;
var defaultdoctypeid = 0;
this.appmanager.getInstallApp(Pk_Value).then(function (response) {
if (response.result.ReportId != 0) {
instance.getreportcolumns(response.result.ReportId);
}
instance.appmanager.getdependentApps(Pk_Value).then(function (response) {
if (response.result.length > 0) {
var ids = [];
var options = "";
for (var i = 0; i < response.result.length; i++) {
ids.push(response.result[i].DependentId);
options += '<option value="' + response.result[i].DependentId + '">' + response.result[i].AppTitle + '</option>';
}
$("#Select2_DependentApps").append(options).val(ids).trigger("change");
}
});
$("#lbl_title").text("Edit App");
$(".div_Enabledefault").remove();
$(".div_dispname_revname").removeClass('hidden');
$(".div_isSeriesExport").removeClass('d-none');
$(".div_isPermissionsExport").removeClass('d-none');
$(".div_issystemlock").removeClass('d-none');
$(".div_isSyncEnabled").removeClass('d-none');
$("#txt_DisplayName,#txt_ReverseName").keypress(function () {
$(".div_roles").removeClass('hidden');
});
if (response.result.EnableStage) {
$("#chkStageEnable").prop('checked', true);
$("#chkStageEnable").attr('disabled', 'true');
$("#Autocomplete_AppDocTypes").attr('required', 'true');
}
if (response.result.IsSystemLock) {
$("#chkSystemlock").prop('checked', true).trigger("change");
$("#chkSystemlock").attr('disabled', 'true');
$("#Autocomplete_AppDocTypes").attr('required', 'true');
}
if (response.result.EnableSeriesExport) {
$("#chkSeriesExport").prop('checked', true);
}
if (response.result.EnablePermissionsExport) {
$("#chkPermissionsExport").prop('checked', true);
}
$("#chkSyncEnabled").prop('checked', response.result.IsSyncEnabled).trigger("change");
if (response.result.ImageUrl != "") {
var imagetag = '<img class="rounded-circle img-fluid" src = "' + response.result.ImageUrl + '" width="60" height="50" style="margin-top:10px" ></img>';
$(".div_image").append(imagetag);
}
if (response.result.DefaultDocTypeId != 0) {
var appdoctypeoptions = new Option(response.result.DocTypeTableName, response.result.DefaultDocTypeId.toString(), true);
$("#Autocomplete_AppDocTypes").append(appdoctypeoptions);
$("#Autocomplete_AppDocTypes").attr("disabled", "true");
defaultdoctypeid = response.result.DefaultDocTypeId;
var defaultdoctypeid = defaultdoctypeid;
var url = _appsettings.server_url() + '/apis/v4/unibase/platform/doctypes/docpropertiesautocomplete/doctypeid/' + defaultdoctypeid;
AutoCompleteHelper.getHelper().Create("#Autocomplete_LockAppliedOn", "#hfAutoComplete_LockAppliedOn", url, function (response) {
});
if (response.result.LockAppliedOnName != null) {
var lockappliedoptions = new Option(response.result.LockAppliedOnName, response.result.LockAppliedOn.toString(), true);
$("#Autocomplete_LockAppliedOn").append(lockappliedoptions);
$("#Autocomplete_LockAppliedOn").attr("disabled", "true");
}
}
$(".div_appdoctypes").removeClass('hidden');
$(".div_table").remove();
$("#txt_FriendlyName").val(response.result.AppTitle);
$("#txt_FriendlyName").attr("disabled", "true");
$("#txt_IconName").val(response.result.IconName);
$("#txt_DisplayName").val(response.result.DisplayText);
$("#txt_ReverseName").val(response.result.ReverseText);
$("#txt_AppColor").val(response.result.AppColor);
$("#txt_SvgImage").val(response.result.SvgIconUrl);
$('.summernote').summernote("code", response.result.Description);
var appprovidertypeoption = new Option(Apps.Enums.AppProviderType[Number(response.result.AppProviderTypeId)], response.result.AppProviderTypeId.toString(), true);
$("#Autocomplete_AppproviderType").append(appprovidertypeoption);
var apptypeoption = new Option(Apps.Enums.AppType[Number(response.result.AppTypeId)], response.result.AppTypeId.toString(), true);
$("#Autocomplete_AppType").append(apptypeoption);
$("#txt_UniqueId").text(response.result.UniqueId);
$("#txt_DefaultWidgetTemplateText").val(response.result.DefaultWidgetTemplateText);
if (response.result.ReportId == 0) {
$("#chkEnableDefaults").prop("checked", false);
}
if (response.result.RoleIds != "" && response.result.RoleIds != null) {
$(".div_roles").removeClass('hidden');
var roleids = response.result.RoleIds.split('|');
var ids = [];
for (var i = 0; i < roleids.length; i++) {
let roleid = Number(roleids[i]);
ids.push(roleid);
if (roleid == 0) {
$("#Select2_Roles").append(`<option value="${roleid}">All</option>`).val(ids).trigger('change');
continue;
}
instance.permissionmanager.getRole(roleid).then(function (roleresponse) {
var options = `<option value="${roleid}">${roleresponse.result.RoleName}</option>`;
$("#Select2_Roles").append(options).val(ids).trigger('change');
});
}
}
var option1 = new Option(response.result.DevOrgName, response.result.DevOrgId.toString(), true);
$("#txtAutoComplete_Company").append(option1);
$("#txtAutoComplete_Company").attr("disabled", "true");
var option2 = new Option(response.result.ModuleTypeName, response.result.ModuleTypeId.toString(), true);
$("#txtAutoComplete_ModuleType").append(option2);
var option3 = new Option(response.result.ModuleName, response.result.ModuleId.toString(), true);
$("#txtAutoComplete_Module").append(option3);
if (response.result.ParentAppId != 0) {
instance.appmanager.getInstallApp(Number(response.result.ParentAppId)).then(function (parentappresponse) {
var parentappoption = new Option(parentappresponse.result.AppTitle, parentappresponse.result.InstalledAppId.toString(), true);
$("#Autocomplete_ParentApp").append(parentappoption);
});
}
if (response.result.ReportId != 0) {
instance.reportmanager.getReportById(Number(response.result.ReportId)).then(function (reportresponse) {
var reportoption = new Option(reportresponse.result.ReportName, reportresponse.result.ReportId.toString(), true);
$("#Autocomplete_Report").append(reportoption);
});
}
$("#Autocomplete_Report").on("change", function () {
$("#Sel_Column1").removeAttr("disabled");
$("#Sel_Column2").attr("disabled", "true");
$("#Sel_Column3").attr("disabled", "true");
var repportvalue = Number($("#Autocomplete_Report").val());
var reporttext = $("#Autocomplete_Report").text();
if (repportvalue != 0) {
instance.getreportcolumns(repportvalue);
}
});
$("#Sel_Column1").on("change", function () {
var value = $("#Sel_Column1").val();
var text = $("#Sel_Column1 option:selected").text();
if (text != "") {
$("#Sel_Column2").removeAttr("disabled");
$("#Sel_Column1").attr("disabled", "true");
var htmlString = $($("#txt_DefaultWidgetTemplateText").val());
var htmltext = htmlString;
htmltext.find("#Column1").text("{{" + text + "}}");
var template = htmltext.html().toString();
$("#txt_DefaultWidgetTemplateText").val("<div class='app_defaultwidget'>" + template + "</div>");
}
});
$("#Sel_Column2").on("change", function () {
var value = $("#Sel_Column2").val();
var text = $("#Sel_Column2 option:selected").text();
if (text != "") {
$("#Sel_Column3").removeAttr("disabled");
$("#Sel_Column2").attr("disabled", "true");
var html2 = $($("#txt_DefaultWidgetTemplateText").val());
var htmltext2 = html2;
htmltext2.find("#Column2").text("{{" + text + "}}");
var template2 = htmltext2.html().toString();
$("#txt_DefaultWidgetTemplateText").val("<div class='app_defaultwidget'>" + template2 + "</div>");
}
else {
}
});
$("#Sel_Column3").on("change", function () {
var text = $("#Sel_Column3 option:selected").text();
if (text != "") {
$("#Sel_Column3").attr("disabled", "true");
var templte3 = $("#txt_DefaultWidgetTemplateText").val();
var htmlObject3 = $($("#txt_DefaultWidgetTemplateText").val());
var temp3 = htmlObject3.find("#Column3").text();
if (temp3 == "") {
MessageHelper.Instance().showError("Please add third column in templatetext", "div_appmessage");
return false;
}
else {
var html3 = $($("#txt_DefaultWidgetTemplateText").val());
var htmltext3 = html3;
htmltext3.find("#Column3").text("{{" + text + "}}");
var template3 = htmltext3.html().toString();
$("#txt_DefaultWidgetTemplateText").val("<div class='app_defaultwidget'>" + template3 + "</div>");
}
}
});
});
}
$("#link_MoreOptions").click(function () {
$(".div_moreoptions").removeClass('hidden');
$("#link_MoreOptions").addClass('hidden');
$("#link_LessOptions").removeClass('hidden');
if (Pk_Value != 0) {
$(".div_moreoptions1").removeClass('hidden');
if (Number($("#Autocomplete_AppproviderType").val()) == Apps.Enums.AppProviderType.Dependent) {
$(".div_dependentapps").removeClass('hidden');
}
}
});
$("#link_LessOptions").click(function () {
$(".div_moreoptions").addClass('hidden');
$("#link_MoreOptions").removeClass('hidden');
$("#link_LessOptions").addClass('hidden');
$(".div_dependentapps").addClass('hidden');
if (Pk_Value != 0) {
$(".div_moreoptions1").addClass('hidden');
$(".div_dependentapps").addClass('hidden');
}
});
var url = _appsettings.server_url() + '/apis/v4/unibase/platform/apps/getcompanynames';
AutoCompleteHelper.getHelper().Create("#txtAutoComplete_Company", "#hfAutoCompleteId_Company", url, function (response) {
});
var url = _appsettings.server_url() + '/apis/v4/unibase/platform/apps/getappprovidertype';
AutoCompleteHelper.getHelper().Create("#Autocomplete_AppproviderType", "#hfAutoComplete_Appprovidertype", url, function (response) {
});
var url = _appsettings.server_url() + '/apis/v4/unibase/platform/apps/getmoduletypes';
AutoCompleteHelper.getHelper().Create("#txtAutoComplete_ModuleType", "#hfAutoComplete_ModuleType", url, function (response) {
});
var url = _appsettings.server_url() + '/apis/v4/unibase/platform/apps/getmodulenames/devorgid/0/moduletypeid/0';
AutoCompleteHelper.getHelper().Create("#txtAutoComplete_Module", "#hfAutoComplete_Module", url, function (response) {
});
var url = _appsettings.server_url() + '/apis/v4/unibase/platform/apps/getdependentapps';
AutoCompleteHelper.getHelper().Create("#Select2_DependentApps", "#hfSelect2_Dependentapps", url, function (response) {
});
var url = _appsettings.server_url() + '/apis/v4/unibase/platform/apps/parentapps';
AutoCompleteHelper.getHelper().Create("#Autocomplete_ParentApp", "#hfAutoComplete_ParentApp", url, function (response) {
});
var url = _appsettings.server_url() + '/apis/v4/unibase/platform/analytics/reports';
AutoCompleteHelper.getHelper().Create("#Autocomplete_Report", "#hfAutoComplete_Report", url, function (response) {
});
var url = _appsettings.server_url() + '/apis/v4/unibase/platform/doctypes/appdoctypesautocomplete/installedappid/' + Pk_Value;
AutoCompleteHelper.getHelper().Create("#Autocomplete_AppDocTypes", "#hfAutoComplete_appdoctypes", url, function (response) {
});
var url = _appsettings.server_url() + '/apis/v4/unibase/platform/roles/getroles';
AutoCompleteHelper.getHelper().Create("#Select2_Roles", "#hfSelect2_Roles", url, function (response) {
});
var url = _appsettings.server_url() + '/apis/v4/unibase/platform/apps/getapptype';
AutoCompleteHelper.getHelper().Create("#Autocomplete_AppType", "#hfAutoComplete_AppType", url, function (response) {
});
if (Pk_Value == 0) {
var appTypeoption = new Option(Apps.Enums.AppType[Apps.Enums.AppType.App], Apps.Enums.AppType.App.toString(), true);
$("#Autocomplete_AppType").append(appTypeoption);
}
}
getreportcolumns(ReportId) {
$("#Sel_Column1 option").remove();
$("#Sel_Column2 option").remove();
$("#Sel_Column3 option").remove();
$("#Sel_Dwparameter option").remove();
var primarykey = 0;
var primarykeyname = "";
var options;
if (ReportId != 0) {
this.reportmanager.getColumns(ReportId).then(function (response) {
var Data = [];
Data.push({ id: 0, text: "select" });
for (let i = 0; i < response.result.length; i++) {
var columns = response.result[i];
if (columns.IsPrimaryKey) {
primarykey = columns.ReportColumnId;
primarykeyname = columns.ReportColumnName;
options = new Option(primarykeyname, primarykey.toString());
$("#Sel_Dwparameter").append(options);
}
Data.push({ id: columns.ReportColumnId, text: columns.ReportColumnName });
}
$('#Sel_Dwparameter,#Sel_Column1,#Sel_Column2,#Sel_Column3').select2({
placeholder: 'Select Column',
data: Data,
});
});
}
}
loadIcons() {
var html = "";
var Icons = [
{ Name: 'APP Store', Icon: ' fa fa-flask' },
{ Name: 'List', Icon: 'fa fa-list' },
{ Name: 'Arrow', Icon: 'fa fa-arrow-right' },
{ Name: 'Bank', Icon: 'fa fa-bank' },
{ Name: 'Invoice', Icon: 'fa fa-files-o' },
{ Name: 'CRM', Icon: 'fa fa-users' },
{ Name: 'Shopping', Icon: 'fa fa-shopping-cart' },
{ Name: 'Overflow', Icon: 'fa fa-stack-overflow' },
{ Name: 'Money', Icon: 'fa fa-money' },
{ Name: 'Car', Icon: 'fa fa-car' },
{ Name: 'Building', Icon: 'fa fa-building' },
{ Name: 'Chart', Icon: 'fa fa-bar-chart' },
{ Name: 'Image', Icon: 'fa fa-image' },
{ Name: 'Settings', Icon: 'fa fa-cog' },
];
$(".icon-list").html('<li class="icon-item hidden"></li>');
html += '<li class="list-group-item icon-item"><div class="row"><div class="col-sm-12">';
for (var i = 0; i < Icons.length; i++) {
html += ' <span class="fa-stack fa-2-5x m-t-sm">' +
'<a href="javascript:;" class="list-group-anchor" onclick="Unibase.Platform.Apps.Components.AppBuilder.Instance().AssginIcon(\'' + Icons[i].Name + '\',\'' + Icons[i].Icon + '\');">' +
'<i class="fa fa-circle fa-stack-2x text-success dker"></i>' +
'<i class="' + Icons[i].Icon + ' fa-stack-1x text-white"></i></a></span>';
}
html += '</div></div></li>';
$(".icon-item:last").after(html);
}
AssginIcon(Name, Icon) {
$(".div_GroupIcon").html('');
$("#txtfafaIcon").val(Icon);
$("#txt_IconName").val(Icon);
var html = '<span class="fa-stack fa-2-5x m-t-sm"><i class="fa fa-circle fa-stack-2x text-success dker"></i><i class=" fa ' + Icon + ' fa-stack-1x text-white"></i></span><a class="pull-right" onclick="Unibase.Platform.Apps.Components.AppBuilder.Instance().RemoveImage();"><i class="m-r fa fa-close text-danger fa-lg" id="close" onclick=""></i></a>';
$(".iconname").addClass('hidden');
$(".div_GroupIcon").append(html);
$("#icons").toggleClass("hidden");
if ($("#txtfafaIcon").val() != "") {
$(".tokenable").addClass('hidden');
$('.div_IconGroupName').addClass('floating-label-form-group-with-value');
}
else {
$('.div_IconGroupName').removeClass('floating-label-form-group-with-value');
}
}
RemoveImage() {
$(".div_GroupIcon").html('');
$(".iconname").removeClass('hidden');
$(".tokenable").removeClass('hidden');
$("#txt_IconName").val('');
$('.div_IconGroupName').removeClass('floating-label-form-group-with-value');
$('#div_IconMargin').css('margin-top', '0px');
}
AppTitle(id) {
let apptitle = $("#txt_FriendlyName").val().toString().replace(/ /g, '');
var uniqueid = $("#txt_UniqueId").text();
var companynametext = $("#txtAutoComplete_Company option:selected").text();
var ModuleText = $("#txtAutoComplete_ModuleType option:selected").text();
var Module = $("#txtAutoComplete_Module option:selected").text();
if ((companynametext != "" && companynametext != "null") && (ModuleText != "" && ModuleText != "null") && (Module != "" && Module != "null")) {
$("#txt_UniqueId").text(companynametext + "_" + ModuleText + "_" + Module + "_" + apptitle + "_App_" + apptitle);
}
else {
if (id != 0) {
MessageHelper.Instance().showError("Please Arrange CompanyName,ModuleType and Module", "div_appmessage");
return false;
}
}
}
Company() {
var companyname = Number($("#txtAutoComplete_Company").val());
var companynametext = $("#txtAutoComplete_Company option:selected").text();
$("#txtAutoComplete_ModuleType").val(0);
$("#txtAutoComplete_Module").val(0);
$("#txt_UniqueId").text('');
if (companyname != 0) {
$("#txtAutoComplete_ModuleType").removeAttr("disabled");
$("#txt_UniqueId").text(companynametext + "_");
}
$("#txt_UniqueId").attr('readonly', 'readonly');
}
ModuleType() {
var companyname = Number($("#txtAutoComplete_Company").val());
var Module = Number($("#txtAutoComplete_ModuleType").val());
var ModuleText = $("#txtAutoComplete_ModuleType option:selected").text();
var uniqueid = $("#txt_UniqueId").text();
if (Module != 0) {
$("#txtAutoComplete_Module").removeAttr("disabled");
$("#txt_UniqueId").text(uniqueid + ModuleText + "_");
}
$("#txtAutoComplete_ModuleType").attr("disabled", "true");
var url = _appsettings.server_url() + '/apis/v4/unibase/platform/apps/getmodulenames/devorgid/' + companyname + '/moduletypeid/' + Module;
AutoCompleteHelper.getHelper().Create("#txtAutoComplete_Module", "#hfAutoComplete_Module", url, function (response) {
});
}
Module() {
var Module = $("#txtAutoComplete_Module option:selected").text();
var Modulevalue = Number($("#txtAutoComplete_Module option:selected").val());
var uniqueid = $("#txt_UniqueId").text();
if (Modulevalue != 0) {
if ($("#txt_FriendlyName").val() != "") {
var apptitle = $("#txt_FriendlyName").val().toString().replace(/ /g, '');
$("#txt_UniqueId").text(uniqueid + Module + "_" + apptitle + "_App_" + apptitle);
}
else {
MessageHelper.Instance().showError("Please Enter AppTitle", "div_appmessage");
$("#txtAutoComplete_Company").empty();
$("#txt_UniqueId").text('');
$("#txtAutoComplete_ModuleType").empty();
$("#txtAutoComplete_Module").empty();
}
}
$("#txtAutoComplete_Module").attr("disabled", "true");
}
AppProviderType() {
var providertype = $("#Autocomplete_AppproviderType option:selected").text();
var providertypevalue = $("#Autocomplete_AppproviderType option:selected").val();
if (providertype == "Dependent") {
$(".div_dependentapps").removeClass('hidden');
}
else {
$(".div_dependentapps").addClass('hidden');
}
}
Dependentapp(containerid) {
var instance = this;
if (Unibase.Themes.Providers.DetailHelper.recordId != 0) {
instance.appmanager.getAllApps(Unibase.Themes.Providers.DetailHelper.recordId).then(function (response) {
$("." + containerid).empty();
var html = '<ul class="list-group gutter list-group list-group-sp sortable ul_dependentapps">';
for (let i = 0; i < response.result.length; i++) {
var data = response.result[i];
html += '<li class="list-group-item box-shadow status-item group-item li_' + data.InstalledAppId + '">' +
'<input type="hidden" id="hfAppdependentid" value=' + data.InstalledAppId + '>' +
'<span class="pull-left media-xs mr-30"><i class="fa fa-sort text-muted fa mr-10"></i>' + data.AppIndex + '</span>' +
'<div class="clear">' +
'<div class="header">' +
' <label class="">' + data.AppTitle + '</label>' +
'</div></div>' +
'</div></li>';
}
html += '</ul>';
$("." + containerid).append(html);
if ($.fn.sortable) {
$('.sortable').sortable();
$('.sortable').on("sortupdate", function (event, ui) {
instance.UpdateAppIndex(containerid);
});
}
});
}
}
UpdateAppIndex(containerid) {
var instance = this;
var ids = "";
$("." + containerid).find(".list-group-item").each(function () {
var id = $(this).find("#hfAppdependentid").val();
if (id != 0) {
ids += id + ",";
}
});
if (ids != "") {
var postData = {
id: ids
};
instance.appmanager.updateAppIndex(postData).then(function (response) {
if (response.status != Unibase.Data.Status.Error) {
instance.Dependentapp(containerid);
MessageHelper.Instance().showSuccess(response.message, "div_message");
}
});
}
}
fileEvent($event) {
const fileSelected = $event.target.files[0];
Unibase.Platform.Apps.Components.AppBuilder.fileData = new FormData();
Unibase.Platform.Apps.Components.AppBuilder.fileData.append(fileSelected.name, fileSelected);
}
exportApp() {
var instance = this;
var recordid = Unibase.Themes.Providers.DetailHelper.recordId;
instance.navigationHelper.showLoading();
instance.appmanager.getInstallApp(recordid).then(function (appresponse) {
instance.appmanager.exportApp(recordid).then(function (response) {
if (response.status == Unibase.Data.Status.Error) {
instance.navigationHelper.hideLoading();
MessageHelper.Instance().showError(response.message, "div_message");
return false;
}
var filename = appresponse.result.AppTitle + ".xml";
var xmltext = response.result;
var pom = document.createElement('a');
var bb = new Blob([xmltext], { type: 'text/plain' });
pom.setAttribute('href', window.URL.createObjectURL(bb));
pom.setAttribute('download', filename);
pom.dataset.downloadurl = ['text/plain', pom.download, pom.href].join(':');
pom.draggable = true;
pom.classList.add('dragout');
pom.click();
instance.navigationHelper.hideLoading();
});
});
}
SaveApp(Pk_Value, containerid) {
var instance = this;
var appdependentlist = [];
var dependentid = $("#Select2_DependentApps").val() != null ? $("#Select2_DependentApps").val().toString().replace(/,/g, '|') : "0";
let dependenttype;
if (dependentid != "") {
dependenttype = Unibase.Platform.Apps.Enums.DependentType.Apps;
var apparray = [];
apparray = dependentid.split("|");
$.each(apparray, function (index, value) {
var appdependentObj = {
AppDependentId: 0,
InstalledAppId: Pk_Value,
DependentId: Number(value),
DependentType: Number(dependenttype)
};
appdependentlist.push(appdependentObj);
});
}
var defaultwidgetparameter = "";
var imagepath = $("#txt_AppImage").val();
var svgiconpath = $("#txt_SvgImage").val();
var imageurl = imagepath.split(/(\\|\/)/g).pop();
var svgicon = svgiconpath.split(/(\\|\/)/g).pop();
if (Pk_Value != 0) {
if (Number($("#Sel_Dwparameter option:selected").val()) == 0) {
MessageHelper.Instance().showError("Please Select Defaultwidget parameter", "div_appmessage");
return false;
}
if (Number($("#hfAutoComplete_Report").val()) == 0) {
MessageHelper.Instance().showError("Please Select report", "div_appmessage");
return false;
}
if (Number($("#Sel_Dwparameter option:selected").val()) != 0) {
defaultwidgetparameter = $("#Sel_Dwparameter option:selected").text() + ":=:recordid";
}
}
var roleids = "";
if ($("#Select2_Roles").val() != null && ($("#Select2_Roles").val() != "")) {
var roleids = $("#Select2_Roles").val().toString();
roleids = roleids.replace(/\,/g, '|');
}
var contents = $('.summernote').summernote('code');
var plainText = $("<p>" + contents + "</p>").text();
var content = $('.summernote1').summernote('code');
var plaintext = $("<p>" + content + "</p>").text();
let postData = {
InstalledAppId: Pk_Value,
AppTitle: $("#txt_FriendlyName").val(),
IconName: $("#txt_IconName").val(),
AppImage: $("#txt_ImageFile").val(),
AppColor: $("#txt_AppColor").val(),
Description: plainText,
UniqueId: $("#txt_UniqueId").text(),
DevOrgId: Number($("#txtAutoComplete_Company").val()),
DevOrgName: $("#txtAutoComplete_Company option:selected").text(),
ModuleTypeName: $("#txtAutoComplete_ModuleType option:selected").text(),
ModuleTypeId: Number($("#txtAutoComplete_ModuleType").val()),
ModuleName: $("#txtAutoComplete_Module option:selected").text(),
ModuleId: Number($("#txtAutoComplete_Module").val()),
AppProviderTypeId: Number($("#Autocomplete_AppproviderType").val()),
ParentAppId: Number($("#Autocomplete_ParentApp").val()),
ReportId: Number($("#Autocomplete_Report").val()),
AppKeyId: 0,
SvgIconUrl: $("#txt_SvgImage").val(),
DefaultWidgetTemplateText: $("#txt_DefaultWidgetTemplateText").val(),
DefaultWidgetParameters: defaultwidgetparameter,
EnableStage: $("#chkStageEnable").prop('checked'),
AppDependent: appdependentlist,
EnableDefaults: $("#chkEnableDefaults").prop('checked'),
TableName: $("#txt_TableName").val(),
PrimaryKeyName: $("#txt_PrimaryKey").val(),
IsDynamic: true,
DefaultDocTypeId: Pk_Value != 0 ? Number($("#Autocomplete_AppDocTypes").val()) : 0,
ImageUrl: imageurl,
DisplayText: $("#txt_DisplayName").val(),
ReverseText: $("#txt_ReverseName").val(),
RoleIds: roleids,
FileData: Unibase.Platform.Apps.Components.AppBuilder.FileInfo,
IsSystemLock: $("#chkSystemlock").prop('checked'),
IsSyncEnabled: $("#chkSyncEnabled").prop('checked'),
LockAppliedOn: Number($("#Autocomplete_LockAppliedOn").val()),
EnableSeriesExport: $("#chkSeriesExport").prop('checked'),
EnablePermissionsExport: $("#chkPermissionsExport").prop('checked'),
AppTypeId: Number($("#Autocomplete_AppType").val()),
};
var nav = Unibase.Platform.Helpers.NavigationHelper.Instance();
if (Pk_Value != 0) {
instance.navigationHelper.showLoading();
instance.appmanager.updateDynamicApp(postData).then(function (response) {
if (response.status == Unibase.Data.Status.Error) {
MessageHelper.Instance().showError(response.message, "div_appmessage");
}
else {
MessageHelper.Instance().showSuccess(response.message, "div_appmessage");
instance.appmanager.getMyApps();
$('#' + containerid).modal('hide');
$('#' + containerid).remove();
}
instance.navigationHelper.hideLoading();
});
}
else {
instance.navigationHelper.showLoading();
instance.appmanager.saveDynamicApp(postData).then(function (response) {
if (response.status == Unibase.Data.Status.Error) {
MessageHelper.Instance().showError(response.message, "div_appmessage");
}
else {
MessageHelper.Instance().showSuccess(response.message, "div_appmessage");
instance.appmanager.getMyApps();
$('#' + containerid).modal('hide');
$('#' + containerid).remove();
}
instance.navigationHelper.hideLoading();
});
}
}
static Instance() {
if (this.instance === undefined) {
this.instance = new AppBuilder();
}
return this.instance;
}
}
AppBuilder.fileData = new FormData();
Components.AppBuilder = AppBuilder;
})(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
@@ -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
@@ -0,0 +1,220 @@
var Unibase;
(function (Unibase) {
let Platform;
(function (Platform) {
let Apps;
(function (Apps) {
let Components;
(function (Components) {
class AppPermission extends Platform.Core.BaseComponent {
constructor() {
super();
this.appManager = Apps.Managers.AppManager.Instance();
}
jsFiles() {
return ["platform/apps/managers/appmanager.js", "/platform/apps/enums/settingtype.js", "platform/forms/components/formviewer/formviewer.js", 'libs/parsley/parsley.min.js', 'platform/core/infos/status.js'];
}
cssFiles() {
return [];
}
html(id, containerid) {
return `<form id="form_AppRoleSetting" data-validate="parsley" data-isdynamic="false">
<div class="card bg-light">
<div class="card-header bg-white"><strong class="title font-weight-bold">Add Role Setting</strong></div>
<div class="card-body scrollable" id="div_AddAppRoleSetting" style="overflow-y: scroll; height: 477px;">
<div id="div_apppermissionmessage" class="clear"></div>
<div class="card bg-white">
<div id="Unibase_ValidationSummary" class="clear"></div>
<div class="card-body">
<div class="row">
<div class="col-sm-6">
<div class="floating-label-form-group" id="div_AppRoleSettingName">
<label for="AppRoleSettingName" id="lbl_SettingName" class="font-bold"> Setting Name<span class="text-danger"> *</span></label>
<input type="text" id="txt_AppRoleSettingName" class="form-control value-control required" 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 class="input-group"><label for="permissiontype" class="font-bold">Permission Type <span class="text-danger"> *</span></label>
<select id="autocomplete_PermissionType" class="form-control text-control required" style="width:100%;" placeholder = "RoleSetting Type" data-placeholder="Permission Type"></select>
<input type="hidden" id="hfAutoComplete_PermissionType" class="hfAutoComplete_PermissionType' form-control value-control" data-isdynamic="true"/>
</div></div>
<div class="col-sm-6">
<div class="floating-label-form-group floating-label-form-group-with-value focus">
<label for="ApplicableValues" id="lbl_ApplicableValues" class="font-bold">Applicable Values<span class="text-danger"> *</span></label>
<select id="sel_ApplicableValues" class="form-control value-control required" data-isdynamic="true">
<option value="0">select</option>
<option value="1|5">None,Allow</option><option value="1|2|3|4">None,Owner,Manager,Admin</option>
</select></div></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_AppRoleSettingDescription" 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>
</div></div>
<div class="card-footer bg-white" id="div_Footer">
<button id="btn_CloseAppRoleSetting" class="btn btn-secondary btn-sm mr-auto">Close</button>
<button id="btn_SaveAppRoleSetting" class="btn btn-primary btn-sm pull-right">Save</button>
</div></div></form>`;
}
load(id, containerid, callback) {
$("#btn_CloseAppRoleSetting").click(function () {
$('#' + containerid).modal('hide');
$('#' + containerid).remove();
});
$("#btn_SaveAppRoleSetting").click(function () {
let controlid = "form_AppRoleSetting";
let result = Unibase.Platform.Forms.Components.FormViewer.Instance().requiredFieldValidation(controlid);
if (result == false) {
MessageHelper.Instance().showError("Mandatory Fields are missing", "div_apppermissionmessage");
return false;
}
AppPermission.Instance().saveAppRoleSettings(containerid, id);
});
var recordid = Unibase.Themes.Providers.DetailHelper.recordId;
this.loaddata(id);
var UniqueId = '';
var apptitle = "";
if (recordid != 0) {
Unibase.Platform.Apps.Managers.AppManager.Instance().getAppPermissions(recordid).then(function (response) {
if (response.result.length > 0) {
Unibase.Platform.Apps.Managers.AppManager.Instance().getInstallApp(recordid).then(function (appresponse) {
if (appresponse.result != null) {
apptitle = appresponse.result.AppTitle.replace(/ /g, '');
UniqueId = response.result[0].SystemName.substring(0, response.result[0].SystemName.indexOf("_RoleSetting_"));
UniqueId = UniqueId.replace(/ /g, '');
if (id == 0) {
$("#txt_UniqueId").text(UniqueId);
}
}
});
}
else {
Unibase.Platform.Apps.Managers.AppManager.Instance().getInstallApp(recordid).then(function (response) {
if (response.result != null) {
var apptitle = response.result.AppTitle.replace(/ /g, '');
UniqueId = response.result.DevOrgName + "_" + response.result.ModuleTypeName + "_" + response.result.ModuleName + "_" + apptitle;
UniqueId = UniqueId.replace(/ /g, '');
if (id == 0) {
$("#txt_UniqueId").text(UniqueId);
}
}
});
}
});
}
$("#txt_AppRoleSettingName").keyup(function () {
if (id == 0) {
UniqueId = UniqueId.replace(/ /g, '');
$("#txt_UniqueId").text(UniqueId + "_RoleSetting_" + $("#txt_AppRoleSettingName").val().toString().replace(/ /g, '') + apptitle);
}
});
}
loadForm(FormId, Pk_Value, AppConfigurationId, Callback, ElementId) {
this.addRoleSetting(Pk_Value);
}
addRoleSetting(Pk_Value) {
this.navigationHelper.popup(Pk_Value, '', Unibase.Platform.Apps.Components.AppPermission.Instance(), null, Platform.Helpers.Size.Large);
}
loaddata(id) {
var url = _appsettings.server_url() + '/apis/v4/unibase/platform/apps/permissiontypes';
AutoCompleteHelper.getHelper().Create("#autocomplete_PermissionType", "#hfAutoComplete_PermissionType", url, function (response) {
var data = response;
});
if (id != 0) {
$(".title").text('Edit Role Setting');
this.appManager.getAppPermission(id).then(function (response) {
var option = new Option(Unibase.Platform.Apps.Enums.SettingType[response.result.PermissionLevelId], response.result.PermissionLevelId.toString(), true);
$("#autocomplete_PermissionType").append(option);
var applValue = response.result.ApplicableValues;
$('#sel_ApplicableValues option').map(function () { if ($(this).val() == applValue)
return this; }).attr('selected', 'selected');
$("#txt_AppRoleSettingName").val(response.result.SettingName);
$("#txt_AppRoleSettingDescription").val(response.result.Description);
$("#txt_UniqueId").text(response.result.SystemName);
});
}
}
saveAppRoleSettings(containerid, appRoleSettingId) {
if ($("#txt_AppRoleSettingName").val() == "" || $("#sel_AppRoleSettingType option:selected").val() == 0 || $("#sel_ApplicableValues option:selected").val() == 0) {
MessageHelper.Instance().showError("Mandatory fields are missing!", "div_apppermissionmessage");
return false;
}
$("#div_apppermissionmessage").empty();
var postData = {
AppPermissionId: appRoleSettingId,
InstalledAppId: Number(Unibase.Themes.Providers.DetailHelper.recordId),
SettingName: $("#txt_AppRoleSettingName").val(),
PermissionLevelId: Number($("#autocomplete_PermissionType").val()),
ApplicableValues1: $("#sel_ApplicableValues option:selected").val().toString(),
Description: $("#txt_AppRoleSettingDescription").val(),
SystemName: $("#txt_UniqueId").text().replace(/ /g, ''),
StageId: 0,
};
this.appManager.saveAppPermission(postData).then(function (response) {
if (response.status == Unibase.Data.Status.Error) {
MessageHelper.Instance().showError(response.message, "div_apppermissionmessage");
}
else {
MessageHelper.Instance().showSuccess(response.message, "div_apppermissionmessage");
$('#' + 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);
}
});
}
editRoleSetting(appRoleSettingId) {
AppPermission.Instance().addRoleSetting(appRoleSettingId);
}
deleteRoleSetting(appRoleSettingId) {
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) {
instance.appManager.deleteAppPermission(appRoleSettingId).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 AppPermission();
}
return this.instance;
}
}
Components.AppPermission = AppPermission;
})(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
+42
View File
@@ -0,0 +1,42 @@
var Unibase;(function(n){let t;(function(t){let i;(function(i){let r;(function(r){class u extends t.Core.BaseComponent{constructor(){super();this.appManager=i.Managers.AppManager.Instance()}jsFiles(){return["platform/apps/managers/appmanager.js","/platform/apps/enums/settingtype.js","platform/forms/components/formviewer/formviewer.js","libs/parsley/parsley.min.js","platform/core/infos/status.js"]}cssFiles(){return[]}html(){return`<form id="form_AppRoleSetting" data-validate="parsley" data-isdynamic="false">
<div class="card bg-light">
<div class="card-header bg-white"><strong class="title font-weight-bold">Add Role Setting</strong></div>
<div class="card-body scrollable" id="div_AddAppRoleSetting" style="overflow-y: scroll; height: 477px;">
<div id="div_apppermissionmessage" class="clear"></div>
<div class="card bg-white">
<div id="Unibase_ValidationSummary" class="clear"></div>
<div class="card-body">
<div class="row">
<div class="col-sm-6">
<div class="floating-label-form-group" id="div_AppRoleSettingName">
<label for="AppRoleSettingName" id="lbl_SettingName" class="font-bold"> Setting Name<span class="text-danger"> *</span></label>
<input type="text" id="txt_AppRoleSettingName" class="form-control value-control required" 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 class="input-group"><label for="permissiontype" class="font-bold">Permission Type <span class="text-danger"> *</span></label>
<select id="autocomplete_PermissionType" class="form-control text-control required" style="width:100%;" placeholder = "RoleSetting Type" data-placeholder="Permission Type"></select>
<input type="hidden" id="hfAutoComplete_PermissionType" class="hfAutoComplete_PermissionType' form-control value-control" data-isdynamic="true"/>
</div></div>
<div class="col-sm-6">
<div class="floating-label-form-group floating-label-form-group-with-value focus">
<label for="ApplicableValues" id="lbl_ApplicableValues" class="font-bold">Applicable Values<span class="text-danger"> *</span></label>
<select id="sel_ApplicableValues" class="form-control value-control required" data-isdynamic="true">
<option value="0">select</option>
<option value="1|5">None,Allow</option><option value="1|2|3|4">None,Owner,Manager,Admin</option>
</select></div></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_AppRoleSettingDescription" 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>
</div></div>
<div class="card-footer bg-white" id="div_Footer">
<button id="btn_CloseAppRoleSetting" class="btn btn-secondary btn-sm mr-auto">Close</button>
<button id="btn_SaveAppRoleSetting" class="btn btn-primary btn-sm pull-right">Save</button>
</div></div></form>`}load(t,i){var f,r,e;$("#btn_CloseAppRoleSetting").click(function(){$("#"+i).modal("hide");$("#"+i).remove()});$("#btn_SaveAppRoleSetting").click(function(){let r=n.Platform.Forms.Components.FormViewer.Instance().requiredFieldValidation("form_AppRoleSetting");if(r==!1)return MessageHelper.Instance().showError("Mandatory Fields are missing","div_apppermissionmessage"),!1;u.Instance().saveAppRoleSettings(i,t)});f=n.Themes.Providers.DetailHelper.recordId;this.loaddata(t);r="";e="";f!=0&&n.Platform.Apps.Managers.AppManager.Instance().getAppPermissions(f).then(function(i){i.result.length>0?n.Platform.Apps.Managers.AppManager.Instance().getInstallApp(f).then(function(n){n.result!=null&&(e=n.result.AppTitle.replace(/ /g,""),r=i.result[0].SystemName.substring(0,i.result[0].SystemName.indexOf("_RoleSetting_")),r=r.replace(/ /g,""),t==0&&$("#txt_UniqueId").text(r))}):n.Platform.Apps.Managers.AppManager.Instance().getInstallApp(f).then(function(n){if(n.result!=null){var i=n.result.AppTitle.replace(/ /g,"");r=n.result.DevOrgName+"_"+n.result.ModuleTypeName+"_"+n.result.ModuleName+"_"+i;r=r.replace(/ /g,"");t==0&&$("#txt_UniqueId").text(r)}})});$("#txt_AppRoleSettingName").keyup(function(){t==0&&(r=r.replace(/ /g,""),$("#txt_UniqueId").text(r+"_RoleSetting_"+$("#txt_AppRoleSettingName").val().toString().replace(/ /g,"")+e))})}loadForm(n,t){this.addRoleSetting(t)}addRoleSetting(i){this.navigationHelper.popup(i,"",n.Platform.Apps.Components.AppPermission.Instance(),null,t.Helpers.Size.Large)}loaddata(t){var i=_appsettings.server_url()+"/apis/v4/unibase/platform/apps/permissiontypes";AutoCompleteHelper.getHelper().Create("#autocomplete_PermissionType","#hfAutoComplete_PermissionType",i,function(n){var t=n});t!=0&&($(".title").text("Edit Role Setting"),this.appManager.getAppPermission(t).then(function(t){var r=new Option(n.Platform.Apps.Enums.SettingType[t.result.PermissionLevelId],t.result.PermissionLevelId.toString(),!0),i;$("#autocomplete_PermissionType").append(r);i=t.result.ApplicableValues;$("#sel_ApplicableValues option").map(function(){if($(this).val()==i)return this}).attr("selected","selected");$("#txt_AppRoleSettingName").val(t.result.SettingName);$("#txt_AppRoleSettingDescription").val(t.result.Description);$("#txt_UniqueId").text(t.result.SystemName)}))}saveAppRoleSettings(t,i){if($("#txt_AppRoleSettingName").val()==""||$("#sel_AppRoleSettingType option:selected").val()==0||$("#sel_ApplicableValues option:selected").val()==0)return MessageHelper.Instance().showError("Mandatory fields are missing!","div_apppermissionmessage"),!1;$("#div_apppermissionmessage").empty();var r={AppPermissionId:i,InstalledAppId:Number(n.Themes.Providers.DetailHelper.recordId),SettingName:$("#txt_AppRoleSettingName").val(),PermissionLevelId:Number($("#autocomplete_PermissionType").val()),ApplicableValues1:$("#sel_ApplicableValues option:selected").val().toString(),Description:$("#txt_AppRoleSettingDescription").val(),SystemName:$("#txt_UniqueId").text().replace(/ /g,""),StageId:0};this.appManager.saveAppPermission(r).then(function(i){if(i.status==n.Data.Status.Error)MessageHelper.Instance().showError(i.message,"div_apppermissionmessage");else{MessageHelper.Instance().showSuccess(i.message,"div_apppermissionmessage");$("#"+t).modal("hide");$("#"+t).remove();var r=n.Themes.Compact.Components.Details.Instance();r._recordId=n.Themes.Providers.DetailHelper.recordId;r._installedAppId=n.Themes.Providers.DetailHelper.installedAppId;n.Themes.Compact.Components.Details.Instance().loadPortlets(r)}})}editRoleSetting(n){u.Instance().addRoleSetting(n)}deleteRoleSetting(t){var i=this;bootbox.confirm({message:"Are you sure you want to Delete",closeButton:!1,buttons:{confirm:{label:"Yes",className:"btn-success"},cancel:{label:"No",className:"btn-defualt"}},callback:function(r){r&&i.appManager.deleteAppPermission(t).then(function(t){if(t.status==n.Data.Status.Error)MessageHelper.Instance().showError(t.message,"div_message");else{MessageHelper.Instance().showSuccess(t.message,"div_message");var i=n.Themes.Compact.Components.Details.Instance();i._recordId=n.Themes.Providers.DetailHelper.recordId;i._installedAppId=n.Themes.Providers.DetailHelper.installedAppId;n.Themes.Compact.Components.Details.Instance().loadPortlets(i)}})}})}static Instance(){return this.instance===undefined&&(this.instance=new u),this.instance}}r.AppPermission=u})(r=i.Components||(i.Components={}))})(i=t.Apps||(t.Apps={}))})(t=n.Platform||(n.Platform={}))})(Unibase||(Unibase={}));
@@ -0,0 +1,145 @@
var Unibase;
(function (Unibase) {
let Platform;
(function (Platform) {
let Apps;
(function (Apps) {
let Components;
(function (Components) {
class AppVersions extends Platform.Core.BaseComponent {
cssFiles() {
return ["libs/summernote/summernote.css"];
}
jsFiles() {
return ["platform/apps/components/appversions/appversion.component.js", "platform/forms/components/formviewer/formviewer.js", 'libs/parsley/parsley.min.js', "libs/summernote/summernote.min.js", 'platform/core/helpers/file/filehelper.js'];
}
load(id, containerid, callback) {
var instance = this;
instance.fileCacheHelper.loadJsFiles(["libs/summernote/summernote.min.js"], null);
instance.fileCacheHelper.loadCssFile("libs/summernote/summernote.css", null);
instance.loadSummernote();
$("#txt_VersionNo").keypress(function (e) {
instance.isNumberKey(e);
}).on('paste', function (event) {
event.preventDefault();
});
$("#btnSave").click(function () {
let appcontrolid = "frmUnibase_AppVersion";
let result = Unibase.Platform.Forms.Components.FormViewer.Instance().requiredFieldValidation(appcontrolid);
if (result == false) {
MessageHelper.Instance().showError("Mandatory fields are missing", "Unibase_ValidationSummary");
return false;
}
else {
instance.save(id, containerid);
}
});
$("#txt_FilePath").change(function (e) {
Unibase.Platform.Helpers.FileHelper.Instance().getBase64(e).then(function (response) {
instance.FileInfo = response;
});
});
}
html(id, containerid) {
let html = '<form id="frmUnibase_AppVersion" default="" data-validate="parsley" data-isdynamic="false">'
+ '<div class="b-b bg-white header"><strong id="" class="text-dark">Add Version</strong>'
+ '</div><div data-simplebar class="simple-scroll-bar scrollable"><div id="Unibase_ValidationSummary" class="clear mt-10"></div>'
+ '<div class="card"><div class="card-body">' +
'<div class="row"><div class="col-sm-6">' +
'<div class="floating-label-form-group"> <label for="txt_VersionNo">Version Number<span class="text-danger"> *</span></label><input class="form-control floating-label-control required" type="text" id="txt_VersionNo" placeholder="Version Number *" data-placeholder="Enter Version Number" data-label="Version Number *" /></div>' +
'</div></div>' +
'</div></div>' +
'<div class="card"><div class="card-header"><strong>Version Files</strong></div><div class="card-body" id="div_versionFiles"><div class="row"><div class="col-sm-6">' +
'<div id="fileUpload" class="row"><label for="" class="col-sm-4">Select Zip File</label><input type="file" accept=".zip" id="txt_FilePath" class="bg-light col-sm-6" style="width:150px"></div></div>' +
'</div></div>' +
'</div>' +
'<div class="card"><div class="card-header"><strong>Version Queries</strong></div><div class="card-body" id="div_versionQueries"><div class="row"><div class="col-sm-6">' +
'<div class="floating-label-form-group"> <label for="txt_QueryName">Query Name</label><input class="form-control floating-label-control" type="text" id="txt_QueryName" placeholder="Query Name *" data-placeholder="Enter Query Name" data-label="Query Name" /></div>' +
'</div></div>' +
'<div class="row mt-10"><div class="col-sm-12"><textarea placeholder="Enter Query" id="txt_query" rows="10" class="col-sm-12"></textarea></div>' +
'</div></div></div><div class="description"><div class="card"><div class="card-header"><strong class="text-dark">Description</strong></div><div class="card-body"><div class="type-control summernote" style="display: block;" id="summernote" data-propdoctypename="" placeholder = "Enter Description" data-placeholder="Enter Descrpition" data-label="Descrpition"></div>' +
'<label for="Validation" id="lblValidation"></label></div></div></div></div>' +
'<div class="bg-white footer"><a class="btn btn-light btn-sm btn-center mr-auto btn-close" id="btnClose">Close</a><a class="btn btn-primary btn-center btn-sm text-white" id="btnSave">Save</a>'
+ '</div></form>';
return html;
}
validateVersionNo() {
var appVersion = Unibase.Themes.Providers.Detail_Settings.Instance().InputParameters.find(x => x.Key == "hf_" + Unibase.Themes.Providers.DetailHelper.installedAppId + "_appversion").Value;
var versionNo = $("#txt_VersionNo").val();
if (versionNo < appVersion && $("#txt_VersionNo").val() != "") {
MessageHelper.Instance().showError("Version no should be greater than latest version", "Unibase_ValidationSummary");
return false;
}
}
isNumberKey(evt) {
var instance = this;
var charCode = (evt.which) ? evt.which : evt.keyCode;
if (charCode != 46 && charCode > 31
&& (charCode < 48 || charCode > 57)) {
evt.preventDefault();
}
else {
return true;
}
}
init() {
var instance = this;
instance.fileCacheHelper.loadJsFiles(["platform/apps/components/appversions/appversion.component.js"], function () {
instance.navigationHelper.popup(0, '', Unibase.Platform.Apps.Components.AppVersions.Instance(), function () {
}, Platform.Helpers.Size.Large);
});
}
save(id, containerid) {
var instance = this;
var contents = $('#summernote').summernote('code');
var plainText = $("<p>" + contents + "</p>").text();
var postData = {
VersionId: Number(0),
VersionNo: $("#txt_VersionNo").val(),
Description: plainText,
FilePath: $("#txt_FilePath").val(),
QueryName: $("#txt_QueryName").val(),
QueryString: $("#txt_query").val(),
InstalledAppId: Number(Unibase.Themes.Providers.DetailHelper.recordId),
FileObj: instance.FileInfo
};
Unibase.Platform.Apps.Managers.AppManager.Instance().saveVersion(postData).then(function (response) {
if (response.errors == null) {
$('#' + containerid).modal('hide');
$('#' + containerid).remove();
MessageHelper.Instance().showSuccess(response.message, "");
}
else {
MessageHelper.Instance().showError(response.message, "Unibase_ValidationSummary");
return false;
}
});
}
getQueries() {
var queryData = [];
queryData.push({
QueryName: $("#txt_QueryName").val(), QueryString: $("#txt_query").val()
});
return queryData;
}
loadSummernote() {
$("#summernote").summernote({
height: 100,
minHeight: null,
maxHeight: null,
placeholder: "Enter Description",
toolbar: [
['font', ['bold', 'italic', 'underline']],
['color', ['color']]
]
});
}
static Instance() {
return new AppVersions();
}
}
Components.AppVersions = AppVersions;
})(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
+307
View File
@@ -0,0 +1,307 @@
var Unibase;
(function (Unibase) {
let Platform;
(function (Platform) {
let Apps;
(function (Apps) {
let Components;
(function (Components) {
class Import extends Platform.Core.BaseComponent {
constructor() {
super();
this.appmanager = Apps.Managers.AppManager.Instance();
this.navigationhelper = Unibase.Platform.Helpers.NavigationHelper.Instance();
}
cssFiles() {
return [];
}
jsFiles() {
return ['platform/apps/components/appbuilder.js', 'platform/apps/components/import.js', "platform/forms/components/formviewer/formviewer.js", 'libs/parsley/parsley.min.js', 'platform/core/infos/status.js', '/platform/core/helpers/file/filehelper.js', 'platform/permission/managers/permissionmanager.js'];
}
html(id, containerid) {
var instance = this;
var data;
if (this.DuplicateHtml == true) {
var installedappid = Unibase.Themes.Providers.DetailHelper.recordId;
instance.appmanager.getChilds(installedappid).then(function (response) {
data = response.result;
}).then(function () {
if (data.length > 0) {
var html1 = "";
$(".div_childbody").empty();
for (let i = 0; i < data.length; i++) {
html1 += '<div class="row div_childs"><div class="col-sm-4" style="margin-top:50px"><strong><span class="sp_appname" data-text=' + data[i].InstalledAppId + '>' + data[i].AppTitle + '</span></strong></div><div class="col-sm-6"> <div class="floating-label-form-group"> <label for= "txt_childapp" class= "font-bold"> App Title <span class="text-danger">*</span> </label > <input type="text" id = "txt_Childapp" class="form-control floating-label-control required childapp" data - isdynamic="false" placeholder = "App Title *" data - placeholder="Enter App Title" data-label="App Title *" autocomplete = "off"/></div></div></div>';
}
$(".div_childapp").removeClass('hidden');
$(".child_card").removeClass('hidden');
$(".div_childbody").append(html1);
}
});
var html = `<form id="frmUnibase_DuplicateApp" data-validate="parsley" data-isdynamic="false"><div id="div_duplicatemessage" class="clear"></div><div class="card bg-light"><div class="b-b bg-white card-header header"><strong class="text-dark title" id="lbl_title">Duplicate App</strong> </div>
<div class="card-body scrollable" id = "divCreateApp"> <div class="bg-white card"> <div id="unibase_ValidationSummary" class="clear"> </div><div class="card-body"><div class="row"> <div class="col-sm-6"> <div class="floating-label-form-group"> <label for= "txt_FriendlyName" class= "font-bold"> App Title <span class="text-danger"> * </span></label> <input type="text" id = "txt_Name" class="form-control floating-label-control required" data - isdynamic="false" placeholder = "App Title *" data - placeholder="Enter App Title" data - label="App Title *" autocomplete = "off"/> </div></div>
<div class="col-sm-6"> <div class="floating-label-form-group div_IconGroupName" id = "div_IconMargin"> <label for= "txt_IconName" class= "font-bold"> Icon Name <span class="text-danger"> * </span></label > <input type="text" id = "txt_Icon" class="form-control floating-label-control tokenable" data - isdynamic="false" placeholder = "Icon Name *" data - placeholder="Enter Icon Name" data - label="Icon Name *" autocomplete = "off"> <input type='hidden' id = 'txtfafaIcon'/> <div class='div_GroupIcon'></div></div> </div></div><div class='col-sm-12 hidden div_Icons' id = 'icons'>
<div id='appicons' class='panel panel-default'><ul class='list-group no-radius m-b-none list-group-item no-border icon-list'> </ul></div></div> </div></div><div class="b-b bg-white div_childapp hidden card-header header"><strong class="text-dark title">Child Apps</strong> </div> <div class="bg-white card child_card hidden"><div class="card-body div_childbody"></div></div> </div><div class="bg-white card-footer footer" id = "CreateAppFooter"> <button id="btn_CloseDuplicateApp" class="btn btn-secondary btn-sm mr-auto"> Close </button><button id="btn_SaveDuplicateApp" class="btn btn-primary btn-sm pull-right">Save</button></div></div></form>`;
return html;
}
else if (this.PermissionsExportImportHtml == true) {
return `<div class="b-b bg-white header"> <strong>Export/Import Permissions</strong></div><div class="simple-scroll-bar scrollable"> <div id="div_permissionsimportmessage" class="clear"></div><form id="form_AllAppsPermissionsExportImport" data-validate="parsley" data-isdynamic="false"> <div class="card"> <div class="card-header">For All Apps</div><div class="card-body"> <ul class="d-flex justify-content-between w-100"> <li class=" w-45"> <div class="card-header">Import</div><div class="card-body"> <div class="" id="div_AllPermissionsImport"> Select file to import </br> </br> <input type="file" id="import_AllAppsPermissionFile" class="bg-light required"> <br/> <br/> <a href="javascript:;" id="allAppsPermission_fileUpload" class="btn btn-warning text-white">Upload</a> </div></div></li><li class="w-45 h-130p"> <div class="card-header"> Export</div><div class="card-body"> <a href="javascript:;" onclick="Unibase.Platform.Apps.Components.Import.Instance().exportAppPermissions();" class="btn btn-info text-white">Export</a> </div></li></ul> </div></div></form> <form id="form_SingleAppPermissionsImport" data-validate="parsley" data-isdynamic="false"> <div class="card"> <div class="card-header"> For Individual App</div><div class="card-body"> <ul class="d-flex flex-column w-100"> <li class="card w-50"> <div class="card-header">Import</div><div class="card-body"> <div class="" id="div_IndividualAppPermissionsImport">Select File to import <br/></br> <input type="file" id="import_SingleAppPermissionFile" class="bg-light required"> <br/> <br/> <a href="javascript:;" id="singleAppPermission_fileUpload" class="btn btn-warning text-white">Upload</a> </div></div></li></ul> </div></div></form></div><div class="bg-white footer"> <button id="btn_CloseImport" class="btn btn-sm mr-auto btn-close">Close</button></div>`;
}
else {
return `<form id="form_Import" data-validate="parsley" data-isdynamic="false"><div class="b-b bg-white header"><strong>Import App</strong></div><div class="simple-scroll-bar scrollable"><div id="div_importmessage" class="clear"></div><div class="card" id="importexportsection"><div class="card-header">Select file to import</div><div class="card-body"><div id="div_Import"><input type="file" id="import_File" class="bg-light required"><br><br><input type="radio" id="apps" class="app_store_import_apps" onclick="Unibase.Platform.Apps.Components.Import.Instance().ImportType(1)" name="app_store_import_radio_btn" value="apps"><label for="apps">Apps</label><br><input type="radio" id="widget" class="app_store_import_widget" onclick="Unibase.Platform.Apps.Components.Import.Instance().ImportType(2)" name="app_store_import_radio_btn" value="Widget"><label for="widget">Widget</label><br><br><a href="javascript:;" id="fileUpload" class="btn btn-warning text-white">Upload</a></div></div></div></div><div class="bg-white footer"><button id="btn_CloseImport" class="btn btn-sm mr-auto btn-close">Close</button></div></form>`;
}
}
load(id, containerid, callback) {
var instance = this;
$("#btn_CloseImport,#btn_CloseDuplicateApp").click(function () {
$('#' + containerid).modal('hide');
$('#' + containerid).remove();
});
$("#btn_Import").click(function () {
$("#importexportsection").removeClass("hidden");
$("#div_Import").removeClass("hidden");
});
$('#import_File').change(function (e) {
Unibase.Platform.Apps.Components.Import.Instance().fileEvent(e);
});
$('#import_AllAppsPermissionFile').change(function (e) {
Unibase.Platform.Apps.Components.Import.Instance().allAppsPermissionFileEvent(e);
});
$('#import_SingleAppPermissionFile').change(function (e) {
Unibase.Platform.Apps.Components.Import.Instance().singleAppPermissionFileEvent(e);
});
$("#btn_SaveDuplicateApp").on("click", function () {
let controlid = "frmUnibase_DuplicateApp";
let result = Unibase.Platform.Forms.Components.FormViewer.Instance().requiredFieldValidation(controlid);
if (result == false) {
MessageHelper.Instance().showError("Mandatory Fields are missing", "div_duplicatemessage");
return false;
}
Import.Instance().SaveDuplicateApp(containerid);
});
$("#txt_Icon").focus(function () {
$(".div_Icons").fadeIn();
$("#icons").toggleClass("hidden");
$(".div_Icons").removeClass('hidden');
});
$("#txt_Icon").focusout(function () {
$(".div_Icons").fadeOut();
});
Unibase.Platform.Apps.Components.AppBuilder.Instance().loadIcons();
$("#fileUpload").click(function () {
let appcontrolid = "form_Import";
let result = Unibase.Platform.Forms.Components.FormViewer.Instance().requiredFieldValidation(appcontrolid);
if (result == false) {
MessageHelper.Instance().showError("Please Select File", "div_importmessage");
return false;
}
else {
setTimeout(function () {
if (Unibase.Platform.Apps.Components.Import.Instance().importType == "apps") {
Import.Instance().importApp(containerid);
}
else if (Unibase.Platform.Apps.Components.Import.Instance().importType == "widget") {
instance.fileCacheHelper.loadJsFile("platform/widgets/components/widget.js", function () {
Unibase.Platform.Widgets.Components.Widget.Instance().importWidget(containerid, Unibase.Platform.Apps.Components.Import.fileData);
});
}
else {
MessageHelper.Instance().showError("Please Select Import Type", "div_importmessage");
Unibase.Platform.Helpers.NavigationHelper.Instance().hideLoading();
}
}, 1000);
Unibase.Platform.Helpers.NavigationHelper.Instance().showLoading();
}
});
$("#allAppsPermission_fileUpload").click(function () {
let appcontrolid = "form_AllAppsPermissionsExportImport";
let result = Unibase.Platform.Forms.Components.FormViewer.Instance().requiredFieldValidation(appcontrolid);
if (result == false) {
MessageHelper.Instance().showError("Please Select File", "div_permissionsimportmessage");
return false;
}
else {
setTimeout(function () {
Import.Instance().importAppPermissions(containerid);
}, 1000);
Unibase.Platform.Helpers.NavigationHelper.Instance().showLoading();
}
});
$("#singleAppPermission_fileUpload").click(function () {
let appcontrolid = "form_SingleAppPermissionsImport";
let result = Unibase.Platform.Forms.Components.FormViewer.Instance().requiredFieldValidation(appcontrolid);
if (result == false) {
MessageHelper.Instance().showError("Please Select File", "div_permissionsimportmessage");
return false;
}
else {
setTimeout(function () {
Import.Instance().importAppPermissions(containerid);
}, 1000);
Unibase.Platform.Helpers.NavigationHelper.Instance().showLoading();
}
});
}
ImportType(importType) {
if (importType == 1) {
this.importType = "apps";
}
else if (importType == 2) {
this.importType = "widget";
}
}
importApp(containerid) {
var instance = this;
var url = _appsettings.server_url() + '/apis/v4/unibase/platform/apps/importapp/np';
Platform.Helpers.FileHelper.Instance().upload(url, Unibase.Platform.Apps.Components.Import.fileData).then(function (response) {
if (response.status == Unibase.Data.Status.Error) {
MessageHelper.Instance().showError(response.message, "div_importmessage");
}
else {
MessageHelper.Instance().showSuccess(response.message, "div_importmessage");
$('#' + containerid).modal('hide');
$('#' + containerid).remove();
}
Unibase.Platform.Helpers.NavigationHelper.Instance().hideLoading();
});
}
showImport(isduplicate) {
var obj = new Unibase.Platform.Apps.Components.Import;
obj.DuplicateHtml = isduplicate;
this.navigationHelper.popup(0, '', obj, null, Platform.Helpers.Size.Large);
}
permissionsExportImport(ispermissionhtml) {
var obj = new Unibase.Platform.Apps.Components.Import;
obj.PermissionsExportImportHtml = ispermissionhtml;
this.navigationHelper.popup(0, '', obj, null, Platform.Helpers.Size.Large);
}
fileEvent($event) {
const fileSelected = $event.target.files[0];
Unibase.Platform.Apps.Components.Import.fileData = new FormData();
Unibase.Platform.Apps.Components.Import.fileData.append(fileSelected.name, fileSelected);
}
singleAppPermissionFileEvent($event) {
const fileSelected = $event.target.files[0];
Unibase.Platform.Apps.Components.Import.permissionfileData = new FormData();
Unibase.Platform.Apps.Components.Import.permissionfileData.append(fileSelected.name, fileSelected);
}
allAppsPermissionFileEvent($event) {
const fileSelected = $event.target.files[0];
Unibase.Platform.Apps.Components.Import.permissionfileData = new FormData();
Unibase.Platform.Apps.Components.Import.permissionfileData.append(fileSelected.name, fileSelected);
}
exportAppRoleSettings() {
var instance = this;
instance.navigationHelper.showLoading();
instance.appmanager.exportAppRoleSettings().then(function (response) {
if (response.status == Unibase.Data.Status.Error) {
instance.navigationHelper.hideLoading();
MessageHelper.Instance().showError(response.message, "div_permissionsimportmessage");
return false;
}
var filename = "Permissions.xml";
var xmltext = response.result;
var pom = document.createElement('a');
var bb = new Blob([xmltext], { type: 'text/plain' });
pom.setAttribute('href', window.URL.createObjectURL(bb));
pom.setAttribute('download', filename);
pom.dataset.downloadurl = ['text/plain', pom.download, pom.href].join(':');
pom.draggable = true;
pom.classList.add('dragout');
pom.click();
instance.navigationHelper.hideLoading();
});
}
importAppRoleSettings(containerid) {
var instance = this;
var url = _appsettings.server_url() + '/apis/v4/unibase/platform/apps/importapprolesettings/np';
Platform.Helpers.FileHelper.Instance().upload(url, Unibase.Platform.Apps.Components.Import.permissionfileData).then(function (response) {
if (response.status == Unibase.Data.Status.Error) {
MessageHelper.Instance().showError(response.result, "div_permissionsimportmessage");
}
else {
MessageHelper.Instance().showSuccess(response.result, "div_permissionsimportmessage");
$('#' + containerid).modal('hide');
$('#' + containerid).remove();
}
Unibase.Platform.Helpers.NavigationHelper.Instance().hideLoading();
});
}
SaveDuplicateApp(containerid) {
var instance = this;
var recordid = Unibase.Themes.Providers.DetailHelper.recordId;
$(".div_childs").each(function () {
var oldappname = $(this).find(".sp_appname").text();
var newappname = $(this).find("#txt_Childapp").val();
Import.childappnames.push({ oldapptitle: oldappname, newapptitle: newappname });
});
let postdata = {
InstalledAppId: recordid,
AppTitle: $("#txt_Name").val(),
IconName: $("#txtfafaIcon").val(),
ChildApps: Import.childappnames
};
instance.navigationHelper.showLoading();
instance.appmanager.duplicateApp(postdata).then(function (response) {
if (response.status == Unibase.Data.Status.Error) {
MessageHelper.Instance().showError(response.message, "div_duplicatemessage");
}
else {
MessageHelper.Instance().showSuccess(response.message, "div_duplicatemessage");
$('#' + containerid).modal('hide');
$('#' + containerid).remove();
}
instance.navigationHelper.hideLoading();
});
}
exportAppPermissions() {
var instance = this;
instance.navigationHelper.showLoading();
instance.appmanager.exportAppPermissions(0).then(function (response) {
if (response.status == Unibase.Data.Status.Error) {
instance.navigationHelper.hideLoading();
MessageHelper.Instance().showError(response.message, "div_permissionsimportmessage");
return false;
}
var filename = "AllAppPermissions.xml";
var xmltext = response.result;
var pom = document.createElement('a');
var bb = new Blob([xmltext], { type: 'text/plain' });
pom.setAttribute('href', window.URL.createObjectURL(bb));
pom.setAttribute('download', filename);
pom.dataset.downloadurl = ['text/plain', pom.download, pom.href].join(':');
pom.draggable = true;
pom.classList.add('dragout');
pom.click();
instance.navigationHelper.hideLoading();
});
}
importAppPermissions(containerid) {
var instance = this;
var url = _appsettings.server_url() + '/apis/v4/unibase/platform/apps/importapppermissions/np';
Platform.Helpers.FileHelper.Instance().upload(url, Unibase.Platform.Apps.Components.Import.permissionfileData).then(function (response) {
if (response.status == Unibase.Data.Status.Error) {
MessageHelper.Instance().showError(response.message, "div_permissionsimportmessage");
}
else {
MessageHelper.Instance().showSuccess(response.result, "div_permissionsimportmessage");
$('#' + containerid).modal('hide');
$('#' + containerid).remove();
}
Unibase.Platform.Helpers.NavigationHelper.Instance().hideLoading();
});
}
static Instance() {
if (this.instance === undefined) {
this.instance = new Import();
}
return this.instance;
}
}
Import.fileData = new FormData();
Import.permissionfileData = new FormData();
Import.childappnames = [];
Components.Import = Import;
})(Components = Apps.Components || (Apps.Components = {}));
})(Apps = Platform.Apps || (Platform.Apps = {}));
})(Platform = Unibase.Platform || (Unibase.Platform = {}));
})(Unibase || (Unibase = {}));
File diff suppressed because one or more lines are too long
+4
View File
File diff suppressed because one or more lines are too long
@@ -0,0 +1,62 @@
var Unibase;
(function (Unibase) {
let Platform;
(function (Platform) {
let Apps;
(function (Apps) {
let Components;
(function (Components) {
class Partition extends Platform.Core.BaseComponent {
cssFiles() {
return [];
}
init(containerid) {
}
jsFiles() {
return ["platform/apps/managers/partitionmanager.js"];
}
html(id, containerid) {
return '';
}
load(id, containerid, callback) {
}
loadForm(FormId, Pk_Value, AppConfigurationId, Callback, ElementId) {
}
createPartitionTables(PartitionId) {
var instance = this;
instance.fileCacheHelper.loadJsFile("platform/apps/managers/partitionmanager.js", function () {
Unibase.Platform.Apps.Managers.PartitionManager.Instance().createPartitionTables(PartitionId).then(function (response) {
if (response.errors == null) {
MessageHelper.Instance().showSuccess(response.message, "");
}
else {
MessageHelper.Instance().showError(response.errors, "div_message");
}
});
});
}
refreshAllPartitions() {
var instance = this;
instance.fileCacheHelper.loadJsFile("platform/apps/managers/partitionmanager.js", function () {
Unibase.Platform.Apps.Managers.PartitionManager.Instance().refreshAllPartitions().then(function (response) {
if (response.errors == null) {
MessageHelper.Instance().showSuccess(response.message, "");
}
else {
MessageHelper.Instance().showError(response.errors, "div_message");
}
});
});
}
static Instance() {
if (this.instance === undefined) {
this.instance = new Partition();
}
return this.instance;
}
}
Components.Partition = Partition;
})(Components = Apps.Components || (Apps.Components = {}));
})(Apps = Platform.Apps || (Platform.Apps = {}));
})(Platform = Unibase.Platform || (Unibase.Platform = {}));
})(Unibase || (Unibase = {}));
+1
View File
@@ -0,0 +1 @@
{"version":3,"file":"partition.js","sourceRoot":"","sources":["partition.ts"],"names":[],"mappings":"AAAA,IAAU,OAAO,CAkEhB;AAlED,WAAU,OAAO;IACb,IAAiB,QAAQ,CAgExB;IAhED,WAAiB,QAAQ;QACrB,IAAiB,IAAI,CA8DpB;QA9DD,WAAiB,IAAI;YACjB,IAAiB,UAAU,CA4D1B;YA5DD,WAAiB,UAAU;gBACvB,MAAa,SAAU,SAAQ,SAAA,IAAI,CAAC,aAAa;oBAE7C,QAAQ;wBACJ,OAAO,EAAE,CAAC;oBACd,CAAC;oBACD,IAAI,CAAC,WAAW;oBAEhB,CAAC;oBACD,OAAO;wBACH,OAAO,CAAC,4CAA4C,CAAC,CAAC;oBAC1D,CAAC;oBACD,IAAI,CAAC,EAAE,EAAE,WAAW;wBAChB,OAAO,EAAE,CAAC;oBACd,CAAC;oBACD,IAAI,CAAC,EAAO,EAAE,WAAmB,EAAE,QAAkB;oBAErD,CAAC;oBAED,QAAQ,CAAC,MAAc,EAAE,QAAa,EAAE,kBAA0B,EAAE,QAAa,EAAE,SAAc;oBACjG,CAAC;oBAED,qBAAqB,CAAC,WAAW;wBAC7B,IAAI,QAAQ,GAAG,IAAI,CAAC;wBACpB,QAAQ,CAAC,eAAe,CAAC,UAAU,CAAC,4CAA4C,EAAE;4BAC9E,OAAO,CAAC,QAAQ,CAAC,IAAI,CAAC,QAAQ,CAAC,gBAAgB,CAAC,QAAQ,EAAE,CAAC,qBAAqB,CAAC,WAAW,CAAC,CAAC,IAAI,CAAC,UAAU,QAAQ;gCAEjH,IAAI,QAAQ,CAAC,MAAM,IAAI,IAAI,EAAE;oCACzB,aAAa,CAAC,QAAQ,EAAE,CAAC,WAAW,CAAC,QAAQ,CAAC,OAAO,EAAE,EAAE,CAAC,CAAC;iCAC9D;qCACI;oCACD,aAAa,CAAC,QAAQ,EAAE,CAAC,SAAS,CAAC,QAAQ,CAAC,MAAM,EAAE,aAAa,CAAC,CAAC;iCACtE;4BACL,CAAC,CAAC,CAAC;wBACP,CAAC,CAAC,CAAC;oBACP,CAAC;oBAED,oBAAoB;wBAChB,IAAI,QAAQ,GAAG,IAAI,CAAC;wBACpB,QAAQ,CAAC,eAAe,CAAC,UAAU,CAAC,4CAA4C,EAAE;4BAC9E,OAAO,CAAC,QAAQ,CAAC,IAAI,CAAC,QAAQ,CAAC,gBAAgB,CAAC,QAAQ,EAAE,CAAC,oBAAoB,EAAE,CAAC,IAAI,CAAC,UAAU,QAAQ;gCACrG,IAAI,QAAQ,CAAC,MAAM,IAAI,IAAI,EAAE;oCACzB,aAAa,CAAC,QAAQ,EAAE,CAAC,WAAW,CAAC,QAAQ,CAAC,OAAO,EAAE,EAAE,CAAC,CAAC;iCAC9D;qCACI;oCACD,aAAa,CAAC,QAAQ,EAAE,CAAC,SAAS,CAAC,QAAQ,CAAC,MAAM,EAAE,aAAa,CAAC,CAAC;iCACtE;4BACL,CAAC,CAAC,CAAC;wBACP,CAAC,CAAC,CAAC;oBACP,CAAC;oBAGD,MAAM,CAAC,QAAQ;wBACX,IAAI,IAAI,CAAC,QAAQ,KAAK,SAAS,EAAE;4BAC7B,IAAI,CAAC,QAAQ,GAAG,IAAI,SAAS,EAAE,CAAC;yBACnC;wBACD,OAAO,IAAI,CAAC,QAAQ,CAAC;oBACzB,CAAC;iBAEJ;gBA1DY,oBAAS,YA0DrB,CAAA;YACL,CAAC,EA5DgB,UAAU,GAAV,eAAU,KAAV,eAAU,QA4D1B;QACL,CAAC,EA9DgB,IAAI,GAAJ,aAAI,KAAJ,aAAI,QA8DpB;IACL,CAAC,EAhEgB,QAAQ,GAAR,gBAAQ,KAAR,gBAAQ,QAgExB;AACL,CAAC,EAlES,OAAO,KAAP,OAAO,QAkEhB"}
+1
View File
@@ -0,0 +1 @@
var Unibase;(function(n){let t;(function(t){let i;(function(i){let r;(function(i){class r extends t.Core.BaseComponent{cssFiles(){return[]}init(){}jsFiles(){return["platform/apps/managers/partitionmanager.js"]}html(){return""}load(){}loadForm(){}createPartitionTables(t){var i=this;i.fileCacheHelper.loadJsFile("platform/apps/managers/partitionmanager.js",function(){n.Platform.Apps.Managers.PartitionManager.Instance().createPartitionTables(t).then(function(n){n.errors==null?MessageHelper.Instance().showSuccess(n.message,""):MessageHelper.Instance().showError(n.errors,"div_message")})})}refreshAllPartitions(){var t=this;t.fileCacheHelper.loadJsFile("platform/apps/managers/partitionmanager.js",function(){n.Platform.Apps.Managers.PartitionManager.Instance().refreshAllPartitions().then(function(n){n.errors==null?MessageHelper.Instance().showSuccess(n.message,""):MessageHelper.Instance().showError(n.errors,"div_message")})})}static Instance(){return this.instance===undefined&&(this.instance=new r),this.instance}}i.Partition=r})(r=i.Components||(i.Components={}))})(i=t.Apps||(t.Apps={}))})(t=n.Platform||(n.Platform={}))})(Unibase||(Unibase={}));
@@ -0,0 +1,119 @@
var Unibase;
(function (Unibase) {
let Platform;
(function (Platform) {
let Apps;
(function (Apps) {
let Components;
(function (Components) {
class PermissionExportImport extends Platform.Core.BaseComponent {
constructor() {
super();
this.appmanager = Apps.Managers.AppManager.Instance();
this.navigationhelper = Unibase.Platform.Helpers.NavigationHelper.Instance();
}
cssFiles() {
return [];
}
jsFiles() {
return ['platform/apps/components/appbuilder.js', "platform/forms/components/formviewer/formviewer.js", 'libs/parsley/parsley.min.js', 'platform/core/infos/status.js', '/platform/core/helpers/file/filehelper.js'];
}
html(id, containerid) {
return `<form id="form_PermissionExpImp" data-validate="parsley" data-isdynamic="false">
<div class="b-b bg-white header"><strong>Permissions Export/Import</strong></div>
<div class="simple-scroll-bar scrollable import-export-body">
<div id="div_importmessage" class="clear"></div>
<div class="card">
<div class="card-header">Export</div>
<div class="card-body"><div id="div_Export">
<a href="javascript:;" id="btn_permissionExport" class="btn btn-info text-white">Export</a>
</div></div></div>
<div class="card">
<div class="card-header">Select file to import</div>
<div class="card-body"><div class="" id="div_Import">
<input type="file" id="permissionimport_File" class="bg-light d-none d-sm-block required"></br>
<a href="javascript:;" id="fileUpload" class="btn btn-warning text-white">Upload</a></div>
</div></div>
</div>
<div class="bg-white footer"><button id="btn_PermissionClose" class="btn btn-sm mr-auto btn-close">Close</button></div></form>`;
}
load(id, containerid, callback) {
var instance = this;
$("#btn_PermissionClose").click(function () {
$('#' + containerid).modal('hide');
$('#' + containerid).remove();
});
$('#permissionimport_File').change(function (e) {
Unibase.Platform.Apps.Components.PermissionExportImport.Instance().fileEvent(e);
});
$("#btn_permissionExport").on("click", function () {
PermissionExportImport.Instance().exportapprolesettings();
});
$("#fileUpload").click(function () {
let permissioncontrolid = "form_PermissionExpImp";
let result = Unibase.Platform.Forms.Components.FormViewer.Instance().requiredFieldValidation(permissioncontrolid);
if (result == false) {
MessageHelper.Instance().showError("Plase Select File", "div_importmessage");
return false;
}
else {
PermissionExportImport.Instance().importapprolesettings(containerid);
}
});
}
exportapprolesettings() {
var instance = this;
instance.navigationHelper.showLoading();
instance.appmanager.exportAppRoleSettings().then(function (response) {
var filename = "Permissions.xml";
var xmltext = response.result;
var pom = document.createElement('a');
var bb = new Blob([xmltext], { type: 'text/plain' });
pom.setAttribute('href', window.URL.createObjectURL(bb));
pom.setAttribute('download', filename);
pom.dataset.downloadurl = ['text/plain', pom.download, pom.href].join(':');
pom.draggable = true;
pom.classList.add('dragout');
pom.click();
instance.navigationHelper.hideLoading();
});
}
importapprolesettings(containerid) {
var instance = this;
instance.navigationHelper.showLoading();
var url = _appsettings.server_url() + '/apis/v4/unibase/platform/apps/importapprolesettings/np';
Platform.Helpers.FileHelper.Instance().upload(url, Unibase.Platform.Apps.Components.PermissionExportImport.fileData).then(function (response) {
if (response.status == Unibase.Data.Status.Error) {
instance.navigationHelper.hideLoading();
MessageHelper.Instance().showError(response.message, "div_importmessage");
}
else {
instance.navigationHelper.hideLoading();
MessageHelper.Instance().showSuccess(response.message, "div_importmessage");
$('#' + containerid).modal('hide');
$('#' + containerid).remove();
}
});
}
showImport() {
this.navigationHelper.popup(0, '', Unibase.Platform.Apps.Components.PermissionExportImport.Instance(), null, Platform.Helpers.Size.Large);
}
fileEvent($event) {
const fileSelected = $event.target.files[0];
Unibase.Platform.Apps.Components.PermissionExportImport.fileData = new FormData();
Unibase.Platform.Apps.Components.PermissionExportImport.fileData.append(fileSelected.name, fileSelected);
}
static Instance() {
if (this.instance === undefined) {
this.instance = new PermissionExportImport();
}
return this.instance;
}
}
PermissionExportImport.fileData = new FormData();
PermissionExportImport.childappnames = [];
Components.PermissionExportImport = PermissionExportImport;
})(Components = Apps.Components || (Apps.Components = {}));
})(Apps = Platform.Apps || (Platform.Apps = {}));
})(Platform = Unibase.Platform || (Unibase.Platform = {}));
})(Unibase || (Unibase = {}));
@@ -0,0 +1 @@
{"version":3,"file":"permissionexportimport.js","sourceRoot":"","sources":["permissionexportimport.ts"],"names":[],"mappings":"AAAA,IAAU,OAAO,CAkIhB;AAlID,WAAU,OAAO;IACb,IAAiB,QAAQ,CAgIxB;IAhID,WAAiB,QAAQ;QACrB,IAAiB,IAAI,CA8HpB;QA9HD,WAAiB,IAAI;YACjB,IAAiB,UAAU,CA4H1B;YA5HD,WAAiB,UAAU;gBACvB,MAAa,sBAAuB,SAAQ,SAAA,IAAI,CAAC,aAAa;oBAM1D;wBACI,KAAK,EAAE,CAAC;wBACR,IAAI,CAAC,UAAU,GAAG,KAAA,QAAQ,CAAC,UAAU,CAAC,QAAQ,EAAE,CAAC;wBACjD,IAAI,CAAC,gBAAgB,GAAG,OAAO,CAAC,QAAQ,CAAC,OAAO,CAAC,gBAAgB,CAAC,QAAQ,EAAE,CAAC;oBACjF,CAAC;oBACD,QAAQ;wBACJ,OAAO,EAAE,CAAC;oBACd,CAAC;oBACD,OAAO;wBACH,OAAO,CAAC,wCAAwC,EAAE,oDAAoD,EAAE,6BAA6B,EAAE,+BAA+B,EAAC,2CAA2C,CAAC,CAAC;oBACxN,CAAC;oBACD,IAAI,CAAC,EAAE,EAAE,WAAW;wBAChB,OAAO;;;;;;;;;;;;;;;;+HAgBgG,CAAC;oBAC5G,CAAC;oBAED,IAAI,CAAC,EAAE,EAAE,WAAW,EAAE,QAAkB;wBACpC,IAAI,QAAQ,GAAG,IAAI,CAAC;wBACpB,CAAC,CAAC,sBAAsB,CAAC,CAAC,KAAK,CAAC;4BAC5B,CAAC,CAAC,GAAG,GAAG,WAAW,CAAC,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC;4BACnC,CAAC,CAAC,GAAG,GAAG,WAAW,CAAC,CAAC,MAAM,EAAE,CAAC;wBAElC,CAAC,CAAC,CAAC;wBACH,CAAC,CAAC,wBAAwB,CAAC,CAAC,MAAM,CAAC,UAAU,CAAC;4BAC1C,OAAO,CAAC,QAAQ,CAAC,IAAI,CAAC,UAAU,CAAC,sBAAsB,CAAC,QAAQ,EAAE,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC;wBACpF,CAAC,CAAC,CAAC;wBACH,CAAC,CAAC,uBAAuB,CAAC,CAAC,EAAE,CAAC,OAAO,EAAE;4BACnC,sBAAsB,CAAC,QAAQ,EAAE,CAAC,qBAAqB,EAAE,CAAC;wBAC9D,CAAC,CAAC,CAAC;wBACH,CAAC,CAAC,aAAa,CAAC,CAAC,KAAK,CAAC;4BACnB,IAAI,mBAAmB,GAAG,uBAAuB,CAAC;4BAClD,IAAI,MAAM,GAAG,OAAO,CAAC,QAAQ,CAAC,KAAK,CAAC,UAAU,CAAC,UAAU,CAAC,QAAQ,EAAE,CAAC,uBAAuB,CAAC,mBAAmB,CAAC,CAAC;4BAClH,IAAI,MAAM,IAAI,KAAK,EAAE;gCACjB,aAAa,CAAC,QAAQ,EAAE,CAAC,SAAS,CAAC,mBAAmB,EAAE,mBAAmB,CAAC,CAAC;gCAC7E,OAAO,KAAK,CAAC;6BAEhB;iCACI;gCAED,sBAAsB,CAAC,QAAQ,EAAE,CAAC,qBAAqB,CAAC,WAAW,CAAC,CAAC;6BAGxE;wBACL,CAAC,CAAC,CAAC;oBACP,CAAC;oBACD,qBAAqB;wBACjB,IAAI,QAAQ,GAAG,IAAI,CAAC;wBACpB,QAAQ,CAAC,gBAAgB,CAAC,WAAW,EAAE,CAAC;wBACxC,QAAQ,CAAC,UAAU,CAAC,qBAAqB,EAAE,CAAC,IAAI,CAAC,UAAU,QAAQ;4BAC3D,IAAI,QAAQ,GAAG,iBAAiB,CAAC;4BACjC,IAAI,OAAO,GAAG,QAAQ,CAAC,MAAM,CAAC;4BAC9B,IAAI,GAAG,GAAG,QAAQ,CAAC,aAAa,CAAC,GAAG,CAAC,CAAC;4BACtC,IAAI,EAAE,GAAG,IAAI,IAAI,CAAC,CAAC,OAAO,CAAC,EAAE,EAAE,IAAI,EAAE,YAAY,EAAE,CAAC,CAAC;4BAErD,GAAG,CAAC,YAAY,CAAC,MAAM,EAAE,MAAM,CAAC,GAAG,CAAC,eAAe,CAAC,EAAE,CAAC,CAAC,CAAC;4BACzD,GAAG,CAAC,YAAY,CAAC,UAAU,EAAE,QAAQ,CAAC,CAAC;4BAEvC,GAAG,CAAC,OAAO,CAAC,WAAW,GAAG,CAAC,YAAY,EAAE,GAAG,CAAC,QAAQ,EAAE,GAAG,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;4BAC3E,GAAG,CAAC,SAAS,GAAG,IAAI,CAAC;4BACrB,GAAG,CAAC,SAAS,CAAC,GAAG,CAAC,SAAS,CAAC,CAAC;4BAE7B,GAAG,CAAC,KAAK,EAAE,CAAC;4BACZ,QAAQ,CAAC,gBAAgB,CAAC,WAAW,EAAE,CAAC;wBAC5C,CAAC,CAAC,CAAC;oBAEX,CAAC;oBACD,qBAAqB,CAAC,WAAW;wBAC7B,IAAI,QAAQ,GAAG,IAAI,CAAC;wBACpB,QAAQ,CAAC,gBAAgB,CAAC,WAAW,EAAE,CAAC;wBACxC,IAAI,GAAG,GAAG,YAAY,CAAC,UAAU,EAAE,GAAG,yDAAyD,CAAC;wBAChG,QAAQ,CAAC,OAAO,CAAC,UAAU,CAAC,QAAQ,EAAE,CAAC,MAAM,CAAC,GAAG,EAAE,OAAO,CAAC,QAAQ,CAAC,IAAI,CAAC,UAAU,CAAC,sBAAsB,CAAC,QAAQ,CAAC,CAAC,IAAI,CAAC,UAAU,QAAQ;4BACxI,IAAI,QAAQ,CAAC,MAAM,IAAI,QAAA,IAAI,CAAC,MAAM,CAAC,KAAK,EAAE;gCACtC,QAAQ,CAAC,gBAAgB,CAAC,WAAW,EAAE,CAAC;gCACxC,aAAa,CAAC,QAAQ,EAAE,CAAC,SAAS,CAAC,QAAQ,CAAC,OAAO,EAAE,mBAAmB,CAAC,CAAC;6BAC7E;iCACI;gCACD,QAAQ,CAAC,gBAAgB,CAAC,WAAW,EAAE,CAAC;gCACxC,aAAa,CAAC,QAAQ,EAAE,CAAC,WAAW,CAAC,QAAQ,CAAC,OAAO,EAAE,mBAAmB,CAAC,CAAC;gCAC5E,CAAC,CAAC,GAAG,GAAG,WAAW,CAAC,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC;gCACnC,CAAC,CAAC,GAAG,GAAG,WAAW,CAAC,CAAC,MAAM,EAAE,CAAC;6BACjC;wBAGL,CAAC,CAAC,CAAC;oBACP,CAAC;oBACD,UAAU;wBACN,IAAI,CAAC,gBAAgB,CAAC,KAAK,CAAC,CAAC,EAAE,EAAE,EAAE,OAAO,CAAC,QAAQ,CAAC,IAAI,CAAC,UAAU,CAAC,sBAAsB,CAAC,QAAQ,EAAE,EAAE,IAAI,EAAE,SAAA,OAAO,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;oBACrI,CAAC;oBACD,SAAS,CAAC,MAAM;wBACZ,MAAM,YAAY,GAAG,MAAM,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;wBAC5C,OAAO,CAAC,QAAQ,CAAC,IAAI,CAAC,UAAU,CAAC,sBAAsB,CAAC,QAAQ,GAAG,IAAI,QAAQ,EAAE,CAAC;wBAClF,OAAO,CAAC,QAAQ,CAAC,IAAI,CAAC,UAAU,CAAC,sBAAsB,CAAC,QAAQ,CAAC,MAAM,CAAC,YAAY,CAAC,IAAI,EAAE,YAAY,CAAC,CAAC;oBAC7G,CAAC;oBAGD,MAAM,CAAC,QAAQ;wBACX,IAAI,IAAI,CAAC,QAAQ,KAAK,SAAS,EAAE;4BAC7B,IAAI,CAAC,QAAQ,GAAG,IAAI,sBAAsB,EAAE,CAAC;yBAChD;wBACD,OAAO,IAAI,CAAC,QAAQ,CAAC;oBACzB,CAAC;;gBAxHM,+BAAQ,GAAG,IAAI,QAAQ,EAAE,CAAC;gBAG1B,oCAAa,GAAG,EAAE,CAAC;gBAJjB,iCAAsB,yBA0HlC,CAAA;YACL,CAAC,EA5HgB,UAAU,GAAV,eAAU,KAAV,eAAU,QA4H1B;QACL,CAAC,EA9HgB,IAAI,GAAJ,aAAI,KAAJ,aAAI,QA8HpB;IACL,CAAC,EAhIgB,QAAQ,GAAR,gBAAQ,KAAR,gBAAQ,QAgIxB;AACL,CAAC,EAlIS,OAAO,KAAP,OAAO,QAkIhB"}
+17
View File
@@ -0,0 +1,17 @@
var Unibase;(function(n){let t;(function(t){let i;(function(i){let r;(function(r){class u extends t.Core.BaseComponent{constructor(){super();this.appmanager=i.Managers.AppManager.Instance();this.navigationhelper=n.Platform.Helpers.NavigationHelper.Instance()}cssFiles(){return[]}jsFiles(){return["platform/apps/components/appbuilder.js","platform/forms/components/formviewer/formviewer.js","libs/parsley/parsley.min.js","platform/core/infos/status.js","/platform/core/helpers/file/filehelper.js"]}html(){return`<form id="form_PermissionExpImp" data-validate="parsley" data-isdynamic="false">
<div class="b-b bg-white header"><strong>Permissions Export/Import</strong></div>
<div class="simple-scroll-bar scrollable import-export-body">
<div id="div_importmessage" class="clear"></div>
<div class="card">
<div class="card-header">Export</div>
<div class="card-body"><div id="div_Export">
<a href="javascript:;" id="btn_permissionExport" class="btn btn-info text-white">Export</a>
</div></div></div>
<div class="card">
<div class="card-header">Select file to import</div>
<div class="card-body"><div class="" id="div_Import">
<input type="file" id="permissionimport_File" class="bg-light d-none d-sm-block required"></br>
<a href="javascript:;" id="fileUpload" class="btn btn-warning text-white">Upload</a></div>
</div></div>
</div>
<div class="bg-white footer"><button id="btn_PermissionClose" class="btn btn-sm mr-auto btn-close">Close</button></div></form>`}load(t,i){var r=this;$("#btn_PermissionClose").click(function(){$("#"+i).modal("hide");$("#"+i).remove()});$("#permissionimport_File").change(function(t){n.Platform.Apps.Components.PermissionExportImport.Instance().fileEvent(t)});$("#btn_permissionExport").on("click",function(){u.Instance().exportapprolesettings()});$("#fileUpload").click(function(){let t=n.Platform.Forms.Components.FormViewer.Instance().requiredFieldValidation("form_PermissionExpImp");if(t==!1)return MessageHelper.Instance().showError("Plase Select File","div_importmessage"),!1;u.Instance().importapprolesettings(i)})}exportapprolesettings(){var n=this;n.navigationHelper.showLoading();n.appmanager.exportAppRoleSettings().then(function(t){var r=t.result,i=document.createElement("a"),u=new Blob([r],{type:"text/plain"});i.setAttribute("href",window.URL.createObjectURL(u));i.setAttribute("download","Permissions.xml");i.dataset.downloadurl=["text/plain",i.download,i.href].join(":");i.draggable=!0;i.classList.add("dragout");i.click();n.navigationHelper.hideLoading()})}importapprolesettings(i){var r=this,u;r.navigationHelper.showLoading();u=_appsettings.server_url()+"/apis/v4/unibase/platform/apps/importapprolesettings/np";t.Helpers.FileHelper.Instance().upload(u,n.Platform.Apps.Components.PermissionExportImport.fileData).then(function(t){t.status==n.Data.Status.Error?(r.navigationHelper.hideLoading(),MessageHelper.Instance().showError(t.message,"div_importmessage")):(r.navigationHelper.hideLoading(),MessageHelper.Instance().showSuccess(t.message,"div_importmessage"),$("#"+i).modal("hide"),$("#"+i).remove())})}showImport(){this.navigationHelper.popup(0,"",n.Platform.Apps.Components.PermissionExportImport.Instance(),null,t.Helpers.Size.Large)}fileEvent(t){const i=t.target.files[0];n.Platform.Apps.Components.PermissionExportImport.fileData=new FormData;n.Platform.Apps.Components.PermissionExportImport.fileData.append(i.name,i)}static Instance(){return this.instance===undefined&&(this.instance=new u),this.instance}}u.fileData=new FormData;u.childappnames=[];r.PermissionExportImport=u})(r=i.Components||(i.Components={}))})(i=t.Apps||(t.Apps={}))})(t=n.Platform||(n.Platform={}))})(Unibase||(Unibase={}));
@@ -0,0 +1,85 @@
var Unibase;
(function (Unibase) {
let Platform;
(function (Platform) {
let Apps;
(function (Apps) {
let Components;
(function (Components) {
class BulkStageUpdate extends Platform.Core.BaseComponent {
jsFiles() {
return ['platform/apps/managers/stagemanager.js'];
}
cssFiles() {
return [];
}
html(containerid) {
return '<div class="card bulk-stage-change-body"><div class="card-header"><span class="h6 text-dark">Bulk Stage Change</span></div><div class="card-body scrollable"><div id="div_StgUpdMessage" class="form-error-message l-0 ml-0"></div><div id="div_bulkstagechange"><div class="card"><div class="col-sm-6"><label for="lblInstalledApp" class="font-bold">Apps</label><select id="autocomplete_ActiveInstalledApp" class="form-control text-control" style="width:100%" placeholder="InstalledApp" data-placeholder="InstalledApp" onclick=""></select><input type="hidden" id="hfAutoComplete_ActiveInstalledApp" class="hfAutoComplete_ActiveInstalledApp form-control value-control" data-isdynamic="true"></div><br><div class="col-sm-6"><label for="lblOldStage" class="font-bold">Stages</label><select id="autocomplete_OldStage" class="form-control text-control" style="width:100%" placeholder="Stages" data-placeholder="Stages" onclick=""></select><input type="hidden" id="hfAutoComplete_OldStage" class="hfAutoComplete_OldStage form-control value-control" data-isdynamic="true"></div><br><div class="col-sm-6"><label for="lblNewStage" class="font-bold">New Stages</label><select id="autocomplete_NewStage" class="form-control text-control" style="width:100%" placeholder="Stages" data-placeholder="New Stages" onclick=""></select><input type="hidden" id="hfAutoComplete_NewStage" class="hfAutoComplete_NewStage form-control value-control" data-isdynamic="true"></div><br><div class="card-body"><span class="col-sm-6 pull-left"><a href="javascript:;" id="btn_bulk_stage_change" class="btn btn-success col-sm-12" onclick="Unibase.Platform.Apps.Components.BulkStageUpdate.Instance().updateStage()">Update Stage</a></span> <span class="col-sm-6 pull-right"></span><br></div></div><div></div></div></div></div>';
}
init(id) {
var instance = this;
var html = instance.html(id);
$("." + id).append(html);
instance.load(0, id, null);
}
load(id, containerid, callback) {
var instance = this;
var url = _appsettings.server_url() + '/apis/v4/unibase/platform/apps/activeinstalledappautocomplete';
AutoCompleteHelper.getHelper().Create("#autocomplete_ActiveInstalledApp", "#hfAutoComplete_ActiveInstalledApp", url, function (response) {
});
$("#autocomplete_ActiveInstalledApp").change(function () {
$("#autocomplete_OldStage").empty();
$("#autocomplete_NewStage").empty();
var installedAppId = Number($("#autocomplete_ActiveInstalledApp").val());
var url = _appsettings.server_url() + '/apis/v4/unibase/platform/apps/installedappstagesautocomplete/installedappid/' + installedAppId;
AutoCompleteHelper.getHelper().Create("#autocomplete_OldStage", "#hfAutoComplete_OldStage", url, function (response) {
});
AutoCompleteHelper.getHelper().Create("#autocomplete_NewStage", "#hfAutoComplete_NewStage", url, function (response) {
});
});
}
updateStage() {
var instance = this;
var installedAppId = Number($("#autocomplete_ActiveInstalledApp").val());
if (installedAppId == 0) {
MessageHelper.Instance().showError("Select App", "div_StgUpdMessage");
return false;
}
var oldStageId = Number($("#autocomplete_OldStage").val());
var newStageId = Number($("#autocomplete_NewStage").val());
if (oldStageId == newStageId) {
MessageHelper.Instance().showError("Select Different Stages", "div_StgUpdMessage");
return false;
}
else {
let postData = {
VersionGuid: "",
StageId: newStageId,
InstalledAppId: installedAppId,
OldStageId: Number(oldStageId),
RefStatusId: 0
};
instance.fileCacheHelper.loadJsFile('platform/apps/managers/stagemanager.js', function () {
Unibase.Platform.Apps.Managers.StageManager.Instance().bulkStageUpdate(postData).then(function (response) {
if (response.status == Unibase.Data.Status.Error) {
MessageHelper.Instance().showError(response.message, "div_StgUpdMessage");
}
else {
MessageHelper.Instance().showSuccess(response.message, '');
}
});
});
}
}
static Instance() {
if (this.instance === undefined) {
this.instance = new BulkStageUpdate();
}
return this.instance;
}
}
Components.BulkStageUpdate = BulkStageUpdate;
})(Components = Apps.Components || (Apps.Components = {}));
})(Apps = Platform.Apps || (Platform.Apps = {}));
})(Platform = Unibase.Platform || (Unibase.Platform = {}));
})(Unibase || (Unibase = {}));
@@ -0,0 +1 @@
{"version":3,"file":"bulkstageupdate.js","sourceRoot":"","sources":["bulkstageupdate.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,353 @@
var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
return new (P || (P = Promise))(function (resolve, reject) {
function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
step((generator = generator.apply(thisArg, _arguments || [])).next());
});
};
var Unibase;
(function (Unibase) {
let Platform;
(function (Platform) {
let Apps;
(function (Apps) {
let Components;
(function (Components) {
class DefaultStageRoles extends Platform.Core.BaseComponent {
jsFiles() {
return ['/platform/apps/components/stages/defaultstageroles.js', '/platform/apps/managers/stagemanager.js'];
}
cssFiles() {
return [];
}
html(id, containerid) {
return `<header class="bg-white modal-header" id="div_Header"> <strong class="biz-highlight-bg-color" id="div_title">Create Default Stage Roles</strong> <a class="btn btn-sm btn-icon ml-auto hidden"><i class="ti-help-alt"></i></a> </header>
<div data-simplebar class="simple-scroll-bar scrollable modal-body">
<div class="wrapper">
<div id="div_ErrorMsg" class="clear mb-10"></div>
<div class="card div_stagelist"><ul class="ul_StageList"></ul>
</div></div></div>
<footer class="bg-white modal-footer"> <a href="javascript:;" id="btn_Close_` + containerid + `" class="btn btn-light btn-sm mr-auto">Close</a><a href="javascript:;" id="btn_Save_` + containerid + `" class="btn btn-primary btn-sm pull-right">Save</a></footer>
</div>`;
}
init(id) {
this.navigationHelper.popup(id, '', Unibase.Platform.Apps.Components.DefaultStageRoles.Instance(), null, Platform.Helpers.Size.Auto);
}
load(id, containerid, callback) {
var instance = this;
instance.loadStageList(id);
$("#btn_Close_" + containerid + "").click(function () {
$('#' + containerid).modal('hide');
$('#' + containerid).remove();
});
$("#btn_Save_" + containerid + "").click(function () {
instance.saveRoles(containerid, id);
});
}
loadStageList(appId) {
var html = "";
var instance = this;
DefaultStageRoles.StageRoles = [];
Unibase.Platform.Apps.Managers.StageManager.Instance().getStages(appId).then(function (response) {
if (response.result != null) {
var result = response.result;
if (response.result.length > 0) {
var stageIds = response.result.map(x => x.StageId);
$(".ul_StageList").html('');
for (var i = 0; i < result.length; i++) {
var data = result[i];
html = `<li class="row py-2 mx-0 align-items-center li-stage-` + data.StageId + `">
<div class="col-sm-2">
<span>${data.StageName}</span>
<input type="hidden" id="hf_StageId_` + i + `" value="` + data.StageId + `" data - isdynamic="true" />
</div>
<div class="col-sm-2 div_chkDefault_` + data.StageId + `">
<span>For All</span>
<label class="switch pull-right">
<input id="chkIsDefault_` + data.StageId + `" class="chk-is-default" data-group="Viewable" type="checkbox" onchange="Unibase.Platform.Apps.Components.DefaultStageRoles.Instance().setDefaultForAll( ` + data.StageId + `,` + appId + `);" >
<span></span>
</label>
</div>
<div class="col-sm-4 div_IncludeRoles div_includeroles_` + data.StageId + `">
<label for="lblIncludeRoles" class="font-bold">Include Roles</label>
<select id="Select2_IncludeRoles_` + data.StageId + `" class="Select2_IncludeRoles_` + data.StageId + ` form-control value-control" style="width:100%;" placeholder="Select Include Roles" data-placeholder="Select Include Roles" data-label="" data-istagselect="true" multiple="multiple" data-StageId="` + data.StageId + `" /></select>
<input type="hidden" id="hfSelect2_IncludeRoles_` + data.StageId + `" class="hfSelect2_IncludeRoles_` + data.StageId + ` form-control value-control" data - isdynamic="true" />
</div>
<div class="col-sm-4 div_ExcludeRoles div_excluderoles_` + data.StageId + `">
<label for="lblIncludeRoles" class="font-bold">Exclude Roles </label>
<select id="Select2_ExcludeRoles_` + data.StageId + `" class="Select2_ExcludeRoles_` + data.StageId + ` form-control value-control" style="width:100%;" placeholder="Select Exclude Roles" data-placeholder="Select Exclude Roles" data-label="" data-istagselect="true" multiple="multiple" data-StageId="` + data.StageId + `"/></select>
<input type="hidden" id="hfSelect2_ExcludeRoles_` + data.StageId + `" class="hfSelect2_ExcludeRoles_` + data.StageId + ` form-control value-control" data - isdynamic="true" />
</div>
</li>`;
$(".ul_StageList").append(html);
if (data.DefaultForAll) {
$("#chkIsDefault_" + data.StageId + "").prop('checked', true);
$(".div_includeroles_" + data.StageId + "").addClass('d-none');
}
}
instance.loadRoles(stageIds, appId);
}
}
});
}
loadRoles(stageIds, appId) {
return __awaiter(this, void 0, void 0, function* () {
var instance = this;
var userinfo = Unibase.Platform.Membership.Infos.Identity.getCurrentUser();
var url = _appsettings.server_url() + '/apis/v4/unibase/platform/roles/getroles/term/';
Unibase.Platform.Apps.Managers.StageManager.Instance().getDefaultStageRoles(appId).then(function (response) {
if (response.result != null && response.result.length > 0) {
for (var i = 0; i < response.result.length; i++) {
var stageRole = response.result[i];
DefaultStageRoles.StageRoles.push({
StageId: stageRole.StageId,
RoleId: stageRole.RoleId,
RoleName: stageRole.RoleName,
IsExclude: stageRole.IsExclude,
Status: 1
});
}
}
for (var i = 0; i < stageIds.length; i++) {
DefaultStageRoles.IncludeRoles = [];
DefaultStageRoles.ExcludeRoles = [];
var IncludeIds = [];
var ExcludeIds = [];
var roles = Unibase.Platform.Apps.Components.DefaultStageRoles.StageRoles.filter(x => x.StageId == stageIds[i]);
for (var j = 0; j < roles.length; j++) {
var role = roles[j];
if (role.IsExclude) {
DefaultStageRoles.ExcludeRoles.push({
id: role.RoleId,
text: role.RoleName
});
ExcludeIds.push(role.RoleId);
}
else {
DefaultStageRoles.IncludeRoles.push({
id: role.RoleId,
text: role.RoleName
});
IncludeIds.push(role.RoleId);
}
}
$('#Select2_IncludeRoles_' + stageIds[i]).select2({
multiple: true,
allowClear: true,
data: DefaultStageRoles.IncludeRoles,
placeholder: 'Select Role',
ajax: {
url: function (request) {
var reqUrl = url;
var term = request.term;
if (term == "")
term = undefined;
if (term == undefined)
reqUrl = reqUrl + term + "/authtoken/" + userinfo.sessionId;
else
reqUrl = reqUrl + term + "/authtoken/" + userinfo.sessionId;
return reqUrl;
},
beforeSend: function (xhr) {
if (userinfo !== undefined && userinfo !== null) {
xhr.setRequestHeader("Authorization", "Basic " + userinfo.sessionId);
xhr.setRequestHeader('geoposition', userinfo.latd + ':' + userinfo.lgId);
}
},
delay: 250,
dataType: 'json',
processResults: function (data) {
var selectData = [];
var Data = JSON.parse(data.result);
for (var i = 0; i < Data.length; i++) {
selectData.push({
id: Data[i].Value,
text: Data[i].DisplayText
});
}
;
return { results: selectData };
}
},
templateResult: function (item) { return item.text; },
templateSelection: function (item) { return item.text; },
});
jQuery('#Select2_IncludeRoles_' + stageIds[i] + '').val(IncludeIds).trigger('change');
$('#Select2_ExcludeRoles_' + stageIds[i] + '').select2({
multiple: true,
allowClear: true,
data: DefaultStageRoles.ExcludeRoles,
placeholder: 'Select Role',
ajax: {
url: function (request) {
var reqUrl = url;
var term = request.term;
if (term == "")
term = undefined;
if (term == undefined)
reqUrl = reqUrl + term + "/authtoken/" + userinfo.sessionId;
else
reqUrl = reqUrl + term + "/authtoken/" + userinfo.sessionId;
return reqUrl;
},
beforeSend: function (xhr) {
if (userinfo !== undefined && userinfo !== null) {
xhr.setRequestHeader("Authorization", "Basic " + userinfo.sessionId);
xhr.setRequestHeader('geoposition', userinfo.latd + ':' + userinfo.lgId);
}
},
delay: 250,
dataType: 'json',
processResults: function (data) {
var selectData = [];
var Data = JSON.parse(data.result);
for (var i = 0; i < Data.length; i++) {
selectData.push({
id: Data[i].Value,
text: Data[i].DisplayText
});
}
;
return { results: selectData };
}
},
templateResult: function (item) { return item.text; },
templateSelection: function (item) { return item.text; },
});
jQuery('#Select2_ExcludeRoles_' + stageIds[i] + '').val(ExcludeIds).trigger('change');
$('#Select2_IncludeRoles_' + stageIds[i] + '').on("select2:select", function (e) {
var result = e.params.data;
if (Number(result.id) != 0) {
var roleId = Number(result.id);
var roleName = result.text;
var stageId = Number(e.currentTarget.getAttribute('data-StageId'));
var index = DefaultStageRoles.StageRoles.findIndex(x => x.RoleId == roleId);
if (index == -1) {
DefaultStageRoles.StageRoles.push({
StageId: stageId,
RoleId: roleId,
RoleName: roleName,
IsExclude: false,
Status: 1
});
}
else {
if (DefaultStageRoles.StageRoles[index].Status == 2) {
DefaultStageRoles.StageRoles[index].StageId = stageId;
DefaultStageRoles.StageRoles[index].IsExclude = false;
DefaultStageRoles.StageRoles[index].Status = 1;
}
else {
MessageHelper.Instance().showError("This role is already assigned", "div_ErrorMsg");
$("#" + e.currentTarget.getAttribute('id') + " option:selected:last").remove();
}
}
}
});
$('#Select2_ExcludeRoles_' + stageIds[i] + '').on("select2:select", function (e) {
var result = e.params.data;
if (Number(result.id) != 0) {
var roleId = Number(result.id);
var roleName = result.text;
var stageId = Number(e.currentTarget.getAttribute('data-StageId'));
var index = DefaultStageRoles.StageRoles.findIndex(x => x.RoleId == roleId);
if (index == -1) {
DefaultStageRoles.StageRoles.push({
StageId: stageId,
RoleId: roleId,
RoleName: roleName,
IsExclude: true,
Status: 1
});
}
else {
if (DefaultStageRoles.StageRoles[index].Status == 2) {
DefaultStageRoles.StageRoles[index].StageId = stageId;
DefaultStageRoles.StageRoles[index].IsExclude = false;
DefaultStageRoles.StageRoles[index].Status = 1;
}
else {
MessageHelper.Instance().showError("This role is already assigned", "div_ErrorMsg");
$("#" + e.currentTarget.getAttribute('id') + " option:selected:last").remove();
}
}
}
});
$('#Select2_IncludeRoles_' + stageIds[i] + '').on("select2:unselect", function (e) {
var result = e.params.data;
if (Number(result.id) != 0) {
var roleId = Number(result.id);
var index = DefaultStageRoles.StageRoles.findIndex(x => x.RoleId == roleId);
if (index != -1) {
DefaultStageRoles.StageRoles[index].Status = 2;
}
}
});
$('#Select2_ExcludeRoles_' + stageIds[i] + '').on("select2:unselect", function (e) {
var result = e.params.data;
if (Number(result.id) != 0) {
var roleId = Number(result.id);
var index = DefaultStageRoles.StageRoles.findIndex(x => x.RoleId == roleId);
if (index != -1) {
DefaultStageRoles.StageRoles[index].Status = 2;
}
}
});
}
});
});
}
setDefaultForAll(stageId, appId) {
var forAll = $("#chkIsDefault_" + stageId + "").prop('checked');
if (forAll) {
$(".div_includeroles_" + stageId).addClass('d-none');
$('.chk-is-default').not(`#chkIsDefault_${stageId}`).prop('checked', false);
$('.div_IncludeRoles').not('.div_includeroles_' + stageId + '').removeClass('d-none');
}
else {
$(".div_includeroles_" + stageId).removeClass('d-none');
}
Unibase.Platform.Apps.Managers.StageManager.Instance().setDefaultForAll(stageId, forAll, appId).then(function (response) {
if (response.status == Unibase.Data.Status.Error) {
MessageHelper.Instance().showError(response.message, "div_ErrorMsg");
}
else {
MessageHelper.Instance().showSuccess(response.message, "div_ErrorMsg");
}
});
}
saveRoles(containerid, appId) {
if (DefaultStageRoles.StageRoles.length > 0) {
var obj = {
InstalledAppId: appId,
StageRoles: DefaultStageRoles.StageRoles
};
Unibase.Platform.Apps.Managers.StageManager.Instance().saveDefaultRoles(obj).then(function (response) {
if (response.status == Unibase.Data.Status.Error) {
MessageHelper.Instance().showError(response.message, "div_ErrorMsg");
}
else {
MessageHelper.Instance().showSuccess(response.message, "div_ErrorMsg");
$('#' + containerid).modal('hide');
$('#' + containerid).remove();
}
});
}
}
static Instance() {
if (this.instance === undefined) {
this.instance = new DefaultStageRoles();
}
return this.instance;
}
}
DefaultStageRoles.StageRoles = [];
DefaultStageRoles.IncludeRoles = [];
DefaultStageRoles.ExcludeRoles = [];
Components.DefaultStageRoles = DefaultStageRoles;
})(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
@@ -0,0 +1,622 @@
var Unibase;
(function (Unibase) {
let Platform;
(function (Platform) {
let Apps;
(function (Apps) {
let Components;
(function (Components) {
class StagePermissions extends Platform.Core.BaseComponent {
constructor() {
super();
this.appManager = Apps.Managers.AppManager.Instance();
this.stageManager = Apps.Managers.StageManager.Instance();
this.permissionManager = Unibase.Platform.Permissions.Managers.PermissionManager.Instance();
}
jsFiles() {
return ['/platform/apps/components/stages/stages.js', '/platform/apps/components/stages/stagepermissions.js', '/platform/apps/managers/stagemanager.js', '/platform/apps/managers/appmanager.js', 'platform/core/infos/status.js'];
}
cssFiles() {
return [];
}
html(id, containerid) {
return `<div class="header bg-white">
<strong> Stages Permissions<span class="sp_Stagename"></span></strong>
<a class="btn btn-sm ml-auto"><i class="ti-help-alt" title="help" href="javascript:;" target="_blank"></i></a>
</div>
<div data-simplebar class="simple-scroll-bar scrollable">
<div class="wrapper">
<div id="div_stagepermvalidation" class="clear mb-10">
</div>
<div class="card">
<div class="card-header card-header-action">
<strong>Everyone can view this stage?</strong>
<label class="switch pull-right">
<input id="chkIsViewable" data-group="Viewable" checked " type="checkbox">
<span></span>
</label>
</div>
<div class="card-body">
<div class="row">
<div class="col-sm-12 mb-0" id="divViewRoles">
<label>Included roles that can view this stage</label>
<input type="hidden" id="hfViewRoles" />
<select id="txtIncludeViewRoles" style="width:100%" class="b-a" value="" multiple="multiple"></select>
</div>
</div>
<div class="row">
<div class="col-sm-12 mb-0">
<label>Excluded roles that can view this stage</label>
<input type="hidden" id="hfViewRoles" />
<select id="txtExcludeViewRoles" style="width:100%" class="b-a" value="" multiple="multiple"></select>
</div>
</div>
</div>
</div>
<div class="card">
<div class="card-header card-header-action">
<strong class="lblstage">Everyone can change this stage?</strong>
<label class="switch">
<input id="chkIsChangable" data-group="Changable" checked " type="checkbox">
<span></span>
</label>
</div>
<div class="card-body">
<div class="row">
<div class="col-sm-12 mb-0" id="divChangeRoles">
<label>Included roles that can change this stage</label>
<input type="hidden" id="hfChangeRoles" />
<select id="txtIncludeChangeRoles" style="width:100%" class="b-a" value="" multiple="multiple"></select>
</div>
</div>
<div class="row">
<div class="col-sm-12 mb-0">
<label>Excluded roles that can change this stage</label>
<input type="hidden" id="hfChangeRoles" />
<select id="txtExcludeChangeRoles" style="width:100%" class="b-a" value="" multiple="multiple"></select>
</div>
</div>
</div>
</div>
</div>
</div> <footer class="bg-white footer"> <a href="javascript:;" id="btn_ClosePermission_` + containerid + `" class="btn btn-light btn-sm mr-auto">Close</a></footer>`;
}
load(id, containerid, callback) {
var instance = this;
instance.loaddata(id);
$("#btn_ClosePermission_" + containerid).click(function () {
$('#' + containerid).modal('hide');
$('#' + containerid).remove();
});
$("#chkIsViewable").change(function () {
var viewable = $("#chkIsViewable").prop('checked');
if (viewable) {
$('#divViewRoles').hide();
}
else {
$('#divViewRoles').show();
}
instance.stageManager.setAsViewable(id, viewable).then(function (response) {
if (response.status == Unibase.Data.Status.Error) {
MessageHelper.Instance().showError(response.message, "div_stagepermvalidation");
}
else {
MessageHelper.Instance().showSuccess(response.message, "div_stagepermvalidation");
}
});
});
$("#chkIsChangable").change(function () {
var changable = $("#chkIsChangable").prop('checked');
if (changable) {
$('#divChangeRoles').hide();
}
else {
$('#divChangeRoles').show();
}
instance.stageManager.setAsChangable(id, changable).then(function (response) {
if (response.status == Unibase.Data.Status.Error) {
MessageHelper.Instance().showError(response.message, "div_stagepermvalidation");
}
else {
MessageHelper.Instance().showSuccess(response.message, "div_stagepermvalidation");
}
});
});
}
loadpermissions(stageid) {
this.navigationHelper.popup(stageid, '', Unibase.Platform.Apps.Components.StagePermissions.Instance(), null, Platform.Helpers.Size.Auto);
}
loaddata(stageid) {
var instance = this;
StagePermissions.StageRoles = [];
StagePermissions.ViewRoles = [];
StagePermissions.ChangeRoles = [];
StagePermissions.ExcludeViewRoles = [];
StagePermissions.ExcludeChangeRoles = [];
instance.getstageroles(stageid, function () {
instance.permissionManager.getRoles("").then(function (response) {
if (response.result.length > 0) {
for (var i = 0; i < response.result.length; i++) {
var data = response.result[i];
var assignedRoles = StagePermissions.StageRoles;
if (assignedRoles[0].result.length > 0) {
for (var j = 0; j < assignedRoles[0].result.length; j++) {
var assignedRole = assignedRoles[0].result[j];
if (assignedRole.RoleId == data.RoleId) {
if (assignedRole.ViewStage && (!assignedRole.ExcludeViewRole)) {
StagePermissions.ViewRoles.push({ id: data.RoleId, text: data.RoleName });
}
if (assignedRole.ExcludeViewRole) {
StagePermissions.ExcludeViewRoles.push({ id: data.RoleId, text: data.RoleName });
}
if (assignedRole.ChangeStage && (!assignedRole.ExcludeChangeRole)) {
StagePermissions.ChangeRoles.push({ id: data.RoleId, text: data.RoleName });
}
if (assignedRole.ExcludeChangeRole) {
StagePermissions.ExcludeChangeRoles.push({ id: data.RoleId, text: data.RoleName });
}
}
}
}
}
}
instance.loadStage(stageid);
});
});
}
getstageroles(stageid, callback) {
this.stageManager.getStageRoles(stageid).then(function (result) {
StagePermissions.StageRoles.push(result);
if (result.result.length > 0) {
$(".sp_Stagename").text("(" + result.result[0].StageName + ")");
}
}).then(function () {
if (callback != null)
callback();
});
}
loadStage(Id) {
this.stageManager.getStage(Id).then(function (response) {
if (response.result.ViewAll == true) {
$("#chkIsViewable").prop('checked', true);
Unibase.Platform.Apps.Components.StagePermissions.Instance().loadViewRoles(response.result.ChangeAll, Id);
$('#divViewRoles').hide();
}
else {
$("#chkIsViewable").prop('checked', false);
Unibase.Platform.Apps.Components.StagePermissions.Instance().loadViewRoles(response.result.ChangeAll, Id);
$('#divViewRoles').show();
}
});
}
loadViewRoles(changableRoleResponse, StageId) {
var url = _appsettings.server_url() + "/apis/v4/unibase/platform/roles/selectedroles";
var NewArray = [];
var ViewIds = [];
for (var i = 0; i < StagePermissions.ViewRoles.length; i++) {
ViewIds.push(StagePermissions.ViewRoles[i].id);
NewArray.push(StagePermissions.ViewRoles[i].id);
}
StagePermissions.Viewdata = NewArray.toString();
Unibase.Platform.Apps.Components.StagePermissions.Instance().ExcludeViewRole(NewArray, StageId);
var userinfo = Unibase.Platform.Membership.Infos.Identity.getCurrentUser();
$("#txtIncludeViewRoles").select2({
placeholder: "Select Role",
tags: false,
data: StagePermissions.ViewRoles,
ajax: {
url: function (request) {
var reqUrl = url;
return reqUrl;
},
type: "POST",
dataType: "json",
delay: 250,
contentType: "application/json",
data: function (params) {
let postData = {
authToken: userinfo.sessionId,
term: params.term,
bindedData: StagePermissions.Viewdata
};
return JSON.stringify(postData);
},
beforeSend: function (xhr) {
if (userinfo !== undefined && userinfo !== null) {
xhr.setRequestHeader("Authorization", "Basic " + userinfo.sessionId);
xhr.setRequestHeader('geoposition', userinfo.latd + ':' + userinfo.lgId);
}
},
processResults: function (data) {
return {
results: jQuery.map(JSON.parse(data.result), function (item) {
return {
id: item.Value,
text: item.SelectText,
addlInfo: item.addlData
};
})
};
},
},
escapeMarkup: function (m) {
return m;
},
templateResult: function (item) { return item.text; },
templateSelection: function (item) { return item.text; },
});
jQuery("#txtIncludeViewRoles").val(ViewIds).trigger('change');
$('#txtIncludeViewRoles').on("select2:select", function (e) {
var result = e.params.data;
if (result.id != "0") {
var roleId = result.id;
Unibase.Platform.Apps.Components.StagePermissions.Instance().addViewStagePermission(roleId, StageId, false);
NewArray.push(roleId);
StagePermissions.Viewdata = NewArray.toString();
}
});
$('#txtIncludeViewRoles').on("select2:unselect", function (e) {
var result = e.params.data;
if (result.id != "0") {
var roleId = result.id;
Unibase.Platform.Apps.Components.StagePermissions.Instance().removeViewRole(roleId, StageId, false);
for (var i = NewArray.length - 1; i >= 0; i--) {
if (NewArray[i] == roleId) {
NewArray.splice(i, 1);
}
}
StagePermissions.Viewdata = NewArray.toString();
}
});
Unibase.Platform.Apps.Components.StagePermissions.Instance().loadChangeRoles(StageId);
if (changableRoleResponse == true) {
$("#chkIsChangable").prop('checked', true);
$('#divChangeRoles').hide();
}
else {
$("#chkIsChangable").prop('checked', false);
$('#divChangeRoles').show();
}
}
loadChangeRoles(StageId) {
var RoleIds = [];
var ChangeArray = [];
var url = _appsettings.server_url() + "/apis/v4/unibase/platform/roles/selectedroles";
for (var i = 0; i < StagePermissions.ChangeRoles.length; i++) {
RoleIds.push(StagePermissions.ChangeRoles[i].id);
ChangeArray.push(StagePermissions.ChangeRoles[i].id);
}
StagePermissions.Changedata = ChangeArray.toString();
Unibase.Platform.Apps.Components.StagePermissions.Instance().ExcludeChangeRole(ChangeArray, StageId);
var userinfo = Unibase.Platform.Membership.Infos.Identity.getCurrentUser();
$("#txtIncludeChangeRoles").select2({
placeholder: "Select a Role",
tags: false,
data: StagePermissions.ChangeRoles,
ajax: {
url: function (request) {
var reqUrl = url;
return reqUrl;
},
type: "POST",
dataType: "json",
delay: 250,
contentType: "application/json",
data: function (params) {
let postData = {
authToken: userinfo.sessionId,
term: params.term,
bindedData: StagePermissions.Changedata
};
return JSON.stringify(postData);
},
beforeSend: function (xhr) {
if (userinfo !== undefined && userinfo !== null) {
xhr.setRequestHeader("Authorization", "Basic " + userinfo.sessionId);
xhr.setRequestHeader('geoposition', userinfo.latd + ':' + userinfo.lgId);
}
},
processResults: function (data) {
return {
results: jQuery.map(JSON.parse(data.result), function (item) {
return {
id: item.Value,
text: item.SelectText,
addlInfo: item.addlData
};
})
};
},
},
escapeMarkup: function (m) {
return m;
},
templateResult: function (item) { return item.text; },
templateSelection: function (item) { return item.text; },
});
jQuery("#txtIncludeChangeRoles").val(RoleIds).trigger('change');
$('#txtIncludeChangeRoles').on("select2:select", function (e) {
var result = e.params.data;
if (result.id != "0") {
var roleId = result.id;
Unibase.Platform.Apps.Components.StagePermissions.Instance().addChangeStagePermission(roleId, StageId, false);
ChangeArray.push(roleId);
StagePermissions.Changedata = ChangeArray.toString();
}
});
$('#txtIncludeChangeRoles').on("select2:unselect", function (e) {
var result = e.params.data;
if (result.id != "0") {
var roleId = result.id;
Unibase.Platform.Apps.Components.StagePermissions.Instance().removeChangeRole(roleId, StageId, false);
for (var i = ChangeArray.length - 1; i >= 0; i--) {
if (ChangeArray[i] == roleId) {
ChangeArray.splice(i, 1);
}
}
StagePermissions.Changedata = ChangeArray.toString();
}
});
}
ExcludeViewRole(NewArray, StageId) {
var ExViewIds = [];
for (var i = 0; i < StagePermissions.ExcludeViewRoles.length; i++) {
ExViewIds.push(StagePermissions.ExcludeViewRoles[i].id);
NewArray.push(StagePermissions.ExcludeViewRoles[i].id);
}
StagePermissions.Viewdata = NewArray.toString();
var url = _appsettings.server_url() + "/apis/v4/unibase/platform/roles/selectedroles";
var userinfo = Unibase.Platform.Membership.Infos.Identity.getCurrentUser();
$("#txtExcludeViewRoles").select2({
placeholder: "Select a Role",
tags: false,
allowClear: true,
data: StagePermissions.ExcludeViewRoles,
ajax: {
url: function (request) {
var reqUrl = url;
return reqUrl;
},
type: "POST",
dataType: "json",
delay: 250,
contentType: "application/json",
data: function (params) {
let postData = {
authToken: userinfo.sessionId,
term: params.term,
bindedData: StagePermissions.Viewdata
};
return JSON.stringify(postData);
},
beforeSend: function (xhr) {
if (userinfo !== undefined && userinfo !== null) {
xhr.setRequestHeader("Authorization", "Basic " + userinfo.sessionId);
xhr.setRequestHeader('geoposition', userinfo.latd + ':' + userinfo.lgId);
}
},
processResults: function (data) {
return {
results: jQuery.map(JSON.parse(data.result), function (item) {
return {
id: item.Value,
text: item.SelectText,
addlInfo: item.addlData
};
})
};
},
},
escapeMarkup: function (m) {
return m;
},
templateResult: function (item) { return item.text; },
templateSelection: function (item) { return item.text; },
});
jQuery("#txtExcludeViewRoles").val(ExViewIds).trigger('change');
$('#txtExcludeViewRoles').on("select2:select", function (e) {
var result = e.params.data;
if (result.id != "0") {
var roleId = result.id;
Unibase.Platform.Apps.Components.StagePermissions.Instance().addViewStagePermission(roleId, StageId, true);
NewArray.push(roleId);
StagePermissions.Viewdata = NewArray.toString();
}
});
$('#txtExcludeViewRoles').on("select2:unselect", function (e) {
var result = e.params.data;
if (result.id != "0") {
var roleId = result.id;
Unibase.Platform.Apps.Components.StagePermissions.Instance().removeViewRole(roleId, StageId, true);
for (var i = NewArray.length - 1; i >= 0; i--) {
if (NewArray[i] == roleId) {
NewArray.splice(i, 1);
}
}
StagePermissions.Viewdata = NewArray.toString();
}
});
}
ExcludeChangeRole(ChangeArray, StageId) {
var url = _appsettings.server_url() + "/apis/v4/unibase/platform/roles/selectedroles";
var ExchangeIds = [];
for (var i = 0; i < StagePermissions.ExcludeChangeRoles.length; i++) {
ExchangeIds.push(StagePermissions.ExcludeChangeRoles[i].id);
ChangeArray.push(StagePermissions.ExcludeChangeRoles[i].id);
}
StagePermissions.Changedata = ChangeArray.toString();
var userinfo = Unibase.Platform.Membership.Infos.Identity.getCurrentUser();
$("#txtExcludeChangeRoles").select2({
placeholder: "Select a Role",
tags: false,
data: StagePermissions.ExcludeChangeRoles,
ajax: {
url: function (request) {
var reqUrl = url;
return reqUrl;
},
type: "POST",
dataType: "json",
delay: 250,
contentType: "application/json",
data: function (params) {
let postData = {
authToken: userinfo.sessionId,
term: params.term,
bindedData: StagePermissions.Changedata
};
return JSON.stringify(postData);
},
beforeSend: function (xhr) {
if (userinfo !== undefined && userinfo !== null) {
xhr.setRequestHeader("Authorization", "Basic " + userinfo.sessionId);
xhr.setRequestHeader('geoposition', userinfo.latd + ':' + userinfo.lgId);
}
},
processResults: function (data) {
return {
results: jQuery.map(JSON.parse(data.result), function (item) {
return {
id: item.Value,
text: item.SelectText,
addlInfo: item.addlData
};
})
};
},
},
escapeMarkup: function (m) {
return m;
},
templateResult: function (item) { return item.text; },
templateSelection: function (item) { return item.text; },
});
jQuery("#txtExcludeChangeRoles").val(ExchangeIds).trigger('change');
$('#txtExcludeChangeRoles').on("select2:select", function (e) {
var result = e.params.data;
if (result.id != "0") {
var roleId = result.id;
Unibase.Platform.Apps.Components.StagePermissions.Instance().addChangeStagePermission(roleId, StageId, true);
ChangeArray.push(roleId);
StagePermissions.Changedata = ChangeArray.toString();
}
});
$('#txtExcludeChangeRoles').on("select2:unselect", function (e) {
var result = e.params.data;
if (result.id != "0") {
var roleId = result.id;
Unibase.Platform.Apps.Components.StagePermissions.Instance().removeChangeRole(roleId, StageId, true);
for (var i = ChangeArray.length - 1; i >= 0; i--) {
if (ChangeArray[i] == roleId) {
ChangeArray.splice(i, 1);
}
}
StagePermissions.Changedata = ChangeArray.toString();
}
});
}
addViewStagePermission(roleId, StageId, IsExcludeViewRole) {
var instance = this;
if (IsExcludeViewRole == undefined) {
IsExcludeViewRole = false;
}
let postData = {
StageId: Number(StageId),
RoleId: Number(roleId),
ExcludeViewRole: IsExcludeViewRole,
ExcludeChangeRole: false,
ChangeStage: false,
ViewStage: false
};
instance.stageManager.addViewStage(postData).then(function (response) {
if (response.status != Unibase.Data.Status.Error) {
MessageHelper.Instance().showSuccess(response.message, "div_stagepermvalidation");
}
else {
MessageHelper.Instance().showError(response.message, "div_stagepermvalidation");
}
});
}
addChangeStagePermission(roleId, StageId, IsExcludeChangeRole) {
var instance = this;
if (IsExcludeChangeRole == undefined) {
IsExcludeChangeRole = false;
}
let postData = {
StageId: Number(StageId),
RoleId: Number(roleId),
ExcludeChangeRole: IsExcludeChangeRole,
ExcludeViewRole: false,
ChangeStage: false,
ViewStage: false
};
instance.stageManager.addChangeStage(postData).then(function (response) {
if (response.status != Unibase.Data.Status.Error) {
MessageHelper.Instance().showSuccess(response.message, "div_stagepermvalidation");
}
else {
MessageHelper.Instance().showError(response.message, "div_stagepermvalidation");
}
});
}
removeViewRole(roleId, StageId, IsExcludeViewRole) {
var instance = this;
let postData = {
StageId: Number(StageId),
RoleId: Number(roleId),
ExcludeChangeRole: false,
ExcludeViewRole: IsExcludeViewRole,
ChangeStage: false,
ViewStage: false
};
instance.stageManager.removeViewStage(postData).then(function (response) {
if (response.status != Unibase.Data.Status.Error) {
MessageHelper.Instance().showSuccess(response.message, "div_stagepermvalidation");
}
else {
MessageHelper.Instance().showError(response.message, "div_stagepermvalidation");
}
});
}
removeChangeRole(roleId, StageId, IsExcludeChangeRole) {
var instance = this;
let postData = {
StageId: Number(StageId),
RoleId: Number(roleId),
ExcludeChangeRole: IsExcludeChangeRole,
ExcludeViewRole: false,
ChangeStage: false,
ViewStage: false
};
instance.stageManager.removeChangeStage(postData).then(function (response) {
if (response.status != Unibase.Data.Status.Error) {
MessageHelper.Instance().showSuccess(response.message, "div_stagepermvalidation");
}
else {
MessageHelper.Instance().showError(response.message, "div_stagepermvalidation");
}
});
}
static Instance() {
if (this.instance === undefined) {
this.instance = new StagePermissions();
}
return this.instance;
}
}
StagePermissions.StageRoles = [];
StagePermissions.ViewRoles = [];
StagePermissions.ChangeRoles = [];
StagePermissions.ExcludeViewRoles = [];
StagePermissions.ExcludeChangeRoles = [];
StagePermissions.IsExcludeChangeRole = false;
StagePermissions.IsExcludeViewRole = false;
StagePermissions.Viewdata = "";
StagePermissions.Changedata = "";
Components.StagePermissions = StagePermissions;
})(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
@@ -0,0 +1,163 @@
var Unibase;
(function (Unibase) {
let Platform;
(function (Platform) {
let Apps;
(function (Apps) {
let Components;
(function (Components) {
class StageReason extends Platform.Core.BaseComponent {
constructor() {
super();
this.StageId = 0;
this.InstalledAppId = 0;
this.appManager = Apps.Managers.AppManager.Instance();
this.stageManager = Apps.Managers.StageManager.Instance();
}
jsFiles() {
return ['/platform/apps/components/stages/stages.js', '/platform/apps/managers/stagemanager.js', '/platform/apps/managers/appmanager.js', 'platform/core/infos/status.js', "platform/forms/components/formviewer/formviewer.js", 'libs/parsley/parsley.min.js',];
}
cssFiles() {
return [];
}
init() {
this.StageReasonWidget();
}
html(id, containerid) {
return `<header class="header b-b bg-white"> <strong>Stage Reasons</strong>
<a class="btn btn-sm btn-icon ml-auto hidden"><i class="ti-help-alt"></i></a> </header>
<section data-simplebar class="simple-scroll-bar scrollable"> <div class="clear" id="div_stagereasonMessage"> </div>
<form id="form_StageReason" data-validate="parsley"> <div class="card">
<div class="card-body"> <div class="row div_reason"> <div class="col-sm-12"><div class="input-group"><label for="lblReason" class="font-bold">Reasons </label> <select id="Autocomplete_Stagereasons" class="form-control value-control" style="width:100%;" placeholder = "Select Reasons" data-placeholder="Select Reasons" required data-istagselect="true" onchange=""/></select>
<input type="hidden" id="hfAutocomplete_Stagereasons" class="" form-control value-control" data-isdynamic="true"/>
</div></div></div>
<div><div class="col-sm-12"> <div class="floating-label-form-group focus div_description"> <label id="lbl_description">Description</label> <input type="text" value="" Id="txt_Description" class="form-control " placeholder="Description" data-placeholder="Enter Description" data-label="Description" autocomplete="off"/> </div></div></div> </div>
</section>
<footer class="bg-white footer"> <a href="javascript:;" id="btn_CancelStageReason" class="btn btn-light btn-sm mr-auto">Close</a> <a href="javascript:;" id="btn_SaveStageReason" class="pull-right btn btn-primary btn-sm">Save</a> </footer>`;
}
load(id, containerid, callback) {
var instance = this;
$("#btn_CancelStageReason").click(function () {
$('#' + containerid).modal('hide');
$('#' + containerid).remove();
if (window.self !== window.top) {
parent.postMessage('supportmsg', '*');
}
});
$("#btn_SaveStageReason").click(function () {
let appcontrolid = "form_StageReason";
var desc = $("#txt_Description").val();
if (desc != null && desc != "") {
$("#Autocomplete_Stagereasons").removeAttr("required");
}
let result = Unibase.Platform.Forms.Components.FormViewer.Instance().requiredFieldValidation(appcontrolid);
if (result == false) {
MessageHelper.Instance().showError("Mandatory fields are missing", "div_stagereasonMessage");
return false;
}
else {
instance.save(id, StageReason.Instance().StageId, containerid);
}
if (window.self !== window.top) {
parent.postMessage('supportmsg', '*');
}
});
var resontype = StageReason.Instance().reasontype;
instance.loaddata(id, resontype);
}
loaddesign(id, stageid, InstalledAppId, reasons, reasontype) {
StageReason.Instance().StageId = stageid;
StageReason.Instance().InstalledAppId = InstalledAppId;
StageReason.Instance().reasons = reasons;
StageReason.Instance().reasontype = reasontype;
this.navigationHelper.popup(id, '', Unibase.Platform.Apps.Components.StageReason.Instance(), function () {
if (window.self !== window.top) {
parent.postMessage('supportmsg', '*');
}
}, Platform.Helpers.Size.Medium);
}
loaddata(id, resontype) {
if (!StageReason.Instance().reasons) {
$(".div_reason").addClass('hidden');
$("#txt_Description").attr("required", "true");
$("#lbl_description").append("<span class='text-danger'>*</span>");
$("#Autocomplete_Stagereasons").removeAttr("required");
}
else {
$(".div_reason").removeClass('hidden');
$("#txt_Description").removeAttr('required');
}
var reasontypevalue = 0;
if (resontype == "Forward") {
reasontypevalue = 1;
}
if (resontype == "Backward") {
reasontypevalue = 2;
}
var url = _appsettings.server_url() + '/apis/v4/unibase/platform/apps/stagereasons/stageid/' + StageReason.Instance().StageId + '/reasontype/' + reasontypevalue;
AutoCompleteHelper.getHelper().Create("#Autocomplete_Stagereasons", "#hfAutocomplete_Stagereasons", url, function (response) {
var data = response;
});
}
save(id, StageId, containerid) {
var instance = this;
var InstalledAppId = StageReason.Instance().InstalledAppId;
let StageReasonId = Number($("#Autocomplete_Stagereasons").val());
let Description = $("#txt_Description").val();
Unibase.Themes.Compact.Components.Details.Instance().changeStage(StageId, InstalledAppId, StageReasonId, Description);
$('#' + containerid).modal('hide');
$('#' + containerid).remove();
}
StageReasonWidget() {
var instance = this;
if (Unibase.Themes.Providers.DetailHelper.installedAppId != 0) {
var InstalledAppId = Unibase.Themes.Providers.DetailHelper.installedAppId;
var stageid = Number(Unibase.Themes.Providers.Detail_Settings.Instance().InputParameters.find(x => x.Key == "hf_" + InstalledAppId + "_stageid").Value);
var refguid = Unibase.Themes.Providers.Detail_Settings.Instance().InputParameters.find(x => x.Key == "hf_" + InstalledAppId + "_versionguid").Value;
var portletwidgetid = Number($("#hf_PortletWidgetId").val());
$(".div_portletwidget_" + portletwidgetid).empty();
let html = `<div class="card card-default">
<div class="card-header card-header-action"><span class="h6">StageChange Reason </span><span class="pull-right badge badge-light badge-pill badge-outline mr-10 stages_count">0</span></div>
<div class="card-body"><div class="row"><div class="col-sm-12"><div class="div_stagechangereasons"></div></div></div></div>
</div>
</div>`;
$(".div_portletwidget_" + portletwidgetid).append(html);
instance.stageManager.getStageChangeReasons(stageid, refguid).then(function (response) {
if (response.result.length > 0) {
for (let x of response.result) {
$(".stages_count").text(response.result.length);
let html1 = `<li class='list-group-item border-0 pb-0 pt-0 mb-30 li_` + x.StageChangeId + `'><div class='media align-items-center'>
<div class='d-flex media-img-wrap mr-15'><div class='avatar'><span class='avatar-text avatar-text-primary rounded-circle'>
<span class='initial-wrap'><span>` + x.ShortCode + `</span></span></span><svg height='90' width='500' style='margin-left: 30px'><line y2='200' style='stroke:#e1e1e1;stroke-width:4;'></line></svg></div></div>
<div class='media-body row'><label style='color:Black;font-size:20px'>` + x.UserName + `</label><p class='text-primary ml-10'>Stage Changed from ` + x.OldStageName + ` to ` + x.NewStageName + `</p><label class='font-8 text-light ml-10'>` + x.CreatedDate + `</label></div></div>
<div class="ml-60 div_reason"><strong>Reason:</strong><span>` + x.Reason + `</span></div><br/><div class="ml-60 div_description"><strong>Description:</strong><span>` + x.Description + `</span></div></li>`;
$(".div_portletwidget_" + portletwidgetid).find(".div_stagechangereasons").append(html1);
if (x.Reason == null) {
$(".div_portletwidget_" + portletwidgetid).find(".li_" + x.StageChangeId).find(".div_reason").addClass('hidden');
}
else {
$(".div_portletwidget_" + portletwidgetid).find(".li_" + stageid).find(".div_reason").removeClass('hidden');
}
if (x.Description == "") {
$(".div_portletwidget_" + portletwidgetid).find(".li_" + x.StageChangeId).find(".div_description").addClass('hidden');
}
else {
$(".div_portletwidget_" + portletwidgetid).find(".li_" + stageid).find(".div_description").removeClass('hidden');
}
}
}
});
}
}
static Instance() {
if (this.instance === undefined) {
this.instance = new StageReason();
}
return this.instance;
}
}
Components.StageReason = StageReason;
})(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
+18
View File
@@ -0,0 +1,18 @@
var Unibase;(function(n){let t;(function(t){let i;(function(i){let r;(function(r){class u extends t.Core.BaseComponent{constructor(){super();this.StageId=0;this.InstalledAppId=0;this.appManager=i.Managers.AppManager.Instance();this.stageManager=i.Managers.StageManager.Instance()}jsFiles(){return["/platform/apps/components/stages/stages.js","/platform/apps/managers/stagemanager.js","/platform/apps/managers/appmanager.js","platform/core/infos/status.js","platform/forms/components/formviewer/formviewer.js","libs/parsley/parsley.min.js",]}cssFiles(){return[]}init(){this.StageReasonWidget()}html(){return`<header class="header b-b bg-white"> <strong>Stage Reasons</strong>
<a class="btn btn-sm btn-icon ml-auto hidden"><i class="ti-help-alt"></i></a> </header>
<section data-simplebar class="simple-scroll-bar scrollable"> <div class="clear" id="div_stagereasonMessage"> </div>
<form id="form_StageReason" method="post" data-validate="parsley"> <div class="card">
<div class="card-body"> <div class="row div_reason"> <div class="col-sm-12"><div class="input-group"><label for="lblReason" class="font-bold">Reasons </label> <select id="Autocomplete_Stagereasons" class="form-control value-control" style="width:100%;" placeholder = "Select Reasons" data-placeholder="Select Reasons" required data-istagselect="true" onchange=""/></select>
<input type="hidden" id="hfAutocomplete_Stagereasons" class="" form-control value-control" data-isdynamic="true"/>
</div></div></div>
<div><div class="col-sm-12"> <div class="floating-label-form-group focus div_description"> <label id="lbl_description">Description</label> <input type="text" value="" Id="txt_Description" class="form-control " placeholder="Description" data-placeholder="Enter Description" data-label="Description" autocomplete="off"/> </div></div></div> </div>
</section>
<footer class="bg-white footer"> <a href="javascript:;" id="btn_CancelStageReason" class="btn btn-light btn-sm mr-auto">Close</a> <a href="javascript:;" id="btn_SaveStageReason" class="pull-right btn btn-primary btn-sm">Save</a> </footer>`}load(t,i){var r=this,f;$("#btn_CancelStageReason").click(function(){$("#"+i).modal("hide");$("#"+i).remove()});$("#btn_SaveStageReason").click(function(){var f=$("#txt_Description").val();f!=null&&f!=""&&$("#Autocomplete_Stagereasons").removeAttr("required");let e=n.Platform.Forms.Components.FormViewer.Instance().requiredFieldValidation("form_StageReason");if(e==!1)return MessageHelper.Instance().showError("Mandatory fields are missing","div_stagereasonMessage"),!1;r.save(t,u.Instance().StageId,i)});f=u.Instance().reasontype;r.loaddata(t,f)}loaddesign(i,r,f,e,o){u.Instance().StageId=r;u.Instance().InstalledAppId=f;u.Instance().reasons=e;u.Instance().reasontype=o;this.navigationHelper.popup(i,"",n.Platform.Apps.Components.StageReason.Instance(),null,t.Helpers.Size.Medium)}loaddata(n,t){var i,r;u.Instance().reasons?($(".div_reason").removeClass("hidden"),$("#txt_Description").removeAttr("required")):($(".div_reason").addClass("hidden"),$("#txt_Description").attr("required","true"),$("#lbl_description").append("<span class='text-danger'>*<\/span>"),$("#Autocomplete_Stagereasons").removeAttr("required"));i=0;t=="Forward"&&(i=1);t=="Backward"&&(i=2);r=_appsettings.server_url()+"/apis/v4/unibase/platform/apps/stagereasons/stageid/"+u.Instance().StageId+"/reasontype/"+i;AutoCompleteHelper.getHelper().Create("#Autocomplete_Stagereasons","#hfAutocomplete_Stagereasons",r,function(n){var t=n})}save(t,i,r){var s=this,f=u.Instance().InstalledAppId;let e=Number($("#Autocomplete_Stagereasons").val()),o=$("#txt_Description").val();n.Themes.Compact.Components.Details.Instance().changeStage(i,f,e,o);$("#"+r).modal("hide");$("#"+r).remove()}StageReasonWidget(){var u=this;if(n.Themes.Providers.DetailHelper.installedAppId!=0){var r=n.Themes.Providers.DetailHelper.installedAppId,i=Number(n.Themes.Providers.Detail_Settings.Instance().InputParameters.find(n=>n.Key=="hf_"+r+"_stageid").Value),f=n.Themes.Providers.Detail_Settings.Instance().InputParameters.find(n=>n.Key=="hf_"+r+"_versionguid").Value,t=Number($("#hf_PortletWidgetId").val());$(".div_portletwidget_"+t).empty();let e=`<div class="card card-default">
<div class="card-header card-header-action"><span class="h6">StageChange Reason </span><span class="pull-right badge badge-light badge-pill badge-outline mr-10 stages_count">0</span></div>
<div class="card-body"><div class="row"><div class="col-sm-12"><div class="div_stagechangereasons"></div></div></div></div>
</div>
</div>`;$(".div_portletwidget_"+t).append(e);u.stageManager.getStageChangeReasons(i,f).then(function(n){if(n.result.length>0)for(let r of n.result){$(".stages_count").text(n.result.length);let u=`<li class='list-group-item border-0 pb-0 pt-0 mb-30 li_`+r.StageChangeId+`'><div class='media align-items-center'>
<div class='d-flex media-img-wrap mr-15'><div class='avatar'><span class='avatar-text avatar-text-primary rounded-circle'>
<span class='initial-wrap'><span>`+r.ShortCode+`</span></span></span><svg height='90' width='500' style='margin-left: 30px'><line y2='200' style='stroke:#e1e1e1;stroke-width:4;'></line></svg></div></div>
<div class='media-body row'><label style='color:Black;font-size:20px'>`+r.UserName+`</label><p class='text-primary ml-10'>Stage Changed from `+r.OldStageName+` to `+r.NewStageName+`</p><label class='font-8 text-light ml-10'>`+r.CreatedDate+`</label></div></div>
<div class="ml-60 div_reason"><strong>Reason:</strong><span>`+r.Reason+`</span></div><br/><div class="ml-60 div_description"><strong>Description:</strong><span>`+r.Description+`</span></div></li>`;$(".div_portletwidget_"+t).find(".div_stagechangereasons").append(u);r.Reason==null?$(".div_portletwidget_"+t).find(".li_"+r.StageChangeId).find(".div_reason").addClass("hidden"):$(".div_portletwidget_"+t).find(".li_"+i).find(".div_reason").removeClass("hidden");r.Description==""?$(".div_portletwidget_"+t).find(".li_"+r.StageChangeId).find(".div_description").addClass("hidden"):$(".div_portletwidget_"+t).find(".li_"+i).find(".div_description").removeClass("hidden")}})}}static Instance(){return this.instance===undefined&&(this.instance=new u),this.instance}}r.StageReason=u})(r=i.Components||(i.Components={}))})(i=t.Apps||(t.Apps={}))})(t=n.Platform||(n.Platform={}))})(Unibase||(Unibase={}));
@@ -0,0 +1,725 @@
var Unibase;
(function (Unibase) {
let Platform;
(function (Platform) {
let Apps;
(function (Apps) {
let Components;
(function (Components) {
class Stages extends Platform.Core.BaseComponent {
constructor() {
super();
this.appManager = Apps.Managers.AppManager.Instance();
this.stageManager = Apps.Managers.StageManager.Instance();
this.doctypeManager = Platform.DataSources.Managers.DocTypeManager.Instance();
}
jsFiles() {
return ['/platform/apps/components/stages/stages.js', '/platform/apps/components/stages/stagestatus.js', '/platform/apps/managers/stagemanager.js', '/platform/apps/managers/appmanager.js', '/platform/apps/components/stages/stagepermissions.js', "platform/forms/components/formviewer/formviewer.js", 'libs/parsley/parsley.min.js', 'platform/core/infos/status.js', 'platform/datasources/managers/doctypemanager.js', '/platform/forms/enums/enums.js'];
}
cssFiles() {
return [];
}
html(id, containerid) {
return `<header class="header b-b bg-white" id="div_Header"> <strong id="p_NewStage">Create Stage</strong> <strong class="hidden" id="p_EditStage">Edit Stage</strong> <a class="btn btn-sm btn-icon ml-auto hidden"><i class="ti-help-alt"></i></a> </header>
<section data-simplebar class="simple-scroll-bar scrollable div_Stageslist">
<div class="clear" id="divstageMessage"> </div>
<form id="form_Stages" data-validate="parsley">
<div class="card">
<div class="card-body">
<div class="row">
<div class="col-sm-6">
<div class="floating-label-form-group focus div_StageName"> <label for="txtStageName">Name<span class="text-danger"> *</span></label> <input type="text" Id="txtStageName" class="form-control required floating-label-control" placeholder="Name" data-placeholder="Enter Name" data-label=" Name *"autocomplete="off" /> </div>
</div>
<div class="col-sm-3">
<div class="floating-label-form-group focus div_ShortCode"> <label for="txtShortCode">Short Code<span class="text-danger"> *</span></label> <input type="text" value="" Id="txtShortCode" maxlength="3" class="form-control required floating-label-control" placeholder="Short Code" data-placeholder="Enter Short Code" data-label="Short Code *" autocomplete="off" /> </div>
</div>
<div class="col-sm-3">
<div class="floating-label-form-group focus div_SuccessPercentage"> <label for="lblSuccPercentage">Success Percentage(%)</label> <input type="text" value="" maxlength="3" min="0" max="100" Id="txtsuccessPercentage" class="form-control floating-label-control" placeholder ="Success Percentage"
data-placeholder=" Enter Success Percentage" data-label="Success Percentage" autocomplete="off" /></div>
</div>
</div>
<div class="row mt-3">
<div class="col-sm-5 col-9"><label for="lblStagestatus" class="font-bold" id="lblWidth">Stage Status <span class="text-danger">*</span></label>
<select id="autocomplete_Stagestatus" class="form-control text-control required" style="width:100%;" placeholder = "Stage Status" data-placeholder="Stage Status" onchange="Unibase.Platform.Apps.Components.Stages.Instance().stagestauschange(` + id + `);"></select>
<input type="hidden" id="hfAutoComplete_Stagestatus" class="hfAutoComplete_Stagestatus' form-control value-control" data-isdynamic="true"/>
</div>
<div class="col-sm-1 col-3 ">
<div class="row">
<div class="col-sm-6 col-6" style="margin-top:30px"><a href="javascript:;" class="stagestatus_Edit_` + id + ` biz-highlight-bg-color" onclick=""><i class="fa fa-pencil icon-muted fa-fw m-r-xs "></i></a></div>
<div class="col-sm-6 col-6" style="margin-top:30px"><a href="javascript:;" class="stagestatus_Delete_` + id + ` text-danger " onclick=""><i class="fa fa-trash fa-fw m-r-xs"></i></a></div>
</div></div>
<div class="col-sm-6"> <label for="lblColor" class="font-bold">Choose Color </label> <select id="Autocomplete_Color" class="form-control value-control" style="width:100%;" placeholder = "Color" data-placeholder="Color" data-istagselect="true" onchange=""/></select>
<input type="hidden" id="hfAutoComplete_Color" class="hfAutoComplete_Color' form-control value-control" data-isdynamic="true"/>
</div>
</div>
</div>
</div>
</div>
<div class="card">
<div class="card-header">Advanced </div>
<div class="card-body">
<div class="row">
<div class="col-sm-12"><div class="col-sm-6 div_isPermissionsExport my-2 pl-0" style="margin-top:30px"><span class="text-dark">Set this Stage as the default on Creation.</span><label class="switch pull-right"><input type="checkbox" id="chk_Isdefault" class="isdefault" ><span></span> </label></div></div>
<div class="col-sm-6"> <label for="lblColor" class="font-bold">Select Form </label> <select id="Autocomplete_Form" class="form-control value-control" style="width:100%;" placeholder = "Form" data-placeholder="Form" data-istagselect="true" onchange=""/></select>
<input type="hidden" id="hfAutoComplete_Form" class="hfAutoComplete_Form' form-control value-control" data-isdynamic="true"/>
</div>
<div class="col-sm-3">
<div class="floating-label-form-group focus div_OverDue floating-label-form-group-with-value"> <label for="txtOverDue">Over Due </label> <input type="text" value="0" Id="txtOverDue" class="form-control required floating-label-control" placeholder="Over Due" data-placeholder="Enter Over Due" data-label="Over Due" autocomplete="off" /> </div>
</div>
<div class="col-sm-3 mb-0 mt-0"> <input type="checkbox" id="chk_IsConclusive" class="chk_IsConclusive" value="" style="margin-top:30px" /> <label class="ml-5">Is Conclusive</label></div>
</div>
<div class="row">
<div class="col-sm-6 div_isPermissionsExport" style="margin-top:30px"><span class="text-dark">Enable Stage Change Reasons</span><label class="switch pull-right"><input type="checkbox" id="reasonmandatory" class="reasonstatus" value=""><span></span> </label></div>
<div class="row IsForwardBackwardreason col-sm-12 mb-0 mt-20 hidden">
<div class="pull-left col-sm-6"> <span class="col-sm-6 p-0"> <input type="checkbox" id="IsForward" class="forwardreasonstatus" value="" /> <label class="ml-5">Enable Forward Reasons</label>
</span> <input type="hidden" id="hf_IsForwardReason" value="" />
</div>
<div class="pull-right col-sm-6"> <span class="col-sm-6"> <input type="checkbox" id="IsBackward" class="backwardreasonstatus" value="" /> <label class="ml-5">Enable Backward Reasons</label> </span> <input type="hidden" id="hf_IsBackwardReason" value="" /> </div>
</div>
<div class="card div_reasons hidden col-sm-12 border-0 shadow-none">
<div class="card-header d-none">Reasons</div>
<div class="card-body">
<div class="row pr-0">
<div class="col-sm-7 pb-1 pl-0"><input type="text" id="txtstagereason" class="form-control" placeholder="Please enter the Reason" autocomplete="off"></div>
<div class="col-sm-2 pb-1">
<select class="form-control" id="drp_ReasonType">
<span class="text-danger">*</span>
<option value=0>-Select-</option>
<option value=1>Forward</option>
<option value=2>Backward</option>
<option value=3>Both</option>
</select>
</div>
<div class="col-sm-1 pb-1"><a class="btn btn-primary text-white ml-10" id="btnAddReason" onclick="Unibase.Platform.Apps.Components.Stages.Instance().SaveReason();">Add</a> </div>
<div class="col-sm-1 pb-1"><a class="btn btn-primary text-white ml-10" id="btnSaveResons" disabled="true" onclick="Unibase.Platform.Apps.Components.Stages.Instance().UpdateReason();">Save</a> </div>
</div>
</div>
<div id="divitems" class="sortable">
<div class="stagereasons"> </div>
</div>
</div>
<div class="row">
<div class='reason-item hidden'></div>
</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_Description" class="form-control value-control floating-label-control" placeholder="Description" data-placeholder="Enter Description" data-label="Description" autocomplete="off"/>
</div>
</div>
</div>
<div class="row hidden">
<div class="col-sm-12">
<table class="table table-striped table-bordered" id="t_headerstages">
<thead>
<tr class="bg-gradient">
<th>Stage Name</th>
<th>ShortCode</th>
<th>StageStatusName</th>
<th>Success Percentage</th>
<th>Color Code</th>
<th></th>
</tr>
</thead>
<tbody id="t_bodystages"></tbody>
</table>
</div>
</div>
</div>
</div>
<div class="bg-white card hidden">
<div class="card-body">
<div class="row">
<div class="col-sm-6">
<div class="form-group"><label for="" class="font-bold" id="lblWidth">Doc Type<span class="text-danger">*</span></label>
<select id="autocomplete_Doctype" class="form-control text-control" style="width:100%;" placeholder = "Stage Updated Table" data-placeholder="StageUpdated Table"></select>
<input type="hidden" id="hfAutoComplete_Doctype" class="hfAutoComplete_Doctype' form-control value-control" data-isdynamic="true"/>
<input type="hidden" id="hf_ViewAll" class="hf_ViewAll" name="ViewAll" data-label="ViewAll" value = 'true' >
<input type="hidden" id="hf_ChangeAll" class="hf_ChangeAll" name="ChangeAll" data-label="ChangeAll" value = 'true' >
</div>
</div>
</div>
</div>
</form>
</section>
<footer class="bg-white footer"> <a href="javascript:;" id="btn_CancelStage_` + containerid + `" class="btn btn-light btn-sm mr-auto">Close</a> <a href="javascript:;" id="btn_SaveStage" class="pull-right btn btn-primary btn-sm">Save</a> </footer>`;
}
load(id, containerid, callback) {
var instance = this;
let installedAppId = instance.appSettings.InstalledAppId;
instance.stageManager.getStages(installedAppId).then(function (response) {
for (let i = 0; i < response.result.length; i++) {
$('#select_defaultStage').append('<option value="' + response.result[i].StageId + '">' + response.result[i].StageName + '</option>');
}
});
$(".stagestatus_Edit_" + id).on("click", function () {
var stagestatusid = Number($("#autocomplete_Stagestatus").val());
if (stagestatusid == -2) {
MessageHelper.Instance().showError('We cant edit this status', "divstageMessage");
}
else {
Unibase.Platform.Apps.Components.StageStatus.Instance().loaddata(stagestatusid, installedAppId);
}
});
$(".stagestatus_Delete_" + id).on("click", function () {
var stagestatusid = Number($("#autocomplete_Stagestatus").val());
if (stagestatusid == -2) {
MessageHelper.Instance().showError('We cant delete this stagestatus', "divstageMessage");
}
else {
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) {
Unibase.Platform.Apps.Components.StageStatus.Instance().DeleteStageStatus(stagestatusid, "divstageMessage", containerid);
}
}
});
}
});
$("#btn_CancelStage_" + containerid).click(function () {
$('#' + containerid).modal('hide');
$('#' + containerid).remove();
});
$("#btn_SaveStage").on("click", function () {
let controlid = "form_Stages";
let result = Unibase.Platform.Forms.Components.FormViewer.Instance().requiredFieldValidation(controlid);
if (result == false) {
MessageHelper.Instance().showError("Mandatory Fields are missing", "divstageMessage");
return false;
}
instance.save(id, installedAppId, containerid);
});
$(".reasonstatus").change(function () {
if ($(this).prop('checked') == true) {
status = "Active";
$(".IsForwardBackwardreason").removeClass("hidden");
$(".div_reasons").removeClass("hidden");
}
else {
$(".IsForwardBackwardreason").addClass("hidden");
$(".div_reasons").addClass("hidden");
}
});
$(".forwardreasonstatus").change(function () {
var status = false;
if ($(this).prop('checked') == true) {
status = true;
}
else {
status = false;
}
});
$(".backwardreasonstatus").change(function () {
var status = false;
if ($(this).prop('checked') == true) {
status = true;
}
else {
status = false;
}
});
instance.stagedata(id, installedAppId);
}
AddStage(id) {
this.navigationHelper.popup(id, '', Unibase.Platform.Apps.Components.Stages.Instance(), null, Platform.Helpers.Size.Auto);
}
stagestauschange(id) {
var instance = this;
let installedAppId = instance.appSettings.InstalledAppId;
var stagestatusid = Number($("#hfAutoComplete_Stagestatus").val());
if (stagestatusid == -2) {
Unibase.Platform.Apps.Components.StageStatus.Instance().loaddata(0, installedAppId);
}
}
stagedata(id, InstalledAppId) {
var instance = this;
Stages.StageReasons = [];
this.appManager.getInstallApp(InstalledAppId).then(function (response) {
var data = response.result;
response.result.InstalledAppId = InstalledAppId;
if (id != 0) {
instance.stageManager.getStage(id).then(function (response) {
$("#p_NewStage").addClass('hidden');
$("#p_EditStage").removeClass('hidden');
$("#btnSaveResons").addClass("hidden");
$("#txtStageName").val(response.result.StageName);
$(".div_StageName").addClass("floating-label-form-group-with-value");
$("#txtShortCode").val(response.result.ShortCode);
$(".div_ShortCode").addClass("floating-label-form-group-with-value");
$("#txtsuccessPercentage").val(response.result.SuccessPercentage);
$(".div_SuccessPercentage").addClass("floating-label-form-group-with-value");
var coloroption = new Option(response.result.ColorCode, response.result.ColorCode, true);
$("#Autocomplete_Color").append(coloroption);
var formoption = new Option(response.result.FormName, response.result.FormId.toString(), true);
$("#Autocomplete_Form").append(formoption);
var option = new Option(response.result.StageStatusName, response.result.StageStatusId.toString());
$("#autocomplete_Stagestatus").append(option);
var doctypeoption = new Option(response.result.StageUpdatedTable, response.result.StageUpdatedTable);
$("#autocomplete_Stagestatus").append(option);
$("#txt_Description").val(response.result.Description);
$("#txtOverDue").val(response.result.OverDue.toString());
$("#autocomplete_Doctype").append(doctypeoption);
$("#hf_ViewAll").val(response.result.ViewAll.toString());
$("#hf_ChangeAll").val(response.result.ChangeAll.toString());
if (response.result.StageUpdatedTable != "null" && response.result.StageUpdatedTable != null && response.result.StageUpdatedTable != "") {
$("#autocomplete_Doctype").attr("disabled", "true");
$("#Autocomplete_DocProperty").attr("disabled", "true");
}
var reasonstatus = response.result.ReasonMandatory;
if (reasonstatus == 1) {
$('#reasonmandatory').prop('checked', true);
$(".IsForwardBackwardreason").removeClass("hidden");
$(".div_reasons").removeClass('hidden');
}
else {
$('#reasonmandatory').prop('checked', false);
$(".IsForwardBackwardreason").addClass("hidden");
$(".div_reasons").addClass('hidden');
}
var forwardstatus = response.result.IsForward;
if (forwardstatus == true) {
$('#IsForward').prop('checked', true);
}
else {
$('#IsForward').prop('checked', false);
}
var backwardstatus = response.result.IsBackward;
if (backwardstatus == true) {
$('#IsBackward').prop('checked', true);
}
else {
$('#IsBackward').prop('checked', false);
}
var isdefault = response.result.IsDefault;
if (isdefault == true) {
$('#chk_Isdefault').prop('checked', true);
}
else {
$('#chk_Isdefault').prop('checked', false);
}
var isconclusive = response.result.IsConclusive;
if (isconclusive == true) {
$('#chk_IsConclusive').prop('checked', true);
}
else {
$('#chk_IsConclusive').prop('checked', false);
}
});
instance.loadReasons(id);
}
let installedAppId = instance.appSettings.InstalledAppId;
var url = _appsettings.server_url() + '/apis/v4/unibase/platform/apps/getcolors';
AutoCompleteHelper.getHelper().Create("#Autocomplete_Color", "#hfAutocomplete_Color", 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/stagestatusautocomplete/appkeyid/' + data.AppKeyId;
AutoCompleteHelper.getHelper().Create("#autocomplete_Stagestatus", "#hfAutoComplete_Stagestatus", url, function (response) {
});
var url = _appsettings.server_url() + '/apis/v4/unibase/platform/doctypes/appdoctypesautocomplete/installedappid/' + installedAppId;
AutoCompleteHelper.getHelper().Create("#autocomplete_Doctype", "#hfAutoComplete_Doctype", url, function (response) {
});
});
}
getDocPropertiesByDoctypeId(doctypeid) {
$("#select_docPoperty").empty();
this.fileCacheHelper.loadJsFile("platform/datasources/managers/doctypemanager.js", function () {
Unibase.Platform.DataSources.Managers.DocTypeManager.Instance().getDocProperties(doctypeid).then(function (response) {
var html = '<option value="select">-Select-</option>';
$("#select_docPoperty").append(html);
for (let i = 0; i < response.result.length; i++) {
$('#select_docPoperty').append('<option value="' + response.result[i].DocPropertyId + '">' + response.result[i].DocPropertyName + '</option>');
}
});
});
}
loadStages(containerid, installedappid) {
$(".div_stages").empty();
var instance = this;
instance.appSettings.InstalledAppId = installedappid;
instance.stageManager.getStages(installedappid).then(function (response) {
let html = '';
if (($(window).width()) < 768) {
html = '<ul class="list-group gutter list-group list-group-sp sortable biz-highlight-bg-color">';
for (var i = 0; i < response.result.length; i++) {
var data = response.result[i];
Stages.Instance().StageUpdatedTable = data.StageUpdatedTable;
$(".span_StagesCount").text(response.result.length);
html += `
<li class="list-group-item ui-sortable-handle biz-highlight-bg-color px-2 py-1" id="">
<div class="row">
<div class="col-8"> <div class="d-flex"> <span class=" media-xs">` + data.StageIndex + `</span>
<div class="col-sm-3"><input type="hidden" id="hfStageid" value=` + data.StageId + `><div class="block" id=""><strong>` + data.StageName + `</strong></div>
<span>Stage : ` + data.StageStatusName + `</span>
<div class=""><span>Progress :` + data.SuccessPercentage + `</span></div>
</div>
</div>
</div>
<div class="col-4">
<div class="">
<div class="col-sm-12 badge badge-soft-` + data.ColorCode + ` w-70p py-2 font-14 text-truncate"><span id="">` + data.ShortCode + `</span></div>
<div class="col-sm-12 ml-auto text-right pr-0">
<div class="dropdown stage-config-dropdown">
<a class="nav-link text-right no-caret btn btn-icon btn-flush-biz-theme btn-rounded flush-soft-hover " href="javascript:;" role="button" data-toggle="dropdown" aria-haspopup="true" aria-expanded="false">
<span class="btn-icon-wrap"><i class="fa fa-ellipsis-h ellipsis-hover-1 " aria-hidden="true"></i></span>
</a>
<div class="dropdown-menu ">
<a href="javascript:;" class="dropdown-item ` + containerid + `" onclick="Unibase.Platform.Apps.Components.StagePermissions.Instance().loadpermissions(` + data.StageId + `)"> Permissions</a>
<a href="javascript:;" class="dropdown-item" onclick="Unibase.Platform.Apps.Components.Stages.Instance().AddStage(` + data.StageId + `);">Edit</a>
<a href="javascript:;" class="dropdown-item" onclick="Unibase.Platform.Apps.Components.Stages.Instance().DeleteStage(` + data.StageId + `,` + installedappid + `,'` + containerid + `');">Delete</a>
</div>
</div>
</div>
</div>
</div>
</div>
</li><br/>`;
}
}
else {
html = '<div class="row ml-75 font-16 font-weight-600 mb-2 biz-highlight-bg-color"> <div class="col-sm-3"> Stage</div><div class="col-sm-2"> Status</div><div class="col-sm-2 text-center">Shortcode</div><div class="col-sm-3 text-center"> Progress (%)</div></div><ul class="list-group gutter list-group list-group-sp sortable">';
for (var i = 0; i < response.result.length; i++) {
var data = response.result[i];
Stages.Instance().StageUpdatedTable = data.StageUpdatedTable;
$(".span_StagesCount").text(response.result.length);
html += `<li class="list-group-item ui-sortable-handle biz-highlight-bg-color" id="">
<div class="row"><span class="pull-left media-xs mr-30"><i class="fa fa-sort text-muted fa mr-10"></i>` + data.StageIndex + `</span>
<div class="col-sm-3"><input type="hidden" id="hfStageid" value=` + data.StageId + `><span class="block" id=""><strong>` + data.StageName + `</strong></span></div>
<div class="col-sm-2"><span>` + data.StageStatusName + `</span></div>
<div class="col-sm-2 mx-auto "><span id="" class="badge badge-soft-` + data.ColorCode + ` w-100p py-2 font-14 text-truncate">` + data.ShortCode + `</span></div>
<div class="col-sm-3 text-center"><span>` + data.SuccessPercentage + ` %</span></div>
<div class="col-sm-1 ml-auto"><div class="dropdown stage-config-dropdown">
<a class="nav-link no-caret btn btn-icon btn-flush-biz-theme btn-rounded flush-soft-hover w-30p h-30p " href="javascript:;" role="button" data-toggle="dropdown" aria-haspopup="true" aria-expanded="false">
<span class="btn-icon-wrap"><i class="fa fa-ellipsis-h ellipsis-hover-1 " aria-hidden="true"></i></span>
</a>
<div class="dropdown-menu ">
<a href="javascript:;" class="dropdown-item ` + containerid + `" onclick="Unibase.Platform.Apps.Components.StagePermissions.Instance().loadpermissions(` + data.StageId + `)"> Permissions</a>
<a href="javascript:;" class="dropdown-item" onclick="Unibase.Platform.Apps.Components.Stages.Instance().AddStage(` + data.StageId + `);">Edit</a>
<a href="javascript:;" class="dropdown-item" onclick="Unibase.Platform.Apps.Components.Stages.Instance().DeleteStage(` + data.StageId + `,` + installedappid + `,'` + containerid + `');">Delete</a>
</div>
</div>
</div>
</div>
</div>
</li><br/>`;
}
}
html += '</ul>';
$(".div_stages").append(html);
if ($.fn.sortable) {
$('.sortable').sortable();
$('.sortable').on("sortupdate", function (event, ui) {
instance.updatestageindex(containerid, installedappid);
});
}
});
}
loadstagereasons() {
$("#ulstagereasons").remove();
var html = '<ul class="list-group gutter list-group-lg list-group-sp sortable" id="ulstagereasons">';
for (var i = 0; i < Stages.StageReasons.length; i++) {
var data = Stages.StageReasons[i];
var reasontype = "";
if (Number(data.ReasonType) == 1) {
reasontype = "Forward";
}
else if (Number(data.ReasonType) == 2) {
reasontype = "Backward";
}
else if (Number(data.ReasonType) == 3) {
reasontype = "Both";
}
html += '<li class="p-2 list-group-item box-shadow reason-item reason-item-addedrow group-item_' + data.StageReasonId + '" data-id=' + i + '>' +
'<input type="hidden" class="stagereasonid" value="' + data.StageReasonId + '"/>' +
'<div class="row Reasonheading align-items-center">' +
'<div class="col-sm-7"><span class="text-dark">' + data.Reason + ' </span></div>' +
'<div class="col-sm-4"><span class="text-dark">' + reasontype + ' </span></div>' +
'<div class="col-sm-1 d-flex align-items-center justify-content-between"><a class=" edit" onclick="Unibase.Platform.Apps.Components.Stages.Instance().UpdateReason(' + i + ',' + data.StageReasonId + ", \'" + data.Reason + "\'" + ',' + Number(data.ReasonType) + ');" title="Edit row"><i class="fa fa-pencil biz-highlight-bg-color"></i></a>' +
'<a class="delete m-l" onclick="Unibase.Platform.Apps.Components.Stages.Instance().DeleteReason(' + data.StageReasonId + ", \'" + data.Reason + "\'" + ',' + Number(data.ReasonType) + '); " title="Remove row"><i class="fa fa-trash-o text-danger"></i></a></div>' +
'</div></li>';
}
html += '</ul>';
$(".stagereasons").html(html);
}
updatestageindex(containerid, installedappid) {
var instance = this;
var ids = "";
var idss = [];
$(".div_stages").find(".list-group-item").each(function () {
var id = $(this).find("#hfStageid").val();
if (id != 0) {
ids += id + ",";
}
});
if (ids != "") {
var postData = {
id: ids
};
instance.stageManager.updateStageIndex(postData).then(function (response) {
if (response.status == 0) {
instance.loadStages(containerid, installedappid);
let VisibleContainerId = Unibase.Platform.Helpers.NavigationHelper.ModalContainerIds[Unibase.Platform.Helpers.NavigationHelper.ModalContainerIds.length - 2];
let ReportId = Unibase.Platform.Helpers.NavigationHelper.reportViewerInstance[Unibase.Platform.Helpers.NavigationHelper.reportViewerInstance.findIndex(x => x.childcontainerid == VisibleContainerId)].instance.ReportId;
Unibase.Platform.Analytics.Components.ReportViewer.Instance().loadFilters(ReportId, VisibleContainerId);
}
});
}
}
loadReasons(stageId) {
var instance = this;
this.stageManager.getStageReasons(stageId).then(function (response) {
var data = response.result;
for (var i = 0; i < data.length; i++) {
var reason = data[i];
Stages.StageReasons.push({
StageReasonId: reason.StageReasonId,
Reason: reason.Reason,
ReasonType: reason.ReasonType
});
}
instance.loadstagereasons();
});
}
save(id, installedAppId, containerid) {
var instance = this;
var reasonstatus = 0;
var isforward = false;
var isbackward = false;
var isdefault = false;
var isconclusive = false;
var stageupdatedtable = "";
if ($('#reasonmandatory').is(':checked') == true) {
reasonstatus = 1;
}
if ($('#IsForward').is(':checked') == true) {
isforward = true;
}
if ($('#IsBackward').is(':checked') == true) {
isbackward = true;
}
if ($('#chk_Isdefault').is(':checked') == true) {
isdefault = true;
}
if ($('#chk_IsConclusive').is(':checked') == true) {
isconclusive = true;
}
var stagestatusid = Number($("#autocomplete_Stagestatus").val());
if (stagestatusid <= 0) {
MessageHelper.Instance().showError("Please Select StageStatus ", "divstageMessage");
return false;
}
var viewAll = Boolean($("#hf_ViewAll").val() == 'true');
var changeAll = Boolean($("#hf_ChangeAll").val() == 'true');
var formid = $("#Autocomplete_Form option:selected").val() == undefined ? 0 : $("#Autocomplete_Form option:selected").val();
let postData = {
StageId: Number(id),
StageName: $("#txtStageName").val(),
ShortCode: $("#txtShortCode").val(),
StageStatusId: Number($("#autocomplete_Stagestatus").val()),
SuccessPercentage: Number($("#txtsuccessPercentage").val()),
InstalledAppId: installedAppId,
ColorCode: $("#Autocomplete_Color option:selected").text(),
IsForward: isforward,
IsBackward: isbackward,
IsDefault: isdefault,
Description: $("#txt_Description").val(),
ReasonMandatory: reasonstatus,
StageUpdatedTable: stageupdatedtable,
StageReason: Stages.StageReasons,
FormId: Number(formid),
IsConclusive: isconclusive,
OverDue: Number($("#txtOverDue").val()),
ViewAll: viewAll,
ChangeAll: changeAll,
};
instance.stageManager.saveStage(postData).then(function (response) {
if (response.status == Unibase.Data.Status.Error) {
MessageHelper.Instance().showError(response.message, "divstageMessage");
}
else {
MessageHelper.Instance().showSuccess(response.message, "divstageMessage");
$('#' + containerid).modal('hide');
$('#' + containerid).remove();
}
instance.loadStages(containerid, installedAppId);
});
}
DeleteStage(id, installedAppId, containerid) {
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) {
instance.stageManager.deleteStage(id).then(function (response) {
if (response.status == Unibase.Data.Status.Error) {
MessageHelper.Instance().showError(response.message, "divstageMessage");
}
else {
MessageHelper.Instance().showSuccess(response.message, "divstageMessage");
}
instance.loadStages(containerid, installedAppId);
});
}
}
});
}
SaveReason() {
var Reason = $("#txtstagereason").val();
$("#btnSaveResons").addClass("hidden");
var reasontype = Number($("#drp_ReasonType").val());
if (reasontype == 0) {
if ($('#IsForward').is(':checked') == true) {
reasontype = 1;
}
if ($('#IsBackward').is(':checked') == true) {
reasontype = 2;
}
if (($('#IsForward').is(':checked') == true) && ($('#IsBackward').is(':checked') == true)) {
reasontype = 3;
}
}
if (Reason == "") {
MessageHelper.Instance().showError("Please enter reason", 'divstageMessage');
}
else if ((Reason != "") && ((($('#IsForward').is(':checked') == false) && ($('#IsBackward').is(':checked') == false)) && (reasontype == 0))) {
MessageHelper.Instance().showError("Please check reason & reason type", 'divstageMessage');
}
else if (Reason != "") {
var existedreason = Stages.StageReasons.filter(e => e.Reason == Reason && e.ReasonType == reasontype);
if (existedreason.length > 0) {
MessageHelper.Instance().showError("Reason with same reason type already exists", 'divstageMessage');
}
else {
Stages.StageReasons.push({
StageReasonId: 0,
Reason: Reason,
ReasonType: reasontype
});
$("#txtstagereason").val('');
$("#drp_ReasonType").val(0);
}
}
this.loadstagereasons();
}
UpdateReason(i, reasonid, reason, reasontype) {
var instance = this;
$("#txtstagereason").val(reason);
Number($("#drp_ReasonType").val(reasontype));
$("#drp_ReasonType").attr('disabled', 'true');
$("#btnAddReason").addClass("hidden");
$("#btnSaveResons").removeClass("hidden");
if (($("#txtstagereason").val()) == "") {
$("#btnAddReason").removeClass("hidden");
$("#drp_ReasonType").removeAttr("disabled");
$("#btnSaveResons").addClass("hidden");
}
$("#txtstagereason").change(function (e) {
e.stopImmediatePropagation();
if (($("#txtstagereason").val()) == "") {
MessageHelper.Instance().showError("Please enter reason", 'divstageMessage');
}
else {
var existedreason = Stages.StageReasons.filter(f => f.Reason == ($("#txtstagereason").val()) && f.ReasonType == reasontype && f.StageReasonId != reasonid);
if (existedreason.length > 0) {
MessageHelper.Instance().showError("Reason with same reason type already exists", 'divstageMessage');
}
else {
Stages.StageReasons[i].Reason = $("#txtstagereason").val();
Unibase.Platform.Apps.Components.Stages.Instance().loadstagereasons();
$("#txtstagereason").val("");
$("#btnAddReason").removeClass("hidden");
$("#btnSaveResons").addClass("hidden");
$("#drp_ReasonType").removeAttr("disabled");
$("#txtstagereason").unbind('change');
$("#drp_ReasonType").val(0);
}
}
return false;
});
}
DeleteReason(StageReasonId, Reason, reasontype) {
var instance = this;
bootbox.confirm({
message: "Are you sure to delete ?",
closeButton: false,
buttons: {
confirm: {
label: 'Yes',
className: 'btn-success'
},
cancel: {
label: 'No',
className: 'btn-defualt'
}
},
callback: function (result) {
if (result) {
if (StageReasonId != 0 && StageReasonId != undefined) {
instance.stageManager.deleteStageReasons(StageReasonId).then(function () {
Stages.StageReasons = $.grep(Stages.StageReasons, function (e) {
return (e.Reason == Reason && e.ReasonType == reasontype);
}, true);
instance.loadstagereasons();
});
}
else {
Stages.StageReasons = $.grep(Stages.StageReasons, function (e) {
return (e.Reason == Reason && e.ReasonType == reasontype);
}, true);
instance.loadstagereasons();
}
}
}
});
}
static Instance() {
if (this.instance === undefined) {
this.instance = new Stages();
}
return this.instance;
}
}
Stages.StageReasons = [];
Components.Stages = Stages;
})(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
@@ -0,0 +1,121 @@
var Unibase;
(function (Unibase) {
let Platform;
(function (Platform) {
let Apps;
(function (Apps) {
let Components;
(function (Components) {
class StageStatus extends Platform.Core.BaseComponent {
constructor() {
super();
this.AppKeyId = 0;
this.appManager = Apps.Managers.AppManager.Instance();
this.stageManager = Apps.Managers.StageManager.Instance();
}
jsFiles() {
return ['/platform/apps/components/stages/stages.js', '/platform/apps/managers/stagemanager.js', '/platform/apps/managers/appmanager.js', 'platform/core/infos/status.js'];
}
cssFiles() {
return [];
}
html(id, containerid) {
return `<header class="header b-b bg-white"> <strong>Create StageStatus</strong> <a class="btn btn-sm btn-icon ml-auto hidden"><i class="ti-help-alt"></i></a> </header> <section class="scrollable"> <div class="clear" id="div_stagestatusMessage"> </div> <form id="form_StageStatus" method="post" data-validate="parsley"> <div class="card"> <div class="card-body"> <div class="row"> <div class="col-sm-6"> <div class="floating-label-form-group focus div_StageStatusName"> <label for="txtStageStatusName">StageStatusName<span class="text-danger"> *</span></label> <input type="text" Id="txtStageStatusName" value="" class="form-control" placeholder="StageStatusName" autocomplete="off" required /> </div> </div> <div class="col-sm-6"> <div class="floating-label-form-group focus div_RefStatus"> <label for="txtRefStatus">RefStatus<span class="text-danger"> *</span></label> <input type="text" value="" Id="txtRefStatus" maxlength="2" class="form-control " placeholder="RefStatus" autocomplete="off" required/> </div></div></div> </section> <footer class="bg-white footer"> <a href="javascript:;" id="btn_CancelStageStatus" class="btn btn-light btn-sm mr-auto">Close</a> <a href="javascript:;" id="btn_SaveStageStatus" class="pull-right btn btn-primary btn-sm">Save</a> </footer>`;
}
load(id, containerid, callback) {
var instance = this;
var installedappid = instance.appSettings.InstalledAppId;
$("#btn_CancelStageStatus").click(function () {
$('#' + containerid).modal('hide');
$('#' + containerid).remove();
});
$("#btn_SaveStageStatus").click(function () {
let controlid = "form_StageStatus";
let result = Unibase.Platform.Forms.Components.FormViewer.Instance().requiredFieldValidation(controlid);
if (result == false) {
MessageHelper.Instance().showError("Mandatory Fields are missing", "div_stagestatusMessage");
return false;
}
instance.savestagestatus(id, installedappid, containerid);
});
$('#txtRefStatus').addClass('numberonly');
$('.numberonly').keypress(function (event) {
if ((event.which > 47 && event.which < 58)) {
}
else {
event.preventDefault();
}
}).on('paste', function (event) {
event.preventDefault();
});
instance.AddStageStatus(id);
}
loaddata(id, installedAppId) {
var instance = this;
this.appSettings.InstalledAppId = installedAppId;
this.navigationHelper.popup(id, '', Unibase.Platform.Apps.Components.StageStatus.Instance(), null, Platform.Helpers.Size.Auto);
}
AddStageStatus(id) {
if (id != 0) {
this.stageManager.getStageStatus(id).then(function (response) {
$("#txtStageStatusName").val(response.result.StageStatusName);
$("#txtRefStatus").val(response.result.RefStatusId);
});
}
}
DeleteStageStatus(id, message, containerid) {
var instance = this;
instance.stageManager.deleteStageStatus(id).then(function (response) {
if (response.status == Unibase.Data.Status.Error) {
MessageHelper.Instance().showError(response.message, message);
}
else {
$('#' + containerid).modal('hide');
$('#' + containerid).remove();
}
});
}
loadStageStatus(AppKeyId) {
var instance = this;
instance.stageManager.getStageStatuses(AppKeyId).then(function (response) {
});
}
savestagestatus(id, installedappid, containerid) {
var instance = this;
var appkeyid = 0;
this.appManager.getInstallApp(installedappid).then(function (response) {
appkeyid = response.result.AppKeyId;
}).then(function () {
let postData = {
StageStatusName: $("#txtStageStatusName").val(),
StageStatusId: Number(id),
RefStatusId: Number($("#txtRefStatus").val()),
AppKeyId: appkeyid,
};
instance.stageManager.saveStageStatus(postData).then(function (response) {
if (response.status == Unibase.Data.Status.Error) {
MessageHelper.Instance().showError(response.message, "div_stagestatusMessage");
return false;
}
else {
MessageHelper.Instance().showSuccess(response.message, "div_stagestatusMessage");
$('#' + containerid).modal('hide');
$('#' + containerid).remove();
}
instance.AppKeyId = appkeyid;
instance.loadStageStatus(appkeyid);
});
});
}
static Instance() {
if (this.instance === undefined) {
this.instance = new StageStatus();
}
return this.instance;
}
}
Components.StageStatus = StageStatus;
})(Components = Apps.Components || (Apps.Components = {}));
})(Apps = Platform.Apps || (Platform.Apps = {}));
})(Platform = Unibase.Platform || (Unibase.Platform = {}));
})(Unibase || (Unibase = {}));
@@ -0,0 +1 @@
{"version":3,"file":"stagestatus.js","sourceRoot":"","sources":["stagestatus.ts"],"names":[],"mappings":"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"}
+1
View File
@@ -0,0 +1 @@
var Unibase;(function(n){let t;(function(t){let i;(function(i){let r;(function(r){class u extends t.Core.BaseComponent{constructor(){super();this.AppKeyId=0;this.appManager=i.Managers.AppManager.Instance();this.stageManager=i.Managers.StageManager.Instance()}jsFiles(){return["/platform/apps/components/stages/stages.js","/platform/apps/managers/stagemanager.js","/platform/apps/managers/appmanager.js","platform/core/infos/status.js"]}cssFiles(){return[]}html(){return`<header class="header b-b bg-white"> <strong>Create StageStatus</strong> <a class="btn btn-sm btn-icon ml-auto hidden"><i class="ti-help-alt"></i></a> </header> <section class="scrollable"> <div class="clear" id="div_stagestatusMessage"> </div> <form id="form_StageStatus" method="post" data-validate="parsley"> <div class="card"> <div class="card-body"> <div class="row"> <div class="col-sm-6"> <div class="floating-label-form-group focus div_StageStatusName"> <label for="txtStageStatusName">StageStatusName<span class="text-danger"> *</span></label> <input type="text" Id="txtStageStatusName" value="" class="form-control" placeholder="StageStatusName" autocomplete="off" required /> </div> </div> <div class="col-sm-6"> <div class="floating-label-form-group focus div_RefStatus"> <label for="txtRefStatus">RefStatus<span class="text-danger"> *</span></label> <input type="text" value="" Id="txtRefStatus" maxlength="2" class="form-control " placeholder="RefStatus" autocomplete="off" required/> </div></div></div> </section> <footer class="bg-white footer"> <a href="javascript:;" id="btn_CancelStageStatus" class="btn btn-light btn-sm mr-auto">Close</a> <a href="javascript:;" id="btn_SaveStageStatus" class="pull-right btn btn-primary btn-sm">Save</a> </footer>`}load(t,i){var r=this,u=r.appSettings.InstalledAppId;$("#btn_CancelStageStatus").click(function(){$("#"+i).modal("hide");$("#"+i).remove()});$("#btn_SaveStageStatus").click(function(){let f=n.Platform.Forms.Components.FormViewer.Instance().requiredFieldValidation("form_StageStatus");if(f==!1)return MessageHelper.Instance().showError("Mandatory Fields are missing","div_stagestatusMessage"),!1;r.savestagestatus(t,u,i)});$("#txtRefStatus").addClass("numberonly");$(".numberonly").keypress(function(n){n.which>47&&n.which<58||n.preventDefault()}).on("paste",function(n){n.preventDefault()});r.AddStageStatus(t)}loaddata(i,r){var u=this;this.appSettings.InstalledAppId=r;this.navigationHelper.popup(i,"",n.Platform.Apps.Components.StageStatus.Instance(),null,t.Helpers.Size.Auto)}AddStageStatus(n){n!=0&&this.stageManager.getStageStatus(n).then(function(n){$("#txtStageStatusName").val(n.result.StageStatusName);$("#txtRefStatus").val(n.result.RefStatusId)})}DeleteStageStatus(t,i,r){var u=this;u.stageManager.deleteStageStatus(t).then(function(t){t.status==n.Data.Status.Error?MessageHelper.Instance().showError(t.message,i):($("#"+r).modal("hide"),$("#"+r).remove())})}loadStageStatus(n){var t=this;t.stageManager.getStageStatuses(n).then(function(){})}savestagestatus(t,i,r){var f=this,u=0;this.appManager.getInstallApp(i).then(function(n){u=n.result.AppKeyId}).then(function(){let i={StageStatusName:$("#txtStageStatusName").val(),StageStatusId:Number(t),RefStatusId:Number($("#txtRefStatus").val()),AppKeyId:u};f.stageManager.saveStageStatus(i).then(function(t){if(t.status==n.Data.Status.Error)return MessageHelper.Instance().showError(t.message,"div_stagestatusMessage"),!1;MessageHelper.Instance().showSuccess(t.message,"div_stagestatusMessage");$("#"+r).modal("hide");$("#"+r).remove();f.AppKeyId=u;f.loadStageStatus(u)})})}static Instance(){return this.instance===undefined&&(this.instance=new u),this.instance}}r.StageStatus=u})(r=i.Components||(i.Components={}))})(i=t.Apps||(t.Apps={}))})(t=n.Platform||(n.Platform={}))})(Unibase||(Unibase={}));