var Bizgaze;
(function (Bizgaze) {
let Apps;
(function (Apps) {
let Support;
(function (Support) {
let Controls;
(function (Controls) {
class LevelMembers extends Unibase.Platform.Core.BaseComponent {
constructor() {
super(...arguments);
this.deletedEmployees = [];
this.roleemp = [];
this.postdataemp = [];
this.flag = false;
this.isalreadyemp = false;
}
init(formpropertyid, prop, callback) {
var instance = this;
instance.loadControlSettings(prop.ControlJsonText, prop.FormPropertyId);
instance.loadPropertySettings(prop.PropertySettings, prop.FormPropertyId);
if (callback != null) {
callback();
}
}
getdata() {
var instance = this;
if ($("#txtAutoComplete_EmpId").val() != null) {
Unibase.Platform.Forms.Components.FormViewer.Instance().showError("Please Add Selected Level Member");
return false;
}
else {
return instance.postdataemp;
}
}
loadControl(containerid, prop) {
var instance = this;
var html = '
Level Members
';
$("#" + containerid).html(html);
}
refreshlevelmembers(roleids) {
var instance = this;
$(".li_levmem").empty();
$('.div_users').empty();
if ((roleids.length == 0) && (instance.flag == false)) {
$(".li_header").addClass("hidden");
}
var instance = this;
instance.fileCacheHelper.loadJsFile("apps/support/managers/supportmanager.js", function () {
Bizgaze.Apps.Support.Managers.SupportManager.Instance().getRoleTicketGroup(roleids).then(function (response) {
var result = response.result;
if (result != null) {
for (var i = 0; i < result.length; i++) {
var data = result[i];
var deleteIndex = instance.deletedEmployees.findIndex(x => x.UserId == data.employeeid);
if (deleteIndex == -1) {
var postdataIndex = instance.postdataemp.findIndex(x => x.UserId == data.employeeid);
if (postdataIndex == -1) {
instance.postdataemp.push({
UserId: data.employeeid, UserName: data.employeename, DesignationId: data.designationid, DesignationName: data.designationname, RoleId: data.roleid, Status: 1, LevelMemberId: 0, IsRole: true, UserInstalledAppId: data.installedappid
});
}
var roleempIndex = instance.roleemp.findIndex(x => x.UserId == data.employeeid);
if (roleempIndex == -1) {
instance.roleemp.push({
RoleId: data.roleid, UserId: data.employeeid
});
}
}
}
}
});
instance.getuserdata();
});
}
listemp() {
var instance = this;
$(".levmem").remove();
$(".li_header").removeClass("hidden");
$('#levmem_footer_container').removeClass('hidden');
for (let j = 0; j < instance.postdataemp.length; j++) {
var data = instance.postdataemp;
if (data[j].IsRole == false) {
if ($(".ul_levmem li.levmem").length >= 5) {
$("#levmem_footer_container .levmen_more_btn").removeClass('hidden');
}
else {
$("#levmem_footer_container .levmen_more_btn").addClass('hidden');
}
var Html = '' +
'' +
'
' +
'
' +
'
' +
'
' +
'
' + data[j].UserName + '
' +
'
' + data[j].DesignationName + '
' +
'
' +
'
' +
'' +
'
' +
'
' +
'
' +
'
' +
'
' + data[j].UserName + '
' +
'
' + data[j].DesignationName + '
' +
'
' +
'
' +
'';
$('.li_levmem:last').after(Html);
$(".ul_levmem li.levmem").each(function (i, e) {
if (i < 5) {
$(e).removeClass('hidden');
}
else {
$(e).addClass('hidden');
}
});
let totalRowsCount = $(".ul_levmem li.levmem").length;
$("#levmem_footer_container .levmem_totalList").text(totalRowsCount);
let visibleRowsCount = totalRowsCount - $(".ul_levmem li.levmem.hidden").length;
$("#levmem_footer_container .levmem_visibileList").text(visibleRowsCount);
}
if ((instance.postdataemp.length == 0) && (data[j].IsRole == true)) {
$(".li_header").addClass("hidden");
$('#levmem_footer_container').addClass('hidden');
instance.flag = true;
}
else {
$(".li_header").removeClass("hidden");
$('#levmem_footer_container').removeClass('hidden');
instance.flag = true;
}
}
if (instance.flag == false) {
$(".li_header").addClass("hidden");
$('#levmem_footer_container').addClass('hidden');
}
else if (instance.flag == true) {
$(".li_header").removeClass("hidden");
$('#levmem_footer_container').removeClass('hidden');
instance.flag = true;
}
}
loadMoreLvlMemList() {
$(".ul_levmem li.levmem.hidden").each(function (index, item) {
if (index < 5) {
$(item).removeClass('hidden');
let totalRowsCount = $(".ul_levmem li.levmem").length;
let visibleRowsCount = totalRowsCount - $(".ul_levmem li.levmem.hidden").length;
$("#levmem_footer_container .levmem_visibileList").text(visibleRowsCount);
if (visibleRowsCount == totalRowsCount) {
$("#levmem_footer_container .levmen_more_btn").addClass('hidden');
}
}
});
}
getuserdata() {
var instance = this;
var html = ' ' +
'' +
'' +
'' +
'' +
'' +
'' +
'' +
'' +
'
';
$('.div_users').append(html);
instance.fileCacheHelper.loadJsFile("apps/support/managers/supportmanager.js", function () {
AutoCompleteHelper.getHelper().Create("#txtAutoComplete_EmpId", "#hfAutoComplete_EmpId", _appsettings.server_url() + "/apis/v4/bizgaze/crm/employees/getemployees", function (result) {
var data = result;
$("#hd_empid").val(data.id);
Bizgaze.Apps.Support.Managers.SupportManager.Instance().getRoleEmployee(data.id).then(function (response) {
var res = response.result;
if (res.length == 1) {
$("#hd_empid").val(res[0].employeeid);
$("#hd_designationid").val(res[0].designationid);
$("#hd_employeename").val(res[0].employeename);
$("#hd_designationname").val(res[0].designationname);
$("#hd_userinstalledappid").val(res[0].installedappid);
}
});
});
var html1 = '';
$(".div_users").append(html1);
instance.bindEmployeeEvents();
});
}
bindEmployeeEvents() {
var instance = this;
$("#addEmployeeBtn").click(function () {
instance.addEmployee();
return false;
});
$("#clrEmployeeBtn").click(function () {
instance.clearEmployee();
});
}
deleteEmployee(employeeid, designationid, roleid) {
var instance = this;
instance.deletedEmployees.push({
UserId: employeeid, DesignationId: designationid, RoleId: roleid
});
var postEmp = instance.postdataemp.filter(x => x.UserId == employeeid);
instance.postdataemp = instance.postdataemp.filter(ar => !postEmp.find(rm => (rm.UserId === ar.UserId)));
var roles = $(".select2_roleids ").val().toString();
if (instance.editdata == 0) {
instance.refreshlevelmembers(roles);
}
else {
instance.listemp();
}
if (instance.postdataemp.length == 0) {
$(".li_header").addClass("hidden");
$('#levmem_footer_container').addClass('hidden');
}
for (var i = 0; i < instance.postdataemp.length; i++) {
if ((instance.postdataemp[i].IsRole == true) && (instance.flag == true)) {
$(".li_header").addClass("hidden");
$('#levmem_footer_container').addClass('hidden');
}
else {
$(".li_header").removeClass("hidden");
$('#levmem_footer_container').removeClass('hidden');
}
}
}
addEmployee() {
var instance = this;
instance.isalreadyemp = false;
var employeeid = Number($("#hd_empid").val());
var designationid = Number($("#hd_designationid").val());
var userinstalledappid = Number($("#hd_userinstalledappid").val());
var employeename = $("#hd_employeename").val();
var designationname = $("#hd_designationname").val();
if (employeeid != 0) {
var arrayIndex = instance.postdataemp.findIndex(x => x.UserId == employeeid);
if (arrayIndex != -1) {
var isroleid = instance.postdataemp[arrayIndex].IsRole;
}
if (arrayIndex == -1) {
instance.postdataemp.push({
UserId: employeeid, UserName: employeename, DesignationId: designationid, DesignationName: designationname, RoleId: 0, Status: 1, LevelMemberId: 0, IsRole: false, UserInstalledAppId: userinstalledappid
});
}
else if (isroleid == false) {
Unibase.Platform.Forms.Components.FormViewer.Instance().showError("Employee already Exists");
instance.isalreadyemp = true;
return false;
}
else if (isroleid == true) {
Unibase.Platform.Forms.Components.FormViewer.Instance().showError("Employee already Exists for the role");
instance.isalreadyemp = true;
return false;
}
if (instance.isalreadyemp == false) {
instance.listemp();
}
}
if ($("#txtAutoComplete_EmpId").val() == null) {
Unibase.Platform.Forms.Components.FormViewer.Instance().showError("Please Select Contact");
return false;
}
$("#txtAutoComplete_EmpId").val(null).trigger("change");
}
clearEmployee() {
this.postdataemp = [];
this.deletedEmployees = [];
this.refreshlevelmembers($(".select2_roleids ").val().toString());
$(".levmem").remove();
$(".li_header").addClass("hidden");
$('#levmem_footer_container').addClass('hidden');
}
loadControlSettings(controlsettingjson, formpropertyid) {
var instance = this;
instance.deletedEmployees = [];
instance.postdataemp = [];
instance.roleemp = [];
$(".select2_roleids").on('select2:select', function (e) {
}).on('select2:unselect', function (e) {
let roleid = e.params.data.id;
var delEmp = instance.deletedEmployees.filter(x => x.RoleId == roleid);
instance.deletedEmployees = instance.deletedEmployees.filter(ar => !delEmp.find(rm => (rm.RoleId === ar.RoleId)));
var postEmp = instance.postdataemp.filter(x => x.RoleId == roleid);
instance.postdataemp = instance.postdataemp.filter(ar => !postEmp.find(rm => (rm.RoleId === ar.RoleId)));
});
}
loadPropertySettings(propertysettings, formpropertyid) {
return null;
}
bindEditFormDetails(formpropertyid, propval, DocPropertyName) {
var instance = this;
var levelid = Number(propval);
instance.editdata = levelid;
instance.fileCacheHelper.loadJsFile("apps/support/managers/supportmanager.js", function () {
Bizgaze.Apps.Support.Managers.SupportManager.Instance().getLevelMembers(levelid).then(function (response) {
var res = response.result;
instance.postdataemp = [];
for (let i = 0; i < res.length; i++) {
instance.postdataemp.push({
UserId: res[i].UserId, UserName: res[i].UserName, DesignationId: res[i].DesignationId, DesignationName: res[i].DesignationName, RoleId: res[i].RoleId, Status: res[i].Status, LevelMemberId: res[i].LevelMemberId, IsRole: res[i].IsRole, UserInstalledAppId: res[i].UserInstalledAppId
});
}
instance.listemp();
var isroleindex = instance.postdataemp.findIndex(x => x.IsRole == false);
if (isroleindex == -1) {
$(".li_header").addClass("hidden");
$('#levmem_footer_container').addClass('hidden');
}
});
});
}
static Instance() {
if (this.instance === undefined) {
this.instance = new LevelMembers();
}
return this.instance;
}
}
Controls.LevelMembers = LevelMembers;
})(Controls = Support.Controls || (Support.Controls = {}));
})(Support = Apps.Support || (Apps.Support = {}));
})(Apps = Bizgaze.Apps || (Bizgaze.Apps = {}));
})(Bizgaze || (Bizgaze = {}));