|
@@ -120,6 +120,12 @@
|
|
|
@blur="setGroup"
|
|
|
@enter="setGroup"
|
|
|
/>
|
|
|
+ <t-icon
|
|
|
+ v-if="!data.hiddenGroups.includes(item)"
|
|
|
+ name="browse"
|
|
|
+ @click="visibleGroup(item, false)"
|
|
|
+ />
|
|
|
+ <t-icon v-else name="browse-off" @click="visibleGroup(item, true)" />
|
|
|
<t-popconfirm
|
|
|
content="确认删除该分组吗?"
|
|
|
@confirm="delGroup"
|
|
@@ -150,6 +156,7 @@ const data = reactive<any>({
|
|
|
tree: [],
|
|
|
actived: [],
|
|
|
groups: [],
|
|
|
+ hiddenGroups: [],
|
|
|
});
|
|
|
|
|
|
onBeforeMount(() => {
|
|
@@ -176,12 +183,26 @@ onBeforeMount(() => {
|
|
|
d.groups = [];
|
|
|
}
|
|
|
data.groups = d.groups;
|
|
|
+ getHiddenGroups();
|
|
|
});
|
|
|
|
|
|
const getTree = () => {
|
|
|
data.tree = getPenTree();
|
|
|
};
|
|
|
|
|
|
+const getHiddenGroups = () => {
|
|
|
+ data.groups.forEach((item) => {
|
|
|
+ if (
|
|
|
+ meta2d.store.data.pens.some(
|
|
|
+ (pen) =>
|
|
|
+ !pen.parentId && pen.tags.includes(item) && pen.visible === false
|
|
|
+ )
|
|
|
+ ) {
|
|
|
+ data.hiddenGroups.push(item);
|
|
|
+ }
|
|
|
+ });
|
|
|
+};
|
|
|
+
|
|
|
const getActived = () => {
|
|
|
data.actived = [];
|
|
|
if (meta2d.store.active) {
|
|
@@ -263,6 +284,27 @@ const visible = (node: any, v: boolean) => {
|
|
|
pen && meta2d.setVisible(pen, v);
|
|
|
};
|
|
|
|
|
|
+const visibleGroup = (item, v: boolean) => {
|
|
|
+ if (v) {
|
|
|
+ let index = data.hiddenGroups.indexOf(item);
|
|
|
+ if (index !== -1) {
|
|
|
+ data.hiddenGroups.splice(index, 1);
|
|
|
+ }
|
|
|
+ } else {
|
|
|
+ data.hiddenGroups.push(item);
|
|
|
+ }
|
|
|
+ let pens = meta2d.store.data.pens.filter(
|
|
|
+ (pen) => !pen.parentId && pen.tags.includes(item)
|
|
|
+ );
|
|
|
+ pens.forEach((pen) => {
|
|
|
+ meta2d.setValue(
|
|
|
+ { id: pen.id, visible: v },
|
|
|
+ { render: false, doEvent: false }
|
|
|
+ );
|
|
|
+ });
|
|
|
+ meta2d.render();
|
|
|
+};
|
|
|
+
|
|
|
const onDescription = (node: any) => {
|
|
|
node.data.edited = false;
|
|
|
node.setData({ label: node.data.label });
|