Skip to content

Commit

Permalink
PageHeader: add page-header component (ElemeFE#15714)
Browse files Browse the repository at this point in the history
  • Loading branch information
ziyoung authored and lzq4047 committed May 22, 2020
1 parent 505b9fa commit c77f82a
Show file tree
Hide file tree
Showing 64 changed files with 446 additions and 2 deletions.
3 changes: 2 additions & 1 deletion components.json
Original file line number Diff line number Diff line change
Expand Up @@ -75,5 +75,6 @@
"image": "./packages/image/index.js",
"calendar": "./packages/calendar/index.js",
"backtop": "./packages/backtop/index.js",
"infiniteScroll": "./packages/infiniteScroll/index.js"
"infiniteScroll": "./packages/infiniteScroll/index.js",
"page-header": "./packages/page-header/index.js"
}
39 changes: 39 additions & 0 deletions examples/docs/en-US/page-header.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,39 @@
## PageHeader

If path of the page is simple, it is recommended to use PageHeader instead of the Breadcrumb.

### Basic

:::demo
```html
<el-page-header @back="goBack" content="detail">
</el-page-header>

<script>
export default {
methods: {
goBack() {
console.log('go back');
}
}
}
</script>
```html
:::

### Attributes
| Attribute | Description | Type | Accepted Values | Default |
|---------- |-------------- |---------- |------------------------------ | ------ |
| title | main title | string | — | Back |
| content | content | string | — | — |

### Events
| Event Name | Description | Parameters |
|----------- |-------------- |----------- |
| back | triggers when right side is clicked | — |

### Slots
| slot | Description |
|---------- | ---------------------- |
| title | title content |
| content | content |
39 changes: 39 additions & 0 deletions examples/docs/es/page-header.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,39 @@
## PageHeader

If path of the page is simple, it is recommended to use PageHeader instead of the Breadcrumb.

### Basic

:::demo
```html
<el-page-header @back="goBack" content="detail">
</el-page-header>

<script>
export default {
methods: {
goBack() {
console.log('go back');
}
}
}
</script>
```html
:::

### Attributes
| Attribute | Description | Type | Accepted Values | Default |
|---------- |-------------- |---------- |------------------------------ | ------ |
| title | main title | string | — | Back |
| content | content | string | — | — |

### Events
| Event Name | Description | Parameters |
|----------- |-------------- |----------- |
| back | triggers when right side is clicked | — |

### Slots
| slot | Description |
|---------- | ---------------------- |
| title | title content |
| content | content |
39 changes: 39 additions & 0 deletions examples/docs/fr-FR/page-header.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,39 @@
## PageHeader

If path of the page is simple, it is recommended to use PageHeader instead of the Breadcrumb.

### Basic

:::demo
```html
<el-page-header @back="goBack" content="detail">
</el-page-header>

<script>
export default {
methods: {
goBack() {
console.log('go back');
}
}
}
</script>
```html
:::

### Attributes
| Attribute | Description | Type | Accepted Values | Default |
|---------- |-------------- |---------- |------------------------------ | ------ |
| title | main title | string | — | Back |
| content | content | string | — | — |

### Events
| Event Name | Description | Parameters |
|----------- |-------------- |----------- |
| back | triggers when right side is clicked | — |

### Slots
| slot | Description |
|---------- | ---------------------- |
| title | title content |
| content | content |
40 changes: 40 additions & 0 deletions examples/docs/zh-CN/page-header.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,40 @@
## PageHeader 页头

如果页面的路径比较简单,推荐使用页头组件而非面包屑组件。

### 基础

:::demo
```html
<el-page-header @back="goBack" content="详情页面">
</el-page-header>

<script>
export default {
methods: {
goBack() {
console.log('go back');
}
}
}
</script>
```
:::

### Attributes
| 参数 | 说明 | 类型 | 可选值 | 默认值 |
|---------- |-------------- |---------- |------------------------------ | ------ |
| title | 标题 | string || 返回 |
| content | 内容 | string |||


### Events
| 事件名称 | 说明 | 回调参数 |
|---------- |-------------- |---------- |
| back | 点击左侧区域触发 ||

