Skip to content

Commit

Permalink
Reimplement the local nav without multi-transclusion
Browse files Browse the repository at this point in the history
The local navigation directive does not require the multi-transclusion
workaround anymore. Instead, it comes with a set of child directives
(`localNavigationRow` and `localNavigationRowSection`) that can be used
to compose a complete local navigation declaratively.
  • Loading branch information
weltenwort committed Dec 6, 2016
1 parent dbaed4f commit 840278f
Show file tree
Hide file tree
Showing 7 changed files with 72 additions and 43 deletions.
63 changes: 33 additions & 30 deletions src/core_plugins/kibana/public/context/app.html
Original file line number Diff line number Diff line change
@@ -1,39 +1,42 @@
<div class="app-container">
<local-navigation>
<!-- Transcluded elements. -->
<div data-transclude-slots>
<local-navigation-row>
<!-- Breadcrumbs. -->
<div data-transclude-slot="primaryLeft" class="localBreadcrumbs">
<div class="localBreadcrumb">
<a class="localBreadcrumb__link" href="#/discover">Discover</a>
<local-navigation-row-section>
<div class="localBreadcrumbs">
<div class="localBreadcrumb">
<a class="localBreadcrumb__link" href="#/discover">Discover</a>
</div>
<div class="localBreadcrumb">
<span>Context of </span>
<span class="localBreadcrumb__emphasis" ng-bind="contextApp.anchorUid"></span>
<span> in </span>
<span class="localBreadcrumb__emphasis" ng-bind="contextApp.indexPattern.id"></span>
</div>
</div>
<div class="localBreadcrumb">
<span>Context of </span>
<span class="localBreadcrumb__emphasis" ng-bind="contextApp.anchorUid"></span>
<span> in </span>
<span class="localBreadcrumb__emphasis" ng-bind="contextApp.indexPattern.id"></span>
</div>
</div>
</local-navigation-row-section>

<div data-transclude-slot="primaryRight" class="localMenu">
<div class="localMenuItem" ng-click="contextApp.actions.increaseSize()">
<div class="fa fa-plus"></div>
</div>
<div class="localMenuItem">
<input
class="localMenuItem__input--inPlace"
ng-change="contextApp.actions.setSize(contextApp.size)"
ng-model-options="{updateOn: 'change'}"
ng-model="contextApp.size"
type="number"
/>
<div>surrounding entries</div>
<local-navigation-row-section>
<div class="localMenu">
<div class="localMenuItem" ng-click="contextApp.actions.increaseSize()">
<div class="fa fa-plus"></div>
</div>
<div class="localMenuItem">
<input
class="localMenuItem__input--inPlace"
ng-change="contextApp.actions.setSize(contextApp.size)"
ng-model-options="{updateOn: 'change'}"
ng-model="contextApp.size"
type="number"
/>
<div>surrounding entries</div>
</div>
<div class="localMenuItem" ng-click="contextApp.actions.decreaseSize()">
<div class="fa fa-minus"></div>
</div>
</div>
<div class="localMenuItem" ng-click="contextApp.actions.decreaseSize()">
<div class="fa fa-minus"></div>
</div>
</div>
</div>
</local-navigation-row-section>
</local-navigation-row>
</local-navigation>

<div class="container-fluid" role="main">
Expand Down
2 changes: 1 addition & 1 deletion src/core_plugins/kibana/public/context/app.js
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
import _ from 'lodash';

import 'ui/local_navigation';
import 'ui/local_navigation/index';
import uiModules from 'ui/modules';
import contextAppTemplate from './app.html';
import {fetchAnchor} from './api/anchor';
Expand Down
3 changes: 3 additions & 0 deletions src/ui/public/local_navigation/index.js
Original file line number Diff line number Diff line change
@@ -0,0 +1,3 @@
import './local_navigation';
import './local_navigation_row';
import './local_navigation_row_section';
7 changes: 0 additions & 7 deletions src/ui/public/local_navigation/local_navigation.html

This file was deleted.

7 changes: 2 additions & 5 deletions src/ui/public/local_navigation/local_navigation.js
Original file line number Diff line number Diff line change
@@ -1,18 +1,15 @@
import _ from 'lodash';
import angular from 'angular';
import uiModules from 'ui/modules';

import 'ui/multi_transclude';
import './local_navigation.less';
import localNavigationTemplate from './local_navigation.html';


const module = uiModules.get('kibana');

module.directive('localNavigation', function LocalNavigation() {
return {
replace: true,
restrict: 'E',
template: localNavigationTemplate,
template: '<div class="localNav" ng-transclude></div>',
transclude: true,
};
});
18 changes: 18 additions & 0 deletions src/ui/public/local_navigation/local_navigation_row.js
Original file line number Diff line number Diff line change
@@ -0,0 +1,18 @@
import uiModules from 'ui/modules';

import './local_navigation.less';


const module = uiModules.get('kibana');

module.directive('localNavigationRow', function LocalNavigationRow() {
return {
replace: true,
restrict: 'E',
scope: {
isSecondary: '=?',
},
template: `<div class="localNavRow" ng-class="{ 'localNavigationRow--secondary': isSecondary }" ng-transclude></div>`,
transclude: true,
};
});
15 changes: 15 additions & 0 deletions src/ui/public/local_navigation/local_navigation_row_section.js
Original file line number Diff line number Diff line change
@@ -0,0 +1,15 @@
import uiModules from 'ui/modules';

import './local_navigation.less';


const module = uiModules.get('kibana');

module.directive('localNavigationRowSection', function LocalNavigationRowSection() {
return {
replace: true,
restrict: 'E',
template: '<div class="localNavRow__section" ng-transclude></div>',
transclude: true,
};
});

0 comments on commit 840278f

Please sign in to comment.