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.
150 lines
3.5 KiB
150 lines
3.5 KiB
4 years ago
|
import Vue from '../../utils/vue';
|
||
|
import idMixin from '../../mixins/id';
|
||
|
import normalizeSlotMixin from '../../mixins/normalize-slot';
|
||
|
import { hasTouchSupport } from '../../utils/env';
|
||
|
import { htmlOrText } from '../../utils/html';
|
||
|
import { BImg } from '../image/img';
|
||
|
export var props = {
|
||
|
imgSrc: {
|
||
|
type: String // default: undefined
|
||
|
|
||
|
},
|
||
|
imgAlt: {
|
||
|
type: String // default: undefined
|
||
|
|
||
|
},
|
||
|
imgWidth: {
|
||
|
type: [Number, String] // default: undefined
|
||
|
|
||
|
},
|
||
|
imgHeight: {
|
||
|
type: [Number, String] // default: undefined
|
||
|
|
||
|
},
|
||
|
imgBlank: {
|
||
|
type: Boolean,
|
||
|
default: false
|
||
|
},
|
||
|
imgBlankColor: {
|
||
|
type: String,
|
||
|
default: 'transparent'
|
||
|
},
|
||
|
contentVisibleUp: {
|
||
|
type: String
|
||
|
},
|
||
|
contentTag: {
|
||
|
type: String,
|
||
|
default: 'div'
|
||
|
},
|
||
|
caption: {
|
||
|
type: String
|
||
|
},
|
||
|
captionHtml: {
|
||
|
type: String
|
||
|
},
|
||
|
captionTag: {
|
||
|
type: String,
|
||
|
default: 'h3'
|
||
|
},
|
||
|
text: {
|
||
|
type: String
|
||
|
},
|
||
|
textHtml: {
|
||
|
type: String
|
||
|
},
|
||
|
textTag: {
|
||
|
type: String,
|
||
|
default: 'p'
|
||
|
},
|
||
|
background: {
|
||
|
type: String
|
||
|
}
|
||
|
}; // @vue/component
|
||
|
|
||
|
export var BCarouselSlide =
|
||
|
/*#__PURE__*/
|
||
|
Vue.extend({
|
||
|
name: 'BCarouselSlide',
|
||
|
mixins: [idMixin, normalizeSlotMixin],
|
||
|
inject: {
|
||
|
bvCarousel: {
|
||
|
default: function _default() {
|
||
|
return {
|
||
|
// Explicitly disable touch if not a child of carousel
|
||
|
noTouch: true
|
||
|
};
|
||
|
}
|
||
|
}
|
||
|
},
|
||
|
props: props,
|
||
|
computed: {
|
||
|
contentClasses: function contentClasses() {
|
||
|
return [this.contentVisibleUp ? 'd-none' : '', this.contentVisibleUp ? "d-".concat(this.contentVisibleUp, "-block") : ''];
|
||
|
},
|
||
|
computedWidth: function computedWidth() {
|
||
|
// Use local width, or try parent width
|
||
|
return this.imgWidth || this.bvCarousel.imgWidth || null;
|
||
|
},
|
||
|
computedHeight: function computedHeight() {
|
||
|
// Use local height, or try parent height
|
||
|
return this.imgHeight || this.bvCarousel.imgHeight || null;
|
||
|
}
|
||
|
},
|
||
|
render: function render(h) {
|
||
|
var noDrag = !this.bvCarousel.noTouch && hasTouchSupport;
|
||
|
var img = this.normalizeSlot('img');
|
||
|
|
||
|
if (!img && (this.imgSrc || this.imgBlank)) {
|
||
|
img = h(BImg, {
|
||
|
props: {
|
||
|
fluidGrow: true,
|
||
|
block: true,
|
||
|
src: this.imgSrc,
|
||
|
blank: this.imgBlank,
|
||
|
blankColor: this.imgBlankColor,
|
||
|
width: this.computedWidth,
|
||
|
height: this.computedHeight,
|
||
|
alt: this.imgAlt
|
||
|
},
|
||
|
// Touch support event handler
|
||
|
on: noDrag ? {
|
||
|
dragstart: function dragstart(e) {
|
||
|
/* istanbul ignore next: difficult to test in JSDOM */
|
||
|
e.preventDefault();
|
||
|
}
|
||
|
} : {}
|
||
|
});
|
||
|
}
|
||
|
|
||
|
if (!img) {
|
||
|
img = h();
|
||
|
}
|
||
|
|
||
|
var content = h();
|
||
|
var contentChildren = [this.caption || this.captionHtml ? h(this.captionTag, {
|
||
|
domProps: htmlOrText(this.captionHtml, this.caption)
|
||
|
}) : false, this.text || this.textHtml ? h(this.textTag, {
|
||
|
domProps: htmlOrText(this.textHtml, this.text)
|
||
|
}) : false, this.normalizeSlot('default') || false];
|
||
|
|
||
|
if (contentChildren.some(Boolean)) {
|
||
|
content = h(this.contentTag, {
|
||
|
staticClass: 'carousel-caption',
|
||
|
class: this.contentClasses
|
||
|
}, contentChildren.map(function (i) {
|
||
|
return i || h();
|
||
|
}));
|
||
|
}
|
||
|
|
||
|
return h('div', {
|
||
|
staticClass: 'carousel-item',
|
||
|
style: {
|
||
|
background: this.background || this.bvCarousel.background || null
|
||
|
},
|
||
|
attrs: {
|
||
|
id: this.safeId(),
|
||
|
role: 'listitem'
|
||
|
}
|
||
|
}, [img, content]);
|
||
|
}
|
||
|
});
|