Browse Source

add support for optional widget title tooltip text

pull/1876/head
pgrisu 7 years ago
parent
commit
821f3eb23a
  1. 11
      ui/src/app/components/dashboard.directive.js
  2. 6
      ui/src/app/components/dashboard.tpl.html
  3. 4
      ui/src/app/components/widget/widget-config.directive.js
  4. 6
      ui/src/app/components/widget/widget-config.tpl.html
  5. 1
      ui/src/app/locale/locale.constant-de_DE.json
  6. 1
      ui/src/app/locale/locale.constant-en_US.json
  7. 1
      ui/src/app/locale/locale.constant-es_ES.json
  8. 1
      ui/src/app/locale/locale.constant-fr_FR.json
  9. 1
      ui/src/app/locale/locale.constant-it_IT.json

11
ui/src/app/components/dashboard.directive.js

@ -187,6 +187,7 @@ function DashboardController($scope, $rootScope, $element, $timeout, $mdMedia, $
vm.showWidgetActions = showWidgetActions; vm.showWidgetActions = showWidgetActions;
vm.widgetTitleStyle = widgetTitleStyle; vm.widgetTitleStyle = widgetTitleStyle;
vm.widgetTitle = widgetTitle; vm.widgetTitle = widgetTitle;
vm.widgetTitleTooltip = widgetTitleTooltip;
vm.customWidgetHeaderActions = customWidgetHeaderActions; vm.customWidgetHeaderActions = customWidgetHeaderActions;
vm.widgetActions = widgetActions; vm.widgetActions = widgetActions;
vm.dropWidgetShadow = dropWidgetShadow; vm.dropWidgetShadow = dropWidgetShadow;
@ -934,6 +935,16 @@ function DashboardController($scope, $rootScope, $element, $timeout, $mdMedia, $
} }
} }
function widgetTitleTooltip(widget) {
var ctx = widgetContext(widget);
if (ctx && ctx.widgetTitleTooltip
&& ctx.widgetTitleTooltip.length) {
return ctx.widgetTitleTooltip;
} else {
return widget.config.titleTooltip;
}
}
function customWidgetHeaderActions(widget) { function customWidgetHeaderActions(widget) {
var ctx = widgetContext(widget); var ctx = widgetContext(widget);
if (ctx && ctx.customHeaderActions && ctx.customHeaderActions.length) { if (ctx && ctx.customHeaderActions && ctx.customHeaderActions.length) {

6
ui/src/app/components/dashboard.tpl.html

@ -47,7 +47,11 @@
<div layout="row" layout-align="space-between start"> <div layout="row" layout-align="space-between start">
<div class="tb-widget-title" layout="column" layout-align="center start" ng-show="vm.showWidgetTitlePanel(widget)"> <div class="tb-widget-title" layout="column" layout-align="center start" ng-show="vm.showWidgetTitlePanel(widget)">
<div ng-if="vm.hasWidgetTitleTemplate(widget)" ng-include="vm.widgetTitleTemplate(widget)"></div> <div ng-if="vm.hasWidgetTitleTemplate(widget)" ng-include="vm.widgetTitleTemplate(widget)"></div>
<span ng-show="vm.showWidgetTitle(widget)" ng-style="vm.widgetTitleStyle(widget)" class="md-subhead title">{{vm.widgetTitle(widget)}}</span> <span ng-show="vm.showWidgetTitle(widget)" ng-style="vm.widgetTitleStyle(widget)" class="md-subhead title">{{vm.widgetTitle(widget)}}
<md-tooltip ng-show="vm.widgetTitleTooltip(widget)" md-direction="{{vm.isWidgetExpanded ? 'bottom' : 'top'}}">
{{vm.widgetTitleTooltip(widget)}}
</md-tooltip>
</span>
<tb-timewindow aggregation="{{vm.hasAggregation(widget)}}" ng-if="vm.hasTimewindow(widget)" ng-model="widget.config.timewindow"></tb-timewindow> <tb-timewindow aggregation="{{vm.hasAggregation(widget)}}" ng-if="vm.hasTimewindow(widget)" ng-model="widget.config.timewindow"></tb-timewindow>
</div> </div>
<div class="tb-widget-actions" layout="row" layout-align="start center" ng-show="vm.showWidgetActions(widget)" tb-mousedown="$event.stopPropagation()" <div class="tb-widget-actions" layout="row" layout-align="start center" ng-show="vm.showWidgetActions(widget)" tb-mousedown="$event.stopPropagation()"

4
ui/src/app/components/widget/widget-config.directive.js

@ -109,6 +109,7 @@ function WidgetConfig($compile, $templateCache, $rootScope, $translate, $timeout
if (config) { if (config) {
scope.selectedTab = 0; scope.selectedTab = 0;
scope.title = config.title; scope.title = config.title;
scope.titleTooltip = angular.isDefined(config.titleTooltip) ? config.titleTooltip : '';
scope.showTitle = config.showTitle; scope.showTitle = config.showTitle;
scope.dropShadow = angular.isDefined(config.dropShadow) ? config.dropShadow : true; scope.dropShadow = angular.isDefined(config.dropShadow) ? config.dropShadow : true;
scope.enableFullscreen = angular.isDefined(config.enableFullscreen) ? config.enableFullscreen : true; scope.enableFullscreen = angular.isDefined(config.enableFullscreen) ? config.enableFullscreen : true;
@ -236,7 +237,7 @@ function WidgetConfig($compile, $templateCache, $rootScope, $translate, $timeout
} }
}; };
scope.$watch('title + showTitle + dropShadow + enableFullscreen + backgroundColor + color + ' + scope.$watch('title + titleTooltip + showTitle + dropShadow + enableFullscreen + backgroundColor + color + ' +
'padding + margin + widgetStyle + titleStyle + mobileOrder + mobileHeight + units + decimals + useDashboardTimewindow + displayTimewindow + ' + 'padding + margin + widgetStyle + titleStyle + mobileOrder + mobileHeight + units + decimals + useDashboardTimewindow + displayTimewindow + ' +
'alarmSearchStatus + alarmsPollingInterval + showLegend', function () { 'alarmSearchStatus + alarmsPollingInterval + showLegend', function () {
if (ngModelCtrl.$viewValue) { if (ngModelCtrl.$viewValue) {
@ -244,6 +245,7 @@ function WidgetConfig($compile, $templateCache, $rootScope, $translate, $timeout
if (value.config) { if (value.config) {
var config = value.config; var config = value.config;
config.title = scope.title; config.title = scope.title;
config.titleTooltip = scope.titleTooltip;
config.showTitle = scope.showTitle; config.showTitle = scope.showTitle;
config.dropShadow = scope.dropShadow; config.dropShadow = scope.dropShadow;
config.enableFullscreen = scope.enableFullscreen; config.enableFullscreen = scope.enableFullscreen;

6
ui/src/app/components/widget/widget-config.tpl.html

@ -190,6 +190,12 @@
</div> </div>
</div> </div>
</div> </div>
<div layout='column' layout-align="center" layout-gt-sm='row' layout-align-gt-sm="start center">
<md-input-container flex class="md-block">
<label translate>widget-config.title-tooltip</label>
<input name="titleTooltip" ng-model="titleTooltip">
</md-input-container>
</div>
<div layout='column' layout-align="center" layout-gt-sm='row' layout-align-gt-sm="start center"> <div layout='column' layout-align="center" layout-gt-sm='row' layout-align-gt-sm="start center">
<div layout="row" layout-padding> <div layout="row" layout-padding>
<md-checkbox aria-label="{{ 'widget-config.display-title' | translate }}" <md-checkbox aria-label="{{ 'widget-config.display-title' | translate }}"

1
ui/src/app/locale/locale.constant-de_DE.json

@ -1498,6 +1498,7 @@
"settings": "Einstellungen", "settings": "Einstellungen",
"advanced": "Erweitert ", "advanced": "Erweitert ",
"title": "Titel", "title": "Titel",
"title-tooltip": "Titel Tooltip",
"general-settings": "Allgemeine Einstellungen", "general-settings": "Allgemeine Einstellungen",
"display-title": "Titel anzeigen", "display-title": "Titel anzeigen",
"drop-shadow": "Schlagschatten", "drop-shadow": "Schlagschatten",

1
ui/src/app/locale/locale.constant-en_US.json

@ -1568,6 +1568,7 @@
"settings": "Settings", "settings": "Settings",
"advanced": "Advanced", "advanced": "Advanced",
"title": "Title", "title": "Title",
"title-tooltip": "Title Tooltip",
"general-settings": "General settings", "general-settings": "General settings",
"display-title": "Display title", "display-title": "Display title",
"drop-shadow": "Drop shadow", "drop-shadow": "Drop shadow",

1
ui/src/app/locale/locale.constant-es_ES.json

@ -1498,6 +1498,7 @@
"settings": "Configuración", "settings": "Configuración",
"advanced": "Avanzado", "advanced": "Avanzado",
"title": "Título", "title": "Título",
"title-tooltip": "Tooltip Título",
"general-settings": "Configuaración general", "general-settings": "Configuaración general",
"display-title": "Mostrar título", "display-title": "Mostrar título",
"drop-shadow": "Colocar sombra", "drop-shadow": "Colocar sombra",

1
ui/src/app/locale/locale.constant-fr_FR.json

@ -1429,6 +1429,7 @@
"timewindow": "Fenêtre de temps", "timewindow": "Fenêtre de temps",
"title": "Titre", "title": "Titre",
"title-style": "Style de titre", "title-style": "Style de titre",
"title-tooltip": "Tooltip de titre",
"units": "Symbole spécial à afficher à côté de la valeur", "units": "Symbole spécial à afficher à côté de la valeur",
"use-dashboard-timewindow": "Utiliser la fenêtre de temps du tableau de bord", "use-dashboard-timewindow": "Utiliser la fenêtre de temps du tableau de bord",
"widget-style": "Style du widget" "widget-style": "Style du widget"

1
ui/src/app/locale/locale.constant-it_IT.json

@ -1503,6 +1503,7 @@
"settings": "Impostazioni", "settings": "Impostazioni",
"advanced": "Avanzate", "advanced": "Avanzate",
"title": "Titolo", "title": "Titolo",
"title-tooltip": "Tooltip titolo",
"general-settings": "Impostazioni generali", "general-settings": "Impostazioni generali",
"display-title": "Mostra titolo", "display-title": "Mostra titolo",
"drop-shadow": "Drop shadow", "drop-shadow": "Drop shadow",

Loading…
Cancel
Save