From 31ff0559fe3b635fc2091aac0e2f5e340629134c Mon Sep 17 00:00:00 2001 From: vben Date: Tue, 5 Jan 2021 21:45:05 +0800 Subject: [PATCH] feat(page-wrapper): added pageWrapper component --- .vscode/settings.json | 38 +++-- CHANGELOG.zh_CN.md | 1 + .../Form/src/hooks/useFormContext.ts | 2 +- src/components/Page/index.ts | 2 + src/components/Page/src/PageFooter.vue | 15 +- src/components/Page/src/PageWrapper.vue | 153 ++++++++++++++++++ .../Table/src/hooks/useDataSource.ts | 6 +- src/components/Upload/index.ts | 6 +- src/hooks/component/usePageContext.ts | 20 +++ src/hooks/core/useContext.ts | 21 +-- src/layouts/default/content/index.vue | 3 + .../default/content/useContentContext.ts | 19 +++ .../default/content/useContentViewHeight.ts | 30 ++++ src/layouts/default/header/MultipleHeader.vue | 2 + src/layouts/page/index.tsx | 10 +- src/settings/projectSetting.ts | 2 +- src/views/demo/comp/button/index.vue | 23 ++- src/views/demo/comp/count-to/index.vue | 10 +- src/views/demo/comp/desc/index.vue | 11 +- src/views/demo/comp/drawer/index.vue | 7 +- src/views/demo/comp/lazy/Transition.vue | 14 +- src/views/demo/comp/lazy/index.vue | 14 +- src/views/demo/comp/loading/index.vue | 8 +- src/views/demo/comp/modal/index.vue | 8 +- src/views/demo/comp/qrcode/index.vue | 106 ++++++------ src/views/demo/comp/scroll/Action.vue | 11 +- src/views/demo/comp/scroll/VirtualScroll.vue | 11 +- src/views/demo/comp/scroll/index.vue | 13 +- src/views/demo/comp/strength-meter/index.vue | 22 +-- src/views/demo/comp/transition/index.vue | 8 +- src/views/demo/comp/upload/index.vue | 7 +- src/views/demo/comp/verify/Rotate.vue | 9 +- src/views/demo/comp/verify/index.vue | 8 +- src/views/demo/editor/markdown/Editor.vue | 7 +- src/views/demo/editor/markdown/index.vue | 8 +- src/views/demo/editor/tinymce/Editor.vue | 7 +- src/views/demo/editor/tinymce/index.vue | 7 +- src/views/demo/excel/ArrayExport.vue | 7 +- src/views/demo/excel/CustomExport.vue | 7 +- src/views/demo/excel/ImportExcel.vue | 7 +- src/views/demo/excel/JsonExport.vue | 7 +- .../demo/feat/breadcrumb/ChildrenList.vue | 9 +- src/views/demo/feat/breadcrumb/FlatList.vue | 9 +- src/views/demo/feat/click-out-side/index.vue | 12 +- src/views/demo/feat/context-menu/index.vue | 8 +- src/views/demo/feat/copy/index.vue | 7 +- src/views/demo/feat/download/index.vue | 7 +- src/views/demo/feat/full-screen/index.vue | 8 +- src/views/demo/feat/icon/index.vue | 6 +- src/views/demo/feat/img-preview/index.vue | 8 +- src/views/demo/feat/msg/index.vue | 8 +- src/views/demo/feat/ripple/index.vue | 12 +- src/views/demo/feat/tab-params/index.vue | 7 +- src/views/demo/feat/tabs/index.vue | 7 +- src/views/demo/feat/watermark/index.vue | 7 +- src/views/demo/form/AdvancedForm.vue | 7 +- src/views/demo/form/CustomerForm.vue | 8 +- src/views/demo/form/DynamicForm.vue | 8 +- src/views/demo/form/RefForm.vue | 8 +- src/views/demo/form/RuleForm.vue | 8 +- src/views/demo/form/UseForm.vue | 8 +- src/views/demo/form/index.vue | 7 +- src/views/demo/page/desc/basic/index.vue | 53 +++--- src/views/demo/page/desc/high/index.vue | 41 +++-- src/views/demo/page/form/basic/index.vue | 20 +-- src/views/demo/page/form/high/index.vue | 46 +++--- src/views/demo/page/form/step/index.vue | 50 +++--- src/views/demo/page/list/basic/index.vue | 11 +- src/views/demo/page/list/card/data.tsx | 2 +- src/views/demo/page/list/card/index.vue | 16 +- src/views/demo/page/list/search/index.vue | 12 +- src/views/demo/permission/back/Btn.vue | 8 +- src/views/demo/permission/back/index.vue | 19 +-- src/views/demo/permission/front/Btn.vue | 16 +- src/views/demo/permission/front/index.vue | 16 +- src/views/demo/table/Basic.vue | 3 +- src/views/demo/tree/ActionTree.vue | 7 +- src/views/demo/tree/EditTree.vue | 22 +-- src/views/demo/tree/index.vue | 37 +++-- 79 files changed, 755 insertions(+), 470 deletions(-) create mode 100644 src/components/Page/src/PageWrapper.vue create mode 100644 src/hooks/component/usePageContext.ts create mode 100644 src/layouts/default/content/useContentContext.ts create mode 100644 src/layouts/default/content/useContentViewHeight.ts diff --git a/.vscode/settings.json b/.vscode/settings.json index cf8d576fb..671b12c67 100644 --- a/.vscode/settings.json +++ b/.vscode/settings.json @@ -12,6 +12,7 @@ "editor.cursorSmoothCaretAnimation": true, "editor.detectIndentation": false, "diffEditor.ignoreTrimWhitespace": false, + "javascript.format.insertSpaceBeforeFunctionParenthesis": true, "editor.formatOnPaste": true, "editor.formatOnSave": true, "editor.suggestSelection": "first", @@ -108,18 +109,22 @@ // =========================================== // ================ Eslint =================== // =========================================== - "eslint.enable": true, + // "eslint.enable": true, + "eslint.alwaysShowStatus": true, "eslint.options": { // 配置 - "plugins": [ - "html", - "vue", - "javascript", - "jsx", - "typescript" - ] + "plugins": ["html", "vue", "javascript", "jsx", "typescript"], + "extensions": [".js", ".jsx", ".ts", ".tsx", ".vue"] }, - "eslint.autoFixOnSave": true, + "eslint.validate": [ + "javascript", + "typescript", + "reacttypescript", + "reactjavascript", + "html", + "vue" + ], + // "eslint.autoFixOnSave": true, // =========================================== // ================ Vetur ==================== // =========================================== @@ -181,19 +186,12 @@ "editor.codeActionsOnSave": { "source.fixAll.eslint": true }, - "i18n-ally.localesPaths": [ - "src/locales/lang", - ], + "i18n-ally.localesPaths": ["src/locales/lang"], "i18n-ally.keystyle": "nested", "i18n-ally.sortKeys": true, "i18n-ally.namespace": true, "i18n-ally.pathMatcher": "{locale}/{namespaces}.{ext}", - "i18n-ally.enabledParsers": [ - "ts" - ], + "i18n-ally.enabledParsers": ["ts"], "i18n-ally.sourceLanguage": "zh", - "i18n-ally.enabledFrameworks": [ - "vue", - "react" - ] -} \ No newline at end of file + "i18n-ally.enabledFrameworks": ["vue", "react"] +} diff --git a/CHANGELOG.zh_CN.md b/CHANGELOG.zh_CN.md index 92fd1b6cb..bc12dfb6a 100644 --- a/CHANGELOG.zh_CN.md +++ b/CHANGELOG.zh_CN.md @@ -5,6 +5,7 @@ - 新增`mixSideTrigger`配置。用于配置左侧混合模式菜单打开方式。可选`hover`,默认`click` - 新增`mixSideFixed`配置。用于固定左侧混合模式菜单 - modal 组件新增`height`和`min-height`属性 +- 新增`PageWrapper`组件。并应用于示例页面 ### 🐛 Bug Fixes diff --git a/src/components/Form/src/hooks/useFormContext.ts b/src/components/Form/src/hooks/useFormContext.ts index 9bfc92523..01dfadd76 100644 --- a/src/components/Form/src/hooks/useFormContext.ts +++ b/src/components/Form/src/hooks/useFormContext.ts @@ -1,4 +1,4 @@ -import { InjectionKey } from 'vue'; +import type { InjectionKey } from 'vue'; import { createContext, useContext } from '/@/hooks/core/useContext'; export interface FormContextProps { diff --git a/src/components/Page/index.ts b/src/components/Page/index.ts index ae205ecc1..0b74020be 100644 --- a/src/components/Page/index.ts +++ b/src/components/Page/index.ts @@ -1,2 +1,4 @@ import { createAsyncComponent } from '/@/utils/factory/createAsyncComponent'; export const PageFooter = createAsyncComponent(() => import('./src/PageFooter.vue')); + +export { default as PageWrapper } from './src/PageWrapper.vue'; diff --git a/src/components/Page/src/PageFooter.vue b/src/components/Page/src/PageFooter.vue index 66baa3abc..e6d02370e 100644 --- a/src/components/Page/src/PageFooter.vue +++ b/src/components/Page/src/PageFooter.vue @@ -1,9 +1,10 @@