123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359 |
- 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 Notifications extends Platform.Core.BaseComponent {
- constructor() {
- super(...arguments);
- this.InstalledAppId = 0;
- this.RuleId = 0;
- this.RuleActions = [];
- }
- cssFiles() {
- return [
- "libs/jquery-ui-slider-pips/jquery-ui-slider-pips.css",
- "libs/jquery-ui-slider-pips/Custom-slider-ui-pips.css",
- ];
- }
- jsFiles() {
- return [
- "libs/jquery-ui-slider-pips/jquery-ui-slider-pips.js",
- "/platform/automation/managers/rulemanager.js", "/platform/automation/enums/executeactionstatus.js", "/platform/automation/components/actions/actions.notification.js", "/platform/automation/components/notifications.contactselection.js", "/platform/automation/components/externalrecipients.js", "/platform/automation/requests/ruleaction.js", "/platform/automation/components/conditions.js", "platform/automation/managers/notificationgroupmanager.js"
- ];
- }
- html(id, containerid) {
- var instance = this;
- instance.InstalledAppId = instance.appSettings.InstalledAppId;
- let html = `<header class="bg-white shadow-bottom modal-header px-2" id="notificationRuleHeader">
- <div class="text-dark text-left py-2 font-weight-600"><span class="portletName font-16">Notifications</span>
- </div>
- </header>
- <section data-simplebar class="simple-scroll-bar scrollable">
- <div class="clear" id="message">
- </div>
- <div class="tab-content row mt-n mt-0" id="tabs">
- <div class="tab-pane w-100 active" id="rules">
- <div id="div_rules" class="card">
- <input type="hidden" id="hf_NotificationGroupId" value="" />
- <div class="card-body py-1 px-4">
- <div class="ruleslist-div text-body">
- </div>
- </div>
- </div>
- </div>
- </div>
- </div>
- </section>
- <footer class="bg-white footer ft_notifications">
- <a href="javascript:;" id="btn_notificationsClose_` + containerid +
- `" class="btn btn-light btn-sm mr-auto btn-close">Close</a>
- </footer>`;
- return html;
- }
- load(id, containerid, callback) {
- var instance = this;
- instance.loadNotificationRules();
- }
- init() {
- var instance = this;
- this.navigationHelper.popup(0, "", instance, null, Platform.Helpers.Size.Large);
- }
- loadNotificationRules() {
- var instance = this;
- Unibase.Platform.Automation.Managers.NotificationGroupManager.Instance().GetNotificationGroups().then(function (response) {
- var data = response;
- var html = "<center class='mt-3 ml-5 mb-3' style='font-size:20px'>No Data</center>";
- var data = response;
- if (data.length > 0) {
- Unibase.Platform.Automation.Managers.RuleManager.Instance().getRuleActionsByInstalledApp(instance.InstalledAppId).then(function (responsedata) {
- Unibase.Platform.Automation.Components.Notifications.Instance().RuleActions = responsedata;
- });
- html = "";
- data = data.sort((a, b) => a.Index - b.Index);
- for (var i = 0; i < data.length; i++) {
- var NotificationGroupId = data[i].NotificationGroupId;
- var NotificationGroupName = data[i].NotificationGroupName;
- html += "<section class='no-border Role-panel clearfix notificationgroupid-" + NotificationGroupId + "' >" +
- "<header class='panel-heading border-dark ruleHeader'>" +
- "<div class='d-flex align-items-center w-100 border-bottom'><a class='list-group w-100' href='javascript:;' onclick='Unibase.Platform.Automation.Components.Notifications.Instance().loadRuleActions(" + NotificationGroupId + ")' class='panel-toggle text-muted sliderdiv2'><div class='d-flex align-items-center justify-content-between my-10 biz-highlight-bg-color'><span class='list-item-main-title'>" + NotificationGroupName + "</span>" + "<span><i class='fa fa-chevron-up d-none pull-right biz-highlight-bg-color' id='up_notificationgroupid_" + NotificationGroupId + "'></i><i class='fa fa-chevron-down pull-right' id='down_notificationgroupid_" + NotificationGroupId + "'></i></span></div></a></div></header>" + "<div id='panelId-" + NotificationGroupId + "' class='bg-white collapse'></div>" + "<div class='sliderdiv mr-10'>" + "</div>" + "</section>";
- }
- }
- $(".ruleslist-div").append(html);
- });
- }
- loadRuleActions(NotificationGroupId) {
- var collapsed = $("#panelId-" + NotificationGroupId).hasClass("collapse");
- if (!collapsed) {
- $("#panelId-" + NotificationGroupId).addClass("collapse");
- $(".notificationgroupid-" + NotificationGroupId).find("#down_notificationgroupid_" + NotificationGroupId).removeClass("d-none");
- $(".notificationgroupid-" + NotificationGroupId).find("#up_notificationgroupid_" + NotificationGroupId).addClass("d-none");
- }
- else {
- $(".notificationgroupid-" + NotificationGroupId).find("#up_notificationgroupid_" + NotificationGroupId).removeClass("d-none");
- $(".notificationgroupid-" + NotificationGroupId).find("#down_notificationgroupid_" + NotificationGroupId).addClass("d-none");
- $("#panelId-" + NotificationGroupId).removeClass("collapse");
- $(".notificationgroupid-" + NotificationGroupId).find(".sliderDetails").remove();
- }
- var html = "<center class='mt-3 ml-5 mb-3' style='font-size:15px'>No Data</center>";
- var data = Unibase.Platform.Automation.Components.Notifications.Instance().RuleActions.filter(x => x.NotificationGroupId == NotificationGroupId);
- if (data.length > 0) {
- html = "";
- for (var i = 0; i < data.length; i++) {
- var ruleName = data[i].RuleActionName;
- var actionType = data[i].ActionName;
- var ruleactionid = data[i].RuleActionId;
- var executestatus = data[i].ExecuteStatusId;
- var Bodyonclick = "onclick='Unibase.Platform.Automation.Components.Notifications.Instance().editMessageBody(" + ruleactionid + ")'";
- var Recipientonclick = "onclick='Unibase.Platform.Automation.Components.Notifications.Instance().EditRuleActions(" + ruleactionid + ")'";
- var styleclass = "";
- var isChecked;
- if (executestatus == 2) {
- isChecked = "checked";
- }
- else {
- isChecked = "";
- }
- if (actionType == "Stage Change" || actionType == "Api Integrator" || actionType == "Execute Query") {
- Bodyonclick = "", Recipientonclick = "";
- styleclass = "text-light";
- }
- html += "<div class='d-flex align-items-center text-dark mt-2 font-14 ruleaction-Row border-bottom' id='ruleaction_" + ruleactionid + "'><div class=' d-flex flex-row align-items-center " + ruleactionid + " w-60 w-sm-80 p-0'><span class='ruleactionid -" + ruleactionid + " font-24 mx-2' data-actionType='" + actionType + "' data-tooltip='true' title='" + actionType + "'>";
- if (actionType.toLowerCase().includes('email')) {
- html += '<i class="la la-envelope"></i>';
- }
- else if (actionType.toLowerCase().includes('task')) {
- html += '<i class="la la-tasks"></i>';
- }
- else if (actionType.toLowerCase().includes('change')) {
- html += '<i class="la la-sync"></i>';
- }
- else if (actionType.toLowerCase().includes('send')) {
- html += '<i class="la la-share"></i>';
- }
- html += "</span><span>" + ruleName + "</span></div><div class='w-40 w-sm-20 d-flex justify-content-between'><div class='" + ruleactionid + " '><a class='nav-link no-caret btn btn-icon btn-flush-biz-theme btn-rounded flush-soft-hover w-30p h-30p reportview-remove-none ml-1' " + Bodyonclick + " href='javascript:;' role='button' data-toggle='dropdown' aria-haspopup='true' aria-expanded='false' data-tooltip='true' title='Edit Message'><span class='btn-icon-wrap'><i class='la la-pencil font-20 ellipsis-hover-1 " + styleclass + "'></i></span></a></div><div class='" + ruleactionid + "'><a class='nav-link no-caret btn btn-icon btn-flush-biz-theme btn-rounded flush-soft-hover w-30p h-30p reportview-remove-none ml-1' " + Recipientonclick + " href='javascript:;' role='button' data-toggle='dropdown' aria-haspopup='true' aria-expanded='false' data-tooltip='true' title='Edit Rule Action'><span class='btn-icon-wrap'><i class='la la-user font-20 ellipsis-hover-1 " + styleclass + "'></i></span></a></div><div class='" + ruleactionid + "' > <label class='switch mb-0' > <input id='chk_" + ruleactionid + "' type = 'checkbox' " + isChecked + " onChange = 'Unibase.Platform.Automation.Components.Notifications.Instance().ChangeRuleActionStatus(" + ruleactionid + ")' / > <span class='slider round' > </span></label > </div></div > </div><div class='edit_ruleactions' id='edit_ruleactions_" + ruleactionid + "'></div > ";
- }
- }
- $("#panelId-" + NotificationGroupId).html(html);
- }
- closeRuleActions(ruleactionid, response, Textdiv) {
- if (!Textdiv) {
- $("#SelectRoleDiv_" + ruleactionid).remove();
- }
- else {
- $("#MessageDiv_" + ruleactionid).remove();
- }
- let index = Unibase.Platform.Automation.Components.Notifications.Instance().RuleActions.findIndex(x => x.RuleActionId == ruleactionid);
- Unibase.Platform.Automation.Components.Notifications.Instance().RuleActions[index] = response;
- }
- closeActions(RuleActionId, textdiv) {
- $('#ruleaction_' + RuleActionId).addClass('border-bottom');
- ;
- if (textdiv) {
- $("#MessageDiv_" + RuleActionId).addClass('d-none');
- }
- else {
- $("#SelectRoleDiv_" + RuleActionId).addClass('d-none');
- }
- }
- editMessageBody(RuleActionId) {
- var data = Unibase.Platform.Automation.Components.Notifications.Instance().RuleActions.find(x => x.RuleActionId == RuleActionId);
- $("#ruleaction_" + RuleActionId).removeClass("border-bottom");
- var html = "<div class='bg-white border shadow card mt-2 text-dark w-100' id='MessageDiv_" + RuleActionId + "'><div class='card-body border-bottom p-2'><div class='MessageSelection_" + RuleActionId + " w-100'></div><div class='card-body border-0 p-0'><div class=''><div class=''><div id='div_Subject' class='floating-label-form-group'><span for='lbl_MessageSubject' id ='lbl_MessageSubject' class='ml-1'> Subject <span class='text-danger'> * </span></span><div class='input-group'><input type='text' id='txtNotifications_MessageSubject_" + RuleActionId + "' class='col-sm-9 form-control value-control required floating-label-control mr-20' data-placeholder='Enter Subject' placeholder='Subject *' data-label='Subject *' ><select id='ddl_SubjectTokens_" + RuleActionId + "' class='col-sm-3 form-control value-control'><option value='0'> Select Token </option></select></div></div></div></div><div class='mt-3 mb-2'><div class='w-100'><div id='div_Body' class='floating-label-form-group'><label for= 'lbl_MessageBody' id='lbl_MessageBody' class='ml-1'> Body <span class='text-danger'> * </span></label><div class='textarea input-group align-items-end'><textarea id='txtNotifications_MessageBody_" + RuleActionId + "' class='form-control value-control required floating-label-control w-50 notifi-autoSize h-100p mr-20' placeholder='Body * ' data-placeholder='Notification Body' data-label='Body *'></textarea><select id='ddl_BodyTokens_" + RuleActionId + "' class='col-sm-3 form-control value-control'><option value='0'> Select Token </option></select></div></div></div></div></div></div><div class='bg-white card-footer px-2 border-0 footer' id='CreateNotificationFooter'><a href = 'javascript:;' id='btnCloseNotification' class='btn btn-light btn-sm mr-auto' onclick='Unibase.Platform.Automation.Components.Notifications.Instance().closeActions(" + RuleActionId + ",true)'>Close</a> <a href = 'javascript:;' id='btnSaveNotification' class='btn btn-primary btn-sm' onclick = 'Unibase.Platform.Automation.Components.Notifications.Instance().SaveNotificationAction(" + RuleActionId + ",true)'> Save </a></div></div>";
- $("#edit_ruleactions_" + RuleActionId).html(html);
- var RuleProviderId = data.RuleProviderId;
- $('#txtNotifications_MessageSubject_' + RuleActionId).val(data.BString1);
- $("#txtNotifications_MessageBody_" + RuleActionId).val(data.BString2);
- $("#ddl_SubjectTokens_" + RuleActionId).change(function () {
- var textAreaTxt = $("#txtNotifications_MessageSubject_" + RuleActionId).val().toString();
- var txtToAdd = '{{' + $("#ddl_SubjectTokens_" + RuleActionId + " option:selected").text() + '}}';
- var firsttext = textAreaTxt.slice(0, Notifications.Instance().tokenposition);
- var lasttext = textAreaTxt.slice(Notifications.Instance().tokenposition, textAreaTxt.length);
- $("#txtNotifications_MessageSubject_" + RuleActionId).val(firsttext + txtToAdd + lasttext);
- $("#ddl_SubjectTokens_" + RuleActionId).val(0);
- });
- $("#ddl_BodyTokens_" + RuleActionId).change(function (event) {
- var textAreaTxt = $("#txtNotifications_MessageBody_" + RuleActionId).val().toString();
- var txtToAdd = '{{' + $("#ddl_BodyTokens_" + RuleActionId + " option:selected").text() + '}}';
- var firsttext = textAreaTxt.slice(0, Notifications.Instance().tokenposition);
- var lasttext = textAreaTxt.slice(Notifications.Instance().tokenposition, textAreaTxt.length);
- $("#txtNotifications_MessageBody_" + RuleActionId).val(firsttext + txtToAdd + lasttext);
- $("#ddl_BodyTokens_" + RuleActionId).val(0);
- });
- $("#txtNotifications_MessageBody_" + RuleActionId).focusout(function (event) {
- Notifications.Instance().tokenposition = event["target"]["selectionStart"];
- });
- $("#txtNotifications_MessageSubject_" + RuleActionId).focusout(function (event) {
- Notifications.Instance().tokenposition = event["target"]["selectionStart"];
- });
- if (RuleActionId != 0 && RuleProviderId != 0) {
- Unibase.Platform.Automation.Components.Notifications.Instance().LoadMsgSubjectTokens(RuleProviderId, RuleActionId);
- Unibase.Platform.Automation.Components.Notifications.Instance().LoadMsgBodyTokens(RuleProviderId, RuleActionId);
- }
- }
- LoadMsgSubjectTokens(ruleproviderid, ruleactionid) {
- Unibase.Platform.Automation.Managers.RuleManager.Instance().getTokens(ruleproviderid).then(function (response) {
- let cmbConditionProperties = document.getElementById('ddl_SubjectTokens_' + ruleactionid);
- $('#ddl_SubjectTokens_' + ruleactionid).empty();
- var defaultOpt1 = document.createElement("option");
- defaultOpt1.text = "Select Token";
- defaultOpt1.value = "0";
- cmbConditionProperties.appendChild(defaultOpt1);
- for (let i = 0; i <= response.length - 1; i++) {
- var opt = document.createElement("option");
- opt.text = response[i];
- opt.value = (i + 1).toString();
- cmbConditionProperties.appendChild(opt);
- }
- });
- }
- LoadExternalreports(ruleactionid) {
- var url = _appsettings.server_url() + '/apis/v4/unibase/platform/analytics/reports';
- AutoCompleteHelper.getHelper().Create("#txtAutoComplete_ReportsExternal_" + ruleactionid, "#hf_Autocomplete_ReportsExternal", url, function (response) {
- var data = response;
- });
- }
- LoadMsgBodyTokens(ruleproviderid, ruleactionid) {
- Unibase.Platform.Automation.Managers.RuleManager.Instance().getTokens(ruleproviderid).then(function (response) {
- let cmbConditionProperties = document.getElementById('ddl_BodyTokens_' + ruleactionid);
- $('#ddl_BodyTokens_' + ruleactionid).empty();
- var defaultOpt1 = document.createElement("option");
- defaultOpt1.text = "Select Token";
- defaultOpt1.value = "0";
- cmbConditionProperties.appendChild(defaultOpt1);
- for (let i = 0; i <= response.length - 1; i++) {
- var opt = document.createElement("option");
- opt.text = response[i];
- opt.value = (i + 1).toString();
- cmbConditionProperties.appendChild(opt);
- }
- });
- }
- EditRuleActions(RuleActionId) {
- return __awaiter(this, void 0, void 0, function* () {
- var data = Unibase.Platform.Automation.Components.Notifications.Instance().RuleActions.find(x => x.RuleActionId == RuleActionId);
- var additionalhtml = '';
- if (data.actiontype == "Send Sms" || data.actiontype == "Send Email") {
- additionalhtml = Unibase.Platform.Automation.Components.Notifications.Instance().AdditionalHtml(RuleActionId);
- }
- $('#ruleaction_' + RuleActionId).removeClass('border-bottom');
- var html = "<div class='bg-white border shadow card mt-2 p-2 text-dark w-100' id='SelectRoleDiv_" + RuleActionId + "'><div class='card-header border-bottom py-2 px-0 mb-1'> Send To Contacts</div> <div class='card-body border-bottom p-0'><div class='ContactSelection_" + RuleActionId + " w-100 px-0'></div>" + additionalhtml + "</div><div class='bg-white border-0 card-footer footer px-0 pb-1' id='CreateNotificationFooter'><a href = 'javascript:;' id = 'btnCloseNotification' class='btn btn-light btn-sm mr-auto' onclick='Unibase.Platform.Automation.Components.Notifications.Instance().closeActions(" + RuleActionId + ",false)'>Close</a><a href = 'javascript:;' id = 'btnSaveNotification' class='btn btn-primary btn-sm' onclick='Unibase.Platform.Automation.Components.Notifications.Instance().SaveNotificationAction(" + RuleActionId + ",false)'> Save </a></div></div>";
- $("#edit_ruleactions_" + RuleActionId).html(html);
- var RuleProviderId = data.RuleProviderId;
- Unibase.Platform.Automation.Components.Notifications.Instance().BindData(RuleActionId).then(function () {
- Unibase.Platform.Automation.Components.NotificationsContactSelection.Instance().loadRecipients(RuleActionId).then(function () {
- Unibase.Platform.Automation.Components.NotificationsContactSelection.Instance().LoadContactColumns(RuleProviderId, RuleActionId).then(function () {
- Unibase.Platform.Automation.Components.NotificationsContactSelection.Instance().BindRecipients(RuleActionId);
- Unibase.Platform.Automation.Components.NotificationsContactSelection.Instance().CheckContactColumns(data.Users, RuleActionId);
- Unibase.Platform.Automation.Components.NotificationsContactSelection.Instance().CheckSecondaryContactColumns(data.SecondaryUsers, RuleActionId);
- });
- Unibase.Platform.Automation.Components.Notifications.Instance().LoadExternalreports(RuleActionId);
- });
- });
- });
- }
- AdditionalHtml(ruleactionid) {
- var html = "";
- return html;
- }
- BindData(ruleactionid) {
- return __awaiter(this, void 0, void 0, function* () {
- return $(".ContactSelection_" + ruleactionid).html(yield Unibase.Platform.Automation.Components.NotificationsContactSelection.Instance().html(ruleactionid));
- });
- }
- SaveNotificationAction(RuleActionId, istext) {
- var data = Unibase.Platform.Automation.Components.Notifications.Instance().RuleActions.find(x => x.RuleActionId == RuleActionId);
- let model = new Unibase.Platform.Automation.Requests.RuleAction();
- model.RuleActionId = data.RuleActionId;
- model.RuleActionName = data.RuleActionName;
- model.BString4 = data.BString4;
- model.BString1 = data.BString1;
- model.BString2 = data.BString2;
- model.BString3 = data.BString3;
- model.BString6 = data.BString6;
- model.BString7 = data.BString7;
- model.BString5 = data.BString5;
- model.ExternalReportId = data.ExternalReportId;
- model.ExternalReportColumnId = data.ExternalReportColumnId;
- model.ProviderColumnId = data.ProviderColumnId;
- model.ActionId = data.ActionId;
- model.RuleId = data.RuleId;
- model.Users = data.Users;
- model.SecondaryUsers = data.SecondaryUsers;
- model.String2 = data.String2;
- model.String6 = data.String6;
- model.String7 = data.String7;
- model.IsParent = data.IsParent;
- model.ResultActionId = data.ResultActionId;
- model.DelayTime = data.DelayTime;
- model.ParentActionId = data.ParentActionId;
- model.AutoApproved = $('#chk_' + RuleActionId).is(':checked');
- model.RecipientsData = data.RecipientsData;
- model.RowIndex = data.RowIndex;
- model.EventGroupId = data.EventGroupId;
- model.RuleEventId = data.RuleEventId;
- model.NotificationGroupId = data.NotificationGroupId;
- model.ExternalReportId = data.ExternalReportId;
- model.ExternalRecipients = data.ExternalRecipients;
- if (istext) {
- model.BString1 = $('#txtNotifications_MessageSubject_' + RuleActionId).val().toString();
- model.BString2 = $('#txtNotifications_MessageBody_' + RuleActionId).val().toString();
- data.BString1 = $('#txtNotifications_MessageSubject_' + RuleActionId).val().toString();
- data.BString2 = $('#txtNotifications_MessageBody_' + RuleActionId).val().toString();
- }
- else {
- let recipients = Unibase.Platform.Automation.Components.NotificationsContactSelection.Instance().GetRecipients(RuleActionId);
- let contactcolumns = Unibase.Platform.Automation.Components.NotificationsContactSelection.Instance().getContactColumns(RuleActionId);
- let secondarycontactcolumns = Unibase.Platform.Automation.Components.NotificationsContactSelection.Instance().getSecondaryContactColumns(RuleActionId);
- model.RecipientsData = recipients;
- model.Users = contactcolumns;
- model.SecondaryUsers = secondarycontactcolumns;
- data.RecipientsData = recipients;
- data.Users = contactcolumns;
- data.SecondaryUsers = secondarycontactcolumns;
- }
- Automation.Managers.RuleManager.Instance().saveRuleAction(model).then(function (response) {
- if (response.status == Unibase.Data.Status.Error) {
- MessageHelper.Instance().showError(response.message, "Validate_NotificationAction");
- }
- else {
- MessageHelper.Instance().showSuccess(response.message, "Validate_NotificationAction");
- Unibase.Platform.Automation.Components.Notifications.Instance().closeRuleActions(model.RuleActionId, data, istext);
- }
- });
- }
- ChangeRuleActionStatus(RuleActionId) {
- var status = Unibase.Platform.Automation.Enums.ExecuteActionStatus.Draft;
- if ($('#chk_' + RuleActionId).is(":checked")) {
- status = Unibase.Platform.Automation.Enums.ExecuteActionStatus.Approved;
- }
- Unibase.Platform.Automation.Managers.RuleManager.Instance().UpdateRuleActionStatus(RuleActionId, status).then(function (response) {
- if (response.status == Unibase.Data.Status.Success) {
- MessageHelper.Instance().showSuccess(response.message, " ");
- }
- });
- }
- static Instance() {
- if (this.instance == undefined) {
- this.instance = new Notifications();
- }
- return this.instance;
- }
- }
- Components.Notifications = Notifications;
- })(Components = Automation.Components || (Automation.Components = {}));
- })(Automation = Platform.Automation || (Platform.Automation = {}));
- })(Platform = Unibase.Platform || (Unibase.Platform = {}));
- })(Unibase || (Unibase = {}));
|