mirror of https://github.com/grafana/grafana.git
				
				
				
			feat(plugins): progress on plugins page
This commit is contained in:
		
							parent
							
								
									b98e5690eb
								
							
						
					
					
						commit
						c148d89004
					
				|  | @ -4,6 +4,7 @@ import "github.com/grafana/grafana/pkg/plugins" | ||||||
| 
 | 
 | ||||||
| type PluginSetting struct { | type PluginSetting struct { | ||||||
| 	Name     string                    `json:"name"` | 	Name     string                    `json:"name"` | ||||||
|  | 	Type     string                    `json:"type"` | ||||||
| 	PluginId string                    `json:"pluginId"` | 	PluginId string                    `json:"pluginId"` | ||||||
| 	Enabled  bool                      `json:"enabled"` | 	Enabled  bool                      `json:"enabled"` | ||||||
| 	Pinned   bool                      `json:"pinned"` | 	Pinned   bool                      `json:"pinned"` | ||||||
|  |  | ||||||
|  | @ -42,6 +42,7 @@ func GetPluginSettingById(c *middleware.Context) Response { | ||||||
| 		return ApiError(404, "Plugin not found, no installed plugin with that id", nil) | 		return ApiError(404, "Plugin not found, no installed plugin with that id", nil) | ||||||
| 	} else { | 	} else { | ||||||
| 		dto := &dtos.PluginSetting{ | 		dto := &dtos.PluginSetting{ | ||||||
|  | 			Type:     def.Type, | ||||||
| 			PluginId: def.Id, | 			PluginId: def.Id, | ||||||
| 			Name:     def.Name, | 			Name:     def.Name, | ||||||
| 			Info:     &def.Info, | 			Info:     &def.Info, | ||||||
|  |  | ||||||
|  | @ -56,6 +56,10 @@ func (fp *FrontendPluginBase) handleModuleDefaults() { | ||||||
| } | } | ||||||
| 
 | 
 | ||||||
| func evalRelativePluginUrlPath(pathStr string, pluginId string) string { | func evalRelativePluginUrlPath(pathStr string, pluginId string) string { | ||||||
|  | 	if pathStr == "" { | ||||||
|  | 		return "" | ||||||
|  | 	} | ||||||
|  | 
 | ||||||
| 	u, _ := url.Parse(pathStr) | 	u, _ := url.Parse(pathStr) | ||||||
| 	if u.IsAbs() { | 	if u.IsAbs() { | ||||||
| 		return pathStr | 		return pathStr | ||||||
|  |  | ||||||
|  | @ -8,11 +8,13 @@ export class PluginEditCtrl { | ||||||
|   pluginId: any; |   pluginId: any; | ||||||
|   includedPanels: any; |   includedPanels: any; | ||||||
|   includedDatasources: any; |   includedDatasources: any; | ||||||
|  |   tabIndex: number; | ||||||
| 
 | 
 | ||||||
|   /** @ngInject */ |   /** @ngInject */ | ||||||
|   constructor(private backendSrv: any, private $routeParams: any) { |   constructor(private backendSrv: any, private $routeParams: any) { | ||||||
|     this.model = {}; |     this.model = {}; | ||||||
|     this.pluginId = $routeParams.pluginId; |     this.pluginId = $routeParams.pluginId; | ||||||
|  |     this.tabIndex = 0; | ||||||
| 
 | 
 | ||||||
|     this.backendSrv.get(`/api/org/plugins/${this.pluginId}/settings`).then(result => { |     this.backendSrv.get(`/api/org/plugins/${this.pluginId}/settings`).then(result => { | ||||||
|       this.model = result; |       this.model = result; | ||||||
|  |  | ||||||
|  | @ -1,112 +1,167 @@ | ||||||
| <navbar title="Plugins" title-url="plugins" icon="icon-gf icon-gf-apps"> | <navbar title="Plugins" title-url="plugins" icon="icon-gf icon-gf-apps"> | ||||||
| 	<a href="plugins/apps" class="navbar-page-btn"> | 	<a href="plugins/apps" class="navbar-page-btn"> | ||||||
| 		<i class="fa fa-cubes"></i> | 		<i class="fa fa-chevron-right"></i> | ||||||
| 		Apps | 		Apps | ||||||
| 	</a> | 	</a> | ||||||
| </navbar> | </navbar> | ||||||
| 
 | 
 | ||||||
| <div class="page-container"> | <div class="page-container"> | ||||||
|   <div class="page-header"> |   <div class="plugin-header"> | ||||||
| 		<img class="page-header-logo" src="{{ctrl.model.info.logos.large}}"> | 		<span ng-show="ctrl.model.info.logos.large" class="plugin-header-logo"> | ||||||
| 		<h1> | 			<img src="{{ctrl.model.info.logos.large}}"> | ||||||
| 			{{ctrl.model.name}} | 		</span> | ||||||
| 		</h1> | 		<div class="plugin-header-info-block"> | ||||||
| 	</div> | 			<h1 class="plugin-header-name">{{ctrl.model.name}}</h1> | ||||||
| 
 | 			<div class="plugin-header-author">By {{ctrl.model.info.author.name}}</div> | ||||||
| 	<div class="flex-container"> | 			<div class="plugin-header-stamps"> | ||||||
| 		<div class="app-edit-description"> | 				<span class="plugin-header-stamps-type"> | ||||||
| 			{{ctrl.model.info.description}}<br> | 					<i class="icon-gf icon-gf-apps"></i> {{ctrl.model.type}} | ||||||
| 			<span style="small"> | 				</span> | ||||||
| 				Version: {{ctrl.model.info.version}}     Updated: {{ctrl.model.info.updated}} | 			</div> | ||||||
| 			</span> |  | ||||||
| 		</div> |  | ||||||
| 
 |  | ||||||
| 		<div class="form-inline"> |  | ||||||
| 			<editor-checkbox text="Enabled" model="ctrl.model.enabled" change="ctrl.toggleEnabled()"></editor-checkbox> |  | ||||||
| 			      |  | ||||||
| 			<editor-checkbox text="Pinned" model="ctrl.model.pinned" change="ctrl.togglePinned()"></editor-checkbox> |  | ||||||
| 		</div> | 		</div> | ||||||
| 	</div> | 	</div> | ||||||
| 	<div class="flex-column"> | 
 | ||||||
| 		<ul class="app-edit-links"> | 	<ul class="nav nav-tabs nav-tabs-alt"> | ||||||
| 			<li> | 		<li ng-repeat="tab in ::['Overview', 'Details', 'Config']" ng-class="{active: ctrl.tabIndex === $index}"> | ||||||
| 				By <a href="{{ctrl.model.info.author.url}}" class="external-link" target="_blank">{{ctrl.model.info.author.name}}</a> | 			<a ng-click="ctrl.tabIndex= $index"> | ||||||
| 			</li> | 				{{::tab}} | ||||||
| 			<li ng-repeat="link in ctrl.model.info.links"> | 			</a> | ||||||
| 				<a href="{{link.url}}" class="external-link" target="_blank">{{link.name}}</a> | 		</li> | ||||||
| 			</li> | 	</ul> | ||||||
| 		</ul> | 
 | ||||||
|  | 	<div class="page-body"> | ||||||
|  | 		<div class="tab-content page-content-with-sidebar" ng-if="ctrl.tabIndex === 0"> | ||||||
|  | 			README.md | ||||||
|  | 		</div> | ||||||
|  | 
 | ||||||
|  | 		<div class="tab-content page-content-with-sidebar" ng-if="ctrl.tabIndex === 1"> | ||||||
|  | 			Details | ||||||
|  | 		</div> | ||||||
|  | 
 | ||||||
|  | 		<div class="tab-content page-content-with-sidebar" ng-if="ctrl.tabIndex === 2"> | ||||||
|  | 			<div class="gf-form-inline"> | ||||||
|  | 				<div class="gf-form"> | ||||||
|  | 					<editor-checkbox text="Enabled" model="ctrl.model.enabled" change="ctrl.toggleEnabled()"></editor-checkbox> | ||||||
|  | 				</div> | ||||||
|  | 				<div class="gf-form"> | ||||||
|  | 					<editor-checkbox text="Pinned" model="ctrl.model.pinned" change="ctrl.togglePinned()"></editor-checkbox> | ||||||
|  | 				</div> | ||||||
|  | 			</div> | ||||||
|  | 		</div> | ||||||
|  | 
 | ||||||
|  | 		<aside class="page-sidebar"> | ||||||
|  | 			<section class="page-sidebar-section"> | ||||||
|  | 				<h4>Version</h4> | ||||||
|  | 				<span>1.0.1</span> | ||||||
|  | 			</section> | ||||||
|  | 			<section class="page-sidebar-section" ng-show="ctrl.model.type === 'app'"> | ||||||
|  | 				<h5>Includes</h4> | ||||||
|  | 				<span>TODO</span> | ||||||
|  | 			</section> | ||||||
|  | 			<section class="page-sidebar-section"> | ||||||
|  | 				<h5>Dependencies</h4> | ||||||
|  | 				<span>TODO</span> | ||||||
|  | 			</section> | ||||||
|  | 			<section class="page-sidebar-section"> | ||||||
|  | 				<h5>Links</h4> | ||||||
|  | 				<ul class="ui-list"> | ||||||
|  | 					<li ng-repeat="link in ctrl.model.info.links"> | ||||||
|  | 						<a href="{{link.url}}" class="external-link" target="_blank">{{link.name}}</a> | ||||||
|  | 					</li> | ||||||
|  | 				</ul> | ||||||
|  | 			</section> | ||||||
|  | 		</aside> | ||||||
| 	</div> | 	</div> | ||||||
| </div> | </div> | ||||||
|  | </div> | ||||||
| 
 | 
 | ||||||
| <!-- <section class="simple-box"> --> | <!-- 	<div class="app-edit-description"> --> | ||||||
| <!-- 	<h3 class="simple-box-header">Included with app:</h3> --> | 	<!-- 		{{ctrl.model.info.description}}<br> --> | ||||||
| <!-- 	<div class="flex-container"> --> | 	<!-- 		<span style="small"> --> | ||||||
| <!-- 		<div class="simple-box-body simple-box-column"> --> | 		<!-- 			Version: {{ctrl.model.info.version}} &nbsp; &nbsp; Updated: {{ctrl.model.info.updated}} --> | ||||||
| <!-- 			<div class="simple-box-column-header"> --> | 		<!-- 		</span> --> | ||||||
| <!-- 				<i class="fa fa-th-large"></i> --> | 	<!-- 	</div> --> | ||||||
| <!-- 				Dashboards --> |  | ||||||
| <!-- 			</div> --> |  | ||||||
| <!-- 			<ul> --> |  | ||||||
| <!-- 				<li><em class="small">None</em></li> --> |  | ||||||
| <!-- 			</ul> --> |  | ||||||
| <!-- 		</div> --> |  | ||||||
| <!-- 		<div class="simple-box-body simple-box-column"> --> |  | ||||||
| <!-- 			<div class="simple-box-column-header"> --> |  | ||||||
| <!-- 				<i class="fa fa-line-chart"></i> --> |  | ||||||
| <!-- 				Panels --> |  | ||||||
| <!-- 			</div> --> |  | ||||||
| <!-- 			<ul> --> |  | ||||||
| <!-- 				<li ng-show="!ctrl.includedPanels.length"><em class="small">None</em></li> --> |  | ||||||
| <!-- 				<li ng-repeat="panel in ctrl.includedPanels"> --> |  | ||||||
| <!-- 					{{panel.name}} --> |  | ||||||
| <!-- 				</li> --> |  | ||||||
| <!-- 			</ul> --> |  | ||||||
| <!-- 		</div> --> |  | ||||||
| <!-- 		<div class="simple-box-body simple-box-column"> --> |  | ||||||
| <!-- 			<div class="simple-box-column-header"> --> |  | ||||||
| <!-- 				<i class="fa fa-database"></i> --> |  | ||||||
| <!-- 				Datasources --> |  | ||||||
| <!-- 			</div> --> |  | ||||||
| <!-- 			<ul> --> |  | ||||||
| <!-- 				<li ng-show="!ctrl.includedDatasources.length"><em class="small">None</em></li> --> |  | ||||||
| <!-- 				<li ng-repeat="ds in ctrl.includedDatasources"> --> |  | ||||||
| <!-- 					{{ds.name}} --> |  | ||||||
| <!-- 				</li> --> |  | ||||||
| <!-- 			</ul> --> |  | ||||||
| <!-- 		</div> --> |  | ||||||
| <!-- 		<div class="simple-box-body simple-box-column"> --> |  | ||||||
| <!-- 			<div class="simple-box-column-header"> --> |  | ||||||
| <!-- 				<i class="fa fa-files-o"></i> --> |  | ||||||
| <!-- 				Pages --> |  | ||||||
| <!-- 			</div> --> |  | ||||||
| <!-- 			<ul> --> |  | ||||||
| <!-- 				<li ng-repeat="page in ctrl.model.pages"> --> |  | ||||||
| <!-- 					<a href="apps/{{ctrl.appId}}/page/{{page.slug}}" class="external-link">{{page.name}}</a> --> |  | ||||||
| <!-- 				</li> --> |  | ||||||
| <!-- 			</ul> --> |  | ||||||
| <!-- 		</div> --> |  | ||||||
| <!--  --> |  | ||||||
| <!-- 	</div> --> |  | ||||||
| <!-- </section> --> |  | ||||||
| <!--  --> |  | ||||||
| <!-- <section class="simple-box"> --> |  | ||||||
| <!-- 	<h3 class="simple-box-header">Dependencies:</h3> --> |  | ||||||
| <!-- 	<div class="simple-box-body"> --> |  | ||||||
| <!-- 		Grafana 2.6.x --> |  | ||||||
| <!-- 	</div> --> |  | ||||||
| <!-- </section> --> |  | ||||||
| <!--  --> |  | ||||||
| <!-- <section class="simple-box"> --> |  | ||||||
| <!-- 	<h3 class="simple-box-header">Configuration:</h3> --> |  | ||||||
| <!-- 	<div class="simple-box-body"> --> |  | ||||||
| <!-- 		<div ng-if="ctrl.model.appId"> --> |  | ||||||
| <!-- 			<plugin-component type="app-config-ctrl"></plugin-component> --> |  | ||||||
| <!-- 			<div class="clearfix"></div> --> |  | ||||||
| <!-- 			<button type="submit" class="btn btn-success" ng-click="ctrl.update()">Save</button> --> |  | ||||||
| <!-- 		</div> --> |  | ||||||
| <!-- 	</div> --> |  | ||||||
| <!-- </section> --> |  | ||||||
| <!--  --> |  | ||||||
| <!--  --> | <!--  --> | ||||||
| <!-- </div> --> | <!-- </div> --> | ||||||
|  | 		<!-- <div class="flex-column"> --> | ||||||
|  | 			<!-- 	<ul class="app-edit-links"> --> | ||||||
|  | 				<!-- 		<li> --> | ||||||
|  | 					<!-- 			By <a href="{{ctrl.model.info.author.url}}" class="external-link" target="_blank">{{ctrl.model.info.author.name}}</a> --> | ||||||
|  | 					<!-- 		</li> --> | ||||||
|  | 				<!-- 		<li ng-repeat="link in ctrl.model.info.links"> --> | ||||||
|  | 					<!-- 			<a href="{{link.url}}" class="external-link" target="_blank">{{link.name}}</a> --> | ||||||
|  | 					<!-- 		</li> --> | ||||||
|  | 				<!-- 	</ul> --> | ||||||
|  | 			<!-- </div> --> | ||||||
|  | 
 | ||||||
|  | 		<!-- <section class="simple-box"> --> | ||||||
|  | 			<!-- 	<h3 class="simple-box-header">Included with app:</h3> --> | ||||||
|  | 			<!-- 	<div class="flex-container"> --> | ||||||
|  | 				<!-- 		<div class="simple-box-body simple-box-column"> --> | ||||||
|  | 					<!-- 			<div class="simple-box-column-header"> --> | ||||||
|  | 						<!-- 				<i class="fa fa-th-large"></i> --> | ||||||
|  | 						<!-- 				Dashboards --> | ||||||
|  | 						<!-- 			</div> --> | ||||||
|  | 					<!-- 			<ul> --> | ||||||
|  | 						<!-- 				<li><em class="small">None</em></li> --> | ||||||
|  | 						<!-- 			</ul> --> | ||||||
|  | 					<!-- 		</div> --> | ||||||
|  | 				<!-- 		<div class="simple-box-body simple-box-column"> --> | ||||||
|  | 					<!-- 			<div class="simple-box-column-header"> --> | ||||||
|  | 						<!-- 				<i class="fa fa-line-chart"></i> --> | ||||||
|  | 						<!-- 				Panels --> | ||||||
|  | 						<!-- 			</div> --> | ||||||
|  | 					<!-- 			<ul> --> | ||||||
|  | 						<!-- 				<li ng-show="!ctrl.includedPanels.length"><em class="small">None</em></li> --> | ||||||
|  | 						<!-- 				<li ng-repeat="panel in ctrl.includedPanels"> --> | ||||||
|  | 							<!-- 					{{panel.name}} --> | ||||||
|  | 							<!-- 				</li> --> | ||||||
|  | 						<!-- 			</ul> --> | ||||||
|  | 					<!-- 		</div> --> | ||||||
|  | 				<!-- 		<div class="simple-box-body simple-box-column"> --> | ||||||
|  | 					<!-- 			<div class="simple-box-column-header"> --> | ||||||
|  | 						<!-- 				<i class="fa fa-database"></i> --> | ||||||
|  | 						<!-- 				Datasources --> | ||||||
|  | 						<!-- 			</div> --> | ||||||
|  | 					<!-- 			<ul> --> | ||||||
|  | 						<!-- 				<li ng-show="!ctrl.includedDatasources.length"><em class="small">None</em></li> --> | ||||||
|  | 						<!-- 				<li ng-repeat="ds in ctrl.includedDatasources"> --> | ||||||
|  | 							<!-- 					{{ds.name}} --> | ||||||
|  | 							<!-- 				</li> --> | ||||||
|  | 						<!-- 			</ul> --> | ||||||
|  | 					<!-- 		</div> --> | ||||||
|  | 				<!-- 		<div class="simple-box-body simple-box-column"> --> | ||||||
|  | 					<!-- 			<div class="simple-box-column-header"> --> | ||||||
|  | 						<!-- 				<i class="fa fa-files-o"></i> --> | ||||||
|  | 						<!-- 				Pages --> | ||||||
|  | 						<!-- 			</div> --> | ||||||
|  | 					<!-- 			<ul> --> | ||||||
|  | 						<!-- 				<li ng-repeat="page in ctrl.model.pages"> --> | ||||||
|  | 							<!-- 					<a href="apps/{{ctrl.appId}}/page/{{page.slug}}" class="external-link">{{page.name}}</a> --> | ||||||
|  | 							<!-- 				</li> --> | ||||||
|  | 						<!-- 			</ul> --> | ||||||
|  | 					<!-- 		</div> --> | ||||||
|  | 				<!--  --> | ||||||
|  | 				<!-- 	</div> --> | ||||||
|  | 			<!-- </section> --> | ||||||
|  | 		<!--  --> | ||||||
|  | 		<!-- <section class="simple-box"> --> | ||||||
|  | 			<!-- 	<h3 class="simple-box-header">Dependencies:</h3> --> | ||||||
|  | 			<!-- 	<div class="simple-box-body"> --> | ||||||
|  | 				<!-- 		Grafana 2.6.x --> | ||||||
|  | 				<!-- 	</div> --> | ||||||
|  | 			<!-- </section> --> | ||||||
|  | 		<!--  --> | ||||||
|  | 		<!-- <section class="simple-box"> --> | ||||||
|  | 			<!-- 	<h3 class="simple-box-header">Configuration:</h3> --> | ||||||
|  | 			<!-- 	<div class="simple-box-body"> --> | ||||||
|  | 				<!-- 		<div ng-if="ctrl.model.appId"> --> | ||||||
|  | 					<!-- 			<plugin-component type="app-config-ctrl"></plugin-component> --> | ||||||
|  | 					<!-- 			<div class="clearfix"></div> --> | ||||||
|  | 					<!-- 			<button type="submit" class="btn btn-success" ng-click="ctrl.update()">Save</button> --> | ||||||
|  | 					<!-- 		</div> --> | ||||||
|  | 				<!-- 	</div> --> | ||||||
|  | 			<!-- </section> --> | ||||||
|  | 		<!--  --> | ||||||
|  | 		<!--  --> | ||||||
|  | 		<!-- </div> --> | ||||||
|  |  | ||||||
|  | @ -26,6 +26,7 @@ | ||||||
| @import "utils/widths"; | @import "utils/widths"; | ||||||
| 
 | 
 | ||||||
| // LAYOUTS | // LAYOUTS | ||||||
|  | @import "layout/lists"; | ||||||
| @import "layout/page"; | @import "layout/page"; | ||||||
| 
 | 
 | ||||||
| // COMPONENTS | // COMPONENTS | ||||||
|  | @ -44,7 +45,6 @@ | ||||||
| @import "components/tagsinput"; | @import "components/tagsinput"; | ||||||
| @import "components/tables_lists"; | @import "components/tables_lists"; | ||||||
| @import "components/search"; | @import "components/search"; | ||||||
| @import "components/dashboard"; |  | ||||||
| @import "components/tightform"; | @import "components/tightform"; | ||||||
| @import "components/gf-form"; | @import "components/gf-form"; | ||||||
| @import "components/sidemenu"; | @import "components/sidemenu"; | ||||||
|  | @ -69,6 +69,7 @@ | ||||||
| 
 | 
 | ||||||
| // PAGES | // PAGES | ||||||
| @import "pages/login"; | @import "pages/login"; | ||||||
|  | @import "pages/dashboard"; | ||||||
| @import "pages/playlist"; | @import "pages/playlist"; | ||||||
| @import "pages/admin"; | @import "pages/admin"; | ||||||
| @import "pages/alerting"; | @import "pages/alerting"; | ||||||
|  |  | ||||||
|  | @ -50,8 +50,10 @@ $critical:              #ed2e18; | ||||||
| // ------------------------- | // ------------------------- | ||||||
| $body-bg:  			   rgb(20,20,20); | $body-bg:  			   rgb(20,20,20); | ||||||
| $page-bg:  			   $dark-2; | $page-bg:  			   $dark-2; | ||||||
| $body-color:   		   $gray-4; | $body-color:   		 $gray-4; | ||||||
| $text-color:   	       $gray-4; | $text-color:   	   $gray-4; | ||||||
|  | $text-color-strong: $white; | ||||||
|  | $text-color-weak: $gray-1; | ||||||
| 
 | 
 | ||||||
| // gradients | // gradients | ||||||
| $brand-gradient: linear-gradient(to right, rgba(255,213,0,0.7) 0%, rgba(255,68,0,0.7) 99%, rgba(255,68,0,0.7) 100%); | $brand-gradient: linear-gradient(to right, rgba(255,213,0,0.7) 0%, rgba(255,68,0,0.7) 99%, rgba(255,68,0,0.7) 100%); | ||||||
|  |  | ||||||
|  | @ -58,6 +58,8 @@ $body-bg:  		  $white; | ||||||
| $page-bg:  		  $white; | $page-bg:  		  $white; | ||||||
| $body-color:    $gray-1; | $body-color:    $gray-1; | ||||||
| $text-color:    $gray-1; | $text-color:    $gray-1; | ||||||
|  | $text-color-strong: $white; | ||||||
|  | $text-color-weak: $gray-1; | ||||||
| 
 | 
 | ||||||
| // gradients | // gradients | ||||||
| $brand-gradient: linear-gradient(to right, rgba(255,213,0,1.0) 0%, rgba(255,68,0,1.0) 99%, rgba(255,68,0,1.0) 100%); | $brand-gradient: linear-gradient(to right, rgba(255,213,0,1.0) 0%, rgba(255,68,0,1.0) 99%, rgba(255,68,0,1.0) 100%); | ||||||
|  |  | ||||||
|  | @ -93,7 +93,7 @@ $font-size-sm:   .875rem !default; | ||||||
| $font-size-xs:   .75rem !default; | $font-size-xs:   .75rem !default; | ||||||
| 
 | 
 | ||||||
| $line-height-base: 1.5 !default; | $line-height-base: 1.5 !default; | ||||||
| $font-weight-semi-bold:       600; | $font-weight-semi-bold: 600; | ||||||
| 
 | 
 | ||||||
| $font-size-h1: 2.0rem !default; | $font-size-h1: 2.0rem !default; | ||||||
| $font-size-h2: 1.75rem !default; | $font-size-h2: 1.75rem !default; | ||||||
|  | @ -141,6 +141,11 @@ $border-radius-sm:       0.1rem !default; | ||||||
| $caret-width:            .3em !default; | $caret-width:            .3em !default; | ||||||
| $caret-width-lg:         $caret-width !default; | $caret-width-lg:         $caret-width !default; | ||||||
| 
 | 
 | ||||||
|  | // Page | ||||||
|  | 
 | ||||||
|  | $page-sidebar-width: 10rem; | ||||||
|  | $page-sidebar-margin: 5rem; | ||||||
|  | 
 | ||||||
| // Links | // Links | ||||||
| // ------------------------- | // ------------------------- | ||||||
| $link-decoration:         none !default; | $link-decoration:         none !default; | ||||||
|  |  | ||||||
|  | @ -65,7 +65,7 @@ h1, h2, h3, h4, h5, h6, | ||||||
|   color: $headings-color; |   color: $headings-color; | ||||||
| } | } | ||||||
| 
 | 
 | ||||||
| h1, .h1 { font-size: $font-size-h1; } | h1, .h1 { font-size: $font-size-h1; font-style: italic; } | ||||||
| h2, .h2 { font-size: $font-size-h2; } | h2, .h2 { font-size: $font-size-h2; } | ||||||
| h3, .h3 { font-size: $font-size-h3; } | h3, .h3 { font-size: $font-size-h3; } | ||||||
| h4, .h4 { font-size: $font-size-h4; } | h4, .h4 { font-size: $font-size-h4; } | ||||||
|  |  | ||||||
|  | @ -13,7 +13,7 @@ | ||||||
|     @include border-radius(3px); |     @include border-radius(3px); | ||||||
| 	  border: 1px solid $divider-border-color; | 	  border: 1px solid $divider-border-color; | ||||||
| 	  background-color: transparent; | 	  background-color: transparent; | ||||||
| 	  border-bottom: 1px solid $panel-bg; | 	  border-bottom: 1px solid $page-bg; | ||||||
| 	  color: $link-color; | 	  color: $link-color; | ||||||
| 	} | 	} | ||||||
| 
 | 
 | ||||||
|  |  | ||||||
|  | @ -0,0 +1,14 @@ | ||||||
|  | 
 | ||||||
|  | .ui-list { | ||||||
|  |   margin: 0; | ||||||
|  |   padding: 0; | ||||||
|  |   list-style: none; | ||||||
|  | 
 | ||||||
|  |   > li { | ||||||
|  |     margin-bottom: 0.3125rem; | ||||||
|  | 
 | ||||||
|  |     &:last-child { | ||||||
|  |       margin-bottom: 0; | ||||||
|  |     } | ||||||
|  |   } | ||||||
|  | } | ||||||
|  | @ -3,21 +3,10 @@ | ||||||
|   height: 100%; |   height: 100%; | ||||||
| } | } | ||||||
| 
 | 
 | ||||||
| .dashboard-container { |  | ||||||
|   padding: $dashboard-padding; |  | ||||||
|   width: 100%; |  | ||||||
| } |  | ||||||
| 
 |  | ||||||
| .main-view { | .main-view { | ||||||
|   height: 100%; |   height: 100%; | ||||||
| } | } | ||||||
| 
 | 
 | ||||||
| .page-dashboard { |  | ||||||
|   .main-view { |  | ||||||
|     background-image: none; |  | ||||||
|   } |  | ||||||
| } |  | ||||||
| 
 |  | ||||||
| .page-container { | .page-container { | ||||||
|   background-color: $page-bg; |   background-color: $page-bg; | ||||||
|   padding: ($spacer * 2) ($spacer * 4); |   padding: ($spacer * 2) ($spacer * 4); | ||||||
|  | @ -27,12 +16,29 @@ | ||||||
|   background-image: linear-gradient(60deg, transparent 70%, darken($page-bg, 4%) 98%) |   background-image: linear-gradient(60deg, transparent 70%, darken($page-bg, 4%) 98%) | ||||||
| } | } | ||||||
| 
 | 
 | ||||||
| .page-header-logo { | .page-body { | ||||||
|   max-width: 7rem; |   @include media-breakpoint-up(md) { | ||||||
|  |     display: flex; | ||||||
|  |     flex-direction: row; | ||||||
|  |     flex-wrap: wrap; | ||||||
|  |   } | ||||||
|  | } | ||||||
|  | 
 | ||||||
|  | .page-content-with-sidebar { | ||||||
|  |   width: calc(100% - #{$page-sidebar-width + $page-sidebar-margin}); // sidebar width + margin | ||||||
|  | } | ||||||
|  | 
 | ||||||
|  | .page-sidebar { | ||||||
|  |   @include media-breakpoint-up(md) { | ||||||
|  |     width: $page-sidebar-width; | ||||||
|  |     margin-left: $page-sidebar-margin; | ||||||
|  |   } | ||||||
| } | } | ||||||
| 
 | 
 | ||||||
| .page-header { | .page-header { | ||||||
|   padding: $spacer 0 $spacer/2 0; |   padding: $spacer 0 $spacer/2 0; | ||||||
|  |   margin-bottom: 2rem; | ||||||
|  | 
 | ||||||
|   display: flex; |   display: flex; | ||||||
|   justify-content: flex-end; |   justify-content: flex-end; | ||||||
|   align-items: flex-end; |   align-items: flex-end; | ||||||
|  | @ -40,13 +46,12 @@ | ||||||
|   @include brand-bottom-border(); |   @include brand-bottom-border(); | ||||||
| 
 | 
 | ||||||
|   h1 { |   h1 { | ||||||
|     font-style: italic; |  | ||||||
|     flex-grow: 1; |     flex-grow: 1; | ||||||
|   } |   } | ||||||
|  | 
 | ||||||
|   button, a { |   button, a { | ||||||
|     margin-left: $spacer; |     margin-left: $spacer; | ||||||
|   } |   } | ||||||
|   margin-bottom: 2rem; |  | ||||||
| } | } | ||||||
| 
 | 
 | ||||||
| .page-heading { | .page-heading { | ||||||
|  | @ -75,3 +80,20 @@ | ||||||
|   } |   } | ||||||
| } | } | ||||||
| 
 | 
 | ||||||
|  | .page-sidebar { | ||||||
|  |   color: $text-color-weak; | ||||||
|  |   h4 { | ||||||
|  |     font-size: $font-size-base; | ||||||
|  |     font-weight: $font-weight-semi-bold; | ||||||
|  |     color: $text-color-strong; | ||||||
|  |   } | ||||||
|  |   h5 { | ||||||
|  |     font-size: $font-size-base; | ||||||
|  |     color: $text-color-weak; | ||||||
|  |     font-weight: $font-weight-semi-bold; | ||||||
|  |   } | ||||||
|  | } | ||||||
|  | 
 | ||||||
|  | .page-sidebar-section { | ||||||
|  |   margin-bottom: $spacer*2; | ||||||
|  | } | ||||||
|  |  | ||||||
|  | @ -1,3 +1,14 @@ | ||||||
|  | .dashboard-container { | ||||||
|  |   padding: $dashboard-padding; | ||||||
|  |   width: 100%; | ||||||
|  | } | ||||||
|  | 
 | ||||||
|  | .page-dashboard { | ||||||
|  |   .main-view { | ||||||
|  |     background-image: none; | ||||||
|  |   } | ||||||
|  | } | ||||||
|  | 
 | ||||||
| .template-variable { | .template-variable { | ||||||
|   color: $variable; |   color: $variable; | ||||||
| } | } | ||||||
|  | @ -1,3 +1,30 @@ | ||||||
|  | .plugin-header { | ||||||
|  |   @include clearfix(); | ||||||
|  | 
 | ||||||
|  |   padding: $spacer 0 $spacer/2 0; | ||||||
|  |   margin-bottom: 2rem; | ||||||
|  | } | ||||||
|  | 
 | ||||||
|  | .plugin-header-logo { | ||||||
|  |   float: left; | ||||||
|  |   width: 7rem; | ||||||
|  |   img { | ||||||
|  |     width: 7rem; | ||||||
|  |   } | ||||||
|  |   margin-right: $spacer; | ||||||
|  | } | ||||||
|  | 
 | ||||||
|  | .plugin-header-info-block { | ||||||
|  |   padding-top: $spacer; | ||||||
|  | } | ||||||
|  | 
 | ||||||
|  | .plugin-header-author { | ||||||
|  | } | ||||||
|  | 
 | ||||||
|  | .plugin-header-stamps-type { | ||||||
|  |   color: $link-color-disabled; | ||||||
|  |   text-transform: uppercase; | ||||||
|  | } | ||||||
| 
 | 
 | ||||||
| // .app-edit-logo-box { | // .app-edit-logo-box { | ||||||
| //   padding: 1.2rem; | //   padding: 1.2rem; | ||||||
|  |  | ||||||
		Loading…
	
		Reference in New Issue