diff --git a/src/app/controllers/row.js b/src/app/controllers/row.js
index 4d7f288b16e..e18529ee519 100644
--- a/src/app/controllers/row.js
+++ b/src/app/controllers/row.js
@@ -76,9 +76,12 @@ function (angular, app, _) {
};
$scope.remove_panel_from_row = function(row, panel) {
- if (confirm('Are you sure you want to remove this ' + panel.type + ' panel?')) {
- row.panels = _.without(row.panels,panel);
- }
+ $scope.appEvent('confirm-modal', {
+ title: 'Are you sure you want to remove this panel?',
+ onConfirm: function() {
+ row.panels = _.without(row.panels, panel);
+ }
+ });
};
$scope.replacePanel = function(newPanel, oldPanel) {
diff --git a/src/app/panels/graph/legend.js b/src/app/panels/graph/legend.js
index 558420053f4..393e5d3dff4 100644
--- a/src/app/panels/graph/legend.js
+++ b/src/app/panels/graph/legend.js
@@ -22,8 +22,8 @@ function (angular, app, _, kbn, $) {
var data;
var i;
- scope.$on('render', function(event, renderData) {
- data = renderData || data;
+ scope.$on('render', function() {
+ data = scope.seriesList;
if (data) {
render();
}
diff --git a/src/app/partials/confirm_modal.html b/src/app/partials/confirm_modal.html
new file mode 100644
index 00000000000..6968fdf82a9
--- /dev/null
+++ b/src/app/partials/confirm_modal.html
@@ -0,0 +1,20 @@
+
+
+
+
+
+
+ {{title}}
+
+
+
+
+
+
+
+
diff --git a/src/app/services/alertSrv.js b/src/app/services/alertSrv.js
index f41e490f374..d7deae52a53 100644
--- a/src/app/services/alertSrv.js
+++ b/src/app/services/alertSrv.js
@@ -7,7 +7,7 @@ function (angular, _) {
var module = angular.module('grafana.services');
- module.service('alertSrv', function($timeout, $sce, $rootScope) {
+ module.service('alertSrv', function($timeout, $sce, $rootScope, $modal, $q) {
var self = this;
this.init = function() {
@@ -20,6 +20,7 @@ function (angular, _) {
$rootScope.onAppEvent('alert-success', function(e, alert) {
self.set(alert[0], alert[1], 'success', 3000);
});
+ $rootScope.onAppEvent('confirm-modal', this.showConfirmModal);
};
// List of all alert objects
@@ -57,5 +58,27 @@ function (angular, _) {
this.clearAll = function() {
self.list = [];
};
+
+ this.showConfirmModal = function(e, payload) {
+ var scope = $rootScope.$new();
+
+ scope.title = payload.title;
+ scope.text = payload.text;
+ scope.onConfirm = payload.onConfirm;
+
+ var confirmModal = $modal({
+ template: './app/partials/confirm_modal.html',
+ persist: true,
+ show: false,
+ scope: scope,
+ keyboard: false
+ });
+
+ $q.when(confirmModal).then(function(modalEl) {
+ modalEl.modal('show');
+ });
+
+ };
+
});
});