diff --git a/src/app/controllers/row.js b/src/app/controllers/row.js index 07f7b0d8b17af70c1ccfab37ff7fea8835be7638..de5ff8c6132b60dcbf2465ee3c552602787fcd99 100644 --- a/src/app/controllers/row.js +++ b/src/app/controllers/row.js @@ -58,6 +58,11 @@ function (angular, app, _) { $scope.row.panels.push(panel); }; + $scope.duplicate_panel = function(panel) { + var clone = angular.copy(panel); + $scope.row.panels.push(clone); + }; + /** @scratch /panels/0 * [[panels]] * = Panels diff --git a/src/app/directives/kibanaPanel.js b/src/app/directives/kibanaPanel.js index 4203246f8013382e65ffdd4af9f9b54be2110218..5948912e1caadcf5ac99a8e3a6b64f0675d93aea 100644 --- a/src/app/directives/kibanaPanel.js +++ b/src/app/directives/kibanaPanel.js @@ -47,6 +47,11 @@ function (angular,$) { '<i class="icon-cog pointer" bs-tooltip="\'Configure\'"></i></span>'+ '</span>' + + '<span class="row-button extra" ng-show="panel.editable != false">' + + '<span ng-click="duplicate_panel(panel)" class="pointer">'+ + '<i class="icon-copy pointer" bs-tooltip="\'Duplicate\'"></i></span>'+ + '</span>' + + '<span ng-repeat="task in panelMeta.modals" class="row-button extra" ng-show="task.show">' + '<span bs-modal="task.partial" class="pointer"><i ' + 'bs-tooltip="task.description" ng-class="task.icon" class="pointer"></i></span>'+