mirror of
https://github.com/grafana/grafana.git
synced 2025-02-25 18:55:37 -06:00
Began wriing unit test for new panel repeat features, #1888
This commit is contained in:
@@ -48,6 +48,7 @@ function (angular, $, config) {
|
||||
// the rest of the dashboard can load
|
||||
templateValuesSrv.init(dashboard).finally(function() {
|
||||
dynamicDashboardSrv.init(dashboard);
|
||||
|
||||
$scope.dashboard = dashboard;
|
||||
$scope.dashboardMeta = dashboard.meta;
|
||||
$scope.dashboardViewState = dashboardViewStateSrv.create($scope);
|
||||
|
||||
@@ -10,7 +10,7 @@ function (angular, $, kbn, _, moment) {
|
||||
|
||||
var module = angular.module('grafana.services');
|
||||
|
||||
module.factory('dashboardSrv', function(contextSrv) {
|
||||
module.factory('dashboardSrv', function() {
|
||||
|
||||
function DashboardModel (data, meta) {
|
||||
if (!data) {
|
||||
@@ -59,10 +59,6 @@ function (angular, $, kbn, _, moment) {
|
||||
meta.canStar = meta.canStar === false ? false : true;
|
||||
meta.canDelete = meta.canDelete === false ? false : true;
|
||||
|
||||
if (contextSrv.hasRole('Viewer')) {
|
||||
meta.canSave = false;
|
||||
}
|
||||
|
||||
if (!this.editable) {
|
||||
meta.canEdit = false;
|
||||
meta.canDelete = false;
|
||||
|
||||
@@ -8,8 +8,11 @@ function (angular, _) {
|
||||
var module = angular.module('grafana.services');
|
||||
|
||||
module.service('dynamicDashboardSrv', function() {
|
||||
var self = this;
|
||||
|
||||
this.init = function(dashboard) {
|
||||
this.iteration = 0;
|
||||
|
||||
this.handlePanelRepeats(dashboard);
|
||||
this.handleRowRepeats(dashboard);
|
||||
};
|
||||
@@ -112,6 +115,15 @@ function (angular, _) {
|
||||
|
||||
};
|
||||
|
||||
this.getRepeatPanel = function(sourcePanel, row) {
|
||||
for (var i = 0; i < row.panels.length; i++) {
|
||||
var panel = row.panels[i];
|
||||
if (panel.sourcePanel === sourcePanel) {
|
||||
return panel;
|
||||
}
|
||||
}
|
||||
};
|
||||
|
||||
this.repeatPanel = function(panel, row, dashboard) {
|
||||
var variables = dashboard.templating.list;
|
||||
var variable = _.findWhere(variables, {name: panel.repeat.replace('$', '')});
|
||||
@@ -137,7 +149,6 @@ function (angular, _) {
|
||||
panel.scopedVars = {};
|
||||
panel.scopedVars[variable.name] = option;
|
||||
}
|
||||
console.log('duplicatePanel');
|
||||
});
|
||||
};
|
||||
|
||||
|
||||
@@ -27,7 +27,7 @@
|
||||
<li ng-show="dashboardMeta.canShare">
|
||||
<a class="pointer" ng-click="shareDashboard()" bs-tooltip="'Share dashboard'" data-placement="bottom"><i class="fa fa-share-square-o"></i></a>
|
||||
</li>
|
||||
<li ng-show="dashboardMeta.canSave">
|
||||
<li ng-show="dashboardMeta.canSave && contextSrv.isEditor">
|
||||
<a ng-click="saveDashboard()" bs-tooltip="'Save dashboard'" data-placement="bottom"><i class="fa fa-save"></i></a>
|
||||
</li>
|
||||
<li class="dropdown">
|
||||
|
||||
@@ -12,7 +12,7 @@ function(angular, _, config) {
|
||||
|
||||
var module = angular.module('grafana.services');
|
||||
|
||||
module.service('unsavedChangesSrv', function($rootScope, $modal, $q, $location, $timeout) {
|
||||
module.service('unsavedChangesSrv', function($rootScope, $modal, $q, $location, $timeout, contextSrv) {
|
||||
|
||||
var self = this;
|
||||
var modalScope = $rootScope.$new();
|
||||
@@ -37,6 +37,7 @@ function(angular, _, config) {
|
||||
});
|
||||
|
||||
this.ignoreChanges = function() {
|
||||
if (!contextSrv.isEditor) { return true; }
|
||||
if (!self.current || !self.current.meta) { return true; }
|
||||
|
||||
var meta = self.current.meta;
|
||||
|
||||
Reference in New Issue
Block a user