Moved submenu into components dir

This commit is contained in:
Torkel Ödegaard
2019-01-23 11:51:43 +01:00
parent 08f7e55ae5
commit 2356057f20
4 changed files with 5 additions and 4 deletions

View File

@@ -0,0 +1,42 @@
import angular from 'angular';
import _ from 'lodash';
export class SubMenuCtrl {
annotations: any;
variables: any;
dashboard: any;
/** @ngInject */
constructor(private variableSrv, private $location) {
this.annotations = this.dashboard.templating.list;
this.variables = this.variableSrv.variables;
}
annotationStateChanged() {
this.dashboard.startRefresh();
}
variableUpdated(variable) {
this.variableSrv.variableUpdated(variable, true);
}
openEditView(editview) {
const search = _.extend(this.$location.search(), { editview: editview });
this.$location.search(search);
}
}
export function submenuDirective() {
return {
restrict: 'E',
templateUrl: 'public/app/features/dashboard/components/SubMenu/template.html',
controller: SubMenuCtrl,
bindToController: true,
controllerAs: 'ctrl',
scope: {
dashboard: '=',
},
};
}
angular.module('grafana.directives').directive('dashboardSubmenu', submenuDirective);

View File

@@ -0,0 +1 @@
export { SubMenuCtrl } from './SubMenuCtrl';

View File

@@ -0,0 +1,27 @@
<div class="submenu-controls">
<div ng-repeat="variable in ctrl.variables" ng-hide="variable.hide === 2" class="submenu-item gf-form-inline">
<div class="gf-form">
<label class="gf-form-label template-variable" ng-hide="variable.hide === 1">
{{variable.label || variable.name}}
</label>
<value-select-dropdown ng-if="variable.type !== 'adhoc' && variable.type !== 'textbox'" variable="variable" on-updated="ctrl.variableUpdated(variable)"></value-select-dropdown>
<input type="text" ng-if="variable.type === 'textbox'" ng-model="variable.query" class="gf-form-input width-12" ng-blur="variable.current.value != variable.query && variable.updateOptions() && ctrl.variableUpdated(variable);" ng-keydown="$event.keyCode === 13 && variable.current.value != variable.query && variable.updateOptions() && ctrl.variableUpdated(variable);" ></input>
</div>
<ad-hoc-filters ng-if="variable.type === 'adhoc'" variable="variable"></ad-hoc-filters>
</div>
<div ng-if="ctrl.dashboard.annotations.list.length > 0">
<div ng-repeat="annotation in ctrl.dashboard.annotations.list" ng-hide="annotation.hide" class="submenu-item" ng-class="{'annotation-disabled': !annotation.enable}">
<gf-form-switch class="gf-form" label="{{annotation.name}}" checked="annotation.enable" on-change="ctrl.annotationStateChanged()"></gf-form-switch>
</div>
</div>
<div class="gf-form gf-form--grow">
</div>
<div ng-if="ctrl.dashboard.links.length > 0" >
<dash-links-container links="ctrl.dashboard.links" dashboard="ctrl.dashboard" class="gf-form-inline"></dash-links-container>
</div>
<div class="clearfix"></div>
</div>