Skip to content

Commit 5bbb715

Browse files
committed
U Init
0 parents  commit 5bbb715

File tree

150 files changed

+33181
-0
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

150 files changed

+33181
-0
lines changed

.babelrc

Lines changed: 29 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,29 @@
1+
{
2+
"plugins": [
3+
"syntax-dynamic-import",
4+
"transform-runtime",
5+
"transform-vue-jsx",
6+
"transform-es2015-modules-commonjs"
7+
],
8+
"presets": [
9+
[
10+
"env",
11+
{
12+
"modules": false,
13+
"targets": {
14+
"browsers": [
15+
"> 1%",
16+
"last 2 versions",
17+
"not ie <= 8"
18+
]
19+
}
20+
}
21+
],
22+
"stage-2"
23+
],
24+
"env": {
25+
"test": {
26+
"plugins": ["istanbul"]
27+
}
28+
}
29+
}

.editorconfig

Lines changed: 16 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,16 @@
1+
root = true
2+
3+
[*]
4+
charset = utf-8
5+
end_of_line = lf
6+
indent_size = 4
7+
indent_style = space
8+
insert_final_newline = true
9+
trim_trailing_whitespace = true
10+
11+
[*.md]
12+
trim_trailing_whitespace = false
13+
14+
[{package.json,.travis.yml}]
15+
indent_style = space
16+
indent_size = 2

.gitignore

Lines changed: 25 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,25 @@
1+
.DS_Store
2+
node_modules
3+
dev
4+
dist
5+
coverage
6+
.cache
7+
package-lock.json
8+
9+
# local env files
10+
.env.local
11+
.env.*.local
12+
13+
# Log files
14+
npm-debug.log*
15+
yarn-debug.log*
16+
yarn-error.log*
17+
18+
# Editor directories and files
19+
.idea
20+
.vscode
21+
*.suo
22+
*.ntvs*
23+
*.njsproj
24+
*.sln
25+
*.sw?

CHANGELOG.md

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,3 @@
1+
## 2.0.0 (2019-10-20)
2+
3+
* `U` 整理docs、examples、tests

CLS.md

