GUI -- Directive for tooltips on icon elements created. Control buttons on table…
… views now have tooltips. Change-Id: I77d73efa25bfc3adeb5519d5ca087475f5523c7d
Showing
19 changed files
with
91 additions
and
32 deletions
| ... | @@ -21,7 +21,7 @@ | ... | @@ -21,7 +21,7 @@ |
| 21 | 'use strict'; | 21 | 'use strict'; |
| 22 | 22 | ||
| 23 | // injected refs | 23 | // injected refs |
| 24 | - var $log, $rootScope, fs, is, tts; | 24 | + var $log, fs, is, tts; |
| 25 | 25 | ||
| 26 | // configuration | 26 | // configuration |
| 27 | var btnSize = 25, | 27 | var btnSize = 25, |
| ... | @@ -49,15 +49,6 @@ | ... | @@ -49,15 +49,6 @@ |
| 49 | return btnSize + 2 * btnPadding; | 49 | return btnSize + 2 * btnPadding; |
| 50 | } | 50 | } |
| 51 | 51 | ||
| 52 | - function addTooltip(elem, tooltip) { | ||
| 53 | - elem.on('mouseover', function () { tts.showTooltip(this, tooltip); }); | ||
| 54 | - elem.on('mouseout', function () { tts.cancelTooltip(this); }); | ||
| 55 | - $rootScope.$on('$routeChangeStart', function () { | ||
| 56 | - tts.cancelTooltip(elem.node()); | ||
| 57 | - }); | ||
| 58 | - } | ||
| 59 | - | ||
| 60 | - | ||
| 61 | // === BUTTON ================================================= | 52 | // === BUTTON ================================================= |
| 62 | 53 | ||
| 63 | // div is where to put the button (d3.selection of a DIV element) | 54 | // div is where to put the button (d3.selection of a DIV element) |
| ... | @@ -72,7 +63,7 @@ | ... | @@ -72,7 +63,7 @@ |
| 72 | cbFnc = fs.isF(cb) || noop; | 63 | cbFnc = fs.isF(cb) || noop; |
| 73 | 64 | ||
| 74 | is.loadIcon(btnDiv, gid, btnSize, true); | 65 | is.loadIcon(btnDiv, gid, btnSize, true); |
| 75 | - if (tooltip) { addTooltip(btnDiv, tooltip); } | 66 | + if (tooltip) { tts.addTooltip(btnDiv, tooltip); } |
| 76 | 67 | ||
| 77 | btnDiv.on('click', cbFnc); | 68 | btnDiv.on('click', cbFnc); |
| 78 | 69 | ||
| ... | @@ -100,7 +91,7 @@ | ... | @@ -100,7 +91,7 @@ |
| 100 | 91 | ||
| 101 | is.loadIcon(togDiv, gid, btnSize, true); | 92 | is.loadIcon(togDiv, gid, btnSize, true); |
| 102 | togDiv.classed('selected', sel); | 93 | togDiv.classed('selected', sel); |
| 103 | - if (tooltip) { addTooltip(togDiv, tooltip); } | 94 | + if (tooltip) { tts.addTooltip(togDiv, tooltip); } |
| 104 | 95 | ||
| 105 | function _toggle(b, nocb) { | 96 | function _toggle(b, nocb) { |
| 106 | sel = (b === undefined) ? !sel : !!b; | 97 | sel = (b === undefined) ? !sel : !!b; |
| ... | @@ -190,7 +181,7 @@ | ... | @@ -190,7 +181,7 @@ |
| 190 | rbdiv.classed('selected', initSel); | 181 | rbdiv.classed('selected', initSel); |
| 191 | rbdiv.on('click', rbclick); | 182 | rbdiv.on('click', rbclick); |
| 192 | is.loadIcon(rbdiv, btn.gid, btnSize, true); | 183 | is.loadIcon(rbdiv, btn.gid, btnSize, true); |
| 193 | - if (btn.tooltip) { addTooltip(rbdiv, btn.tooltip); } | 184 | + if (btn.tooltip) { tts.addTooltip(rbdiv, btn.tooltip); } |
| 194 | angular.extend(btn, { | 185 | angular.extend(btn, { |
| 195 | el: rbdiv, | 186 | el: rbdiv, |
| 196 | id: rid, | 187 | id: rid, |
| ... | @@ -254,11 +245,10 @@ | ... | @@ -254,11 +245,10 @@ |
| 254 | 245 | ||
| 255 | angular.module('onosWidget') | 246 | angular.module('onosWidget') |
| 256 | .factory('ButtonService', | 247 | .factory('ButtonService', |
| 257 | - ['$log', '$rootScope', 'FnService', 'IconService', 'TooltipService', | 248 | + ['$log', 'FnService', 'IconService', 'TooltipService', |
| 258 | 249 | ||
| 259 | - function (_$log_, _$rootScope_, _fs_, _is_, _tts_) { | 250 | + function (_$log_, _fs_, _is_, _tts_) { |
| 260 | $log = _$log_; | 251 | $log = _$log_; |
| 261 | - $rootScope = _$rootScope_; | ||
| 262 | fs = _fs_; | 252 | fs = _fs_; |
| 263 | is = _is_; | 253 | is = _is_; |
| 264 | tts = _tts_; | 254 | tts = _tts_; | ... | ... |
| ... | @@ -163,10 +163,17 @@ div.ctrl-btns div.separator { | ... | @@ -163,10 +163,17 @@ div.ctrl-btns div.separator { |
| 163 | } | 163 | } |
| 164 | 164 | ||
| 165 | /* Refresh button specific */ | 165 | /* Refresh button specific */ |
| 166 | +.light .ctrl-btns div.refresh.active g.icon rect { | ||
| 167 | + fill: #964949; | ||
| 168 | +} | ||
| 169 | + | ||
| 170 | +.dark .ctrl-btns div.refresh.active g.icon rect { | ||
| 171 | + fill: #9B4641; | ||
| 172 | +} | ||
| 166 | .light .ctrl-btns div.refresh:hover g.icon rect { | 173 | .light .ctrl-btns div.refresh:hover g.icon rect { |
| 167 | - fill: #800; | 174 | + fill: #964949; |
| 168 | } | 175 | } |
| 169 | 176 | ||
| 170 | .dark .ctrl-btns div.refresh:hover g.icon rect { | 177 | .dark .ctrl-btns div.refresh:hover g.icon rect { |
| 171 | - fill: #CE5650; | 178 | + fill: #9B4641; |
| 172 | } | 179 | } | ... | ... |
| ... | @@ -50,6 +50,7 @@ | ... | @@ -50,6 +50,7 @@ |
| 50 | o.scope.tableData = []; | 50 | o.scope.tableData = []; |
| 51 | o.scope.sortParams = {}; | 51 | o.scope.sortParams = {}; |
| 52 | o.scope.autoRefresh = true; | 52 | o.scope.autoRefresh = true; |
| 53 | + o.scope.autoRefreshTip = 'Toggle auto refresh'; | ||
| 53 | 54 | ||
| 54 | function respCb(data) { | 55 | function respCb(data) { |
| 55 | o.scope.tableData = data[root]; | 56 | o.scope.tableData = data[root]; | ... | ... |
| ... | @@ -22,7 +22,7 @@ | ... | @@ -22,7 +22,7 @@ |
| 22 | 'use strict'; | 22 | 'use strict'; |
| 23 | 23 | ||
| 24 | // injected references | 24 | // injected references |
| 25 | - var $log, fs; | 25 | + var $log, $rootScope, fs; |
| 26 | 26 | ||
| 27 | // constants | 27 | // constants |
| 28 | var hoverHeight = 35, | 28 | var hoverHeight = 35, |
| ... | @@ -65,6 +65,14 @@ | ... | @@ -65,6 +65,14 @@ |
| 65 | 65 | ||
| 66 | // === API functions ------------------------------------------------ | 66 | // === API functions ------------------------------------------------ |
| 67 | 67 | ||
| 68 | + function addTooltip(elem, tooltip) { | ||
| 69 | + elem.on('mouseover', function () { showTooltip(this, tooltip); }); | ||
| 70 | + elem.on('mouseout', function () { cancelTooltip(this); }); | ||
| 71 | + $rootScope.$on('$routeChangeStart', function () { | ||
| 72 | + cancelTooltip(elem.node()); | ||
| 73 | + }); | ||
| 74 | + } | ||
| 75 | + | ||
| 68 | function showTooltip(el, msg) { | 76 | function showTooltip(el, msg) { |
| 69 | // tooltips don't make sense on mobile devices | 77 | // tooltips don't make sense on mobile devices |
| 70 | if (!el || !msg || fs.isMobile()) { | 78 | if (!el || !msg || fs.isMobile()) { |
| ... | @@ -105,17 +113,34 @@ | ... | @@ -105,17 +113,34 @@ |
| 105 | } | 113 | } |
| 106 | 114 | ||
| 107 | angular.module('onosWidget') | 115 | angular.module('onosWidget') |
| 108 | - .factory('TooltipService', ['$log', 'FnService', | ||
| 109 | - | ||
| 110 | - function (_$log_, _fs_) { | ||
| 111 | - $log = _$log_; | ||
| 112 | - fs = _fs_; | ||
| 113 | 116 | ||
| 114 | - init(); | 117 | + .directive('tooltip', ['$rootScope', 'FnService', |
| 115 | - | 118 | + function (_$rootScope_, _fs_) { |
| 116 | - return { | 119 | + $rootScope = _$rootScope_; |
| 117 | - showTooltip: showTooltip, | 120 | + fs = _fs_; |
| 118 | - cancelTooltip: cancelTooltip | 121 | + |
| 119 | - }; | 122 | + init(); |
| 120 | - }]); | 123 | + |
| 124 | + return { | ||
| 125 | + restrict: 'A', | ||
| 126 | + link: function (scope, elem, attrs) { | ||
| 127 | + addTooltip(d3.select(elem[0]), scope[attrs.ttMsg]); | ||
| 128 | + } | ||
| 129 | + }; | ||
| 130 | + }]) | ||
| 131 | + | ||
| 132 | + .factory('TooltipService', ['$log', '$rootScope', 'FnService', | ||
| 133 | + function (_$log_, _$rootScope_, _fs_) { | ||
| 134 | + $log = _$log_; | ||
| 135 | + $rootScope = _$rootScope_; | ||
| 136 | + fs = _fs_; | ||
| 137 | + | ||
| 138 | + init(); | ||
| 139 | + | ||
| 140 | + return { | ||
| 141 | + addTooltip: addTooltip, | ||
| 142 | + showTooltip: showTooltip, | ||
| 143 | + cancelTooltip: cancelTooltip | ||
| 144 | + }; | ||
| 145 | + }]); | ||
| 121 | }()); | 146 | }()); | ... | ... |
| ... | @@ -5,6 +5,7 @@ | ... | @@ -5,6 +5,7 @@ |
| 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-size="36" icon-id="refresh" |
| 8 | + tooltip tt-msg="autoRefreshTip" | ||
| 8 | ng-click="toggleRefresh()"></div> | 9 | ng-click="toggleRefresh()"></div> |
| 9 | <div class="separator"></div> | 10 | <div class="separator"></div> |
| 10 | 11 | ||
| ... | @@ -14,18 +15,22 @@ | ... | @@ -14,18 +15,22 @@ |
| 14 | file-model="appFile"> | 15 | file-model="appFile"> |
| 15 | </form> | 16 | </form> |
| 16 | <div icon icon-size="36" icon-id="plus" | 17 | <div icon icon-size="36" icon-id="plus" |
| 17 | - class="active" trigger-form> | 18 | + class="active" trigger-form |
| 19 | + tooltip tt-msg="uploadTip"> | ||
| 18 | </div> | 20 | </div> |
| 19 | <div icon icon-size="36" icon-id="play" | 21 | <div icon icon-size="36" icon-id="play" |
| 20 | ng-click="appAction('activate')" | 22 | ng-click="appAction('activate')" |
| 23 | + tooltip tt-msg="activateTip" | ||
| 21 | ng-class="{active: ctrlBtnState.installed}"> | 24 | ng-class="{active: ctrlBtnState.installed}"> |
| 22 | </div> | 25 | </div> |
| 23 | <div icon icon-size="36" icon-id="stop" | 26 | <div icon icon-size="36" icon-id="stop" |
| 24 | ng-click="appAction('deactivate')" | 27 | ng-click="appAction('deactivate')" |
| 28 | + tooltip tt-msg="deactivateTip" | ||
| 25 | ng-class="{active: ctrlBtnState.active}"> | 29 | ng-class="{active: ctrlBtnState.active}"> |
| 26 | </div> | 30 | </div> |
| 27 | <div icon icon-size="36" icon-id="garbage" | 31 | <div icon icon-size="36" icon-id="garbage" |
| 28 | ng-click="appAction('uninstall')" | 32 | ng-click="appAction('uninstall')" |
| 33 | + tooltip tt-msg="uninstallTip" | ||
| 29 | ng-class="{active: ctrlBtnState.selection}"> | 34 | ng-class="{active: ctrlBtnState.selection}"> |
| 30 | </div> | 35 | </div> |
| 31 | </div> | 36 | </div> | ... | ... |
| ... | @@ -34,6 +34,10 @@ | ... | @@ -34,6 +34,10 @@ |
| 34 | 34 | ||
| 35 | function ($log, $scope, $http, fs, tbs, wss, ufs) { | 35 | function ($log, $scope, $http, fs, tbs, wss, ufs) { |
| 36 | $scope.ctrlBtnState = {}; | 36 | $scope.ctrlBtnState = {}; |
| 37 | + $scope.uploadTip = 'Upload an application'; | ||
| 38 | + $scope.activateTip = 'Activate selected application'; | ||
| 39 | + $scope.deactivateTip = 'Deactivate selected application'; | ||
| 40 | + $scope.uninstallTip = 'Uninstall selected application'; | ||
| 37 | 41 | ||
| 38 | function selCb($event, row) { | 42 | function selCb($event, row) { |
| 39 | // selId comes from tableBuilder | 43 | // selId comes from tableBuilder | ... | ... |
| ... | @@ -21,6 +21,7 @@ | ... | @@ -21,6 +21,7 @@ |
| 21 | <div class="ctrl-btns"> | 21 | <div class="ctrl-btns"> |
| 22 | <div class="refresh" ng-class="{active: autoRefresh}" | 22 | <div class="refresh" ng-class="{active: autoRefresh}" |
| 23 | icon icon-size="36" icon-id="refresh" | 23 | icon icon-size="36" icon-id="refresh" |
| 24 | + tooltip tt-msg="autoRefreshTip" | ||
| 24 | ng-click="toggleRefresh()"></div> | 25 | ng-click="toggleRefresh()"></div> |
| 25 | </div> | 26 | </div> |
| 26 | </div> | 27 | </div> | ... | ... |
| ... | @@ -5,19 +5,23 @@ | ... | @@ -5,19 +5,23 @@ |
| 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-id="refresh" icon-size="36" | 7 | icon icon-id="refresh" icon-size="36" |
| 8 | + tooltip tt-msg="autoRefreshTip" | ||
| 8 | ng-click="toggleRefresh()"></div> | 9 | ng-click="toggleRefresh()"></div> |
| 9 | <div class="separator"></div> | 10 | <div class="separator"></div> |
| 10 | 11 | ||
| 11 | <div ng-class="{active: !!selId}" | 12 | <div ng-class="{active: !!selId}" |
| 12 | icon icon-id="flowTable" icon-size="36" | 13 | icon icon-id="flowTable" icon-size="36" |
| 14 | + tooltip tt-msg="flowTip" | ||
| 13 | ng-click="nav('flow')"></div> | 15 | ng-click="nav('flow')"></div> |
| 14 | 16 | ||
| 15 | <div ng-class="{active: !!selId}" | 17 | <div ng-class="{active: !!selId}" |
| 16 | icon icon-id="portTable" icon-size="36" | 18 | icon icon-id="portTable" icon-size="36" |
| 19 | + tooltip tt-msg="portTip" | ||
| 17 | ng-click="nav('port')"></div> | 20 | ng-click="nav('port')"></div> |
| 18 | 21 | ||
| 19 | <div ng-class="{active: !!selId}" | 22 | <div ng-class="{active: !!selId}" |
| 20 | icon icon-id="groupTable" icon-size="36" | 23 | icon icon-id="groupTable" icon-size="36" |
| 24 | + tooltip tt-msg="groupTip" | ||
| 21 | ng-click="nav('group')"></div> | 25 | ng-click="nav('group')"></div> |
| 22 | </div> | 26 | </div> |
| 23 | </div> | 27 | </div> | ... | ... |
| ... | @@ -203,6 +203,9 @@ | ... | @@ -203,6 +203,9 @@ |
| 203 | ns = _ns_; | 203 | ns = _ns_; |
| 204 | var handlers = {}; | 204 | var handlers = {}; |
| 205 | $scope.panelData = []; | 205 | $scope.panelData = []; |
| 206 | + $scope.flowTip = 'Show flow view for selected device'; | ||
| 207 | + $scope.portTip = 'Show port view for selected device'; | ||
| 208 | + $scope.groupTip = 'Show group view for selected device'; | ||
| 206 | 209 | ||
| 207 | function selCb($event, row) { | 210 | function selCb($event, row) { |
| 208 | selRow = angular.element($event.currentTarget); | 211 | selRow = angular.element($event.currentTarget); | ... | ... |
| ... | @@ -8,6 +8,7 @@ | ... | @@ -8,6 +8,7 @@ |
| 8 | <div class="ctrl-btns"> | 8 | <div class="ctrl-btns"> |
| 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 | + tooltip tt-msg="autoRefreshTip" | ||
| 11 | ng-click="toggleRefresh()"></div> | 12 | ng-click="toggleRefresh()"></div> |
| 12 | 13 | ||
| 13 | <div class="separator"></div> | 14 | <div class="separator"></div> |
| ... | @@ -17,10 +18,12 @@ | ... | @@ -17,10 +18,12 @@ |
| 17 | 18 | ||
| 18 | <div class="active" | 19 | <div class="active" |
| 19 | icon icon-id="portTable" icon-size="36" | 20 | icon icon-id="portTable" icon-size="36" |
| 21 | + tooltip tt-msg="portTip" | ||
| 20 | ng-click="nav('port')"></div> | 22 | ng-click="nav('port')"></div> |
| 21 | 23 | ||
| 22 | <div class="active" | 24 | <div class="active" |
| 23 | icon icon-id="groupTable" icon-size="36" | 25 | icon icon-id="groupTable" icon-size="36" |
| 26 | + tooltip tt-msg="groupTip" | ||
| 24 | ng-click="nav('group')"></div> | 27 | ng-click="nav('group')"></div> |
| 25 | </div> | 28 | </div> |
| 26 | </div> | 29 | </div> | ... | ... |
| ... | @@ -37,6 +37,8 @@ | ... | @@ -37,6 +37,8 @@ |
| 37 | fs = _fs_; | 37 | fs = _fs_; |
| 38 | tbs = _tbs_; | 38 | tbs = _tbs_; |
| 39 | ns = _ns_; | 39 | ns = _ns_; |
| 40 | + $scope.portTip = 'Show port view for this device'; | ||
| 41 | + $scope.groupTip = 'Show group view for this device'; | ||
| 40 | 42 | ||
| 41 | params = $location.search(); | 43 | params = $location.search(); |
| 42 | if (params.hasOwnProperty('devId')) { | 44 | if (params.hasOwnProperty('devId')) { | ... | ... |
| ... | @@ -24,16 +24,19 @@ | ... | @@ -24,16 +24,19 @@ |
| 24 | <div class="ctrl-btns"> | 24 | <div class="ctrl-btns"> |
| 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 | + tooltip tt-msg="autoRefreshTip" | ||
| 27 | ng-click="toggleRefresh()"></div> | 28 | ng-click="toggleRefresh()"></div> |
| 28 | 29 | ||
| 29 | <div class="separator"></div> | 30 | <div class="separator"></div> |
| 30 | 31 | ||
| 31 | <div class="active" | 32 | <div class="active" |
| 32 | icon icon-id="flowTable" icon-size="36" | 33 | icon icon-id="flowTable" icon-size="36" |
| 34 | + tooltip tt-msg="flowTip" | ||
| 33 | ng-click="nav('flow')"></div> | 35 | ng-click="nav('flow')"></div> |
| 34 | 36 | ||
| 35 | <div class="active" | 37 | <div class="active" |
| 36 | icon icon-id="portTable" icon-size="36" | 38 | icon icon-id="portTable" icon-size="36" |
| 39 | + tooltip tt-msg="portTip" | ||
| 37 | ng-click="nav('port')"></div> | 40 | ng-click="nav('port')"></div> |
| 38 | 41 | ||
| 39 | <div class="current-view" | 42 | <div class="current-view" | ... | ... |
| ... | @@ -37,6 +37,8 @@ | ... | @@ -37,6 +37,8 @@ |
| 37 | fs = _fs_; | 37 | fs = _fs_; |
| 38 | tbs = _tbs_; | 38 | tbs = _tbs_; |
| 39 | ns = _ns_; | 39 | ns = _ns_; |
| 40 | + $scope.flowTip = 'Show flow view for this device'; | ||
| 41 | + $scope.portTip = 'Show port view for this device'; | ||
| 40 | 42 | ||
| 41 | params = $location.search(); | 43 | params = $location.search(); |
| 42 | if (params.hasOwnProperty('devId')) { | 44 | if (params.hasOwnProperty('devId')) { | ... | ... |
| ... | @@ -5,6 +5,7 @@ | ... | @@ -5,6 +5,7 @@ |
| 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-size="36" icon-id="refresh" |
| 8 | + tooltip tt-msg="autoRefreshTip" | ||
| 8 | ng-click="toggleRefresh()"></div> | 9 | ng-click="toggleRefresh()"></div> |
| 9 | </div> | 10 | </div> |
| 10 | </div> | 11 | </div> | ... | ... |
| ... | @@ -21,6 +21,7 @@ | ... | @@ -21,6 +21,7 @@ |
| 21 | <div class="ctrl-btns"> | 21 | <div class="ctrl-btns"> |
| 22 | <div class="refresh" ng-class="{active: autoRefresh}" | 22 | <div class="refresh" ng-class="{active: autoRefresh}" |
| 23 | icon icon-size="36" icon-id="refresh" | 23 | icon icon-size="36" icon-id="refresh" |
| 24 | + tooltip tt-msg="autoRefreshTip" | ||
| 24 | ng-click="toggleRefresh()"></div> | 25 | ng-click="toggleRefresh()"></div> |
| 25 | </div> | 26 | </div> |
| 26 | </div> | 27 | </div> | ... | ... |
| ... | @@ -21,6 +21,7 @@ | ... | @@ -21,6 +21,7 @@ |
| 21 | <div class="ctrl-btns"> | 21 | <div class="ctrl-btns"> |
| 22 | <div class="refresh" ng-class="{active: autoRefresh}" | 22 | <div class="refresh" ng-class="{active: autoRefresh}" |
| 23 | icon icon-size="36" icon-id="refresh" | 23 | icon icon-size="36" icon-id="refresh" |
| 24 | + tooltip tt-msg="autoRefreshTip" | ||
| 24 | ng-click="toggleRefresh()"></div> | 25 | ng-click="toggleRefresh()"></div> |
| 25 | </div> | 26 | </div> |
| 26 | </div> | 27 | </div> | ... | ... |
| ... | @@ -24,12 +24,14 @@ | ... | @@ -24,12 +24,14 @@ |
| 24 | <div class="ctrl-btns"> | 24 | <div class="ctrl-btns"> |
| 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 | + tooltip tt-msg="autoRefreshTip" | ||
| 27 | ng-click="toggleRefresh()"></div> | 28 | ng-click="toggleRefresh()"></div> |
| 28 | 29 | ||
| 29 | <div class="separator"></div> | 30 | <div class="separator"></div> |
| 30 | 31 | ||
| 31 | <div class="active" | 32 | <div class="active" |
| 32 | icon icon-id="flowTable" icon-size="36" | 33 | icon icon-id="flowTable" icon-size="36" |
| 34 | + tooltip tt-msg="flowTip" | ||
| 33 | ng-click="nav('flow')"></div> | 35 | ng-click="nav('flow')"></div> |
| 34 | 36 | ||
| 35 | <div class="current-view" | 37 | <div class="current-view" |
| ... | @@ -37,6 +39,7 @@ | ... | @@ -37,6 +39,7 @@ |
| 37 | 39 | ||
| 38 | <div class="active" | 40 | <div class="active" |
| 39 | icon icon-id="groupTable" icon-size="36" | 41 | icon icon-id="groupTable" icon-size="36" |
| 42 | + tooltip tt-msg="groupTip" | ||
| 40 | ng-click="nav('group')"></div> | 43 | ng-click="nav('group')"></div> |
| 41 | </div> | 44 | </div> |
| 42 | </div> | 45 | </div> | ... | ... |
| ... | @@ -37,6 +37,8 @@ | ... | @@ -37,6 +37,8 @@ |
| 37 | fs = _fs_; | 37 | fs = _fs_; |
| 38 | tbs = _tbs_; | 38 | tbs = _tbs_; |
| 39 | ns = _ns_; | 39 | ns = _ns_; |
| 40 | + $scope.flowTip = 'Show flow view for this device'; | ||
| 41 | + $scope.groupTip = 'Show group view for this device'; | ||
| 40 | 42 | ||
| 41 | params = $location.search(); | 43 | params = $location.search(); |
| 42 | if (params.hasOwnProperty('devId')) { | 44 | if (params.hasOwnProperty('devId')) { | ... | ... |
| ... | @@ -5,6 +5,7 @@ | ... | @@ -5,6 +5,7 @@ |
| 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-size="36" icon-id="refresh" |
| 8 | + tooltip tt-msg="autoRefreshTip" | ||
| 8 | ng-click="toggleRefresh()"></div> | 9 | ng-click="toggleRefresh()"></div> |
| 9 | </div> | 10 | </div> |
| 10 | </div> | 11 | </div> | ... | ... |
-
Please register or login to post a comment