|
|
@@ -87,13 +87,12 @@ function (angular, $) {
|
|
|
.module('kibana.directives')
|
|
|
.directive('gfDropdown', function ($parse, $compile, $timeout) {
|
|
|
|
|
|
- function buildTemplate(items, ul) {
|
|
|
- if (!ul) {
|
|
|
- ul = [
|
|
|
- '<ul class="dropdown-menu" role="menu" aria-labelledby="drop1">',
|
|
|
- '</ul>'
|
|
|
- ];
|
|
|
- }
|
|
|
+ function buildTemplate(items, placement) {
|
|
|
+ var upclass = placement === 'top' ? 'dropup' : '';
|
|
|
+ var ul = [
|
|
|
+ '<ul class="dropdown-menu ' + upclass + '" role="menu" aria-labelledby="drop1">',
|
|
|
+ '</ul>'
|
|
|
+ ];
|
|
|
|
|
|
angular.forEach(items, function (item, index) {
|
|
|
if (item.divider) {
|
|
|
@@ -122,10 +121,12 @@ function (angular, $) {
|
|
|
link: function postLink(scope, iElement, iAttrs) {
|
|
|
var getter = $parse(iAttrs.gfDropdown), items = getter(scope);
|
|
|
$timeout(function () {
|
|
|
- var dropdown = angular.element(buildTemplate(items).join(''));
|
|
|
+ var placement = iElement.data('placement');
|
|
|
+ var dropdown = angular.element(buildTemplate(items, placement).join(''));
|
|
|
dropdown.insertAfter(iElement);
|
|
|
$compile(iElement.next('ul.dropdown-menu'))(scope);
|
|
|
});
|
|
|
+
|
|
|
iElement.addClass('dropdown-toggle').attr('data-toggle', 'dropdown');
|
|
|
}
|
|
|
};
|