Skip to content

Commit ef47142

Browse files
authored
feat: 图层中增加锁定状态图标的显示
feat: 图层中增加锁定状态图标的显示
2 parents 9761788 + 24815e4 commit ef47142

File tree

1 file changed

+24
-7
lines changed

1 file changed

+24
-7
lines changed

src/components/layer.vue

Lines changed: 24 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -17,12 +17,22 @@
1717
:key="item.id"
1818
:class="isSelect(item) && 'active'"
1919
>
20-
<Tooltip :content="item.name || item.text || item.type" placement="left">
21-
<div class="ellipsis">
22-
<span :class="isSelect(item) && 'active'" v-html="iconType(item.type)"></span>
23-
| {{ textType(item.type, item) }}
24-
</div>
25-
</Tooltip>
20+
<Row class="ellipsis">
21+
<Col span="20">
22+
<Tooltip :content="item.name || item.text || item.type" placement="left">
23+
<span :class="isSelect(item) && 'active'" v-html="iconType(item.type)"></span>
24+
| {{ textType(item.type, item) }}
25+
</Tooltip>
26+
</Col>
27+
<Col span="4">
28+
<Button
29+
long
30+
:icon="item.isLock ? 'md-lock' : 'md-unlock'"
31+
type="text"
32+
@click="doLock(item)"
33+
></Button>
34+
</Col>
35+
</Row>
2636
</div>
2737
</div>
2838
<!-- 层级调整按钮 -->
@@ -135,17 +145,24 @@ const getList = () => {
135145
]
136146
.reverse()
137147
.map((item) => {
138-
const { type, id, name, text } = item;
148+
const { type, id, name, text, selectable } = item;
139149
return {
140150
type,
141151
id,
142152
name,
143153
text,
154+
isLock: !selectable,
144155
};
145156
});
146157
list.value = uniqBy(unref(list), 'id');
147158
};
148159
160+
const doLock = (item) => {
161+
select(item.id);
162+
item.isLock ? canvasEditor.unLock() : canvasEditor.lock();
163+
canvasEditor.canvas.discardActiveObject();
164+
};
165+
149166
onMounted(() => {
150167
getList();
151168
canvasEditor.canvas.on('after:render', getList);

0 commit comments

Comments
 (0)