123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235 |
- 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 = {}));
|