From 067a2910d45c0dd7f4eec4043aeb23c9e631150c Mon Sep 17 00:00:00 2001 From: Pan <panfree23@gmail.com> Date: Tue, 16 Apr 2019 13:28:57 +0800 Subject: [PATCH 1/5] Revert "perf: add functional to template" This reverts commit 9ecec0970f4e3462e377af5ffcd5bb25e69ec24c. --- src/views/example/components/Warning.vue | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/src/views/example/components/Warning.vue b/src/views/example/components/Warning.vue index 4073f984..d24fe291 100644 --- a/src/views/example/components/Warning.vue +++ b/src/views/example/components/Warning.vue @@ -1,4 +1,4 @@ -<template functional> +<template> <aside> {{ $t('example.warning') }} <a @@ -7,3 +7,4 @@ >Document</a> </aside> </template> + From 4ee334ad833abe52bd57ca08c12b5848a5a173ed Mon Sep 17 00:00:00 2001 From: Pan <panfree23@gmail.com> Date: Tue, 16 Apr 2019 13:51:14 +0800 Subject: [PATCH 2/5] perf[Breadcrumb]: set noredirect => noRedirect --- mock/role/routes.js | 12 ++++++------ src/components/Breadcrumb/index.vue | 3 ++- src/components/HeaderSearch/index.vue | 2 +- src/router/index.js | 7 ++----- src/router/modules/charts.js | 2 +- src/router/modules/components.js | 2 +- 6 files changed, 13 insertions(+), 15 deletions(-) diff --git a/mock/role/routes.js b/mock/role/routes.js index 62a09d01..5bb6c741 100644 --- a/mock/role/routes.js +++ b/mock/role/routes.js @@ -129,7 +129,7 @@ export const asyncRoutes = [ { path: '/components', component: 'layout/Layout', - redirect: 'noredirect', + redirect: 'noRedirect', name: 'ComponentDemo', meta: { title: 'components', @@ -225,7 +225,7 @@ export const asyncRoutes = [ { path: '/charts', component: 'layout/Layout', - redirect: 'noredirect', + redirect: 'noRedirect', name: 'Charts', meta: { title: 'charts', @@ -361,7 +361,7 @@ export const asyncRoutes = [ { path: '/error', component: 'layout/Layout', - redirect: 'noredirect', + redirect: 'noRedirect', name: 'ErrorPages', meta: { title: 'errorPages', @@ -386,7 +386,7 @@ export const asyncRoutes = [ { path: '/error-log', component: 'layout/Layout', - redirect: 'noredirect', + redirect: 'noRedirect', children: [ { path: 'log', @@ -472,7 +472,7 @@ export const asyncRoutes = [ { path: '/theme', component: 'layout/Layout', - redirect: 'noredirect', + redirect: 'noRedirect', children: [ { path: 'index', @@ -486,7 +486,7 @@ export const asyncRoutes = [ { path: '/clipboard', component: 'layout/Layout', - redirect: 'noredirect', + redirect: 'noRedirect', children: [ { path: 'index', diff --git a/src/components/Breadcrumb/index.vue b/src/components/Breadcrumb/index.vue index ff93ff45..1ea13031 100644 --- a/src/components/Breadcrumb/index.vue +++ b/src/components/Breadcrumb/index.vue @@ -2,7 +2,7 @@ <el-breadcrumb class="app-breadcrumb" separator="/"> <transition-group name="breadcrumb"> <el-breadcrumb-item v-for="(item,index) in levelList" :key="item.path"> - <span v-if="item.redirect==='noredirect'||index==levelList.length-1" class="no-redirect">{{ + <span v-if="item.redirect==='noRedirect'||index==levelList.length-1" class="no-redirect">{{ generateTitle(item.meta.title) }}</span> <a v-else @click.prevent="handleLink(item)">{{ generateTitle(item.meta.title) }}</a> </el-breadcrumb-item> @@ -31,6 +31,7 @@ export default { methods: { generateTitle, getBreadcrumb() { + // only show routes with name let matched = this.$route.matched.filter(item => item.name) const first = matched[0] diff --git a/src/components/HeaderSearch/index.vue b/src/components/HeaderSearch/index.vue index 6668ad5c..90eea067 100644 --- a/src/components/HeaderSearch/index.vue +++ b/src/components/HeaderSearch/index.vue @@ -121,7 +121,7 @@ export default { data.title = [...data.title, i18ntitle] - if (router.redirect !== 'noredirect') { + if (router.redirect !== 'noRedirect') { // only push the routes with title // special case: need to exclude parent router without redirect res.push(data) diff --git a/src/router/index.js b/src/router/index.js index d04a64be..0c5973da 100644 --- a/src/router/index.js +++ b/src/router/index.js @@ -20,7 +20,7 @@ import nestedRouter from './modules/nested' * alwaysShow: true if set true, will always show the root menu * if not set alwaysShow, when item has more than one children route, * it will becomes nested mode, otherwise not show the root menu - * redirect: noredirect if `redirect:noredirect` will no redirect in the breadcrumb + * redirect: noRedirect if set noRedirect will no redirect in the breadcrumb * name:'router-name' the name is used by <keep-alive> (must set!!!) * meta : { roles: ['admin','editor'] control the page roles (you can set multiple roles) @@ -224,7 +224,7 @@ export const asyncRoutes = [ { path: '/error', component: Layout, - redirect: 'noredirect', + redirect: 'noRedirect', name: 'ErrorPages', meta: { title: 'errorPages', @@ -249,7 +249,6 @@ export const asyncRoutes = [ { path: '/error-log', component: Layout, - redirect: 'noredirect', children: [ { path: 'log', @@ -336,7 +335,6 @@ export const asyncRoutes = [ { path: '/theme', component: Layout, - redirect: 'noredirect', children: [ { path: 'index', @@ -350,7 +348,6 @@ export const asyncRoutes = [ { path: '/clipboard', component: Layout, - redirect: 'noredirect', children: [ { path: 'index', diff --git a/src/router/modules/charts.js b/src/router/modules/charts.js index 5797ba04..59ebf188 100644 --- a/src/router/modules/charts.js +++ b/src/router/modules/charts.js @@ -5,7 +5,7 @@ import Layout from '@/layout' const chartsRouter = { path: '/charts', component: Layout, - redirect: 'noredirect', + redirect: 'noRedirect', name: 'Charts', meta: { title: 'charts', diff --git a/src/router/modules/components.js b/src/router/modules/components.js index 0d8055bd..b7407e25 100644 --- a/src/router/modules/components.js +++ b/src/router/modules/components.js @@ -5,7 +5,7 @@ import Layout from '@/layout' const componentsRouter = { path: '/components', component: Layout, - redirect: 'noredirect', + redirect: 'noRedirect', name: 'ComponentDemo', meta: { title: 'components', From 3678bd18fb2f68a1efdd2f063520629c4b3b2a97 Mon Sep 17 00:00:00 2001 From: Pan <panfree23@gmail.com> Date: Tue, 16 Apr 2019 14:18:50 +0800 Subject: [PATCH 3/5] perf[Breadcrumb]: refine getBreadcrumb function --- src/components/Breadcrumb/index.vue | 15 +++++++++++---- 1 file changed, 11 insertions(+), 4 deletions(-) diff --git a/src/components/Breadcrumb/index.vue b/src/components/Breadcrumb/index.vue index 1ea13031..b89d8da6 100644 --- a/src/components/Breadcrumb/index.vue +++ b/src/components/Breadcrumb/index.vue @@ -31,16 +31,23 @@ export default { methods: { generateTitle, getBreadcrumb() { - // only show routes with name - let matched = this.$route.matched.filter(item => item.name) - + // only show routes with meta.title + let matched = this.$route.matched.filter(item => item.meta && item.meta.title) const first = matched[0] - if (first && first.name.trim().toLocaleLowerCase() !== 'Dashboard'.toLocaleLowerCase()) { + + if (!this.isDashboard(first)) { matched = [{ path: '/dashboard', meta: { title: 'dashboard' }}].concat(matched) } this.levelList = matched.filter(item => item.meta && item.meta.title && item.meta.breadcrumb !== false) }, + isDashboard(route) { + const name = route && route.name + if (!name) { + return false + } + return name.trim().toLocaleLowerCase() === 'Dashboard'.toLocaleLowerCase() + }, pathCompile(path) { // To solve this problem https://github.com/PanJiaChen/vue-element-admin/issues/561 const { params } = this.$route From 952da3287983728e164c45c8364cfef4353774eb Mon Sep 17 00:00:00 2001 From: Pan <panfree23@gmail.com> Date: Tue, 16 Apr 2019 14:46:05 +0800 Subject: [PATCH 4/5] perf[element-ui.scss]: refine default style --- src/styles/element-ui.scss | 22 +++++++------------ .../example/components/ArticleDetail.vue | 19 ++++++++++++++-- 2 files changed, 25 insertions(+), 16 deletions(-) diff --git a/src/styles/element-ui.scss b/src/styles/element-ui.scss index 9422dd18..9581d56a 100644 --- a/src/styles/element-ui.scss +++ b/src/styles/element-ui.scss @@ -46,7 +46,7 @@ } } -//暂时性解决dialog 问题 https://github.com/ElemeFE/element/issues/2461 +// to fixed https://github.com/ElemeFE/element/issues/2461 .el-dialog { transform: none; left: 0; @@ -54,18 +54,7 @@ margin: 0 auto; } -//文章页textarea修改样式 -.article-textarea { - textarea { - padding-right: 40px; - resize: none; - border: none; - border-radius: 0px; - border-bottom: 1px solid #bfcbd9; - } -} - -//element ui upload +// refine element ui upload .upload-container { .el-upload { width: 100%; @@ -77,9 +66,14 @@ } } -//dropdown +// dropdown .el-dropdown-menu { a { display: block } } + +// fix date-picker ui bug in filter-item +.el-range-editor.el-input__inner { + display: inline-flex !important; +} diff --git a/src/views/example/components/ArticleDetail.vue b/src/views/example/components/ArticleDetail.vue index b1aa8df6..55d2972a 100644 --- a/src/views/example/components/ArticleDetail.vue +++ b/src/views/example/components/ArticleDetail.vue @@ -59,7 +59,7 @@ <el-form-item style="margin-bottom: 40px;" label-width="70px" label="Summary:"> <el-input v-model="postForm.content_short" :rows="1" type="textarea" class="article-textarea" autosize placeholder="Please enter the content" /> - <span v-show="contentShortLength" class="word-counter">{{ contentShortLength }}字</span> + <span v-show="contentShortLength" class="word-counter">{{ contentShortLength }}words</span> </el-form-item> <el-form-item prop="content" style="margin-bottom: 30px;"> @@ -236,24 +236,39 @@ export default { <style lang="scss" scoped> @import "~@/styles/mixin.scss"; + .createPost-container { position: relative; + .createPost-main-container { padding: 40px 45px 20px 50px; + .postInfo-container { position: relative; @include clearfix; margin-bottom: 10px; + .postInfo-container-item { float: left; } } } + .word-counter { width: 40px; position: absolute; - right: -10px; + right: 10px; top: 0px; } } + +.article-textarea /deep/ { + textarea { + padding-right: 40px; + resize: none; + border: none; + border-radius: 0px; + border-bottom: 1px solid #bfcbd9; + } +} </style> From c00564617e8c58868d96a645f527864a3a5cc6aa Mon Sep 17 00:00:00 2001 From: yuntao1997 <510835147@qq.com> Date: Tue, 16 Apr 2019 14:56:07 +0800 Subject: [PATCH 5/5] fix[adaptive.js]: fixed v-el-height-adaptive-table directive bug (#1924) --- src/directive/el-table/adaptive.js | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/src/directive/el-table/adaptive.js b/src/directive/el-table/adaptive.js index 8beacff1..d229e9fd 100644 --- a/src/directive/el-table/adaptive.js +++ b/src/directive/el-table/adaptive.js @@ -4,7 +4,7 @@ import { addResizeListener, removeResizeListener } from 'element-ui/src/utils/re * How to use * <el-table height="100px" v-el-height-adaptive-table="{bottomOffset: 30}">...</el-table> * el-table height is must be set - * bottomOffset: 30(default) // The height of the table from the bottom of the page. + * bottomOffset: 30(default) // The height of the table from the bottom of the page. */ const doResize = (el, binding, vnode) => { @@ -29,13 +29,13 @@ export default { el.resizeListener = () => { doResize(el, binding, vnode) } - - addResizeListener(el, el.resizeListener) + // parameter 1 is must be "Element" type + addResizeListener(window.document.body, el.resizeListener) }, inserted(el, binding, vnode) { doResize(el, binding, vnode) }, unbind(el) { - removeResizeListener(el, el.resizeListener) + removeResizeListener(window.document.body, el.resizeListener) } }