Skip to content
Projects
Groups
Snippets
Help
Loading...
Help
Support
Keyboard shortcuts
?
Submit feedback
Contribute to GitLab
Sign in
Toggle navigation
E
Element
Project overview
Project overview
Details
Activity
Releases
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Issues
0
Issues
0
List
Boards
Labels
Milestones
Merge Requests
0
Merge Requests
0
CI / CD
CI / CD
Pipelines
Jobs
Schedules
Analytics
CI / CD Analytics
Repository Analytics
Value Stream Analytics
Wiki
Wiki
Snippets
Snippets
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Create a new issue
Jobs
Commits
Issue Boards
Open sidebar
林焕东
Element
Commits
70c653a2
Commit
70c653a2
authored
Oct 17, 2016
by
cinwell.li
Committed by
GitHub
Oct 17, 2016
Browse files
Options
Browse Files
Download
Plain Diff
Merge pull request #465 from QingWei-Li/unittest
Unittest
parents
0f608666
4f732b1b
Changes
11
Hide whitespace changes
Inline
Side-by-side
Showing
11 changed files
with
59 additions
and
51 deletions
+59
-51
CHANGELOG.md
CHANGELOG.md
+4
-0
LICENSE
LICENSE
+1
-1
build/config.js
build/config.js
+13
-7
build/cooking.conf.js
build/cooking.conf.js
+1
-1
examples/docs/zh-cn/input.md
examples/docs/zh-cn/input.md
+0
-2
examples/docs/zh-cn/message-box.md
examples/docs/zh-cn/message-box.md
+1
-1
package.json
package.json
+9
-10
packages/form/src/form-item.vue
packages/form/src/form-item.vue
+14
-6
packages/input/src/input.vue
packages/input/src/input.vue
+7
-20
packages/menu/src/menu.vue
packages/menu/src/menu.vue
+2
-0
packages/message-box/src/main.vue
packages/message-box/src/main.vue
+7
-3
No files found.
CHANGELOG.md
View file @
70c653a2
...
@@ -4,6 +4,10 @@
...
@@ -4,6 +4,10 @@
*2016-XX-XX*
*2016-XX-XX*
-
修复 Form reset method 对日期控件不起效的问题
-
修复 Dialog 和 Message Box 在 body 无溢出时错误地添加 padding-right 的问题
-
修复 Message Box 的 prompt 在打开时会携带之前的验证状态的问题
#### 非兼容性更新
#### 非兼容性更新
-
全屏 Loading 现在默认不再锁定屏幕滚动。如果需要的话,可添加
`lock`
修饰符
-
全屏 Loading 现在默认不再锁定屏幕滚动。如果需要的话,可添加
`lock`
修饰符
...
...
LICENSE
View file @
70c653a2
The MIT License (MIT)
The MIT License (MIT)
Copyright (c) 2016
element-ui
Copyright (c) 2016
ElemeFE
Permission is hereby granted, free of charge, to any person obtaining a copy
Permission is hereby granted, free of charge, to any person obtaining a copy
of this software and associated documentation files (the "Software"), to deal
of this software and associated documentation files (the "Software"), to deal
...
...
build/config.js
View file @
70c653a2
var
Components
=
require
(
'
../components.json
'
);
var
Components
=
require
(
'
../components.json
'
);
var
path
=
require
(
'
path
'
);
var
path
=
require
(
'
path
'
);
var
dependencies
=
require
(
'
../package.json
'
).
dependencies
;
var
externals
=
{};
var
externals
=
{};
Object
.
keys
(
Components
).
forEach
(
function
(
key
)
{
Object
.
keys
(
Components
).
forEach
(
function
(
key
)
{
...
@@ -7,18 +8,16 @@ Object.keys(Components).forEach(function(key) {
...
@@ -7,18 +8,16 @@ Object.keys(Components).forEach(function(key) {
externals
[
`element-ui/packages/
${
key
}
/style.css`
]
=
`element-ui/lib/
${
key
}
/style.css`
;
externals
[
`element-ui/packages/
${
key
}
/style.css`
]
=
`element-ui/lib/
${
key
}
/style.css`
;
});
});
Object
.
keys
(
dependencies
).
forEach
(
function
(
key
)
{
externals
[
key
]
=
key
;
});
externals
[
'
element-ui/src/utils/clickoutside
'
]
=
'
element-ui/lib/utils/clickoutside
'
;
externals
[
'
element-ui/src/utils/clickoutside
'
]
=
'
element-ui/lib/utils/clickoutside
'
;
externals
[
'
element-ui/src/utils/popper
'
]
=
'
element-ui/lib/utils/popper
'
;
externals
[
'
element-ui/src/utils/popper
'
]
=
'
element-ui/lib/utils/popper
'
;
externals
[
'
element-ui/src/utils/vue-popper
'
]
=
'
element-ui/lib/utils/vue-popper
'
;
externals
[
'
element-ui/src/utils/vue-popper
'
]
=
'
element-ui/lib/utils/vue-popper
'
;
externals
[
'
vue-popup
'
]
=
'
vue-popup
'
;
exports
.
externals
=
Object
.
assign
({
exports
.
externals
=
Object
.
assign
({
vue
:
{
vue
:
'
vue
'
root
:
'
Vue
'
,
commonjs
:
'
vue
'
,
commonjs2
:
'
vue
'
,
amd
:
'
vue
'
}
},
externals
);
},
externals
);
exports
.
alias
=
{
exports
.
alias
=
{
...
@@ -28,6 +27,13 @@ exports.alias = {
...
@@ -28,6 +27,13 @@ exports.alias = {
'
element-ui
'
:
path
.
resolve
(
__dirname
,
'
../
'
)
'
element-ui
'
:
path
.
resolve
(
__dirname
,
'
../
'
)
};
};
exports
.
vue
=
{
root
:
'
Vue
'
,
commonjs
:
'
vue
'
,
commonjs2
:
'
vue
'
,
amd
:
'
vue
'
};
exports
.
jsexclude
=
/node_modules|utils
\/
popper
\.
js|utils
\/
date.
\j
s/
;
exports
.
jsexclude
=
/node_modules|utils
\/
popper
\.
js|utils
\/
date.
\j
s/
;
exports
.
postcss
=
function
(
webapck
)
{
exports
.
postcss
=
function
(
webapck
)
{
...
...
build/cooking.conf.js
View file @
70c653a2
...
@@ -9,7 +9,7 @@ cooking.set({
...
@@ -9,7 +9,7 @@ cooking.set({
moduleName
:
'
ELEMENT
'
,
moduleName
:
'
ELEMENT
'
,
extends
:
[
'
vue2
'
],
extends
:
[
'
vue2
'
],
alias
:
config
.
alias
,
alias
:
config
.
alias
,
externals
:
{
vue
:
config
.
externals
.
vue
}
externals
:
{
vue
:
config
.
vue
}
});
});
cooking
.
add
(
'
output.filename
'
,
'
index.js
'
);
cooking
.
add
(
'
output.filename
'
,
'
index.js
'
);
...
...
examples/docs/zh-cn/input.md
View file @
70c653a2
...
@@ -200,7 +200,6 @@
...
@@ -200,7 +200,6 @@
```
html
```
html
<el-input
<el-input
placeholder=
"请输入内容"
placeholder=
"请输入内容"
:number=
"true"
v-model=
"input"
>
v-model=
"input"
>
</el-input>
</el-input>
```
```
...
@@ -636,7 +635,6 @@
...
@@ -636,7 +635,6 @@
| disabled | 禁用 | boolean | — | false |
| disabled | 禁用 | boolean | — | false |
| size | 输入框尺寸,只在
`type!="textarea"`
时有效 | string | large, small, mini | — |
| size | 输入框尺寸,只在
`type!="textarea"`
时有效 | string | large, small, mini | — |
| icon | 输入框尾部图标 | string | — | — |
| icon | 输入框尾部图标 | string | — | — |
| number | 指定 model 值为 number 类型 | boolean | — | false |
| rows | 输入框行数,只对
`type="textarea"`
有效 | number | — | 2 |
| rows | 输入框行数,只对
`type="textarea"`
有效 | number | — | 2 |
| autosize | 自适应内容高度,只对
`type="textarea"`
有效,可传入对象,如,{ minRows: 2, maxRows: 6 } | boolean/object | — | false |
| autosize | 自适应内容高度,只对
`type="textarea"`
有效,可传入对象,如,{ minRows: 2, maxRows: 6 } | boolean/object | — | false |
...
...
examples/docs/zh-cn/message-box.md
View file @
70c653a2
...
@@ -143,7 +143,7 @@
...
@@ -143,7 +143,7 @@
this
.
$prompt
(
'
请输入邮箱
'
,
'
提示
'
,
{
this
.
$prompt
(
'
请输入邮箱
'
,
'
提示
'
,
{
inputPattern
:
/
[\w
!#$%&'*+
/
=?^_`{|}~-
]
+
(?:\.[\w
!#$%&'*+
/
=?^_`{|}~-
]
+
)
*@
(?:[\w](?:[\w
-
]
*
[\w])?\.)
+
[\w](?:[\w
-
]
*
[\w])?
/
,
inputPattern
:
/
[\w
!#$%&'*+
/
=?^_`{|}~-
]
+
(?:\.[\w
!#$%&'*+
/
=?^_`{|}~-
]
+
)
*@
(?:[\w](?:[\w
-
]
*
[\w])?\.)
+
[\w](?:[\w
-
]
*
[\w])?
/
,
inputErrorMessage
:
'
邮箱格式不正确
'
inputErrorMessage
:
'
邮箱格式不正确
'
}).
then
(
value
=>
{
}).
then
(
({
value
})
=>
{
this
.
$message
({
this
.
$message
({
type
:
'
success
'
,
type
:
'
success
'
,
message
:
'
你的邮箱是:
'
+
value
message
:
'
你的邮箱是:
'
+
value
...
...
package.json
View file @
70c653a2
...
@@ -25,7 +25,7 @@
...
@@ -25,7 +25,7 @@
},
},
"repository"
:
{
"repository"
:
{
"type"
:
"git"
,
"type"
:
"git"
,
"url"
:
"git@github.com:
elemefe
/element.git"
"url"
:
"git@github.com:
ElemeFE
/element.git"
},
},
"homepage"
:
"
http://element.eleme.io
"
,
"homepage"
:
"
http://element.eleme.io
"
,
"keywords"
:
[
"keywords"
:
[
...
@@ -35,17 +35,14 @@
...
@@ -35,17 +35,14 @@
],
],
"license"
:
"
MIT
"
,
"license"
:
"
MIT
"
,
"bugs"
:
{
"bugs"
:
{
"url"
:
"
https://github.com/
elemefe
/element/issues
"
"url"
:
"
https://github.com/
ElemeFE
/element/issues
"
},
},
"dependencies"
:
{
"dependencies"
:
{
"
async-validator
"
:
"
^1.6.6
"
,
"
async-validator
"
:
"
^1.6.6
"
,
"
gulp
"
:
"
^3.9.1
"
,
"
object-assign
"
:
"
^4.1.0
"
,
"
gulp-cssmin
"
:
"
^0.1.7
"
,
"
gulp-postcss
"
:
"
^6.1.1
"
,
"
object-equal
"
:
"
^1.0.0
"
,
"
object-equal
"
:
"
^1.0.0
"
,
"
postcss-salad
"
:
"
^1.0.5
"
,
"
throttle-debounce
"
:
"
^1.0.1
"
,
"
throttle-debounce
"
:
"
^1.0.1
"
,
"
vue-popup
"
:
"
^0.2.
8
"
,
"
vue-popup
"
:
"
^0.2.
9
"
,
"
wind-dom
"
:
"
0.0.3
"
"
wind-dom
"
:
"
0.0.3
"
},
},
"devDependencies"
:
{
"devDependencies"
:
{
...
@@ -67,6 +64,9 @@
...
@@ -67,6 +64,9 @@
"
file-loader
"
:
"
^0.9.0
"
,
"
file-loader
"
:
"
^0.9.0
"
,
"
file-save
"
:
"
^0.2.0
"
,
"
file-save
"
:
"
^0.2.0
"
,
"
gh-pages
"
:
"
^0.11.0
"
,
"
gh-pages
"
:
"
^0.11.0
"
,
"
gulp
"
:
"
^3.9.1
"
,
"
gulp-cssmin
"
:
"
^0.1.7
"
,
"
gulp-postcss
"
:
"
^6.1.1
"
,
"
highlight.js
"
:
"
^9.3.0
"
,
"
highlight.js
"
:
"
^9.3.0
"
,
"
html-loader
"
:
"
^0.4.3
"
,
"
html-loader
"
:
"
^0.4.3
"
,
"
html-webpack-plugin
"
:
"
^2.22.0
"
,
"
html-webpack-plugin
"
:
"
^2.22.0
"
,
...
@@ -87,10 +87,10 @@
...
@@ -87,10 +87,10 @@
"
markdown-it
"
:
"
^6.1.1
"
,
"
markdown-it
"
:
"
^6.1.1
"
,
"
markdown-it-container
"
:
"
^2.0.0
"
,
"
markdown-it-container
"
:
"
^2.0.0
"
,
"
mocha
"
:
"
^3.1.1
"
,
"
mocha
"
:
"
^3.1.1
"
,
"
object-assign
"
:
"
^4.1.0
"
,
"
phantomjs-prebuilt
"
:
"
^2.1.13
"
,
"
phantomjs-prebuilt
"
:
"
^2.1.13
"
,
"
postcss
"
:
"
^5.1.2
"
,
"
postcss
"
:
"
^5.1.2
"
,
"
postcss-loader
"
:
"
^0.11.1
"
,
"
postcss-loader
"
:
"
^0.11.1
"
,
"
postcss-salad
"
:
"
^1.0.5
"
,
"
rimraf
"
:
"
^2.5.4
"
,
"
rimraf
"
:
"
^2.5.4
"
,
"
sinon
"
:
"
^1.17.6
"
,
"
sinon
"
:
"
^1.17.6
"
,
"
sinon-chai
"
:
"
^2.8.0
"
,
"
sinon-chai
"
:
"
^2.8.0
"
,
...
@@ -103,7 +103,6 @@
...
@@ -103,7 +103,6 @@
"
vue-markdown-loader
"
:
"
^0.5.1
"
,
"
vue-markdown-loader
"
:
"
^0.5.1
"
,
"
vue-router
"
:
"
^2.0.0
"
,
"
vue-router
"
:
"
^2.0.0
"
,
"
webpack
"
:
"
^1.13.2
"
,
"
webpack
"
:
"
^1.13.2
"
,
"
webpack-dev-server
"
:
"
^1.15.1
"
,
"
webpack-dev-server
"
:
"
^1.15.1
"
"
wind-dom
"
:
"
0.0.3
"
}
}
}
}
packages/form/src/form-item.vue
View file @
70c653a2
...
@@ -78,7 +78,8 @@
...
@@ -78,7 +78,8 @@
validateDisabled
:
false
,
validateDisabled
:
false
,
validating
:
false
,
validating
:
false
,
validator
:
{},
validator
:
{},
isRequired
:
false
isRequired
:
false
,
initialValue
:
null
};
};
},
},
methods
:
{
methods
:
{
...
@@ -118,12 +119,9 @@
...
@@ -118,12 +119,9 @@
if
(
Array
.
isArray
(
value
)
&&
value
.
length
>
0
)
{
if
(
Array
.
isArray
(
value
)
&&
value
.
length
>
0
)
{
this
.
validateDisabled
=
true
;
this
.
validateDisabled
=
true
;
model
[
this
.
prop
]
=
[];
model
[
this
.
prop
]
=
[];
}
else
if
(
typeof
value
===
'
string
'
&&
value
!==
''
)
{
}
else
if
(
value
)
{
this
.
validateDisabled
=
true
;
this
.
validateDisabled
=
true
;
model
[
this
.
prop
]
=
''
;
model
[
this
.
prop
]
=
this
.
initialValue
;
}
else
if
(
typeof
value
===
'
number
'
)
{
this
.
validateDisabled
=
true
;
model
[
this
.
prop
]
=
0
;
}
}
},
},
getRules
()
{
getRules
()
{
...
@@ -151,12 +149,22 @@
...
@@ -151,12 +149,22 @@
}
}
this
.
validate
(
'
change
'
);
this
.
validate
(
'
change
'
);
},
getInitialValue
()
{
var
value
=
this
.
form
.
model
[
this
.
prop
];
if
(
value
===
undefined
)
{
return
value
;
}
else
{
return
JSON
.
parse
(
JSON
.
stringify
(
value
));
}
}
}
},
},
mounted
()
{
mounted
()
{
if
(
this
.
prop
)
{
if
(
this
.
prop
)
{
this
.
dispatch
(
'
form
'
,
'
el.form.addField
'
,
[
this
]);
this
.
dispatch
(
'
form
'
,
'
el.form.addField
'
,
[
this
]);
this
.
initialValue
=
this
.
getInitialValue
();
let
rules
=
this
.
getRules
();
let
rules
=
this
.
getRules
();
if
(
rules
.
length
)
{
if
(
rules
.
length
)
{
...
...
packages/input/src/input.vue
View file @
70c653a2
...
@@ -13,27 +13,9 @@
...
@@ -13,27 +13,9 @@
<slot
name=
"prepend"
></slot>
<slot
name=
"prepend"
></slot>
</div>
</div>
<input
<input
v-if=
"type
=== 'text
'"
v-if=
"type
!== 'textarea
'"
class=
"el-input__inner"
class=
"el-input__inner"
v-model=
"currentValue"
:type=
"type"
type=
"text"
:name=
"name"
:placeholder=
"placeholder"
:disabled=
"disabled"
:readonly=
"readonly"
:number=
"number"
:maxlength=
"maxlength"
:minlength=
"minlength"
:autocomplete=
"autoComplete"
ref=
"input"
@
focus=
"handleFocus"
@
blur=
"handleBlur"
>
<input
v-if=
"type === 'password'"
class=
"el-input__inner"
v-model=
"currentValue"
type=
"password"
:name=
"name"
:name=
"name"
:placeholder=
"placeholder"
:placeholder=
"placeholder"
:disabled=
"disabled"
:disabled=
"disabled"
...
@@ -42,7 +24,9 @@
...
@@ -42,7 +24,9 @@
:maxlength=
"maxlength"
:maxlength=
"maxlength"
:minlength=
"minlength"
:minlength=
"minlength"
:autocomplete=
"autoComplete"
:autocomplete=
"autoComplete"
:value=
"value"
ref=
"input"
ref=
"input"
@
input=
"handleInput"
@
focus=
"handleFocus"
@
focus=
"handleFocus"
@
blur=
"handleBlur"
@
blur=
"handleBlur"
>
>
...
@@ -151,6 +135,9 @@
...
@@ -151,6 +135,9 @@
},
},
handleFocus
(
ev
)
{
handleFocus
(
ev
)
{
this
.
$emit
(
'
focus
'
,
ev
);
this
.
$emit
(
'
focus
'
,
ev
);
},
handleInput
(
ev
)
{
this
.
currentValue
=
ev
.
target
.
value
;
}
}
},
},
...
...
packages/menu/src/menu.vue
View file @
70c653a2
...
@@ -46,6 +46,7 @@
...
@@ -46,6 +46,7 @@
watch
:
{
watch
:
{
defaultActive
(
value
)
{
defaultActive
(
value
)
{
this
.
activeIndex
=
value
;
this
.
activeIndex
=
value
;
if
(
!
this
.
menuItems
[
value
])
return
;
let
indexPath
=
this
.
menuItems
[
value
].
indexPath
;
let
indexPath
=
this
.
menuItems
[
value
].
indexPath
;
this
.
handleSelect
(
value
,
indexPath
);
this
.
handleSelect
(
value
,
indexPath
);
...
@@ -97,6 +98,7 @@
...
@@ -97,6 +98,7 @@
},
},
openActiveItemMenus
()
{
openActiveItemMenus
()
{
let
index
=
this
.
activeIndex
;
let
index
=
this
.
activeIndex
;
if
(
!
this
.
menuItems
[
index
])
return
;
if
(
index
&&
this
.
mode
===
'
vertical
'
)
{
if
(
index
&&
this
.
mode
===
'
vertical
'
)
{
let
indexPath
=
this
.
menuItems
[
index
].
indexPath
;
let
indexPath
=
this
.
menuItems
[
index
].
indexPath
;
...
...
packages/message-box/src/main.vue
View file @
70c653a2
...
@@ -140,19 +140,23 @@
...
@@ -140,19 +140,23 @@
},
},
watch
:
{
watch
:
{
inputValue
()
{
inputValue
(
val
)
{
if
(
this
.
$type
===
'
prompt
'
)
{
if
(
this
.
$type
===
'
prompt
'
&&
val
!==
null
)
{
this
.
validate
();
this
.
validate
();
}
}
},
},
value
(
val
)
{
value
(
val
)
{
if
(
val
&&
this
.
$type
===
'
prompt
'
)
{
if
(
this
.
$type
!==
'
prompt
'
)
return
;
if
(
val
)
{
setTimeout
(()
=>
{
setTimeout
(()
=>
{
if
(
this
.
$refs
.
input
&&
this
.
$refs
.
input
.
$el
)
{
if
(
this
.
$refs
.
input
&&
this
.
$refs
.
input
.
$el
)
{
this
.
$refs
.
input
.
$el
.
querySelector
(
'
input
'
).
focus
();
this
.
$refs
.
input
.
$el
.
querySelector
(
'
input
'
).
focus
();
}
}
},
500
);
},
500
);
}
else
{
this
.
editorErrorMessage
=
''
;
removeClass
(
this
.
$refs
.
input
.
$el
.
querySelector
(
'
input
'
),
'
invalid
'
);
}
}
}
}
},
},
...
...
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment