@opentiny/vue-renderless 3.5.0 → 3.6.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/README.md +26 -0
- package/action-menu/index.js +5 -0
- package/action-menu/vue.js +6 -4
- package/action-sheet/index.js +54 -8
- package/action-sheet/vue.js +42 -9
- package/anchor/index.js +217 -0
- package/anchor/vue.js +52 -0
- package/carousel-item/index.js +3 -1
- package/dropdown/index.js +3 -1
- package/dropdown/vue.js +2 -1
- package/dropdown-item/vue.js +6 -1
- package/dropdown-menu/vue.js +5 -2
- package/form-item/index.js +67 -48
- package/form-item/vue.js +8 -1
- package/fullscreen/index.js +36 -29
- package/fullscreen/vue.js +2 -1
- package/index-bar/index.js +76 -0
- package/index-bar/vue.js +87 -0
- package/index-bar-anchor/vue.js +20 -0
- package/ip-address/index.js +7 -7
- package/ip-address/vue.js +7 -6
- package/multi-select/index.js +283 -0
- package/multi-select/vue.js +120 -0
- package/package.json +13 -5
- package/pull-refresh/index.js +102 -59
- package/pull-refresh/vue.js +46 -29
- package/rate/index.js +1 -1
- package/slider/index.js +1 -1
- package/split/index.js +9 -0
- package/split/vue.js +8 -3
- package/switch/index.js +6 -3
- package/switch/vue.js +1 -1
- package/tab-nav/index.js +26 -3
- package/tab-nav/vue.js +15 -4
- package/tabs/index.js +46 -26
- package/tabs/vue.js +13 -3
- package/tag/index.js +10 -5
- package/tag/vue.js +4 -1
- package/transfer/index.js +53 -47
- package/wheel/index.js +187 -0
- package/wheel/vue.js +110 -0
|
@@ -0,0 +1,283 @@
|
|
|
1
|
+
import _toConsumableArray from "@babel/runtime/helpers/toConsumableArray";
|
|
2
|
+
import { cloneDeep } from '@opentiny/vue-renderless/chart-core/deps/utils';
|
|
3
|
+
export var created = function created(_ref) {
|
|
4
|
+
var props = _ref.props,
|
|
5
|
+
state = _ref.state,
|
|
6
|
+
refs = _ref.refs,
|
|
7
|
+
nextTick = _ref.nextTick;
|
|
8
|
+
return function () {
|
|
9
|
+
nextTick(function () {
|
|
10
|
+
state.dataSource = cloneDeep(props.dataSource);
|
|
11
|
+
state.defaultSelectedArray = cloneDeep(props.defaultSelectedArray);
|
|
12
|
+
state.labelLevelsInfo = getLabelLevelsInfo(refs);
|
|
13
|
+
state.labelsStyle = getLabelsStyle(state);
|
|
14
|
+
state.headerInfo = state.dataSource.map(function (item) {
|
|
15
|
+
return {
|
|
16
|
+
isSelected: false,
|
|
17
|
+
title: item.title,
|
|
18
|
+
isUP: false
|
|
19
|
+
};
|
|
20
|
+
});
|
|
21
|
+
});
|
|
22
|
+
};
|
|
23
|
+
};
|
|
24
|
+
export var handleClick = function handleClick(_ref2) {
|
|
25
|
+
var api = _ref2.api,
|
|
26
|
+
props = _ref2.props,
|
|
27
|
+
state = _ref2.state;
|
|
28
|
+
return function (value) {
|
|
29
|
+
var _props$dataSource$val;
|
|
30
|
+
state.wheelData = (_props$dataSource$val = props.dataSource[value]) === null || _props$dataSource$val === void 0 ? void 0 : _props$dataSource$val.children;
|
|
31
|
+
if (state.headerIndex === -1) {
|
|
32
|
+
var _state$defaultSelecte;
|
|
33
|
+
state.showWheel = true;
|
|
34
|
+
state.headerIndex = value;
|
|
35
|
+
state.headerInfo[value] = getNewHeaderInfo(state.headerInfo, value, true);
|
|
36
|
+
state.defaultSelectedIndexs = (_state$defaultSelecte = state.defaultSelectedArray[value]) !== null && _state$defaultSelecte !== void 0 ? _state$defaultSelecte : api.loadDefault(value);
|
|
37
|
+
} else if (state.headerIndex !== value) {
|
|
38
|
+
var _state$defaultSelecte2;
|
|
39
|
+
state.showWheel = true;
|
|
40
|
+
state.headerInfo[state.headerIndex] = getNewHeaderInfo(state.headerInfo, state.headerIndex, false);
|
|
41
|
+
state.headerIndex = value;
|
|
42
|
+
state.headerInfo[value] = getNewHeaderInfo(state.headerInfo, value, true);
|
|
43
|
+
state.defaultSelectedIndexs = (_state$defaultSelecte2 = state.defaultSelectedArray[value]) !== null && _state$defaultSelecte2 !== void 0 ? _state$defaultSelecte2 : api.loadDefault(value);
|
|
44
|
+
} else {
|
|
45
|
+
state.showWheel = !state.showWheel;
|
|
46
|
+
var isUP = state.headerInfo[value].isUP;
|
|
47
|
+
state.headerInfo[value] = getNewHeaderInfo(state.headerInfo, value, !isUP);
|
|
48
|
+
}
|
|
49
|
+
};
|
|
50
|
+
};
|
|
51
|
+
export var confirm = function confirm(_ref3) {
|
|
52
|
+
var state = _ref3.state,
|
|
53
|
+
emit = _ref3.emit;
|
|
54
|
+
return function () {
|
|
55
|
+
var wheelLevelItems = getWheelLevelItems(state.wheelData, state.defaultSelectedIndexs);
|
|
56
|
+
var _getSelected = getSelected(wheelLevelItems, state.defaultSelectedIndexs),
|
|
57
|
+
selectedLabels = _getSelected.selectedLabels,
|
|
58
|
+
selectedItems = _getSelected.selectedItems;
|
|
59
|
+
state.headerInfo[state.headerIndex] = {
|
|
60
|
+
isSelected: true,
|
|
61
|
+
title: selectedLabels,
|
|
62
|
+
isUP: false
|
|
63
|
+
};
|
|
64
|
+
state.defaultSelectedArray[state.headerIndex] = state.defaultSelectedIndexs;
|
|
65
|
+
emit('confirm', selectedItems, state.headerIndex, state.defaultSelectedIndexs);
|
|
66
|
+
state.showWheel = false;
|
|
67
|
+
};
|
|
68
|
+
};
|
|
69
|
+
export var reset = function reset(_ref4) {
|
|
70
|
+
var api = _ref4.api,
|
|
71
|
+
props = _ref4.props,
|
|
72
|
+
state = _ref4.state,
|
|
73
|
+
emit = _ref4.emit;
|
|
74
|
+
return function () {
|
|
75
|
+
var _props$defaultSelecte;
|
|
76
|
+
state.headerInfo[state.headerIndex] = {
|
|
77
|
+
isSelected: false,
|
|
78
|
+
title: '',
|
|
79
|
+
isUP: false
|
|
80
|
+
};
|
|
81
|
+
state.defaultSelectedIndexs = (_props$defaultSelecte = props.defaultSelectedArray[state.headerIndex]) !== null && _props$defaultSelecte !== void 0 ? _props$defaultSelecte : api.loadDefault(state.headerIndex);
|
|
82
|
+
state.defaultSelectedArray[state.headerIndex] = state.defaultSelectedIndexs;
|
|
83
|
+
emit('reset', [], state.headerIndex, state.defaultSelectedIndexs);
|
|
84
|
+
state.showWheel = false;
|
|
85
|
+
};
|
|
86
|
+
};
|
|
87
|
+
export var wheelChange = function wheelChange(state) {
|
|
88
|
+
return function (indexs) {
|
|
89
|
+
state.defaultSelectedIndexs = indexs;
|
|
90
|
+
};
|
|
91
|
+
};
|
|
92
|
+
export var clickWheelItem = function clickWheelItem(_ref5) {
|
|
93
|
+
var state = _ref5.state,
|
|
94
|
+
emit = _ref5.emit;
|
|
95
|
+
return function (indexs, text, item) {
|
|
96
|
+
if (indexs.length === 0) {
|
|
97
|
+
state.defaultSelectedIndexs = [-1];
|
|
98
|
+
state.headerInfo[state.headerIndex] = {
|
|
99
|
+
isSelected: false,
|
|
100
|
+
title: '',
|
|
101
|
+
isUP: false
|
|
102
|
+
};
|
|
103
|
+
} else {
|
|
104
|
+
state.defaultSelectedIndexs = indexs;
|
|
105
|
+
state.headerInfo[state.headerIndex] = {
|
|
106
|
+
isSelected: true,
|
|
107
|
+
title: text,
|
|
108
|
+
isUP: false
|
|
109
|
+
};
|
|
110
|
+
}
|
|
111
|
+
state.defaultSelectedArray[state.headerIndex] = state.defaultSelectedIndexs;
|
|
112
|
+
emit('confirm', item, state.headerIndex, indexs);
|
|
113
|
+
state.showWheel = false;
|
|
114
|
+
};
|
|
115
|
+
};
|
|
116
|
+
export var getWheelLevelItems = function getWheelLevelItems(wheelData, newIndexs) {
|
|
117
|
+
var level_1 = wheelData;
|
|
118
|
+
var level_n = getNextLevel([], wheelData, newIndexs, 0);
|
|
119
|
+
var wheelLevelItems = [];
|
|
120
|
+
if (level_n.length === 0) {
|
|
121
|
+
wheelLevelItems = [level_1];
|
|
122
|
+
} else {
|
|
123
|
+
wheelLevelItems = [level_1].concat(_toConsumableArray(level_n));
|
|
124
|
+
}
|
|
125
|
+
return wheelLevelItems;
|
|
126
|
+
};
|
|
127
|
+
export var getNextLevel = function getNextLevel(levelItems, children, nextIndexs, start) {
|
|
128
|
+
var _children$nextIndexs$, _children$nextIndexs$2;
|
|
129
|
+
var levelItem = (_children$nextIndexs$ = (_children$nextIndexs$2 = children[nextIndexs[start]]) === null || _children$nextIndexs$2 === void 0 ? void 0 : _children$nextIndexs$2.children) !== null && _children$nextIndexs$ !== void 0 ? _children$nextIndexs$ : [];
|
|
130
|
+
if (start !== nextIndexs.length - 1) {
|
|
131
|
+
levelItems.push(levelItem);
|
|
132
|
+
return getNextLevel(levelItems, levelItem, nextIndexs, ++start);
|
|
133
|
+
} else {
|
|
134
|
+
return levelItems;
|
|
135
|
+
}
|
|
136
|
+
};
|
|
137
|
+
export var getSelected = function getSelected(wheelLevelItems, selectedIndexs) {
|
|
138
|
+
var selectedItems = [];
|
|
139
|
+
wheelLevelItems.forEach(function (levelItem, i) {
|
|
140
|
+
var index = selectedIndexs[i];
|
|
141
|
+
if (levelItem[index]) {
|
|
142
|
+
selectedItems.push(levelItem[index]);
|
|
143
|
+
}
|
|
144
|
+
});
|
|
145
|
+
var selectedLabels = selectedItems.map(function (item) {
|
|
146
|
+
return item === null || item === void 0 ? void 0 : item.label;
|
|
147
|
+
}).join(' ');
|
|
148
|
+
return {
|
|
149
|
+
selectedLabels: selectedLabels,
|
|
150
|
+
selectedItems: selectedItems
|
|
151
|
+
};
|
|
152
|
+
};
|
|
153
|
+
export var loadDefault = function loadDefault(_ref6) {
|
|
154
|
+
var props = _ref6.props,
|
|
155
|
+
state = _ref6.state;
|
|
156
|
+
return function (value) {
|
|
157
|
+
var _props$defaultSelecte2, _state$dataSource$sta;
|
|
158
|
+
var current = (_props$defaultSelecte2 = props.defaultSelectedArray[value]) !== null && _props$defaultSelecte2 !== void 0 ? _props$defaultSelecte2 : [];
|
|
159
|
+
var defaultSelectedIndexs = [];
|
|
160
|
+
if ((_state$dataSource$sta = state.dataSource[state.headerIndex]) !== null && _state$dataSource$sta !== void 0 && _state$dataSource$sta.hasFooter) {
|
|
161
|
+
var defaultL = current.length;
|
|
162
|
+
var dataSL = getMaxFloor(state.wheelData);
|
|
163
|
+
if (defaultL <= dataSL) {
|
|
164
|
+
defaultSelectedIndexs = current.concat(new Array(dataSL - defaultL).fill(0));
|
|
165
|
+
} else {
|
|
166
|
+
defaultSelectedIndexs = current.slice(0, dataSL);
|
|
167
|
+
}
|
|
168
|
+
} else {
|
|
169
|
+
defaultSelectedIndexs = current.length > 0 ? current : [-1];
|
|
170
|
+
}
|
|
171
|
+
return defaultSelectedIndexs;
|
|
172
|
+
};
|
|
173
|
+
};
|
|
174
|
+
export var getMaxFloor = function getMaxFloor(treeData) {
|
|
175
|
+
var maxFloor = 0;
|
|
176
|
+
var loop = function loop(data, level) {
|
|
177
|
+
data.forEach(function (item) {
|
|
178
|
+
var _item$children;
|
|
179
|
+
item.level = level;
|
|
180
|
+
if (level > maxFloor) {
|
|
181
|
+
maxFloor = level;
|
|
182
|
+
}
|
|
183
|
+
if ((item === null || item === void 0 ? void 0 : (_item$children = item.children) === null || _item$children === void 0 ? void 0 : _item$children.length) > 0) {
|
|
184
|
+
loop(item.children, level + 1);
|
|
185
|
+
}
|
|
186
|
+
});
|
|
187
|
+
};
|
|
188
|
+
loop(treeData, 1);
|
|
189
|
+
return maxFloor;
|
|
190
|
+
};
|
|
191
|
+
export var getNewHeaderInfo = function getNewHeaderInfo(headerInfo, index, isUP) {
|
|
192
|
+
var _headerInfo$index, _headerInfo$index2;
|
|
193
|
+
return {
|
|
194
|
+
isSelected: (_headerInfo$index = headerInfo[index]) === null || _headerInfo$index === void 0 ? void 0 : _headerInfo$index.isSelected,
|
|
195
|
+
title: (_headerInfo$index2 = headerInfo[index]) === null || _headerInfo$index2 === void 0 ? void 0 : _headerInfo$index2.title,
|
|
196
|
+
isUP: isUP
|
|
197
|
+
};
|
|
198
|
+
};
|
|
199
|
+
export var getLabelLevelsInfo = function getLabelLevelsInfo(refs) {
|
|
200
|
+
var headerBox = refs.headerBox,
|
|
201
|
+
label = refs.label;
|
|
202
|
+
if (!headerBox || !label) return [];
|
|
203
|
+
var totalWidth = getRect(getEl(headerBox)).width;
|
|
204
|
+
var labelWidth = label.map(function (node) {
|
|
205
|
+
return getRect(getEl(node));
|
|
206
|
+
}).map(function (rect) {
|
|
207
|
+
return rect.width;
|
|
208
|
+
});
|
|
209
|
+
return labelWidth.map(function (labelWidth, idx) {
|
|
210
|
+
var isOver25 = totalWidth * 0.25 < labelWidth;
|
|
211
|
+
return {
|
|
212
|
+
idx: idx,
|
|
213
|
+
labelWidth: labelWidth,
|
|
214
|
+
totalWidth: totalWidth,
|
|
215
|
+
isOver25: isOver25
|
|
216
|
+
};
|
|
217
|
+
});
|
|
218
|
+
};
|
|
219
|
+
export var getRect = function getRect(el) {
|
|
220
|
+
return {
|
|
221
|
+
top: el.offsetTop,
|
|
222
|
+
left: el.offsetLeft,
|
|
223
|
+
width: el.offsetWidth,
|
|
224
|
+
height: el.offsetHeight
|
|
225
|
+
};
|
|
226
|
+
};
|
|
227
|
+
export var getEl = function getEl(node) {
|
|
228
|
+
return node.$el || node;
|
|
229
|
+
};
|
|
230
|
+
export var getLabelsStyle = function getLabelsStyle(state) {
|
|
231
|
+
var over25Labels = state.labelLevelsInfo.filter(function (i) {
|
|
232
|
+
return i && !i.isOver25;
|
|
233
|
+
});
|
|
234
|
+
var widthInfo = over25Labels;
|
|
235
|
+
var len = state.dataSource.length;
|
|
236
|
+
if (len >= 4) {
|
|
237
|
+
return getStyleConfig(state.labelLevelsInfo, {
|
|
238
|
+
width: "".concat((1 / len * 100).toFixed(2), "%")
|
|
239
|
+
});
|
|
240
|
+
}
|
|
241
|
+
if (!widthInfo.length || widthInfo.length === state.labelLevelsInfo.length) {
|
|
242
|
+
return getStyleConfig(state.labelLevelsInfo, {
|
|
243
|
+
maxWidth: "".concat((1 / len * 100).toFixed(2), "%")
|
|
244
|
+
});
|
|
245
|
+
}
|
|
246
|
+
var fillArr;
|
|
247
|
+
if (widthInfo.length === 1) {
|
|
248
|
+
fillArr = getFillArray(state, widthInfo, "37.5%");
|
|
249
|
+
} else if (widthInfo.length === 2) {
|
|
250
|
+
fillArr = getFillArray(state, widthInfo, "50%");
|
|
251
|
+
}
|
|
252
|
+
widthInfo = widthInfo.concat(fillArr);
|
|
253
|
+
return widthInfo.reduce(function (styles, item) {
|
|
254
|
+
styles[item.idx] = item.maxWidth ? {
|
|
255
|
+
maxWidth: item.maxWidth
|
|
256
|
+
} : {
|
|
257
|
+
maxWidth: "25%"
|
|
258
|
+
};
|
|
259
|
+
return styles;
|
|
260
|
+
}, {});
|
|
261
|
+
};
|
|
262
|
+
export var getStyleConfig = function getStyleConfig(data, style) {
|
|
263
|
+
return data.reduce(function (styleConfig, _, idx) {
|
|
264
|
+
styleConfig[idx] = style;
|
|
265
|
+
return styleConfig;
|
|
266
|
+
}, {});
|
|
267
|
+
};
|
|
268
|
+
export var getFillArray = function getFillArray(state, widthInfo, maxWidth) {
|
|
269
|
+
var labelIndexArr = state.labelLevelsInfo.map(function (_, idx) {
|
|
270
|
+
return idx;
|
|
271
|
+
});
|
|
272
|
+
var mapWidthInfoArr = widthInfo.map(function (i) {
|
|
273
|
+
return i.idx;
|
|
274
|
+
});
|
|
275
|
+
return labelIndexArr.filter(function (i) {
|
|
276
|
+
return mapWidthInfoArr.indexOf(i) === -1;
|
|
277
|
+
}).map(function (i) {
|
|
278
|
+
return {
|
|
279
|
+
idx: i,
|
|
280
|
+
maxWidth: maxWidth
|
|
281
|
+
};
|
|
282
|
+
});
|
|
283
|
+
};
|
|
@@ -0,0 +1,120 @@
|
|
|
1
|
+
import { created, handleClick, confirm, reset, wheelChange, clickWheelItem, loadDefault } from './index';
|
|
2
|
+
export var api = ['state', 'created', 'handleClick', 'confirm', 'reset', 'wheelChange', 'clickWheelItem', 'loadDefault'];
|
|
3
|
+
var initState = function initState(reactive) {
|
|
4
|
+
var state = reactive({
|
|
5
|
+
dataSource: [],
|
|
6
|
+
wheelData: [],
|
|
7
|
+
headerIndex: -1,
|
|
8
|
+
showWheel: false,
|
|
9
|
+
labelLevelsInfo: [],
|
|
10
|
+
labelsStyle: [],
|
|
11
|
+
wheelIndex: [],
|
|
12
|
+
wheelText: '',
|
|
13
|
+
headerInfo: [],
|
|
14
|
+
defaultSelectedIndexs: [],
|
|
15
|
+
defaultSelectedArray: []
|
|
16
|
+
});
|
|
17
|
+
return state;
|
|
18
|
+
};
|
|
19
|
+
var initApi = function initApi(_ref) {
|
|
20
|
+
var api = _ref.api,
|
|
21
|
+
props = _ref.props,
|
|
22
|
+
state = _ref.state,
|
|
23
|
+
emit = _ref.emit,
|
|
24
|
+
nextTick = _ref.nextTick,
|
|
25
|
+
refs = _ref.refs;
|
|
26
|
+
Object.assign(api, {
|
|
27
|
+
state: state,
|
|
28
|
+
created: created({
|
|
29
|
+
props: props,
|
|
30
|
+
state: state,
|
|
31
|
+
refs: refs,
|
|
32
|
+
nextTick: nextTick
|
|
33
|
+
}),
|
|
34
|
+
handleClick: handleClick({
|
|
35
|
+
api: api,
|
|
36
|
+
props: props,
|
|
37
|
+
state: state
|
|
38
|
+
}),
|
|
39
|
+
confirm: confirm({
|
|
40
|
+
state: state,
|
|
41
|
+
emit: emit
|
|
42
|
+
}),
|
|
43
|
+
reset: reset({
|
|
44
|
+
api: api,
|
|
45
|
+
props: props,
|
|
46
|
+
state: state,
|
|
47
|
+
emit: emit
|
|
48
|
+
}),
|
|
49
|
+
wheelChange: wheelChange(state),
|
|
50
|
+
clickWheelItem: clickWheelItem({
|
|
51
|
+
state: state,
|
|
52
|
+
emit: emit
|
|
53
|
+
}),
|
|
54
|
+
loadDefault: loadDefault({
|
|
55
|
+
props: props,
|
|
56
|
+
state: state
|
|
57
|
+
})
|
|
58
|
+
});
|
|
59
|
+
};
|
|
60
|
+
var initWatch = function initWatch(_ref2) {
|
|
61
|
+
var watch = _ref2.watch,
|
|
62
|
+
props = _ref2.props,
|
|
63
|
+
state = _ref2.state,
|
|
64
|
+
refs = _ref2.refs,
|
|
65
|
+
nextTick = _ref2.nextTick;
|
|
66
|
+
watch(function () {
|
|
67
|
+
return props.dataSource;
|
|
68
|
+
}, function () {
|
|
69
|
+
api.created({
|
|
70
|
+
props: props,
|
|
71
|
+
state: state,
|
|
72
|
+
refs: refs,
|
|
73
|
+
nextTick: nextTick
|
|
74
|
+
});
|
|
75
|
+
});
|
|
76
|
+
watch(function () {
|
|
77
|
+
return props.defaultSelectedArray;
|
|
78
|
+
}, function () {
|
|
79
|
+
api.created({
|
|
80
|
+
props: props,
|
|
81
|
+
state: state,
|
|
82
|
+
refs: refs,
|
|
83
|
+
nextTick: nextTick
|
|
84
|
+
});
|
|
85
|
+
});
|
|
86
|
+
};
|
|
87
|
+
export var renderless = function renderless(props, _ref3, _ref4) {
|
|
88
|
+
var onMounted = _ref3.onMounted,
|
|
89
|
+
reactive = _ref3.reactive,
|
|
90
|
+
watch = _ref3.watch;
|
|
91
|
+
var emit = _ref4.emit,
|
|
92
|
+
nextTick = _ref4.nextTick,
|
|
93
|
+
refs = _ref4.refs;
|
|
94
|
+
var api = {};
|
|
95
|
+
var state = initState(reactive);
|
|
96
|
+
initApi({
|
|
97
|
+
api: api,
|
|
98
|
+
props: props,
|
|
99
|
+
state: state,
|
|
100
|
+
emit: emit,
|
|
101
|
+
nextTick: nextTick,
|
|
102
|
+
refs: refs
|
|
103
|
+
});
|
|
104
|
+
initWatch({
|
|
105
|
+
watch: watch,
|
|
106
|
+
props: props,
|
|
107
|
+
state: state,
|
|
108
|
+
refs: refs,
|
|
109
|
+
nextTick: nextTick
|
|
110
|
+
});
|
|
111
|
+
onMounted(function () {
|
|
112
|
+
api.created({
|
|
113
|
+
props: props,
|
|
114
|
+
state: state,
|
|
115
|
+
refs: refs,
|
|
116
|
+
nextTick: nextTick
|
|
117
|
+
});
|
|
118
|
+
});
|
|
119
|
+
return api;
|
|
120
|
+
};
|
package/package.json
CHANGED
|
@@ -1,16 +1,24 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@opentiny/vue-renderless",
|
|
3
|
-
"version": "3.
|
|
4
|
-
"description": "
|
|
3
|
+
"version": "3.6.0",
|
|
4
|
+
"description": "An enterprise-class UI component library, support both Vue.js 2 and Vue.js 3, as well as PC and mobile.",
|
|
5
|
+
"homepage": "https://opentiny.design/tiny-vue",
|
|
5
6
|
"repository": {
|
|
6
7
|
"type": "git",
|
|
7
|
-
"url": ""
|
|
8
|
+
"url": "https://github.com/opentiny/tiny-vue-renderless"
|
|
8
9
|
},
|
|
9
10
|
"keywords": [
|
|
10
11
|
"vue",
|
|
11
|
-
"
|
|
12
|
+
"vue3",
|
|
13
|
+
"frontend",
|
|
14
|
+
"component-library",
|
|
15
|
+
"components",
|
|
16
|
+
"vue-components",
|
|
17
|
+
"opentiny",
|
|
18
|
+
"renderless-components",
|
|
19
|
+
"headless-components"
|
|
12
20
|
],
|
|
13
|
-
"author": "
|
|
21
|
+
"author": "OpenTiny Team",
|
|
14
22
|
"license": "MIT",
|
|
15
23
|
"sideEffects": false,
|
|
16
24
|
"scripts": {
|
package/pull-refresh/index.js
CHANGED
|
@@ -1,67 +1,111 @@
|
|
|
1
|
+
import _defineProperty from "@babel/runtime/helpers/defineProperty";
|
|
2
|
+
function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); enumerableOnly && (symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; })), keys.push.apply(keys, symbols); } return keys; }
|
|
3
|
+
function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = null != arguments[i] ? arguments[i] : {}; i % 2 ? ownKeys(Object(source), !0).forEach(function (key) { _defineProperty(target, key, source[key]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)) : ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } return target; }
|
|
1
4
|
import { on, off } from '@opentiny/vue-renderless/common/deps/dom';
|
|
2
|
-
export var
|
|
3
|
-
var
|
|
5
|
+
export var initPullRefresh = function initPullRefresh(_ref) {
|
|
6
|
+
var t = _ref.t,
|
|
7
|
+
props = _ref.props,
|
|
8
|
+
state = _ref.state;
|
|
9
|
+
return function () {
|
|
10
|
+
var _props$loosingText, _props$successText, _props$failedText;
|
|
11
|
+
var defaultOption = {
|
|
12
|
+
pullingUpText: t('ui.pullRefresh.pullingUp'),
|
|
13
|
+
pullingDownText: t('ui.pullRefresh.pullingDown'),
|
|
14
|
+
pullUpDisabled: false,
|
|
15
|
+
pullDownDisabled: false,
|
|
16
|
+
headHeight: 50,
|
|
17
|
+
footHeight: 50
|
|
18
|
+
};
|
|
19
|
+
state.pullUp = _objectSpread(_objectSpread({}, defaultOption), props.pullUp);
|
|
20
|
+
state.pullDown = _objectSpread(_objectSpread({}, defaultOption), props.pullDown);
|
|
21
|
+
state.refreshStyle = {
|
|
22
|
+
paddingTop: state.pullDown.headHeight + 'px',
|
|
23
|
+
paddingBottom: state.pullUp.footHeight + 'px'
|
|
24
|
+
};
|
|
25
|
+
state.loosingText = (_props$loosingText = props.loosingText) !== null && _props$loosingText !== void 0 ? _props$loosingText : t('ui.pullRefresh.loosing');
|
|
26
|
+
state.successText = (_props$successText = props.successText) !== null && _props$successText !== void 0 ? _props$successText : t('ui.pullRefresh.success');
|
|
27
|
+
state.failedText = (_props$failedText = props.failedText) !== null && _props$failedText !== void 0 ? _props$failedText : t('ui.pullRefresh.failed');
|
|
28
|
+
};
|
|
29
|
+
};
|
|
30
|
+
export var onTouchstart = function onTouchstart(state) {
|
|
4
31
|
return function (event) {
|
|
5
32
|
state.draggposition = event.touches[0].clientY;
|
|
6
33
|
};
|
|
7
34
|
};
|
|
8
35
|
export var onTouchmove = function onTouchmove(_ref2) {
|
|
9
|
-
var
|
|
36
|
+
var props = _ref2.props,
|
|
10
37
|
state = _ref2.state;
|
|
11
38
|
return function (event) {
|
|
12
|
-
if (
|
|
13
|
-
if (
|
|
14
|
-
|
|
39
|
+
if (event.touches[0].clientY < state.draggposition) {
|
|
40
|
+
if (!state.pullUp.pullUpDisabled) {
|
|
41
|
+
if (props.hasMore) {
|
|
42
|
+
state.translate3d = (event.touches[0].clientY - state.draggposition) / 2;
|
|
43
|
+
state.pullUpReplaces = Math.abs(state.translate3d) > state.pullUp.footHeight ? state.loosingText : state.pullUp.pullingUpText;
|
|
44
|
+
state.pullDownReplaces = '';
|
|
45
|
+
}
|
|
15
46
|
}
|
|
16
|
-
|
|
17
|
-
state.
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
transform: 'translate3d(0px,' + state.translate3d + 'px,0px)'
|
|
22
|
-
};
|
|
23
|
-
state.checkStatus = false;
|
|
24
|
-
if (state.translate3d > state.headHeight) {
|
|
25
|
-
state.replaces = state.loosingText;
|
|
26
|
-
} else {
|
|
27
|
-
state.replaces = state.pullingText;
|
|
47
|
+
} else {
|
|
48
|
+
if (!state.pullDown.pullDownDisabled) {
|
|
49
|
+
state.translate3d = (event.touches[0].clientY - state.draggposition) / 2;
|
|
50
|
+
state.pullDownReplaces = Math.abs(state.translate3d) > state.pullDown.headHeight ? state.loosingText : state.pullDown.pullingDownText;
|
|
51
|
+
state.pullUpReplaces = '';
|
|
28
52
|
}
|
|
29
53
|
}
|
|
54
|
+
state.animationDuration = 0;
|
|
55
|
+
state.pullUpLoading = false;
|
|
56
|
+
state.pullDownLoading = false;
|
|
30
57
|
};
|
|
31
58
|
};
|
|
32
59
|
export var onTouchend = function onTouchend(_ref3) {
|
|
33
|
-
var
|
|
60
|
+
var api = _ref3.api,
|
|
34
61
|
props = _ref3.props,
|
|
35
62
|
state = _ref3.state;
|
|
36
63
|
return function () {
|
|
37
64
|
state.animationDuration = props.animationDuration;
|
|
38
|
-
if (state.translate3d >= state.headHeight) {
|
|
39
|
-
state.translate3d
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
65
|
+
if (Math.abs(state.translate3d) >= state.pullDown.headHeight || Math.abs(state.translate3d) >= state.pullUp.footHeight) {
|
|
66
|
+
if (state.translate3d >= 0) {
|
|
67
|
+
state.translate3d = state.pullDown.headHeight;
|
|
68
|
+
var handler = state.pullDown.handler;
|
|
69
|
+
var pullDownPromise = handler && handler();
|
|
70
|
+
state.pullDownLoading = true;
|
|
71
|
+
if (pullDownPromise !== null && pullDownPromise !== void 0 && pullDownPromise.then) {
|
|
72
|
+
pullDownPromise.then(function () {
|
|
73
|
+
api.handlerModelValue('down', 'success');
|
|
74
|
+
}, function (e) {
|
|
75
|
+
console.log(e);
|
|
76
|
+
api.handlerModelValue('down', 'failed');
|
|
77
|
+
});
|
|
78
|
+
return;
|
|
79
|
+
}
|
|
80
|
+
console.error(new Error('handler down is not promise'));
|
|
81
|
+
} else {
|
|
82
|
+
state.translate3d = -state.pullUp.footHeight;
|
|
83
|
+
var _handler = state.pullUp.handler;
|
|
84
|
+
var pullUpPromise = _handler && _handler();
|
|
85
|
+
state.pullUpLoading = true;
|
|
86
|
+
if (pullUpPromise !== null && pullUpPromise !== void 0 && pullUpPromise.then) {
|
|
87
|
+
pullUpPromise.then(function () {
|
|
88
|
+
api.handlerModelValue('up', 'success');
|
|
89
|
+
}, function (e) {
|
|
90
|
+
console.log(e);
|
|
91
|
+
api.handlerModelValue('up', 'failed');
|
|
92
|
+
});
|
|
93
|
+
return;
|
|
94
|
+
}
|
|
95
|
+
console.error(new Error('handler up is not promise'));
|
|
96
|
+
}
|
|
97
|
+
api.clearPullRefresh();
|
|
47
98
|
} else {
|
|
48
|
-
state.
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
state.translate3d = 0;
|
|
52
|
-
state.checkStatus = false;
|
|
53
|
-
state.replaces = '';
|
|
99
|
+
state.pullUpLoading = false;
|
|
100
|
+
state.pullDownLoading = false;
|
|
101
|
+
api.clearPullRefresh();
|
|
54
102
|
}
|
|
55
103
|
};
|
|
56
104
|
};
|
|
57
105
|
export var mountedHandler = function mountedHandler(_ref4) {
|
|
58
106
|
var api = _ref4.api,
|
|
59
|
-
refs = _ref4.refs
|
|
60
|
-
state = _ref4.state;
|
|
107
|
+
refs = _ref4.refs;
|
|
61
108
|
return function () {
|
|
62
|
-
state.styleObj = {
|
|
63
|
-
'transition-duration': state.animationDuration + 'ms'
|
|
64
|
-
};
|
|
65
109
|
var track = refs.track;
|
|
66
110
|
on(track, 'touchstart', api.onTouchstart);
|
|
67
111
|
on(track, 'touchmove', api.onTouchmove);
|
|
@@ -78,27 +122,26 @@ export var beforeUnmountHandler = function beforeUnmountHandler(_ref5) {
|
|
|
78
122
|
off(track, 'touchend', api.onTouchend);
|
|
79
123
|
};
|
|
80
124
|
};
|
|
81
|
-
export var
|
|
82
|
-
var
|
|
125
|
+
export var handlerModelValue = function handlerModelValue(_ref6) {
|
|
126
|
+
var api = _ref6.api,
|
|
83
127
|
state = _ref6.state;
|
|
84
|
-
|
|
85
|
-
|
|
86
|
-
|
|
87
|
-
|
|
88
|
-
|
|
89
|
-
state.translate3d = 0;
|
|
90
|
-
state.styleObj = {
|
|
91
|
-
'transition-duration': state.animationDuration + 'ms'
|
|
92
|
-
};
|
|
93
|
-
state.replaces = '';
|
|
94
|
-
}, state.successDuration);
|
|
128
|
+
return function (value, result) {
|
|
129
|
+
state.pullUpLoading = false;
|
|
130
|
+
state.pullDownLoading = false;
|
|
131
|
+
if (value === 'down') {
|
|
132
|
+
state.pullDownReplaces = state["".concat(result, "Text")];
|
|
95
133
|
} else {
|
|
96
|
-
state.
|
|
97
|
-
state.checkStatus = false;
|
|
98
|
-
state.replaces = '';
|
|
99
|
-
state.styleObj = {
|
|
100
|
-
'transition-duration': state.animationDuration + 'ms'
|
|
101
|
-
};
|
|
134
|
+
state.pullUpReplaces = state["".concat(result, "Text")];
|
|
102
135
|
}
|
|
103
|
-
|
|
136
|
+
setTimeout(function () {
|
|
137
|
+
api.clearPullRefresh();
|
|
138
|
+
}, state.successDuration);
|
|
139
|
+
};
|
|
140
|
+
};
|
|
141
|
+
export var clearPullRefresh = function clearPullRefresh(state) {
|
|
142
|
+
return function () {
|
|
143
|
+
state.translate3d = 0;
|
|
144
|
+
state.pullUpReplaces = '';
|
|
145
|
+
state.pullDownReplaces = '';
|
|
146
|
+
};
|
|
104
147
|
};
|