UNPKG

@visactor/vue-vtable

Version:
45 lines (41 loc) 2.04 kB
'use strict'; var vue = require('vue'); var baseTable_vue_vue_type_script_setup_true_lang = require('./base-table.vue.js'); var slotUtils = require('../utils/slotUtils.js'); var vnodeUtils = require('../utils/vnodeUtils.js'); var _sfc_main = /*@__PURE__*/ vue.defineComponent({ __name: 'pivot-table', props: { options: { type: Object, required: true }, records: { type: Array, required: false }, width: { type: [String, Number], required: false }, height: { type: [String, Number], required: false } }, setup(__props, { expose: __expose }) { const props = __props; const baseTableRef = vue.shallowRef(null); const slots = vue.useSlots(); const computedOptions = vue.computed(() => { var _a; const flattenedSlots = vnodeUtils.flattenVNodes(((_a = slots.default) === null || _a === void 0 ? void 0 : _a.call(slots)) || []); const slotOptions = slotUtils.extractPivotSlotOptions(flattenedSlots); return slotUtils.mergeSlotOptions(props.options, slotOptions); }); __expose({ vTableInstance: vue.computed(() => { var _a; return ((_a = baseTableRef.value) === null || _a === void 0 ? void 0 : _a.vTableInstance) || null; }) }); return (_ctx, _cache) => { return (vue.openBlock(), vue.createElementBlock(vue.Fragment, null, [ vue.createVNode(baseTable_vue_vue_type_script_setup_true_lang, vue.mergeProps({ type: "pivot", options: computedOptions.value, records: __props.records, width: __props.width, height: __props.height, ref_key: "baseTableRef", ref: baseTableRef }, _ctx.$attrs), null, 16 /* FULL_PROPS */, ["options", "records", "width", "height"]), vue.renderSlot(_ctx.$slots, "default") ], 64 /* STABLE_FRAGMENT */)); }; } }); module.exports = _sfc_main;