label-print-design
Version:
操作简单,组件丰富的一站式打印解决方案打印设计器
101 lines (96 loc) • 3.51 kB
JavaScript
;
Object.defineProperty(exports, '__esModule', { value: true });
var vue = require('vue');
var mySwitch = require('../switch/my-switch.vue.js');
const _hoisted_1 = { class: "my-tree-list" };
const _hoisted_2 = { class: "my-tree-list-item" };
const _hoisted_3 = {
key: 0,
class: "my-tree-list-child"
};
var _sfc_main = /* @__PURE__ */ vue.defineComponent({
__name: "my-tree-list",
props: {
list: { default: () => [] },
nullActive: { type: Boolean, default: false }
},
emits: ["change"],
setup(__props, { emit: __emit }) {
const emit = __emit;
function parentChange(item) {
setColumnList(item, item.option.enable);
if (item.option.enable == 1 && item.runtimeOption.nestColumnList) {
for (let nestColumnListElement of item.runtimeOption.nestColumnList) {
nestColumnListElement.option.enable = 1;
}
}
emit("change");
}
function setColumnList(item, val) {
if (item.runtimeOption.nestColumnList == null) {
return;
}
for (let nestColumnListElement of item.runtimeOption.nestColumnList) {
nestColumnListElement.option.enable = val;
setColumnList(nestColumnListElement, val);
}
}
function childChange(item) {
let disableAllIs = true;
for (let nestColumnListElement of item.runtimeOption.nestColumnList) {
if (nestColumnListElement.option.enable != 0) {
disableAllIs = false;
}
}
if (disableAllIs) {
item.option.enable = 0;
} else {
item.option.enable = 1;
}
emit("change");
}
return (_ctx, _cache) => {
const _component_my_tree_list = vue.resolveComponent("my-tree-list", true);
return vue.openBlock(), vue.createElementBlock("div", _hoisted_1, [
(vue.openBlock(true), vue.createElementBlock(
vue.Fragment,
null,
vue.renderList(_ctx.list, (item, index) => {
return vue.openBlock(), vue.createElementBlock("div", {
class: "my-tree-list-item_wrapper",
key: index
}, [
vue.createElementVNode("div", _hoisted_2, [
vue.createVNode(mySwitch.default, {
nullActive: _ctx.nullActive,
modelValue: item.option.enable,
"onUpdate:modelValue": ($event) => item.option.enable = $event,
onChange: ($event) => parentChange(item),
class: "ml-2"
}, null, 8, ["nullActive", "modelValue", "onUpdate:modelValue", "onChange"]),
vue.createElementVNode(
"div",
null,
vue.toDisplayString(item.label),
1
/* TEXT */
)
]),
item.runtimeOption.nestColumnList != null && item.runtimeOption.nestColumnList.length > 0 ? (vue.openBlock(), vue.createElementBlock("div", _hoisted_3, [
vue.createVNode(_component_my_tree_list, {
nullActive: _ctx.nullActive,
onChange: ($event) => childChange(item),
list: item.runtimeOption.nestColumnList
}, null, 8, ["nullActive", "onChange", "list"])
])) : vue.createCommentVNode("v-if", true)
]);
}),
128
/* KEYED_FRAGMENT */
))
]);
};
}
});
exports.default = _sfc_main;
//# sourceMappingURL=my-tree-list.vue2.js.map