@cloudbase/weda-ui-mp 3.15.8 → 3.17.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/components/chart/ec-canvas/ec-canvas.js +1 -25
- package/components/form/select/dropdown-select/index.js +8 -0
- package/components/form/select/dropdown-select/index.wxml +1 -1
- package/components/form/selectMultiple/dropdown-select/index.js +15 -17
- package/components/form/selectMultiple/dropdown-select/index.wxml +1 -1
- package/components/form/selectMultiple/index.js +29 -7
- package/components/form/selectMultiple/index.wxml +2 -1
- package/components/form/uploaderFile/index.js +23 -220
- package/components/form/uploaderFile/upload.js +283 -0
- package/components/richText/copy/index.wxss +45 -48
- package/components/wd-ad/index.js +101 -5
- package/components/wd-ad/index.wxml +2 -0
- package/components/wd-select/index.js +18 -14
- package/components/wd-select/index.wxml +7 -3
- package/components/wd-select/select/dropdown-select/index.js +192 -0
- package/components/wd-select/select/dropdown-select/index.json +4 -0
- package/components/wd-select/select/dropdown-select/index.wxml +37 -0
- package/components/wd-select/select/dropdown-select/index.wxss +329 -0
- package/components/wd-select/select/formats-util.js +12 -1
- package/components/wd-select/select/index.js +208 -344
- package/components/wd-select/select/index.json +1 -1
- package/components/wd-select/select/index.wxml +16 -16
- package/components/wd-select-multiple/index.js +16 -8
- package/components/wd-select-multiple/index.json +1 -1
- package/components/wd-select-multiple/index.wxml +6 -2
- package/components/wd-upload-image/index.js +148 -4
- package/components/wd-upload-image/index.wxml +5 -0
- package/package.json +1 -1
- package/utils/platform.js +27 -8
|
@@ -0,0 +1,192 @@
|
|
|
1
|
+
Component({
|
|
2
|
+
properties: {
|
|
3
|
+
isActive: {
|
|
4
|
+
type: Boolean,
|
|
5
|
+
value: true,
|
|
6
|
+
},
|
|
7
|
+
option: {
|
|
8
|
+
type: Array,
|
|
9
|
+
value: [],
|
|
10
|
+
},
|
|
11
|
+
searchStatus: {
|
|
12
|
+
type: Number,
|
|
13
|
+
value: 0,
|
|
14
|
+
},
|
|
15
|
+
loadStatus: {
|
|
16
|
+
type: Number,
|
|
17
|
+
value: 0,
|
|
18
|
+
},
|
|
19
|
+
disabled: {
|
|
20
|
+
type: Boolean,
|
|
21
|
+
value: false,
|
|
22
|
+
},
|
|
23
|
+
ignoreCase: {
|
|
24
|
+
type: Boolean,
|
|
25
|
+
value: true,
|
|
26
|
+
},
|
|
27
|
+
selectedValue: {
|
|
28
|
+
type: Array,
|
|
29
|
+
value: [],
|
|
30
|
+
},
|
|
31
|
+
searchable: {
|
|
32
|
+
type: Boolean,
|
|
33
|
+
value: true,
|
|
34
|
+
},
|
|
35
|
+
filterable: {
|
|
36
|
+
type: Boolean,
|
|
37
|
+
value: false,
|
|
38
|
+
},
|
|
39
|
+
multiple: {
|
|
40
|
+
type: Boolean,
|
|
41
|
+
value: false,
|
|
42
|
+
},
|
|
43
|
+
currentPageNo: {
|
|
44
|
+
type: Number,
|
|
45
|
+
value: 1,
|
|
46
|
+
},
|
|
47
|
+
},
|
|
48
|
+
data: {
|
|
49
|
+
height: '390px',
|
|
50
|
+
focus: false,
|
|
51
|
+
searchValue: '',
|
|
52
|
+
index: -1,
|
|
53
|
+
status: 0,
|
|
54
|
+
showOption: [],
|
|
55
|
+
pageNo: 1,
|
|
56
|
+
selectedCache: [], // 缓存当前选中值
|
|
57
|
+
},
|
|
58
|
+
|
|
59
|
+
methods: {
|
|
60
|
+
cancelPicker: function (e) {
|
|
61
|
+
if (this.data.multiple) {
|
|
62
|
+
const { option } = this.properties;
|
|
63
|
+
this.setData({ selectedCache: option.filter((item) => item.check) });
|
|
64
|
+
}
|
|
65
|
+
this.triggerEvent('onClosePicker');
|
|
66
|
+
},
|
|
67
|
+
// 监听输入
|
|
68
|
+
bindinput: function (event) {
|
|
69
|
+
const value = event.detail.value;
|
|
70
|
+
this.setData({
|
|
71
|
+
searchValue: value,
|
|
72
|
+
pageNo: 1,
|
|
73
|
+
});
|
|
74
|
+
this.triggerEvent('search', { value });
|
|
75
|
+
},
|
|
76
|
+
// 清空输入
|
|
77
|
+
clear: function () {
|
|
78
|
+
this.setData({
|
|
79
|
+
searchValue: '',
|
|
80
|
+
showOption: this.properties.option,
|
|
81
|
+
pageNo: 1,
|
|
82
|
+
});
|
|
83
|
+
this.triggerEvent('search', { value: '' });
|
|
84
|
+
},
|
|
85
|
+
// 取消
|
|
86
|
+
shrink: function () {
|
|
87
|
+
this.setData({
|
|
88
|
+
height: '390px',
|
|
89
|
+
focus: false,
|
|
90
|
+
searchValue: '',
|
|
91
|
+
pageNo: 1,
|
|
92
|
+
showOption: this.properties.option,
|
|
93
|
+
});
|
|
94
|
+
this.triggerEvent('search', { value: '', noEvent: true });
|
|
95
|
+
},
|
|
96
|
+
confirmModal: function () {
|
|
97
|
+
const { selectedCache } = this.data;
|
|
98
|
+
this.triggerEvent('onSelectPicker', selectedCache);
|
|
99
|
+
},
|
|
100
|
+
// 获取焦点
|
|
101
|
+
onFocus: function () {
|
|
102
|
+
this.setData({
|
|
103
|
+
height: '550px',
|
|
104
|
+
focus: true,
|
|
105
|
+
});
|
|
106
|
+
},
|
|
107
|
+
// 处理当前选中值
|
|
108
|
+
dealSelectedValue(item) {
|
|
109
|
+
const { selectedCache } = this.data;
|
|
110
|
+
const index = selectedCache.findIndex((v) => v.value === item.value);
|
|
111
|
+
if (index > -1) {
|
|
112
|
+
return [...selectedCache.slice(0, index), ...selectedCache.slice(index + 1)];
|
|
113
|
+
}
|
|
114
|
+
|
|
115
|
+
return [...selectedCache, item];
|
|
116
|
+
},
|
|
117
|
+
// 选中项
|
|
118
|
+
onItemClick: function (e) {
|
|
119
|
+
const item = e.currentTarget.dataset.value;
|
|
120
|
+
if (item.disabled) return;
|
|
121
|
+
if (this.data.multiple) {
|
|
122
|
+
this.setData({
|
|
123
|
+
selectedCache: this.dealSelectedValue(item),
|
|
124
|
+
});
|
|
125
|
+
} else {
|
|
126
|
+
this.triggerEvent('onSelectPicker', item);
|
|
127
|
+
}
|
|
128
|
+
},
|
|
129
|
+
// 滚动到底部
|
|
130
|
+
bindscrolltolower: function () {
|
|
131
|
+
if (this.properties.loadStatus === 0) {
|
|
132
|
+
const pageNo = this.data.pageNo + 1;
|
|
133
|
+
this.setData({ pageNo });
|
|
134
|
+
this.triggerEvent('_childFetchData', {
|
|
135
|
+
pageNo,
|
|
136
|
+
searchValue: this.data.searchValue,
|
|
137
|
+
});
|
|
138
|
+
}
|
|
139
|
+
},
|
|
140
|
+
// 重试
|
|
141
|
+
onRetry: function () {
|
|
142
|
+
const { pageNo } = this.data;
|
|
143
|
+
if (this.properties.loadStatus === 2) {
|
|
144
|
+
this.setData({
|
|
145
|
+
status: 1,
|
|
146
|
+
});
|
|
147
|
+
this.triggerEvent('_childFetchData', {
|
|
148
|
+
pageNo: pageNo,
|
|
149
|
+
searchValue: this.data.searchValue,
|
|
150
|
+
});
|
|
151
|
+
}
|
|
152
|
+
},
|
|
153
|
+
},
|
|
154
|
+
observers: {
|
|
155
|
+
'option,searchValue,filterable': function (option, searchValue, filterable) {
|
|
156
|
+
const { ignoreCase } = this.properties;
|
|
157
|
+
if (filterable) {
|
|
158
|
+
this.setData({
|
|
159
|
+
showOption: option,
|
|
160
|
+
});
|
|
161
|
+
} else {
|
|
162
|
+
const searchRange = option.filter((item) => {
|
|
163
|
+
if (ignoreCase) {
|
|
164
|
+
return String(item.label).toLowerCase().indexOf(searchValue.toLowerCase()) !== -1;
|
|
165
|
+
}
|
|
166
|
+
return item.label.indexOf(searchValue) !== -1;
|
|
167
|
+
});
|
|
168
|
+
this.setData({
|
|
169
|
+
showOption: searchRange,
|
|
170
|
+
status: searchRange.length > 0 ? 0 : 3,
|
|
171
|
+
});
|
|
172
|
+
}
|
|
173
|
+
},
|
|
174
|
+
'selectedValue,showOption': function (selectedValue, showOption) {
|
|
175
|
+
const data = Array.isArray(selectedValue) ? selectedValue : [selectedValue];
|
|
176
|
+
const optionMap = showOption.reduce((pre, cur) => {
|
|
177
|
+
pre[cur.value] = cur;
|
|
178
|
+
return pre;
|
|
179
|
+
}, {});
|
|
180
|
+
const selectedCache = data.map((d) => optionMap[d]).filter((item) => !!item);
|
|
181
|
+
this.setData({ selectedCache });
|
|
182
|
+
},
|
|
183
|
+
loadStatus: function (loadStatus) {
|
|
184
|
+
this.setData({
|
|
185
|
+
status: loadStatus,
|
|
186
|
+
});
|
|
187
|
+
},
|
|
188
|
+
currentPageNo: function (currentPageNo) {
|
|
189
|
+
this.setData({ pageNo: currentPageNo });
|
|
190
|
+
},
|
|
191
|
+
},
|
|
192
|
+
});
|
|
@@ -0,0 +1,37 @@
|
|
|
1
|
+
<wxs module="tools"> function includes(array, item) { return array.map(function (v) { return v.value }).indexOf(item.value) !== -1 } module.exports = { includes: includes } </wxs>
|
|
2
|
+
<view class="weda-ui-custom-picker">
|
|
3
|
+
<view class="weda-ui-custom-mask" data-clear="false" bindtap="cancelPicker"></view>
|
|
4
|
+
<view class="weda-ui-custom-picker__inner" style="height: {{height}};">
|
|
5
|
+
<view wx:if="{{!focus}}" class="weda-ui-custom-picker__header">
|
|
6
|
+
<button class="weda-ui-custom-picker__header-btn" bindtap="cancelPicker" data-clear="false">取消</button>
|
|
7
|
+
<button wx:if="{{multiple}}" class="weda-ui-custom-picker__header-btn" bindtap="confirmModal">确定</button>
|
|
8
|
+
</view>
|
|
9
|
+
<view wx:if="{{searchable}}" class="weda-ui-custom-search {{focus?'is-focused':''}}" style="{{focus? 'margin: 34rpx 32rpx 16rpx 32rpx':'margin: 20rpx 32rpx'}}">
|
|
10
|
+
<view class="weda-ui-custom-search-box" bindtap="onFocus">
|
|
11
|
+
<input class="weda-ui-input" focus="{{focus}}" bindfocus="onFocus" bindblur="onBlur" bindinput="bindinput" value="{{searchValue}}" hold-keyboard="true" bindconfirm="bindconfirm" />
|
|
12
|
+
<view class="weda-ui-custom-search-box__label {{multiple?'multiple':''}}">
|
|
13
|
+
<span class="weda-ui-custom-search-box__search-icon"></span>
|
|
14
|
+
<span class="weda-ui-custom-search-box__search-placeholder"> 搜索 </span>
|
|
15
|
+
</view>
|
|
16
|
+
<span wx:if="{{focus && searchValue !== ''}}" class="weda-ui-custom-search-box__dismiss-icon" bindtap="clear"></span>
|
|
17
|
+
</view>
|
|
18
|
+
<text class="weda-ui-custom-search__btn-cancle" bindtap="shrink">取消</text>
|
|
19
|
+
</view>
|
|
20
|
+
<scroll-view wx:if="{{status !== -1}}" class="weda-ui-custom-picker__body" scroll-y="true" enhanced="true" bindscrolltolower="bindscrolltolower">
|
|
21
|
+
<view class="weda-ui-custom-picker__cloumns">
|
|
22
|
+
<view class="weda-ui-custom-picker__cloumn">
|
|
23
|
+
<view wx:for="{{showOption}}" wx:key="i" wx:for-index="i" class="weda-ui-custom-picker__cloumn-item {{multiple?'multiple':''}} {{ tools.includes(selectedCache, item) ? 'is-selected':''}} {{ (item.disabled) ? 'is-disabled':''}}" bindtap="onItemClick" data-value="{{item}}">
|
|
24
|
+
<text class="weda-ui-custom-picker__cloumn-item-text {{multiple?'multiple':''}}">{{item.label}}</text>
|
|
25
|
+
</view>
|
|
26
|
+
<view wx:if="{{status === 1}}" class="weda-ui-custom-picker__status weda-ui-custom-picker__status--loading"> <i class="weda-ui-custom-picker__loading-icon"></i>加载中... </view>
|
|
27
|
+
<view wx:if="{{status === 2}}" class="weda-ui-custom-picker__status">
|
|
28
|
+
加载失败
|
|
29
|
+
<text class="weda-ui-custom-picker__btn weda-ui-custom-picker__btn--link" bindtap="onRetry">重试</text>
|
|
30
|
+
</view>
|
|
31
|
+
<view wx:if="{{status === 3&&!showOption.length}}" class="weda-ui-custom-picker__status"> 暂无数据 </view>
|
|
32
|
+
</view>
|
|
33
|
+
</view>
|
|
34
|
+
</scroll-view>
|
|
35
|
+
<view wx:if="{{status === -1}}" class="weda-ui-custom-picker__empty">暂无数据</view>
|
|
36
|
+
</view>
|
|
37
|
+
</view>
|
|
@@ -0,0 +1,329 @@
|
|
|
1
|
+
.weda-ui-custom-mask {
|
|
2
|
+
position: fixed;
|
|
3
|
+
left: 0;
|
|
4
|
+
right: 0;
|
|
5
|
+
bottom: 0;
|
|
6
|
+
top: 0;
|
|
7
|
+
background: rgba(0, 0, 0, 0.4);
|
|
8
|
+
transition: all 0.4s ease-in-out 0;
|
|
9
|
+
pointer-events: none;
|
|
10
|
+
opacity: 1;
|
|
11
|
+
pointer-events: auto;
|
|
12
|
+
}
|
|
13
|
+
|
|
14
|
+
.weda-ui-custom-picker {
|
|
15
|
+
position: fixed;
|
|
16
|
+
left: 0;
|
|
17
|
+
right: 0;
|
|
18
|
+
bottom: 0;
|
|
19
|
+
top: 0;
|
|
20
|
+
z-index: 1001;
|
|
21
|
+
}
|
|
22
|
+
|
|
23
|
+
.weda-ui-custom-picker__inner {
|
|
24
|
+
position: absolute;
|
|
25
|
+
left: 0;
|
|
26
|
+
right: 0;
|
|
27
|
+
bottom: 0;
|
|
28
|
+
background-color: #fff;
|
|
29
|
+
border-radius: 10px 10px 0 0;
|
|
30
|
+
height: 390px;
|
|
31
|
+
display: flex;
|
|
32
|
+
flex-direction: column;
|
|
33
|
+
padding-bottom: 30px;
|
|
34
|
+
}
|
|
35
|
+
|
|
36
|
+
.weda-ui-custom-picker__header {
|
|
37
|
+
display: flex;
|
|
38
|
+
flex: 0 0 auto;
|
|
39
|
+
justify-content: space-between;
|
|
40
|
+
padding: 12px 20px;
|
|
41
|
+
border-bottom: 0.5px solid #e3e6eb;
|
|
42
|
+
}
|
|
43
|
+
|
|
44
|
+
.weda-ui-custom-picker__body {
|
|
45
|
+
padding: 5px 16px;
|
|
46
|
+
overflow: auto;
|
|
47
|
+
flex: 1 1 0px;
|
|
48
|
+
box-sizing: border-box;
|
|
49
|
+
}
|
|
50
|
+
|
|
51
|
+
.weda-ui-custom-picker__header-btn {
|
|
52
|
+
margin: 0;
|
|
53
|
+
background-color: transparent;
|
|
54
|
+
font-size: 16px;
|
|
55
|
+
padding: 0;
|
|
56
|
+
line-height: 24px;
|
|
57
|
+
color: rgba(0, 0, 0, 0.6);
|
|
58
|
+
}
|
|
59
|
+
|
|
60
|
+
.weda-ui-custom-picker__header-btn.is-primary {
|
|
61
|
+
color: var(--wd-color-brand, #0052d9);
|
|
62
|
+
}
|
|
63
|
+
|
|
64
|
+
.weda-ui-custom-picker__header-btn::after {
|
|
65
|
+
border: none;
|
|
66
|
+
}
|
|
67
|
+
|
|
68
|
+
.weda-ui-custom-picker__cloumns {
|
|
69
|
+
display: flex;
|
|
70
|
+
align-items: flex-start;
|
|
71
|
+
position: relative;
|
|
72
|
+
/* padding: 0 16px; */
|
|
73
|
+
/* height: 200px; */
|
|
74
|
+
overflow: hidden;
|
|
75
|
+
}
|
|
76
|
+
|
|
77
|
+
.weda-ui-custom-picker__cloumn {
|
|
78
|
+
flex: 1 1 0;
|
|
79
|
+
overflow-y: auto;
|
|
80
|
+
overflow-x: hidden;
|
|
81
|
+
-webkit-overflow-scrolling: auto;
|
|
82
|
+
/* height: 199px; */
|
|
83
|
+
}
|
|
84
|
+
|
|
85
|
+
.weda-ui-custom-picker__cloumn::-webkit-scrollbar {
|
|
86
|
+
display: none;
|
|
87
|
+
}
|
|
88
|
+
|
|
89
|
+
.weda-ui-custom-picker__cloumn-item {
|
|
90
|
+
display: flex;
|
|
91
|
+
align-items: center;
|
|
92
|
+
white-space: pre-wrap;
|
|
93
|
+
height: 48px;
|
|
94
|
+
justify-content: flex-start;
|
|
95
|
+
color: rgba(0, 0, 0, 0.9);
|
|
96
|
+
position: relative;
|
|
97
|
+
}
|
|
98
|
+
|
|
99
|
+
.weda-ui-custom-picker__cloumn-item::before {
|
|
100
|
+
content: '';
|
|
101
|
+
position: absolute;
|
|
102
|
+
bottom: 0;
|
|
103
|
+
background-color: #e7e7e7;
|
|
104
|
+
width: 100%;
|
|
105
|
+
height: 1px;
|
|
106
|
+
transform: scaleY(0.5);
|
|
107
|
+
}
|
|
108
|
+
|
|
109
|
+
.weda-ui-custom-picker__cloumn-item.is-selected {
|
|
110
|
+
color: var(--wd-color-brand, #0052d9);
|
|
111
|
+
}
|
|
112
|
+
|
|
113
|
+
.weda-ui-custom-picker__cloumn-item.is-selected::after {
|
|
114
|
+
content: '';
|
|
115
|
+
display: block;
|
|
116
|
+
width: 8px;
|
|
117
|
+
height: 16px;
|
|
118
|
+
border-color: var(--wd-color-brand, #0052d9);
|
|
119
|
+
border-style: solid;
|
|
120
|
+
border-width: 0 1.5px 1.5px 0;
|
|
121
|
+
transform: rotate(45deg);
|
|
122
|
+
position: absolute;
|
|
123
|
+
right: 10px;
|
|
124
|
+
}
|
|
125
|
+
|
|
126
|
+
.weda-ui-custom-picker__cloumn-item.multiple.is-selected {
|
|
127
|
+
color: rgba(0, 0, 0, 0.9);
|
|
128
|
+
}
|
|
129
|
+
|
|
130
|
+
/* theme */
|
|
131
|
+
.weda-ui-custom-picker__cloumn-item.multiple.is-selected::after {
|
|
132
|
+
content: '';
|
|
133
|
+
width: 21px;
|
|
134
|
+
height: 21px;
|
|
135
|
+
border: none;
|
|
136
|
+
border-radius: 3px;
|
|
137
|
+
display: block;
|
|
138
|
+
position: absolute;
|
|
139
|
+
left: 0px;
|
|
140
|
+
background-color: var(--wd-color-brand, #0052d9);
|
|
141
|
+
background-image: url(data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iMTQiIGhlaWdodD0iMTAiIHZpZXdCb3g9IjAgMCAxNCAxMCIgZmlsbD0ibm9uZSIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIj4KPHBhdGggZD0iTTMuNDAxNDYgNy45NDI3QzMuNDAxNCA3Ljk0MjY0IDMuNDAxNTMgNy45NDI3NiAzLjQwMTQ2IDcuOTQyN0wwLjc1IDUuMjkxMjNMMi41NDM0OSAzLjU0OTE5TDUuMTcyMSA2LjE3NzhMMTEuMzY4NyAwTDEzLjEyNDQgMS43NTU3TDYuOTI3OCA3LjkzMzVMNi45MzcxOCA3Ljk0Mjg5TDYuOTExMDkgNy45NjgyM0M2Ljg1NyA4LjAyMDc3IDYuODAxMTQgOC4wNzAzNyA2Ljc0MzcxIDguMTE3MDRMNi4wNDEyMyA4LjgxNzM4QzUuNTUyODYgOS4zMDQyNyA0Ljc2MjQ0IDkuMzAzNjcgNC4yNzQ4MSA4LjgxNjA0TDMuNDAxNDYgNy45NDI3WiIgZmlsbD0id2hpdGUiIGZpbGwtb3BhY2l0eT0iMC45Ii8+Cjwvc3ZnPg==);
|
|
142
|
+
background-repeat: no-repeat;
|
|
143
|
+
background-position: center;
|
|
144
|
+
transform: rotate(0);
|
|
145
|
+
}
|
|
146
|
+
|
|
147
|
+
.weda-ui-custom-picker__cloumn-item.multiple::after {
|
|
148
|
+
content: '';
|
|
149
|
+
width: 20px;
|
|
150
|
+
height: 20px;
|
|
151
|
+
border: 1px solid #dcdcdc;
|
|
152
|
+
border-radius: 3px;
|
|
153
|
+
display: block;
|
|
154
|
+
position: absolute;
|
|
155
|
+
left: 0px;
|
|
156
|
+
}
|
|
157
|
+
|
|
158
|
+
.weda-ui-custom-picker__cloumn-item.is-disabled {
|
|
159
|
+
color: rgba(0, 0, 0, 0.26);
|
|
160
|
+
}
|
|
161
|
+
|
|
162
|
+
.weda-ui-custom-picker__empty {
|
|
163
|
+
color: rgba(0, 0, 0, 0.4);
|
|
164
|
+
width: 100%;
|
|
165
|
+
height: 100%;
|
|
166
|
+
display: flex;
|
|
167
|
+
align-items: center;
|
|
168
|
+
justify-content: center;
|
|
169
|
+
}
|
|
170
|
+
|
|
171
|
+
.weda-ui-custom-picker__status {
|
|
172
|
+
left: 16px;
|
|
173
|
+
color: rgba(0, 0, 0, 0.4);
|
|
174
|
+
font-size: 14px;
|
|
175
|
+
height: 48px;
|
|
176
|
+
line-height: 48px;
|
|
177
|
+
display: flex;
|
|
178
|
+
vertical-align: middle;
|
|
179
|
+
}
|
|
180
|
+
|
|
181
|
+
.weda-ui-custom-picker__status--loading {
|
|
182
|
+
color: var(--wd-color-brand, #0052d9);
|
|
183
|
+
display: flex;
|
|
184
|
+
align-items: center;
|
|
185
|
+
}
|
|
186
|
+
|
|
187
|
+
.weda-ui-custom-picker__status--empty {
|
|
188
|
+
color: #00000042;
|
|
189
|
+
}
|
|
190
|
+
|
|
191
|
+
.weda-ui-custom-picker__loading-icon {
|
|
192
|
+
width: 20px;
|
|
193
|
+
height: 20px;
|
|
194
|
+
display: inline-block;
|
|
195
|
+
background-image: url(data:image/png;base64,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);
|
|
196
|
+
background-repeat: no-repeat;
|
|
197
|
+
background-size: contain;
|
|
198
|
+
animation: rotate360 0.8s linear infinite;
|
|
199
|
+
}
|
|
200
|
+
|
|
201
|
+
@keyframes rotate360 {
|
|
202
|
+
0% {
|
|
203
|
+
transform: rotate(0deg);
|
|
204
|
+
}
|
|
205
|
+
|
|
206
|
+
100% {
|
|
207
|
+
transform: rotate(360deg);
|
|
208
|
+
}
|
|
209
|
+
}
|
|
210
|
+
|
|
211
|
+
.weda-ui-custom-picker__status--loading .weda-ui-custom-picker__loading-icon {
|
|
212
|
+
margin-right: 8px;
|
|
213
|
+
}
|
|
214
|
+
|
|
215
|
+
.weda-ui-custom-picker__btn {
|
|
216
|
+
background-color: transparent;
|
|
217
|
+
border: none;
|
|
218
|
+
font-size: 14px;
|
|
219
|
+
margin-left: 8px;
|
|
220
|
+
}
|
|
221
|
+
|
|
222
|
+
.weda-ui-custom-picker__btn--link {
|
|
223
|
+
color: var(--wd-color-brand, #0052d9);
|
|
224
|
+
}
|
|
225
|
+
|
|
226
|
+
/* 搜索 */
|
|
227
|
+
.weda-ui-custom-search {
|
|
228
|
+
display: flex;
|
|
229
|
+
align-items: center;
|
|
230
|
+
height: 40px;
|
|
231
|
+
margin: 10px 16px;
|
|
232
|
+
}
|
|
233
|
+
|
|
234
|
+
.weda-ui-custom-search-box {
|
|
235
|
+
display: flex;
|
|
236
|
+
align-items: center;
|
|
237
|
+
flex: 1 1 0px;
|
|
238
|
+
background-color: #f1f2f5;
|
|
239
|
+
|
|
240
|
+
border-radius: 4px;
|
|
241
|
+
height: 100%;
|
|
242
|
+
position: relative;
|
|
243
|
+
transition: all 0.8s linear;
|
|
244
|
+
}
|
|
245
|
+
|
|
246
|
+
.weda-ui-custom-search .weda-ui-input {
|
|
247
|
+
display: block;
|
|
248
|
+
width: 100%;
|
|
249
|
+
height: 100%;
|
|
250
|
+
border: 0;
|
|
251
|
+
font-size: 16px;
|
|
252
|
+
line-height: 24px;
|
|
253
|
+
background-color: inherit;
|
|
254
|
+
padding: 0 40px 0 40px;
|
|
255
|
+
caret-color: var(--wd-color-brand, #0052d9);
|
|
256
|
+
color: rgba(0, 0, 0, 0.9);
|
|
257
|
+
border-radius: 4px;
|
|
258
|
+
}
|
|
259
|
+
|
|
260
|
+
.weda-ui-custom-search-box__label {
|
|
261
|
+
position: absolute;
|
|
262
|
+
top: 0;
|
|
263
|
+
left: 50%;
|
|
264
|
+
transform: translateX(-50%);
|
|
265
|
+
height: 100%;
|
|
266
|
+
display: flex;
|
|
267
|
+
align-items: center;
|
|
268
|
+
color: rgba(0, 0, 0, 0.4);
|
|
269
|
+
}
|
|
270
|
+
|
|
271
|
+
.weda-ui-custom-search-box__search-icon {
|
|
272
|
+
width: 24px;
|
|
273
|
+
height: 24px;
|
|
274
|
+
margin-right: 4px;
|
|
275
|
+
background-image: url(data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iMjUiIGhlaWdodD0iMjQiIHZpZXdCb3g9IjAgMCAyNSAyNCIgZmlsbD0ibm9uZSIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIj4KPHBhdGggZD0iTTE0Ljc2NTUgMTUuMzI3OUMxMy41Mzc4IDE2LjMyMjEgMTEuOTc0MSAxNi45MTc2IDEwLjI3MTQgMTYuOTE3NkM2LjMyNDUzIDE2LjkxNzYgMy4xMjUgMTMuNzE4MSAzLjEyNSA5Ljc3MTMyQzMuMTI1IDUuODI0NTEgNi4zMjQ1MyAyLjYyNSAxMC4yNzE0IDIuNjI1QzE0LjIxODIgMi42MjUgMTcuNDE3NyA1LjgyNDUxIDE3LjQxNzcgOS43NzEzMkMxNy40MTc3IDExLjQ3NDEgMTYuODIyMSAxMy4wMzc4IDE1LjgyOCAxNC4yNjU1TDIxLjEyNSAxOS41NjI1TDIwLjA2MjYgMjAuNjI1TDE0Ljc2NTUgMTUuMzI3OVpNMTUuOTE1MiA5Ljc3MTMyQzE1LjkxNTIgNi42NTQzNCAxMy4zODg0IDQuMTI3NTIgMTAuMjcxNCA0LjEyNzUyQzcuMTU0MzUgNC4xMjc1MiA0LjYyNzUyIDYuNjU0MzQgNC42Mjc1MiA5Ljc3MTMyQzQuNjI3NTIgMTIuODg4MyA3LjE1NDM1IDE1LjQxNTEgMTAuMjcxNCAxNS40MTUxQzEzLjM4ODQgMTUuNDE1MSAxNS45MTUyIDEyLjg4ODMgMTUuOTE1MiA5Ljc3MTMyWiIgZmlsbD0iYmxhY2siIGZpbGwtb3BhY2l0eT0iMC40Ii8+Cjwvc3ZnPgo=);
|
|
276
|
+
background-repeat: no-repeat;
|
|
277
|
+
}
|
|
278
|
+
|
|
279
|
+
.weda-ui-custom-search-box__dismiss-icon {
|
|
280
|
+
position: absolute;
|
|
281
|
+
right: 12px;
|
|
282
|
+
width: 24px;
|
|
283
|
+
height: 24px;
|
|
284
|
+
background-image: url(data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iMjQiIGhlaWdodD0iMjQiIHZpZXdCb3g9IjAgMCAyNCAyNCIgZmlsbD0ibm9uZSIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIj4KPHBhdGggZD0iTTIyLjUgMTJDMjIuNSA2LjIwMTAxIDE3Ljc5OSAxLjUgMTIgMS41QzYuMjAxMDEgMS41IDEuNSA2LjIwMTAxIDEuNSAxMkMxLjUgMTcuNzk5IDYuMjAxMDEgMjIuNSAxMiAyMi41QzE3Ljc5OSAyMi41IDIyLjUgMTcuNzk5IDIyLjUgMTJaTTguNTA2MzYgNy40MjEzMUwxMiAxMC45MzYxTDE1LjQ5MzcgNy40MjEzMUwxNi41NTc1IDguNDc4NzZMMTMuMDU3NSAxMkwxNi41NTc1IDE1LjUyMTJMMTUuNDkzNyAxNi41Nzg3TDEyIDEzLjA2MzlMOC41MDYzNyAxNi41Nzg3TDcuNDQyNTEgMTUuNTIxMkwxMC45NDI1IDEyTDcuNDQyNSA4LjQ3ODc2TDguNTA2MzYgNy40MjEzMVoiIGZpbGw9ImJsYWNrIiBmaWxsLW9wYWNpdHk9IjAuNCIvPgo8L3N2Zz4K);
|
|
285
|
+
background-repeat: no-repeat;
|
|
286
|
+
}
|
|
287
|
+
|
|
288
|
+
/* theme */
|
|
289
|
+
.weda-ui-custom-search__btn-cancle {
|
|
290
|
+
flex: 0 0 auto;
|
|
291
|
+
display: none;
|
|
292
|
+
margin-left: 16px;
|
|
293
|
+
color: var(--wd-color-brand, #0052d9);
|
|
294
|
+
font-size: 32rxp;
|
|
295
|
+
background-color: transparent;
|
|
296
|
+
border: none;
|
|
297
|
+
padding: 0;
|
|
298
|
+
}
|
|
299
|
+
|
|
300
|
+
.weda-ui-custom-search__btn-cancle::after {
|
|
301
|
+
border: none;
|
|
302
|
+
}
|
|
303
|
+
|
|
304
|
+
/* 获取焦点后 */
|
|
305
|
+
.weda-ui-custom-search.is-focused .weda-ui-custom-search__btn-cancle {
|
|
306
|
+
display: inline-flex;
|
|
307
|
+
}
|
|
308
|
+
|
|
309
|
+
.weda-ui-custom-search.is-focused .weda-ui-custom-search-box__label {
|
|
310
|
+
left: 12px;
|
|
311
|
+
transform: translateX(0);
|
|
312
|
+
}
|
|
313
|
+
|
|
314
|
+
.weda-ui-custom-search.is-focused .weda-ui-custom-search-box__search-placeholder {
|
|
315
|
+
display: none;
|
|
316
|
+
}
|
|
317
|
+
|
|
318
|
+
.weda-ui-custom-picker__cloumn-item-text.multiple {
|
|
319
|
+
overflow: hidden;
|
|
320
|
+
text-overflow: ellipsis;
|
|
321
|
+
white-space: nowrap;
|
|
322
|
+
margin-left: 30px;
|
|
323
|
+
}
|
|
324
|
+
.weda-ui-custom-picker__cloumn-item-text {
|
|
325
|
+
overflow: hidden;
|
|
326
|
+
text-overflow: ellipsis;
|
|
327
|
+
white-space: nowrap;
|
|
328
|
+
margin-right: 50px;
|
|
329
|
+
}
|
|
@@ -1,9 +1,20 @@
|
|
|
1
1
|
const SINGLE_FOREIGN_FORMATS = ['father-son', 'related', 'many-one', 'one-one', 'one-one-r'];
|
|
2
2
|
/** do NOT export this array */
|
|
3
|
-
const formatNeedDataFetch = [...SINGLE_FOREIGN_FORMATS, 'x-enum'
|
|
3
|
+
const formatNeedDataFetch = [...SINGLE_FOREIGN_FORMATS, 'x-enum', 'one-many',
|
|
4
|
+
'many-many',];
|
|
4
5
|
export function isSingleForeignFormat(format) {
|
|
5
6
|
return SINGLE_FOREIGN_FORMATS.includes(format);
|
|
6
7
|
}
|
|
7
8
|
export function isFormatNeedFetch(format) {
|
|
8
9
|
return formatNeedDataFetch.includes(format);
|
|
9
10
|
}
|
|
11
|
+
|
|
12
|
+
const formatWithFilterable = [
|
|
13
|
+
...SINGLE_FOREIGN_FORMATS,
|
|
14
|
+
'one-many',
|
|
15
|
+
'many-many',
|
|
16
|
+
] ;
|
|
17
|
+
|
|
18
|
+
export function isFormatWithFilterable(format) {
|
|
19
|
+
return formatWithFilterable.includes(format);
|
|
20
|
+
}
|