Commit 4054d3de6e8c1da18d672abb9c0cf5eedb7c27d2

Authored by Igor Kulikov
1 parent 3ebd99ac

UI: Improve dashboard state management.

@@ -369,7 +369,7 @@ export default function DashboardController(types, dashboardUtils, widgetService @@ -369,7 +369,7 @@ export default function DashboardController(types, dashboardUtils, widgetService
369 } 369 }
370 } 370 }
371 371
372 - function openDashboardState(state) { 372 + function openDashboardState(state, openRightLayout) {
373 var layoutsData = dashboardUtils.getStateLayoutsData(vm.dashboard, state); 373 var layoutsData = dashboardUtils.getStateLayoutsData(vm.dashboard, state);
374 if (layoutsData) { 374 if (layoutsData) {
375 vm.dashboardCtx.state = state; 375 vm.dashboardCtx.state = state;
@@ -387,7 +387,7 @@ export default function DashboardController(types, dashboardUtils, widgetService @@ -387,7 +387,7 @@ export default function DashboardController(types, dashboardUtils, widgetService
387 layoutVisibilityChanged = !vm.isMobile; 387 layoutVisibilityChanged = !vm.isMobile;
388 } 388 }
389 } 389 }
390 - vm.isRightLayoutOpened = false; 390 + vm.isRightLayoutOpened = openRightLayout ? true : false;
391 updateLayouts(layoutVisibilityChanged); 391 updateLayouts(layoutVisibilityChanged);
392 } 392 }
393 393
@@ -26,12 +26,13 @@ export default function DefaultStateController($scope, $location, $state, $state @@ -26,12 +26,13 @@ export default function DefaultStateController($scope, $location, $state, $state
26 vm.navigatePrevState = navigatePrevState; 26 vm.navigatePrevState = navigatePrevState;
27 vm.getStateId = getStateId; 27 vm.getStateId = getStateId;
28 vm.getStateParams = getStateParams; 28 vm.getStateParams = getStateParams;
  29 + vm.getStateParamsByStateId = getStateParamsByStateId;
29 30
30 vm.getStateName = getStateName; 31 vm.getStateName = getStateName;
31 32
32 vm.displayStateSelection = displayStateSelection; 33 vm.displayStateSelection = displayStateSelection;
33 34
34 - function openState(id, params) { 35 + function openState(id, params, openRightLayout) {
35 if (vm.states && vm.states[id]) { 36 if (vm.states && vm.states[id]) {
36 if (!params) { 37 if (!params) {
37 params = {}; 38 params = {};
@@ -42,11 +43,11 @@ export default function DefaultStateController($scope, $location, $state, $state @@ -42,11 +43,11 @@ export default function DefaultStateController($scope, $location, $state, $state
42 } 43 }
43 //append new state 44 //append new state
44 vm.stateObject[0] = newState; 45 vm.stateObject[0] = newState;
45 - gotoState(vm.stateObject[0].id, true); 46 + gotoState(vm.stateObject[0].id, true, openRightLayout);
46 } 47 }
47 } 48 }
48 49
49 - function updateState(id, params) { 50 + function updateState(id, params, openRightLayout) {
50 if (vm.states && vm.states[id]) { 51 if (vm.states && vm.states[id]) {
51 if (!params) { 52 if (!params) {
52 params = {}; 53 params = {};
@@ -57,7 +58,7 @@ export default function DefaultStateController($scope, $location, $state, $state @@ -57,7 +58,7 @@ export default function DefaultStateController($scope, $location, $state, $state
57 } 58 }
58 //replace with new state 59 //replace with new state
59 vm.stateObject[0] = newState; 60 vm.stateObject[0] = newState;
60 - gotoState(vm.stateObject[0].id, true); 61 + gotoState(vm.stateObject[0].id, true, openRightLayout);
61 } 62 }
62 } 63 }
63 64
@@ -76,6 +77,24 @@ export default function DefaultStateController($scope, $location, $state, $state @@ -76,6 +77,24 @@ export default function DefaultStateController($scope, $location, $state, $state
76 return vm.stateObject[vm.stateObject.length-1].params; 77 return vm.stateObject[vm.stateObject.length-1].params;
77 } 78 }
78 79
  80 + function getStateParamsByStateId(stateId) {
  81 + var stateObj = getStateObjById(stateId);
  82 + if (stateObj) {
  83 + return stateObj.params;
  84 + } else {
  85 + return null;
  86 + }
  87 + }
  88 +
  89 + function getStateObjById(id) {
  90 + for (var i=0; i < vm.stateObject.length; i++) {
  91 + if (vm.stateObject[i].id === id) {
  92 + return vm.stateObject[i];
  93 + }
  94 + }
  95 + return null;
  96 + }
  97 +
79 function getStateName(id, state) { 98 function getStateName(id, state) {
80 var result = ''; 99 var result = '';
81 var translationId = types.translate.dashboardStatePrefix + id; 100 var translationId = types.translate.dashboardStatePrefix + id;
@@ -161,9 +180,9 @@ export default function DefaultStateController($scope, $location, $state, $state @@ -161,9 +180,9 @@ export default function DefaultStateController($scope, $location, $state, $state
161 }, true); 180 }, true);
162 } 181 }
163 182
164 - function gotoState(stateId, update) { 183 + function gotoState(stateId, update, openRightLayout) {
165 if (vm.dashboardCtrl.dashboardCtx.state != stateId) { 184 if (vm.dashboardCtrl.dashboardCtx.state != stateId) {
166 - vm.dashboardCtrl.openDashboardState(stateId); 185 + vm.dashboardCtrl.openDashboardState(stateId, openRightLayout);
167 if (update) { 186 if (update) {
168 updateLocation(); 187 updateLocation();
169 } 188 }
@@ -28,12 +28,13 @@ export default function EntityStateController($scope, $location, $state, $stateP @@ -28,12 +28,13 @@ export default function EntityStateController($scope, $location, $state, $stateP
28 vm.navigatePrevState = navigatePrevState; 28 vm.navigatePrevState = navigatePrevState;
29 vm.getStateId = getStateId; 29 vm.getStateId = getStateId;
30 vm.getStateParams = getStateParams; 30 vm.getStateParams = getStateParams;
  31 + vm.getStateParamsByStateId = getStateParamsByStateId;
31 32
32 vm.getStateName = getStateName; 33 vm.getStateName = getStateName;
33 34
34 vm.selectedStateIndex = -1; 35 vm.selectedStateIndex = -1;
35 36
36 - function openState(id, params) { 37 + function openState(id, params, openRightLayout) {
37 if (vm.states && vm.states[id]) { 38 if (vm.states && vm.states[id]) {
38 resolveEntity(params).then( 39 resolveEntity(params).then(
39 function success(entityName) { 40 function success(entityName) {
@@ -45,13 +46,13 @@ export default function EntityStateController($scope, $location, $state, $stateP @@ -45,13 +46,13 @@ export default function EntityStateController($scope, $location, $state, $stateP
45 //append new state 46 //append new state
46 vm.stateObject.push(newState); 47 vm.stateObject.push(newState);
47 vm.selectedStateIndex = vm.stateObject.length-1; 48 vm.selectedStateIndex = vm.stateObject.length-1;
48 - gotoState(vm.stateObject[vm.stateObject.length-1].id, true); 49 + gotoState(vm.stateObject[vm.stateObject.length-1].id, true, openRightLayout);
49 } 50 }
50 ); 51 );
51 } 52 }
52 } 53 }
53 54
54 - function updateState(id, params) { 55 + function updateState(id, params, openRightLayout) {
55 if (vm.states && vm.states[id]) { 56 if (vm.states && vm.states[id]) {
56 resolveEntity(params).then( 57 resolveEntity(params).then(
57 function success(entityName) { 58 function success(entityName) {
@@ -62,7 +63,7 @@ export default function EntityStateController($scope, $location, $state, $stateP @@ -62,7 +63,7 @@ export default function EntityStateController($scope, $location, $state, $stateP
62 } 63 }
63 //replace with new state 64 //replace with new state
64 vm.stateObject[vm.stateObject.length - 1] = newState; 65 vm.stateObject[vm.stateObject.length - 1] = newState;
65 - gotoState(vm.stateObject[vm.stateObject.length - 1].id, true); 66 + gotoState(vm.stateObject[vm.stateObject.length - 1].id, true, openRightLayout);
66 } 67 }
67 ); 68 );
68 } 69 }
@@ -84,6 +85,24 @@ export default function EntityStateController($scope, $location, $state, $stateP @@ -84,6 +85,24 @@ export default function EntityStateController($scope, $location, $state, $stateP
84 return vm.stateObject[vm.stateObject.length-1].params; 85 return vm.stateObject[vm.stateObject.length-1].params;
85 } 86 }
86 87
  88 + function getStateParamsByStateId(stateId) {
  89 + var stateObj = getStateObjById(stateId);
  90 + if (stateObj) {
  91 + return stateObj.params;
  92 + } else {
  93 + return null;
  94 + }
  95 + }
  96 +
  97 + function getStateObjById(id) {
  98 + for (var i=0; i < vm.stateObject.length; i++) {
  99 + if (vm.stateObject[i].id === id) {
  100 + return vm.stateObject[i];
  101 + }
  102 + }
  103 + return null;
  104 + }
  105 +
87 function getStateName(index) { 106 function getStateName(index) {
88 var result = ''; 107 var result = '';
89 if (vm.stateObject[index]) { 108 if (vm.stateObject[index]) {
@@ -223,9 +242,9 @@ export default function EntityStateController($scope, $location, $state, $stateP @@ -223,9 +242,9 @@ export default function EntityStateController($scope, $location, $state, $stateP
223 }); 242 });
224 } 243 }
225 244
226 - function gotoState(stateId, update) { 245 + function gotoState(stateId, update, openRightLayout) {
227 if (vm.dashboardCtrl.dashboardCtx.state != stateId) { 246 if (vm.dashboardCtrl.dashboardCtx.state != stateId) {
228 - vm.dashboardCtrl.openDashboardState(stateId); 247 + vm.dashboardCtrl.openDashboardState(stateId, openRightLayout);
229 if (update) { 248 if (update) {
230 updateLocation(); 249 updateLocation();
231 } 250 }
@@ -29,15 +29,15 @@ export default function StatesComponent($compile, $templateCache, $controller, s @@ -29,15 +29,15 @@ export default function StatesComponent($compile, $templateCache, $controller, s
29 29
30 var stateController = scope.dashboardCtrl.dashboardCtx.stateController; 30 var stateController = scope.dashboardCtrl.dashboardCtx.stateController;
31 31
32 - stateController.openState = function(id, params) { 32 + stateController.openState = function(id, params, openRightLayout) {
33 if (scope.statesController) { 33 if (scope.statesController) {
34 - scope.statesController.openState(id, params); 34 + scope.statesController.openState(id, params, openRightLayout);
35 } 35 }
36 } 36 }
37 37
38 - stateController.updateState = function(id, params) { 38 + stateController.updateState = function(id, params, openRightLayout) {
39 if (scope.statesController) { 39 if (scope.statesController) {
40 - scope.statesController.updateState(id, params); 40 + scope.statesController.updateState(id, params, openRightLayout);
41 } 41 }
42 } 42 }
43 43
@@ -62,6 +62,14 @@ export default function StatesComponent($compile, $templateCache, $controller, s @@ -62,6 +62,14 @@ export default function StatesComponent($compile, $templateCache, $controller, s
62 return {}; 62 return {};
63 } 63 }
64 } 64 }
  65 +
  66 + stateController.getStateParamsByStateId = function(id) {
  67 + if (scope.statesController) {
  68 + return scope.statesController.getStateParamsByStateId(id);
  69 + } else {
  70 + return null;
  71 + }
  72 + }
65 } 73 }
66 74
67 scope.$on('$destroy', function callOnDestroyHook() { 75 scope.$on('$destroy', function callOnDestroyHook() {