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.
 
 
 
 
StackGenVis/frontend/node_modules/portal-vue/dist/portal-vue.esm.js.map

1 lines
29 KiB

{"version":3,"file":"portal-vue.esm.js","sources":["../src/utils/index.ts","../src/components/wormhole.ts","../src/components/portal.tsx","../src/components/portal-target.tsx","../src/components/mounting-portal.tsx","../src/index.ts"],"sourcesContent":["import { VNode } from 'vue'\nimport { Transport } from '../types'\n\nexport const inBrowser = typeof window !== 'undefined'\n\nexport function freeze<R>(item: R[]): ReadonlyArray<R> {\n if (Array.isArray(item) || typeof item === 'object') {\n return Object.freeze(item)\n }\n return item\n}\n\nexport function combinePassengers(\n transports: Transport[],\n slotProps = {}\n): Array<VNode> {\n return transports.reduce(\n (passengers, transport) => {\n const temp = transport.passengers[0]\n const newPassengers =\n typeof temp === 'function'\n ? (temp(slotProps) as VNode[])\n : (transport.passengers as VNode[])\n return passengers.concat(newPassengers)\n },\n [] as Array<VNode>\n )\n}\n\nexport function stableSort<T>(array: T[], compareFn: Function) {\n return array\n .map((v: T, idx: number) => {\n return [idx, v] as [number, T]\n })\n .sort(function(a, b) {\n return compareFn(a[1], b[1]) || a[0] - b[0]\n })\n .map(c => c[1])\n}\n\nexport function pick<T extends object, K extends keyof T>(\n obj: T,\n keys: K[]\n): Pick<T, K> {\n return keys.reduce(\n (acc, key) => {\n if (obj.hasOwnProperty(key)) {\n acc[key] = obj[key]\n }\n return acc\n },\n {} as Pick<T, K>\n )\n}\n","import Vue from 'vue'\nimport { freeze, inBrowser, stableSort } from '../utils'\nimport {\n Transports,\n Transport,\n TransportInput,\n TransportVector,\n VMRegister,\n} from '../types'\n\nconst transports: Transports = {}\nconst targets: VMRegister = {}\nconst sources: VMRegister = {}\n\nexport const Wormhole = Vue.extend({\n data: () => ({\n transports,\n targets,\n sources,\n trackInstances: inBrowser,\n }),\n methods: {\n open(transport: TransportInput) {\n if (!inBrowser) return\n const { to, from, passengers, order = Infinity } = transport\n if (!to || !from || !passengers) return\n\n const newTransport = {\n to,\n from,\n passengers: freeze<object>(passengers),\n order,\n } as Transport\n const keys = Object.keys(this.transports)\n\n if (keys.indexOf(to) === -1) {\n Vue.set(this.transports, to, [])\n }\n\n const currentIndex = this.$_getTransportIndex(newTransport)\n // Copying the array here so that the PortalTarget change event will actually contain two distinct arrays\n const newTransports = this.transports[to].slice(0)\n if (currentIndex === -1) {\n newTransports.push(newTransport)\n } else {\n newTransports[currentIndex] = newTransport\n }\n\n this.transports[to] = stableSort<Transport>(\n newTransports,\n (a: Transport, b: Transport) => a.order - b.order\n )\n },\n\n close(transport: TransportVector, force = false) {\n const { to, from } = transport\n if (!to || (!from && force === false)) return\n if (!this.transports[to]) {\n return\n }\n\n if (force) {\n this.transports[to] = []\n } else {\n const index = this.$_getTransportIndex(transport)\n if (index >= 0) {\n // Copying the array here so that the PortalTarget change event will actually contain two distinct arrays\n const newTransports = this.transports[to].slice(0)\n newTransports.splice(index, 1)\n this.transports[to] = newTransports\n }\n }\n },\n registerTarget(target: string, vm: Vue, force?: boolean): void {\n if (!inBrowser) return\n if (this.trackInstances && !force && this.targets[target]) {\n console.warn(`[portal-vue]: Target ${target} already exists`)\n }\n this.$set(this.targets, target, Object.freeze([vm]))\n },\n unregisterTarget(target: string) {\n this.$delete(this.targets, target)\n },\n registerSource(source: string, vm: Vue, force?: boolean): void {\n if (!inBrowser) return\n if (this.trackInstances && !force && this.sources[source]) {\n console.warn(`[portal-vue]: source ${source} already exists`)\n }\n this.$set(this.sources, source, Object.freeze([vm]))\n },\n unregisterSource(source: string) {\n this.$delete(this.sources, source)\n },\n hasTarget(to: string) {\n return !!(this.targets[to] && this.targets[to][0])\n },\n hasSource(to: string) {\n return !!(this.sources[to] && this.sources[to][0])\n },\n hasContentFor(to: string) {\n return !!this.transports[to] && !!this.transports[to].length\n },\n // Internal\n $_getTransportIndex({ to, from }: TransportVector): number {\n for (const i in this.transports[to]) {\n if (this.transports[to][i].from === from) {\n return +i\n }\n }\n return -1\n },\n },\n})\n\nconst wormhole = new Wormhole(transports)\nexport { wormhole }\n","import Vue from 'vue'\nimport { VNode } from 'vue'\nimport { TransportInput, TransportVector } from '../types'\nimport { wormhole } from './wormhole'\n\nlet _id = 1\n\nexport default Vue.extend({\n name: 'portal',\n props: {\n disabled: { type: Boolean },\n name: { type: String, default: () => String(_id++) },\n order: { type: Number, default: 0 },\n slim: { type: Boolean },\n slotProps: { type: Object, default: () => ({}) },\n tag: { type: String, default: 'DIV' },\n to: {\n type: String,\n default: () => String(Math.round(Math.random() * 10000000)),\n },\n },\n created() {\n this.$nextTick(() => {\n wormhole.registerSource(this.name, this)\n })\n },\n mounted() {\n if (!this.disabled) {\n this.sendUpdate()\n }\n },\n\n updated() {\n if (this.disabled) {\n this.clear()\n } else {\n this.sendUpdate()\n }\n },\n\n beforeDestroy() {\n wormhole.unregisterSource(this.name)\n this.clear()\n },\n watch: {\n to(newValue: string, oldValue: string): void {\n oldValue && oldValue !== newValue && this.clear(oldValue)\n this.sendUpdate()\n },\n },\n\n methods: {\n clear(target?: string) {\n const closer: TransportVector = {\n from: this.name,\n to: target || this.to,\n }\n wormhole.close(closer)\n },\n normalizeSlots(): Function[] | VNode[] | undefined {\n return this.$scopedSlots.default\n ? [this.$scopedSlots.default]\n : this.$slots.default\n },\n normalizeOwnChildren(children: VNode[] | Function): VNode[] {\n return typeof children === 'function'\n ? children(this.slotProps)\n : children\n },\n sendUpdate() {\n const slotContent = this.normalizeSlots()\n if (slotContent) {\n const transport: TransportInput = {\n from: this.name,\n to: this.to,\n passengers: [...slotContent],\n order: this.order,\n }\n wormhole.open(transport)\n } else {\n this.clear()\n }\n },\n },\n\n render(h): VNode {\n const children: VNode[] | Function =\n this.$slots.default || this.$scopedSlots.default || []\n const Tag = this.tag\n if (children && this.disabled) {\n return children.length <= 1 && this.slim ? (\n this.normalizeOwnChildren(children)[0]\n ) : (\n <Tag>{this.normalizeOwnChildren(children)}</Tag>\n )\n } else {\n return this.slim\n ? h()\n : h(Tag, {\n class: { 'v-portal': true },\n style: { display: 'none' },\n key: 'v-portal-placeholder',\n })\n }\n },\n})\n","import Vue from 'vue'\nimport { VNode, PropOptions } from 'vue'\nimport { combinePassengers } from '@/utils'\nimport { Transport, PropWithComponent } from '../types'\n\nimport { wormhole } from '@/components/wormhole'\n\nexport default Vue.extend({\n name: 'portalTarget',\n props: {\n multiple: { type: Boolean, default: false },\n name: { type: String, required: true },\n slim: { type: Boolean, default: false },\n slotProps: { type: Object, default: () => ({}) },\n tag: { type: String, default: 'div' },\n transition: { type: [String, Object, Function] } as PropOptions<\n PropWithComponent\n >,\n },\n data() {\n return {\n transports: wormhole.transports,\n firstRender: true,\n }\n },\n created() {\n this.$nextTick(() => {\n wormhole.registerTarget(this.name, this)\n })\n },\n watch: {\n ownTransports() {\n this.$emit('change', this.children().length > 0)\n },\n name(newVal, oldVal) {\n /**\n * TODO\n * This should warn as well ...\n */\n wormhole.unregisterTarget(oldVal)\n wormhole.registerTarget(newVal, this)\n },\n },\n mounted() {\n if (this.transition) {\n this.$nextTick(() => {\n // only when we have a transition, because it causes a re-render\n this.firstRender = false\n })\n }\n },\n beforeDestroy() {\n wormhole.unregisterTarget(this.name)\n },\n\n computed: {\n ownTransports(): Transport[] {\n const transports: Transport[] = this.transports[this.name] || []\n if (this.multiple) {\n return transports\n }\n return transports.length === 0 ? [] : [transports[transports.length - 1]]\n },\n passengers(): VNode[] {\n return combinePassengers(this.ownTransports, this.slotProps)\n },\n },\n\n methods: {\n // can't be a computed prop because it has to \"react\" to $slot changes.\n children(): VNode[] {\n return this.passengers.length !== 0\n ? this.passengers\n : this.$scopedSlots.default\n ? (this.$scopedSlots.default(this.slotProps) as VNode[])\n : this.$slots.default || []\n },\n // can't be a computed prop because it has to \"react\" to this.children().\n noWrapper() {\n const noWrapper = this.slim && !this.transition\n if (noWrapper && this.children().length > 1) {\n console.warn(\n '[portal-vue]: PortalTarget with `slim` option received more than one child element.'\n )\n }\n return noWrapper\n },\n },\n render(h): VNode {\n const noWrapper = this.noWrapper()\n const children = this.children()\n const Tag = this.transition || this.tag\n\n return noWrapper\n ? children[0]\n : this.slim && !Tag\n ? h()\n : h(\n Tag,\n {\n props: {\n // if we have a transition component, pass the tag if it exists\n tag: this.transition && this.tag ? this.tag : undefined,\n },\n class: { 'vue-portal-target': true },\n },\n\n children\n )\n },\n})\n","import Vue from 'vue'\nimport { VNode, VueConstructor, PropOptions } from 'vue'\nimport Portal from './portal'\nimport PortalTarget from './portal-target'\nimport { wormhole } from './wormhole'\nimport { pick } from '@/utils'\n\nimport { PropWithComponent } from '../types'\n\nlet _id = 0\n\nexport type withPortalTarget = VueConstructor<\n Vue & {\n portalTarget: any\n }\n>\n\nconst portalProps = [\n 'disabled',\n 'name',\n 'order',\n 'slim',\n 'slotProps',\n 'tag',\n 'to',\n]\n\nconst targetProps = ['multiple', 'transition']\n\nexport default (Vue as withPortalTarget).extend({\n name: 'MountingPortal',\n inheritAttrs: false,\n props: {\n append: { type: [Boolean, String] },\n bail: {\n type: Boolean,\n },\n mountTo: { type: String, required: true },\n\n // Portal\n disabled: { type: Boolean },\n // name for the portal\n name: {\n type: String,\n default: () => 'mounted_' + String(_id++),\n },\n order: { type: Number, default: 0 },\n slim: { type: Boolean },\n slotProps: { type: Object, default: () => ({}) },\n tag: { type: String, default: 'DIV' },\n // name for the target\n to: {\n type: String,\n default: () => String(Math.round(Math.random() * 10000000)),\n },\n\n // Target\n multiple: { type: Boolean, default: false },\n targetSlim: { type: Boolean },\n targetSlotProps: { type: Object, default: () => ({}) },\n targetTag: { type: String, default: 'div' },\n transition: { type: [String, Object, Function] } as PropOptions<\n PropWithComponent\n >,\n },\n created() {\n if (typeof document === 'undefined') return\n let el: HTMLElement | null = document.querySelector(this.mountTo)\n\n if (!el) {\n console.error(\n `[portal-vue]: Mount Point '${this.mountTo}' not found in document`\n )\n return\n }\n\n const props = this.$props\n\n // Target already exists\n if (wormhole.targets[props.name]) {\n if (props.bail) {\n console.warn(`[portal-vue]: Target ${props.name} is already mounted.\n Aborting because 'bail: true' is set`)\n } else {\n this.portalTarget = wormhole.targets[props.name]\n }\n return\n }\n\n const { append } = props\n if (append) {\n const type = typeof append === 'string' ? append : 'DIV'\n const mountEl = document.createElement(type)\n el.appendChild(mountEl)\n el = mountEl\n }\n\n // get props for target from $props\n // we have to rename a few of them\n const _props = pick(this.$props, targetProps)\n _props.slim = this.targetSlim\n _props.tag = this.targetTag\n _props.slotProps = this.targetSlotProps\n _props.name = this.to\n\n this.portalTarget = new PortalTarget({\n el,\n parent: this.$parent || this,\n propsData: _props,\n })\n },\n\n beforeDestroy() {\n const target = this.portalTarget\n if (this.append) {\n const el = target.$el\n el.parentNode.removeChild(el)\n }\n target.$destroy()\n },\n\n render(h): VNode {\n if (!this.portalTarget) {\n console.warn(\"[portal-vue] Target wasn't mounted\")\n return h()\n }\n\n // if there's no \"manual\" scoped slot, so we create a <Portal> ourselves\n if (!this.$scopedSlots.manual) {\n const props = pick(this.$props, portalProps)\n return h(\n Portal,\n {\n props: props,\n attrs: this.$attrs,\n on: this.$listeners,\n scopedSlots: this.$scopedSlots,\n },\n this.$slots.default\n )\n }\n\n // else, we render the scoped slot\n let content: VNode = (this.$scopedSlots.manual({\n to: this.to,\n }) as unknown) as VNode\n\n // if user used <template> for the scoped slot\n // content will be an array\n if (Array.isArray(content)) {\n content = content[0]\n }\n\n if (!content) return h()\n\n return content\n },\n})\n","import Vue from 'vue'\nimport { VueConstructor } from 'vue'\nimport Portal from './components/portal'\nimport PortalTarget from './components/portal-target'\nimport MountingPortal from './components/mounting-portal'\nimport { wormhole as Wormhole } from './components/wormhole'\n\ndeclare global {\n interface Window {\n Vue?: VueConstructor<Vue>\n }\n}\n\nexport interface PluginOptions {\n portalName?: string\n portalTargetName?: string\n MountingPortalName?: string\n}\n\nfunction install(Vue: VueConstructor<Vue>, options: PluginOptions = {}) {\n Vue.component(options.portalName || 'Portal', Portal)\n Vue.component(options.portalTargetName || 'PortalTarget', PortalTarget)\n Vue.component(options.MountingPortalName || 'MountingPortal', MountingPortal)\n}\nif (\n // @ts-ignore\n process.env.ROLLUP_BUILD_MODE === 'umd' &&\n typeof window !== 'undefined' &&\n window.Vue &&\n window.Vue === Vue\n) {\n window.Vue.use({ install: install })\n}\n\nexport default {\n install,\n}\n\nexport { Portal, PortalTarget, MountingPortal, Wormhole }\n"],"names":["inBrowser","window","freeze","item","Array","isArray","Object","combinePassengers","transports","slotProps","reduce","passengers","transport","temp","newPassengers","concat","stableSort","array","compareFn","map","v","idx","sort","a","b","c","pick","obj","keys","acc","key","hasOwnProperty","targets","sources","Wormhole","Vue","extend","data","trackInstances","methods","open","to","from","order","Infinity","newTransport","indexOf","set","currentIndex","$_getTransportIndex","newTransports","slice","push","close","force","index","splice","registerTarget","target","vm","console","warn","$set","unregisterTarget","$delete","registerSource","source","unregisterSource","hasTarget","hasSource","hasContentFor","length","i","wormhole","_id","name","props","disabled","type","Boolean","String","default","Number","slim","tag","Math","round","random","created","$nextTick","mounted","sendUpdate","updated","clear","beforeDestroy","watch","newValue","oldValue","closer","normalizeSlots","$scopedSlots","$slots","normalizeOwnChildren","children","slotContent","render","h","Tag","class","style","display","multiple","required","transition","Function","firstRender","ownTransports","$emit","newVal","oldVal","computed","noWrapper","undefined","portalProps","targetProps","inheritAttrs","append","bail","mountTo","targetSlim","targetSlotProps","targetTag","document","el","querySelector","error","$props","portalTarget","mountEl","createElement","appendChild","_props","PortalTarget","parent","$parent","propsData","$el","parentNode","removeChild","$destroy","manual","Portal","attrs","$attrs","on","$listeners","scopedSlots","content","install","options","component","portalName","portalTargetName","MountingPortalName","MountingPortal"],"mappings":"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"}