ONOS-2202 - GUI -- Moved flow, port, and group navigation buttons out of device …
…details panel. Created tab-like behavior to switch between the three views when viewing any of them. Change-Id: Ibc4291689e913a3537bd621e8e579f5e198ae5f2
Showing
16 changed files
with
154 additions
and
65 deletions
| ... | @@ -47,6 +47,9 @@ | ... | @@ -47,6 +47,9 @@ |
| 47 | 47 | ||
| 48 | devIcon_SWITCH: 'switch', | 48 | devIcon_SWITCH: 'switch', |
| 49 | devIcon_ROADM: 'roadm', | 49 | devIcon_ROADM: 'roadm', |
| 50 | + flowTable: 'flowTable', | ||
| 51 | + portTable: 'portTable', | ||
| 52 | + groupTable: 'groupTable', | ||
| 50 | 53 | ||
| 51 | hostIcon_endstation: 'endstation', | 54 | hostIcon_endstation: 'endstation', |
| 52 | hostIcon_router: 'router', | 55 | hostIcon_router: 'router', | ... | ... |
| ... | @@ -115,6 +115,12 @@ div.ctrl-btns div { | ... | @@ -115,6 +115,12 @@ div.ctrl-btns div { |
| 115 | cursor: pointer; | 115 | cursor: pointer; |
| 116 | } | 116 | } |
| 117 | 117 | ||
| 118 | +div.ctrl-btns div.separator { | ||
| 119 | + cursor: auto; | ||
| 120 | + width: 24px; | ||
| 121 | + border: none; | ||
| 122 | +} | ||
| 123 | + | ||
| 118 | /* Inactive */ | 124 | /* Inactive */ |
| 119 | .light .ctrl-btns div g.icon rect, | 125 | .light .ctrl-btns div g.icon rect, |
| 120 | .light .ctrl-btns div:hover g.icon rect { | 126 | .light .ctrl-btns div:hover g.icon rect { | ... | ... |
| ... | @@ -26,12 +26,6 @@ | ... | @@ -26,12 +26,6 @@ |
| 26 | width: 290px; | 26 | width: 290px; |
| 27 | } | 27 | } |
| 28 | 28 | ||
| 29 | -#ov-app div.ctrl-btns div.separator { | ||
| 30 | - cursor: auto; | ||
| 31 | - width: 24px; | ||
| 32 | - border: none; | ||
| 33 | -} | ||
| 34 | - | ||
| 35 | #ov-app form#inputFileForm, | 29 | #ov-app form#inputFileForm, |
| 36 | #ov-app input#uploadFile { | 30 | #ov-app input#uploadFile { |
| 37 | display: none; | 31 | display: none; | ... | ... |
| ... | @@ -4,8 +4,21 @@ | ... | @@ -4,8 +4,21 @@ |
| 4 | <h2>Devices ({{tableData.length}} total)</h2> | 4 | <h2>Devices ({{tableData.length}} total)</h2> |
| 5 | <div class="ctrl-btns"> | 5 | <div class="ctrl-btns"> |
| 6 | <div class="refresh" ng-class="{active: autoRefresh}" | 6 | <div class="refresh" ng-class="{active: autoRefresh}" |
| 7 | - icon icon-size="36" icon-id="refresh" | 7 | + icon icon-id="refresh" icon-size="36" |
| 8 | ng-click="toggleRefresh()"></div> | 8 | ng-click="toggleRefresh()"></div> |
| 9 | + <div class="separator"></div> | ||
| 10 | + | ||
| 11 | + <div ng-class="{active: !!selId}" | ||
| 12 | + icon icon-id="flowTable" icon-size="36" | ||
| 13 | + ng-click="nav('flow')"></div> | ||
| 14 | + | ||
| 15 | + <div ng-class="{active: !!selId}" | ||
| 16 | + icon icon-id="portTable" icon-size="36" | ||
| 17 | + ng-click="nav('port')"></div> | ||
| 18 | + | ||
| 19 | + <div ng-class="{active: !!selId}" | ||
| 20 | + icon icon-id="groupTable" icon-size="36" | ||
| 21 | + ng-click="nav('group')"></div> | ||
| 9 | </div> | 22 | </div> |
| 10 | </div> | 23 | </div> |
| 11 | 24 | ... | ... |
| ... | @@ -22,7 +22,7 @@ | ... | @@ -22,7 +22,7 @@ |
| 22 | 'use strict'; | 22 | 'use strict'; |
| 23 | 23 | ||
| 24 | // injected refs | 24 | // injected refs |
| 25 | - var $log, $scope, fs, mast, ps, wss, is, bns, ns, ttip; | 25 | + var $log, $scope, fs, mast, ps, wss, is, ns; |
| 26 | 26 | ||
| 27 | // internal state | 27 | // internal state |
| 28 | var detailsPanel, | 28 | var detailsPanel, |
| ... | @@ -35,12 +35,8 @@ | ... | @@ -35,12 +35,8 @@ |
| 35 | ctnrPdg = 24, | 35 | ctnrPdg = 24, |
| 36 | scrollSize = 17, | 36 | scrollSize = 17, |
| 37 | portsTblPdg = 50, | 37 | portsTblPdg = 50, |
| 38 | - flowPath = 'flow', | ||
| 39 | - portPath = 'port', | ||
| 40 | - groupPath = 'group', | ||
| 41 | 38 | ||
| 42 | pName = 'device-details-panel', | 39 | pName = 'device-details-panel', |
| 43 | - bName = 'dev-dets-p', | ||
| 44 | detailsReq = 'deviceDetailsRequest', | 40 | detailsReq = 'deviceDetailsRequest', |
| 45 | detailsResp = 'deviceDetailsResponse', | 41 | detailsResp = 'deviceDetailsResponse', |
| 46 | 42 | ||
| ... | @@ -85,7 +81,6 @@ | ... | @@ -85,7 +81,6 @@ |
| 85 | tblDiv.append('div').classed('left', true).append('table'); | 81 | tblDiv.append('div').classed('left', true).append('table'); |
| 86 | tblDiv.append('div').classed('right', true).append('table'); | 82 | tblDiv.append('div').classed('right', true).append('table'); |
| 87 | 83 | ||
| 88 | - top.append('div').classed('actionBtns', true); | ||
| 89 | top.append('hr'); | 84 | top.append('hr'); |
| 90 | 85 | ||
| 91 | bottom = container.append('div').classed('bottom', true); | 86 | bottom = container.append('div').classed('bottom', true); |
| ... | @@ -103,7 +98,7 @@ | ... | @@ -103,7 +98,7 @@ |
| 103 | addCell('value', value); | 98 | addCell('value', value); |
| 104 | } | 99 | } |
| 105 | 100 | ||
| 106 | - function populateTop(tblDiv, btnsDiv, details) { | 101 | + function populateTop(tblDiv, details) { |
| 107 | var leftTbl = tblDiv.select('.left') | 102 | var leftTbl = tblDiv.select('.left') |
| 108 | .select('table') | 103 | .select('table') |
| 109 | .append('tbody'), | 104 | .append('tbody'), |
| ... | @@ -118,34 +113,6 @@ | ... | @@ -118,34 +113,6 @@ |
| 118 | // properties are split into two tables | 113 | // properties are split into two tables |
| 119 | addProp(i < 3 ? leftTbl : rightTbl, i, details[prop]); | 114 | addProp(i < 3 ? leftTbl : rightTbl, i, details[prop]); |
| 120 | }); | 115 | }); |
| 121 | - | ||
| 122 | - bns.button( | ||
| 123 | - btnsDiv, | ||
| 124 | - bName + '-flows', | ||
| 125 | - 'flowTable', | ||
| 126 | - function () { | ||
| 127 | - ns.navTo(flowPath, { devId: details.id }); | ||
| 128 | - }, | ||
| 129 | - 'Show flow view for this device' | ||
| 130 | - ); | ||
| 131 | - bns.button( | ||
| 132 | - btnsDiv, | ||
| 133 | - bName + '-ports', | ||
| 134 | - 'portTable', | ||
| 135 | - function () { | ||
| 136 | - ns.navTo(portPath, { devId: details.id }); | ||
| 137 | - }, | ||
| 138 | - 'Show port view for this device' | ||
| 139 | - ); | ||
| 140 | - bns.button( | ||
| 141 | - btnsDiv, | ||
| 142 | - bName + '-groups', | ||
| 143 | - 'groupTable', | ||
| 144 | - function () { | ||
| 145 | - ns.navTo(groupPath, { devId: details.id }); | ||
| 146 | - }, | ||
| 147 | - 'Show group view for this device' | ||
| 148 | - ); | ||
| 149 | } | 116 | } |
| 150 | 117 | ||
| 151 | function addPortRow(tbody, port) { | 118 | function addPortRow(tbody, port) { |
| ... | @@ -187,15 +154,14 @@ | ... | @@ -187,15 +154,14 @@ |
| 187 | } | 154 | } |
| 188 | 155 | ||
| 189 | function populateDetails(details) { | 156 | function populateDetails(details) { |
| 190 | - var topTbs, btnsDiv, btmTbl, ports; | 157 | + var topTbs, btmTbl, ports; |
| 191 | setUpPanel(); | 158 | setUpPanel(); |
| 192 | 159 | ||
| 193 | topTbs = top.select('.top-tables'); | 160 | topTbs = top.select('.top-tables'); |
| 194 | - btnsDiv = top.select('.actionBtns'); | ||
| 195 | btmTbl = bottom.select('table'); | 161 | btmTbl = bottom.select('table'); |
| 196 | ports = details.ports; | 162 | ports = details.ports; |
| 197 | 163 | ||
| 198 | - populateTop(topTbs, btnsDiv, details); | 164 | + populateTop(topTbs, details); |
| 199 | populateBottom(btmTbl, ports); | 165 | populateBottom(btmTbl, ports); |
| 200 | 166 | ||
| 201 | detailsPanel.height(pHeight); | 167 | detailsPanel.height(pHeight); |
| ... | @@ -223,10 +189,10 @@ | ... | @@ -223,10 +189,10 @@ |
| 223 | .controller('OvDeviceCtrl', | 189 | .controller('OvDeviceCtrl', |
| 224 | ['$log', '$scope', 'TableBuilderService', 'FnService', | 190 | ['$log', '$scope', 'TableBuilderService', 'FnService', |
| 225 | 'MastService', 'PanelService', 'WebSocketService', 'IconService', | 191 | 'MastService', 'PanelService', 'WebSocketService', 'IconService', |
| 226 | - 'ButtonService', 'NavService', 'TooltipService', | 192 | + 'NavService', |
| 227 | 193 | ||
| 228 | function (_$log_, _$scope_, | 194 | function (_$log_, _$scope_, |
| 229 | - tbs, _fs_, _mast_, _ps_, _wss_, _is_, _bns_, _ns_, _ttip_) { | 195 | + tbs, _fs_, _mast_, _ps_, _wss_, _is_, _ns_) { |
| 230 | $log = _$log_; | 196 | $log = _$log_; |
| 231 | $scope = _$scope_; | 197 | $scope = _$scope_; |
| 232 | fs = _fs_; | 198 | fs = _fs_; |
| ... | @@ -234,9 +200,7 @@ | ... | @@ -234,9 +200,7 @@ |
| 234 | ps = _ps_; | 200 | ps = _ps_; |
| 235 | wss = _wss_; | 201 | wss = _wss_; |
| 236 | is = _is_; | 202 | is = _is_; |
| 237 | - bns = _bns_; | ||
| 238 | ns = _ns_; | 203 | ns = _ns_; |
| 239 | - ttip = _ttip_; | ||
| 240 | var handlers = {}; | 204 | var handlers = {}; |
| 241 | $scope.panelData = []; | 205 | $scope.panelData = []; |
| 242 | 206 | ||
| ... | @@ -260,6 +224,12 @@ | ... | @@ -260,6 +224,12 @@ |
| 260 | handlers[detailsResp] = respDetailsCb; | 224 | handlers[detailsResp] = respDetailsCb; |
| 261 | wss.bindHandlers(handlers); | 225 | wss.bindHandlers(handlers); |
| 262 | 226 | ||
| 227 | + $scope.nav = function (path) { | ||
| 228 | + if ($scope.selId) { | ||
| 229 | + ns.navTo(path, { devId: $scope.selId }); | ||
| 230 | + } | ||
| 231 | + }; | ||
| 232 | + | ||
| 263 | $scope.$on('$destroy', function () { | 233 | $scope.$on('$destroy', function () { |
| 264 | wss.unbindHandlers(handlers); | 234 | wss.unbindHandlers(handlers); |
| 265 | }); | 235 | }); |
| ... | @@ -293,7 +263,7 @@ | ... | @@ -293,7 +263,7 @@ |
| 293 | return { | 263 | return { |
| 294 | h: $window.innerHeight, | 264 | h: $window.innerHeight, |
| 295 | w: $window.innerWidth | 265 | w: $window.innerWidth |
| 296 | - } | 266 | + }; |
| 297 | }, function () { | 267 | }, function () { |
| 298 | if (!fs.isEmptyObject(scope.panelData)) { | 268 | if (!fs.isEmptyObject(scope.panelData)) { |
| 299 | heightCalc(); | 269 | heightCalc(); | ... | ... |
| ... | @@ -23,7 +23,21 @@ | ... | @@ -23,7 +23,21 @@ |
| 23 | } | 23 | } |
| 24 | 24 | ||
| 25 | #ov-flow div.ctrl-btns { | 25 | #ov-flow div.ctrl-btns { |
| 26 | - width: 45px; | 26 | + width: 240px; |
| 27 | +} | ||
| 28 | + | ||
| 29 | +.light #ov-flow .current-view use { | ||
| 30 | + fill: white; | ||
| 31 | +} | ||
| 32 | +.dark #ov-flow .current-view use { | ||
| 33 | + fill: #304860; | ||
| 34 | +} | ||
| 35 | + | ||
| 36 | +.light #ov-flow .current-view rect { | ||
| 37 | + fill: deepskyblue; | ||
| 38 | +} | ||
| 39 | +.dark #ov-flow .current-view rect { | ||
| 40 | + fill: #eee; | ||
| 27 | } | 41 | } |
| 28 | 42 | ||
| 29 | .light #ov-flow tr:nth-child(6n + 1), | 43 | .light #ov-flow tr:nth-child(6n + 1), | ... | ... |
| ... | @@ -9,6 +9,19 @@ | ... | @@ -9,6 +9,19 @@ |
| 9 | <div class="refresh" ng-class="{active: autoRefresh}" | 9 | <div class="refresh" ng-class="{active: autoRefresh}" |
| 10 | icon icon-size="36" icon-id="refresh" | 10 | icon icon-size="36" icon-id="refresh" |
| 11 | ng-click="toggleRefresh()"></div> | 11 | ng-click="toggleRefresh()"></div> |
| 12 | + | ||
| 13 | + <div class="separator"></div> | ||
| 14 | + | ||
| 15 | + <div class="current-view" | ||
| 16 | + icon icon-id="flowTable" icon-size="36"></div> | ||
| 17 | + | ||
| 18 | + <div class="active" | ||
| 19 | + icon icon-id="portTable" icon-size="36" | ||
| 20 | + ng-click="nav('port')"></div> | ||
| 21 | + | ||
| 22 | + <div class="active" | ||
| 23 | + icon icon-id="groupTable" icon-size="36" | ||
| 24 | + ng-click="nav('group')"></div> | ||
| 12 | </div> | 25 | </div> |
| 13 | </div> | 26 | </div> |
| 14 | 27 | ... | ... |
| ... | @@ -22,20 +22,21 @@ | ... | @@ -22,20 +22,21 @@ |
| 22 | 'use strict'; | 22 | 'use strict'; |
| 23 | 23 | ||
| 24 | // injected references | 24 | // injected references |
| 25 | - var $log, $scope, $location, fs, tbs; | 25 | + var $log, $scope, $location, fs, tbs, ns; |
| 26 | 26 | ||
| 27 | angular.module('ovFlow', []) | 27 | angular.module('ovFlow', []) |
| 28 | .controller('OvFlowCtrl', | 28 | .controller('OvFlowCtrl', |
| 29 | ['$log', '$scope', '$location', | 29 | ['$log', '$scope', '$location', |
| 30 | - 'FnService', 'TableBuilderService', | 30 | + 'FnService', 'TableBuilderService', 'NavService', |
| 31 | 31 | ||
| 32 | - function (_$log_, _$scope_, _$location_, _fs_, _tbs_) { | 32 | + function (_$log_, _$scope_, _$location_, _fs_, _tbs_, _ns_) { |
| 33 | var params; | 33 | var params; |
| 34 | $log = _$log_; | 34 | $log = _$log_; |
| 35 | $scope = _$scope_; | 35 | $scope = _$scope_; |
| 36 | $location = _$location_; | 36 | $location = _$location_; |
| 37 | fs = _fs_; | 37 | fs = _fs_; |
| 38 | tbs = _tbs_; | 38 | tbs = _tbs_; |
| 39 | + ns = _ns_; | ||
| 39 | 40 | ||
| 40 | params = $location.search(); | 41 | params = $location.search(); |
| 41 | if (params.hasOwnProperty('devId')) { | 42 | if (params.hasOwnProperty('devId')) { |
| ... | @@ -48,6 +49,12 @@ | ... | @@ -48,6 +49,12 @@ |
| 48 | query: params | 49 | query: params |
| 49 | }); | 50 | }); |
| 50 | 51 | ||
| 52 | + $scope.nav = function (path) { | ||
| 53 | + if ($scope.devId) { | ||
| 54 | + ns.navTo(path, { devId: $scope.devId }); | ||
| 55 | + } | ||
| 56 | + }; | ||
| 57 | + | ||
| 51 | $log.log('OvFlowCtrl has been created'); | 58 | $log.log('OvFlowCtrl has been created'); |
| 52 | }]); | 59 | }]); |
| 53 | }()); | 60 | }()); | ... | ... |
| ... | @@ -23,7 +23,21 @@ | ... | @@ -23,7 +23,21 @@ |
| 23 | } | 23 | } |
| 24 | 24 | ||
| 25 | #ov-group div.ctrl-btns { | 25 | #ov-group div.ctrl-btns { |
| 26 | - width: 45px; | 26 | + width: 240px; |
| 27 | +} | ||
| 28 | + | ||
| 29 | +.light #ov-group .current-view use { | ||
| 30 | + fill: white; | ||
| 31 | +} | ||
| 32 | +.dark #ov-group .current-view use { | ||
| 33 | + fill: #304860; | ||
| 34 | +} | ||
| 35 | + | ||
| 36 | +.light #ov-group .current-view rect { | ||
| 37 | + fill: deepskyblue; | ||
| 38 | +} | ||
| 39 | +.dark #ov-group .current-view rect { | ||
| 40 | + fill: #eee; | ||
| 27 | } | 41 | } |
| 28 | 42 | ||
| 29 | .light #ov-group tr:nth-child(4n + 1), | 43 | .light #ov-group tr:nth-child(4n + 1), | ... | ... |
| ... | @@ -25,6 +25,19 @@ | ... | @@ -25,6 +25,19 @@ |
| 25 | <div class="refresh" ng-class="{active: autoRefresh}" | 25 | <div class="refresh" ng-class="{active: autoRefresh}" |
| 26 | icon icon-size="36" icon-id="refresh" | 26 | icon icon-size="36" icon-id="refresh" |
| 27 | ng-click="toggleRefresh()"></div> | 27 | ng-click="toggleRefresh()"></div> |
| 28 | + | ||
| 29 | + <div class="separator"></div> | ||
| 30 | + | ||
| 31 | + <div class="active" | ||
| 32 | + icon icon-id="flowTable" icon-size="36" | ||
| 33 | + ng-click="nav('flow')"></div> | ||
| 34 | + | ||
| 35 | + <div class="active" | ||
| 36 | + icon icon-id="portTable" icon-size="36" | ||
| 37 | + ng-click="nav('port')"></div> | ||
| 38 | + | ||
| 39 | + <div class="current-view" | ||
| 40 | + icon icon-id="groupTable" icon-size="36"></div> | ||
| 28 | </div> | 41 | </div> |
| 29 | </div> | 42 | </div> |
| 30 | 43 | ... | ... |
| ... | @@ -22,20 +22,21 @@ | ... | @@ -22,20 +22,21 @@ |
| 22 | 'use strict'; | 22 | 'use strict'; |
| 23 | 23 | ||
| 24 | // injected references | 24 | // injected references |
| 25 | - var $log, $scope, $location, fs, tbs; | 25 | + var $log, $scope, $location, fs, tbs, ns; |
| 26 | 26 | ||
| 27 | angular.module('ovGroup', []) | 27 | angular.module('ovGroup', []) |
| 28 | .controller('OvGroupCtrl', | 28 | .controller('OvGroupCtrl', |
| 29 | ['$log', '$scope', '$location', '$sce', | 29 | ['$log', '$scope', '$location', '$sce', |
| 30 | - 'FnService', 'TableBuilderService', | 30 | + 'FnService', 'TableBuilderService', 'NavService', |
| 31 | 31 | ||
| 32 | - function (_$log_, _$scope_, _$location_, $sce, _fs_, _tbs_) { | 32 | + function (_$log_, _$scope_, _$location_, $sce, _fs_, _tbs_, _ns_) { |
| 33 | var params; | 33 | var params; |
| 34 | $log = _$log_; | 34 | $log = _$log_; |
| 35 | $scope = _$scope_; | 35 | $scope = _$scope_; |
| 36 | $location = _$location_; | 36 | $location = _$location_; |
| 37 | fs = _fs_; | 37 | fs = _fs_; |
| 38 | tbs = _tbs_; | 38 | tbs = _tbs_; |
| 39 | + ns = _ns_; | ||
| 39 | 40 | ||
| 40 | params = $location.search(); | 41 | params = $location.search(); |
| 41 | if (params.hasOwnProperty('devId')) { | 42 | if (params.hasOwnProperty('devId')) { |
| ... | @@ -56,6 +57,12 @@ | ... | @@ -56,6 +57,12 @@ |
| 56 | } | 57 | } |
| 57 | }); | 58 | }); |
| 58 | 59 | ||
| 60 | + $scope.nav = function (path) { | ||
| 61 | + if ($scope.devId) { | ||
| 62 | + ns.navTo(path, { devId: $scope.devId }); | ||
| 63 | + } | ||
| 64 | + }; | ||
| 65 | + | ||
| 59 | $log.log('OvGroupCtrl has been created'); | 66 | $log.log('OvGroupCtrl has been created'); |
| 60 | }]); | 67 | }]); |
| 61 | }()); | 68 | }()); | ... | ... |
| ... | @@ -23,9 +23,23 @@ | ... | @@ -23,9 +23,23 @@ |
| 23 | } | 23 | } |
| 24 | 24 | ||
| 25 | #ov-port div.ctrl-btns { | 25 | #ov-port div.ctrl-btns { |
| 26 | - width: 45px; | 26 | + width: 240px; |
| 27 | } | 27 | } |
| 28 | 28 | ||
| 29 | -#ov-port tr:not(.no-data) td { | 29 | +.light #ov-port .current-view use { |
| 30 | + fill: white; | ||
| 31 | +} | ||
| 32 | +.dark #ov-port .current-view use { | ||
| 33 | + fill: #304860; | ||
| 34 | +} | ||
| 35 | + | ||
| 36 | +.light #ov-port .current-view rect { | ||
| 37 | + fill: deepskyblue; | ||
| 38 | +} | ||
| 39 | +.dark #ov-port .current-view rect { | ||
| 40 | + fill: #eee; | ||
| 41 | +} | ||
| 42 | + | ||
| 43 | +#ov-port td { | ||
| 30 | text-align: right; | 44 | text-align: right; |
| 31 | } | 45 | } |
| ... | \ No newline at end of file | ... | \ No newline at end of file | ... | ... |
| ... | @@ -25,6 +25,19 @@ | ... | @@ -25,6 +25,19 @@ |
| 25 | <div class="refresh" ng-class="{active: autoRefresh}" | 25 | <div class="refresh" ng-class="{active: autoRefresh}" |
| 26 | icon icon-size="36" icon-id="refresh" | 26 | icon icon-size="36" icon-id="refresh" |
| 27 | ng-click="toggleRefresh()"></div> | 27 | ng-click="toggleRefresh()"></div> |
| 28 | + | ||
| 29 | + <div class="separator"></div> | ||
| 30 | + | ||
| 31 | + <div class="active" | ||
| 32 | + icon icon-id="flowTable" icon-size="36" | ||
| 33 | + ng-click="nav('flow')"></div> | ||
| 34 | + | ||
| 35 | + <div class="current-view" | ||
| 36 | + icon icon-id="portTable" icon-size="36"></div> | ||
| 37 | + | ||
| 38 | + <div class="active" | ||
| 39 | + icon icon-id="groupTable" icon-size="36" | ||
| 40 | + ng-click="nav('group')"></div> | ||
| 28 | </div> | 41 | </div> |
| 29 | </div> | 42 | </div> |
| 30 | 43 | ... | ... |
| ... | @@ -22,19 +22,21 @@ | ... | @@ -22,19 +22,21 @@ |
| 22 | 'use strict'; | 22 | 'use strict'; |
| 23 | 23 | ||
| 24 | // injected references | 24 | // injected references |
| 25 | - var $log, $scope, $location, fs, tbs; | 25 | + var $log, $scope, $location, fs, tbs, ns; |
| 26 | 26 | ||
| 27 | angular.module('ovPort', []) | 27 | angular.module('ovPort', []) |
| 28 | .controller('OvPortCtrl', | 28 | .controller('OvPortCtrl', |
| 29 | - ['$log', '$scope', '$location', 'FnService', 'TableBuilderService', | 29 | + ['$log', '$scope', '$location', |
| 30 | + 'FnService', 'TableBuilderService', 'NavService', | ||
| 30 | 31 | ||
| 31 | - function (_$log_, _$scope_, _$location_, _fs_, _tbs_) { | 32 | + function (_$log_, _$scope_, _$location_, _fs_, _tbs_, _ns_) { |
| 32 | var params; | 33 | var params; |
| 33 | $log = _$log_; | 34 | $log = _$log_; |
| 34 | $scope = _$scope_; | 35 | $scope = _$scope_; |
| 35 | $location = _$location_; | 36 | $location = _$location_; |
| 36 | fs = _fs_; | 37 | fs = _fs_; |
| 37 | tbs = _tbs_; | 38 | tbs = _tbs_; |
| 39 | + ns = _ns_; | ||
| 38 | 40 | ||
| 39 | params = $location.search(); | 41 | params = $location.search(); |
| 40 | if (params.hasOwnProperty('devId')) { | 42 | if (params.hasOwnProperty('devId')) { |
| ... | @@ -47,6 +49,12 @@ | ... | @@ -47,6 +49,12 @@ |
| 47 | query: params | 49 | query: params |
| 48 | }); | 50 | }); |
| 49 | 51 | ||
| 52 | + $scope.nav = function (path) { | ||
| 53 | + if ($scope.devId) { | ||
| 54 | + ns.navTo(path, { devId: $scope.devId }); | ||
| 55 | + } | ||
| 56 | + }; | ||
| 57 | + | ||
| 50 | $log.log('OvPortCtrl has been created'); | 58 | $log.log('OvPortCtrl has been created'); |
| 51 | }]); | 59 | }]); |
| 52 | }()); | 60 | }()); | ... | ... |
| ... | @@ -81,7 +81,7 @@ | ... | @@ -81,7 +81,7 @@ |
| 81 | self.$route = $route; | 81 | self.$route = $route; |
| 82 | self.$routeParams = $routeParams; | 82 | self.$routeParams = $routeParams; |
| 83 | self.$location = $location; | 83 | self.$location = $location; |
| 84 | - self.version = '1.2.0'; | 84 | + self.version = '1.3.0'; |
| 85 | 85 | ||
| 86 | // initialize services... | 86 | // initialize services... |
| 87 | ts.init(); | 87 | ts.init(); | ... | ... |
-
Please register or login to post a comment