@@ -38,6 +37,7 @@ import { OperateResizeHandler } from '@/types/edit'
import ImageElementOperate from './ImageElementOperate.vue'
import TextElementOperate from './TextElementOperate.vue'
+import ShapeElementOperate from './ShapeElementOperate.vue'
export default defineComponent({
name: 'operate',
@@ -81,6 +81,7 @@ export default defineComponent({
const elementTypeMap = {
'image': ImageElementOperate,
'text': TextElementOperate,
+ 'shape': ShapeElementOperate,
}
return elementTypeMap[props.elementInfo.type] || null
})
@@ -105,6 +106,10 @@ export default defineComponent({
position: absolute;
z-index: 100;
user-select: none;
+
+ &.multi-select {
+ opacity: .3;
+ }
}
.animation-index {
position: absolute;
diff --git a/src/views/components/ThumbnailSlide/ThumbnailElement.vue b/src/views/components/ThumbnailSlide/ThumbnailElement.vue
index cc276844..a0fe516c 100644
--- a/src/views/components/ThumbnailSlide/ThumbnailElement.vue
+++ b/src/views/components/ThumbnailSlide/ThumbnailElement.vue
@@ -16,6 +16,7 @@ import { PPTElement } from '@/types/slides'
import BaseImageElement from '@/views/components/element/ImageElement/BaseImageElement.vue'
import BaseTextElement from '@/views/components/element/TextElement/BaseTextElement.vue'
+import BaseShapeElement from '@/views/components/element/ShapeElement/BaseShapeElement.vue'
export default defineComponent({
name: 'base-element',
@@ -34,6 +35,7 @@ export default defineComponent({
const elementTypeMap = {
'image': BaseImageElement,
'text': BaseTextElement,
+ 'shape': BaseShapeElement,
}
return elementTypeMap[props.elementInfo.type] || null
})
diff --git a/src/views/components/element/ShapeElement/BaseShapeElement.vue b/src/views/components/element/ShapeElement/BaseShapeElement.vue
new file mode 100644
index 00000000..2e3a1f22
--- /dev/null
+++ b/src/views/components/element/ShapeElement/BaseShapeElement.vue
@@ -0,0 +1,92 @@
+
+
+
+
+
+
+
diff --git a/src/views/components/element/ShapeElement/index.vue b/src/views/components/element/ShapeElement/index.vue
new file mode 100644
index 00000000..0eaf18e2
--- /dev/null
+++ b/src/views/components/element/ShapeElement/index.vue
@@ -0,0 +1,116 @@
+
+ handleSelectElement($event)"
+ >
+
+
+
+
+
+
+