From 560411b2dd2d6b23f24eae4e42dcc3a379a6b3d7 Mon Sep 17 00:00:00 2001 From: bunny <1319900154@qq.com> Date: Thu, 31 Oct 2024 16:14:22 +0800 Subject: [PATCH] =?UTF-8?q?completepage:=20=F0=9F=8D=BB=20=E6=B6=88?= =?UTF-8?q?=E6=81=AF=E5=8F=91=E9=80=81=E9=A1=B5=E9=9D=A2?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- package.json | 2 + pnpm-lock.yaml | 422 +++++++++++++++++- .../{Markdown => Editor}/MarkdownPreview.vue | 0 .../SplitPane/iconfont/iconfont.css | 23 + src/components/SplitPane/iconfont/iconfont.js | 64 +++ .../SplitPane/iconfont/iconfont.json | 23 + .../SplitPane/iconfont/iconfont.ttf | Bin 0 -> 2132 bytes .../SplitPane/iconfont/iconfont.woff | Bin 0 -> 1080 bytes .../SplitPane/iconfont/iconfont.woff2 | Bin 0 -> 732 bytes src/components/SplitPane/index.css | 49 ++ src/components/SplitPane/index.tsx | 102 +++++ src/components/SplitPane/resizer.css | 47 ++ src/components/SplitPane/resizer.tsx | 23 + .../lay-notice/components/NoticeItem.vue | 235 ++++------ .../lay-notice/components/NoticeList.vue | 30 +- src/layout/components/lay-notice/data.ts | 69 +-- src/layout/components/lay-notice/index.vue | 127 +++--- .../message/index.vue | 7 +- .../message/message-dialog.vue | 9 +- .../message/utils/columns.ts | 4 +- .../message/utils/hooks.ts | 41 +- .../message/utils/types.ts | 0 .../messageEditing/index.vue | 38 ++ .../messageEditing/markdown-editor.vue | 32 ++ .../messageEditing/message-editor-from.vue | 119 +++++ .../messageEditing/rich-editor.vue | 58 +++ .../messageEditing/utils/columns.ts | 12 + .../messageEditing/utils/hooks.ts | 11 + .../messageType/index.vue | 4 +- .../messageType/message-type-dialog.vue | 4 +- .../messageType/utils/columns.tsx | 0 .../messageType/utils/hooks.ts | 4 +- .../messageType/utils/types.ts | 0 .../files/files-dialog.vue | 4 +- .../files/index.vue | 4 +- .../files/utils/columns.ts | 0 .../files/utils/hooks.tsx | 4 +- .../files/utils/types.ts | 0 .../message/messageEditing/index.vue | 5 - .../welcome/components/server-read-me.vue | 2 +- src/views/welcome/components/web-read-me.vue | 2 +- 41 files changed, 1225 insertions(+), 355 deletions(-) rename src/components/{Markdown => Editor}/MarkdownPreview.vue (100%) create mode 100644 src/components/SplitPane/iconfont/iconfont.css create mode 100644 src/components/SplitPane/iconfont/iconfont.js create mode 100644 src/components/SplitPane/iconfont/iconfont.json create mode 100644 src/components/SplitPane/iconfont/iconfont.ttf create mode 100644 src/components/SplitPane/iconfont/iconfont.woff create mode 100644 src/components/SplitPane/iconfont/iconfont.woff2 create mode 100644 src/components/SplitPane/index.css create mode 100644 src/components/SplitPane/index.tsx create mode 100644 src/components/SplitPane/resizer.css create mode 100644 src/components/SplitPane/resizer.tsx rename src/views/{systemMaintenance/message => messageManagement}/message/index.vue (93%) rename src/views/{systemMaintenance/message => messageManagement}/message/message-dialog.vue (93%) rename src/views/{systemMaintenance/message => messageManagement}/message/utils/columns.ts (94%) rename src/views/{systemMaintenance/message => messageManagement}/message/utils/hooks.ts (75%) rename src/views/{systemMaintenance/message => messageManagement}/message/utils/types.ts (100%) create mode 100644 src/views/messageManagement/messageEditing/index.vue create mode 100644 src/views/messageManagement/messageEditing/markdown-editor.vue create mode 100644 src/views/messageManagement/messageEditing/message-editor-from.vue create mode 100644 src/views/messageManagement/messageEditing/rich-editor.vue create mode 100644 src/views/messageManagement/messageEditing/utils/columns.ts create mode 100644 src/views/messageManagement/messageEditing/utils/hooks.ts rename src/views/{systemMaintenance/message => messageManagement}/messageType/index.vue (97%) rename src/views/{systemMaintenance/message => messageManagement}/messageType/message-type-dialog.vue (90%) rename src/views/{systemMaintenance/message => messageManagement}/messageType/utils/columns.tsx (100%) rename src/views/{systemMaintenance/message => messageManagement}/messageType/utils/hooks.ts (94%) rename src/views/{systemMaintenance/message => messageManagement}/messageType/utils/types.ts (100%) rename src/views/{systemMaintenance => monitor}/files/files-dialog.vue (95%) rename src/views/{systemMaintenance => monitor}/files/index.vue (97%) rename src/views/{systemMaintenance => monitor}/files/utils/columns.ts (100%) rename src/views/{systemMaintenance => monitor}/files/utils/hooks.tsx (96%) rename src/views/{systemMaintenance => monitor}/files/utils/types.ts (100%) delete mode 100644 src/views/systemMaintenance/message/messageEditing/index.vue diff --git a/package.json b/package.json index 11676dd..fc51960 100644 --- a/package.json +++ b/package.json @@ -58,6 +58,8 @@ "@vue-flow/core": "^1.33.6", "@vueuse/core": "^10.9.0", "@vueuse/motion": "^2.1.0", + "@wangeditor/editor": "^5.1.23", + "@wangeditor/editor-for-vue": "^5.1.12", "@zxcvbn-ts/core": "^3.0.4", "animate.css": "^4.1.1", "axios": "^1.6.8", diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index 5bcc3a5..a0b8856 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -35,6 +35,12 @@ importers: '@vueuse/motion': specifier: ^2.1.0 version: 2.2.3(rollup@4.21.1)(vue@3.4.38(typescript@5.5.4)) + '@wangeditor/editor': + specifier: ^5.1.23 + version: 5.1.23 + '@wangeditor/editor-for-vue': + specifier: ^5.1.12 + version: 5.1.12(@wangeditor/editor@5.1.23)(vue@3.4.38(typescript@5.5.4)) '@zxcvbn-ts/core': specifier: ^3.0.4 version: 3.0.4 @@ -525,6 +531,10 @@ packages: peerDependencies: '@babel/core': ^7.0.0-0 + '@babel/runtime@7.26.0': + resolution: {integrity: sha512-FDSOghenHTiToteC/QRlv2q3DhPZ/oOXTBoirfWNx1Cx3TMVcGWQtMMmQcSvb/JjpNeGzx8Pq/b4fKEJuWm1sw==} + engines: {node: '>=6.9.0'} + '@babel/standalone@7.25.5': resolution: {integrity: sha512-46bI7GJHwgWfWszOWMvJIsJjXd+LBMIlaiw4R54+b7GvDfxTVE6ytsqR8uEiI/zYECoB33ChwfN0wq/MLHLFXg==} engines: {node: '>=6.9.0'} @@ -1224,46 +1234,55 @@ packages: resolution: {integrity: sha512-sWWgdQ1fq+XKrlda8PsMCfut8caFwZBmhYeoehJ05FdI0YZXk6ZyUjWLrIgbR/VgiGycrFKMMgp7eJ69HOF2pQ==} cpu: [arm] os: [linux] + libc: [glibc] '@rollup/rollup-linux-arm-musleabihf@4.21.1': resolution: {integrity: sha512-9OIiSuj5EsYQlmwhmFRA0LRO0dRRjdCVZA3hnmZe1rEwRk11Jy3ECGGq3a7RrVEZ0/pCsYWx8jG3IvcrJ6RCew==} cpu: [arm] os: [linux] + libc: [musl] '@rollup/rollup-linux-arm64-gnu@4.21.1': resolution: {integrity: sha512-0kuAkRK4MeIUbzQYu63NrJmfoUVicajoRAL1bpwdYIYRcs57iyIV9NLcuyDyDXE2GiZCL4uhKSYAnyWpjZkWow==} cpu: [arm64] os: [linux] + libc: [glibc] '@rollup/rollup-linux-arm64-musl@4.21.1': resolution: {integrity: sha512-/6dYC9fZtfEY0vozpc5bx1RP4VrtEOhNQGb0HwvYNwXD1BBbwQ5cKIbUVVU7G2d5WRE90NfB922elN8ASXAJEA==} cpu: [arm64] os: [linux] + libc: [musl] '@rollup/rollup-linux-powerpc64le-gnu@4.21.1': resolution: {integrity: sha512-ltUWy+sHeAh3YZ91NUsV4Xg3uBXAlscQe8ZOXRCVAKLsivGuJsrkawYPUEyCV3DYa9urgJugMLn8Z3Z/6CeyRQ==} cpu: [ppc64] os: [linux] + libc: [glibc] '@rollup/rollup-linux-riscv64-gnu@4.21.1': resolution: {integrity: sha512-BggMndzI7Tlv4/abrgLwa/dxNEMn2gC61DCLrTzw8LkpSKel4o+O+gtjbnkevZ18SKkeN3ihRGPuBxjaetWzWg==} cpu: [riscv64] os: [linux] + libc: [glibc] '@rollup/rollup-linux-s390x-gnu@4.21.1': resolution: {integrity: sha512-z/9rtlGd/OMv+gb1mNSjElasMf9yXusAxnRDrBaYB+eS1shFm6/4/xDH1SAISO5729fFKUkJ88TkGPRUh8WSAA==} cpu: [s390x] os: [linux] + libc: [glibc] '@rollup/rollup-linux-x64-gnu@4.21.1': resolution: {integrity: sha512-kXQVcWqDcDKw0S2E0TmhlTLlUgAmMVqPrJZR+KpH/1ZaZhLSl23GZpQVmawBQGVhyP5WXIsIQ/zqbDBBYmxm5w==} cpu: [x64] os: [linux] + libc: [glibc] '@rollup/rollup-linux-x64-musl@4.21.1': resolution: {integrity: sha512-CbFv/WMQsSdl+bpX6rVbzR4kAjSSBuDgCqb1l4J68UYsQNalz5wOqLGYj4ZI0thGpyX5kc+LLZ9CL+kpqDovZA==} cpu: [x64] os: [linux] + libc: [musl] '@rollup/rollup-win32-arm64-msvc@4.21.1': resolution: {integrity: sha512-3Q3brDgA86gHXWHklrwdREKIrIbxC0ZgU8lwpj0eEKGBQH+31uPqr0P2v11pn0tSIxHvcdOWxa4j+YvLNx1i6g==} @@ -1287,6 +1306,9 @@ packages: '@sxzz/popperjs-es@2.11.7': resolution: {integrity: sha512-Ccy0NlLkzr0Ex2FKvh2X+OyERHXJ88XJ1MXtsI9y9fGexlaXaVTPzBCRBwIxFkORuOb+uBqeu+RqnpgYTEZRUQ==} + '@transloadit/prettier-bytes@0.0.7': + resolution: {integrity: sha512-VeJbUb0wEKbcwaSlj5n+LscBl9IPgLPkHVGBkh00cztv6X4L/TJXK58LzFuBKX7/GAfiGhIwH67YTLTlzvIzBA==} + '@trysound/sax@0.2.0': resolution: {integrity: sha512-L7z9BgrNEcYyUYtF+HaEfiS5ebkh9jXqbszz7pC0hRBPaatV0XjSD3+eHrpqFemQfgwiFF0QPIarnIihIDn7OA==} engines: {node: '>=10.13.0'} @@ -1312,6 +1334,9 @@ packages: '@types/estree@1.0.5': resolution: {integrity: sha512-/kYRxGDLWzHOB7q+wtSUQlFrtcdUccpfy+X+9iMBpHK8QLLhx2wIPYuS5DYtR9Wa/YlZAbIovy7qVdB1Aq6Lyw==} + '@types/event-emitter@0.3.5': + resolution: {integrity: sha512-zx2/Gg0Eg7gwEiOIIh5w9TrhKKTeQh7CPCOPNc0el4pLSwzebA8SmnHwZs2dWlLONvyulykSwGSQxQHLhjGLvQ==} + '@types/gradient-string@1.1.6': resolution: {integrity: sha512-LkaYxluY4G5wR1M4AKQUal2q61Di1yVVCw42ImFTuaIoQVgmV0WP1xUaLB8zwb47mp82vWTpePI9JmrjEnJ7nQ==} @@ -1430,6 +1455,23 @@ packages: resolution: {integrity: sha512-cDF0/Gf81QpY3xYyJKDV14Zwdmid5+uuENhjH2EqFaF0ni+yAyq/LzMaIJdhNJXZI7uLzwIlA+V7oWoyn6Curg==} engines: {node: ^18.18.0 || >=20.0.0} + '@uppy/companion-client@2.2.2': + resolution: {integrity: sha512-5mTp2iq97/mYSisMaBtFRry6PTgZA6SIL7LePteOV5x0/DxKfrZW3DEiQERJmYpHzy7k8johpm2gHnEKto56Og==} + + '@uppy/core@2.3.4': + resolution: {integrity: sha512-iWAqppC8FD8mMVqewavCz+TNaet6HPXitmGXpGGREGrakZ4FeuWytVdrelydzTdXx6vVKkOmI2FLztGg73sENQ==} + + '@uppy/store-default@2.1.1': + resolution: {integrity: sha512-xnpTxvot2SeAwGwbvmJ899ASk5tYXhmZzD/aCFsXePh/v8rNvR2pKlcQUH7cF/y4baUGq3FHO/daKCok/mpKqQ==} + + '@uppy/utils@4.1.3': + resolution: {integrity: sha512-nTuMvwWYobnJcytDO3t+D6IkVq/Qs4Xv3vyoEZ+Iaf8gegZP+rEyoaFT2CK5XLRMienPyqRqNbIfRuFaOWSIFw==} + + '@uppy/xhr-upload@2.1.3': + resolution: {integrity: sha512-YWOQ6myBVPs+mhNjfdWsQyMRWUlrDLMoaG7nvf/G6Y3GKZf8AyjFDjvvJ49XWQ+DaZOftGkHmF1uh/DBeGivJQ==} + peerDependencies: + '@uppy/core': ^2.3.3 + '@vavt/util@2.1.0': resolution: {integrity: sha512-YIfAvArSFVXmWvoF+DEGD0FhkhVNcCtVWWkfYtj76eSrwHh/wuEEFhiEubg1XLNM3tChO8FH8xJCT/hnizjgFQ==} @@ -1546,6 +1588,93 @@ packages: '@vueuse/shared@9.13.0': resolution: {integrity: sha512-UrnhU+Cnufu4S6JLCPZnkWh0WwZGUp72ktOF2DFptMlOs3TOdVv8xJN53zhHGARmVOsz5KqOls09+J1NR6sBKw==} + '@wangeditor/basic-modules@1.1.7': + resolution: {integrity: sha512-cY9CPkLJaqF05STqfpZKWG4LpxTMeGSIIF1fHvfm/mz+JXatCagjdkbxdikOuKYlxDdeqvOeBmsUBItufDLXZg==} + peerDependencies: + '@wangeditor/core': 1.x + dom7: ^3.0.0 + lodash.throttle: ^4.1.1 + nanoid: ^3.2.0 + slate: ^0.72.0 + snabbdom: ^3.1.0 + + '@wangeditor/code-highlight@1.0.3': + resolution: {integrity: sha512-iazHwO14XpCuIWJNTQTikqUhGKyqj+dUNWJ9288Oym9M2xMVHvnsOmDU2sgUDWVy+pOLojReMPgXCsvvNlOOhw==} + peerDependencies: + '@wangeditor/core': 1.x + dom7: ^3.0.0 + slate: ^0.72.0 + snabbdom: ^3.1.0 + + '@wangeditor/core@1.1.19': + resolution: {integrity: sha512-KevkB47+7GhVszyYF2pKGKtCSj/YzmClsD03C3zTt+9SR2XWT5T0e3yQqg8baZpcMvkjs1D8Dv4fk8ok/UaS2Q==} + peerDependencies: + '@uppy/core': ^2.1.1 + '@uppy/xhr-upload': ^2.0.3 + dom7: ^3.0.0 + is-hotkey: ^0.2.0 + lodash.camelcase: ^4.3.0 + lodash.clonedeep: ^4.5.0 + lodash.debounce: ^4.0.8 + lodash.foreach: ^4.5.0 + lodash.isequal: ^4.5.0 + lodash.throttle: ^4.1.1 + lodash.toarray: ^4.4.0 + nanoid: ^3.2.0 + slate: ^0.72.0 + snabbdom: ^3.1.0 + + '@wangeditor/editor-for-vue@5.1.12': + resolution: {integrity: sha512-0Ds3D8I+xnpNWezAeO7HmPRgTfUxHLMd9JKcIw+QzvSmhC5xUHbpCcLU+KLmeBKTR/zffnS5GQo6qi3GhTMJWQ==} + peerDependencies: + '@wangeditor/editor': '>=5.1.0' + vue: ^3.0.5 + + '@wangeditor/editor@5.1.23': + resolution: {integrity: sha512-0RxfeVTuK1tktUaPROnCoFfaHVJpRAIE2zdS0mpP+vq1axVQpLjM8+fCvKzqYIkH0Pg+C+44hJpe3VVroSkEuQ==} + + '@wangeditor/list-module@1.0.5': + resolution: {integrity: sha512-uDuYTP6DVhcYf7mF1pTlmNn5jOb4QtcVhYwSSAkyg09zqxI1qBqsfUnveeDeDqIuptSJhkh81cyxi+MF8sEPOQ==} + peerDependencies: + '@wangeditor/core': 1.x + dom7: ^3.0.0 + slate: ^0.72.0 + snabbdom: ^3.1.0 + + '@wangeditor/table-module@1.1.4': + resolution: {integrity: sha512-5saanU9xuEocxaemGdNi9t8MCDSucnykEC6jtuiT72kt+/Hhh4nERYx1J20OPsTCCdVr7hIyQenFD1iSRkIQ6w==} + peerDependencies: + '@wangeditor/core': 1.x + dom7: ^3.0.0 + lodash.isequal: ^4.5.0 + lodash.throttle: ^4.1.1 + nanoid: ^3.2.0 + slate: ^0.72.0 + snabbdom: ^3.1.0 + + '@wangeditor/upload-image-module@1.0.2': + resolution: {integrity: sha512-z81lk/v71OwPDYeQDxj6cVr81aDP90aFuywb8nPD6eQeECtOymrqRODjpO6VGvCVxVck8nUxBHtbxKtjgcwyiA==} + peerDependencies: + '@uppy/core': ^2.0.3 + '@uppy/xhr-upload': ^2.0.3 + '@wangeditor/basic-modules': 1.x + '@wangeditor/core': 1.x + dom7: ^3.0.0 + lodash.foreach: ^4.5.0 + slate: ^0.72.0 + snabbdom: ^3.1.0 + + '@wangeditor/video-module@1.1.4': + resolution: {integrity: sha512-ZdodDPqKQrgx3IwWu4ZiQmXI8EXZ3hm2/fM6E3t5dB8tCaIGWQZhmqd6P5knfkRAd3z2+YRSRbxOGfoRSp/rLg==} + peerDependencies: + '@uppy/core': ^2.1.4 + '@uppy/xhr-upload': ^2.0.7 + '@wangeditor/core': 1.x + dom7: ^3.0.0 + nanoid: ^3.2.0 + slate: ^0.72.0 + snabbdom: ^3.1.0 + '@zougt/some-loader-utils@1.4.3': resolution: {integrity: sha512-0FsoqSTQ+qOyp6x5Q6LZQ7xVwquEgLYiIStG3L8p0Q2GsGGYKDkOZ0mIpMt67aNdr8XLsbxXjzTl/iHtTz5zcA==} engines: {node: '>= 10.13.0'} @@ -1923,6 +2052,9 @@ packages: compatx@0.1.8: resolution: {integrity: sha512-jcbsEAR81Bt5s1qOFymBufmCbXCXbk0Ql+K5ouj6gCyx2yHlu6AgmGIi9HxfKixpUDO5bCFJUHQ5uM6ecbTebw==} + compute-scroll-into-view@1.0.20: + resolution: {integrity: sha512-UCB0ioiyj8CRjtrvaceBLqqhZCVP+1B8+NWQhmdsm0VXOJtobBCf1dBQmebCCo34qZmUwZfIH2MZLqNHazrfjg==} + computeds@0.0.1: resolution: {integrity: sha512-7CEBgcMjVmitjYo5q8JTJVra6X5mQ20uTThdK+0kR7UEaDrAWEQcRiBtWJzga4eRpP6afNwwLsX2SET2JhVB1Q==} @@ -2291,6 +2423,9 @@ packages: dom-zindex@1.0.5: resolution: {integrity: sha512-fvtsFOawZEkt6/SE67eu5IY+Iid8bHAHoYMnRzk4y3ZycAtZJvx7JqE0c0T5GXfxSXw0XKyYDI9K5VkDpovc6A==} + dom7@3.0.0: + resolution: {integrity: sha512-oNlcUdHsC4zb7Msx7JN3K0Nro1dzJ48knvBOnDPKJ2GV9wl1i5vydJZUSyOfrkKFDZEud/jBsTk92S/VGSAe/g==} + domelementtype@2.3.0: resolution: {integrity: sha512-OLETBj6w0OsagBwdXnPdN0cnMfF9opN69co+7ZrbfPGrdpPVNBUj02spi6B1N7wChLQiPn4CSH/zJvXw56gmHw==} @@ -2852,6 +2987,9 @@ packages: resolution: {integrity: sha512-ztqyC3kLto0e9WbNp0aeP+M3kTt+nbaIveGmUxAtZa+8iFgKLUOD4YKM5j+f3QD89bra7UeumolZHKuOXnTmeQ==} engines: {node: '>=8'} + html-void-elements@2.0.1: + resolution: {integrity: sha512-0quDb7s97CfemeJAnW9wC0hw78MtW7NU3hqtCD75g2vFlDLt36llsYD7uB7SUzojLMP24N5IatXf7ylGXiGG9A==} + htmlparser2@8.0.2: resolution: {integrity: sha512-GYdjWKDkbRLkZ5geuHs5NY1puJ+PXwP7+fHPRz06Eirsb9ugf6d8kkXav6ADhcODhFFPMIXyxkxSuMf3D6NCFA==} @@ -2872,6 +3010,9 @@ packages: engines: {node: '>=14'} hasBin: true + i18next@20.6.1: + resolution: {integrity: sha512-yCMYTMEJ9ihCwEQQ3phLo7I/Pwycf8uAx+sRHwwk5U9Aui/IZYgQRyMqXafQOw5QQ7DM1Z+WyEXWIqSuJHhG2A==} + iconv-lite@0.4.24: resolution: {integrity: sha512-v3MXnZAcvnywkTUEZomIActle7RXXeedOR31wwl7VlyoXO4Qi9arvSenNQWne1TcRwhCL1HwLI21bEqdpj8/rA==} engines: {node: '>=0.10.0'} @@ -2886,6 +3027,9 @@ packages: immediate@3.0.6: resolution: {integrity: sha512-XXOFtyqDjNDAQxVfYxuF7g9Il/IbWmmlQg2MYKOH8ExIT1qg6xc4zyS3HaEEATgs1btfzxq15ciUiY7gjSXRGQ==} + immer@9.0.21: + resolution: {integrity: sha512-bc4NBHqOqSfRW7POMkHd51LvClaeMXpm8dx0e8oE2GORbq5aRK7Bxl4FyzVLdGtLmvLKL7BTDBG5ACQm4HWjTA==} + immutable@4.3.7: resolution: {integrity: sha512-1hqclzwYwjRDFLjcFxOM5AYkkG0rpFPpr1RLPMEuGczoS7YA8gLhy8SWXYRAA/XwfEHpfo3cw5JGioS32fnMRw==} @@ -2967,6 +3111,9 @@ packages: resolution: {integrity: sha512-xelSayHH36ZgE7ZWhli7pW34hNbNl8Ojv5KVmkJD4hBdD3th8Tfk9vYasLM+mXWOZhFkgZfxhLSnrwRr4elSSg==} engines: {node: '>=0.10.0'} + is-hotkey@0.2.0: + resolution: {integrity: sha512-UknnZK4RakDmTgz4PI1wIph5yxSs/mvChWs9ifnlXsKuXgWmOkY/hAE0H/k2MIqH0RlRye0i1oC07MCRSD28Mw==} + is-interactive@1.0.0: resolution: {integrity: sha512-2HvIEKRoqS62guEC+qBjpvRubdX910WCMuJTZ+I9yvqKU2/12eSL549HMwtabb4oupdj2sMP50k+XJfB/8JE6w==} engines: {node: '>=8'} @@ -3014,6 +3161,9 @@ packages: resolution: {integrity: sha512-knxG2q4UC3u8stRGyAVJCOdxFmv5DZiRcdlIaAQXAbSfJya+OhopNotLQrstBhququ4ZpuKbDc/8S6mgXgPFPw==} engines: {node: '>=10'} + is-url@1.2.4: + resolution: {integrity: sha512-ITvGim8FhRiYe4IQ5uHSkj7pVaPDrCTkNd3yq3cV7iZAcJdHTUMPMEHcqSOy9xZ9qFenQCvi+2wjH9a1nXqHww==} + is-utf8@0.2.1: resolution: {integrity: sha512-rMYPYvCzsXywIsldgLaSoPlw5PfoB/ssr7hY4pLfcodrA5M/eArza1a9VmTiNIBNMjOGr1Ow9mTyU2o69U6U9Q==} @@ -3180,6 +3330,18 @@ packages: lodash.camelcase@4.3.0: resolution: {integrity: sha512-TwuEnCnxbc3rAvhf/LbG7tJUDzhqXyFnv3dtzLOPgCG/hODL7WFnsbwktkD7yUV0RrreP/l1PALq/YSg6VvjlA==} + lodash.clonedeep@4.5.0: + resolution: {integrity: sha512-H5ZhCF25riFd9uB5UCkVKo61m3S/xZk1x4wA6yp/L3RFP6Z/eHH1ymQcGLo7J3GMPfm0V/7m1tryHuGVxpqEBQ==} + + lodash.debounce@4.0.8: + resolution: {integrity: sha512-FT1yDzDYEoYWhnSGnpE/4Kj1fLZkDFyqRb7fNt6FdYOSxlUWAtp42Eh6Wb0rGIv/m9Bgo7x4GhQbm5Ys4SG5ow==} + + lodash.foreach@4.5.0: + resolution: {integrity: sha512-aEXTF4d+m05rVOAUG3z4vZZ4xVexLKZGF0lIxuHZ1Hplpk/3B6Z1+/ICICYRLm7c41Z2xiejbkCkJoTlypoXhQ==} + + lodash.isequal@4.5.0: + resolution: {integrity: sha512-pDo3lu8Jhfjqls6GkMgpahsF9kCyayhgykjyLMNFTKWrpVdAQtYyB4muAMWozBB4ig/dtWAmsMxLEI8wuz+DYQ==} + lodash.isfunction@3.0.9: resolution: {integrity: sha512-AirXNj15uRIMMPihnkInB4i3NHeb4iBtNg9WRWuK2o31S+ePwwNmDPaTL3o7dTJ+VXNZim7rFs4rxN4YU1oUJw==} @@ -3207,6 +3369,12 @@ packages: lodash.startcase@4.4.0: resolution: {integrity: sha512-+WKqsK294HMSc2jEbNgpHpd0JfIBhp7rEV4aqXWqFr6AlXov+SlcgB1Fv01y2kGe3Gc8nMW7VA0SrGuSkRfIEg==} + lodash.throttle@4.1.1: + resolution: {integrity: sha512-wIkUCfVKpVsWo3JSZlc+8MB5it+2AN5W8J7YVMST30UrvcQNZ1Okbj+rbVniijTWE6FGYy4XJq/rHkas8qJMLQ==} + + lodash.toarray@4.4.0: + resolution: {integrity: sha512-QyffEA3i5dma5q2490+SgCvDN0pXLmRGSyAANuVi0HQ01Pkfr9fuoKQW8wm1wGBnJITs/mS7wQvS6VshUEBFCw==} + lodash.truncate@4.4.2: resolution: {integrity: sha512-jttmRe7bRse52OsWIMDLaXxWqRAmtIUccAQ3garviCqJjafXOfNMO0yMfNpdD6zbGaTU0P5Nz7e7gAT6cKmJRw==} @@ -3334,6 +3502,9 @@ packages: resolution: {integrity: sha512-sPU4uV7dYlvtWJxwwxHD0PuihVNiE7TyAbQ5SWxDCB9mUYvOgroQOwYQQOKPJ8CIbE+1ETVlOoK1UC2nU3gYvg==} engines: {node: '>= 0.6'} + mime-match@1.0.2: + resolution: {integrity: sha512-VXp/ugGDVh3eCLOBCiHZMYWQaTNUHv2IJrut+yXA6+JbLPXHglHwfS/5A5L0ll+jkCY7fIzRJcH6OIunF+c6Cg==} + mime-types@2.1.35: resolution: {integrity: sha512-ZDY+bPm5zTTF+YpCrAU9nK0UgICYPT0QtT1NZWFv4s++TNkcgVaT0g6+4R2uI4MjQjzysHB1zxuWL50hzaeXiw==} engines: {node: '>= 0.6'} @@ -3432,6 +3603,9 @@ packages: mz@2.7.0: resolution: {integrity: sha512-z81GNO7nnYMEhrGh9LeymoE4+Yr0Wn5McHIZMK5cfQCl+NDX08sCZgUc9/6MHni9IWuFLm1Z3HTCXu2z9fN62Q==} + namespace-emitter@2.0.1: + resolution: {integrity: sha512-N/sMKHniSDJBjfrkbS/tpkPj4RAbvW3mr8UAzvlMHyun93XEm83IAvhWtJVHo+RHn/oO8Job5YN4b+wRjSVp5g==} + nan@2.20.0: resolution: {integrity: sha512-bk3gXBZDGILuuo/6sKtr0DQmSThYHLtNCdSdXk9YkxD/jK6X2vmCyyXBBxyqZ4XcnzTyYEAThfX3DCEnLf6igw==} @@ -4117,6 +4291,9 @@ packages: resolution: {integrity: sha512-TesUflQ0WKZqAvg52PWL6kHgLKP6xB6heTOdoYM0Wt2UHyxNa4K25EZZMgKns3BH1RLVbZCREPpLY0rhnNoHVQ==} engines: {node: ^10 || ^12 || >=14} + preact@10.24.3: + resolution: {integrity: sha512-Z2dPnBnMUfyQfSQ+GBdsGa16hz35YmLmtTLhM169uW944hYL6xzTYkJjC07j+Wosz733pMWx0fgON3JNw1jJQA==} + prelude-ls@1.2.1: resolution: {integrity: sha512-vkcDPrRZo1QZLbn5RLGPpg/WmIQ65qoWWhcGKf/b5eplkkarX0m9z8ppCat4mlOqUsWpyNuYgO3VRyrYHSzX5g==} engines: {node: '>= 0.8.0'} @@ -4135,6 +4312,10 @@ packages: engines: {node: '>=14'} hasBin: true + prismjs@1.29.0: + resolution: {integrity: sha512-Kx/1w86q/epKcmte75LNrEoT+lX8pBpavuAbvJWRXar7Hz8jrtF+e3vY751p0R8H9HdArwaCTNDDzHg/ScJK1Q==} + engines: {node: '>=6'} + process-nextick-args@2.0.1: resolution: {integrity: sha512-3ouUOpQhtgrbOa17J7+uxOTpITYWaGP7/AhoR3+A+/1e9skrzelGi/dXzEYyvbxubEF6Wn2ypscTKiKJFFn1ag==} @@ -4198,6 +4379,9 @@ packages: resolution: {integrity: sha512-6tDA8g98We0zd0GvVeMT9arEOnTw9qM03L9cJXaCjrip1OO764RDBLBfrB4cwzNGDj5OA5ioymC9GkizgWJDUg==} engines: {node: '>=8'} + regenerator-runtime@0.14.1: + resolution: {integrity: sha512-dYnhHh0nJoMfnkZs6GmmhFknAGRrLznOu5nc9ML+EJxGvrx6H7teuevqVqCuPcPK//3eDrrjQhehXVx9cnkGdw==} + reinterval@1.1.0: resolution: {integrity: sha512-QIRet3SYrGp0HUHO88jVskiG6seqUGC5iAG7AwI/BV4ypGcuqk9Du6YQBUOUqm9c8pw1eyLoIaONifRua1lsEQ==} @@ -4300,6 +4484,9 @@ packages: engines: {node: '>=14.0.0'} hasBin: true + scroll-into-view-if-needed@2.2.31: + resolution: {integrity: sha512-dGCXy99wZQivjmjIqihaBQNjryrz5rueJY7eHfTdyWEiR4ttYpsajb14rn9s5d4DY4EcY6+4+U/maARBXJedkA==} + scule@1.3.0: resolution: {integrity: sha512-6FtHJEvt+pVMIB9IBY+IcCJ6Z5f1iQnytgyfKMhDKgmzYG+TeH/wx1y3l27rshSbLiSanrR9ffZDrEsmjlQF2g==} @@ -4364,6 +4551,14 @@ packages: resolution: {integrity: sha512-ZA6oR3T/pEyuqwMgAKT0/hAv8oAXckzbkmR0UkUosQ+Mc4RxGoJkRmwHgHufaenlyAgE1Mxgpdcrf75y6XcnDg==} engines: {node: '>=14.16'} + slate-history@0.66.0: + resolution: {integrity: sha512-6MWpxGQZiMvSINlCbMW43E2YBSVMCMCIwQfBzGssjWw4kb0qfvj0pIdblWNRQZD0hR6WHP+dHHgGSeVdMWzfng==} + peerDependencies: + slate: '>=0.65.3' + + slate@0.72.8: + resolution: {integrity: sha512-/nJwTswQgnRurpK+bGJFH1oM7naD5qDmHd89JyiKNT2oOKD8marW0QSBtuFnwEbL5aGCS8AmrhXQgNOsn4osAw==} + slice-ansi@4.0.0: resolution: {integrity: sha512-qMCMfhY040cVHT43K9BFygqYbUPFZKHOg7K73mtTWJRb8pyP3fzf4Ixd5SzdEJQ6MRUg/WBnOLxghZtKKurENQ==} engines: {node: '>=10'} @@ -4376,6 +4571,10 @@ packages: resolution: {integrity: sha512-bSiSngZ/jWeX93BqeIAbImyTbEihizcwNjFoRUIY/T1wWQsfsm2Vw1agPKylXvQTU7iASGdHhyqRlqQzfz+Htg==} engines: {node: '>=18'} + snabbdom@3.6.2: + resolution: {integrity: sha512-ig5qOnCDbugFntKi6c7Xlib8bA6xiJVk8O+WdFrV3wxbMqeHO0hXFQC4nAhPVWfZfi8255lcZkNhtIBINCc4+Q==} + engines: {node: '>=12.17.0'} + sortablejs@1.14.0: resolution: {integrity: sha512-pBXvQCs5/33fdN1/39pPL0NZF20LeRbLQ5jtnheIPN9JQAaufGjKdWduZn4U7wCtVuzKhmRkI0DFYHYRbB2H1w==} @@ -4424,6 +4623,9 @@ packages: resolution: {integrity: sha512-+idbmIXoYET47hH+d7dfm2epdOMUDjqcB4648sTZ+t2JwoyBFL/insLfB/racrDmsKB3diwsDA696pZMieAC5g==} engines: {node: '>=0.8'} + ssr-window@3.0.0: + resolution: {integrity: sha512-q+8UfWDg9Itrg0yWK7oe5p/XRCJpJF9OBtXfOPgSJl+u3Xd5KI328RUEvUqSMVM9CiQUEf1QdBzJMkYGErj9QA==} + stable@0.1.8: resolution: {integrity: sha512-ji9qxRnOVfcuLDySj9qzhGSEFVobyt1kIOSkj1qZzYLzq7Tos/oUUWvotUPQLlrsidqsK6tBH89Bc9kL5zHA6w==} deprecated: 'Modern JS already guarantees Array#sort() is a stable sort, so this library is deprecated. See the compatibility table on MDN: https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Array/sort#browser_compatibility' @@ -4663,6 +4865,9 @@ packages: through@2.3.8: resolution: {integrity: sha512-w89qg7PI8wAdvX60bMDP+bFoD5Dvhm9oLheFp5O4a2QF0cSBGsBX4qZmadPMvVqlLJBBci+WqGGOAPvcDeNSVg==} + tiny-warning@1.0.3: + resolution: {integrity: sha512-lBN9zLN/oAf68o3zNXYrdCt1kP8WsiGW8Oo2ka41b2IM5JL/S1CTyX1rW0mb/zSuJun0ZUrDxx4sqvYS2FWzPA==} + tinycolor2@1.6.0: resolution: {integrity: sha512-XPaBkWQJdsf3pLKJV9p4qN/S+fm2Oj8AIPo1BTUhg5oxkvm9+SVEGFdhyOz7tTdUTfvxMiAs4sp6/eZO2Ew+pw==} @@ -5042,6 +5247,9 @@ packages: resolution: {integrity: sha512-o0cyEG0e8GPzT4iGHphIOh0cJOV8fivsXxddQasHPHfoZf1ZexrfeA21w2NaEN1RHE+fXlfISmOE8R9N3u3Qig==} engines: {node: '>=12'} + wildcard@1.1.2: + resolution: {integrity: sha512-DXukZJxpHA8LuotRwL0pP1+rS6CS7FF2qStDDE1C7DDg2rLud2PXRMuEDYIPhgEezwnlHNL4c+N6MfMTjCGTng==} + wmf@1.0.2: resolution: {integrity: sha512-/p9K7bEh0Dj6WbXg4JG0xvLQmIadrner1bi45VMJTfnbVHsc7yIajZyoSoK60/dtVBs12Fm6WkUI5/3WAVsNMw==} engines: {node: '>=0.8'} @@ -5375,6 +5583,10 @@ snapshots: transitivePeerDependencies: - supports-color + '@babel/runtime@7.26.0': + dependencies: + regenerator-runtime: 0.14.1 + '@babel/standalone@7.25.5': optional: true @@ -5762,7 +5974,7 @@ snapshots: '@types/node': 20.5.1 chalk: 4.1.2 cosmiconfig: 8.3.6(typescript@5.5.4) - cosmiconfig-typescript-loader: 4.4.0(@types/node@20.5.1)(cosmiconfig@8.3.6(typescript@5.5.4))(ts-node@10.9.2(@types/node@20.16.2)(typescript@5.5.4))(typescript@5.5.4) + cosmiconfig-typescript-loader: 4.4.0(@types/node@20.5.1)(cosmiconfig@8.3.6(typescript@5.5.4))(ts-node@10.9.2(@types/node@20.5.1)(typescript@5.5.4))(typescript@5.5.4) lodash.isplainobject: 4.0.6 lodash.merge: 4.6.2 lodash.uniq: 4.5.0 @@ -6392,6 +6604,8 @@ snapshots: '@sxzz/popperjs-es@2.11.7': {} + '@transloadit/prettier-bytes@0.0.7': {} + '@trysound/sax@0.2.0': {} '@tsconfig/node10@1.0.11': {} @@ -6410,6 +6624,8 @@ snapshots: '@types/estree@1.0.5': {} + '@types/event-emitter@0.3.5': {} + '@types/gradient-string@1.1.6': dependencies: '@types/tinycolor2': 1.4.6 @@ -6542,6 +6758,35 @@ snapshots: '@typescript-eslint/types': 7.18.0 eslint-visitor-keys: 3.4.3 + '@uppy/companion-client@2.2.2': + dependencies: + '@uppy/utils': 4.1.3 + namespace-emitter: 2.0.1 + + '@uppy/core@2.3.4': + dependencies: + '@transloadit/prettier-bytes': 0.0.7 + '@uppy/store-default': 2.1.1 + '@uppy/utils': 4.1.3 + lodash.throttle: 4.1.1 + mime-match: 1.0.2 + namespace-emitter: 2.0.1 + nanoid: 3.3.7 + preact: 10.24.3 + + '@uppy/store-default@2.1.1': {} + + '@uppy/utils@4.1.3': + dependencies: + lodash.throttle: 4.1.1 + + '@uppy/xhr-upload@2.1.3(@uppy/core@2.3.4)': + dependencies: + '@uppy/companion-client': 2.2.2 + '@uppy/core': 2.3.4 + '@uppy/utils': 4.1.3 + nanoid: 3.3.7 + '@vavt/util@2.1.0': {} '@vitejs/plugin-vue-jsx@3.1.0(vite@5.4.2(@types/node@20.16.2)(sass@1.77.8)(terser@5.31.6))(vue@3.4.38(typescript@5.5.4))': @@ -6741,6 +6986,114 @@ snapshots: - '@vue/composition-api' - vue + '@wangeditor/basic-modules@1.1.7(@wangeditor/core@1.1.19(@uppy/core@2.3.4)(@uppy/xhr-upload@2.1.3(@uppy/core@2.3.4))(dom7@3.0.0)(is-hotkey@0.2.0)(lodash.camelcase@4.3.0)(lodash.clonedeep@4.5.0)(lodash.debounce@4.0.8)(lodash.foreach@4.5.0)(lodash.isequal@4.5.0)(lodash.throttle@4.1.1)(lodash.toarray@4.4.0)(nanoid@3.3.7)(slate@0.72.8)(snabbdom@3.6.2))(dom7@3.0.0)(lodash.throttle@4.1.1)(nanoid@3.3.7)(slate@0.72.8)(snabbdom@3.6.2)': + dependencies: + '@wangeditor/core': 1.1.19(@uppy/core@2.3.4)(@uppy/xhr-upload@2.1.3(@uppy/core@2.3.4))(dom7@3.0.0)(is-hotkey@0.2.0)(lodash.camelcase@4.3.0)(lodash.clonedeep@4.5.0)(lodash.debounce@4.0.8)(lodash.foreach@4.5.0)(lodash.isequal@4.5.0)(lodash.throttle@4.1.1)(lodash.toarray@4.4.0)(nanoid@3.3.7)(slate@0.72.8)(snabbdom@3.6.2) + dom7: 3.0.0 + is-url: 1.2.4 + lodash.throttle: 4.1.1 + nanoid: 3.3.7 + slate: 0.72.8 + snabbdom: 3.6.2 + + '@wangeditor/code-highlight@1.0.3(@wangeditor/core@1.1.19(@uppy/core@2.3.4)(@uppy/xhr-upload@2.1.3(@uppy/core@2.3.4))(dom7@3.0.0)(is-hotkey@0.2.0)(lodash.camelcase@4.3.0)(lodash.clonedeep@4.5.0)(lodash.debounce@4.0.8)(lodash.foreach@4.5.0)(lodash.isequal@4.5.0)(lodash.throttle@4.1.1)(lodash.toarray@4.4.0)(nanoid@3.3.7)(slate@0.72.8)(snabbdom@3.6.2))(dom7@3.0.0)(slate@0.72.8)(snabbdom@3.6.2)': + dependencies: + '@wangeditor/core': 1.1.19(@uppy/core@2.3.4)(@uppy/xhr-upload@2.1.3(@uppy/core@2.3.4))(dom7@3.0.0)(is-hotkey@0.2.0)(lodash.camelcase@4.3.0)(lodash.clonedeep@4.5.0)(lodash.debounce@4.0.8)(lodash.foreach@4.5.0)(lodash.isequal@4.5.0)(lodash.throttle@4.1.1)(lodash.toarray@4.4.0)(nanoid@3.3.7)(slate@0.72.8)(snabbdom@3.6.2) + dom7: 3.0.0 + prismjs: 1.29.0 + slate: 0.72.8 + snabbdom: 3.6.2 + + '@wangeditor/core@1.1.19(@uppy/core@2.3.4)(@uppy/xhr-upload@2.1.3(@uppy/core@2.3.4))(dom7@3.0.0)(is-hotkey@0.2.0)(lodash.camelcase@4.3.0)(lodash.clonedeep@4.5.0)(lodash.debounce@4.0.8)(lodash.foreach@4.5.0)(lodash.isequal@4.5.0)(lodash.throttle@4.1.1)(lodash.toarray@4.4.0)(nanoid@3.3.7)(slate@0.72.8)(snabbdom@3.6.2)': + dependencies: + '@types/event-emitter': 0.3.5 + '@uppy/core': 2.3.4 + '@uppy/xhr-upload': 2.1.3(@uppy/core@2.3.4) + dom7: 3.0.0 + event-emitter: 0.3.5 + html-void-elements: 2.0.1 + i18next: 20.6.1 + is-hotkey: 0.2.0 + lodash.camelcase: 4.3.0 + lodash.clonedeep: 4.5.0 + lodash.debounce: 4.0.8 + lodash.foreach: 4.5.0 + lodash.isequal: 4.5.0 + lodash.throttle: 4.1.1 + lodash.toarray: 4.4.0 + nanoid: 3.3.7 + scroll-into-view-if-needed: 2.2.31 + slate: 0.72.8 + slate-history: 0.66.0(slate@0.72.8) + snabbdom: 3.6.2 + + '@wangeditor/editor-for-vue@5.1.12(@wangeditor/editor@5.1.23)(vue@3.4.38(typescript@5.5.4))': + dependencies: + '@wangeditor/editor': 5.1.23 + vue: 3.4.38(typescript@5.5.4) + + '@wangeditor/editor@5.1.23': + dependencies: + '@uppy/core': 2.3.4 + '@uppy/xhr-upload': 2.1.3(@uppy/core@2.3.4) + '@wangeditor/basic-modules': 1.1.7(@wangeditor/core@1.1.19(@uppy/core@2.3.4)(@uppy/xhr-upload@2.1.3(@uppy/core@2.3.4))(dom7@3.0.0)(is-hotkey@0.2.0)(lodash.camelcase@4.3.0)(lodash.clonedeep@4.5.0)(lodash.debounce@4.0.8)(lodash.foreach@4.5.0)(lodash.isequal@4.5.0)(lodash.throttle@4.1.1)(lodash.toarray@4.4.0)(nanoid@3.3.7)(slate@0.72.8)(snabbdom@3.6.2))(dom7@3.0.0)(lodash.throttle@4.1.1)(nanoid@3.3.7)(slate@0.72.8)(snabbdom@3.6.2) + '@wangeditor/code-highlight': 1.0.3(@wangeditor/core@1.1.19(@uppy/core@2.3.4)(@uppy/xhr-upload@2.1.3(@uppy/core@2.3.4))(dom7@3.0.0)(is-hotkey@0.2.0)(lodash.camelcase@4.3.0)(lodash.clonedeep@4.5.0)(lodash.debounce@4.0.8)(lodash.foreach@4.5.0)(lodash.isequal@4.5.0)(lodash.throttle@4.1.1)(lodash.toarray@4.4.0)(nanoid@3.3.7)(slate@0.72.8)(snabbdom@3.6.2))(dom7@3.0.0)(slate@0.72.8)(snabbdom@3.6.2) + '@wangeditor/core': 1.1.19(@uppy/core@2.3.4)(@uppy/xhr-upload@2.1.3(@uppy/core@2.3.4))(dom7@3.0.0)(is-hotkey@0.2.0)(lodash.camelcase@4.3.0)(lodash.clonedeep@4.5.0)(lodash.debounce@4.0.8)(lodash.foreach@4.5.0)(lodash.isequal@4.5.0)(lodash.throttle@4.1.1)(lodash.toarray@4.4.0)(nanoid@3.3.7)(slate@0.72.8)(snabbdom@3.6.2) + '@wangeditor/list-module': 1.0.5(@wangeditor/core@1.1.19(@uppy/core@2.3.4)(@uppy/xhr-upload@2.1.3(@uppy/core@2.3.4))(dom7@3.0.0)(is-hotkey@0.2.0)(lodash.camelcase@4.3.0)(lodash.clonedeep@4.5.0)(lodash.debounce@4.0.8)(lodash.foreach@4.5.0)(lodash.isequal@4.5.0)(lodash.throttle@4.1.1)(lodash.toarray@4.4.0)(nanoid@3.3.7)(slate@0.72.8)(snabbdom@3.6.2))(dom7@3.0.0)(slate@0.72.8)(snabbdom@3.6.2) + '@wangeditor/table-module': 1.1.4(@wangeditor/core@1.1.19(@uppy/core@2.3.4)(@uppy/xhr-upload@2.1.3(@uppy/core@2.3.4))(dom7@3.0.0)(is-hotkey@0.2.0)(lodash.camelcase@4.3.0)(lodash.clonedeep@4.5.0)(lodash.debounce@4.0.8)(lodash.foreach@4.5.0)(lodash.isequal@4.5.0)(lodash.throttle@4.1.1)(lodash.toarray@4.4.0)(nanoid@3.3.7)(slate@0.72.8)(snabbdom@3.6.2))(dom7@3.0.0)(lodash.isequal@4.5.0)(lodash.throttle@4.1.1)(nanoid@3.3.7)(slate@0.72.8)(snabbdom@3.6.2) + '@wangeditor/upload-image-module': 1.0.2(@uppy/core@2.3.4)(@uppy/xhr-upload@2.1.3(@uppy/core@2.3.4))(@wangeditor/basic-modules@1.1.7(@wangeditor/core@1.1.19(@uppy/core@2.3.4)(@uppy/xhr-upload@2.1.3(@uppy/core@2.3.4))(dom7@3.0.0)(is-hotkey@0.2.0)(lodash.camelcase@4.3.0)(lodash.clonedeep@4.5.0)(lodash.debounce@4.0.8)(lodash.foreach@4.5.0)(lodash.isequal@4.5.0)(lodash.throttle@4.1.1)(lodash.toarray@4.4.0)(nanoid@3.3.7)(slate@0.72.8)(snabbdom@3.6.2))(dom7@3.0.0)(lodash.throttle@4.1.1)(nanoid@3.3.7)(slate@0.72.8)(snabbdom@3.6.2))(@wangeditor/core@1.1.19(@uppy/core@2.3.4)(@uppy/xhr-upload@2.1.3(@uppy/core@2.3.4))(dom7@3.0.0)(is-hotkey@0.2.0)(lodash.camelcase@4.3.0)(lodash.clonedeep@4.5.0)(lodash.debounce@4.0.8)(lodash.foreach@4.5.0)(lodash.isequal@4.5.0)(lodash.throttle@4.1.1)(lodash.toarray@4.4.0)(nanoid@3.3.7)(slate@0.72.8)(snabbdom@3.6.2))(dom7@3.0.0)(lodash.foreach@4.5.0)(slate@0.72.8)(snabbdom@3.6.2) + '@wangeditor/video-module': 1.1.4(@uppy/core@2.3.4)(@uppy/xhr-upload@2.1.3(@uppy/core@2.3.4))(@wangeditor/core@1.1.19(@uppy/core@2.3.4)(@uppy/xhr-upload@2.1.3(@uppy/core@2.3.4))(dom7@3.0.0)(is-hotkey@0.2.0)(lodash.camelcase@4.3.0)(lodash.clonedeep@4.5.0)(lodash.debounce@4.0.8)(lodash.foreach@4.5.0)(lodash.isequal@4.5.0)(lodash.throttle@4.1.1)(lodash.toarray@4.4.0)(nanoid@3.3.7)(slate@0.72.8)(snabbdom@3.6.2))(dom7@3.0.0)(nanoid@3.3.7)(slate@0.72.8)(snabbdom@3.6.2) + dom7: 3.0.0 + is-hotkey: 0.2.0 + lodash.camelcase: 4.3.0 + lodash.clonedeep: 4.5.0 + lodash.debounce: 4.0.8 + lodash.foreach: 4.5.0 + lodash.isequal: 4.5.0 + lodash.throttle: 4.1.1 + lodash.toarray: 4.4.0 + nanoid: 3.3.7 + slate: 0.72.8 + snabbdom: 3.6.2 + + '@wangeditor/list-module@1.0.5(@wangeditor/core@1.1.19(@uppy/core@2.3.4)(@uppy/xhr-upload@2.1.3(@uppy/core@2.3.4))(dom7@3.0.0)(is-hotkey@0.2.0)(lodash.camelcase@4.3.0)(lodash.clonedeep@4.5.0)(lodash.debounce@4.0.8)(lodash.foreach@4.5.0)(lodash.isequal@4.5.0)(lodash.throttle@4.1.1)(lodash.toarray@4.4.0)(nanoid@3.3.7)(slate@0.72.8)(snabbdom@3.6.2))(dom7@3.0.0)(slate@0.72.8)(snabbdom@3.6.2)': + dependencies: + '@wangeditor/core': 1.1.19(@uppy/core@2.3.4)(@uppy/xhr-upload@2.1.3(@uppy/core@2.3.4))(dom7@3.0.0)(is-hotkey@0.2.0)(lodash.camelcase@4.3.0)(lodash.clonedeep@4.5.0)(lodash.debounce@4.0.8)(lodash.foreach@4.5.0)(lodash.isequal@4.5.0)(lodash.throttle@4.1.1)(lodash.toarray@4.4.0)(nanoid@3.3.7)(slate@0.72.8)(snabbdom@3.6.2) + dom7: 3.0.0 + slate: 0.72.8 + snabbdom: 3.6.2 + + '@wangeditor/table-module@1.1.4(@wangeditor/core@1.1.19(@uppy/core@2.3.4)(@uppy/xhr-upload@2.1.3(@uppy/core@2.3.4))(dom7@3.0.0)(is-hotkey@0.2.0)(lodash.camelcase@4.3.0)(lodash.clonedeep@4.5.0)(lodash.debounce@4.0.8)(lodash.foreach@4.5.0)(lodash.isequal@4.5.0)(lodash.throttle@4.1.1)(lodash.toarray@4.4.0)(nanoid@3.3.7)(slate@0.72.8)(snabbdom@3.6.2))(dom7@3.0.0)(lodash.isequal@4.5.0)(lodash.throttle@4.1.1)(nanoid@3.3.7)(slate@0.72.8)(snabbdom@3.6.2)': + dependencies: + '@wangeditor/core': 1.1.19(@uppy/core@2.3.4)(@uppy/xhr-upload@2.1.3(@uppy/core@2.3.4))(dom7@3.0.0)(is-hotkey@0.2.0)(lodash.camelcase@4.3.0)(lodash.clonedeep@4.5.0)(lodash.debounce@4.0.8)(lodash.foreach@4.5.0)(lodash.isequal@4.5.0)(lodash.throttle@4.1.1)(lodash.toarray@4.4.0)(nanoid@3.3.7)(slate@0.72.8)(snabbdom@3.6.2) + dom7: 3.0.0 + lodash.isequal: 4.5.0 + lodash.throttle: 4.1.1 + nanoid: 3.3.7 + slate: 0.72.8 + snabbdom: 3.6.2 + + '@wangeditor/upload-image-module@1.0.2(@uppy/core@2.3.4)(@uppy/xhr-upload@2.1.3(@uppy/core@2.3.4))(@wangeditor/basic-modules@1.1.7(@wangeditor/core@1.1.19(@uppy/core@2.3.4)(@uppy/xhr-upload@2.1.3(@uppy/core@2.3.4))(dom7@3.0.0)(is-hotkey@0.2.0)(lodash.camelcase@4.3.0)(lodash.clonedeep@4.5.0)(lodash.debounce@4.0.8)(lodash.foreach@4.5.0)(lodash.isequal@4.5.0)(lodash.throttle@4.1.1)(lodash.toarray@4.4.0)(nanoid@3.3.7)(slate@0.72.8)(snabbdom@3.6.2))(dom7@3.0.0)(lodash.throttle@4.1.1)(nanoid@3.3.7)(slate@0.72.8)(snabbdom@3.6.2))(@wangeditor/core@1.1.19(@uppy/core@2.3.4)(@uppy/xhr-upload@2.1.3(@uppy/core@2.3.4))(dom7@3.0.0)(is-hotkey@0.2.0)(lodash.camelcase@4.3.0)(lodash.clonedeep@4.5.0)(lodash.debounce@4.0.8)(lodash.foreach@4.5.0)(lodash.isequal@4.5.0)(lodash.throttle@4.1.1)(lodash.toarray@4.4.0)(nanoid@3.3.7)(slate@0.72.8)(snabbdom@3.6.2))(dom7@3.0.0)(lodash.foreach@4.5.0)(slate@0.72.8)(snabbdom@3.6.2)': + dependencies: + '@uppy/core': 2.3.4 + '@uppy/xhr-upload': 2.1.3(@uppy/core@2.3.4) + '@wangeditor/basic-modules': 1.1.7(@wangeditor/core@1.1.19(@uppy/core@2.3.4)(@uppy/xhr-upload@2.1.3(@uppy/core@2.3.4))(dom7@3.0.0)(is-hotkey@0.2.0)(lodash.camelcase@4.3.0)(lodash.clonedeep@4.5.0)(lodash.debounce@4.0.8)(lodash.foreach@4.5.0)(lodash.isequal@4.5.0)(lodash.throttle@4.1.1)(lodash.toarray@4.4.0)(nanoid@3.3.7)(slate@0.72.8)(snabbdom@3.6.2))(dom7@3.0.0)(lodash.throttle@4.1.1)(nanoid@3.3.7)(slate@0.72.8)(snabbdom@3.6.2) + '@wangeditor/core': 1.1.19(@uppy/core@2.3.4)(@uppy/xhr-upload@2.1.3(@uppy/core@2.3.4))(dom7@3.0.0)(is-hotkey@0.2.0)(lodash.camelcase@4.3.0)(lodash.clonedeep@4.5.0)(lodash.debounce@4.0.8)(lodash.foreach@4.5.0)(lodash.isequal@4.5.0)(lodash.throttle@4.1.1)(lodash.toarray@4.4.0)(nanoid@3.3.7)(slate@0.72.8)(snabbdom@3.6.2) + dom7: 3.0.0 + lodash.foreach: 4.5.0 + slate: 0.72.8 + snabbdom: 3.6.2 + + '@wangeditor/video-module@1.1.4(@uppy/core@2.3.4)(@uppy/xhr-upload@2.1.3(@uppy/core@2.3.4))(@wangeditor/core@1.1.19(@uppy/core@2.3.4)(@uppy/xhr-upload@2.1.3(@uppy/core@2.3.4))(dom7@3.0.0)(is-hotkey@0.2.0)(lodash.camelcase@4.3.0)(lodash.clonedeep@4.5.0)(lodash.debounce@4.0.8)(lodash.foreach@4.5.0)(lodash.isequal@4.5.0)(lodash.throttle@4.1.1)(lodash.toarray@4.4.0)(nanoid@3.3.7)(slate@0.72.8)(snabbdom@3.6.2))(dom7@3.0.0)(nanoid@3.3.7)(slate@0.72.8)(snabbdom@3.6.2)': + dependencies: + '@uppy/core': 2.3.4 + '@uppy/xhr-upload': 2.1.3(@uppy/core@2.3.4) + '@wangeditor/core': 1.1.19(@uppy/core@2.3.4)(@uppy/xhr-upload@2.1.3(@uppy/core@2.3.4))(dom7@3.0.0)(is-hotkey@0.2.0)(lodash.camelcase@4.3.0)(lodash.clonedeep@4.5.0)(lodash.debounce@4.0.8)(lodash.foreach@4.5.0)(lodash.isequal@4.5.0)(lodash.throttle@4.1.1)(lodash.toarray@4.4.0)(nanoid@3.3.7)(slate@0.72.8)(snabbdom@3.6.2) + dom7: 3.0.0 + nanoid: 3.3.7 + slate: 0.72.8 + snabbdom: 3.6.2 + '@zougt/some-loader-utils@1.4.3': dependencies: cac: 6.7.14 @@ -7167,6 +7520,8 @@ snapshots: compatx@0.1.8: optional: true + compute-scroll-into-view@1.0.20: {} + computeds@0.0.1: {} concat-map@0.0.1: {} @@ -7222,7 +7577,7 @@ snapshots: core-js@3.38.1: {} - cosmiconfig-typescript-loader@4.4.0(@types/node@20.5.1)(cosmiconfig@8.3.6(typescript@5.5.4))(ts-node@10.9.2(@types/node@20.16.2)(typescript@5.5.4))(typescript@5.5.4): + cosmiconfig-typescript-loader@4.4.0(@types/node@20.5.1)(cosmiconfig@8.3.6(typescript@5.5.4))(ts-node@10.9.2(@types/node@20.5.1)(typescript@5.5.4))(typescript@5.5.4): dependencies: '@types/node': 20.5.1 cosmiconfig: 8.3.6(typescript@5.5.4) @@ -7573,6 +7928,10 @@ snapshots: dom-zindex@1.0.5: {} + dom7@3.0.0: + dependencies: + ssr-window: 3.0.0 + domelementtype@2.3.0: {} domhandler@4.3.1: @@ -8255,6 +8614,8 @@ snapshots: html-tags@3.3.1: {} + html-void-elements@2.0.1: {} + htmlparser2@8.0.2: dependencies: domelementtype: 2.3.0 @@ -8276,6 +8637,10 @@ snapshots: husky@8.0.3: {} + i18next@20.6.1: + dependencies: + '@babel/runtime': 7.26.0 + iconv-lite@0.4.24: dependencies: safer-buffer: 2.1.2 @@ -8286,6 +8651,8 @@ snapshots: immediate@3.0.6: {} + immer@9.0.21: {} + immutable@4.3.7: {} import-fresh@3.3.0: @@ -8360,6 +8727,8 @@ snapshots: dependencies: is-extglob: 2.1.1 + is-hotkey@0.2.0: {} + is-interactive@1.0.0: {} is-number@7.0.0: {} @@ -8390,6 +8759,8 @@ snapshots: is-unicode-supported@0.1.0: {} + is-url@1.2.4: {} + is-utf8@0.2.1: {} is-windows@1.0.2: {} @@ -8546,6 +8917,14 @@ snapshots: lodash.camelcase@4.3.0: {} + lodash.clonedeep@4.5.0: {} + + lodash.debounce@4.0.8: {} + + lodash.foreach@4.5.0: {} + + lodash.isequal@4.5.0: {} + lodash.isfunction@3.0.9: {} lodash.isplainobject@4.0.6: {} @@ -8564,6 +8943,10 @@ snapshots: lodash.startcase@4.4.0: {} + lodash.throttle@4.1.1: {} + + lodash.toarray@4.4.0: {} + lodash.truncate@4.4.2: {} lodash.uniq@4.5.0: {} @@ -8698,6 +9081,10 @@ snapshots: mime-db@1.52.0: {} + mime-match@1.0.2: + dependencies: + wildcard: 1.1.2 + mime-types@2.1.35: dependencies: mime-db: 1.52.0 @@ -8810,6 +9197,8 @@ snapshots: object-assign: 4.1.1 thenify-all: 1.6.0 + namespace-emitter@2.0.1: {} + nan@2.20.0: optional: true @@ -9451,6 +9840,8 @@ snapshots: picocolors: 1.0.1 source-map-js: 1.2.0 + preact@10.24.3: {} + prelude-ls@1.2.1: {} prettier-linter-helpers@1.0.0: @@ -9461,6 +9852,8 @@ snapshots: prettier@3.3.3: {} + prismjs@1.29.0: {} + process-nextick-args@2.0.1: {} process@0.11.10: {} @@ -9528,6 +9921,8 @@ snapshots: indent-string: 4.0.0 strip-indent: 3.0.0 + regenerator-runtime@0.14.1: {} + reinterval@1.1.0: {} require-directory@2.1.1: {} @@ -9639,6 +10034,10 @@ snapshots: immutable: 4.3.7 source-map-js: 1.2.0 + scroll-into-view-if-needed@2.2.31: + dependencies: + compute-scroll-into-view: 1.0.20 + scule@1.3.0: optional: true @@ -9699,6 +10098,17 @@ snapshots: slash@5.1.0: optional: true + slate-history@0.66.0(slate@0.72.8): + dependencies: + is-plain-object: 5.0.0 + slate: 0.72.8 + + slate@0.72.8: + dependencies: + immer: 9.0.21 + is-plain-object: 5.0.0 + tiny-warning: 1.0.3 + slice-ansi@4.0.0: dependencies: ansi-styles: 4.3.0 @@ -9715,6 +10125,8 @@ snapshots: ansi-styles: 6.2.1 is-fullwidth-code-point: 5.0.0 + snabbdom@3.6.2: {} + sortablejs@1.14.0: {} sortablejs@1.15.2: {} @@ -9756,6 +10168,8 @@ snapshots: dependencies: frac: 1.1.2 + ssr-window@3.0.0: {} + stable@0.1.8: {} std-env@3.7.0: @@ -10071,6 +10485,8 @@ snapshots: through@2.3.8: {} + tiny-warning@1.0.3: {} + tinycolor2@1.6.0: {} tinygradient@1.1.5: @@ -10451,6 +10867,8 @@ snapshots: dependencies: string-width: 5.1.2 + wildcard@1.1.2: {} + wmf@1.0.2: {} word-wrap@1.2.5: {} diff --git a/src/components/Markdown/MarkdownPreview.vue b/src/components/Editor/MarkdownPreview.vue similarity index 100% rename from src/components/Markdown/MarkdownPreview.vue rename to src/components/Editor/MarkdownPreview.vue diff --git a/src/components/SplitPane/iconfont/iconfont.css b/src/components/SplitPane/iconfont/iconfont.css new file mode 100644 index 0000000..459d17a --- /dev/null +++ b/src/components/SplitPane/iconfont/iconfont.css @@ -0,0 +1,23 @@ +@font-face { + font-family: 'iconfont'; /* Project id 3268330 */ + src: + url('iconfont.woff2?t=1647939915215') format('woff2'), + url('iconfont.woff?t=1647939915215') format('woff'), + url('iconfont.ttf?t=1647939915215') format('truetype'); +} + +.iconfont { + font-family: 'iconfont' !important; + font-size: 16px; + font-style: normal; + -webkit-font-smoothing: antialiased; + -moz-osx-font-smoothing: grayscale; +} + +.icon-tuozhuai1:before { + content: '\e647'; +} + +.icon-tuozhuai1-copy:before { + content: '\eda3'; +} diff --git a/src/components/SplitPane/iconfont/iconfont.js b/src/components/SplitPane/iconfont/iconfont.js new file mode 100644 index 0000000..4824a75 --- /dev/null +++ b/src/components/SplitPane/iconfont/iconfont.js @@ -0,0 +1,64 @@ +!(function (e) { + var t, + n, + c, + o, + s, + i = + '', + d = (d = document.getElementsByTagName('script'))[d.length - 1].getAttribute('data-injectcss'), + m = function (e, t) { + t.parentNode.insertBefore(e, t); + }; + if (d && !e.__iconfont__svg__cssinject__) { + e.__iconfont__svg__cssinject__ = !0; + try { + document.write(''); + } catch (e) { + console && console.log(e); + } + } + + function l() { + s || ((s = !0), c()); + } + + function a() { + try { + o.documentElement.doScroll('left'); + } catch (e) { + return void setTimeout(a, 50); + } + l(); + } + + (t = function () { + var e, + t = document.createElement('div'); + (t.innerHTML = i), + (i = null), + (t = t.getElementsByTagName('svg')[0]) && + (t.setAttribute('aria-hidden', 'true'), + (t.style.position = 'absolute'), + (t.style.width = 0), + (t.style.height = 0), + (t.style.overflow = 'hidden'), + (t = t), + (e = document.body).firstChild ? m(t, e.firstChild) : e.appendChild(t)); + }), + document.addEventListener + ? ~['complete', 'loaded', 'interactive'].indexOf(document.readyState) + ? setTimeout(t, 0) + : ((n = function () { + document.removeEventListener('DOMContentLoaded', n, !1), t(); + }), + document.addEventListener('DOMContentLoaded', n, !1)) + : document.attachEvent && + ((c = t), + (o = e.document), + (s = !1), + a(), + (o.onreadystatechange = function () { + 'complete' == o.readyState && ((o.onreadystatechange = null), l()); + })); +})(window); diff --git a/src/components/SplitPane/iconfont/iconfont.json b/src/components/SplitPane/iconfont/iconfont.json new file mode 100644 index 0000000..7dcd08e --- /dev/null +++ b/src/components/SplitPane/iconfont/iconfont.json @@ -0,0 +1,23 @@ +{ + "id": "3268330", + "name": "split", + "font_family": "iconfont", + "css_prefix_text": "icon-", + "description": "", + "glyphs": [ + { + "icon_id": "22378774", + "name": "拖拽", + "font_class": "tuozhuai1", + "unicode": "e647", + "unicode_decimal": 58951 + }, + { + "icon_id": "23570521", + "name": "拖拽", + "font_class": "tuozhuai1-copy", + "unicode": "eda3", + "unicode_decimal": 60835 + } + ] +} diff --git a/src/components/SplitPane/iconfont/iconfont.ttf b/src/components/SplitPane/iconfont/iconfont.ttf new file mode 100644 index 0000000000000000000000000000000000000000..04cbfdac99ecc2791d610236a37da84a91362d66 GIT binary patch literal 2132 zcmd^A&udi7m1BlgESb^*&og9&SrKh>a+bf5_x zz4_5oN6cG0t^i^`*|8I&+1%hnp+WsN^$T{@s$aEVOi=&AdA;P$6mRx^dIsn>0L?5r z*5u|lPw&z8E$2X)MBBW6jrcL=_Hs42ypn*vAGxe_J=?+!(MA6z^%Yg?a$Rgdk^38| zn>DNIbj=Pv1QPcdzf|`cLE-Ljfu{7qFqpgEY&9`qPzAWkY8DSYWXPV&_Vk}$J@^?N zk?s8X!^|6qWNXfVK16i|G|6(vNIK3U6>5@Ag}4>!(S8cOI0S8YAx5Yw^FhgKk^jZle>b9KvJ=W0dW@z)_PNWPVP=5#RudBJvAhBvcDOH;;~80y~{7m zhW&v48cmwX9DWQ<9vDwTp2G@(JrOO=Df`o8rRN?>R!`mtZIYA%nmnb&F2s_SvVy1v z_DM+ezmMpe?^JDISKj5LDLcC`8_n-`O+EwcbZbs~q7U&#tl>S{#-8uv?aHHoGr*Sq zf!z9a$*t)f{~BmR>HakTTZp7ka=Chs43_SR#H(d$@@eDH=d?fcqdV$G|G+;7&1I(i zbE!gg^>4cw`?DEqF&{pcgy`mso^JUD=~h@n8#XDdli#YaLA*=h1mE^Kg_GnDDxAV@ z98~{z6*h=pDxAQ2yjM6${;R?%jEhwYcOWh7 zqrPJW&ZK#9#;n+0t?1Q)Se|rB)2`*mYAnYczftjOW?!Z^rt(hB@#8R!OQl>86wRXV zRm~B`b6nRm>%KST*g>Wo1oZ>itUO2Z8QZJkD111u5OAG@iHn%wT7eA@HGY)j8vLT4 zq;(0?aOvs)vb)rKoYp=Xw3E?H^dZAf$Wp63t!km=(rg;I#M5%jBVa}*r_V@Lq7jv! z!%SRalRu!`n_?WB))|yTuR0DO%fGmu*gg~1S(P7|Xhh#Vr7RM<(1b1wvFfNC_S#;32KWa2i7Pq) literal 0 HcmV?d00001 diff --git a/src/components/SplitPane/iconfont/iconfont.woff b/src/components/SplitPane/iconfont/iconfont.woff new file mode 100644 index 0000000000000000000000000000000000000000..9bd75a2f7268a3190408b70127a33b3d3758a314 GIT binary patch literal 1080 zcmXT-cXMN4WB>vd3kGfw%@G3OgV?CRJvh{ffq{_&C~6JFAqw59RsO;HMnEwaARmMi zY+?e6lXDXbfMOj$egu$iYfioxlb%zV24p_~ie)h{Fe!8zygQwdnwSD)`vArCf!Iv` z?(xYPKtZ5b4UjJb#47Cfm|HS(ODce3Gk|;^5C#!B`N<%4OMpy}dpH<67zJ_@D}eSg ztpW07fmnf2oFOeQF*g+`b_Qs-1CUM^SZuSQAiuZ-=wFaAIza3aFu^6DVoq{GN@@iH*$1m``nN$mCNsVAnmp|DcJ7ZobLYeU z#>U2ZPj8ftP2=cdj$W{P z`?*cpjKUL+s2SbpyjZHS^@MQo6U(};J0Ggohi8A-nX+qY!F7#4QAz9GKij+3F@IYe z^B=}fDuP@?No_)*{RQeiVQGkdc_vq-a1Ghef2vuv}qGlR1VbMvCknGy!h9-)M`$ysGGf>=Z+4KLV^Chk0wq3>Kj@cZ!(^EnvlTM z$;9wu4W}MVecq4z2LuiuVqkKZG?7u%fSJLalPQM<7%?ymWHNx_7aB(iX&p%qk{B4( z6rM3{{@?tQhe61ju@0!DVovKs+q^>#0rwh1S1f(|CI~;_c$rb$F zd&hyr1yg@b-r!#+wr*kPyn?yERu?eqR|w~AN|7*VA8=;EAI2M#^TR>mo7BLd$M&XS n=ETm4Gbgq-ZeC)tUu&_6;pGYZ=Pvo4(_fL2z`)S=jx!$sb%>Fk literal 0 HcmV?d00001 diff --git a/src/components/SplitPane/iconfont/iconfont.woff2 b/src/components/SplitPane/iconfont/iconfont.woff2 new file mode 100644 index 0000000000000000000000000000000000000000..ce75fa6d11eaa3d32d5660258162aad2ef11edb9 GIT binary patch literal 732 zcmV<20weu*Pew8T0RR9100P_q3jhEB00>k700NEx0RR9100000000000000000000 z0000SR0d!Gg9ZwOAcIc3X9q+ZIR_Edi(#^_uyGBjk(oVX+u&ki zmWy9GOW+76ULt+TYck6nHJD=yP z-TSv25a@bRf^OtQZnrg6!DQnE35AV?!p3ZiCjY$k_ST;)ccE}zfI>iFv0HoFZmjFmqhrj$Cn=?c2_uptY_|E1xj8wJ>uB*O% zPvD{*m$uPAi-fl{;osHMH9yItETb|++%0=#}> zY`JibUPGbJ6jqs$s^mLK8RIz4C$nPyLwgCYE#95yVg=fUdrwn8gatr)&Q6o{>-`V+c_6?h+*>L^zt8m;pp5O#y1Tk=~^b zp#`NJ9pwm?Lr3KznVn(C*AGe%OHD)rQr_B>&>U1VSzedFT%9-A#=0bBq|%yq#XnJH O;(0GFA6xd{0002I6HXBT literal 0 HcmV?d00001 diff --git a/src/components/SplitPane/index.css b/src/components/SplitPane/index.css new file mode 100644 index 0000000..9659ded --- /dev/null +++ b/src/components/SplitPane/index.css @@ -0,0 +1,49 @@ +.clearfix::after { + visibility: hidden; + display: block; + font-size: 0; + content: ' '; + clear: both; + height: 0; +} + +.vue-splitter-container { + height: 100%; + position: relative; +} + +.vue-splitter-container-mask { + z-index: 9999; + width: 100%; + height: 100%; + position: absolute; + top: 0; + left: 0; +} + +.splitter-pane.vertical.splitter-paneL { + position: absolute; + left: 0; + height: 100%; + padding-right: 3px; +} + +.splitter-pane.vertical.splitter-paneR { + position: absolute; + right: 0; + height: 100%; + padding-left: 3px; +} + +.splitter-pane.horizontal.splitter-paneL { + position: absolute; + top: 0; + width: 100%; +} + +.splitter-pane.horizontal.splitter-paneR { + position: absolute; + bottom: 0; + width: 100%; + padding-top: 3px; +} diff --git a/src/components/SplitPane/index.tsx b/src/components/SplitPane/index.tsx new file mode 100644 index 0000000..873f7c6 --- /dev/null +++ b/src/components/SplitPane/index.tsx @@ -0,0 +1,102 @@ +import './index.css'; +import resizer from './resizer'; +import { computed, defineComponent, type PropType, ref, unref } from 'vue'; + +export interface ContextProps { + minPercent: number; + defaultPercent: number; + split: string; +} + +/** 切割面板组件 */ +export default defineComponent({ + name: 'SplitPane', + components: { resizer }, + props: { + splitSet: { + type: Object as PropType, + require: true, + }, + }, + emits: ['resize'], + setup(props, ctx) { + const active = ref(false); + const hasMoved = ref(false); + const percent = ref(props.splitSet?.defaultPercent); + const type = props.splitSet?.split === 'vertical' ? 'width' : 'height'; + const resizeType = props.splitSet?.split === 'vertical' ? 'left' : 'top'; + + const leftClass = ref(['splitter-pane splitter-paneL', props.splitSet?.split]); + + const rightClass = ref(['splitter-pane splitter-paneR', props.splitSet?.split]); + + const cursor = computed(() => { + return active.value ? (props.splitSet?.split === 'vertical' ? { cursor: 'col-resize' } : { cursor: 'row-resize' }) : { cursor: 'default' }; + }); + + const onClick = (): void => { + if (!hasMoved.value) { + percent.value = 50; + ctx.emit('resize', percent.value); + } + }; + + const onMouseDown = (): void => { + active.value = true; + hasMoved.value = false; + }; + + const onMouseUp = (): void => { + active.value = false; + }; + + const onMouseMove = (e: any): void => { + if (e.buttons === 0 || e.which === 0) { + active.value = false; + } + + if (active.value) { + let offset = 0; + let target = e.currentTarget; + if (props.splitSet?.split === 'vertical') { + while (target) { + offset += target.offsetLeft; + target = target.offsetParent; + } + } else { + while (target) { + offset += target.offsetTop; + target = target.offsetParent; + } + } + + const currentPage = props.splitSet?.split === 'vertical' ? e.pageX : e.pageY; + const targetOffset = props.splitSet?.split === 'vertical' ? e.currentTarget.offsetWidth : e.currentTarget.offsetHeight; + const percents = Math.floor(((currentPage - offset) / targetOffset) * 10000) / 100; + + if (percents > props.splitSet?.minPercent && percents < 100 - props.splitSet?.minPercent) { + percent.value = percents; + } + + ctx.emit('resize', percent.value); + + hasMoved.value = true; + } + }; + + return () => ( + <> +
onMouseUp()} onMousemove={() => onMouseMove(event)}> +
+ {ctx.slots.paneL()} +
+ onMouseDown()} onClick={() => onClick()}> +
+ {ctx.slots.paneR()} +
+
+
+ + ); + }, +}); diff --git a/src/components/SplitPane/resizer.css b/src/components/SplitPane/resizer.css new file mode 100644 index 0000000..cf4c044 --- /dev/null +++ b/src/components/SplitPane/resizer.css @@ -0,0 +1,47 @@ +@import './iconfont/iconfont.css'; + +.splitter-pane-resizer { + box-sizing: border-box; + background: #000; + position: absolute; + opacity: 0.2; + z-index: 1; + background-clip: padding; + background-clip: padding-box; +} + +.splitter-pane-resizer.horizontal { + height: 6px; + width: 100%; + background: #e5e6eb; + cursor: row-resize; +} + +.splitter-pane-resizer.horizontal:before { + content: '\eda3'; + font-family: 'iconfont'; + font-size: 13px; + color: #000; + position: absolute; + top: 50%; + left: 50%; + transform: translate(-50%, -50%); +} + +.splitter-pane-resizer.vertical { + width: 6px; + height: 100%; + background: #e5e6eb; + cursor: col-resize; +} + +.splitter-pane-resizer.vertical:before { + content: '\e647'; + font-family: 'iconfont'; + font-size: 13px; + color: #000; + position: absolute; + top: 50%; + left: 50%; + transform: translate(-50%, -50%); +} diff --git a/src/components/SplitPane/resizer.tsx b/src/components/SplitPane/resizer.tsx new file mode 100644 index 0000000..a2e8d0b --- /dev/null +++ b/src/components/SplitPane/resizer.tsx @@ -0,0 +1,23 @@ +import './resizer.css'; +import { computed, defineComponent, unref } from 'vue'; + +export default defineComponent({ + name: 'Resizer', + props: { + split: { + type: String, + required: true, + }, + className: { + type: String, + default: '', + }, + }, + setup(props) { + const classes = computed(() => { + return ['splitter-pane-resizer', props.split, props.className].join(' '); + }); + + return () =>
; + }, +}); diff --git a/src/layout/components/lay-notice/components/NoticeItem.vue b/src/layout/components/lay-notice/components/NoticeItem.vue index 823d9cd..392ef2c 100644 --- a/src/layout/components/lay-notice/components/NoticeItem.vue +++ b/src/layout/components/lay-notice/components/NoticeItem.vue @@ -1,14 +1,14 @@ - - diff --git a/src/layout/components/lay-notice/components/NoticeList.vue b/src/layout/components/lay-notice/components/NoticeList.vue index 3bc0090..346e805 100644 --- a/src/layout/components/lay-notice/components/NoticeList.vue +++ b/src/layout/components/lay-notice/components/NoticeList.vue @@ -1,23 +1,23 @@ diff --git a/src/layout/components/lay-notice/data.ts b/src/layout/components/lay-notice/data.ts index 5d05243..5195308 100644 --- a/src/layout/components/lay-notice/data.ts +++ b/src/layout/components/lay-notice/data.ts @@ -17,6 +17,13 @@ export interface TabItem { emptyText: string; } +// { +// avatar: 'https://xiaoxian521.github.io/hyperlink/svg/smile1.svg', +// title: '小铭 评论了你', +// description: '诚在于心,信在于行,诚信在于心行合一。', +// datetime: '今天', +// type: '2', +// }, export const noticesData: TabItem[] = [ { key: '1', @@ -27,71 +34,13 @@ export const noticesData: TabItem[] = [ { key: '2', name: $t('status.pureMessage'), - list: [ - { - avatar: 'https://xiaoxian521.github.io/hyperlink/svg/smile1.svg', - title: '小铭 评论了你', - description: '诚在于心,信在于行,诚信在于心行合一。', - datetime: '今天', - type: '2', - }, - { - avatar: 'https://xiaoxian521.github.io/hyperlink/svg/smile2.svg', - title: '李白 回复了你', - description: '长风破浪会有时,直挂云帆济沧海。', - datetime: '昨天', - type: '2', - }, - { - avatar: 'https://xiaoxian521.github.io/hyperlink/svg/smile5.svg', - title: '标题', - description: '请将鼠标移动到此处,以便测试超长的消息在此处将如何处理。本例中设置的描述最大行数为2,超过2行的描述内容将被省略并且可以通过tooltip查看完整内容', - datetime: '时间', - type: '2', - }, - ], + list: [], emptyText: $t('status.pureNoMessage'), }, { key: '3', name: $t('status.pureTodo'), - list: [ - { - avatar: '', - title: '第三方紧急代码变更', - description: '小林提交于 2024-05-10,需在 2024-05-11 前完成代码变更任务', - datetime: '', - extra: '马上到期', - status: 'danger', - type: '3', - }, - { - avatar: '', - title: '版本发布', - description: '指派小铭于 2024-06-18 前完成更新并发布', - datetime: '', - extra: '已耗时 8 天', - status: 'warning', - type: '3', - }, - { - avatar: '', - title: '新功能开发', - description: '开发多租户管理', - datetime: '', - extra: '进行中', - type: '3', - }, - { - avatar: '', - title: '任务名称', - description: '任务需要在 2030-10-30 10:00 前启动', - datetime: '', - extra: '未开始', - status: 'info', - type: '3', - }, - ], + list: [], emptyText: $t('status.pureNoTodo'), }, ]; diff --git a/src/layout/components/lay-notice/index.vue b/src/layout/components/lay-notice/index.vue index 45bf757..bc48a79 100644 --- a/src/layout/components/lay-notice/index.vue +++ b/src/layout/components/lay-notice/index.vue @@ -1,9 +1,9 @@ diff --git a/src/views/systemMaintenance/message/message/index.vue b/src/views/messageManagement/message/index.vue similarity index 93% rename from src/views/systemMaintenance/message/message/index.vue rename to src/views/messageManagement/message/index.vue index eae8080..10220ed 100644 --- a/src/views/systemMaintenance/message/message/index.vue +++ b/src/views/messageManagement/message/index.vue @@ -1,10 +1,9 @@ diff --git a/src/views/systemMaintenance/message/message/utils/columns.ts b/src/views/messageManagement/message/utils/columns.ts similarity index 94% rename from src/views/systemMaintenance/message/message/utils/columns.ts rename to src/views/messageManagement/message/utils/columns.ts index 7512f03..3ff46d7 100644 --- a/src/views/systemMaintenance/message/message/utils/columns.ts +++ b/src/views/messageManagement/message/utils/columns.ts @@ -36,7 +36,7 @@ export const columns: TableColumnList = [ { label: $t('table.createTime'), prop: 'createTime', sortable: true, width: 160 }, { label: $t('table.createUser'), prop: 'createUser', slot: 'createUser', width: 130 }, { label: $t('table.updateUser'), prop: 'updateUser', slot: 'updateUser', width: 130 }, - { label: $t('table.operation'), fixed: 'right', width: 210, slot: 'operation' }, + { label: $t('table.operation'), fixed: 'right', width: 150, slot: 'operation' }, ]; // 添加规则 @@ -56,5 +56,5 @@ export const rules = reactive({ /** 编辑器类型 */ export const editorTypeList = [ { label: $t('markdown'), value: 'markdown' }, - { label: $t('richText'), value: 'richText' }, + { label: $t('richText'), value: 'rich' }, ]; diff --git a/src/views/systemMaintenance/message/message/utils/hooks.ts b/src/views/messageManagement/message/utils/hooks.ts similarity index 75% rename from src/views/systemMaintenance/message/message/utils/hooks.ts rename to src/views/messageManagement/message/utils/hooks.ts index 0e6c123..68ee924 100644 --- a/src/views/systemMaintenance/message/message/utils/hooks.ts +++ b/src/views/messageManagement/message/utils/hooks.ts @@ -1,9 +1,9 @@ import { addDialog } from '@/components/BaseDialog/index'; -import MessageDialog from '@/views/systemMaintenance/message/message/message-dialog.vue'; +import MessageDialog from '@/views/messageManagement/message/message-dialog.vue'; import { useMessageStore } from '@/store/message/message'; import { h, ref } from 'vue'; import { message, messageBox } from '@/utils/message'; -import type { FormItemProps } from '@/views/systemMaintenance/message/message/utils/types'; +import type { FormItemProps } from '@/views/messageManagement/message/utils/types'; import { $t } from '@/plugins/i18n'; import DeleteBatchDialog from '@/components/Table/DeleteBatchDialog.vue'; import { useAdminUserStore } from '@/store/system/adminUser'; @@ -25,47 +25,12 @@ export async function onSearch() { messageStore.loading = false; } -/** 添加系统消息 */ -export function onAdd() { - addDialog({ - title: `${$t('addNew')}${$t('message')}`, - width: '30%', - props: { - formInline: { - title: undefined, - receivedUserIds: undefined, - sendUserId: undefined, - sendNickName: undefined, - messageType: undefined, - content: undefined, - editorType: undefined, - status: undefined, - }, - }, - draggable: true, - fullscreenIcon: true, - closeOnClickModal: false, - contentRenderer: () => h(MessageDialog, { ref: formRef }), - beforeSure: (done, { options }) => { - const form = options.props.formInline as FormItemProps; - formRef.value.formRef.validate(async (valid: any) => { - if (!valid) return; - - const result = await messageStore.addMessage(form); - if (!result) return; - done(); - await onSearch(); - }); - }, - }); -} - /** * * 更新系统消息 * @param row */ export async function onUpdate(row: any) { - await onSearchUserinfo(); + await onSearchUserinfo(''); addDialog({ title: `${$t('modify')}${$t('message')}`, diff --git a/src/views/systemMaintenance/message/message/utils/types.ts b/src/views/messageManagement/message/utils/types.ts similarity index 100% rename from src/views/systemMaintenance/message/message/utils/types.ts rename to src/views/messageManagement/message/utils/types.ts diff --git a/src/views/messageManagement/messageEditing/index.vue b/src/views/messageManagement/messageEditing/index.vue new file mode 100644 index 0000000..cad33d1 --- /dev/null +++ b/src/views/messageManagement/messageEditing/index.vue @@ -0,0 +1,38 @@ + + + + + diff --git a/src/views/messageManagement/messageEditing/markdown-editor.vue b/src/views/messageManagement/messageEditing/markdown-editor.vue new file mode 100644 index 0000000..30ed4ab --- /dev/null +++ b/src/views/messageManagement/messageEditing/markdown-editor.vue @@ -0,0 +1,32 @@ + + + diff --git a/src/views/messageManagement/messageEditing/message-editor-from.vue b/src/views/messageManagement/messageEditing/message-editor-from.vue new file mode 100644 index 0000000..8dc551e --- /dev/null +++ b/src/views/messageManagement/messageEditing/message-editor-from.vue @@ -0,0 +1,119 @@ + + diff --git a/src/views/messageManagement/messageEditing/rich-editor.vue b/src/views/messageManagement/messageEditing/rich-editor.vue new file mode 100644 index 0000000..427eadf --- /dev/null +++ b/src/views/messageManagement/messageEditing/rich-editor.vue @@ -0,0 +1,58 @@ + + + diff --git a/src/views/messageManagement/messageEditing/utils/columns.ts b/src/views/messageManagement/messageEditing/utils/columns.ts new file mode 100644 index 0000000..cf33cbe --- /dev/null +++ b/src/views/messageManagement/messageEditing/utils/columns.ts @@ -0,0 +1,12 @@ +import { $t } from '@/plugins/i18n'; + +export const rules = { + // 消息标题 + title: [{ required: true, message: `${$t('input')}${$t('title')}`, trigger: 'blur' }], + // 消息类型 + messageType: [{ required: true, message: `${$t('input')}${$t('messageType')}`, trigger: 'blur' }], + // 消息内容 + content: [{ required: true, message: `${$t('input')}${$t('content')}`, trigger: 'blur' }], + // 编辑器类型 + editorType: [{ required: true, message: `${$t('input')}${$t('editorType')}`, trigger: 'blur' }], +}; diff --git a/src/views/messageManagement/messageEditing/utils/hooks.ts b/src/views/messageManagement/messageEditing/utils/hooks.ts new file mode 100644 index 0000000..af50dd4 --- /dev/null +++ b/src/views/messageManagement/messageEditing/utils/hooks.ts @@ -0,0 +1,11 @@ +import { reactive } from 'vue'; + +// 提交表单信息 +export const formState = reactive({ + title: '', + receivedUserIds: undefined, + messageType: undefined, + content: '', + editorType: 'markdown', + status: false, +}); diff --git a/src/views/systemMaintenance/message/messageType/index.vue b/src/views/messageManagement/messageType/index.vue similarity index 97% rename from src/views/systemMaintenance/message/messageType/index.vue rename to src/views/messageManagement/messageType/index.vue index 1df568d..3289428 100644 --- a/src/views/systemMaintenance/message/messageType/index.vue +++ b/src/views/messageManagement/messageType/index.vue @@ -1,10 +1,10 @@ - - diff --git a/src/views/welcome/components/server-read-me.vue b/src/views/welcome/components/server-read-me.vue index 4ca43ee..b117768 100644 --- a/src/views/welcome/components/server-read-me.vue +++ b/src/views/welcome/components/server-read-me.vue @@ -1,5 +1,5 @@