...
|
...
|
@@ -181,6 +181,8 @@ function DashboardController($scope, $rootScope, $element, $timeout, $mdMedia, $ |
181
|
181
|
vm.widgetBackgroundColor = widgetBackgroundColor;
|
182
|
182
|
vm.widgetPadding = widgetPadding;
|
183
|
183
|
vm.showWidgetTitle = showWidgetTitle;
|
|
184
|
+ vm.hasWidgetTitleTemplate = hasWidgetTitleTemplate;
|
|
185
|
+ vm.widgetTitleTemplate = widgetTitleTemplate;
|
184
|
186
|
vm.showWidgetTitlePanel = showWidgetTitlePanel;
|
185
|
187
|
vm.showWidgetActions = showWidgetActions;
|
186
|
188
|
vm.widgetTitleStyle = widgetTitleStyle;
|
...
|
...
|
@@ -239,6 +241,7 @@ function DashboardController($scope, $rootScope, $element, $timeout, $mdMedia, $ |
239
|
241
|
}
|
240
|
242
|
|
241
|
243
|
$scope.$watchCollection('vm.widgets', function () {
|
|
244
|
+ sortWidgets();
|
242
|
245
|
var ids = [];
|
243
|
246
|
for (var i=0;i<vm.widgets.length;i++) {
|
244
|
247
|
var widget = vm.widgets[i];
|
...
|
...
|
@@ -422,8 +425,13 @@ function DashboardController($scope, $rootScope, $element, $timeout, $mdMedia, $ |
422
|
425
|
function widgetOrder(widget) {
|
423
|
426
|
var order;
|
424
|
427
|
if (vm.widgetLayouts && vm.widgetLayouts[widget.id]) {
|
425
|
|
- order = vm.widgetLayouts[widget.id].mobileOrder;
|
426
|
|
- } else if (widget.config.mobileOrder) {
|
|
428
|
+ if (angular.isDefined(vm.widgetLayouts[widget.id].mobileOrder)
|
|
429
|
+ && vm.widgetLayouts[widget.id].mobileOrder >= 0) {
|
|
430
|
+ order = vm.widgetLayouts[widget.id].mobileOrder;
|
|
431
|
+ } else {
|
|
432
|
+ order = vm.widgetLayouts[widget.id].row;
|
|
433
|
+ }
|
|
434
|
+ } else if (angular.isDefined(widget.config.mobileOrder) && widget.config.mobileOrder >= 0) {
|
427
|
435
|
order = widget.config.mobileOrder;
|
428
|
436
|
} else {
|
429
|
437
|
order = widget.row;
|
...
|
...
|
@@ -432,6 +440,12 @@ function DashboardController($scope, $rootScope, $element, $timeout, $mdMedia, $ |
432
|
440
|
}
|
433
|
441
|
|
434
|
442
|
$scope.$on('widgetPositionChanged', function () {
|
|
443
|
+ sortWidgets();
|
|
444
|
+ });
|
|
445
|
+
|
|
446
|
+ loadStDiff();
|
|
447
|
+
|
|
448
|
+ function sortWidgets() {
|
435
|
449
|
vm.widgets.sort(function (widget1, widget2) {
|
436
|
450
|
var row1 = widgetOrder(widget1);
|
437
|
451
|
var row2 = widgetOrder(widget2);
|
...
|
...
|
@@ -441,9 +455,7 @@ function DashboardController($scope, $rootScope, $element, $timeout, $mdMedia, $ |
441
|
455
|
}
|
442
|
456
|
return res;
|
443
|
457
|
});
|
444
|
|
- });
|
445
|
|
-
|
446
|
|
- loadStDiff();
|
|
458
|
+ }
|
447
|
459
|
|
448
|
460
|
function reload() {
|
449
|
461
|
loadStDiff();
|
...
|
...
|
@@ -809,12 +821,30 @@ function DashboardController($scope, $rootScope, $element, $timeout, $mdMedia, $ |
809
|
821
|
}
|
810
|
822
|
}
|
811
|
823
|
|
|
824
|
+ function hasWidgetTitleTemplate(widget) {
|
|
825
|
+ var ctx = widgetContext(widget);
|
|
826
|
+ if (ctx && ctx.widgetTitleTemplate) {
|
|
827
|
+ return true;
|
|
828
|
+ } else {
|
|
829
|
+ return false;
|
|
830
|
+ }
|
|
831
|
+ }
|
|
832
|
+
|
|
833
|
+ function widgetTitleTemplate(widget) {
|
|
834
|
+ var ctx = widgetContext(widget);
|
|
835
|
+ if (ctx && ctx.widgetTitleTemplate) {
|
|
836
|
+ return ctx.widgetTitleTemplate;
|
|
837
|
+ } else {
|
|
838
|
+ return '';
|
|
839
|
+ }
|
|
840
|
+ }
|
|
841
|
+
|
812
|
842
|
function showWidgetTitlePanel(widget) {
|
813
|
843
|
var ctx = widgetContext(widget);
|
814
|
844
|
if (ctx && ctx.hideTitlePanel) {
|
815
|
845
|
return false;
|
816
|
846
|
} else {
|
817
|
|
- return showWidgetTitle(widget) || hasTimewindow(widget);
|
|
847
|
+ return hasWidgetTitleTemplate(widget) || showWidgetTitle(widget) || hasTimewindow(widget);
|
818
|
848
|
}
|
819
|
849
|
}
|
820
|
850
|
|
...
|
...
|
|