var Unibase; (function (Unibase) { let Platform; (function (Platform) { let Dashboards; (function (Dashboards) { let Components; (function (Components) { class DashboardGroup extends Platform.Core.BaseComponent { constructor() { super(); this.dashboardManager = Dashboards.Managers.DashboardManager.Instance(); } cssFiles() { return []; } jsFiles() { return ["platform/dashboards/managers/dashboardmanager.js", "platform/dashboards/requests/dashboards.js", "platform/dashboards/components/dashboardgrouppermissions.js"]; } html(id, containerid) { let html = `
`; return html; } load(id, containerid, callback) { var instance = this; var selecteddashboards = []; var viewRoles = []; var ExcludeRoles = []; $('#chkIsGroupViewable').change(function () { if ($('#chkIsGroupViewable').prop('checked')) { viewRoles = []; $('#divGroupViewRoles').addClass('hidden'); } else { viewRoles = []; $('#divGroupViewRoles').removeClass('hidden'); } }); var TotalGroups = $('li.RootGroup').length; $("#Txt_DsplyIndex").val(TotalGroups + 1); instance.loadUngroupedDashboards(); let ViewRoleElementId = "txtGroupViewRoles"; let ExcludeRoleElementId = "txtGroupExcludeViewRoles"; let _Permission_ViewRoles = []; let _dashboardGroup_Excluderoles = []; let Ids = []; let ExludedIds = []; Unibase.Platform.Dashboards.Components.DashboardGroupPermissions.Instance().select2dashboardgroupDatabinding(_Permission_ViewRoles, _dashboardGroup_Excluderoles, Ids, ExludedIds, ViewRoleElementId, ExcludeRoleElementId); $('#txtGroupViewRoles').on("select2:select", function (e) { var result = e.params.data; if (Number(result.id) != 0) { var roleId = result.id; viewRoles.push(roleId); $(ExcludeRoles).each(function (i, value) { if (value == roleId) { var index = ExcludeRoles.indexOf(value); if (index > -1) { ExcludeRoles.splice(index, 1); } ExcludeRoles.splice(value, 1); $("#txtGroupExcludeViewRoles").val(ExcludeRoles).trigger('change'); return false; } }); } }); $('#txtGroupViewRoles').on("select2:unselect", function (e) { var result = e.params.data; if (Number(result.id) != 0) { var roleId = result.id; viewRoles.pop(roleId); } }); $('#txtGroupExcludeViewRoles').on("select2:select", function (e) { var result = e.params.data; if (Number(result.id) != 0) { var roleId = result.id; ExcludeRoles.push(roleId); $(viewRoles).each(function (i, value) { if (value == roleId) { var index = viewRoles.indexOf(value); if (index > -1) { viewRoles.splice(index, 1); } jQuery("#txtGroupViewRoles").val(viewRoles).trigger('change'); return false; } }); } }); $('#txtGroupExcludeViewRoles').on("select2:unselect", function (e) { var result = e.params.data; if (Number(result.id) != 0) { var roleId = result.id; ExcludeRoles.pop(roleId); } }); $("#btn_SaveDashboardGroup").click(function () { if ($("#Txt_GrpName").val() == "") { MessageHelper.Instance().showError('Group Name is required', 'Bizgaze_EditGroupErrorMessages'); return false; } $("#UnGroupeddashboardItems li").each(function () { var cb = $(this).find(':checkbox'); if (cb.prop("checked")) { var dashboardId = cb.parent('li').attr('id'); selecteddashboards.push(Number(dashboardId)); } }); let reqObj = new Dashboards.Requests.DashboardGroup(); reqObj.DashboardGroupName = String($("#Txt_GrpName").val()); reqObj.DisplayIndex = Number($("#Txt_DsplyIndex").val()); reqObj.ViewAll = Boolean($("#chkIsGroupViewable").is(":checked")); reqObj.ExcludeRoles = ExcludeRoles; reqObj.ViewRoles = viewRoles; reqObj.Dashboards = selecteddashboards; reqObj.InstalledAppId = 0; instance.dashboardManager.saveDashboardGroup(reqObj).then(function (response) { if (response.errors == null) { instance.navigationHelper.closePopUp(); MessageHelper.Instance().showSuccess('Group Saved Successfully', ''); Unibase.Platform.Dashboards.Components.ManageDashboard.Instance().loadDashboardGroups(); } else MessageHelper.Instance().showError(response.errors[0], 'Bizgaze_EditGroupErrorMessages'); }); }); $("#btn_ClosedashboardGroup").click(function () { instance.navigationHelper.closePopUp(); }); } loadUngroupedDashboards() { var instance = this; instance.dashboardManager.getUnGroupedDashboards().then(function (response) { var ungroupeddashboards = response.result; let html = ""; if (ungroupeddashboards.length > 0) { $('#div_Choosedashboards').removeClass("hidden"); for (var i = 0; i < ungroupeddashboards.length; i++) { html += '