Lines changed: 100 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,100 @@
1+
# 通用组件语言规范(Common Components Language Specification)
2+
3+
通用组件语言规范是将所有组件抽象为统一模型的一种标准描述方式,以JSON的形式呈现。
4+
5+
## 特点
6+
7+
1. 通过改变JSON的属性和值,实现更新界面表现的目的,是声明式编程的一种实现。
8+
2. 以JSON形式的表述,与语言、框架无关。
9+
3. 组件抽象为统一模型,减少对说明文档的依赖。
10+
11+
## 设计原则
12+
13+
1. 数据驱动
14+
2. 语义化
15+
3. 开发者友好
16+
17+
18+
## 属性
19+
20+
通用组件语言规范的属性分成两个部分:
21+
22+
* 名称
23+
* 实体:包含 Attributes、Events、Items、Validity 的子级结构。
24+
25+
### 名称定义
26+
27+
当前组件实例的标识。
28+
29+
| 属性名 | 类型 | 是否必填 | 说明
30+
|-------|--------|----------|----------
31+
| id | String | Optional | 唯一标识,用于区分每一个组件实例
32+
| name | String | Optional | 数据标识,用于提交到服务端
33+
| label | String | Optional | 文案,用于展示给用户
34+
35+
### 实体定义
36+
37+
| 属性名 | 类型 | 是否必填 | 说明
38+
|------------|--------|------------|----------
39+
| component | String | Required | 组件类型,取值依赖组件的实现
40+
| value | String/Array/Object | Optional | 组件取值,具体类型依赖validity.format 决定
41+
| attributes | Object | Optional | 组件属性,详见 Attributes 定义
42+
| events | Object | Optional | 组件触发的事件,详见 Events 定义
43+
| items | Array | Optional | 下个层级
44+
| validity | Object | Optional | 数据有效性校验,详见 validity 定义
45+
46+
### Attributes 定义
47+
48+
| 属性名 | 类型 | 是否必填 | 默认值 | 说明
49+
|-------------|---------|----------|----------|----------
50+
| class | String | Optional | - | 组件容器的样式名
51+
| style | String | Optional | - | 组件容器的style
52+
| hide | Boolean | Optional | false | 是否隐藏
53+
| placeholder | String | Optional | - | 默认占位文案
54+
| multiple | Boolean | Optional | false | 是否items子项可多选
55+
| defaults | Array | Optional | - | 默认展示,如items的默认展示
56+
| disabled | Boolean | Optional | false | 是否禁用编辑
57+
| readonly | Boolean | Optional | false | 是否只读
58+
| sortable | Boolean | Optional | false | 是否支持对items子项排序
59+
| searchable | Boolean | Optional | false | 是否支持对items子项搜索
60+
| resetable | Boolean | Optional | false | 是否在组件本身支持清空value
61+
| repeated | Boolean | Optional | false | 为true时,根据value循环渲染items对应的组件
62+
63+
### Events 定义
64+
65+
| 属性名 | 类型 | 是否必填 | 默认值 | 说明
66+
|-------------|----------|----------|--------------|----------
67+
| click | Function | Optional | onClick | 抛出当前组件的点击事件
68+
| dblClick | Function | Optional | onDblClick | 抛出当前组件的双击事件
69+
| mouseEnter | Function | Optional | onMouseEnter | 抛出当前组件的鼠标移入事件
70+
| mouseLeave | Function | Optional | onMouseLeave | 抛出当前组件的鼠标移出事件
71+
| change | Function | Optional | onChange | 抛出当前组件的值变化
72+
| dragEnd | Function | Optional | onDragEnd | 抛出当前组件的拖拽结束事件
73+
74+
### Validity 定义
75+
76+
| 属性名 | 类型 | 是否必填 | 默认值 | 说明
77+
|-------------|----------|----------|----------|----------
78+
| required | String | Optional | false | 组件值是否必填
79+
| format | String | Optional | - | 组件值的数据类型,包含String/Number/StringArray/StringArrayCommas *
80+
| min | Number | Optional | - | 最小值/最小长度
81+
| max | Number | Optional | - | 最大值/最大长度
82+
83+
84+
## 方法
85+
86+
| 方法名 | 说明
87+
|----------------------------|-------------------------
88+
| getValue(name) | 通过name获取组件的value取值,并结合validity的format字段,返回对应数据类型的value
89+
| setValue(name, value) | 通过name设置组件的value取值,value入参需结合validity的format字段,传入对应的数据类型
90+
| getAttributes(name) | 通过name获取组件属性
91+
| setAttributes(name, value) | 通过name设置组件属性
92+
| show(id) | 展示指定id对应的组件
93+
| hide(id) | 隐藏制定id对应的组件
94+
| getItem(id) | 获取id对应的组件和其完整的配置
95+
| removeItem(id) | 删除id对应的组件
96+
97+
98+
## 实例
99+
100+
WeComponents 是 CLS 基于vuejs的一个实现。

CONTRIBUTING.md

Lines changed: 30 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,30 @@
1+
# Contributing
2+
3+
**安装组件**
4+
5+
```console
6+
npm install @tencent/wecomponents
7+
```
8+
9+
**开发组件**
10+
11+
```console
12+
npm start
13+
```
14+
15+
**生成文档**
16+
17+
```console
18+
npm run docs
19+
```
20+
21+
**单元测试**
22+
23+
```console
24+
npm run test
25+
```
26+
27+
如果你有好的意见或建议,欢迎给我们提 Issues 或 Pull Requests。
28+
29+
[腾讯开源激励计划](https://opensource.tencent.com/contribution) 鼓励开发者的参与和贡献,期待你的加入。
30+

0 commit comments

Comments
 (0)