Showing
13 changed files
with
132 additions
and
72 deletions
@@ -234,7 +234,10 @@ function TimeService($translate, $http, $q, types) { | @@ -234,7 +234,10 @@ function TimeService($translate, $http, $q, types) { | ||
234 | var currentTime = (new Date).getTime(); | 234 | var currentTime = (new Date).getTime(); |
235 | var timewindow = { | 235 | var timewindow = { |
236 | displayValue: "", | 236 | displayValue: "", |
237 | - selectedTab: 0, | 237 | + selectedTab: 0, |
238 | + hideInterval: false, | ||
239 | + hideAggregation: false, | ||
240 | + hideAggInterval: false, | ||
238 | realtime: { | 241 | realtime: { |
239 | interval: SECOND, | 242 | interval: SECOND, |
240 | timewindowMs: MINUTE // 1 min by default | 243 | timewindowMs: MINUTE // 1 min by default |
@@ -381,4 +384,4 @@ function TimeService($translate, $http, $q, types) { | @@ -381,4 +384,4 @@ function TimeService($translate, $http, $q, types) { | ||
381 | } | 384 | } |
382 | 385 | ||
383 | 386 | ||
384 | -} | ||
387 | +} |
@@ -56,7 +56,8 @@ | @@ -56,7 +56,8 @@ | ||
56 | <span ng-bind-html="vm.widgetTitleTooltip(widget)"></span> | 56 | <span ng-bind-html="vm.widgetTitleTooltip(widget)"></span> |
57 | </md-tooltip> | 57 | </md-tooltip> |
58 | </span> | 58 | </span> |
59 | - <tb-timewindow aggregation="{{vm.hasAggregation(widget)}}" ng-if="vm.hasTimewindow(widget)" ng-model="widget.config.timewindow"></tb-timewindow> | 59 | + <tb-timewindow aggregation="{{vm.hasAggregation(widget)}}" is-edit="vm.isEdit" |
60 | + ng-if="vm.hasTimewindow(widget)" ng-model="widget.config.timewindow"></tb-timewindow> | ||
60 | </div> | 61 | </div> |
61 | <div class="tb-widget-actions" layout="row" layout-align="start center" ng-show="vm.showWidgetActions(widget)" tb-mousedown="$event.stopPropagation()" | 62 | <div class="tb-widget-actions" layout="row" layout-align="start center" ng-show="vm.showWidgetActions(widget)" tb-mousedown="$event.stopPropagation()" |
62 | ng-class="{'tb-widget-actions-absolute': !(vm.showWidgetTitlePanel(widget)&&(vm.hasWidgetTitleTemplate(widget)||vm.showWidgetTitle(widget)||vm.hasAggregation(widget)))}"> | 63 | ng-class="{'tb-widget-actions-absolute': !(vm.showWidgetTitlePanel(widget)&&(vm.hasWidgetTitleTemplate(widget)||vm.showWidgetTitle(widget)||vm.hasAggregation(widget)))}"> |
@@ -231,7 +231,9 @@ function Timeinterval($compile, $templateCache, timeService) { | @@ -231,7 +231,9 @@ function Timeinterval($compile, $templateCache, timeService) { | ||
231 | required: '=ngRequired', | 231 | required: '=ngRequired', |
232 | min: '=?', | 232 | min: '=?', |
233 | max: '=?', | 233 | max: '=?', |
234 | - predefinedName: '=?' | 234 | + predefinedName: '=?', |
235 | + hideFlag: '=?', | ||
236 | + isEdit: '=?' | ||
235 | }, | 237 | }, |
236 | link: linker | 238 | link: linker |
237 | }; | 239 | }; |
@@ -16,7 +16,12 @@ | @@ -16,7 +16,12 @@ | ||
16 | 16 | ||
17 | --> | 17 | --> |
18 | <section layout="row"> | 18 | <section layout="row"> |
19 | - <section layout="column" flex ng-show="advanced"> | 19 | + <section layout="column" layout-align=" none" ng-show="isEdit"> |
20 | + <label class="tb-small advanced-label" translate>timewindow.hide</label> | ||
21 | + <md-checkbox aria-label="{{ 'timewindow.hide' | translate }}" ng-model="hideFlag"> | ||
22 | + </md-checkbox> | ||
23 | + </section> | ||
24 | + <section layout="column" flex ng-show="advanced && (isEdit || !hideFlag)"> | ||
20 | <label class="tb-small" translate>{{ predefinedName }}</label> | 25 | <label class="tb-small" translate>{{ predefinedName }}</label> |
21 | <section layout="row" layout-align="start start" flex> | 26 | <section layout="row" layout-align="start start" flex> |
22 | <md-input-container> | 27 | <md-input-container> |
@@ -25,7 +30,7 @@ | @@ -25,7 +30,7 @@ | ||
25 | </md-input-container> | 30 | </md-input-container> |
26 | <md-input-container> | 31 | <md-input-container> |
27 | <label translate>timeinterval.hours</label> | 32 | <label translate>timeinterval.hours</label> |
28 | - <input type="number" ng-model="hours" step="1" aria-label="{{ 'timeinterval.hours' | translate }}"> | 33 | + <input ng-disabled="hideFlag" type="number" ng-model="hours" step="1" aria-label="{{ 'timeinterval.hours' | translate }}"> |
29 | </md-input-container> | 34 | </md-input-container> |
30 | <md-input-container> | 35 | <md-input-container> |
31 | <label translate>timeinterval.minutes</label> | 36 | <label translate>timeinterval.minutes</label> |
@@ -33,23 +38,23 @@ | @@ -33,23 +38,23 @@ | ||
33 | </md-input-container> | 38 | </md-input-container> |
34 | <md-input-container> | 39 | <md-input-container> |
35 | <label translate>timeinterval.seconds</label> | 40 | <label translate>timeinterval.seconds</label> |
36 | - <input type="number" ng-model="secs" step="1" aria-label="{{ 'timeinterval.seconds' | translate }}"> | 41 | + <input ng-disabled="hideFlag" type="number" ng-model="secs" step="1" aria-label="{{ 'timeinterval.seconds' | translate }}"> |
37 | </md-input-container> | 42 | </md-input-container> |
38 | </section> | 43 | </section> |
39 | </section> | 44 | </section> |
40 | - <section layout="row" flex ng-show="!advanced"> | 45 | + <section layout="row" flex ng-show="!advanced && (isEdit || !hideFlag)"> |
41 | <md-input-container flex> | 46 | <md-input-container flex> |
42 | <label translate>{{ predefinedName }}</label> | 47 | <label translate>{{ predefinedName }}</label> |
43 | - <md-select ng-model="intervalMs" style="min-width: 150px;" aria-label="predefined-interval"> | 48 | + <md-select ng-disabled="hideFlag" ng-model="intervalMs" style="min-width: 150px;" aria-label="predefined-interval"> |
44 | <md-option ng-repeat="interval in intervals" ng-value="interval.value"> | 49 | <md-option ng-repeat="interval in intervals" ng-value="interval.value"> |
45 | {{interval.name}} | 50 | {{interval.name}} |
46 | </md-option> | 51 | </md-option> |
47 | </md-select> | 52 | </md-select> |
48 | </md-input-container> | 53 | </md-input-container> |
49 | </section> | 54 | </section> |
50 | - <section layout="column" layout-align="center center"> | 55 | + <section layout="column" layout-align="center center" ng-show="(isEdit || !hideFlag)"> |
51 | <label class="tb-small advanced-label" translate>timeinterval.advanced</label> | 56 | <label class="tb-small advanced-label" translate>timeinterval.advanced</label> |
52 | - <md-switch class="advanced-switch" ng-model="advanced" aria-label="predefined-switcher"> | 57 | + <md-switch ng-disabled="hideFlag" class="advanced-switch" ng-model="advanced" aria-label="predefined-switcher"> |
53 | </md-switch> | 58 | </md-switch> |
54 | </section> | 59 | </section> |
55 | </section> | 60 | </section> |
@@ -14,7 +14,7 @@ | @@ -14,7 +14,7 @@ | ||
14 | * limitations under the License. | 14 | * limitations under the License. |
15 | */ | 15 | */ |
16 | /*@ngInject*/ | 16 | /*@ngInject*/ |
17 | -export default function TimewindowPanelController(mdPanelRef, $scope, timeService, types, timewindow, historyOnly, aggregation, onTimewindowUpdate) { | 17 | +export default function TimewindowPanelController(mdPanelRef, $scope, timeService, types, timewindow, historyOnly, aggregation, isEdit, onTimewindowUpdate) { |
18 | 18 | ||
19 | var vm = this; | 19 | var vm = this; |
20 | 20 | ||
@@ -33,6 +33,7 @@ export default function TimewindowPanelController(mdPanelRef, $scope, timeServic | @@ -33,6 +33,7 @@ export default function TimewindowPanelController(mdPanelRef, $scope, timeServic | ||
33 | vm.maxHistoryAggInterval = maxHistoryAggInterval; | 33 | vm.maxHistoryAggInterval = maxHistoryAggInterval; |
34 | vm.minDatapointsLimit = minDatapointsLimit; | 34 | vm.minDatapointsLimit = minDatapointsLimit; |
35 | vm.maxDatapointsLimit = maxDatapointsLimit; | 35 | vm.maxDatapointsLimit = maxDatapointsLimit; |
36 | + vm.isEdit = isEdit; | ||
36 | 37 | ||
37 | if (vm.historyOnly) { | 38 | if (vm.historyOnly) { |
38 | vm.timewindow.selectedTab = 1; | 39 | vm.timewindow.selectedTab = 1; |
@@ -22,62 +22,92 @@ | @@ -22,62 +22,92 @@ | ||
22 | <md-tabs ng-class="{'tb-headless': vm.historyOnly}" md-dynamic-height md-selected="vm.timewindow.selectedTab" md-border-bottom> | 22 | <md-tabs ng-class="{'tb-headless': vm.historyOnly}" md-dynamic-height md-selected="vm.timewindow.selectedTab" md-border-bottom> |
23 | <md-tab label="{{ 'timewindow.realtime' | translate }}"> | 23 | <md-tab label="{{ 'timewindow.realtime' | translate }}"> |
24 | <md-content class="md-padding" layout="column"> | 24 | <md-content class="md-padding" layout="column"> |
25 | - <tb-timeinterval predefined-name="'timewindow.last'" | ||
26 | - ng-required="vm.timewindow.selectedTab === 0" | 25 | + <tb-timeinterval hide-flag="vm.timewindow.hideInterval" predefined-name="'timewindow.last'" |
26 | + is-edit="vm.isEdit" ng-required="vm.timewindow.selectedTab === 0" | ||
27 | ng-model="vm.timewindow.realtime.timewindowMs" style="padding-top: 8px;"></tb-timeinterval> | 27 | ng-model="vm.timewindow.realtime.timewindowMs" style="padding-top: 8px;"></tb-timeinterval> |
28 | </md-content> | 28 | </md-content> |
29 | </md-tab> | 29 | </md-tab> |
30 | <md-tab label="{{ 'timewindow.history' | translate }}"> | 30 | <md-tab label="{{ 'timewindow.history' | translate }}"> |
31 | - <md-content class="md-padding" layout="column" style="padding-top: 8px;"> | ||
32 | - <md-radio-group ng-model="vm.timewindow.history.historyType" class="md-primary"> | ||
33 | - <md-radio-button ng-value=0 aria-label="{{ 'timewindow.last' | translate }}" class="md-primary md-align-top-left md-radio-interactive"> | ||
34 | - <section layout="column"> | ||
35 | - <tb-timeinterval predefined-name="'timewindow.last'" | ||
36 | - ng-required="vm.timewindow.selectedTab === 1 && vm.timewindow.history.historyType === 0" | ||
37 | - ng-show="vm.timewindow.history.historyType === 0" | ||
38 | - ng-model="vm.timewindow.history.timewindowMs" style="padding-top: 8px;"></tb-timeinterval> | ||
39 | - </section> | ||
40 | - </md-radio-button> | ||
41 | - <md-radio-button ng-value=1 aria-label="{{ 'timewindow.time-period' | translate }}" class="md-primary md-align-top-left md-radio-interactive"> | ||
42 | - <section layout="column"> | ||
43 | - <span translate>timewindow.time-period</span> | ||
44 | - <tb-datetime-period | ||
45 | - ng-required="vm.timewindow.selectedTab === 1 && vm.timewindow.history.historyType === 1" | ||
46 | - ng-show="vm.timewindow.history.historyType === 1" | ||
47 | - ng-model="vm.timewindow.history.fixedTimewindow" style="padding-top: 8px;"></tb-datetime-period> | ||
48 | - </section> | ||
49 | - </md-radio-button> | ||
50 | - </md-radio-group> | ||
51 | - </md-content> | 31 | + <section layout="row"> |
32 | + <section layout="column" class="md-padding" style="padding-top: 8px;"> | ||
33 | + <label ng-if="vm.isEdit" class="tb-small advanced-label" translate>timewindow.hide</label> | ||
34 | + <md-checkbox ng-if="vm.isEdit" aria-label="{{ 'timewindow.hide' | translate }}" | ||
35 | + ng-model="vm.timewindow.hideInterval"> | ||
36 | + </md-checkbox> | ||
37 | + </section> | ||
38 | + <section layout="column" flex ng-show="vm.isEdit || !vm.timewindow.hideInterval"> | ||
39 | + <md-content class="md-padding" layout="column" style="padding-top: 8px;"> | ||
40 | + <md-radio-group ng-disabled="vm.timewindow.hideInterval" ng-model="vm.timewindow.history.historyType" class="md-primary"> | ||
41 | + <md-radio-button ng-value=0 aria-label="{{ 'timewindow.last' | translate }}" class="md-primary md-align-top-left md-radio-interactive"> | ||
42 | + <section layout="column"> | ||
43 | + <tb-timeinterval predefined-name="'timewindow.last'" | ||
44 | + ng-required="vm.timewindow.selectedTab === 1 && vm.timewindow.history.historyType === 0" | ||
45 | + ng-show="vm.timewindow.history.historyType === 0" | ||
46 | + ng-model="vm.timewindow.history.timewindowMs" style="padding-top: 8px;"></tb-timeinterval> | ||
47 | + </section> | ||
48 | + </md-radio-button> | ||
49 | + <md-radio-button ng-value=1 aria-label="{{ 'timewindow.time-period' | translate }}" class="md-primary md-align-top-left md-radio-interactive"> | ||
50 | + <section layout="column"> | ||
51 | + <span translate>timewindow.time-period</span> | ||
52 | + <tb-datetime-period | ||
53 | + ng-required="vm.timewindow.selectedTab === 1 && vm.timewindow.history.historyType === 1" | ||
54 | + ng-show="vm.timewindow.history.historyType === 1" | ||
55 | + ng-model="vm.timewindow.history.fixedTimewindow" style="padding-top: 8px;"></tb-datetime-period> | ||
56 | + </section> | ||
57 | + </md-radio-button> | ||
58 | + </md-radio-group> | ||
59 | + </md-content> | ||
60 | + </section> | ||
61 | + </section> | ||
52 | </md-tab> | 62 | </md-tab> |
53 | </md-tabs> | 63 | </md-tabs> |
54 | <md-content ng-if="vm.aggregation" class="md-padding" layout="column"> | 64 | <md-content ng-if="vm.aggregation" class="md-padding" layout="column"> |
55 | - <md-input-container> | ||
56 | - <label translate>aggregation.function</label> | ||
57 | - <md-select ng-model="vm.timewindow.aggregation.type" style="min-width: 150px;"> | ||
58 | - <md-option ng-repeat="type in vm.aggregationTypes" ng-value="type.value"> | ||
59 | - {{type.name | translate}} | ||
60 | - </md-option> | ||
61 | - </md-select> | ||
62 | - </md-input-container> | ||
63 | - <md-slider-container ng-if="vm.showLimit()"> | ||
64 | - <span translate>aggregation.limit</span> | ||
65 | - <md-slider flex min="{{vm.minDatapointsLimit()}}" max="{{vm.maxDatapointsLimit()}}" step="1" | ||
66 | - ng-model="vm.timewindow.aggregation.limit" aria-label="limit" id="limit-slider"> | ||
67 | - </md-slider> | ||
68 | - <md-input-container style="max-width: 80px;"> | ||
69 | - <input flex type="number" step="1" | ||
70 | - min="{{vm.minDatapointsLimit()}}" max="{{vm.maxDatapointsLimit()}}" | ||
71 | - ng-model="vm.timewindow.aggregation.limit" aria-label="limit" aria-controls="limit-slider"> | ||
72 | - </md-input-container> | ||
73 | - </md-slider-container> | ||
74 | - <tb-timeinterval ng-if="vm.showRealtimeAggInterval()" min="vm.minRealtimeAggInterval()" max="vm.maxRealtimeAggInterval()" | ||
75 | - predefined-name="'aggregation.group-interval'" | ||
76 | - ng-model="vm.timewindow.realtime.interval"> | 65 | + <section layout="row"> |
66 | + <section layout="column" style="padding-top: 5px;" ng-show="vm.isEdit"> | ||
67 | + <label class="tb-small advanced-label" translate>timewindow.hide</label> | ||
68 | + <md-checkbox aria-label="{{ 'timewindow.hide' | translate }}" | ||
69 | + ng-model="vm.timewindow.hideAggregation"> | ||
70 | + </md-checkbox> | ||
71 | + </section> | ||
72 | + <section layout="column" flex ng-show="vm.isEdit || !vm.timewindow.hideAggregation"> | ||
73 | + <md-input-container> | ||
74 | + <label translate>aggregation.function</label> | ||
75 | + <md-select ng-disabled="vm.timewindow.hideAggregation" ng-model="vm.timewindow.aggregation.type" style="min-width: 150px;"> | ||
76 | + <md-option ng-repeat="type in vm.aggregationTypes" ng-value="type.value"> | ||
77 | + {{type.name | translate}} | ||
78 | + </md-option> | ||
79 | + </md-select> | ||
80 | + </md-input-container> | ||
81 | + </section> | ||
82 | + </section> | ||
83 | + <section layout="row" ng-show="vm.showLimit()"> | ||
84 | + <section layout="column" style="padding-top: 5px;" ng-show="vm.showLimit() && vm.isEdit"> | ||
85 | + <label class="tb-small advanced-label" translate>timewindow.hide</label> | ||
86 | + <md-checkbox aria-label="{{ 'timewindow.hide' | translate }}" | ||
87 | + ng-model="vm.timewindow.hideAggInterval" > | ||
88 | + </md-checkbox> | ||
89 | + </section> | ||
90 | + <section layout="column" flex ng-show="vm.isEdit || !vm.timewindow.hideAggInterval"> | ||
91 | + <md-slider-container> | ||
92 | + <span translate>aggregation.limit</span> | ||
93 | + <md-slider flex min="{{vm.minDatapointsLimit()}}" max="{{vm.maxDatapointsLimit()}}" step="1" | ||
94 | + ng-disabled="vm.timewindow.hideAggInterval" ng-model="vm.timewindow.aggregation.limit" aria-label="limit" id="limit-slider"> | ||
95 | + </md-slider> | ||
96 | + <md-input-container style="max-width: 80px;"> | ||
97 | + <input flex type="number" step="1" ng-disabled="vm.timewindow.hideAggInterval" | ||
98 | + min="{{vm.minDatapointsLimit()}}" max="{{vm.maxDatapointsLimit()}}" | ||
99 | + ng-model="vm.timewindow.aggregation.limit" aria-label="limit" aria-controls="limit-slider"> | ||
100 | + </md-input-container> | ||
101 | + </md-slider-container> | ||
102 | + </section> | ||
103 | + </section> | ||
104 | + <tb-timeinterval ng-if="vm.showRealtimeAggInterval()" min="vm.minRealtimeAggInterval()" | ||
105 | + max="vm.maxRealtimeAggInterval()" ng-model="vm.timewindow.realtime.interval" is-edit="vm.isEdit" | ||
106 | + hide-flag="vm.timewindow.hideAggInterval" predefined-name="'aggregation.group-interval'"> | ||
77 | </tb-timeinterval> | 107 | </tb-timeinterval> |
78 | - <tb-timeinterval ng-if="vm.showHistoryAggInterval()" min="vm.minHistoryAggInterval()" max="vm.maxHistoryAggInterval()" | ||
79 | - predefined-name="'aggregation.group-interval'" | ||
80 | - ng-model="vm.timewindow.history.interval"> | 108 | + <tb-timeinterval ng-if="vm.showHistoryAggInterval()" min="vm.minHistoryAggInterval()" |
109 | + max="vm.maxHistoryAggInterval()" ng-model="vm.timewindow.history.interval" is-edit="vm.isEdit" | ||
110 | + hide-flag="vm.timewindow.hideAggInterval" predefined-name="'aggregation.group-interval'"> | ||
81 | </tb-timeinterval> | 111 | </tb-timeinterval> |
82 | </md-content> | 112 | </md-content> |
83 | </section> | 113 | </section> |
@@ -93,4 +123,4 @@ | @@ -93,4 +123,4 @@ | ||
93 | </section> | 123 | </section> |
94 | </md-content> | 124 | </md-content> |
95 | </fieldset> | 125 | </fieldset> |
96 | -</form> | ||
126 | +</form> |
@@ -42,7 +42,10 @@ function Timewindow($compile, $templateCache, $filter, $mdPanel, $document, $mdM | @@ -42,7 +42,10 @@ function Timewindow($compile, $templateCache, $filter, $mdPanel, $document, $mdM | ||
42 | var linker = function (scope, element, attrs, ngModelCtrl) { | 42 | var linker = function (scope, element, attrs, ngModelCtrl) { |
43 | 43 | ||
44 | /* tbTimewindow (ng-model) | 44 | /* tbTimewindow (ng-model) |
45 | - * { | 45 | + * { |
46 | + * hideInterval: false, | ||
47 | + * hideAggregation: false, | ||
48 | + * hideAggInterval: false, | ||
46 | * realtime: { | 49 | * realtime: { |
47 | * interval: 0, | 50 | * interval: 0, |
48 | * timewindowMs: 0 | 51 | * timewindowMs: 0 |
@@ -64,6 +67,8 @@ function Timewindow($compile, $templateCache, $filter, $mdPanel, $document, $mdM | @@ -64,6 +67,8 @@ function Timewindow($compile, $templateCache, $filter, $mdPanel, $document, $mdM | ||
64 | 67 | ||
65 | scope.historyOnly = angular.isDefined(attrs.historyOnly); | 68 | scope.historyOnly = angular.isDefined(attrs.historyOnly); |
66 | 69 | ||
70 | + scope.isEdit = attrs.isEdit === 'true'; | ||
71 | + | ||
67 | scope.aggregation = scope.$eval(attrs.aggregation); | 72 | scope.aggregation = scope.$eval(attrs.aggregation); |
68 | 73 | ||
69 | scope.isToolbar = angular.isDefined(attrs.isToolbar); | 74 | scope.isToolbar = angular.isDefined(attrs.isToolbar); |
@@ -135,7 +140,8 @@ function Timewindow($compile, $templateCache, $filter, $mdPanel, $document, $mdM | @@ -135,7 +140,8 @@ function Timewindow($compile, $templateCache, $filter, $mdPanel, $document, $mdM | ||
135 | locals: { | 140 | locals: { |
136 | 'timewindow': angular.copy(scope.model), | 141 | 'timewindow': angular.copy(scope.model), |
137 | 'historyOnly': scope.historyOnly, | 142 | 'historyOnly': scope.historyOnly, |
138 | - 'aggregation': scope.aggregation, | 143 | + 'aggregation': scope.aggregation, |
144 | + 'isEdit': scope.isEdit, | ||
139 | 'onTimewindowUpdate': function (timewindow) { | 145 | 'onTimewindowUpdate': function (timewindow) { |
140 | scope.model = timewindow; | 146 | scope.model = timewindow; |
141 | scope.updateView(); | 147 | scope.updateView(); |
@@ -176,7 +182,10 @@ function Timewindow($compile, $templateCache, $filter, $mdPanel, $document, $mdM | @@ -176,7 +182,10 @@ function Timewindow($compile, $templateCache, $filter, $mdPanel, $document, $mdM | ||
176 | value.aggregation = { | 182 | value.aggregation = { |
177 | type: model.aggregation.type, | 183 | type: model.aggregation.type, |
178 | limit: model.aggregation.limit | 184 | limit: model.aggregation.limit |
179 | - }; | 185 | + }; |
186 | + value.hideInterval = model.hideInterval; | ||
187 | + value.hideAggregation = model.hideAggregation; | ||
188 | + value.hideAggInterval = model.hideAggInterval; | ||
180 | ngModelCtrl.$setViewValue(value); | 189 | ngModelCtrl.$setViewValue(value); |
181 | scope.updateDisplayValue(); | 190 | scope.updateDisplayValue(); |
182 | } | 191 | } |
@@ -230,6 +239,9 @@ function Timewindow($compile, $templateCache, $filter, $mdPanel, $document, $mdM | @@ -230,6 +239,9 @@ function Timewindow($compile, $templateCache, $filter, $mdPanel, $document, $mdM | ||
230 | } | 239 | } |
231 | model.aggregation.limit = value.aggregation.limit || Math.floor(timeService.getMaxDatapointsLimit() / 2); | 240 | model.aggregation.limit = value.aggregation.limit || Math.floor(timeService.getMaxDatapointsLimit() / 2); |
232 | } | 241 | } |
242 | + model.hideInterval = value.hideInterval; | ||
243 | + model.hideAggregation = value.hideAggregation; | ||
244 | + model.hideAggInterval = value.hideAggInterval; | ||
233 | } | 245 | } |
234 | scope.updateDisplayValue(); | 246 | scope.updateDisplayValue(); |
235 | }; | 247 | }; |
@@ -242,7 +254,9 @@ function Timewindow($compile, $templateCache, $filter, $mdPanel, $document, $mdM | @@ -242,7 +254,9 @@ function Timewindow($compile, $templateCache, $filter, $mdPanel, $document, $mdM | ||
242 | require: "^ngModel", | 254 | require: "^ngModel", |
243 | scope: { | 255 | scope: { |
244 | asButton: '=asButton', | 256 | asButton: '=asButton', |
245 | - disabled:'=ngDisabled' | 257 | + disabled:'=ngDisabled', |
258 | + isEdit: '=?' | ||
259 | + | ||
246 | }, | 260 | }, |
247 | link: linker | 261 | link: linker |
248 | }; | 262 | }; |
@@ -279,4 +293,4 @@ function MillisecondsToTimeString($translate) { | @@ -279,4 +293,4 @@ function MillisecondsToTimeString($translate) { | ||
279 | return timeString; | 293 | return timeString; |
280 | } | 294 | } |
281 | } | 295 | } |
282 | -/* eslint-enable angular/angularelement */ | ||
296 | +/* eslint-enable angular/angularelement */ |
@@ -34,7 +34,7 @@ | @@ -34,7 +34,7 @@ | ||
34 | <section flex layout="row" layout-align="start center" style="margin-bottom: 16px;"> | 34 | <section flex layout="row" layout-align="start center" style="margin-bottom: 16px;"> |
35 | <span ng-class="{'tb-disabled-label': useDashboardTimewindow}" translate style="padding-right: 8px;">widget-config.timewindow</span> | 35 | <span ng-class="{'tb-disabled-label': useDashboardTimewindow}" translate style="padding-right: 8px;">widget-config.timewindow</span> |
36 | <tb-timewindow ng-disabled="useDashboardTimewindow" as-button="true" aggregation="{{ widgetType === types.widgetType.timeseries.value }}" | 36 | <tb-timewindow ng-disabled="useDashboardTimewindow" as-button="true" aggregation="{{ widgetType === types.widgetType.timeseries.value }}" |
37 | - flex ng-model="timewindow"></tb-timewindow> | 37 | + is-edit="true" flex ng-model="timewindow"></tb-timewindow> |
38 | </section> | 38 | </section> |
39 | </div> | 39 | </div> |
40 | <div ng-show="widgetType === types.widgetType.alarm.value" layout='column' layout-align="center" | 40 | <div ng-show="widgetType === types.widgetType.alarm.value" layout='column' layout-align="center" |
@@ -50,7 +50,7 @@ | @@ -50,7 +50,7 @@ | ||
50 | <md-icon aria-label="{{ 'action.export' | translate }}" class="material-icons">file_download</md-icon> | 50 | <md-icon aria-label="{{ 'action.export' | translate }}" class="material-icons">file_download</md-icon> |
51 | </md-button> | 51 | </md-button> |
52 | <tb-timewindow ng-show="vm.isEdit || vm.displayDashboardTimewindow()" | 52 | <tb-timewindow ng-show="vm.isEdit || vm.displayDashboardTimewindow()" |
53 | - is-toolbar | 53 | + is-toolbar is-edit="vm.isEdit" |
54 | direction="left" | 54 | direction="left" |
55 | tooltip-direction="bottom" aggregation="true" | 55 | tooltip-direction="bottom" aggregation="true" |
56 | ng-model="vm.dashboardCtx.dashboardTimewindow"> | 56 | ng-model="vm.dashboardCtx.dashboardTimewindow"> |
@@ -1412,7 +1412,8 @@ | @@ -1412,7 +1412,8 @@ | ||
1412 | "edit": "Edit timewindow", | 1412 | "edit": "Edit timewindow", |
1413 | "date-range": "Date range", | 1413 | "date-range": "Date range", |
1414 | "last": "Last", | 1414 | "last": "Last", |
1415 | - "time-period": "Time period" | 1415 | + "time-period": "Time period", |
1416 | + "hide": "Hide" | ||
1416 | }, | 1417 | }, |
1417 | "user": { | 1418 | "user": { |
1418 | "user": "User", | 1419 | "user": "User", |
@@ -1411,7 +1411,8 @@ | @@ -1411,7 +1411,8 @@ | ||
1411 | "edit": "Editar ventana de tiempo", | 1411 | "edit": "Editar ventana de tiempo", |
1412 | "date-range": "Rango de fecha", | 1412 | "date-range": "Rango de fecha", |
1413 | "last": "Último(s)", | 1413 | "last": "Último(s)", |
1414 | - "time-period": "Período de tiempo" | 1414 | + "time-period": "Período de tiempo", |
1415 | + "hide": "Ocultar" | ||
1415 | }, | 1416 | }, |
1416 | "user": { | 1417 | "user": { |
1417 | "user": "Usuario", | 1418 | "user": "Usuario", |
@@ -1263,7 +1263,8 @@ | @@ -1263,7 +1263,8 @@ | ||
1263 | "period": "de {{startTime}} à {{endTime}}", | 1263 | "period": "de {{startTime}} à {{endTime}}", |
1264 | "realtime": "Temps réel", | 1264 | "realtime": "Temps réel", |
1265 | "seconds": "{seconds, plural, 0 {second} 1 {1 second} other {# seconds}}", | 1265 | "seconds": "{seconds, plural, 0 {second} 1 {1 second} other {# seconds}}", |
1266 | - "time-period": "Période" | 1266 | + "time-period": "Période", |
1267 | + "hide": "Masquer" | ||
1267 | }, | 1268 | }, |
1268 | "user": { | 1269 | "user": { |
1269 | "activation-email-sent-message": "L'e-mail d'activation a été envoyé avec succès!", | 1270 | "activation-email-sent-message": "L'e-mail d'activation a été envoyé avec succès!", |
@@ -1353,7 +1353,8 @@ | @@ -1353,7 +1353,8 @@ | ||
1353 | "edit": "Modifica intervallo temporale", | 1353 | "edit": "Modifica intervallo temporale", |
1354 | "date-range": "Intervallo date", | 1354 | "date-range": "Intervallo date", |
1355 | "last": "Ultimo", | 1355 | "last": "Ultimo", |
1356 | - "time-period": "Intervallo temporale" | 1356 | + "time-period": "Intervallo temporale", |
1357 | + "hide": "Nascondi" | ||
1357 | }, | 1358 | }, |
1358 | "user": { | 1359 | "user": { |
1359 | "user": "Utente", | 1360 | "user": "Utente", |