### Slots
| 事件名称 | 说明 |
|---------- |------------- |
| title | 标题内容 |
| content | 内容 |
16 changes: 16 additions & 0 deletions examples/nav.config.json
Original file line number Diff line number Diff line change
Expand Up @@ -215,6 +215,10 @@
"path": "/breadcrumb",
"title": "Breadcrumb 面包屑"
},
{
"path": "/page-header",
"title": "PageHeader 页头"
},
{
"path": "/dropdown",
"title": "Dropdown 下拉菜单"
Expand Down Expand Up @@ -497,6 +501,10 @@
"path": "/breadcrumb",
"title": "Breadcrumb"
},
{
"path": "/page-header",
"title": "PageHeader"
},
{
"path": "/dropdown",
"title": "Dropdown"
Expand Down Expand Up @@ -779,6 +787,10 @@
"path": "/breadcrumb",
"title": "Breadcrumb"
},
{
"path": "/page-header",
"title": "PageHeader"
},
{
"path": "/dropdown",
"title": "Dropdown"
Expand Down Expand Up @@ -1061,6 +1073,10 @@
"path": "/breadcrumb",
"title": "Breadcrumb"
},
{
"path": "/page-header",
"title": "PageHeader"
},
{
"path": "/dropdown",
"title": "Dropdown"
Expand Down
8 changes: 8 additions & 0 deletions packages/page-header/index.js
Original file line number Diff line number Diff line change
@@ -0,0 +1,8 @@
import PageHeader from './src/main';

/* istanbul ignore next */
PageHeader.install = function(Vue) {
Vue.component(PageHeader.name, PageHeader);
};

export default PageHeader;
30 changes: 30 additions & 0 deletions packages/page-header/src/main.vue
Original file line number Diff line number Diff line change
@@ -0,0 +1,30 @@
<template>
<div class="el-page-header">
<div class="el-page-header__left" @click="$emit('back')">
<i class="el-icon-back"></i>
<div class="el-page-header__title">
<slot name="title">{{ title }}</slot>
</div>
</div>
<div class="el-page-header__content">
<slot name="content">{{ content }}</slot>
</div>
</div>
</template>

<script>
import { t } from 'element-ui/src/locale';
export default {
name: 'ElPageHeader',
props: {
title: {
type: String,
default() {
return t('el.pageHeader.title');
}
},
content: String
}
};
</script>
1 change: 1 addition & 0 deletions packages/theme-chalk/src/index.scss
Original file line number Diff line number Diff line change
Expand Up @@ -72,3 +72,4 @@
@import "./image.scss";
@import "./calendar.scss";
@import "./backtop.scss";
@import "./page-header.scss";
41 changes: 41 additions & 0 deletions packages/theme-chalk/src/page-header.scss
Original file line number Diff line number Diff line change
@@ -0,0 +1,41 @@
@import "mixins/mixins";
@import "common/var";

@include b(page-header) {
display: flex;
line-height: 24px;

@include e(left) {
display: flex;
cursor: pointer;
margin-right: 40px;
position: relative;

&::after {
content: "";
position: absolute;
width: 1px;
height: 16px;
right: -20px;
top: 50%;
transform: translateY(-50%);
background-color: $--border-color-base;
}

.el-icon-back {
font-size: 18px;
margin-right: 6px;
align-self: center;
}

@include e(title) {
font-size: 14px;
font-weight: 500;
}
}

@include e(content) {
font-size: 18px;
color: $--color-text-primary;
}
}
5 changes: 4 additions & 1 deletion src/index.js
Original file line number Diff line number Diff line change
Expand Up @@ -77,6 +77,7 @@ import Image from '../packages/image/index.js';
import Calendar from '../packages/calendar/index.js';
import Backtop from '../packages/backtop/index.js';
import InfiniteScroll from '../packages/infiniteScroll/index.js';
import PageHeader from '../packages/page-header/index.js';
import locale from 'element-ui/src/locale';
import CollapseTransition from 'element-ui/src/transitions/collapse-transition';

Expand Down Expand Up @@ -153,6 +154,7 @@ const components = [
Image,
Calendar,
Backtop,
PageHeader,
CollapseTransition
];

Expand Down Expand Up @@ -269,5 +271,6 @@ export default {
Image,
Calendar,
Backtop,
InfiniteScroll
InfiniteScroll,
PageHeader
};
3 changes: 3 additions & 0 deletions src/locale/lang/af-ZA.js
Original file line number Diff line number Diff line change
Expand Up @@ -107,6 +107,9 @@ export default {
},
image: {
error: 'FAILED' // to be translated
},
pageHeader: {
title: 'Back' // to be translated
}
}
};
3 changes: 3 additions & 0 deletions src/locale/lang/ar.js
Original file line number Diff line number Diff line change
Expand Up @@ -106,6 +106,9 @@ export default {
},
image: {
error: 'FAILED' // to be translated
},
pageHeader: {
title: 'Back' // to be translated
}
}
};
3 changes: 3 additions & 0 deletions src/locale/lang/bg.js
Original file line number Diff line number Diff line change
Expand Up @@ -107,6 +107,9 @@ export default {
},
image: {
error: 'FAILED' // to be translated
},
pageHeader: {
title: 'Back' // to be translated
}
}
};
3 changes: 3 additions & 0 deletions src/locale/lang/ca.js
Original file line number Diff line number Diff line change
Expand Up @@ -106,6 +106,9 @@ export default {
},
image: {
error: 'FAILED' // to be translated
},
pageHeader: {
title: 'Back' // to be translated
}
}
};
3 changes: 3 additions & 0 deletions src/locale/lang/cs-CZ.js
Original file line number Diff line number Diff line change
Expand Up @@ -109,6 +109,9 @@ export default {
},
image: {
error: 'FAILED' // to be translated
},
pageHeader: {
title: 'Back' // to be translated
}
}
};
3 changes: 3 additions & 0 deletions src/locale/lang/da.js
Original file line number Diff line number Diff line change
Expand Up @@ -106,6 +106,9 @@ export default {
},
image: {
error: 'FAILED' // to be translated
},
pageHeader: {
title: 'Back' // to be translated
}
}
};
3 changes: 3 additions & 0 deletions src/locale/lang/de.js
Original file line number Diff line number Diff line change
Expand Up @@ -108,6 +108,9 @@ export default {
},
image: {
error: 'FAILED' // to be translated
},
pageHeader: {
title: 'Back' // to be translated
}
}
};
Loading

0 comments on commit c77f82a

Please sign in to comment.