123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161 |
- 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 = `<form id="frm_Bizgazetransact_createdashboardGroup" method="post" data-validate="parsley" class="w-f bg-white">
- <div class="header b-b "><p class="h5 text-dark">Create Group</p></div><div class="scrollable"><div id="Bizgaze_EditGroupErrorMessages" class="clear"></div><div class="card"><div class="card-header">Details</div><div class="card-body"><div class="row"><div class="col-sm-6"><div class="floating-label-form-group floating-label-form-group-with-value" id="div_GroupName"><label for="txt_GroupName" id="lbl_GrpName">Group Name<span class="text-danger"> *</span></label><div class=""><input type="text" id="Txt_GrpName" class="form-control value-control floating-label-control" data-isdynamic="false" placeholder="Group Name *" data-placeholder="Enter Group Name" data-label="Group Name *" /></div></div></div><div class="col-sm-6"><div class="floating-label-form-group floating-label-form-group-with-value" id="div_Index"><label for="txt_DisplayIndex" id="lbl_PGIndex">Display index</label><div class=""><input type="number" min="0" onkeypress="return event.charCode != 45 && event.charCode!=101" id="Txt_DsplyIndex" class="form-control value-control floating-label-control" data-isdynamic="false" placeholder="Display Index" data-placeholder="Enter Display Index" data-label="Display Index" /></div></div></div></div></div><br /><br /></div>
- <div class="card"><div class="card-header">Permissions</div><div class="card-body"><div class="row"><div class="col-sm-12"><strong>Everyone can view?</strong><a href="javascript:;"><label class="switch pull-right"><input id="chkIsGroupViewable" type="checkbox" data-group="Viewable" checked><span class="slider round"></span></label></a></div></div><div class="row hidden mb-4" id="divGroupViewRoles"><div class="col-sm-12 m-b"><label>Roles that <strong>can</strong> view</label><input type="hidden" id="hfGroupViewRoles" /><select type="text" id="txtGroupViewRoles" style="width:100%" value="" multiple="multiple"></select></div></div><div class="row" id="divGroupExcludeViewRoles"><div class="col-sm-12 m-b"><label>Roles that <strong>can't</strong> view</label><input type="hidden" id="hfGroupExcludeViewRoles" /><select type="text" id="txtGroupExcludeViewRoles" style="width:100%" value="" multiple="multiple"></select></div></div></div></div>
- <div class="card" id="div_Choosedashboards"><div class="card-header">Choose Dashboards</div><div class="card-body"><div class="row"><div class="col-sm-12" style="overflow:auto"><!--<span style="font-size:20px"><i class="fa fa-file-text"></i> <b>Select dashboards</b></span>--><ul class="list-group" style="" id="UnGroupeddashboardItems"></ul></div></div></div></div></div>
- <div class="footer bg-white"><a href="javascript:;" id="btn_ClosedashboardGroup" class="pull-left btn btn-light btn-sm mr-auto">Close</a><a href="javascript:;" id="btn_SaveDashboardGroup" class="pull-right btn btn-primary btn-sm">Save</a></div></form>`;
- 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 += '<li id="' + ungroupeddashboards[i].DashboardId + '" style="margin-top:3px;font-size:15px" class="list-group-item"><input type="checkbox" style="height:17px;width:17px"><span style="margin-left:5px">' + ungroupeddashboards[i].DashboardName + '</span></li>';
- }
- $('#UnGroupeddashboardItems').html(html);
- }
- else {
- $('#div_Choosedashboards').addClass("hidden");
- }
- });
- }
- static Instance() {
- return new DashboardGroup();
- }
- }
- Components.DashboardGroup = DashboardGroup;
- })(Components = Dashboards.Components || (Dashboards.Components = {}));
- })(Dashboards = Platform.Dashboards || (Platform.Dashboards = {}));
- })(Platform = Unibase.Platform || (Unibase.Platform = {}));
- })(Unibase || (Unibase = {}));
|