123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363 |
- var Unibase;
- (function (Unibase) {
- let Platform;
- (function (Platform) {
- let Dashboards;
- (function (Dashboards_1) {
- let Components;
- (function (Components) {
- class ManageDashboard extends Platform.Core.BaseComponent {
- constructor() {
- super();
- this._dashboardManager = Dashboards_1.Managers.DashboardManager.Instance();
- }
- cssFiles() {
- return ["libs/nestable/JqueryminMenu.css"];
- }
- jsFiles() {
- return ["libs/nestable/jquery.nestable.js", "platform/dashboards/components/import.js", "platform/dashboards/requests/dashboards.js", "platform/dashboards/components/createdashboard.js", "platform/dashboards/components/editdashboard.js", "platform/dashboards/components/creategroup.js", "platform/dashboards/components/editgroup.js", "tenants/themes/compact/components/nav/nav.template.js", "platform/dashboards/components/dashboardpermissions.js", "platform/dashboards/components/dashboardgrouppermissions.js", "platform/dashboards/components/editgrouppermissions.js", "platform/dashboards/components/dashboard.template.js"];
- }
- html(id, containerid) {
- let html = `<form id="frm_BizgazeNavigationManageDashboard" method="post" data-validate="parsley" class="w-f bg-white"><div id="divBizgaze_MessagesPlaceholder" class="divBizgaze_MessagesPlaceholder"></div><div class="header navbar-header b-b bg-white"><h5>Dashboard Settings</h5><div class="btn-group align-items-center pull-right"><a href="javascript:;" class="btn btn-sm btn-light mr-10" id="btnAddNewGroup"><i class="fa fa-plus"></i> Group</a> <a href="javascript:;" class="btn btn-sm btn-info text-white mr-1" id="btnAddDashboard"><i class="fa fa-plus"></i> Dashboard</a><div class="dropdown"><a href="javascript:;" class="btn btn-sm fa fa-ellipsis-v divtag text-right text-dark-100" id="" type="" data-toggle="dropdown" aria-expanded="false"><span class="caret"></span></a><div class="dropdown-menu"><a href="javascript:;" class="dropdown-item" onclick="Unibase.Platform.Dashboards.Components.ManageDashboard.Instance().ImportDashBoard(` + id + `,` + containerid + `);">Import</a><a href="javascript:;" class="dropdown-item" onclick="Unibase.Platform.Dashboards.Components.ManageDashboard.Instance().ExportDashboard();">Export</a></div></div></div></div><div class="scrollable nicescroll-bar"><div class="card"><div class="card-body"><div class="row"><div class="col-sm-12"><div class="dd" id="nestable3"><div><h5>Dashboards and Groups</h5></div><hr /><ol class="dd-list" id="MainOlMenu"></ol></div><div class="dd" id="nestable2"><div><h5>Groupable Dashboards</h5></div><hr /><ol class="dd-list" id="GrouplessDashboards"><li class="grpItem"></li><li class="DisplayItm"></li></ol>Note: These dashboards are groupable & draggable,Dashboard settings will affect to all the Portals.</div></div></div></div></div></div><div class="footer bg-white"><a href="javascript:;" id="btn_CloseMenuSetting" class="pull-left btn btn-light btn-sm mr-auto">Close</a><a href="javascript:;" id="btn_SaveMenuSetting" class="pull-right btn btn-primary btn-sm">Save</a></div></form>`;
- return html;
- }
- load(id, containerid, callback) {
- var instance = this;
- let x = $('#nestable3');
- x.nestable({
- group: 'categories',
- maxDepth: 2,
- scroll: true,
- scrollSpeed: 20,
- beforeDragStop: function (l, e, p) {
- var isGroup = $(e).hasClass('RootGroup');
- var Area = $(p).attr("id");
- if (isGroup == true) {
- if (Area !== 'GrouplessDashboards') {
- let y = $('#MainOlMenu');
- y.sortable({
- scrollSpeed: 20,
- });
- }
- else {
- return false;
- }
- setTimeout(function () {
- instance.saveAllDashboardSettings();
- }, 300);
- }
- else {
- let Checkroot = $(p).parent().attr('data-type');
- let checkGroupable = $(p).parent().attr('id');
- if (Checkroot != 'root' || Checkroot.toString() == 'undefind') {
- if (checkGroupable == 'nestable2') {
- return true;
- }
- else {
- return false;
- }
- }
- }
- let z = $("#MainOlMenu");
- z.sortable({
- disabled: true
- });
- },
- });
- let a = $('#nestable2');
- a.nestable({
- group: 'categories',
- maxDepth: 2,
- scroll: true,
- scrollSpeed: 20,
- beforeDragStop: function (l, e, p) {
- let dashboardId = $(e).attr('id');
- let DashboardGroupId = $(p).parents('li').attr('id');
- if (DashboardGroupId == undefined || DashboardGroupId == "undefined")
- DashboardGroupId = "0";
- let dashboardIndex = $(e).attr('dashboardindex');
- var isGroup = $(e).hasClass('RootGroup');
- if (isGroup == true) {
- instance.saveAllDashboardSettings();
- }
- else {
- }
- },
- });
- $('.dd-empty').remove();
- $("#btnAddNewGroup").click(function () {
- instance.navigationHelper.popup(0, "", Unibase.Platform.Dashboards.Components.DashboardGroup.Instance(), null, Platform.Helpers.Size.DockLeft);
- });
- $("#btnAddDashboard").click(function () {
- instance.navigationHelper.popup(0, "", Unibase.Platform.Dashboards.Components.CreateDashboard.Instance(), null, Platform.Helpers.Size.DockLeft);
- });
- $("#btn_SaveMenuSetting").click(function () {
- instance.saveAllDashboardSettings();
- instance.navigationHelper.closePopUp();
- });
- $("#btn_CloseMenuSetting").click(function () {
- instance.navigationHelper.closePopUp();
- });
- instance.loadDashboardGroups();
- }
- loadDashboardGroups() {
- var instance = this;
- jQuery("#MainOlMenu").empty();
- var html = "";
- instance._dashboardManager.getDashboardGroups().then(function (response) {
- for (var i = 0; i < response.result.length; i++) {
- var group = response.result[i];
- var template = Unibase.Platform.Dashboards.Components.Dashboard_Template.Instance().DashboardGroups();
- var templateScript = Handlebars.compile(template);
- var context = { "DashboardGroupId": group.DashboardGroupId, "DashboardGroupName": group.DashboardGroupName };
- html = templateScript(context);
- $("#MainOlMenu").append(html);
- }
- instance.loadDashboards();
- instance.loadUngroupedDashboards();
- });
- }
- loadDashboards() {
- var instance = this;
- instance._dashboardManager.getDashboards().then(function (response) {
- for (var i = 0; i < response.result.length; i++) {
- var group = response.result[i];
- var html = "";
- var groupId = group.DashboardGroupId;
- var template = Unibase.Platform.Dashboards.Components.Dashboard_Template.Instance().Dashboards();
- var templateScript = Handlebars.compile(template);
- var context = { "DashboardId": group.DashboardId, "DashboardName": group.DashboardName, "DashboardIndex": group.DashboardIndex };
- html = templateScript(context);
- $('#GroupDashboards-' + groupId).find(".grpItem:last").after(html);
- }
- $(".DashboardOl").each(function () {
- let element = $(this).children('li');
- $(this).html(element.sort(function (a, b) {
- return ($(b).attr('dashboardindex')) > ($(a).attr('dashboardindex')) ? -1 : 1 || ($(a).attr('dashboardindex')) ? -10 : 1;
- }));
- });
- });
- }
- loadUngroupedDashboards() {
- var instance = this;
- $('#GrouplessDashboards').empty();
- instance._dashboardManager.getUnGroupedDashboards().then(function (response) {
- var Dashboards = response.result;
- var html = "";
- for (var i = 0; i < Dashboards.length; i++) {
- var group = Dashboards[i];
- var template = Unibase.Platform.Dashboards.Components.Dashboard_Template.Instance().UnGroupedDashboards();
- var templateScript = Handlebars.compile(template);
- var context = { "DashboardId": group.DashboardId, "DashboardName": group.DashboardName, "DashboardIndex": group.DashboardIndex };
- html += templateScript(context);
- }
- $('#GrouplessDashboards').html(html + "<li class='DisplayItm dd-item'></li>");
- });
- }
- saveAllDashboardSettings() {
- var instance = this;
- var Groups = [];
- $('#MainOlMenu .RootGroup').each(function (index, el) {
- Groups.push(el);
- });
- MessageHelper.Instance().hideMessage();
- let DashboardsAndGroups = [];
- for (var i = 0; i < Groups.length; i++) {
- var dashboardIds = [];
- var currentGrp = Groups[i];
- var grpId = Number($(currentGrp).attr('id'));
- $(currentGrp).children('ol').find('li').each(function (index, el) {
- let id = $(el).attr('id');
- if (id > 0 || id != null) {
- dashboardIds.push(Number(id));
- }
- });
- DashboardsAndGroups.push({ "GroupId": grpId, "DashboardIds": dashboardIds });
- }
- instance._dashboardManager.saveAllDashboardSetting(DashboardsAndGroups).then(function (response) {
- if (response.errors == null) {
- MessageHelper.Instance().showSuccess('Dashboard Settings Saved Successfully', '');
- }
- else {
- MessageHelper.Instance().showError(response.errors[0], '');
- }
- });
- }
- deleteDashboard(DashboardId) {
- var instance = this;
- MessageHelper.Instance().hideMessage();
- instance._dashboardManager.deleteDashboard(DashboardId).then(function (response) {
- if (response.errors == null) {
- MessageHelper.Instance().showSuccess('Dashboard Deleted Successfully', '');
- instance.loadDashboardGroups();
- }
- else
- MessageHelper.Instance().showError(response.errors[0], 'divBizgaze_MessagesPlaceholder');
- });
- }
- updateDashboardGroup(dashboard, dashboardGroupId) {
- var instance = this;
- MessageHelper.Instance().hideMessage();
- var DashboardIndex = $(dashboard).attr('dashboardindex');
- DashboardIndex = DashboardIndex.replace(/['"]+/g, '');
- var DashboardId = $(dashboard).attr('id');
- let reqObj = new Unibase.Platform.Dashboards.Requests.Dashboard();
- reqObj.DashboardGroupId = Number(dashboardGroupId);
- reqObj.DashboardId = Number(DashboardId);
- reqObj.DashboardIndex = Number(DashboardIndex);
- instance._dashboardManager.updateDashboardGroup(reqObj).then(function (response) {
- if (response.errors == null)
- MessageHelper.Instance().showSuccess('Group Saved Successfully', '');
- else
- MessageHelper.Instance().showError(response.errors[0], '');
- });
- }
- editDashboardGroup(GroupId) {
- var instance = this;
- MessageHelper.Instance().hideMessage();
- instance.navigationHelper.popup(GroupId, "", Unibase.Platform.Dashboards.Components.EditDashboardGroup.Instance(), null, Platform.Helpers.Size.DockLeft);
- }
- editDashboard(DashboardId) {
- var instance = this;
- MessageHelper.Instance().hideMessage();
- instance.editDashboardInfo(DashboardId);
- $('#card_dashboardPermissions').addClass("hidden");
- instance._dashboardManager.getDashboard(DashboardId).then(function (response) {
- const { DashboardName, DashboardIndex, DashboardId, DashboardGroupId, IsMandatory, IsTrackable, ViewAllStages, PinCommonFilters } = response.result;
- $('#Txt_EditDashboardName').val(DashboardName);
- $('#Txt_EditDashboardIndex').val(DashboardIndex);
- $("#EditDashboardId").val(DashboardId);
- $('#ddl_EditDashboardGroups').val(DashboardGroupId);
- $('#chkIsDashboardViewable').prop('checked', IsMandatory);
- $('#Ch_IsTrackable').prop('checked', IsTrackable);
- $("#div_DashboardName").addClass('floating-label-form-group-with-value');
- $("#hf_dashboardviewallstages").val(String(ViewAllStages));
- $("#pinCmnFiltersChk").prop('checked', PinCommonFilters);
- instance._dashboardManager.getDashboardGroups().then(function (groupresponse) {
- var html = '<option value="0">No Group</option>';
- var groups = groupresponse.result;
- for (var i = 0; i < groups.length; i++) {
- if (groups[i].DashboardGroupId == DashboardGroupId) {
- html += '<option value = "' + groups[i].DashboardGroupId + '" selected > ' + groups[i].DashboardGroupName + ' </option>';
- }
- else {
- html += '<option value = "' + groups[i].DashboardGroupId + '"> ' + groups[i].DashboardGroupName + ' </option>';
- }
- }
- $('#ddl_EditDashboardGroups').html(html);
- });
- });
- }
- editDashboardInfo(DashboardId) {
- var instance = this;
- instance.navigationHelper.popup(0, "", Unibase.Platform.Dashboards.Components.EditDashboard.Instance(), null, Platform.Helpers.Size.DockLeft);
- $("#div_EditDashboardHeader").removeClass("pa-5");
- }
- editDashboardPermissions(DashboardId) {
- var instance = this;
- MessageHelper.Instance().hideMessage();
- instance.editDashboardInfo(DashboardId);
- $('#EditDashboard').addClass("hidden");
- $('#card_dashboardPermissions').removeClass("hidden");
- $('#btn_UpdateDashboards').addClass("hidden");
- $('#EditDashboardId').val(DashboardId);
- Unibase.Platform.Dashboards.Components.DashboardPermissions.Instance().ShowPermissions(DashboardId);
- }
- editGroupPermissions(DashboardGroupId) {
- var instance = this;
- MessageHelper.Instance().hideMessage();
- instance.editGroupPermissionsinfo();
- Unibase.Platform.Dashboards.Components.DashboardGroupPermissions.Instance().loadallpermissions(DashboardGroupId);
- }
- editGroupPermissionsinfo() {
- var instance = this;
- instance.navigationHelper.popup(0, "", Unibase.Platform.Dashboards.Components.EditGroupPermissions.Instance(), null, Platform.Helpers.Size.DockLeft);
- }
- tracking() {
- var instance = this;
- if (Number($('#EditDashboardId').val()) != 0) {
- let reqObj = new Unibase.Platform.Dashboards.Requests.Dashboard();
- reqObj.IsTrackable = $("#Ch_IsTrackable").is(":checked");
- reqObj.DashboardId = Number($('#EditDashboardId').val());
- instance._dashboardManager.trackDashboard(reqObj);
- }
- }
- loadimport() {
- var instance = this;
- instance.navigationHelper.popup(0, "", Unibase.Platform.Dashboards.Components.Import.Instance(), null, Platform.Helpers.Size.DockLeft);
- }
- ImportDashBoard(DashboardId, containerid) {
- var instance = this;
- $(".biz-submenu").css({ "z-index": "" });
- $(".biz-layout-3-left-nav").css({ "z-index": "" });
- $(".toplayout-structures-panel").css({ "z-index": "1040" });
- instance.loadimport();
- }
- ExportDashboard() {
- var instance = this;
- Unibase.Platform.Helpers.NavigationHelper.Instance().showLoading();
- instance._dashboardManager.exportDashboard().then(function (groupresponse) {
- if (groupresponse.result != null && groupresponse.result != undefined) {
- var filename = "Dashboard.xml";
- var xmltext = groupresponse.result;
- var pom = document.createElement('a');
- var bb = new Blob([xmltext], { type: 'text/plain' });
- pom.setAttribute('href', window.URL.createObjectURL(bb));
- pom.setAttribute('download', filename);
- pom.dataset.downloadurl = ['text/plain', pom.download, pom.href].join(':');
- pom.draggable = true;
- pom.classList.add('dragout');
- pom.click();
- Unibase.Platform.Helpers.NavigationHelper.Instance().hideLoading();
- }
- });
- }
- exportDashboardByDashboardId(dashBoardGroupId) {
- var instance = this;
- Unibase.Platform.Helpers.NavigationHelper.Instance().showLoading();
- instance._dashboardManager.getDashboardGroup(dashBoardGroupId).then(function (dashboardGroupResponse) {
- instance._dashboardManager.exportDashboardByDashboardId(dashBoardGroupId).then(function (groupresponse) {
- if (groupresponse.status == Unibase.Data.Status.Error) {
- MessageHelper.Instance().showError(groupresponse.message, "divBizgaze_MessagesPlaceholder");
- instance.navigationHelper.hideLoading();
- }
- else if (dashboardGroupResponse.result != null && dashboardGroupResponse.result != undefined && groupresponse.result != null && groupresponse.result != undefined) {
- var filename = dashboardGroupResponse.result.DashboardGroupName + " - DashboardGroup.xml";
- var xmltext = groupresponse.result;
- var pom = document.createElement('a');
- var bb = new Blob([xmltext], { type: 'text/plain' });
- pom.setAttribute('href', window.URL.createObjectURL(bb));
- pom.setAttribute('download', filename);
- pom.dataset.downloadurl = ['text/plain', pom.download, pom.href].join(':');
- pom.draggable = true;
- pom.classList.add('dragout');
- pom.click();
- Unibase.Platform.Helpers.NavigationHelper.Instance().hideLoading();
- }
- });
- });
- }
- importPortlet(containerid, fileInfo) {
- var instance = this;
- var url = _appsettings.server_url() + '/apis/v4/unibase/platform/portlets/importportlet/np';
- Platform.Helpers.FileHelper.Instance().upload(url, fileInfo).then(function (response) {
- if (response.status == Unibase.Data.Status.Error) {
- MessageHelper.Instance().showError(response.message, "div_importmessage");
- }
- else {
- MessageHelper.Instance().showSuccess(response.message, "div_importmessage");
- $('#' + containerid).modal('hide');
- $('#' + containerid).remove();
- }
- Unibase.Platform.Helpers.NavigationHelper.Instance().hideLoading();
- });
- }
- static Instance() {
- return new ManageDashboard();
- }
- }
- Components.ManageDashboard = ManageDashboard;
- })(Components = Dashboards_1.Components || (Dashboards_1.Components = {}));
- })(Dashboards = Platform.Dashboards || (Platform.Dashboards = {}));
- })(Platform = Unibase.Platform || (Unibase.Platform = {}));
- })(Unibase || (Unibase = {}));
|