@opentiny/vue-renderless 3.5.0 → 3.6.0-alpha.1
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/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/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 +282 -0
- package/multi-select/vue.js +120 -0
- package/package.json +1 -1
- package/pull-refresh/index.js +109 -70
- package/pull-refresh/vue.js +38 -33
- 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/wheel/index.js +201 -0
- package/wheel/vue.js +110 -0
package/tabs/index.js
CHANGED
|
@@ -52,7 +52,7 @@ export var calcMorePanes = function calcMorePanes(_ref3) {
|
|
|
52
52
|
var el = parent.$el;
|
|
53
53
|
var tabs = el.querySelectorAll('.tiny-tabs__item');
|
|
54
54
|
if (tabs && tabs.length) {
|
|
55
|
-
var tabsHeaderWidth = el.querySelector('.tiny-tabs__nav-scroll').clientWidth
|
|
55
|
+
var tabsHeaderWidth = el.querySelector('.tiny-tabs__nav-scroll').clientWidth + 15;
|
|
56
56
|
var tabsAllWidth = 0;
|
|
57
57
|
for (var i = 0, length = tabs.length; i < length; i++) {
|
|
58
58
|
var width = tabs[i].offsetWidth;
|
|
@@ -65,15 +65,35 @@ export var calcMorePanes = function calcMorePanes(_ref3) {
|
|
|
65
65
|
}
|
|
66
66
|
};
|
|
67
67
|
};
|
|
68
|
-
export var
|
|
69
|
-
var
|
|
70
|
-
|
|
68
|
+
export var calcExpandPanes = function calcExpandPanes(_ref4) {
|
|
69
|
+
var parent = _ref4.parent,
|
|
70
|
+
props = _ref4.props,
|
|
71
|
+
state = _ref4.state;
|
|
72
|
+
return function () {
|
|
73
|
+
if (!props.showExpandTabs) {
|
|
74
|
+
return;
|
|
75
|
+
}
|
|
76
|
+
var el = parent.$el;
|
|
77
|
+
var tabsHeader = el.querySelector('.tiny-mobile-tabs__header');
|
|
78
|
+
if (tabsHeader) {
|
|
79
|
+
state.expandPanesWidth = tabsHeader.clientWidth;
|
|
80
|
+
}
|
|
81
|
+
};
|
|
82
|
+
};
|
|
83
|
+
export var handleTabClick = function handleTabClick(_ref5) {
|
|
84
|
+
var api = _ref5.api,
|
|
85
|
+
emit = _ref5.emit,
|
|
86
|
+
props = _ref5.props,
|
|
87
|
+
refs = _ref5.refs;
|
|
71
88
|
return function (pane, tabName, event) {
|
|
72
89
|
if (pane.disabled) {
|
|
73
90
|
return;
|
|
74
91
|
}
|
|
75
92
|
api.setCurrentName(tabName);
|
|
76
93
|
emit('click', pane, event);
|
|
94
|
+
if (props.showExpandTabs) {
|
|
95
|
+
refs.nav && refs.nav.expandTabHide();
|
|
96
|
+
}
|
|
77
97
|
};
|
|
78
98
|
};
|
|
79
99
|
export var handleTabRemove = function handleTabRemove(emit) {
|
|
@@ -92,11 +112,11 @@ export var handleTabAdd = function handleTabAdd(emit) {
|
|
|
92
112
|
emit('add');
|
|
93
113
|
};
|
|
94
114
|
};
|
|
95
|
-
export var setCurrentName = function setCurrentName(
|
|
96
|
-
var api =
|
|
97
|
-
props =
|
|
98
|
-
refs =
|
|
99
|
-
state =
|
|
115
|
+
export var setCurrentName = function setCurrentName(_ref6) {
|
|
116
|
+
var api = _ref6.api,
|
|
117
|
+
props = _ref6.props,
|
|
118
|
+
refs = _ref6.refs,
|
|
119
|
+
state = _ref6.state;
|
|
100
120
|
return function (value) {
|
|
101
121
|
api.changeDirection(state.currentName);
|
|
102
122
|
if (state.currentName !== value && props.beforeLeave) {
|
|
@@ -114,18 +134,18 @@ export var setCurrentName = function setCurrentName(_ref5) {
|
|
|
114
134
|
}
|
|
115
135
|
};
|
|
116
136
|
};
|
|
117
|
-
export var changeCurrentName = function changeCurrentName(
|
|
118
|
-
var emit =
|
|
119
|
-
state =
|
|
137
|
+
export var changeCurrentName = function changeCurrentName(_ref7) {
|
|
138
|
+
var emit = _ref7.emit,
|
|
139
|
+
state = _ref7.state;
|
|
120
140
|
return function (value) {
|
|
121
141
|
state.currentName = value;
|
|
122
142
|
emit('update:modelValue', value);
|
|
123
143
|
};
|
|
124
144
|
};
|
|
125
|
-
export var created = function created(
|
|
126
|
-
var api =
|
|
127
|
-
parent =
|
|
128
|
-
state =
|
|
145
|
+
export var created = function created(_ref8) {
|
|
146
|
+
var api = _ref8.api,
|
|
147
|
+
parent = _ref8.parent,
|
|
148
|
+
state = _ref8.state;
|
|
129
149
|
return function () {
|
|
130
150
|
if (!state.currentName) {
|
|
131
151
|
state.currentIndex = 0;
|
|
@@ -135,9 +155,9 @@ export var created = function created(_ref7) {
|
|
|
135
155
|
parent.$on('tab-nav-update', api.calcPaneInstances.bind(null, true));
|
|
136
156
|
};
|
|
137
157
|
};
|
|
138
|
-
export var changeDirection = function changeDirection(
|
|
139
|
-
var props =
|
|
140
|
-
state =
|
|
158
|
+
export var changeDirection = function changeDirection(_ref9) {
|
|
159
|
+
var props = _ref9.props,
|
|
160
|
+
state = _ref9.state;
|
|
141
161
|
return function (currentName) {
|
|
142
162
|
state.panes.forEach(function (item, index) {
|
|
143
163
|
if (item.state.paneName === currentName && state.currentIndex !== index) {
|
|
@@ -149,21 +169,21 @@ export var changeDirection = function changeDirection(_ref8) {
|
|
|
149
169
|
});
|
|
150
170
|
};
|
|
151
171
|
};
|
|
152
|
-
export var handleTabDragStart = function handleTabDragStart(
|
|
153
|
-
var emit =
|
|
172
|
+
export var handleTabDragStart = function handleTabDragStart(_ref10) {
|
|
173
|
+
var emit = _ref10.emit;
|
|
154
174
|
return function (event) {
|
|
155
175
|
emit('tab-drag-start', event);
|
|
156
176
|
};
|
|
157
177
|
};
|
|
158
|
-
export var handleTabDragOver = function handleTabDragOver(
|
|
159
|
-
var emit =
|
|
178
|
+
export var handleTabDragOver = function handleTabDragOver(_ref11) {
|
|
179
|
+
var emit = _ref11.emit;
|
|
160
180
|
return function (event) {
|
|
161
181
|
emit('tab-drag-over', event);
|
|
162
182
|
};
|
|
163
183
|
};
|
|
164
|
-
export var handleTabDragEnd = function handleTabDragEnd(
|
|
165
|
-
var state =
|
|
166
|
-
emit =
|
|
184
|
+
export var handleTabDragEnd = function handleTabDragEnd(_ref12) {
|
|
185
|
+
var state = _ref12.state,
|
|
186
|
+
emit = _ref12.emit;
|
|
167
187
|
return function (event) {
|
|
168
188
|
var oldDraggableIndex = event.oldDraggableIndex,
|
|
169
189
|
newDraggableIndex = event.newDraggableIndex;
|
package/tabs/vue.js
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { calcMorePanes, calcPaneInstances, handleTabClick, handleTabAdd, handleTabRemove, setCurrentName, changeCurrentName, created, changeDirection, handleTabDragStart, handleTabDragOver, handleTabDragEnd } from './index';
|
|
1
|
+
import { calcMorePanes, calcExpandPanes, calcPaneInstances, handleTabClick, handleTabAdd, handleTabRemove, setCurrentName, changeCurrentName, created, changeDirection, handleTabDragStart, handleTabDragOver, handleTabDragEnd } from './index';
|
|
2
2
|
export var api = ['state', 'handleTabAdd', 'calcPaneInstances', 'handleTabRemove', 'handleTabClick', 'handleTabDragStart', 'handleTabDragOver', 'handleTabDragEnd', 'setCurrentName', 'getNavRefs'];
|
|
3
3
|
var initState = function initState(_ref) {
|
|
4
4
|
var reactive = _ref.reactive,
|
|
@@ -14,7 +14,8 @@ var initState = function initState(_ref) {
|
|
|
14
14
|
deltaY: 0,
|
|
15
15
|
offsetX: 0,
|
|
16
16
|
offsetY: 0,
|
|
17
|
-
direction: ''
|
|
17
|
+
direction: '',
|
|
18
|
+
expandPanesWidth: ''
|
|
18
19
|
});
|
|
19
20
|
};
|
|
20
21
|
var initWatcher = function initWatcher(_ref2) {
|
|
@@ -84,6 +85,11 @@ export var renderless = function renderless(props, _ref3, _ref4) {
|
|
|
84
85
|
props: props,
|
|
85
86
|
state: state
|
|
86
87
|
}),
|
|
88
|
+
calcExpandPanes: calcExpandPanes({
|
|
89
|
+
parent: parent,
|
|
90
|
+
props: props,
|
|
91
|
+
state: state
|
|
92
|
+
}),
|
|
87
93
|
calcPaneInstances: calcPaneInstances({
|
|
88
94
|
constants: constants,
|
|
89
95
|
parent: parent,
|
|
@@ -102,7 +108,9 @@ export var renderless = function renderless(props, _ref3, _ref4) {
|
|
|
102
108
|
}),
|
|
103
109
|
handleTabClick: handleTabClick({
|
|
104
110
|
api: api,
|
|
105
|
-
emit: emit
|
|
111
|
+
emit: emit,
|
|
112
|
+
props: props,
|
|
113
|
+
refs: refs
|
|
106
114
|
}),
|
|
107
115
|
setCurrentName: setCurrentName({
|
|
108
116
|
api: api,
|
|
@@ -132,10 +140,12 @@ export var renderless = function renderless(props, _ref3, _ref4) {
|
|
|
132
140
|
onMounted(function () {
|
|
133
141
|
api.calcPaneInstances();
|
|
134
142
|
api.calcMorePanes();
|
|
143
|
+
api.calcExpandPanes();
|
|
135
144
|
});
|
|
136
145
|
onUpdated(function () {
|
|
137
146
|
api.calcPaneInstances();
|
|
138
147
|
api.calcMorePanes();
|
|
148
|
+
api.calcExpandPanes();
|
|
139
149
|
});
|
|
140
150
|
return api;
|
|
141
151
|
};
|
package/tag/index.js
CHANGED
|
@@ -1,12 +1,17 @@
|
|
|
1
|
-
export var handleClose = function handleClose(
|
|
1
|
+
export var handleClose = function handleClose(_ref) {
|
|
2
|
+
var emit = _ref.emit,
|
|
3
|
+
props = _ref.props;
|
|
2
4
|
return function (event) {
|
|
3
5
|
event.stopPropagation();
|
|
4
|
-
|
|
6
|
+
var close = function close() {
|
|
7
|
+
return emit('close', event);
|
|
8
|
+
};
|
|
9
|
+
props.beforeDelete ? props.beforeDelete(close) : close();
|
|
5
10
|
};
|
|
6
11
|
};
|
|
7
|
-
export var handleClick = function handleClick(
|
|
8
|
-
var emit =
|
|
9
|
-
parent =
|
|
12
|
+
export var handleClick = function handleClick(_ref2) {
|
|
13
|
+
var emit = _ref2.emit,
|
|
14
|
+
parent = _ref2.parent;
|
|
10
15
|
return function (event) {
|
|
11
16
|
parent.$parent && parent.$parent.tagSelectable && event.stopPropagation();
|
|
12
17
|
emit('click', event);
|
package/tag/vue.js
CHANGED
|
@@ -4,7 +4,10 @@ export var renderless = function renderless(props, hooks, _ref) {
|
|
|
4
4
|
var emit = _ref.emit,
|
|
5
5
|
parent = _ref.parent;
|
|
6
6
|
return {
|
|
7
|
-
handleClose: handleClose(
|
|
7
|
+
handleClose: handleClose({
|
|
8
|
+
emit: emit,
|
|
9
|
+
props: props
|
|
10
|
+
}),
|
|
8
11
|
handleClick: handleClick({
|
|
9
12
|
emit: emit,
|
|
10
13
|
parent: parent
|
package/wheel/index.js
ADDED
|
@@ -0,0 +1,201 @@
|
|
|
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(api) {
|
|
4
|
+
return function () {
|
|
5
|
+
api.loadPickerData();
|
|
6
|
+
api.loadWheels();
|
|
7
|
+
};
|
|
8
|
+
};
|
|
9
|
+
export var loadPickerData = function loadPickerData(_ref) {
|
|
10
|
+
var props = _ref.props,
|
|
11
|
+
state = _ref.state;
|
|
12
|
+
return function () {
|
|
13
|
+
state.dataSource = cloneDeep(props.dataSource);
|
|
14
|
+
state.defaultSelectedIndexs = cloneDeep(props.defaultSelectedIndexs);
|
|
15
|
+
var level_1 = state.dataSource.map(function (_ref2) {
|
|
16
|
+
var label = _ref2.label;
|
|
17
|
+
return {
|
|
18
|
+
label: label
|
|
19
|
+
};
|
|
20
|
+
});
|
|
21
|
+
var level_n = getNextLevel([], state.dataSource, state.defaultSelectedIndexs, 0);
|
|
22
|
+
if (level_n.length === 0) {
|
|
23
|
+
state.pickerData = [level_1];
|
|
24
|
+
} else {
|
|
25
|
+
state.pickerData = [level_1].concat(_toConsumableArray(level_n));
|
|
26
|
+
}
|
|
27
|
+
};
|
|
28
|
+
};
|
|
29
|
+
export var getNextLevel = function getNextLevel(levelItems, children, nextIndexs, start) {
|
|
30
|
+
var _children$nextIndexs$, _children$nextIndexs$2;
|
|
31
|
+
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$ : [];
|
|
32
|
+
if (start !== nextIndexs.length - 1) {
|
|
33
|
+
levelItems.push(levelItem);
|
|
34
|
+
return getNextLevel(levelItems, levelItem, nextIndexs, ++start);
|
|
35
|
+
} else {
|
|
36
|
+
return levelItems;
|
|
37
|
+
}
|
|
38
|
+
};
|
|
39
|
+
export var wheelChanged = function wheelChanged(_ref3) {
|
|
40
|
+
var api = _ref3.api,
|
|
41
|
+
state = _ref3.state;
|
|
42
|
+
return function (newIndexs, oldIndexs) {
|
|
43
|
+
if (newIndexs.length > 1) {
|
|
44
|
+
newIndexs.forEach(function (ii, ri) {
|
|
45
|
+
if (newIndexs[ri] !== oldIndexs[ri] && ri !== newIndexs.length - 1) {
|
|
46
|
+
var children = getChildren(state.dataSource, newIndexs, 0, ri);
|
|
47
|
+
state.pickerData.splice(ri + 1, 1, children);
|
|
48
|
+
}
|
|
49
|
+
});
|
|
50
|
+
}
|
|
51
|
+
api.wheelsTo(newIndexs);
|
|
52
|
+
api.changeWheelItemStyle(state.pickerData, newIndexs);
|
|
53
|
+
};
|
|
54
|
+
};
|
|
55
|
+
export var getChildren = function getChildren(levelItems, newIndexs, start, maxLoop) {
|
|
56
|
+
var _levelItems$newIndexs, _levelItems$newIndexs2;
|
|
57
|
+
var levelItem = (_levelItems$newIndexs = (_levelItems$newIndexs2 = levelItems[newIndexs[start]]) === null || _levelItems$newIndexs2 === void 0 ? void 0 : _levelItems$newIndexs2.children) !== null && _levelItems$newIndexs !== void 0 ? _levelItems$newIndexs : [];
|
|
58
|
+
if (start !== maxLoop) {
|
|
59
|
+
return getChildren(levelItem, newIndexs, ++start, maxLoop);
|
|
60
|
+
} else {
|
|
61
|
+
return levelItem;
|
|
62
|
+
}
|
|
63
|
+
};
|
|
64
|
+
export var wheelsTo = function wheelsTo(_ref4) {
|
|
65
|
+
var api = _ref4.api,
|
|
66
|
+
state = _ref4.state,
|
|
67
|
+
nextTick = _ref4.nextTick;
|
|
68
|
+
return function (indexs) {
|
|
69
|
+
nextTick(function () {
|
|
70
|
+
state.wheels.forEach(function (wheel, i) {
|
|
71
|
+
wheel.wheelTo(indexs[i], 0);
|
|
72
|
+
api.refreshWheel(wheel);
|
|
73
|
+
});
|
|
74
|
+
});
|
|
75
|
+
};
|
|
76
|
+
};
|
|
77
|
+
export var refreshWheel = function refreshWheel(nextTick) {
|
|
78
|
+
return function (wheel) {
|
|
79
|
+
nextTick(function () {
|
|
80
|
+
wheel.refresh();
|
|
81
|
+
});
|
|
82
|
+
};
|
|
83
|
+
};
|
|
84
|
+
export var loadWheels = function loadWheels(_ref5) {
|
|
85
|
+
var api = _ref5.api,
|
|
86
|
+
props = _ref5.props,
|
|
87
|
+
state = _ref5.state,
|
|
88
|
+
nextTick = _ref5.nextTick,
|
|
89
|
+
refs = _ref5.refs;
|
|
90
|
+
return function (wheel) {
|
|
91
|
+
if (state.wheels.length === 0) {
|
|
92
|
+
nextTick(function () {
|
|
93
|
+
state.wheels = [];
|
|
94
|
+
var wheelWrapper = refs.wheelWrapper;
|
|
95
|
+
if (props.hasFooter) {
|
|
96
|
+
for (var i = 0; i < state.pickerData.length; i++) {
|
|
97
|
+
api.createWheelHasFooter(wheelWrapper, i);
|
|
98
|
+
}
|
|
99
|
+
} else {
|
|
100
|
+
api.createWheelNoFooter(wheelWrapper);
|
|
101
|
+
}
|
|
102
|
+
});
|
|
103
|
+
}
|
|
104
|
+
};
|
|
105
|
+
};
|
|
106
|
+
export var createWheelHasFooter = function createWheelHasFooter(_ref6) {
|
|
107
|
+
var api = _ref6.api,
|
|
108
|
+
state = _ref6.state,
|
|
109
|
+
emit = _ref6.emit,
|
|
110
|
+
BScroll = _ref6.BScroll;
|
|
111
|
+
return function (wheelWrapper, i) {
|
|
112
|
+
var wheels = state.wheels;
|
|
113
|
+
if (!wheels[i]) {
|
|
114
|
+
wheels[i] = state.wheels[i] = new BScroll(wheelWrapper.children[i], {
|
|
115
|
+
wheel: {
|
|
116
|
+
selectedIndex: state.defaultSelectedIndexs[i],
|
|
117
|
+
wheelWrapperClass: 'wheel-scroll',
|
|
118
|
+
wheelItemClass: 'wheel-item'
|
|
119
|
+
},
|
|
120
|
+
probeType: 3
|
|
121
|
+
});
|
|
122
|
+
state.prevSelectedIndexs = state.defaultSelectedIndexs;
|
|
123
|
+
wheels[i].on('wheelIndexChanged', function () {
|
|
124
|
+
var currentSelectedIndex = wheels[i].getSelectedIndex();
|
|
125
|
+
var currentSelectedIndexs = [].concat(_toConsumableArray(state.prevSelectedIndexs.slice(0, i)), [currentSelectedIndex], _toConsumableArray(new Array(state.defaultSelectedIndexs.length - i - 1).fill(0)));
|
|
126
|
+
api.wheelChanged(currentSelectedIndexs, state.prevSelectedIndexs);
|
|
127
|
+
state.prevSelectedIndexs = currentSelectedIndexs;
|
|
128
|
+
var selectedLabels = [];
|
|
129
|
+
state.pickerData.forEach(function (data, i) {
|
|
130
|
+
var _data$index;
|
|
131
|
+
var index = currentSelectedIndexs[i];
|
|
132
|
+
if ((_data$index = data[index]) !== null && _data$index !== void 0 && _data$index.label) {
|
|
133
|
+
var _data$index2;
|
|
134
|
+
selectedLabels.push((_data$index2 = data[index]) === null || _data$index2 === void 0 ? void 0 : _data$index2.label);
|
|
135
|
+
}
|
|
136
|
+
});
|
|
137
|
+
emit('change', currentSelectedIndexs, selectedLabels.join(' '));
|
|
138
|
+
});
|
|
139
|
+
api.wheelsTo(state.defaultSelectedIndexs);
|
|
140
|
+
api.changeWheelItemStyle(state.pickerData, state.defaultSelectedIndexs);
|
|
141
|
+
} else {
|
|
142
|
+
wheels[i].refresh();
|
|
143
|
+
}
|
|
144
|
+
return wheels[i];
|
|
145
|
+
};
|
|
146
|
+
};
|
|
147
|
+
export var createWheelNoFooter = function createWheelNoFooter(_ref7) {
|
|
148
|
+
var api = _ref7.api,
|
|
149
|
+
state = _ref7.state,
|
|
150
|
+
BScroll = _ref7.BScroll;
|
|
151
|
+
return function (wheelWrapper) {
|
|
152
|
+
var wheels = state.wheels;
|
|
153
|
+
if (!wheels[0]) {
|
|
154
|
+
wheels[0] = state.wheels[0] = new BScroll(wheelWrapper.children[0], {
|
|
155
|
+
probeType: 3,
|
|
156
|
+
click: true
|
|
157
|
+
});
|
|
158
|
+
api.changeWheelItemStyle(state.pickerData, state.defaultSelectedIndexs);
|
|
159
|
+
api.refreshWheel(wheels[0]);
|
|
160
|
+
} else {
|
|
161
|
+
wheels[0].refresh();
|
|
162
|
+
}
|
|
163
|
+
return wheels[0];
|
|
164
|
+
};
|
|
165
|
+
};
|
|
166
|
+
export var changeWheelItemStyle = function changeWheelItemStyle(state) {
|
|
167
|
+
return function (pickerData, currentSelectedIndexs) {
|
|
168
|
+
pickerData.forEach(function (item, index) {
|
|
169
|
+
state.pickerData[index] = item.map(function (rItem, i) {
|
|
170
|
+
rItem.selected = i === currentSelectedIndexs[index];
|
|
171
|
+
return rItem;
|
|
172
|
+
});
|
|
173
|
+
});
|
|
174
|
+
};
|
|
175
|
+
};
|
|
176
|
+
export var dealWheels = function dealWheels(state) {
|
|
177
|
+
return function () {
|
|
178
|
+
state.wheels.forEach(function (wheel) {
|
|
179
|
+
wheel.destroy();
|
|
180
|
+
});
|
|
181
|
+
state.wheels = [];
|
|
182
|
+
state.pickerData = [];
|
|
183
|
+
state.prevSelectedIndexs = [];
|
|
184
|
+
state.defaultSelectedIndexs = [];
|
|
185
|
+
};
|
|
186
|
+
};
|
|
187
|
+
export var clickWheelItem = function clickWheelItem(_ref8) {
|
|
188
|
+
var api = _ref8.api,
|
|
189
|
+
state = _ref8.state,
|
|
190
|
+
emit = _ref8.emit;
|
|
191
|
+
return function (index) {
|
|
192
|
+
api.changeWheelItemStyle(state.pickerData, [index]);
|
|
193
|
+
var rItem = state.pickerData[0][index];
|
|
194
|
+
if (state.defaultSelectedIndexs[0] !== index) {
|
|
195
|
+
var selectedLabel = rItem === null || rItem === void 0 ? void 0 : rItem.label;
|
|
196
|
+
emit('clickWheelItem', [index], selectedLabel);
|
|
197
|
+
} else {
|
|
198
|
+
emit('clickWheelItem', [], '');
|
|
199
|
+
}
|
|
200
|
+
};
|
|
201
|
+
};
|
package/wheel/vue.js
ADDED
|
@@ -0,0 +1,110 @@
|
|
|
1
|
+
import { created, loadPickerData, wheelChanged, changeWheelItemStyle, loadWheels, createWheelHasFooter, createWheelNoFooter, wheelsTo, refreshWheel, dealWheels, clickWheelItem } from './index';
|
|
2
|
+
export var api = ['state', 'created', 'loadPickerData', 'wheelChanged', 'changeWheelItemStyle', 'loadWheels', 'createWheelHasFooter', 'createWheelNoFooter', 'wheelsTo', 'refreshWheel', 'dealWheels', 'clickWheelItem'];
|
|
3
|
+
var initState = function initState(reactive) {
|
|
4
|
+
var state = reactive({
|
|
5
|
+
dataSource: [],
|
|
6
|
+
defaultSelectedIndexs: [],
|
|
7
|
+
pickerData: [],
|
|
8
|
+
wheels: [],
|
|
9
|
+
prevSelectedIndexs: []
|
|
10
|
+
});
|
|
11
|
+
return state;
|
|
12
|
+
};
|
|
13
|
+
var initApi = function initApi(_ref) {
|
|
14
|
+
var api = _ref.api,
|
|
15
|
+
props = _ref.props,
|
|
16
|
+
state = _ref.state,
|
|
17
|
+
emit = _ref.emit,
|
|
18
|
+
nextTick = _ref.nextTick,
|
|
19
|
+
refs = _ref.refs,
|
|
20
|
+
BScroll = _ref.BScroll;
|
|
21
|
+
Object.assign(api, {
|
|
22
|
+
state: state,
|
|
23
|
+
created: created(api),
|
|
24
|
+
loadPickerData: loadPickerData({
|
|
25
|
+
props: props,
|
|
26
|
+
state: state
|
|
27
|
+
}),
|
|
28
|
+
wheelChanged: wheelChanged({
|
|
29
|
+
api: api,
|
|
30
|
+
state: state
|
|
31
|
+
}),
|
|
32
|
+
changeWheelItemStyle: changeWheelItemStyle(state),
|
|
33
|
+
loadWheels: loadWheels({
|
|
34
|
+
api: api,
|
|
35
|
+
props: props,
|
|
36
|
+
state: state,
|
|
37
|
+
nextTick: nextTick,
|
|
38
|
+
refs: refs
|
|
39
|
+
}),
|
|
40
|
+
createWheelHasFooter: createWheelHasFooter({
|
|
41
|
+
api: api,
|
|
42
|
+
state: state,
|
|
43
|
+
emit: emit,
|
|
44
|
+
BScroll: BScroll
|
|
45
|
+
}),
|
|
46
|
+
createWheelNoFooter: createWheelNoFooter({
|
|
47
|
+
api: api,
|
|
48
|
+
state: state,
|
|
49
|
+
BScroll: BScroll
|
|
50
|
+
}),
|
|
51
|
+
wheelsTo: wheelsTo({
|
|
52
|
+
api: api,
|
|
53
|
+
state: state,
|
|
54
|
+
nextTick: nextTick
|
|
55
|
+
}),
|
|
56
|
+
refreshWheel: refreshWheel(nextTick),
|
|
57
|
+
dealWheels: dealWheels(state),
|
|
58
|
+
clickWheelItem: clickWheelItem({
|
|
59
|
+
api: api,
|
|
60
|
+
state: state,
|
|
61
|
+
emit: emit
|
|
62
|
+
})
|
|
63
|
+
});
|
|
64
|
+
};
|
|
65
|
+
var initWatch = function initWatch(_ref2) {
|
|
66
|
+
var watch = _ref2.watch,
|
|
67
|
+
api = _ref2.api,
|
|
68
|
+
props = _ref2.props,
|
|
69
|
+
state = _ref2.state,
|
|
70
|
+
nextTick = _ref2.nextTick;
|
|
71
|
+
watch(function () {
|
|
72
|
+
return props.defaultSelectedIndexs;
|
|
73
|
+
}, function () {
|
|
74
|
+
api.dealWheels(state);
|
|
75
|
+
nextTick(function () {
|
|
76
|
+
api.created(api);
|
|
77
|
+
});
|
|
78
|
+
});
|
|
79
|
+
};
|
|
80
|
+
export var renderless = function renderless(props, _ref3, _ref4, _ref5) {
|
|
81
|
+
var onMounted = _ref3.onMounted,
|
|
82
|
+
reactive = _ref3.reactive,
|
|
83
|
+
watch = _ref3.watch;
|
|
84
|
+
var emit = _ref4.emit,
|
|
85
|
+
nextTick = _ref4.nextTick,
|
|
86
|
+
refs = _ref4.refs;
|
|
87
|
+
var BScroll = _ref5.BScroll;
|
|
88
|
+
var api = {};
|
|
89
|
+
var state = initState(reactive);
|
|
90
|
+
initApi({
|
|
91
|
+
api: api,
|
|
92
|
+
props: props,
|
|
93
|
+
state: state,
|
|
94
|
+
emit: emit,
|
|
95
|
+
nextTick: nextTick,
|
|
96
|
+
refs: refs,
|
|
97
|
+
BScroll: BScroll
|
|
98
|
+
});
|
|
99
|
+
initWatch({
|
|
100
|
+
watch: watch,
|
|
101
|
+
api: api,
|
|
102
|
+
props: props,
|
|
103
|
+
state: state,
|
|
104
|
+
nextTick: nextTick
|
|
105
|
+
});
|
|
106
|
+
onMounted(function () {
|
|
107
|
+
api.created(api);
|
|
108
|
+
});
|
|
109
|
+
return api;
|
|
110
|
+
};
|