Commit 821f3eb23a7f75dd502c3aacbda5b69b04e247e1

Authored by pgrisu
1 parent 0e5c4e69

add support for optional widget title tooltip text

... ... @@ -187,6 +187,7 @@ function DashboardController($scope, $rootScope, $element, $timeout, $mdMedia, $
187 187 vm.showWidgetActions = showWidgetActions;
188 188 vm.widgetTitleStyle = widgetTitleStyle;
189 189 vm.widgetTitle = widgetTitle;
  190 + vm.widgetTitleTooltip = widgetTitleTooltip;
190 191 vm.customWidgetHeaderActions = customWidgetHeaderActions;
191 192 vm.widgetActions = widgetActions;
192 193 vm.dropWidgetShadow = dropWidgetShadow;
... ... @@ -934,6 +935,16 @@ function DashboardController($scope, $rootScope, $element, $timeout, $mdMedia, $
934 935 }
935 936 }
936 937
  938 + function widgetTitleTooltip(widget) {
  939 + var ctx = widgetContext(widget);
  940 + if (ctx && ctx.widgetTitleTooltip
  941 + && ctx.widgetTitleTooltip.length) {
  942 + return ctx.widgetTitleTooltip;
  943 + } else {
  944 + return widget.config.titleTooltip;
  945 + }
  946 + }
  947 +
