mirror of
https://github.com/grafana/grafana.git
synced 2025-02-13 09:05:45 -06:00
allow loading of panels and dashboards from subfolders
every . in their name is mapped to a /
This commit is contained in:
parent
2b9a8a00f9
commit
d3495ff739
@ -70,7 +70,7 @@ function (angular, config, _) {
|
||||
|
||||
$scope.edit_path = function(type) {
|
||||
if(type) {
|
||||
return 'app/panels/'+type+'/editor.html';
|
||||
return 'app/panels/'+type.replace(".","/")+'/editor.html';
|
||||
} else {
|
||||
return false;
|
||||
}
|
||||
|
@ -17,7 +17,7 @@ function (angular, app, _) {
|
||||
$scope.reset_panel(_type);
|
||||
if(!_.isUndefined($scope.panel.type)) {
|
||||
$scope.panel.loadingEditor = true;
|
||||
$scope.require(['panels/'+$scope.panel.type+'/module'], function () {
|
||||
$scope.require(['panels/'+$scope.panel.type.replace(".","/") +'/module'], function () {
|
||||
var template = '<div ng-controller="'+$scope.panel.type+'" ng-include="\'app/partials/paneladd.html\'"></div>';
|
||||
elem.html($compile(angular.element(template))($scope));
|
||||
$scope.panel.loadingEditor = false;
|
||||
|
@ -75,9 +75,10 @@ function (angular) {
|
||||
$scope.$watch(attr.type, function (name) {
|
||||
elem.addClass("ng-cloak");
|
||||
// load the panels module file, then render it in the dom.
|
||||
var nameAsPath = name.replace(".", "/");
|
||||
$scope.require([
|
||||
'jquery',
|
||||
'text!panels/'+name+'/module.html'
|
||||
'text!panels/'+nameAsPath+'/module.html'
|
||||
], function ($, moduleTemplate) {
|
||||
var $module = $(moduleTemplate);
|
||||
// top level controllers
|
||||
@ -88,7 +89,7 @@ function (angular) {
|
||||
if ($controllers.length) {
|
||||
$controllers.first().prepend(editorTemplate);
|
||||
$scope.require([
|
||||
'panels/'+name+'/module'
|
||||
'panels/'+nameAsPath+'/module'
|
||||
], function() {
|
||||
loadModule($module);
|
||||
});
|
||||
|
@ -32,10 +32,10 @@ function (angular, _) {
|
||||
function loadController(name) {
|
||||
elem.addClass("ng-cloak");
|
||||
// load the panels module file, then render it in the dom.
|
||||
|
||||
var nameAsPath = name.replace(".", "/");
|
||||
$scope.require([
|
||||
'jquery',
|
||||
'text!panels/'+name+'/module.html'
|
||||
'text!panels/'+nameAsPath+'/module.html'
|
||||
], function ($, moduleTemplate) {
|
||||
var $module = $(moduleTemplate);
|
||||
// top level controllers
|
||||
@ -46,7 +46,7 @@ function (angular, _) {
|
||||
if ($controllers.length) {
|
||||
$controllers.first().prepend(panelLoading);
|
||||
$scope.require([
|
||||
'panels/'+name+'/module'
|
||||
'panels/'+nameAsPath+'/module'
|
||||
], function() {
|
||||
loadModule($module);
|
||||
});
|
||||
|
@ -274,7 +274,7 @@ function (angular, $, kbn, _, config, moment, Modernizr) {
|
||||
|
||||
this.file_load = function(file) {
|
||||
return $http({
|
||||
url: "app/dashboards/"+file+'?' + new Date().getTime(),
|
||||
url: "app/dashboards/"+file.replace(".","/")+'?' + new Date().getTime(),
|
||||
method: "GET",
|
||||
transformResponse: function(response) {
|
||||
return renderTemplate(response,$routeParams);
|
||||
@ -314,7 +314,7 @@ function (angular, $, kbn, _, config, moment, Modernizr) {
|
||||
|
||||
this.script_load = function(file) {
|
||||
return $http({
|
||||
url: "app/dashboards/"+file,
|
||||
url: "app/dashboards/"+file.replace(".","/"),
|
||||
method: "GET",
|
||||
transformResponse: function(response) {
|
||||
/*jshint -W054 */
|
||||
|
Loading…
Reference in New Issue
Block a user