@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.
@@ -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.5.0",
4
- "description": "@opentiny/vue-renderless",
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
- "Tiny"
12
+ "vue3",
13
+ "frontend",
14
+ "component-library",
15
+ "components",
16
+ "vue-components",
17
+ "opentiny",
18
+ "renderless-components",
19
+ "headless-components"
12
20
  ],
13
- "author": "Tiny Team",
21
+ "author": "OpenTiny Team",
14
22
  "license": "MIT",
15
23
  "sideEffects": false,
16
24
  "scripts": {
@@ -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 onTouchstart = function onTouchstart(_ref) {
3
- var state = _ref.state;
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 refs = _ref2.refs,
36
+ var props = _ref2.props,
10
37
  state = _ref2.state;
11
38
  return function (event) {
12
- if (!state.disabled) {
13
- if (event.touches[0].clientY < state.draggposition || refs.track.parentNode.scrollTop > 10) {
14
- return;
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
- state.replaces = state.pullingText;
17
- state.animationDuration = 0;
18
- state.translate3d = (event.touches[0].clientY - state.draggposition) / 2;
19
- state.styleObj = {
20
- 'transition-duration': '0ms',
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 emit = _ref3.emit,
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 = state.headHeight;
40
- state.checkStatus = true;
41
- state.styleObj = {
42
- 'transition-duration': state.animationDuration + 'ms',
43
- transform: 'translate3d(0px,' + state.translate3d + 'px,0px)'
44
- };
45
- emit('update:modelValue', true);
46
- emit('refresh');
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.styleObj = {
49
- 'transition-duration': state.animationDuration + 'ms'
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 watchModelValue = function watchModelValue(_ref6) {
82
- var value = _ref6.value,
125
+ export var handlerModelValue = function handlerModelValue(_ref6) {
126
+ var api = _ref6.api,
83
127
  state = _ref6.state;
84
- if (!value) {
85
- if (state.successText) {
86
- state.checkStatus = false;
87
- state.replaces = state.successText;
88
- setTimeout(function () {
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.translate3d = 0;
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
  };