937 948 function customWidgetHeaderActions(widget) {
938 949 var ctx = widgetContext(widget);
939 950 if (ctx && ctx.customHeaderActions && ctx.customHeaderActions.length) {
... ...
... ... @@ -47,7 +47,11 @@
47 47 <div layout="row" layout-align="space-between start">
48 48 <div class="tb-widget-title" layout="column" layout-align="center start" ng-show="vm.showWidgetTitlePanel(widget)">
49 49 <div ng-if="vm.hasWidgetTitleTemplate(widget)" ng-include="vm.widgetTitleTemplate(widget)"></div>
50   - <span ng-show="vm.showWidgetTitle(widget)" ng-style="vm.widgetTitleStyle(widget)" class="md-subhead title">{{vm.widgetTitle(widget)}}</span>
  50 + <span ng-show="vm.showWidgetTitle(widget)" ng-style="vm.widgetTitleStyle(widget)" class="md-subhead title">{{vm.widgetTitle(widget)}}
  51 + <md-tooltip ng-show="vm.widgetTitleTooltip(widget)" md-direction="{{vm.isWidgetExpanded ? 'bottom' : 'top'}}">
  52 + {{vm.widgetTitleTooltip(widget)}}
  53 + </md-tooltip>
  54 + </span>
51 55 <tb-timewindow aggregation="{{vm.hasAggregation(widget)}}" ng-if="vm.hasTimewindow(widget)" ng-model="widget.config.timewindow"></tb-timewindow>
52 56 </div>
53 57 <div class="tb-widget-actions" layout="row" layout-align="start center" ng-show="vm.showWidgetActions(widget)" tb-mousedown="$event.stopPropagation()"
... ...
... ... @@ -109,6 +109,7 @@ function WidgetConfig($compile, $templateCache, $rootScope, $translate, $timeout
109 109 if (config) {
110 110 scope.selectedTab = 0;
111 111 scope.title = config.title;
  112 + scope.titleTooltip = angular.isDefined(config.titleTooltip) ? config.titleTooltip : '';
112 113 scope.showTitle = config.showTitle;
113 114 scope.dropShadow = angular.isDefined(config.dropShadow) ? config.dropShadow : true;
114 115 scope.enableFullscreen = angular.isDefined(config.enableFullscreen) ? config.enableFullscreen : true;
... ... @@ -236,7 +237,7 @@ function WidgetConfig($compile, $templateCache, $rootScope, $translate, $timeout
236 237 }
237 238 };
238 239
239   - scope.$watch('title + showTitle + dropShadow + enableFullscreen + backgroundColor + color + ' +
  240 + scope.$watch('title + titleTooltip + showTitle + dropShadow + enableFullscreen + backgroundColor + color + ' +
240 241 'padding + margin + widgetStyle + titleStyle + mobileOrder + mobileHeight + units + decimals + useDashboardTimewindow + displayTimewindow + ' +
241 242 'alarmSearchStatus + alarmsPollingInterval + showLegend', function () {
242 243 if (ngModelCtrl.$viewValue) {
... ... @@ -244,6 +245,7 @@ function WidgetConfig($compile, $templateCache, $rootScope, $translate, $timeout
244 245 if (value.config) {
245 246 var config = value.config;
246 247 config.title = scope.title;
  248 + config.titleTooltip = scope.titleTooltip;
247 249 config.showTitle = scope.showTitle;
248 250 config.dropShadow = scope.dropShadow;
249 251 config.enableFullscreen = scope.enableFullscreen;
... ...
... ... @@ -191,6 +191,12 @@
191 191 </div>
192 192 </div>
193 193 <div layout='column' layout-align="center" layout-gt-sm='row' layout-align-gt-sm="start center">
  194 + <md-input-container flex class="md-block">
  195 + <label translate>widget-config.title-tooltip</label>
  196 + <input name="titleTooltip" ng-model="titleTooltip">
  197 + </md-input-container>
  198 + </div>
  199 + <div layout='column' layout-align="center" layout-gt-sm='row' layout-align-gt-sm="start center">
194 200 <div layout="row" layout-padding>
195 201 <md-checkbox aria-label="{{ 'widget-config.display-title' | translate }}"
196 202 ng-model="showTitle">{{ 'widget-config.display-title' | translate }}
... ...
... ... @@ -1498,6 +1498,7 @@
1498 1498 "settings": "Einstellungen",
1499 1499 "advanced": "Erweitert ",
1500 1500 "title": "Titel",
  1501 + "title-tooltip": "Titel Tooltip",
1501 1502 "general-settings": "Allgemeine Einstellungen",
1502 1503 "display-title": "Titel anzeigen",
1503 1504 "drop-shadow": "Schlagschatten",
... ...
... ... @@ -1568,6 +1568,7 @@
1568 1568 "settings": "Settings",
1569 1569 "advanced": "Advanced",
1570 1570 "title": "Title",
  1571 + "title-tooltip": "Title Tooltip",
1571 1572 "general-settings": "General settings",
1572 1573 "display-title": "Display title",
1573 1574 "drop-shadow": "Drop shadow",
... ...
... ... @@ -1498,6 +1498,7 @@
1498 1498 "settings": "Configuración",
1499 1499 "advanced": "Avanzado",
1500 1500 "title": "Título",
  1501 + "title-tooltip": "Tooltip Título",
1501 1502 "general-settings": "Configuaración general",
1502 1503 "display-title": "Mostrar título",
1503 1504 "drop-shadow": "Colocar sombra",
... ...
... ... @@ -1429,6 +1429,7 @@
1429 1429 "timewindow": "Fenêtre de temps",
1430 1430 "title": "Titre",
1431 1431 "title-style": "Style de titre",
  1432 + "title-tooltip": "Tooltip de titre",
1432 1433 "units": "Symbole spécial à afficher à côté de la valeur",
1433 1434 "use-dashboard-timewindow": "Utiliser la fenêtre de temps du tableau de bord",
1434 1435 "widget-style": "Style du widget"
... ...
... ... @@ -1503,6 +1503,7 @@
1503 1503 "settings": "Impostazioni",
1504 1504 "advanced": "Avanzate",
1505 1505 "title": "Titolo",
  1506 + "title-tooltip": "Tooltip titolo",
1506 1507 "general-settings": "Impostazioni generali",
1507 1508 "display-title": "Mostra titolo",
1508 1509 "drop-shadow": "Drop shadow",
... ...