From a2eb028782a1da2da589999a176c89bb72d70b85 Mon Sep 17 00:00:00 2001 From: "zhigang.li" Date: Mon, 18 Dec 2017 18:25:16 +0800 Subject: [PATCH 01/12] add layout component with header, content, sider and footer --- examples/app.vue | 3 +- examples/main.js | 4 + examples/routers/layout.vue | 61 ++++++++++++ src/components/content/index.js | 3 + src/components/footer/index.js | 3 + src/components/header/index.js | 3 + src/components/layout/content.vue | 28 ++++++ src/components/layout/footer.vue | 28 ++++++ src/components/layout/header.vue | 28 ++++++ src/components/layout/index.js | 12 +++ src/components/layout/layout.vue | 43 +++++++++ src/components/layout/sider.vue | 150 ++++++++++++++++++++++++++++++ src/components/sider/index.js | 3 + src/index.js | 15 ++- src/styles/components/index.less | 1 + src/styles/components/layout.less | 113 ++++++++++++++++++++++ src/styles/custom.less | 15 ++- 17 files changed, 509 insertions(+), 4 deletions(-) create mode 100644 examples/routers/layout.vue create mode 100644 src/components/content/index.js create mode 100644 src/components/footer/index.js create mode 100644 src/components/header/index.js create mode 100644 src/components/layout/content.vue create mode 100644 src/components/layout/footer.vue create mode 100644 src/components/layout/header.vue create mode 100644 src/components/layout/index.js create mode 100644 src/components/layout/layout.vue create mode 100644 src/components/layout/sider.vue create mode 100644 src/components/sider/index.js create mode 100644 src/styles/components/layout.less diff --git a/examples/app.vue b/examples/app.vue index 9c202459..b93032ac 100644 --- a/examples/app.vue +++ b/examples/app.vue @@ -6,13 +6,14 @@ nav { margin-bottom: 40px; } ul { display: flex; flex-wrap: wrap; } li { display: inline-block; } li + li { border-left: solid 1px #bbb; padding-left: 10px; margin-left: 10px; } -.container{ padding: 10px 40px; } +.container{ padding: 10px 40px 0; } .v-link-active { color: #bbb; } + \ No newline at end of file diff --git a/src/components/layout/sider.vue b/src/components/layout/sider.vue index 3dbb5d79..66af0916 100644 --- a/src/components/layout/sider.vue +++ b/src/components/layout/sider.vue @@ -29,10 +29,8 @@ return { media: mediaQuery, matches: false, - on() { - }, - off() { - }, + on() {}, + off() {}, }; }; window.matchMedia = window.matchMedia || matchMediaPolyfill; From 1012b5cdaa7222e68aaea13a2ac761fea2205bc0 Mon Sep 17 00:00:00 2001 From: "zhigang.li" Date: Mon, 18 Dec 2017 18:41:55 +0800 Subject: [PATCH 03/12] remove className props --- src/components/layout/content.vue | 11 +---------- src/components/layout/footer.vue | 11 +---------- src/components/layout/header.vue | 11 +---------- src/components/layout/layout.vue | 7 ------- src/components/layout/sider.vue | 5 ----- 5 files changed, 3 insertions(+), 42 deletions(-) diff --git a/src/components/layout/content.vue b/src/components/layout/content.vue index 95802f9c..03caad34 100644 --- a/src/components/layout/content.vue +++ b/src/components/layout/content.vue @@ -5,12 +5,6 @@ const prefixCls = 'ivu-layout'; export default { name: 'Content', - props: { - className: { - type: String, - default: '' - } - }, data () { return { prefixCls: prefixCls @@ -18,10 +12,7 @@ }, computed: { wrapClasses () { - return [ - `${prefixCls}-content`, - this.className - ]; + return `${prefixCls}-content`; } } }; diff --git a/src/components/layout/footer.vue b/src/components/layout/footer.vue index 7ef94e3b..2bc5322c 100644 --- a/src/components/layout/footer.vue +++ b/src/components/layout/footer.vue @@ -5,12 +5,6 @@ const prefixCls = 'ivu-layout'; export default { name: 'Footer', - props: { - className: { - type: String, - default: '' - } - }, data () { return { prefixCls: prefixCls @@ -18,10 +12,7 @@ }, computed: { wrapClasses () { - return [ - `${prefixCls}-footer`, - this.className - ]; + return `${prefixCls}-footer`; } } }; diff --git a/src/components/layout/header.vue b/src/components/layout/header.vue index 5f2a09a7..2ca4dd25 100644 --- a/src/components/layout/header.vue +++ b/src/components/layout/header.vue @@ -5,12 +5,6 @@ const prefixCls = 'ivu-layout'; export default { name: 'Header', - props: { - className: { - type: String, - default: '' - } - }, data () { return { prefixCls: prefixCls @@ -18,10 +12,7 @@ }, computed: { wrapClasses () { - return [ - `${prefixCls}-header`, - this.className - ]; + return `${prefixCls}-header`; } } }; diff --git a/src/components/layout/layout.vue b/src/components/layout/layout.vue index 1c294845..1d71e995 100644 --- a/src/components/layout/layout.vue +++ b/src/components/layout/layout.vue @@ -6,12 +6,6 @@ export default { name: 'Layout', - props: { - className: { - type: String, - default: '' - } - }, data () { return { prefixCls: prefixCls, @@ -22,7 +16,6 @@ wrapClasses () { return [ `${prefixCls}`, - this.className, { [`${prefixCls}-has-sider`]: this.hasSider } diff --git a/src/components/layout/sider.vue b/src/components/layout/sider.vue index 66af0916..16ed8652 100644 --- a/src/components/layout/sider.vue +++ b/src/components/layout/sider.vue @@ -42,10 +42,6 @@ type: Boolean, default: false }, - className: { - type: String, - default: '' - }, width: { type: [Number, String], default: 200 @@ -84,7 +80,6 @@ wrapClasses () { return [ `${prefixCls}`, - this.className, this.siderWidth ? '' : `${prefixCls}-zero-width`, this.value ? `${prefixCls}-collapsed` : '' ]; From cbba62aedaf96526d8906e9334dd265805a9c80a Mon Sep 17 00:00:00 2001 From: "zhigang.li" Date: Mon, 18 Dec 2017 18:44:22 +0800 Subject: [PATCH 04/12] close #2318 --- src/components/layout/layout.vue | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/components/layout/layout.vue b/src/components/layout/layout.vue index 1d71e995..55a454c2 100644 --- a/src/components/layout/layout.vue +++ b/src/components/layout/layout.vue @@ -25,7 +25,7 @@ methods: { findSider () { return this.$children.some(child => { - return child.$options._componentTag === 'Sider'; + return child.$options._componentTag === 'Sider'; }); } }, From 1a90ee6cb00520badd4d8b7d0bf27436ab747619 Mon Sep 17 00:00:00 2001 From: "zhigang.li" Date: Mon, 18 Dec 2017 18:49:15 +0800 Subject: [PATCH 05/12] move dimensionMap from sider.vue to assist.js --- src/components/layout/sider.vue | 9 +-------- src/utils/assist.js | 8 ++++++++ 2 files changed, 9 insertions(+), 8 deletions(-) diff --git a/src/components/layout/sider.vue b/src/components/layout/sider.vue index 16ed8652..9cae9627 100644 --- a/src/components/layout/sider.vue +++ b/src/components/layout/sider.vue @@ -15,15 +15,8 @@