From 0b6e577165afa01c07dc47194eaaa4a763e5fa51 Mon Sep 17 00:00:00 2001 From: wangjiahao <1522128093@qq.com> Date: Fri, 24 May 2024 15:13:11 +0800 Subject: [PATCH] =?UTF-8?q?feat(=E6=95=B0=E6=8D=AE=E5=A4=A7=E5=B1=8F):=20?= =?UTF-8?q?=E6=94=AF=E6=8C=81=E8=B7=91=E9=A9=AC=E7=81=AF=E7=BB=84=E4=BB=B6?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../src/assets/svg/dv-scroll-text.svg | 1 + .../src/assets/svg/scroll-text.svg | 1 + .../data-visualization/DvToolbar.vue | 2 +- .../component-group/TextGroup.vue | 25 ++- .../src/custom-component/component-list.ts | 22 ++ .../src/custom-component/scroll-text/Attr.vue | 56 ++++++ .../scroll-text/Component.vue | 188 ++++++++++++++++++ core/core-frontend/src/utils/components.ts | 6 +- 8 files changed, 286 insertions(+), 15 deletions(-) create mode 100644 core/core-frontend/src/assets/svg/dv-scroll-text.svg create mode 100644 core/core-frontend/src/assets/svg/scroll-text.svg create mode 100644 core/core-frontend/src/custom-component/scroll-text/Attr.vue create mode 100644 core/core-frontend/src/custom-component/scroll-text/Component.vue diff --git a/core/core-frontend/src/assets/svg/dv-scroll-text.svg b/core/core-frontend/src/assets/svg/dv-scroll-text.svg new file mode 100644 index 0000000000..897afecb9d --- /dev/null +++ b/core/core-frontend/src/assets/svg/dv-scroll-text.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/core/core-frontend/src/assets/svg/scroll-text.svg b/core/core-frontend/src/assets/svg/scroll-text.svg new file mode 100644 index 0000000000..5847b4ad02 --- /dev/null +++ b/core/core-frontend/src/assets/svg/scroll-text.svg @@ -0,0 +1 @@ + diff --git a/core/core-frontend/src/components/data-visualization/DvToolbar.vue b/core/core-frontend/src/components/data-visualization/DvToolbar.vue index 9cbb7ca1b6..40dceb75cb 100644 --- a/core/core-frontend/src/components/data-visualization/DvToolbar.vue +++ b/core/core-frontend/src/components/data-visualization/DvToolbar.vue @@ -227,7 +227,7 @@ eventBus.on('clearCanvas', clearCanvas) > - + { commonHandleDragEnd(e, dvModel.value) } -const newComponent = () => { - eventBus.emit('handleNew', { componentName: 'UserView', innerType: 'rich-text' }) +const newComponent = (componentName, innerType) => { + eventBus.emit('handleNew', { componentName: componentName, innerType: innerType }) } @@ -61,10 +64,6 @@ const newComponent = () => { diff --git a/core/core-frontend/src/custom-component/component-list.ts b/core/core-frontend/src/custom-component/component-list.ts index 5593b26805..fc204e6c7e 100644 --- a/core/core-frontend/src/custom-component/component-list.ts +++ b/core/core-frontend/src/custom-component/component-list.ts @@ -477,6 +477,28 @@ const list = [ headFontColor: '#000000', headFontActiveColor: '#000000' } + }, + { + component: 'ScrollText', + name: '跑马灯', + label: '跑马灯', + propValue: '双击编辑文字', + innerType: 'ScrollText', + icon: 'scroll-text', + x: 1, + y: 1, + sizeX: 36, + sizeY: 14, + style: { + width: 400, + height: 80, + fontSize: 14, + fontWeight: 400, + letterSpacing: 0, + color: '', + padding: 4, + verticalAlign: 'middle' + } } ] diff --git a/core/core-frontend/src/custom-component/scroll-text/Attr.vue b/core/core-frontend/src/custom-component/scroll-text/Attr.vue new file mode 100644 index 0000000000..6a368204bf --- /dev/null +++ b/core/core-frontend/src/custom-component/scroll-text/Attr.vue @@ -0,0 +1,56 @@ + + + + + diff --git a/core/core-frontend/src/custom-component/scroll-text/Component.vue b/core/core-frontend/src/custom-component/scroll-text/Component.vue new file mode 100644 index 0000000000..5833d5a34b --- /dev/null +++ b/core/core-frontend/src/custom-component/scroll-text/Component.vue @@ -0,0 +1,188 @@ + + + + + diff --git a/core/core-frontend/src/utils/components.ts b/core/core-frontend/src/utils/components.ts index 6ad1314f04..50324e515e 100644 --- a/core/core-frontend/src/utils/components.ts +++ b/core/core-frontend/src/utils/components.ts @@ -31,6 +31,8 @@ import DeVideo from '@/custom-component/de-video/Component.vue' import DeVideoAttr from '@/custom-component/de-video/Attr.vue' import DeStreamMedia from '@/custom-component/de-stream-media/Component.vue' import DeStreamMediaAttr from '@/custom-component/de-stream-media/Attr.vue' +import ScrollText from '@/custom-component/scroll-text/Component.vue' +import ScrollTextAttr from '@/custom-component/scroll-text/Attr.vue' export const componentsMap = { VText: VText, VQuery, @@ -64,7 +66,9 @@ export const componentsMap = { DeVideo: DeVideo, DeVideoAttr: DeVideoAttr, DeStreamMedia: DeStreamMedia, - DeStreamMediaAttr: DeStreamMediaAttr + DeStreamMediaAttr: DeStreamMediaAttr, + ScrollText: ScrollText, + ScrollTextAttr: ScrollTextAttr } export default function findComponent(key) {