From 5ff6f6184acc4d9a07341df045529b67e2bb071c Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E5=92=AC=E8=BD=AE=E7=8C=AB?= <10928033@qq.com> Date: Mon, 25 Jul 2022 20:09:15 +0800 Subject: [PATCH] =?UTF-8?q?feat:=20=E5=BC=95=E5=85=A5pinia=20=E9=A1=B6?= =?UTF-8?q?=E9=83=A8=E5=B8=83=E5=B1=80=E5=AE=9E=E7=8E=B0?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- package.json | 1 + pnpm-lock.yaml | 24 +++++ src/assets/icons/delete.svg | 9 ++ src/assets/icons/export-json.svg | 4 + src/assets/icons/group.svg | 13 +++ src/assets/icons/import-json.svg | 4 + src/assets/icons/lock.svg | 7 ++ src/assets/icons/menu-fold.svg | 9 ++ src/assets/icons/menu-unfold.svg | 9 ++ src/assets/icons/preview.svg | 6 ++ src/assets/icons/redo.svg | 8 ++ src/assets/icons/tree-list.svg | 11 +++ src/assets/icons/undo.svg | 6 ++ src/assets/icons/ungroup.svg | 16 +++ src/assets/icons/unlock.svg | 7 ++ .../components/top-panel/index.vue | 98 ++++++++++++++++++- src/components/webtopo-svgedit/index.vue | 6 +- src/main.ts | 3 + src/store/svgedit-layout/index.ts | 15 +++ src/store/svgedit-layout/types.ts | 4 + tsconfig.json | 3 +- vite.config.ts | 9 +- 22 files changed, 266 insertions(+), 6 deletions(-) create mode 100644 src/assets/icons/delete.svg create mode 100644 src/assets/icons/export-json.svg create mode 100644 src/assets/icons/group.svg create mode 100644 src/assets/icons/import-json.svg create mode 100644 src/assets/icons/lock.svg create mode 100644 src/assets/icons/menu-fold.svg create mode 100644 src/assets/icons/menu-unfold.svg create mode 100644 src/assets/icons/preview.svg create mode 100644 src/assets/icons/redo.svg create mode 100644 src/assets/icons/tree-list.svg create mode 100644 src/assets/icons/undo.svg create mode 100644 src/assets/icons/ungroup.svg create mode 100644 src/assets/icons/unlock.svg create mode 100644 src/store/svgedit-layout/index.ts create mode 100644 src/store/svgedit-layout/types.ts diff --git a/package.json b/package.json index 8179754..8a79d1c 100644 --- a/package.json +++ b/package.json @@ -11,6 +11,7 @@ }, "dependencies": { "element-plus": "^2.2.9", + "pinia": "^2.0.16", "vue": "^3.2.25", "vue-router": "4" }, diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index e8eca8f..961920f 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -14,6 +14,7 @@ specifiers: eslint-plugin-vue: ^9.2.0 husky: ^8.0.1 less: ^4.1.3 + pinia: ^2.0.16 prettier: ^2.7.1 typescript: ^4.5.4 vite: ^2.9.9 @@ -28,6 +29,7 @@ specifiers: dependencies: element-plus: 2.2.9_vue@3.2.37 + pinia: 2.0.17_typescript@4.7.4+vue@3.2.37 vue: 3.2.37 vue-router: 4.1.1_vue@3.2.37 @@ -634,6 +636,10 @@ packages: resolution: {integrity: sha512-pF1G4wky+hkifDiZSWn8xfuLOJI1ZXtuambpBEYaf7Xaf6zC/pM29rvAGpd3qaGXnr4BAXU1Pxz/VfvBGwexGA==} dev: false + /@vue/devtools-api/6.2.1: + resolution: {integrity: sha512-OEgAMeQXvCoJ+1x8WyQuVZzFo0wcyCmUR3baRVLmKBo1LmYZWMlRiXlux5jd0fqVJu6PfDbOrZItVqUEzLobeQ==} + dev: false + /@vue/reactivity-transform/3.2.37: resolution: {integrity: sha512-IWopkKEb+8qpu/1eMKVeXrK0NLw9HicGviJzhJDEyfxTR9e1WtpnnbYkJWurX6WwoFP0sz10xQg8yL8lgskAZg==} dependencies: @@ -2949,6 +2955,24 @@ packages: dev: true optional: true + /pinia/2.0.17_typescript@4.7.4+vue@3.2.37: + resolution: {integrity: sha512-AtwLwEWQgIjofjgeFT+nxbnK5lT2QwQjaHNEDqpsi2AiCwf/NY78uWTeHUyEhiiJy8+sBmw0ujgQMoQbWiZDfA==} + peerDependencies: + '@vue/composition-api': ^1.4.0 + typescript: '>=4.4.4' + vue: ^2.6.14 || ^3.2.0 + peerDependenciesMeta: + '@vue/composition-api': + optional: true + typescript: + optional: true + dependencies: + '@vue/devtools-api': 6.2.1 + typescript: 4.7.4 + vue: 3.2.37 + vue-demi: 0.13.4_vue@3.2.37 + dev: false + /posix-character-classes/0.1.1: resolution: {integrity: sha512-xTgYBc3fuo7Yt7JbiuFxSYGToMoz8fLoE6TC9Wx1P/u+LfeThMOAqmuyECnlBaaJb+u1m9hHiXUEtwW4OzfUJg==} engines: {node: '>=0.10.0'} diff --git a/src/assets/icons/delete.svg b/src/assets/icons/delete.svg new file mode 100644 index 0000000..7e876cb --- /dev/null +++ b/src/assets/icons/delete.svg @@ -0,0 +1,9 @@ + + + + + + + + \ No newline at end of file diff --git a/src/assets/icons/export-json.svg b/src/assets/icons/export-json.svg new file mode 100644 index 0000000..c4451ac --- /dev/null +++ b/src/assets/icons/export-json.svg @@ -0,0 +1,4 @@ + + + \ No newline at end of file diff --git a/src/assets/icons/group.svg b/src/assets/icons/group.svg new file mode 100644 index 0000000..c911c2c --- /dev/null +++ b/src/assets/icons/group.svg @@ -0,0 +1,13 @@ + + + + + + + + + + + + \ No newline at end of file diff --git a/src/assets/icons/import-json.svg b/src/assets/icons/import-json.svg new file mode 100644 index 0000000..7b9895e --- /dev/null +++ b/src/assets/icons/import-json.svg @@ -0,0 +1,4 @@ + + + \ No newline at end of file diff --git a/src/assets/icons/lock.svg b/src/assets/icons/lock.svg new file mode 100644 index 0000000..c945ad8 --- /dev/null +++ b/src/assets/icons/lock.svg @@ -0,0 +1,7 @@ + + + + + + \ No newline at end of file diff --git a/src/assets/icons/menu-fold.svg b/src/assets/icons/menu-fold.svg new file mode 100644 index 0000000..7831a7b --- /dev/null +++ b/src/assets/icons/menu-fold.svg @@ -0,0 +1,9 @@ + + + + + + + + \ No newline at end of file diff --git a/src/assets/icons/menu-unfold.svg b/src/assets/icons/menu-unfold.svg new file mode 100644 index 0000000..00e9e9b --- /dev/null +++ b/src/assets/icons/menu-unfold.svg @@ -0,0 +1,9 @@ + + + + + + + + \ No newline at end of file diff --git a/src/assets/icons/preview.svg b/src/assets/icons/preview.svg new file mode 100644 index 0000000..7a0ce8d --- /dev/null +++ b/src/assets/icons/preview.svg @@ -0,0 +1,6 @@ + + + + + \ No newline at end of file diff --git a/src/assets/icons/redo.svg b/src/assets/icons/redo.svg new file mode 100644 index 0000000..3e65431 --- /dev/null +++ b/src/assets/icons/redo.svg @@ -0,0 +1,8 @@ + + + + + + + \ No newline at end of file diff --git a/src/assets/icons/tree-list.svg b/src/assets/icons/tree-list.svg new file mode 100644 index 0000000..2897b47 --- /dev/null +++ b/src/assets/icons/tree-list.svg @@ -0,0 +1,11 @@ + + + + + + + + + + \ No newline at end of file diff --git a/src/assets/icons/undo.svg b/src/assets/icons/undo.svg new file mode 100644 index 0000000..bb7e92e --- /dev/null +++ b/src/assets/icons/undo.svg @@ -0,0 +1,6 @@ + + + + + \ No newline at end of file diff --git a/src/assets/icons/ungroup.svg b/src/assets/icons/ungroup.svg new file mode 100644 index 0000000..22c1250 --- /dev/null +++ b/src/assets/icons/ungroup.svg @@ -0,0 +1,16 @@ + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/src/assets/icons/unlock.svg b/src/assets/icons/unlock.svg new file mode 100644 index 0000000..fb73dbb --- /dev/null +++ b/src/assets/icons/unlock.svg @@ -0,0 +1,7 @@ + + + + + + \ No newline at end of file diff --git a/src/components/webtopo-svgedit/components/top-panel/index.vue b/src/components/webtopo-svgedit/components/top-panel/index.vue index 6c44a16..c8554f9 100644 --- a/src/components/webtopo-svgedit/components/top-panel/index.vue +++ b/src/components/webtopo-svgedit/components/top-panel/index.vue @@ -1 +1,97 @@ - + + + diff --git a/src/components/webtopo-svgedit/index.vue b/src/components/webtopo-svgedit/index.vue index af7b0cf..725e2b3 100644 --- a/src/components/webtopo-svgedit/index.vue +++ b/src/components/webtopo-svgedit/index.vue @@ -5,7 +5,7 @@ - + @@ -17,7 +17,7 @@ - + @@ -37,6 +37,8 @@ import CenterPanel from './components/center-panel/index.vue'; import RightPanel from './components/right-panel/index.vue'; import BottomPanel from './components/bottom-panel/index.vue'; + import { useSvgEditLayoutStore } from '../../store/svgedit-layout'; + const svgEditLayoutStore = useSvgEditLayoutStore();