summaryrefslogtreecommitdiffstats
path: root/ecomp-sdk/epsdk-app-overlay/src/main/webapp/app/fusion/scripts/view-models/reportdashboard-page/src/components/directives/dashboardLayouts/dashboardLayouts.js
diff options
context:
space:
mode:
Diffstat (limited to 'ecomp-sdk/epsdk-app-overlay/src/main/webapp/app/fusion/scripts/view-models/reportdashboard-page/src/components/directives/dashboardLayouts/dashboardLayouts.js')
-rw-r--r--ecomp-sdk/epsdk-app-overlay/src/main/webapp/app/fusion/scripts/view-models/reportdashboard-page/src/components/directives/dashboardLayouts/dashboardLayouts.js151
1 files changed, 0 insertions, 151 deletions
diff --git a/ecomp-sdk/epsdk-app-overlay/src/main/webapp/app/fusion/scripts/view-models/reportdashboard-page/src/components/directives/dashboardLayouts/dashboardLayouts.js b/ecomp-sdk/epsdk-app-overlay/src/main/webapp/app/fusion/scripts/view-models/reportdashboard-page/src/components/directives/dashboardLayouts/dashboardLayouts.js
deleted file mode 100644
index bbf107a8..00000000
--- a/ecomp-sdk/epsdk-app-overlay/src/main/webapp/app/fusion/scripts/view-models/reportdashboard-page/src/components/directives/dashboardLayouts/dashboardLayouts.js
+++ /dev/null
@@ -1,151 +0,0 @@
-/*
- * Copyright (c) 2014 DataTorrent, Inc. ALL Rights Reserved.
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-'use strict';
-
-angular.module('ui.dashboard')
- .directive('dashboardLayouts', ['LayoutStorage', '$timeout', '$uibModal',
- function(LayoutStorage, $timeout, $uibModal) {
- return {
- scope: true,
- templateUrl: function(element, attr) {
- return attr.templateUrl ? attr.templateUrl : 'app/fusion/scripts/view-models/reportdashboard-page/src/components/directives/dashboardLayouts/dashboardLayouts.html';
- },
- link: function(scope, element, attrs) {
-
- scope.options = scope.$eval(attrs.dashboardLayouts);
-
- var layoutStorage = new LayoutStorage(scope.options);
-
- scope.layouts = layoutStorage.layouts;
-
- scope.createNewLayout = function() {
- var newLayout = {
- title: 'Custom',
- defaultWidgets: scope.options.defaultWidgets || []
- };
- layoutStorage.add(newLayout);
- scope.makeLayoutActive(newLayout);
- layoutStorage.save();
- return newLayout;
- };
-
- scope.removeLayout = function(layout) {
- layoutStorage.remove(layout);
- layoutStorage.save();
- };
-
- scope.makeLayoutActive = function(layout) {
-
- var current = layoutStorage.getActiveLayout();
-
- if (current && current.dashboard.unsavedChangeCount) {
- var modalInstance = $uibModal.open({
- templateUrl: 'template/SaveChangesModal.html',
- resolve: {
- layout: function() {
- return layout;
- }
- },
- controller: 'SaveChangesModalCtrl'
- });
-
- // Set resolve and reject callbacks for the result promise
- modalInstance.result.then(
- function() {
- current.dashboard.saveDashboard();
- scope._makeLayoutActive(layout);
- },
- function() {
- scope._makeLayoutActive(layout);
- }
- );
- } else {
- scope._makeLayoutActive(layout);
- }
-
- };
-
- scope._makeLayoutActive = function(layout) {
- angular.forEach(scope.layouts, function(l) {
- if (l !== layout) {
- l.active = false;
- } else {
- l.active = true;
- }
- });
- layoutStorage.save();
- };
-
- scope.isActive = function(layout) {
- return !!layout.active;
- };
-
- scope.editTitle = function(layout) {
- if (layout.locked) {
- return;
- }
-
- var input = element.find('input[data-layout="' + layout.id + '"]');
- layout.editingTitle = true;
-
- $timeout(function() {
- input.focus()[0].setSelectionRange(0, 9999);
- });
- };
-
- // saves whatever is in the title input as the new title
- scope.saveTitleEdit = function(layout) {
- layout.editingTitle = false;
- layoutStorage.save();
- };
-
- scope.options.saveLayouts = function() {
- layoutStorage.save(true);
- };
- scope.options.addWidget = function() {
- var layout = layoutStorage.getActiveLayout();
- if (layout) {
- layout.dashboard.addWidget.apply(layout.dashboard, arguments);
- }
- };
- scope.options.loadWidgets = function() {
- var layout = layoutStorage.getActiveLayout();
- if (layout) {
- layout.dashboard.loadWidgets.apply(layout.dashboard, arguments);
- }
- };
- scope.options.saveDashboard = function() {
- console.log("================= saveDashboard called =================")
- var layout = layoutStorage.getActiveLayout();
- console.log("===================== layout ===========================");
- console.log(layout);
- if (layout) {
- layout.dashboard.saveDashboard.apply(layout.dashboard, arguments);
- }
- };
-
- var sortableDefaults = {
- stop: function() {
- scope.options.saveLayouts();
- },
- distance: 5
- };
- scope.sortableOptions = angular.extend({}, sortableDefaults, scope.options.sortableOptions || {});
- }
- };
- }
- ]); \ No newline at end of file