UNPKG

label-print-design

Version:

操作简单,组件丰富的一站式打印解决方案打印设计器

97 lines (94 loc) 3.68 kB
import { defineComponent, openBlock, createElementBlock, Fragment, renderList, unref, createBlock, normalizeClass, createCommentVNode, createElementVNode, toDisplayString } from 'vue'; import MyIcon from '../../../my/icon/my-icon.vue.mjs'; import { computed } from 'vue-demi'; const _hoisted_1 = { class: "align-down-list-panel" }; const _hoisted_2 = ["onClick"]; const _hoisted_3 = { class: "align-down-list-panel__item__content user-select-none" }; const _hoisted_4 = { key: 0, class: "align-down-list-panel__divider" }; var _sfc_main = /* @__PURE__ */ defineComponent({ __name: "element-align", props: { showSelectedStatus: { type: Boolean, default: false }, modelValue: { default: null }, elementAlignList: { default: () => [] } }, emits: ["update:modelValue", "change", "click"], setup(__props, { emit: __emit }) { const emit = __emit; const props = __props; const dataList = computed(() => { if (!props.elementAlignList || props.elementAlignList.length == 0) { return []; } if (props.elementAlignList[0] instanceof Array) { return props.elementAlignList; } else { return [props.elementAlignList]; } }); function click(elementAlign) { if (elementAlign.click) { elementAlign.click(); } else { if (props.modelValue != elementAlign.value) { emit("update:modelValue", elementAlign.value); emit("change", elementAlign); } } } return (_ctx, _cache) => { return openBlock(), createElementBlock("div", _hoisted_1, [ (openBlock(true), createElementBlock( Fragment, null, renderList(unref(dataList), (elementAlignChildList, index) => { return openBlock(), createElementBlock("div", null, [ (openBlock(true), createElementBlock( Fragment, null, renderList(elementAlignChildList, (elementAlign) => { return openBlock(), createElementBlock("div", { class: "align-down-list-panel__item", onClick: ($event) => click(elementAlign) }, [ _ctx.showSelectedStatus ? (openBlock(), createBlock(MyIcon, { key: 0, class: normalizeClass(["align-down-list-panel__item__select iconfont icon-duihao", { "my-hidden": _ctx.modelValue != elementAlign.value }]) }, null, 8, ["class"])) : createCommentVNode("v-if", true), elementAlign.icon ? (openBlock(), createElementBlock( "i", { key: 1, class: normalizeClass(["align-down-list-panel__item__icon", elementAlign.icon]) }, null, 2 /* CLASS */ )) : createCommentVNode("v-if", true), createElementVNode( "div", _hoisted_3, toDisplayString(elementAlign.label), 1 /* TEXT */ ) ], 8, _hoisted_2); }), 256 /* UNKEYED_FRAGMENT */ )), index < unref(dataList).length - 1 ? (openBlock(), createElementBlock("div", _hoisted_4)) : createCommentVNode("v-if", true) ]); }), 256 /* UNKEYED_FRAGMENT */ )) ]); }; } }); export { _sfc_main as default }; //# sourceMappingURL=element-align.vue2.mjs.map