mirror of https://github.com/grafana/grafana.git
				
				
				
			add support for screenshots in plugins.
Allow plugin creators to include screenshots of their plugin in action. Primarily for use in Grafana.net info pages.
This commit is contained in:
		
							parent
							
								
									9653f43466
								
							
						
					
					
						commit
						f953033ba7
					
				| 
						 | 
				
			
			@ -24,6 +24,9 @@ func (fp *FrontendPluginBase) initFrontendPlugin() {
 | 
			
		|||
 | 
			
		||||
	fp.Info.Logos.Small = evalRelativePluginUrlPath(fp.Info.Logos.Small, fp.Id)
 | 
			
		||||
	fp.Info.Logos.Large = evalRelativePluginUrlPath(fp.Info.Logos.Large, fp.Id)
 | 
			
		||||
	for i := -0; i < len(fp.Info.Screenshots); i++ {
 | 
			
		||||
		fp.Info.Screenshots[i].Path = evalRelativePluginUrlPath(fp.Info.Screenshots[i].Path, fp.Id)
 | 
			
		||||
	}
 | 
			
		||||
	fp.handleModuleDefaults()
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -23,6 +23,7 @@ type PluginInfo struct {
 | 
			
		|||
	Description string              `json:"description"`
 | 
			
		||||
	Links       []PluginInfoLink    `json:"links"`
 | 
			
		||||
	Logos       PluginLogos         `json:"logos"`
 | 
			
		||||
	Screenshots []PluginScreenshots `json:"screenshots"`
 | 
			
		||||
	Version     string              `json:"version"`
 | 
			
		||||
	Updated     string              `json:"updated"`
 | 
			
		||||
}
 | 
			
		||||
| 
						 | 
				
			
			@ -37,6 +38,11 @@ type PluginLogos struct {
 | 
			
		|||
	Large string `json:"large"`
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
type PluginScreenshots struct {
 | 
			
		||||
	Path string `json:"path"`
 | 
			
		||||
	Name string `json:"name"`
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
type PluginStaticRoute struct {
 | 
			
		||||
	Directory string
 | 
			
		||||
	PluginId  string
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -34,6 +34,7 @@ func TestPluginScans(t *testing.T) {
 | 
			
		|||
		So(err, ShouldBeNil)
 | 
			
		||||
		So(len(Apps), ShouldBeGreaterThan, 0)
 | 
			
		||||
		So(Apps["app-example"].Info.Logos.Large, ShouldEqual, "public/plugins/app-example/img/logo_large.png")
 | 
			
		||||
		So(Apps["app-example"].Info.Screenshots[1].Path, ShouldEqual, "public/plugins/app-example/img/screenshot2.png")
 | 
			
		||||
	})
 | 
			
		||||
 | 
			
		||||
}
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -26,6 +26,10 @@
 | 
			
		|||
      "small": "img/logo_small.png",
 | 
			
		||||
      "large": "img/logo_large.png"
 | 
			
		||||
    },
 | 
			
		||||
    "screenshots": [
 | 
			
		||||
      {"name": "img1", "path": "img/screenshot1.png"},
 | 
			
		||||
      {"name": "img2", "path": "img/screenshot2.png"}
 | 
			
		||||
    ],
 | 
			
		||||
    "links": [
 | 
			
		||||
      {"name": "Project site", "url": "http://project.com"},
 | 
			
		||||
      {"name": "License & Terms", "url": "http://license.com"}
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
		Loading…
	
		Reference in New Issue