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 NotificationsContactSelection {
constructor() {
this.RecipientProviders = [];
}
init(rpid, ruleactionid) {
return __awaiter(this, void 0, void 0, function* () {
Unibase.Platform.Automation.Components.NotificationsContactSelection.Instance().loadRecipients(ruleactionid);
Unibase.Platform.Automation.Components.NotificationsContactSelection.Instance().LoadContactColumns(rpid, ruleactionid);
return Unibase.Platform.Automation.Components.NotificationsContactSelection.Instance().html(ruleactionid);
});
}
loadRecipients(ruleactionid) {
return __awaiter(this, void 0, void 0, function* () {
return yield Unibase.Platform.Automation.Managers.RuleManager.Instance().getRecipientProviders().then(function (response) {
Unibase.Platform.Automation.Components.NotificationsContactSelection.Instance().RecipientProviders = response;
for (var i = 0; i <= response.length - 1; i++) {
let html = '';
html += '
' +
'' +
'' +
'
';
$(".recipients_" + ruleactionid).append(html);
let selectid = "select2_" + ruleactionid + "_" + response[i].RecipientName + "";
let selectlable = response[i].DisplayName;
let recipientProviderid = response[i].RecipientProviderId;
Unibase.Platform.Automation.Components.NotificationsContactSelection.Instance().RecipientsData(selectid, selectlable, recipientProviderid);
}
});
});
}
html(ruleactionid) {
return __awaiter(this, void 0, void 0, function* () {
let html = '' + 'Secondary Contacts:
';
return yield html;
});
}
RecipientsData(selectid, selectlable, recipientProviderid) {
return __awaiter(this, void 0, void 0, function* () {
var url = _appsettings.server_url() + '/apis/v4/unibase/notificationrule/platform/RecipientsAutoComplete/RecipientProviderId/' + recipientProviderid;
return yield AutoCompleteHelper.getHelper().Create("#" + selectid, "hdn" + selectid, url, function (response) {
var data = response;
});
});
}
GetRecipients(RuleActionId) {
var obj = new Object();
$(".recipient").each(function () {
let id = $(this).find(".recipient");
let index = (id.prevObject[0].id).split('_');
index = index[1];
let propname = $(this).find(".propname").text();
let recipientname = $(this).find(".recipientname").text();
let selectid = "select2_" + RuleActionId + "_" + recipientname;
let recipients = Unibase.Platform.Automation.Components.NotificationsContactSelection.Instance().getSelectedRecipients(selectid);
obj[propname] = recipients;
});
return obj;
}
BindRecipients(ruleactionid) {
return __awaiter(this, void 0, void 0, function* () {
var recipientproviders = Unibase.Platform.Automation.Components.NotificationsContactSelection.Instance().RecipientProviders;
return yield Unibase.Platform.Automation.Managers.RuleManager.Instance().getActionRecipient(ruleactionid).then(function (response) {
for (var i = 0; i < recipientproviders.length; i++) {
let recipients = response[recipientproviders[i].ColumnName];
let IdColumn = recipientproviders[i].IdColumn;
let RecipientProviderId = Number(recipientproviders[i].RecipientProviderId);
Unibase.Platform.Automation.Components.NotificationsContactSelection.Instance().BindRecipientOptions(RecipientProviderId, recipients, IdColumn, recipientproviders[i].RecipientName, ruleactionid);
}
});
});
}
BindRecipientOptions(RecipientProviderId, recipients, IdColumn, RecipientName, ruleactionid) {
return __awaiter(this, void 0, void 0, function* () {
return yield Unibase.Platform.Automation.Managers.RuleManager.Instance().getSelectedRecipientsData(RecipientProviderId, recipients, IdColumn).then(function (response) {
if (response != "" && response.result.length > 0) {
var Result = response.result;
for (var j = 0; j < Result.length; j++) {
var recipient = Result[j];
var newOption = new Option(recipient.AutoCompleteTextColumn, recipient.AutoCompleteIdColumn, true, true);
$("#select2_" + ruleactionid + "_" + RecipientName + "").append(newOption).trigger('change');
}
}
});
});
}
getSelectedRecipients(selectid) {
let Recipientcount = new Array();
Recipientcount = $('#' + selectid).val();
let Recipient = "";
for (var i = 0; i < Recipientcount.length; i++) {
Recipient += "|" + Recipientcount[i];
}
if (Recipient != "")
Recipient += "|";
return Recipient;
}
LoadContactColumns(rpid, ruleactionid) {
return __awaiter(this, void 0, void 0, function* () {
let ruleproviderid = rpid;
return yield Unibase.Platform.Automation.Managers.RuleManager.Instance().getContactColumns(ruleproviderid).then(function (response) {
if (response != null) {
let html = '';
let secondaryhtml = '';
for (let i = 0; i <= response.length - 1; i++) {
html += '';
secondaryhtml += '';
}
$("#contactcolumns_" + ruleactionid).append(html);
$("#secondarycontactcolumns_" + ruleactionid).append(secondaryhtml);
}
});
});
}
getContactColumns(RuleActionId) {
var contactcolumns = "";
$.each($("input[name='Contactcolumns_" + RuleActionId + "']:checked"), function () {
var Contact = $(this).parents("label");
Contact = Contact.prevObject[0].labels[0].innerText;
contactcolumns += "|" + Contact;
});
if (contactcolumns != "")
contactcolumns += "|";
return contactcolumns;
}
getSecondaryContactColumns(RuleActionId) {
var contactcolumns = "";
$.each($("input[name='SecondaryContactcolumns_" + RuleActionId + "']:checked"), function () {
var Contact = $(this).parents("label");
Contact = Contact.prevObject[0].labels[0].innerText;
contactcolumns += "|" + Contact;
});
if (contactcolumns != "")
contactcolumns += "|";
return contactcolumns;
}
CheckContactColumns(Users, ruleactionid) {
if (Users != null)
var contacts = Users.split("|");
for (var i = 0; i < contacts.length; i++) {
if (contacts[i] != "") {
var id = contacts[i].toLowerCase();
$('#chk_' + id + '_' + ruleactionid).prop("checked", true);
}
}
}
CheckSecondaryContactColumns(Users, ruleactionid) {
if (Users != null)
var contacts = Users.split("|");
for (var i = 0; i < contacts.length; i++) {
if (contacts[i] != "") {
var id = contacts[i].toLowerCase();
$('#chk_sec_' + id + '_' + ruleactionid).prop("checked", true);
}
}
}
static Instance() {
if (this.instance === undefined) {
this.instance = new NotificationsContactSelection();
}
return this.instance;
}
}
Components.NotificationsContactSelection = NotificationsContactSelection;
})(Components = Automation.Components || (Automation.Components = {}));
})(Automation = Platform.Automation || (Platform.Automation = {}));
})(Platform = Unibase.Platform || (Unibase.Platform = {}));
})(Unibase || (Unibase = {}));