StackGenVis: Alignment of Data, Algorithms, and Models for Stacking Ensemble Learning Using Performance Metrics
https://doi.org/10.1109/TVCG.2020.3030352
You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
86 lines
2.5 KiB
86 lines
2.5 KiB
import Vue from '../../utils/vue';
|
|
import { props as BDropdownProps } from '../dropdown/dropdown';
|
|
import idMixin from '../../mixins/id';
|
|
import dropdownMixin from '../../mixins/dropdown';
|
|
import normalizeSlotMixin from '../../mixins/normalize-slot';
|
|
import pluckProps from '../../utils/pluck-props';
|
|
import { htmlOrText } from '../../utils/html';
|
|
import { BLink } from '../link/link'; // -- Constants --
|
|
|
|
export var props = pluckProps(['text', 'html', 'menuClass', 'toggleClass', 'noCaret', 'role', 'lazy'], BDropdownProps); // @vue/component
|
|
|
|
export var BNavItemDropdown =
|
|
/*#__PURE__*/
|
|
Vue.extend({
|
|
name: 'BNavItemDropdown',
|
|
mixins: [idMixin, dropdownMixin, normalizeSlotMixin],
|
|
props: props,
|
|
computed: {
|
|
isNav: function isNav() {
|
|
// Signal to dropdown mixin that we are in a navbar
|
|
return true;
|
|
},
|
|
dropdownClasses: function dropdownClasses() {
|
|
return [this.directionClass, {
|
|
show: this.visible
|
|
}];
|
|
},
|
|
menuClasses: function menuClasses() {
|
|
return [this.menuClass, {
|
|
'dropdown-menu-right': this.right,
|
|
show: this.visible
|
|
}];
|
|
},
|
|
toggleClasses: function toggleClasses() {
|
|
return [this.toggleClass, {
|
|
'dropdown-toggle-no-caret': this.noCaret
|
|
}];
|
|
}
|
|
},
|
|
render: function render(h) {
|
|
var button = h(BLink, {
|
|
ref: 'toggle',
|
|
staticClass: 'nav-link dropdown-toggle',
|
|
class: this.toggleClasses,
|
|
props: {
|
|
href: '#',
|
|
disabled: this.disabled
|
|
},
|
|
attrs: {
|
|
id: this.safeId('_BV_button_'),
|
|
'aria-haspopup': 'true',
|
|
'aria-expanded': this.visible ? 'true' : 'false'
|
|
},
|
|
on: {
|
|
mousedown: this.onMousedown,
|
|
click: this.toggle,
|
|
keydown: this.toggle // Handle ENTER, SPACE and DOWN
|
|
|
|
}
|
|
}, [this.$slots['button-content'] || this.$slots.text || h('span', {
|
|
domProps: htmlOrText(this.html, this.text)
|
|
})]);
|
|
var menu = h('ul', {
|
|
staticClass: 'dropdown-menu',
|
|
class: this.menuClasses,
|
|
ref: 'menu',
|
|
attrs: {
|
|
tabindex: '-1',
|
|
'aria-labelledby': this.safeId('_BV_button_')
|
|
},
|
|
on: {
|
|
keydown: this.onKeydown // Handle UP, DOWN and ESC
|
|
|
|
}
|
|
}, !this.lazy || this.visible ? this.normalizeSlot('default', {
|
|
hide: this.hide
|
|
}) : [h()]);
|
|
return h('li', {
|
|
staticClass: 'nav-item b-nav-dropdown dropdown',
|
|
class: this.dropdownClasses,
|
|
attrs: {
|
|
id: this.safeId()
|
|
}
|
|
}, [button, menu]);
|
|
}
|
|
}); |