Commit 6c574820 by Marcus Efraimsson

Restore Page Footer after migration to new scrollbar #9652

parent a335150a
<div class="scroll-canvas" grafana-scrollbar> <navbar model="ctrl.navModel"></navbar>
<navbar model="ctrl.navModel"></navbar> <div class="page-container">
<div class="page-container"> <div class="page-header">
<div class="page-header"> <page-h1 model="ctrl.navModel"></page-h1>
<page-h1 model="ctrl.navModel"></page-h1> </div>
</div>
<section class="card-section card-list-layout-grid"> <section class="card-section card-list-layout-grid">
<ol class="card-list" > <ol class="card-list">
<li class="card-item-wrapper" ng-repeat="navItem in ctrl.navModel.node.children"> <li class="card-item-wrapper" ng-repeat="navItem in ctrl.navModel.node.children">
<a class="card-item" ng-href="{{::navItem.url}}"> <a class="card-item" ng-href="{{::navItem.url}}">
<div class="card-item-header"> <div class="card-item-header">
<div class="card-item-type"> <div class="card-item-type">
</div>
</div> </div>
<div class="card-item-body"> </div>
<figure class="card-item-figure"> <div class="card-item-body">
<i class="{{navItem.icon}}"></i> <figure class="card-item-figure">
</figure> <i class="{{navItem.icon}}"></i>
<div class="card-item-details"> </figure>
<div class="card-item-name"> <div class="card-item-details">
{{navItem.text}} <div class="card-item-name">
</div> {{navItem.text}}
<div class="card-item-sub-name"> </div>
{{navItem.description}} <div class="card-item-sub-name">
</div> {{navItem.description}}
</div> </div>
</div> </div>
</a> </div>
</li> </a>
</ol> </li>
</section> </ol>
</div> </section>
</div>
\ No newline at end of file
<div class="scroll-canvas" grafana-scrollbar> <navbar model="ctrl.navModel"></navbar>
<navbar model="ctrl.navModel"></navbar> <div class="page-container" style="height: 95%">
<div class="page-container" style="height: 95%"> <div class="page-header">
<div class="page-header"> <h1>Dashboards</h1>
<h1>Dashboards</h1>
<a class="btn btn-inverse" href="/dashboard/new"> <a class="btn btn-inverse" href="/dashboard/new">
<i class="gicon gicon-dashboard-new"></i> <i class="gicon gicon-dashboard-new"></i>
Dashboard Dashboard
</a> </a>
<a class="btn btn-inverse" href="/dashboard/new/?editview=new-folder"> <a class="btn btn-inverse" href="/dashboard/new/?editview=new-folder">
<i class="gicon gicon-folder-new"></i> <i class="gicon gicon-folder-new"></i>
Folder Folder
</a> </a>
</div> </div>
<div class="gf-form-group"> <div class="gf-form-group">
<div class="gf-form width-15"> <div class="gf-form width-15">
<span style="position: relative;"> <span style="position: relative;">
<input type="text" class="gf-form-input" placeholder="Find Dashboard by name" tabindex="1" give-focus="true" <input type="text" class="gf-form-input" placeholder="Find Dashboard by name" tabindex="1" give-focus="true"
ng-model="ctrl.query.query" ng-model-options="{ debounce: 500 }" spellcheck='false' ng-change="ctrl.onQueryChange()" /> ng-model="ctrl.query.query" ng-model-options="{ debounce: 500 }" spellcheck='false' ng-change="ctrl.onQueryChange()" />
</span>
</div>
</div>
<div class="gf-form" ng-if="ctrl.query.tag.length">
Filters:
<span ng-repeat="tagName in ctrl.query.tag">
<a ng-click="ctrl.removeTag(tagName, $event)" tag-color-from-name="tagName" class="label label-tag">
<i class="fa fa-remove"></i>
{{tagName}}
</a>
</span> </span>
</div> </div>
</div>
<div class="gf-form"> <div class="gf-form" ng-if="ctrl.query.tag.length">
<div class="gf-form-button-row" Filters:
ng-show="ctrl.hasFilters"> <span ng-repeat="tagName in ctrl.query.tag">
<button <a ng-click="ctrl.removeTag(tagName, $event)" tag-color-from-name="tagName" class="label label-tag">
type="button" <i class="fa fa-remove"></i>
class="btn gf-form-button btn-inverse btn-small" {{tagName}}
ng-click="ctrl.clearFilters()"> </a>
<i class="fa fa-close"></i> Clear current search query and filters </span>
</button> </div>
</div>
<div class="gf-form">
<div class="gf-form-button-row"
ng-show="ctrl.hasFilters">
<button
type="button"
class="btn gf-form-button btn-inverse btn-small"
ng-click="ctrl.clearFilters()">
<i class="fa fa-close"></i> Clear current search query and filters
</button>
</div>
</div>
<div class="gf-form-group">
<div class="gf-form-button-row">
<button type="button"
class="btn gf-form-button btn-secondary"
ng-disabled="!ctrl.canMove"
ng-click="ctrl.moveTo()"
bs-tooltip="ctrl.canMove ? '' : 'Select a dashboard to move (cannot move folders)'" data-placement="bottom">
<i class="fa fa-exchange"></i>&nbsp;&nbsp;Move to...
</button>
<button type="button"
class="btn gf-form-button btn-inverse"
ng-click="ctrl.delete()"
ng-disabled="!ctrl.canDelete">
<i class="fa fa-trash"></i>&nbsp;&nbsp;Delete
</button>
</div> </div>
</div>
<div class="gf-form-group"> <div class="dashboard-list">
<div class="gf-form-button-row"> <div class="search-results-filter-row">
<button type="button" <gf-form-switch
class="btn gf-form-button btn-secondary" on-change="ctrl.onSelectAllChanged()"
ng-disabled="!ctrl.canMove" checked="ctrl.selectAllChecked"
ng-click="ctrl.moveTo()" />
bs-tooltip="ctrl.canMove ? '' : 'Select a dashboard to move (cannot move folders)'" data-placement="bottom"> <div class="search-results-filter-row__filters">
<i class="fa fa-exchange"></i>&nbsp;&nbsp;Move to... <select
</button> class="search-results-filter-row__filters-item gf-form-input"
<button type="button" ng-model="ctrl.selectedStarredFilter"
class="btn gf-form-button btn-inverse" ng-options="t.text disable when t.disabled for t in ctrl.starredFilterOptions"
ng-click="ctrl.delete()" ng-change="ctrl.onStarredFilterChange()"
ng-disabled="!ctrl.canDelete"> />
<i class="fa fa-trash"></i>&nbsp;&nbsp;Delete <select
</button> class="search-results-filter-row__filters-item gf-form-input"
ng-model="ctrl.selectedTagFilter"
ng-options="t.term disable when t.disabled for t in ctrl.tagFilterOptions"
ng-change="ctrl.onTagFilterChange()"
/>
</div> </div>
</div> </div>
<div class="search-results-container" ng-show="ctrl.sections.length > 0" grafana-scrollbar>
<div ng-repeat="section in ctrl.sections" class="search-section">
<div class="dashboard-list"> <div class="search-section__header__with-checkbox" ng-hide="section.hideHeader">
<div class="search-results-filter-row"> <gf-form-switch
<gf-form-switch on-change="ctrl.selectionChanged()"
on-change="ctrl.onSelectAllChanged()" checked="section.checked">
checked="ctrl.selectAllChecked" </gf-form-switch>
/> <a class="search-section__header pointer" ng-click="ctrl.toggleFolder(section)" ng-hide="section.hideHeader">
<div class="search-results-filter-row__filters"> <i class="search-section__header__icon" ng-class="section.icon"></i>
<select <span class="search-section__header__text">{{::section.title}}</span>
class="search-results-filter-row__filters-item gf-form-input" <i class="fa fa-minus search-section__header__toggle" ng-show="section.expanded"></i>
ng-model="ctrl.selectedStarredFilter" <i class="fa fa-plus search-section__header__toggle" ng-hide="section.expanded"></i>
ng-options="t.text disable when t.disabled for t in ctrl.starredFilterOptions" </a>
ng-change="ctrl.onStarredFilterChange()"
/>
<select
class="search-results-filter-row__filters-item gf-form-input"
ng-model="ctrl.selectedTagFilter"
ng-options="t.term disable when t.disabled for t in ctrl.tagFilterOptions"
ng-change="ctrl.onTagFilterChange()"
/>
</div>
</div> </div>
<div class="search-results-container" ng-show="ctrl.sections.length > 0" grafana-scrollbar>
<div ng-repeat="section in ctrl.sections" class="search-section">
<div class="search-section__header__with-checkbox" ng-hide="section.hideHeader"> <div ng-if="section.expanded">
<gf-form-switch <div ng-repeat="item in section.items" class="search-item__with-checkbox" ng-class="{'selected': item.selected}">
on-change="ctrl.selectionChanged()" <gf-form-switch
checked="section.checked"> on-change="ctrl.selectionChanged()"
</gf-form-switch> checked="item.checked" />
<a class="search-section__header pointer" ng-click="ctrl.toggleFolder(section)" ng-hide="section.hideHeader"> <a ng-href="{{::item.url}}" class="search-item">
<i class="search-section__header__icon" ng-class="section.icon"></i> <span class="search-item__icon">
<span class="search-section__header__text">{{::section.title}}</span> <i class="fa fa-th-large"></i>
<i class="fa fa-minus search-section__header__toggle" ng-show="section.expanded"></i> </span>
<i class="fa fa-plus search-section__header__toggle" ng-hide="section.expanded"></i> <span class="search-item__body">
</a> <div class="search-item__body-title">{{::item.title}}</div>
</div> <div class="search-item__body-sub-title" ng-show="item.folderTitle && section.hideHeader">
<i class="fa fa-folder-o"></i>
<div ng-if="section.expanded"> {{::item.folderTitle}}
<div ng-repeat="item in section.items" class="search-item__with-checkbox" ng-class="{'selected': item.selected}"> </div>
<gf-form-switch </span>
on-change="ctrl.selectionChanged()" <span class="search-item__tags">
checked="item.checked" /> <span ng-click="ctrl.filterByTag(tag, $event)" ng-repeat="tag in item.tags" tag-color-from-name="tag" class="label label-tag">
<a ng-href="{{::item.url}}" class="search-item"> {{tag}}
<span class="search-item__icon"> </span>
<i class="fa fa-th-large"></i> </span>
</span> <span class="search-item__actions">
<span class="search-item__body"> <i class="fa" ng-class="{'fa-star': item.isStarred, 'fa-star-o': !item.isStarred}"></i>
<div class="search-item__body-title">{{::item.title}}</div> </span>
<div class="search-item__body-sub-title" ng-show="item.folderTitle && section.hideHeader"> </a>
<i class="fa fa-folder-o"></i>
{{::item.folderTitle}}
</div>
</span>
<span class="search-item__tags">
<span ng-click="ctrl.filterByTag(tag, $event)" ng-repeat="tag in item.tags" tag-color-from-name="tag" class="label label-tag">
{{tag}}
</span>
</span>
<span class="search-item__actions">
<i class="fa" ng-class="{'fa-star': item.isStarred, 'fa-star-o': !item.isStarred}"></i>
</span>
</a>
</div>
</div>
</div>
<!-- <div bindonce class="search-section" ng-repeat="dashboard in ctrl.dashboards">
<gf-form-switch
switch-class="gf-form-switch--table-cell"
on-change="ctrl.selectionChanged()"
checked="dashboard.checked">
</gf-form-switch>
<a class="search-item pointer "
bo-href-i="{{dashboard.url}}">
<span class="search-item__icon">
<i class="fa fa-th-large"></i>
</span>
<span class="search-result-tags">
<span ng-click="ctrl.filterByTag(tag, $event)" bindonce ng-repeat="tag in dashboard.tags" tag-color-from-name="tag" class="label label-tag">
{{tag}}
</span>
<i class="fa" bo-class="{'fa-star': dashboard.isStarred, 'fa-star-o': !dashboard.isStarred}"></i>
</span>
<span class="search-result-link">
<i class="fa search-result-icon"></i>
<span bo-text="dashboard.title" />
</span>
</a>
</div> -->
</div> </div>
</div> </div>
</div> </div>
</div>
<em class="muted" ng-hide="ctrl.sections.length > 0">
No Dashboards or Folders found.
</em>
</div> </div>
</div> </div>
<em class="muted" ng-hide="ctrl.sections.length > 0">
No Dashboards or Folders found.
</em>
<div class="scroll-canvas" grafana-scrollbar> <navbar model="ctrl.navModel"></navbar>
<navbar model="ctrl.navModel"></navbar> <div class="page-container">
<div class="page-container"> <div class="page-header">
<div class="page-header"> <page-h1 model="ctrl.navModel"></page-h1>
<page-h1 model="ctrl.navModel"></page-h1>
<div ng-if="ctrl.current.readOnly" class="grafana-info-box span8">Disclaimer. This datasource was added by config and cannot be modified using the UI. Please contact your server admin to update this datasource.</div> <div ng-if="ctrl.current.readOnly" class="grafana-info-box span8">Disclaimer. This datasource was added by config and cannot be modified using the UI. Please contact your server admin to update this datasource.</div>
<div class="page-header-tabs" ng-show="ctrl.hasDashboards"> <div class="page-header-tabs" ng-show="ctrl.hasDashboards">
<ul class="gf-tabs"> <ul class="gf-tabs">
<li class="gf-tabs-item"> <li class="gf-tabs-item">
<a class="gf-tabs-link" ng-click="ctrl.tabIndex = 0" ng-class="{active: ctrl.tabIndex === 0}"> <a class="gf-tabs-link" ng-click="ctrl.tabIndex = 0" ng-class="{active: ctrl.tabIndex === 0}">
Config Config
</a> </a>
</li> </li>
<li class="gf-tabs-item"> <li class="gf-tabs-item">
<a class="gf-tabs-link" ng-click="ctrl.tabIndex = 1" ng-class="{active: ctrl.tabIndex === 1}"> <a class="gf-tabs-link" ng-click="ctrl.tabIndex = 1" ng-class="{active: ctrl.tabIndex === 1}">
Dashboards Dashboards
</a> </a>
</li> </li>
</ul> </ul>
</div>
</div> </div>
</div>
<div ng-if="ctrl.tabIndex === 0" class="tab-content"> <div ng-if="ctrl.tabIndex === 0" class="tab-content">
<form name="ctrl.editForm" ng-if="ctrl.current"> <form name="ctrl.editForm" ng-if="ctrl.current">
<div class="gf-form-group"> <div class="gf-form-group">
<div class="gf-form-inline"> <div class="gf-form-inline">
<div class="gf-form max-width-30"> <div class="gf-form max-width-30">
<span class="gf-form-label width-7">Name</span> <span class="gf-form-label width-7">Name</span>
<input class="gf-form-input max-width-23" type="text" ng-model="ctrl.current.name" placeholder="name" required> <input class="gf-form-input max-width-23" type="text" ng-model="ctrl.current.name" placeholder="name" required>
<info-popover offset="0px -135px" mode="right-absolute"> <info-popover offset="0px -135px" mode="right-absolute">
The name is used when you select the data source in panels. The name is used when you select the data source in panels.
The <em>Default</em> data source is preselected in new The <em>Default</em> data source is preselected in new
panels. panels.
</info-popover> </info-popover>
</div>
<gf-form-switch class="gf-form" label="Default" checked="ctrl.current.isDefault" switch-class="max-width-6"></gf-form-switch>
</div> </div>
<gf-form-switch class="gf-form" label="Default" checked="ctrl.current.isDefault" switch-class="max-width-6"></gf-form-switch>
</div>
<div class="gf-form"> <div class="gf-form">
<span class="gf-form-label width-7">Type</span> <span class="gf-form-label width-7">Type</span>
<div class="gf-form-select-wrapper max-width-23"> <div class="gf-form-select-wrapper max-width-23">
<select class="gf-form-input" ng-model="ctrl.current.type" ng-options="v.id as v.name for v in ctrl.types" ng-change="ctrl.userChangedType()"></select> <select class="gf-form-input" ng-model="ctrl.current.type" ng-options="v.id as v.name for v in ctrl.types" ng-change="ctrl.userChangedType()"></select>
</div>
</div> </div>
</div> </div>
</div>
<div class="alert alert-info gf-form-group" ng-if="ctrl.datasourceMeta.state === 'alpha'"> <div class="alert alert-info gf-form-group" ng-if="ctrl.datasourceMeta.state === 'alpha'">
This plugin is marked as being in alpha state, which means it is in early development phase and This plugin is marked as being in alpha state, which means it is in early development phase and
updates will include breaking changes. updates will include breaking changes.
</div> </div>
<rebuild-on-change property="ctrl.datasourceMeta.id"> <rebuild-on-change property="ctrl.datasourceMeta.id">
<plugin-component type="datasource-config-ctrl"> <plugin-component type="datasource-config-ctrl">
</plugin-component> </plugin-component>
</rebuild-on-change> </rebuild-on-change>
<div ng-if="ctrl.testing" class="gf-form-group section"> <div ng-if="ctrl.testing" class="gf-form-group section">
<h5 ng-show="!ctrl.testing.done">Testing.... <i class="fa fa-spiner fa-spin"></i></h5> <h5 ng-show="!ctrl.testing.done">Testing.... <i class="fa fa-spiner fa-spin"></i></h5>
<div class="alert-{{ctrl.testing.status}} alert" ng-show="ctrl.testing.done"> <div class="alert-{{ctrl.testing.status}} alert" ng-show="ctrl.testing.done">
<div class="alert-icon"> <div class="alert-icon">
<i class="fa fa-exclamation-triangle" ng-show="ctrl.testing.status === 'error'"></i> <i class="fa fa-exclamation-triangle" ng-show="ctrl.testing.status === 'error'"></i>
<i class="fa fa-check" ng-show="ctrl.testing.status !== 'error'"></i> <i class="fa fa-check" ng-show="ctrl.testing.status !== 'error'"></i>
</div> </div>
<div class="alert-body"> <div class="alert-body">
<div class="alert-title">{{ctrl.testing.message}}</div> <div class="alert-title">{{ctrl.testing.message}}</div>
</div>
</div> </div>
</div> </div>
</div>
<div class="gf-form-button-row"> <div class="gf-form-button-row">
<button type="submit" class="btn btn-success" ng-disabled="ctrl.current.readOnly" ng-click="ctrl.saveChanges()">Save</button> <button type="submit" class="btn btn-success" ng-disabled="ctrl.current.readOnly" ng-click="ctrl.saveChanges()">Save</button>
<button type="submit" class="btn btn-danger" ng-disabled="ctrl.current.readOnly" ng-show="!ctrl.isNew" ng-click="ctrl.delete()"> <button type="submit" class="btn btn-danger" ng-disabled="ctrl.current.readOnly" ng-show="!ctrl.isNew" ng-click="ctrl.delete()">
Delete Delete
</button> </button>
<a class="btn btn-link" href="datasources">Cancel</a> <a class="btn btn-link" href="datasources">Cancel</a>
</div> </div>
<br /> <br />
<br /> <br />
<br /> <br />
</form> </form>
</div> </div>
<div ng-if="ctrl.tabIndex === 1" class="tab-content"> <div ng-if="ctrl.tabIndex === 1" class="tab-content">
<dashboard-import-list plugin="ctrl.datasourceMeta" datasource="ctrl.current"></dashboard-import-list> <dashboard-import-list plugin="ctrl.datasourceMeta" datasource="ctrl.current"></dashboard-import-list>
</div> </div>
</div>
</div> </div>
<div class="scroll-canvas" grafana-scrollbar> <navbar model="ctrl.navModel"></navbar>
<navbar model="ctrl.navModel"></navbar> <div class="page-container">
<div class="page-container"> <div class="page-header">
<div class="page-header"> <page-h1 model="ctrl.navModel"></page-h1>
<page-h1 model="ctrl.navModel"></page-h1>
<a class="page-header__cta btn btn-success" href="datasources/new"> <a class="page-header__cta btn btn-success" href="datasources/new">
Add data source Add data source
</a> </a>
</div> </div>
<section class="card-section" layout-mode> <section class="card-section" layout-mode>
<layout-selector></layout-selector> <layout-selector></layout-selector>
<ol class="card-list" > <ol class="card-list">
<li class="card-item-wrapper" ng-repeat="ds in ctrl.datasources"> <li class="card-item-wrapper" ng-repeat="ds in ctrl.datasources">
<a class="card-item" href="datasources/edit/{{ds.id}}/"> <a class="card-item" href="datasources/edit/{{ds.id}}/">
<div class="card-item-header"> <div class="card-item-header">
<div class="card-item-type"> <div class="card-item-type">
{{ds.type}} {{ds.type}}
</div>
</div> </div>
<div class="card-item-body"> </div>
<figure class="card-item-figure"> <div class="card-item-body">
<img ng-src="{{ds.typeLogoUrl}}"> <figure class="card-item-figure">
</figure> <img ng-src="{{ds.typeLogoUrl}}">
<div class="card-item-details"> </figure>
<div class="card-item-name"> <div class="card-item-details">
{{ds.name}} <div class="card-item-name">
<span ng-if="ds.isDefault"> {{ds.name}}
<span class="btn btn-secondary btn-mini">default</span> <span ng-if="ds.isDefault">
</span> <span class="btn btn-secondary btn-mini">default</span>
</div> </span>
<div class="card-item-sub-name"> </div>
{{ds.url}} <div class="card-item-sub-name">
</div> {{ds.url}}
</div> </div>
</div> </div>
</a> </div>
</li> </a>
</ol> </li>
</section> </ol>
</section>
<div ng-if="ctrl.datasources.length === 0"> <div ng-if="ctrl.datasources.length === 0">
<em>No data sources defined</em> <em>No data sources defined</em>
</div>
</div> </div>
</div> </div>
\ No newline at end of file
<div class="scroll-canvas" grafana-scrollbar> <navbar model="ctrl.navModel"></navbar>
<navbar model="ctrl.navModel"></navbar>
<div class="page-container"> <div class="page-container">
<div class="page-header"> <div class="page-header">
<h1> <h1>
<i class="icon-gf icon-gf-apps"></i> <i class="icon-gf icon-gf-apps"></i>
Plugins <span class="muted small">(currently installed)</span> Plugins <span class="muted small">(currently installed)</span>
</h1> </h1>
<div class="page-header-tabs"> <div class="page-header-tabs">
<ul class="gf-tabs"> <ul class="gf-tabs">
<li class="gf-tabs-item"> <li class="gf-tabs-item">
<a class="gf-tabs-link" href="plugins?type=panel" ng-class="{active: ctrl.tabIndex === 0}"> <a class="gf-tabs-link" href="plugins?type=panel" ng-class="{active: ctrl.tabIndex === 0}">
Panels Panels
</a> </a>
</li> </li>
<li class="gf-tabs-item"> <li class="gf-tabs-item">
<a class="gf-tabs-link" href="plugins?type=datasource" ng-class="{active: ctrl.tabIndex === 1}"> <a class="gf-tabs-link" href="plugins?type=datasource" ng-class="{active: ctrl.tabIndex === 1}">
Data sources Data sources
</a> </a>
</li> </li>
<li class="gf-tabs-item"> <li class="gf-tabs-item">
<a class="gf-tabs-link" href="plugins?type=app" ng-class="{active: ctrl.tabIndex === 2}"> <a class="gf-tabs-link" href="plugins?type=app" ng-class="{active: ctrl.tabIndex === 2}">
Apps Apps
</a> </a>
</li> </li>
</ul> </ul>
<a class="get-more-plugins-link" href="https://grafana.com/plugins?utm_source=grafana_plugin_list" target="_blank"> <a class="get-more-plugins-link" href="https://grafana.com/plugins?utm_source=grafana_plugin_list" target="_blank">
Find more <img src="public/img/icn-plugins-tiny.svg" />plugins on Grafana.com Find more <img src="public/img/icn-plugins-tiny.svg" />plugins on Grafana.com
</a> </a>
</div>
</div> </div>
</div>
<section class="card-section" layout-mode> <section class="card-section" layout-mode>
<layout-selector></layout-selector> <layout-selector></layout-selector>
<ol class="card-list" > <ol class="card-list" >
<li class="card-item-wrapper" ng-repeat="plugin in ctrl.plugins"> <li class="card-item-wrapper" ng-repeat="plugin in ctrl.plugins">
<a class="card-item" href="plugins/{{plugin.id}}/edit"> <a class="card-item" href="plugins/{{plugin.id}}/edit">
<div class="card-item-header"> <div class="card-item-header">
<div class="card-item-type"> <div class="card-item-type">
<i class="icon-gf icon-gf-{{plugin.type}}"></i> <i class="icon-gf icon-gf-{{plugin.type}}"></i>
{{plugin.type}} {{plugin.type}}
</div>
<div class="card-item-notice" ng-show="plugin.hasUpdate">
<span bs-tooltip="plugin.latestVersion">Update available!</span>
</div>
</div> </div>
<div class="card-item-body"> <div class="card-item-notice" ng-show="plugin.hasUpdate">
<figure class="card-item-figure"> <span bs-tooltip="plugin.latestVersion">Update available!</span>
<img ng-src="{{plugin.info.logos.small}}">
</figure>
<div class="card-item-details">
<div class="card-item-name">{{plugin.name}}</div>
<div class="card-item-sub-name">By {{plugin.info.author.name}}</div>
</div>
</div> </div>
</a> </div>
</li> <div class="card-item-body">
</ol> <figure class="card-item-figure">
</section> <img ng-src="{{plugin.info.logos.small}}">
</div> </figure>
<div class="card-item-details">
<div class="card-item-name">{{plugin.name}}</div>
<div class="card-item-sub-name">By {{plugin.info.author.name}}</div>
</div>
</div>
</a>
</li>
</ol>
</section>
</div> </div>
...@@ -299,7 +299,7 @@ $checkboxImageUrl: '../img/checkbox.png'; ...@@ -299,7 +299,7 @@ $checkboxImageUrl: '../img/checkbox.png';
$info-box-background: linear-gradient(100deg, #1a4552, #00374a); $info-box-background: linear-gradient(100deg, #1a4552, #00374a);
// footer // footer
$footer-link-color: $gray-1; $footer-link-color: $gray-2;
$footer-link-hover: $gray-4; $footer-link-hover: $gray-4;
// collapse box // collapse box
......
...@@ -35,44 +35,46 @@ ...@@ -35,44 +35,46 @@
</div> </div>
</div> </div>
<div class="main-view"> <div class="main-view">
<div ng-view></div> <div class="scroll-canvas" grafana-scrollbar>
<div ng-view></div>
<!-- <footer class="footer"> --> <footer class="footer">
<!-- <div class="row text&#45;center"> --> <div class="row text&#45;center">
<!-- <ul> --> <ul>
<!-- <li> --> <li>
<!-- <a href="http://docs.grafana.org" target="_blank"> --> <a href="http://docs.grafana.org" target="_blank">
<!-- <i class="fa fa&#45;file&#45;code&#45;o"></i> --> <i class="fa fa&#45;file&#45;code&#45;o"></i>
<!-- Docs --> Docs
<!-- </a> --> </a>
<!-- </li> --> </li>
<!-- <li> --> <li>
<!-- <a href="https://grafana.com/services/support" target="_blank"> --> <a href="https://grafana.com/services/support" target="_blank">
<!-- <i class="fa fa&#45;support"></i> --> <i class="fa fa&#45;support"></i>
<!-- Support Plans --> Support Plans
<!-- </a> --> </a>
<!-- </li> --> </li>
<!-- <li> --> <li>
<!-- <a href="https://community.grafana.com/" target="_blank"> --> <a href="https://community.grafana.com/" target="_blank">
<!-- <i class="fa fa&#45;comments&#45;o"></i> --> <i class="fa fa&#45;comments&#45;o"></i>
<!-- Community --> Community
<!-- </a> --> </a>
<!-- </li> --> </li>
<!-- <li> --> <li>
<!-- <a href="https://grafana.com" target="_blank">Grafana</a> --> <a href="https://grafana.com" target="_blank">Grafana</a>
<!-- <span>v[[.BuildVersion]] (commit: [[.BuildCommit]])</span> --> <span>v[[.BuildVersion]] (commit: [[.BuildCommit]])</span>
<!-- </li> --> </li>
<!-- [[if .NewGrafanaVersionExists]] --> [[if .NewGrafanaVersionExists]]
<!-- <li> --> <li>
<!-- <a href="https://grafana.com/get" target="_blank" bs&#45;tooltip="'[[.NewGrafanaVersion]]'"> --> <a href="https://grafana.com/get" target="_blank" bs&#45;tooltip="'[[.NewGrafanaVersion]]'">
<!-- New version available! --> New version available!
<!-- </a> --> </a>
<!-- </li> --> </li>
<!-- [[end]] --> [[end]]
<!-- </ul> --> </ul>
<!-- </div> --> </div>
<!-- </footer> --> </footer>
</div>
</div> </div>
</grafana-app> </grafana-app>
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment