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 Automation; (function (Automation) { let Components; (function (Components) { class RuleProvider extends Platform.Core.BaseComponent { jsFiles() { var jsfiles = ["platform/automation/managers/rulemanager.js", "platform/datasources/managers/doctypemanager.js", "platform/automation/requests/ruleprovider.js", "platform/analytics/managers/reportmanager.js", "platform/forms/managers/formmanager.js", "platform/automation/components/rulebuilder/rulebuilder.ruleprovider.js", "platform/forms/components/formviewer/formviewer.js", "libs/parsley/parsley.min.js", "platform/apps/managers/appmanager.js" ]; return jsfiles; } cssFiles() { return []; } html(id, containerid) { let html = `
Create RuleProvider
RuleProvider Details
`; return html; } load(id, containerid, callback) { if (id != "") { Unibase.Platform.Automation.Components.RuleProvider.Instance().EditRuleProvider(id); } $("#btnCloseRuleProvider").click(function () { $('#' + containerid).modal('hide'); $('#' + containerid).remove(); }); $("#btnSaveRuleProvider").click(function () { let appcontrolid = "frmUnibase_RuleProvider"; let result = Unibase.Platform.Forms.Components.FormViewer.Instance().requiredFieldValidation(appcontrolid); if (result == false) { MessageHelper.Instance().showError("Mandatory fields are missing", "Validate_RuleProvider"); return false; } else { Unibase.Platform.Automation.Components.RuleProvider.Instance().SaveRuleProvider(id, containerid); } }); var url = _appsettings.server_url() + '/apis/v4/unibase/platform/apps/installedappautocomplete'; AutoCompleteHelper.getHelper().Create("#txtAutocomplete_InstalledApp", "#hf_Autocomplete_InstalledApp", url, function (response) { var data = response; }); var url = _appsettings.server_url() + '/apis/v4/unibase/platform/analytics/reports'; AutoCompleteHelper.getHelper().Create("#txtAutoComplete_Report", "#hf_AutoComplete_Report", url, function (response) { var data = response; }); $("#txtAutocomplete_InstalledApp").change(function () { Unibase.Platform.Automation.Components.RuleProvider.Instance().OnChangeInstalledApp(); }); $("#txtAutoComplete_Report").change(function () { Unibase.Platform.Automation.Components.RuleProvider.Instance().OnChangeReport(); }); $("#txtAutoComplete_Doctypes").change(function () { Unibase.Platform.Automation.Components.RuleProvider.Instance().OnChangeDoctype(); }); } init(ruleproviderid, callback) { this.render(ruleproviderid, callback); } render(ruleproviderid, callback) { this.navigationHelper.popup(ruleproviderid, '', Unibase.Platform.Automation.Components.RuleProvider.Instance(), null, Platform.Helpers.Size.DockLeft); } loadRuleProviderForm(iscreate) { var Pk_Value = 0; if (!iscreate) { Pk_Value = Unibase.Themes.Providers.DetailHelper.recordId; } this.navigationHelper.popup(Pk_Value, '', Unibase.Platform.Automation.Components.RuleProvider.Instance(), null, Platform.Helpers.Size.DockLeft); } ToggleReports() { $("#ReportDetailDiv").removeClass("hidden"); $("#DoctypeColumn").removeClass("hidden"); } EditRuleProvider(id) { let ruleproviderid = Number(id); $("#Form_RuleProvider").text("Edit RuleProvider"); Unibase.Platform.Automation.Managers.RuleManager.Instance().getRuleProvider(ruleproviderid).then(function (response) { $("#txt_RuleProvider").val(response.RuleProviderName); var installedappoption = new Option(response.AppTitle, response.InstalledAppId.toString(), true, true); $("#txtAutocomplete_InstalledApp").append(installedappoption); Unibase.Platform.Automation.Components.RuleProvider.Instance().OnChangeInstalledApp().then(function () { var doctypeoption = new Option(response.DoctypeName, response.DoctypeId.toString(), true, true); $("#txtAutoComplete_Doctypes").append(doctypeoption); Unibase.Platform.Automation.Components.RuleProvider.Instance().OnChangeDoctype().then(function () { var doctypecolumnoption = new Option(response.DocPropertyName, response.DocPropertyId.toString(), true, true); $("#txtAutoComplete_DoctypeColumn").append(doctypecolumnoption); }); }); if (response.ReportId != 0) { $("#ReportDetailDiv").removeClass("hidden"); $("#DoctypeColumn").removeClass("hidden"); var reportoption = new Option(response.ReportName, response.ReportId.toString(), true, true); $("#txtAutoComplete_Report").append(reportoption); Unibase.Platform.Automation.Components.RuleProvider.Instance().OnChangeReport().then(function () { var reportcolumnoption = new Option(response.ReportColumnName, response.ReportColumnId.toString(), true, true); $("#txtAutoComplete_ReportColumn").append(reportcolumnoption); }); } eval('_floatingLabelHelper.init();'); }); } OnChangeInstalledApp() { return __awaiter(this, void 0, void 0, function* () { $("#txtAutoComplete_Doctypes").val(0); if (Number($("#txtAutocomplete_InstalledApp option:selected").val() != 0)) { var url = _appsettings.server_url() + '/apis/v4/unibase/platform/doctypes/appdoctypesautocomplete/installedappid/' + Number($("#txtAutocomplete_InstalledApp option:selected").val()); return yield AutoCompleteHelper.getHelper().Create("#txtAutoComplete_Doctypes", "#hf_Autocomplete_Doctypes", url, function (response) { var data = response; }); } }); } OnChangeDoctype() { return __awaiter(this, void 0, void 0, function* () { $("#txtAutoComplete_DoctypeColumn").val(0); if (Number($("#txtAutoComplete_Doctypes option:selected").val() != 0)) { var url = _appsettings.server_url() + '/apis/v4/unibase/platform/doctypes/docpropertiesautocomplete/doctypeid/' + Number($("#txtAutoComplete_Doctypes option:selected").val()); return yield AutoCompleteHelper.getHelper().Create("#txtAutoComplete_DoctypeColumn", "#hf_AutoComplete_DoctypeColumn", url, function (response) { var data = response; }); } }); } OnChangeReport() { return __awaiter(this, void 0, void 0, function* () { $("#txtAutoComplete_ReportColumn").val(0); if (Number($("#txtAutoComplete_Report option:selected").val() != 0)) { var reportcolumnurl = _appsettings.server_url() + '/apis/v4/unibase/platform/analytics/reportcolumnsautocomplete/reportid/' + Number($("#txtAutoComplete_Report option:selected").val()); return yield AutoCompleteHelper.getHelper().Create("#txtAutoComplete_ReportColumn", "#hf_AutoComplete_ReportColumn", reportcolumnurl, function (response) { var data = response; }); } }); } SaveRuleProvider(id, containerid) { let model = new Unibase.Platform.Automation.Requests.RuleProvider(); model.RuleProviderId = Number(id); model.RuleProviderName = $("#txt_RuleProvider").val().toString(); model.InstalledAppId = Number($("#txtAutocomplete_InstalledApp option:selected").val()); model.DoctypeId = Number($("#txtAutoComplete_Doctypes option:selected").val()); model.DocPropertyId = Number($("#txtAutoComplete_DoctypeColumn option:selected").val()); model.ReportId = Number($("#txtAutoComplete_Report option:selected").val()); model.ReportColumnId = Number($("#txtAutoComplete_ReportColumn option:selected").val()); Automation.Managers.RuleManager.Instance().saveRuleProvider(model).then(function (response) { if (response.status == Unibase.Data.Status.Error) { MessageHelper.Instance().showError(response.message, "Validate_RuleProvider"); } else { MessageHelper.Instance().showSuccess(response.message, "Validate_RuleProvider"); $('#' + containerid).modal('hide'); $('#' + containerid).remove(); Unibase.Platform.Helpers.NavigationHelper.Instance().loadList(Unibase.Platform.Automation.Components.RuleProvider.installedappid, null); } }); } loadForm(FormId, Pk_Value, AppConfigurationId, Callback, ElementId) { RuleProvider.Instance().init(Pk_Value, null); Unibase.Platform.Apps.Managers.AppManager.Instance().getAppConfiguration(AppConfigurationId).then(function (response) { Unibase.Platform.Automation.Components.RuleProvider.installedappid = response.result.InstalledAppId; }); } exportsRuleProviders() { var instance = this; Unibase.Platform.Helpers.FileCacheHelper.Instance().loadJsFile("platform/automation/managers/rulemanager.js", function () { Unibase.Platform.Automation.Managers.RuleManager.Instance().exportRuleProiders().then(function (response) { var filename = "RuleProiders.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(); }); }); } exportsSingleRuleProvider() { var ruleproviderid = 0; var instance = this; if (Unibase.Themes.Providers.Detail_Settings.Instance().InputParameters.length > 0) { for (let obj of Unibase.Themes.Providers.Detail_Settings.Instance().InputParameters) { if (obj.Key === "hf_" + Unibase.Themes.Providers.DetailHelper.installedAppId + "_recordid") { ruleproviderid = Number(obj.Value); } } } Unibase.Platform.Helpers.FileCacheHelper.Instance().loadJsFile("platform/automation/managers/rulemanager.js", function () { Unibase.Platform.Automation.Managers.RuleManager.Instance().exportSingleRuleProiders(ruleproviderid).then(function (response) { var filename = "RuleProiders.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(); }); }); } static Instance() { if (this.instance === undefined) { this.instance = new RuleProvider(); } return this.instance; } } Components.RuleProvider = RuleProvider; })(Components = Automation.Components || (Automation.Components = {})); })(Automation = Platform.Automation || (Platform.Automation = {})); })(Platform = Unibase.Platform || (Unibase.Platform = {})); })(Unibase || (Unibase = {}));