From 16acbc63333fe49ef4287b19d24667200f1eddad Mon Sep 17 00:00:00 2001 From: pipipi-pikachu Date: Fri, 17 Jun 2022 17:28:49 +0800 Subject: [PATCH] =?UTF-8?q?refactor:=20script=20setup=20=E8=AF=AD=E6=B3=95?= =?UTF-8?q?=E9=87=8D=E6=9E=84?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .eslintrc.js | 6 + package-lock.json | 117 +- package.json | 2 +- src/App.vue | 57 +- src/components/CheckboxButton.vue | 15 +- src/components/CheckboxButtonGroup.vue | 6 +- src/components/ColorPicker/Alpha.vue | 114 +- src/components/ColorPicker/Checkboard.vue | 49 +- src/components/ColorPicker/EditableInput.vue | 50 +- src/components/ColorPicker/Hue.vue | 152 +-- src/components/ColorPicker/Saturation.vue | 132 +- src/components/ColorPicker/index.vue | 305 ++--- src/components/Contextmenu/MenuContent.vue | 23 +- src/components/Contextmenu/index.vue | 102 +- src/components/FileInput.vue | 51 +- src/components/FullscreenSpin.vue | 23 +- src/components/LaTeXEditor/FormulaContent.vue | 76 +- src/components/LaTeXEditor/SymbolContent.vue | 36 +- src/components/LaTeXEditor/index.vue | 122 +- src/components/WritingBoard.vue | 551 ++++---- src/hooks/useExport.ts | 2 +- src/shims-vue.d.ts | 2 + src/views/Editor/Canvas/AlignmentLine.vue | 64 +- src/views/Editor/Canvas/EditableElement.vue | 283 ++-- .../Editor/Canvas/ElementCreateSelection.vue | 319 +++-- src/views/Editor/Canvas/GridLines.vue | 69 +- src/views/Editor/Canvas/LinkDialog.vue | 104 +- src/views/Editor/Canvas/MouseSelection.vue | 53 +- .../Editor/Canvas/Operate/BorderLine.vue | 23 +- .../Canvas/Operate/CommonElementOperate.vue | 69 +- .../Canvas/Operate/ImageElementOperate.vue | 69 +- .../Canvas/Operate/LineElementOperate.vue | 139 +- .../Editor/Canvas/Operate/LinkHandler.vue | 46 +- .../Canvas/Operate/MultiSelectOperate.vue | 90 +- .../Editor/Canvas/Operate/ResizeHandler.vue | 54 +- .../Editor/Canvas/Operate/RotateHandler.vue | 6 +- .../Canvas/Operate/ShapeElementOperate.vue | 64 +- .../Canvas/Operate/TableElementOperate.vue | 70 +- .../Canvas/Operate/TextElementOperate.vue | 66 +- src/views/Editor/Canvas/Operate/index.vue | 148 +- src/views/Editor/Canvas/Ruler.vue | 28 +- .../Editor/Canvas/ViewportBackground.vue | 25 +- src/views/Editor/Canvas/index.vue | 322 ++--- src/views/Editor/CanvasTool/ChartPool.vue | 24 +- src/views/Editor/CanvasTool/LinePool.vue | 29 +- src/views/Editor/CanvasTool/MediaInput.vue | 56 +- src/views/Editor/CanvasTool/ShapePool.vue | 26 +- .../Editor/CanvasTool/TableGenerator.vue | 67 +- src/views/Editor/CanvasTool/index.vue | 160 +-- src/views/Editor/EditorHeader/HotkeyDoc.vue | 16 +- src/views/Editor/EditorHeader/index.vue | 64 +- src/views/Editor/ExportDialog/ExportImage.vue | 74 +- src/views/Editor/ExportDialog/ExportJSON.vue | 24 +- src/views/Editor/ExportDialog/ExportPDF.vue | 57 +- src/views/Editor/ExportDialog/ExportPPTX.vue | 50 +- .../ExportDialog/ExportSpecificFile.vue | 46 +- src/views/Editor/ExportDialog/index.vue | 54 +- src/views/Editor/Remark/index.vue | 99 +- src/views/Editor/Thumbnails/LayoutPool.vue | 27 +- src/views/Editor/Thumbnails/index.vue | 344 +++-- .../Editor/Toolbar/ElementAnimationPanel.vue | 371 +++-- .../Editor/Toolbar/ElementPositionPanel.vue | 210 ++- .../ElementStylePanel/AudioStylePanel.vue | 41 +- .../ChartStylePanel/ChartDataEditor.vue | 449 +++---- .../ChartStylePanel/index.vue | 249 ++-- .../ElementStylePanel/ImageStylePanel.vue | 299 ++--- .../ElementStylePanel/LatexStylePanel.vue | 72 +- .../ElementStylePanel/LineStylePanel.vue | 50 +- .../ElementStylePanel/MultiStylePanel.vue | 184 ++- .../ElementStylePanel/ShapeStylePanel.vue | 179 ++- .../ElementStylePanel/TableStylePanel.vue | 389 +++--- .../ElementStylePanel/TextStylePanel.vue | 193 ++- .../ElementStylePanel/VideoStylePanel.vue | 45 +- .../Toolbar/ElementStylePanel/index.vue | 30 +- .../Editor/Toolbar/MultiPositionPanel.vue | 41 +- .../Editor/Toolbar/SlideAnimationPanel.vue | 66 +- src/views/Editor/Toolbar/SlideDesignPanel.vue | 281 ++-- src/views/Editor/Toolbar/SymbolPanel.vue | 36 +- .../Editor/Toolbar/common/ColorButton.vue | 15 +- .../Editor/Toolbar/common/ElementFilter.vue | 96 +- .../Editor/Toolbar/common/ElementFlip.vue | 47 +- .../Editor/Toolbar/common/ElementOpacity.vue | 42 +- .../Editor/Toolbar/common/ElementOutline.vue | 92 +- .../Editor/Toolbar/common/ElementShadow.vue | 73 +- src/views/Editor/Toolbar/index.vue | 114 +- src/views/Editor/index.vue | 36 +- .../Mobile/MobileEditor/ElementToolbar.vue | 150 +-- src/views/Mobile/MobileEditor/Header.vue | 29 +- .../MobileEditor/MobileEditableElement.vue | 64 +- .../Mobile/MobileEditor/MobileOperate.vue | 68 +- .../Mobile/MobileEditor/SlideToolbar.vue | 105 +- src/views/Mobile/MobileEditor/index.vue | 145 +- src/views/Mobile/MobilePlayer.vue | 147 +- src/views/Mobile/MobilePreview.vue | 42 +- src/views/Mobile/MobileThumbnails.vue | 30 +- src/views/Mobile/index.vue | 32 +- src/views/Screen/BaseView.vue | 207 ++- src/views/Screen/PresenterView.vue | 235 ++-- src/views/Screen/ScreenElement.vue | 159 +-- src/views/Screen/ScreenSlide.vue | 69 +- src/views/Screen/ScreenSlideList.vue | 64 +- src/views/Screen/SlideThumbnails.vue | 54 +- src/views/Screen/WritingBoardTool.vue | 104 +- src/views/Screen/index.vue | 42 +- .../ThumbnailSlide/ThumbnailElement.vue | 56 +- src/views/components/ThumbnailSlide/index.vue | 54 +- .../element/AudioElement/AudioPlayer.vue | 357 +++-- .../element/AudioElement/BaseAudioElement.vue | 26 +- .../AudioElement/ScreenAudioElement.vue | 108 +- .../components/element/AudioElement/index.vue | 111 +- .../element/ChartElement/BaseChartElement.vue | 35 +- .../components/element/ChartElement/Chart.vue | 243 ++-- .../ChartElement/ScreenChartElement.vue | 18 +- .../components/element/ChartElement/index.vue | 57 +- .../components/element/ElementOutline.vue | 47 +- .../element/ImageElement/BaseImageElement.vue | 53 +- .../element/ImageElement/ImageClipHandler.vue | 948 +++++++------ .../ImageOutline/ImageEllipseOutline.vue | 46 +- .../ImageOutline/ImagePolygonOutline.vue | 54 +- .../ImageOutline/ImageRectOutline.vue | 54 +- .../ImageElement/ImageOutline/index.vue | 31 +- .../components/element/ImageElement/index.vue | 178 ++- .../element/LatexElement/BaseLatexElement.vue | 15 +- .../components/element/LatexElement/index.vue | 55 +- .../element/LineElement/BaseLineElement.vue | 55 +- .../element/LineElement/LinePointMarker.vue | 64 +- .../components/element/LineElement/index.vue | 88 +- .../components/element/ProsemirrorEditor.vue | 443 +++--- .../element/ShapeElement/BaseShapeElement.vue | 64 +- .../element/ShapeElement/GradientDefs.vue | 45 +- .../components/element/ShapeElement/index.vue | 169 +-- .../element/TableElement/BaseTableElement.vue | 18 +- .../element/TableElement/CustomTextarea.vue | 132 +- .../element/TableElement/EditableTable.vue | 1196 ++++++++--------- .../element/TableElement/StaticTable.vue | 93 +- .../components/element/TableElement/index.vue | 240 ++-- .../element/TextElement/BaseTextElement.vue | 40 +- .../components/element/TextElement/index.vue | 160 +-- .../element/VideoElement/BaseVideoElement.vue | 15 +- .../VideoElement/ScreenVideoElement.vue | 38 +- .../VideoElement/VideoPlayer/index.vue | 430 +++--- .../components/element/VideoElement/index.vue | 52 +- vue.config.js | 2 + 143 files changed, 7408 insertions(+), 9249 deletions(-) diff --git a/.eslintrc.js b/.eslintrc.js index fbf4959c..9d47cc17 100644 --- a/.eslintrc.js +++ b/.eslintrc.js @@ -6,6 +6,7 @@ module.exports = { root: true, env: { node: true, + 'vue/setup-compiler-macros': true, }, extends: [ 'plugin:vue/vue3-essential', @@ -60,6 +61,7 @@ module.exports = { 'no-useless-return': 'error', 'array-bracket-spacing': 'error', 'no-useless-escape': 'off', + 'no-unused-vars': 'off', 'no-eval': 'error', 'no-var': 'error', 'no-with': 'error', @@ -73,6 +75,10 @@ module.exports = { '{}': false, }, }], + '@typescript-eslint/no-unused-vars': 'off', + '@typescript-eslint/no-non-null-assertion': 'off', + 'vue/multi-word-component-names': 'off', + 'vue/no-reserved-component-names': 'off', }, overrides: [ { diff --git a/package-lock.json b/package-lock.json index dc61b78f..7b69e04c 100644 --- a/package-lock.json +++ b/package-lock.json @@ -7007,37 +7007,112 @@ } }, "eslint-plugin-vue": { - "version": "7.20.0", - "resolved": "https://registry.npmmirror.com/eslint-plugin-vue/download/eslint-plugin-vue-7.20.0.tgz?cache=0&sync_timestamp=1635570504787&other_urls=https%3A%2F%2Fregistry.npmmirror.com%2Feslint-plugin-vue%2Fdownload%2Feslint-plugin-vue-7.20.0.tgz", - "integrity": "sha1-mMIYhaa/3wcTw6kpV6Wv6q7tklM=", + "version": "9.1.0", + "resolved": "https://registry.npmmirror.com/eslint-plugin-vue/-/eslint-plugin-vue-9.1.0.tgz", + "integrity": "sha512-EPCeInPicQ/YyfOWJDr1yfEeSNoFCMzUus107lZyYi37xejdOolNzS5MXGXp8+9bkoKZMdv/1AcZzQebME6r+g==", "dev": true, "requires": { - "eslint-utils": "^2.1.0", + "eslint-utils": "^3.0.0", "natural-compare": "^1.4.0", - "semver": "^6.3.0", - "vue-eslint-parser": "^7.10.0" + "nth-check": "^2.0.1", + "postcss-selector-parser": "^6.0.9", + "semver": "^7.3.5", + "vue-eslint-parser": "^9.0.1", + "xml-name-validator": "^4.0.0" }, "dependencies": { - "eslint-utils": { - "version": "2.1.0", - "resolved": "https://registry.nlark.com/eslint-utils/download/eslint-utils-2.1.0.tgz", - "integrity": "sha1-0t5eA0JOcH3BDHQGjd7a5wh0Gyc=", + "acorn": { + "version": "8.7.1", + "resolved": "https://registry.npmmirror.com/acorn/-/acorn-8.7.1.tgz", + "integrity": "sha512-Xx54uLJQZ19lKygFXOWsscKUbsBZW0CPykPhVQdhIeIwrbPmJzqeASDInc8nKBnp/JT6igTs82qPXz069H8I/A==", + "dev": true + }, + "debug": { + "version": "4.3.4", + "resolved": "https://registry.npmmirror.com/debug/-/debug-4.3.4.tgz", + "integrity": "sha512-PRWFHuSU3eDtQJPvnNY7Jcket1j0t5OuOsFzPPzsekD52Zl8qUfFIPEiswXqIvHWGVHOgX+7G/vCNNhehwxfkQ==", "dev": true, "requires": { - "eslint-visitor-keys": "^1.1.0" + "ms": "2.1.2" + } + }, + "eslint-scope": { + "version": "7.1.1", + "resolved": "https://registry.npmmirror.com/eslint-scope/-/eslint-scope-7.1.1.tgz", + "integrity": "sha512-QKQM/UXpIiHcLqJ5AOyIW7XZmzjkzQXYE54n1++wb0u9V/abW3l9uQnxX8Z5Xd18xyKIMTUAyQ0k1e8pz6LUrw==", + "dev": true, + "requires": { + "esrecurse": "^4.3.0", + "estraverse": "^5.2.0" } }, "eslint-visitor-keys": { - "version": "1.3.0", - "resolved": "https://registry.npmmirror.com/eslint-visitor-keys/download/eslint-visitor-keys-1.3.0.tgz?cache=0&sync_timestamp=1636378420914&other_urls=https%3A%2F%2Fregistry.npmmirror.com%2Feslint-visitor-keys%2Fdownload%2Feslint-visitor-keys-1.3.0.tgz", - "integrity": "sha1-MOvR73wv3/AcOk8VEESvJfqwUj4=", + "version": "3.3.0", + "resolved": "https://registry.npmmirror.com/eslint-visitor-keys/-/eslint-visitor-keys-3.3.0.tgz", + "integrity": "sha512-mQ+suqKJVyeuwGYHAdjMFqjCyfl8+Ldnxuyp3ldiMBFKkvytrXUZWaiPCEav8qDHKty44bD+qV1IP4T+w+xXRA==", "dev": true }, - "semver": { - "version": "6.3.0", - "resolved": "https://registry.npm.taobao.org/semver/download/semver-6.3.0.tgz?cache=0&sync_timestamp=1616463550093&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fsemver%2Fdownload%2Fsemver-6.3.0.tgz", - "integrity": "sha1-7gpkyK9ejO6mdoexM3YeG+y9HT0=", + "espree": { + "version": "9.3.2", + "resolved": "https://registry.npmmirror.com/espree/-/espree-9.3.2.tgz", + "integrity": "sha512-D211tC7ZwouTIuY5x9XnS0E9sWNChB7IYKX/Xp5eQj3nFXhqmiUDB9q27y76oFl8jTg3pXcQx/bpxMfs3CIZbA==", + "dev": true, + "requires": { + "acorn": "^8.7.1", + "acorn-jsx": "^5.3.2", + "eslint-visitor-keys": "^3.3.0" + } + }, + "estraverse": { + "version": "5.3.0", + "resolved": "https://registry.npmmirror.com/estraverse/-/estraverse-5.3.0.tgz", + "integrity": "sha512-MMdARuVEQziNTeJD8DgMqmhwR11BRQ/cBP+pLtYdSTnf3MIO8fFeiINEbX36ZdNlfU/7A9f3gUw49B3oQsvwBA==", "dev": true + }, + "nth-check": { + "version": "2.1.1", + "resolved": "https://registry.npmmirror.com/nth-check/-/nth-check-2.1.1.tgz", + "integrity": "sha512-lqjrjmaOoAnWfMmBPL+XNnynZh2+swxiX3WUE0s4yEHI6m+AwrK2UZOimIRl3X/4QctVqS8AiZjFqyOGrMXb/w==", + "dev": true, + "requires": { + "boolbase": "^1.0.0" + } + }, + "postcss-selector-parser": { + "version": "6.0.10", + "resolved": "https://registry.npmmirror.com/postcss-selector-parser/-/postcss-selector-parser-6.0.10.tgz", + "integrity": "sha512-IQ7TZdoaqbT+LCpShg46jnZVlhWD2w6iQYAcYXfHARZ7X1t/UGhhceQDs5X0cGqKvYlHNOuv7Oa1xmb0oQuA3w==", + "dev": true, + "requires": { + "cssesc": "^3.0.0", + "util-deprecate": "^1.0.2" + } + }, + "vue-eslint-parser": { + "version": "9.0.2", + "resolved": "https://registry.npmmirror.com/vue-eslint-parser/-/vue-eslint-parser-9.0.2.tgz", + "integrity": "sha512-uCPQwTGjOtAYrwnU+76pYxalhjsh7iFBsHwBqDHiOPTxtICDaraO4Szw54WFTNZTAEsgHHzqFOu1mmnBOBRzDA==", + "dev": true, + "requires": { + "debug": "^4.3.4", + "eslint-scope": "^7.1.1", + "eslint-visitor-keys": "^3.3.0", + "espree": "^9.3.1", + "esquery": "^1.4.0", + "lodash": "^4.17.21", + "semver": "^7.3.6" + }, + "dependencies": { + "semver": { + "version": "7.3.7", + "resolved": "https://registry.npmmirror.com/semver/-/semver-7.3.7.tgz", + "integrity": "sha512-QlYTucUYOews+WeEujDoEGziz4K6c47V/Bd+LjSSYcA94p+DmINdf7ncaUinThfvZyu13lN9OY1XDxt8C0Tw0g==", + "dev": true, + "requires": { + "lru-cache": "^6.0.0" + } + } + } } } }, @@ -17370,6 +17445,12 @@ "async-limiter": "~1.0.0" } }, + "xml-name-validator": { + "version": "4.0.0", + "resolved": "https://registry.npmmirror.com/xml-name-validator/-/xml-name-validator-4.0.0.tgz", + "integrity": "sha512-ICP2e+jsHvAj2E2lIHxa5tjXRlKDJo4IdvPvCXbXQGdzSfmSpNVyIKMvoZHjDY9DP0zV17iI85o90vRFXNccRw==", + "dev": true + }, "xtend": { "version": "4.0.2", "resolved": "https://registry.nlark.com/xtend/download/xtend-4.0.2.tgz", diff --git a/package.json b/package.json index 0aeb4378..51570400 100644 --- a/package.json +++ b/package.json @@ -73,7 +73,7 @@ "@vue/test-utils": "^2.0.0-0", "babel-plugin-import": "^1.13.3", "eslint": "^6.7.2", - "eslint-plugin-vue": "^7.1.0", + "eslint-plugin-vue": "^9.1.0", "husky": "^7.0.2", "less": "^4.1.1", "less-loader": "^7.1.0", diff --git a/src/App.vue b/src/App.vue index 20815ee3..905e23dd 100644 --- a/src/App.vue +++ b/src/App.vue @@ -1,11 +1,11 @@ - diff --git a/src/components/CheckboxButton.vue b/src/components/CheckboxButton.vue index 69bdb11b..64c11b36 100644 --- a/src/components/CheckboxButton.vue +++ b/src/components/CheckboxButton.vue @@ -4,16 +4,11 @@ - diff --git a/src/components/CheckboxButtonGroup.vue b/src/components/CheckboxButtonGroup.vue index a57b6642..98379200 100644 --- a/src/components/CheckboxButtonGroup.vue +++ b/src/components/CheckboxButtonGroup.vue @@ -4,12 +4,8 @@ -