@opentiny/vue-renderless 3.12.0 → 3.13.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/alert/index.js +50 -1
- package/alert/vue.js +36 -9
- package/calendar-bar/index.js +2 -2
- package/calendar-view/index.js +5 -11
- package/calendar-view/vue.js +1 -1
- package/cascader-mobile/index.js +1 -1
- package/cascader-mobile/vue.js +1 -1
- package/cascader-view/index.js +1 -1
- package/checkbox/vue.js +1 -0
- package/checkbox-group/vue.js +1 -0
- package/col/index.js +7 -2
- package/common/date.js +2 -0
- package/common/deps/popper.js +14 -1
- package/common/index.js +1 -1
- package/common/runtime.js +1 -1
- package/container/index.js +17 -1
- package/container/vue.js +12 -3
- package/dropdown-item/vue.js +1 -1
- package/grid/utils/common.js +10 -5
- package/input/index.js +8 -2
- package/input/vue.js +13 -8
- package/label/index.js +56 -0
- package/label/vue.js +26 -0
- package/mask/index.js +13 -0
- package/mask/vue.js +18 -0
- package/numeric/index.js +13 -3
- package/numeric/vue.js +6 -1
- package/option/index.js +1 -2
- package/option/vue.js +7 -1
- package/package.json +1 -1
- package/pager/index.js +358 -0
- package/pager/vue.js +114 -2
- package/picker/index.js +1 -1
- package/pop-upload/index.js +0 -2
- package/pop-upload/vue.js +0 -4
- package/pull-refresh/index.js +55 -63
- package/pull-refresh/vue.js +20 -7
- package/select/index.js +18 -4
- package/select/vue.js +5 -4
- package/slider/index.js +27 -3
- package/slider/vue.js +26 -6
- package/tag/vue.js +5 -1
- package/tall-storage/index.js +4 -5
- package/types/action-menu.type.d.ts +5 -0
- package/types/alert.type.d.ts +17 -2
- package/types/button.type.d.ts +1 -0
- package/types/checkbox.type.d.ts +6 -3
- package/types/collapse.type.d.ts +1 -1
- package/types/{dropdown-item.type-bf83e929.d.ts → dropdown-item.type-8ea6c633.d.ts} +1 -1
- package/types/dropdown-item.type.d.ts +1 -1
- package/types/dropdown-menu.type.d.ts +1 -1
- package/types/dropdown.type.d.ts +1 -0
- package/types/file-upload.type.d.ts +1 -1
- package/types/form-item.type.d.ts +1 -1
- package/types/{form.type-d0fd42f3.d.ts → form.type-654dccd8.d.ts} +1 -1
- package/types/form.type.d.ts +1 -1
- package/types/input.type.d.ts +21 -3
- package/types/label.type.d.ts +81 -0
- package/types/milestone.type.d.ts +1 -1
- package/types/numeric.type.d.ts +1 -1
- package/types/pager.type.d.ts +159 -1
- package/types/popeditor.type.d.ts +1 -1
- package/types/popover.type.d.ts +1 -1
- package/types/progress.type.d.ts +1 -1
- package/types/slider.type.d.ts +8 -0
- package/types/steps.type.d.ts +1 -1
- package/types/switch.type.d.ts +3 -3
- package/types/tab-item.type.d.ts +0 -1
- package/types/tag.type.d.ts +12 -0
- package/types/upload-dragger.type.d.ts +2 -2
- package/types/{upload-list.type-343e8c11.d.ts → upload-list.type-f76f2393.d.ts} +2 -2
- package/types/upload-list.type.d.ts +1 -1
- package/types/upload.type.d.ts +1 -1
package/mask/vue.js
ADDED
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
import "../chunk-G2ADBYYC.js";
|
|
2
|
+
import { handleTouch } from "./index";
|
|
3
|
+
const api = ["state", "handleTouch"];
|
|
4
|
+
const renderless = (props, { reactive, computed }, { emit }) => {
|
|
5
|
+
const api2 = {};
|
|
6
|
+
const state = reactive({
|
|
7
|
+
calcStyle: computed(() => ({ zIndex: props.zIndex }))
|
|
8
|
+
});
|
|
9
|
+
Object.assign(api2, {
|
|
10
|
+
state,
|
|
11
|
+
handleTouch: handleTouch({ props, emit })
|
|
12
|
+
});
|
|
13
|
+
return api2;
|
|
14
|
+
};
|
|
15
|
+
export {
|
|
16
|
+
api,
|
|
17
|
+
renderless
|
|
18
|
+
};
|
package/numeric/index.js
CHANGED
|
@@ -219,9 +219,19 @@ const handleInput = ({ state, api, emit, props }) => (event) => {
|
|
|
219
219
|
state.lastInput = value;
|
|
220
220
|
state.userInput = value;
|
|
221
221
|
};
|
|
222
|
-
const handleInputChange = ({ api }) => (event) => {
|
|
223
|
-
|
|
224
|
-
|
|
222
|
+
const handleInputChange = ({ api, state, props }) => (event) => {
|
|
223
|
+
var _a, _b;
|
|
224
|
+
const value = ((_a = event.target) == null ? void 0 : _a.value) === "-" ? 0 : (_b = event.target) == null ? void 0 : _b.value;
|
|
225
|
+
if (props.stepStrictly) {
|
|
226
|
+
const previousValue = Number((props.mouseWheel ? state.displayValue : props.modelValue) || 0);
|
|
227
|
+
if (Math.abs(previousValue - value) % Number(props.step) === 0)
|
|
228
|
+
return api.setCurrentValue(value);
|
|
229
|
+
const step = Number(props.step);
|
|
230
|
+
const difference = value - previousValue;
|
|
231
|
+
const sign = difference >= 0 ? 1 : -1;
|
|
232
|
+
return api.setCurrentValue(sign * Math.round(Math.abs(difference) / step) * step + previousValue);
|
|
233
|
+
}
|
|
234
|
+
api.setCurrentValue(value);
|
|
225
235
|
};
|
|
226
236
|
const select = (refs) => () => refs.input.select();
|
|
227
237
|
const mounted = ({ constants, parent, props, state }) => () => {
|
package/numeric/vue.js
CHANGED
|
@@ -91,7 +91,7 @@ const initApi = ({
|
|
|
91
91
|
displayValue: displayValue({ props, state }),
|
|
92
92
|
internalDecrease: internalDecrease({ api: api2, state }),
|
|
93
93
|
internalIncrease: internalIncrease({ api: api2, state }),
|
|
94
|
-
handleInputChange: handleInputChange({ api: api2 }),
|
|
94
|
+
handleInputChange: handleInputChange({ api: api2, state, props }),
|
|
95
95
|
mouseEvent: mouseEvent({ api: api2, props, state }),
|
|
96
96
|
handleBlur: handleBlur({ constants, dispatch, emit, props, state, api: api2 }),
|
|
97
97
|
watchValue: watchValue({ api: api2, state, nextTick }),
|
|
@@ -108,6 +108,11 @@ const initWatch = ({
|
|
|
108
108
|
props,
|
|
109
109
|
api: api2
|
|
110
110
|
}) => {
|
|
111
|
+
watch(() => [props.max, props.min], ([curMax, curMin]) => {
|
|
112
|
+
if (curMax < curMin) {
|
|
113
|
+
throw new Error("[Numeric]: The maximum value should not be less than to the minimum value");
|
|
114
|
+
}
|
|
115
|
+
}, { immediate: true });
|
|
111
116
|
watch(() => props.modelValue, api2.watchValue, { immediate: true });
|
|
112
117
|
watch(() => state.isDisplayOnly, api2.dispatchDisplayedValue);
|
|
113
118
|
};
|
package/option/index.js
CHANGED
|
@@ -32,9 +32,8 @@ const selectOptionClick = ({ props, state, select, constants, vm }) => () => {
|
|
|
32
32
|
select.state.selectEmitter.emit(constants.EVENT_NAME.handleOptionClick, vm, true);
|
|
33
33
|
}
|
|
34
34
|
};
|
|
35
|
-
const queryChange = ({
|
|
35
|
+
const queryChange = ({ props, state }) => (query) => {
|
|
36
36
|
state.visible = new RegExp(escapeRegexpString(query), "i").test(state.currentLabel) || props.created;
|
|
37
|
-
select.state.filteredOptionsCount += state.visible ? 1 : -1;
|
|
38
37
|
};
|
|
39
38
|
const toggleEvent = ({ props, vm, type }) => {
|
|
40
39
|
const optionEl = vm.$refs.option;
|
package/option/vue.js
CHANGED
|
@@ -49,7 +49,7 @@ const initApi = ({ api: api2, props, state, select, constants, vm }) => {
|
|
|
49
49
|
isEqual: isEqual({ select, state }),
|
|
50
50
|
contains: contains({ select, state }),
|
|
51
51
|
hoverItem: hoverItem({ select, vm, props, state }),
|
|
52
|
-
queryChange: queryChange({
|
|
52
|
+
queryChange: queryChange({ props, state }),
|
|
53
53
|
selectOptionClick: selectOptionClick({ constants, vm, props, state, select }),
|
|
54
54
|
handleGroupDisabled: handleGroupDisabled(state),
|
|
55
55
|
initValue: initValue({ select, props, constants, vm })
|
|
@@ -76,6 +76,12 @@ const initWatch = ({ watch, props, state, select, constants }) => {
|
|
|
76
76
|
}
|
|
77
77
|
}
|
|
78
78
|
);
|
|
79
|
+
watch(
|
|
80
|
+
() => state.visible,
|
|
81
|
+
() => {
|
|
82
|
+
select.state.filteredOptionsCount += state.visible ? 1 : -1;
|
|
83
|
+
}
|
|
84
|
+
);
|
|
79
85
|
};
|
|
80
86
|
const initOnMounted = ({ onMounted, props, api: api2, vm, state, constants, select }) => {
|
|
81
87
|
onMounted(() => {
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@opentiny/vue-renderless",
|
|
3
|
-
"version": "3.
|
|
3
|
+
"version": "3.13.0",
|
|
4
4
|
"description": "An enterprise-class UI component library, support both Vue.js 2 and Vue.js 3, as well as PC and mobile.",
|
|
5
5
|
"homepage": "https://opentiny.design/tiny-vue",
|
|
6
6
|
"keywords": [
|
package/pager/index.js
ADDED
|
@@ -0,0 +1,358 @@
|
|
|
1
|
+
import {
|
|
2
|
+
__spreadValues
|
|
3
|
+
} from "../chunk-G2ADBYYC.js";
|
|
4
|
+
import { emitEvent } from "../common/event";
|
|
5
|
+
const computedShowPager = ({ props, state }) => () => {
|
|
6
|
+
const hidePager = props.hideOnSinglePage && (!state.internalPageCount || state.internalPageCount === 1);
|
|
7
|
+
return state.internalLayout.length > 0 && !hidePager;
|
|
8
|
+
};
|
|
9
|
+
const computedInternalLayout = ({ props }) => () => {
|
|
10
|
+
let layout = "";
|
|
11
|
+
if (props.mode && !props.layout) {
|
|
12
|
+
props.mode === "number" && (layout = "total, sizes, prev, pager, next, jumper");
|
|
13
|
+
props.mode === "simple" && (layout = "sizes, total, prev, current, next");
|
|
14
|
+
props.mode === "complete" && (layout = "sizes, total, prev, pager, next, jumper");
|
|
15
|
+
props.mode === "fixed" && (layout = "prev,pager,next");
|
|
16
|
+
} else if (!props.mode && props.layout || props.mode && props.layout) {
|
|
17
|
+
layout = props.layout;
|
|
18
|
+
} else {
|
|
19
|
+
layout = "total, prev, pager, next, jumper";
|
|
20
|
+
}
|
|
21
|
+
if (!layout) {
|
|
22
|
+
return [];
|
|
23
|
+
} else {
|
|
24
|
+
const components = layout.split(",").map((item) => item.trim());
|
|
25
|
+
return components;
|
|
26
|
+
}
|
|
27
|
+
};
|
|
28
|
+
const computedTotalText = ({ props, t }) => () => {
|
|
29
|
+
if (typeof props.customTotal === "string")
|
|
30
|
+
return props.customTotal;
|
|
31
|
+
const totals = Number(props.total);
|
|
32
|
+
if (isNaN(totals))
|
|
33
|
+
return "0";
|
|
34
|
+
const HUNDRED_THOUSAND = 1e5;
|
|
35
|
+
const MILLION = 1e6;
|
|
36
|
+
const TEN_MILLION = 1e7;
|
|
37
|
+
if (totals <= HUNDRED_THOUSAND) {
|
|
38
|
+
return String(totals);
|
|
39
|
+
} else if (totals <= MILLION) {
|
|
40
|
+
return t("ui.page.hundredThousand");
|
|
41
|
+
} else if (totals <= TEN_MILLION) {
|
|
42
|
+
return t("ui.page.million");
|
|
43
|
+
} else {
|
|
44
|
+
return t("ui.page.tenMillion");
|
|
45
|
+
}
|
|
46
|
+
};
|
|
47
|
+
const computedInternalPageCount = ({ props, state }) => () => {
|
|
48
|
+
if (typeof props.total === "number") {
|
|
49
|
+
return Math.max(1, Math.ceil(props.total / state.internalPageSize));
|
|
50
|
+
} else if (typeof props.pageCount === "number") {
|
|
51
|
+
return Math.max(1, props.pageCount);
|
|
52
|
+
}
|
|
53
|
+
return null;
|
|
54
|
+
};
|
|
55
|
+
const handleJumperFocus = ({ state }) => (e) => {
|
|
56
|
+
var _a;
|
|
57
|
+
state.jumperBackup = (_a = e.target) == null ? void 0 : _a.value;
|
|
58
|
+
};
|
|
59
|
+
const watchInternalCurrentPage = ({ state, emit }) => (currentPage) => {
|
|
60
|
+
const value = String(currentPage);
|
|
61
|
+
if (state.jumperValue !== value) {
|
|
62
|
+
state.jumperValue = value;
|
|
63
|
+
}
|
|
64
|
+
emit("update:currentPage", currentPage);
|
|
65
|
+
emit("current-change", currentPage);
|
|
66
|
+
state.lastEmittedPage = -1;
|
|
67
|
+
};
|
|
68
|
+
const watchPageSizes = ({ state, props }) => (newVal) => {
|
|
69
|
+
if (Array.isArray(newVal)) {
|
|
70
|
+
state.internalPageSize = newVal.includes(props.pageSize) ? props.pageSize : newVal[0];
|
|
71
|
+
}
|
|
72
|
+
};
|
|
73
|
+
const watchCurrentPage = ({ state, api }) => (curPage) => {
|
|
74
|
+
state.internalCurrentPage = api.getValidCurrentPage(curPage);
|
|
75
|
+
};
|
|
76
|
+
const watchInternalPageCount = ({ state, api }) => (pageCount) => {
|
|
77
|
+
const oldCurPage = state.internalCurrentPage;
|
|
78
|
+
if (pageCount && pageCount > 0 && oldCurPage === 0) {
|
|
79
|
+
state.internalCurrentPage = 1;
|
|
80
|
+
} else if (oldCurPage > Number(pageCount)) {
|
|
81
|
+
state.internalCurrentPage = pageCount || 1;
|
|
82
|
+
state.userChangePageSize && api.emitChange();
|
|
83
|
+
}
|
|
84
|
+
state.userChangePageSize = false;
|
|
85
|
+
};
|
|
86
|
+
const watchPageSize = ({ state }) => (pageSize) => {
|
|
87
|
+
state.internalPageSize = isNaN(pageSize) ? 10 : pageSize;
|
|
88
|
+
};
|
|
89
|
+
const watchTotal = ({ state }) => (total) => {
|
|
90
|
+
state.internalTotal = total;
|
|
91
|
+
};
|
|
92
|
+
const handleSizeChange = ({ props, state, api, emit, vm }) => (val) => {
|
|
93
|
+
val = Number(val);
|
|
94
|
+
if (val !== state.internalPageSize) {
|
|
95
|
+
const callback = () => {
|
|
96
|
+
if (!api.beforeChangeHandler()) {
|
|
97
|
+
return;
|
|
98
|
+
}
|
|
99
|
+
state.internalPageSize = val;
|
|
100
|
+
state.userChangePageSize = true;
|
|
101
|
+
state.showSizes = false;
|
|
102
|
+
emit("update:pageSize", val);
|
|
103
|
+
emit("size-change", val);
|
|
104
|
+
emit("page-change", {
|
|
105
|
+
currentPage: state.internalCurrentPage,
|
|
106
|
+
pageSize: val,
|
|
107
|
+
total: state.internalTotal
|
|
108
|
+
});
|
|
109
|
+
vm.$refs.sizesList[0].state.showPopper = false;
|
|
110
|
+
};
|
|
111
|
+
if (props.isBeforePageChange) {
|
|
112
|
+
let newPageSize = val;
|
|
113
|
+
let currentPageSize = state.internalPageSize;
|
|
114
|
+
let params = { newPageSize, currentPageSize, callback };
|
|
115
|
+
api.beforeSizeChangeHandler(params);
|
|
116
|
+
} else {
|
|
117
|
+
callback();
|
|
118
|
+
}
|
|
119
|
+
}
|
|
120
|
+
};
|
|
121
|
+
const handleJumperInput = ({ state }) => (e) => {
|
|
122
|
+
const target = e.target;
|
|
123
|
+
if (!target.value) {
|
|
124
|
+
state.jumperValue = "";
|
|
125
|
+
} else if (/^\d+$/.test(target.value)) {
|
|
126
|
+
state.jumperValue = target.value || "1";
|
|
127
|
+
}
|
|
128
|
+
target.value = state.jumperValue;
|
|
129
|
+
};
|
|
130
|
+
const handleJumperChange = ({ props, state, api }) => () => {
|
|
131
|
+
api.parseValueNumber();
|
|
132
|
+
const callback = () => {
|
|
133
|
+
api.handleJumperClick();
|
|
134
|
+
};
|
|
135
|
+
const rollback = () => {
|
|
136
|
+
state.jumperValue = String(state.jumperBackup);
|
|
137
|
+
};
|
|
138
|
+
const newPage = state.jumperValue;
|
|
139
|
+
const currentPage = state.jumperBackup;
|
|
140
|
+
if (props.isBeforePageChange && newPage !== currentPage) {
|
|
141
|
+
const params = { newPage, currentPage, callback, rollback };
|
|
142
|
+
api.beforePagerChangeHandler(params);
|
|
143
|
+
} else {
|
|
144
|
+
callback();
|
|
145
|
+
}
|
|
146
|
+
};
|
|
147
|
+
const handleJumperClick = ({ props, state, api }) => () => {
|
|
148
|
+
if (!api.canJumperGo() || props.disabled)
|
|
149
|
+
return;
|
|
150
|
+
state.internalCurrentPage = api.getValidCurrentPage(state.jumperValue);
|
|
151
|
+
api.emitChange();
|
|
152
|
+
};
|
|
153
|
+
const isValueNumber = ({ state }) => () => {
|
|
154
|
+
return !isNaN(Number(state.jumperValue));
|
|
155
|
+
};
|
|
156
|
+
const parseValueNumber = ({ state }) => () => {
|
|
157
|
+
let value = Number(
|
|
158
|
+
String(state.jumperValue).split(/[^0-9-+.]/).join("")
|
|
159
|
+
);
|
|
160
|
+
if (isNaN(value)) {
|
|
161
|
+
value = 1;
|
|
162
|
+
}
|
|
163
|
+
value = Number(value.toFixed(0));
|
|
164
|
+
const min = 1;
|
|
165
|
+
const max = state.internalPageCount || 1;
|
|
166
|
+
if (value >= max) {
|
|
167
|
+
state.jumperValue = String(max);
|
|
168
|
+
} else if (value <= min) {
|
|
169
|
+
state.jumperValue = String(min);
|
|
170
|
+
} else {
|
|
171
|
+
state.jumperValue = String(value);
|
|
172
|
+
}
|
|
173
|
+
};
|
|
174
|
+
const handleSizeShowPopover = ({ state, props }) => () => {
|
|
175
|
+
if (props.disabled) {
|
|
176
|
+
state.showSizes = false;
|
|
177
|
+
return;
|
|
178
|
+
}
|
|
179
|
+
state.showSizes = true;
|
|
180
|
+
};
|
|
181
|
+
const handleSizeHidePopover = ({ state }) => () => {
|
|
182
|
+
state.showSizes = false;
|
|
183
|
+
};
|
|
184
|
+
const canJumperGo = ({ props, state, vm }) => () => {
|
|
185
|
+
const inputValue = Number(vm.$refs.jumperInput[0].value || 0);
|
|
186
|
+
const currentPage = Number(state.internalCurrentPage || 0);
|
|
187
|
+
return props.accurateJumper ? inputValue !== currentPage : true;
|
|
188
|
+
};
|
|
189
|
+
const beforeSizeChangeHandler = ({ state, emit }) => (params) => {
|
|
190
|
+
const { newPageSize, currentPageSize, callback } = params;
|
|
191
|
+
const newPage = 1;
|
|
192
|
+
const currentPage = state.internalCurrentPage;
|
|
193
|
+
const temp = {
|
|
194
|
+
newPage,
|
|
195
|
+
newPageSize,
|
|
196
|
+
currentPage,
|
|
197
|
+
currentPageSize,
|
|
198
|
+
callback
|
|
199
|
+
};
|
|
200
|
+
emit("before-page-change", temp);
|
|
201
|
+
};
|
|
202
|
+
const beforePagerChangeHandler = ({ state, emit }) => (params) => {
|
|
203
|
+
const { newPage, currentPage, callback, rollback } = params;
|
|
204
|
+
const newPageSize = state.internalPageSize;
|
|
205
|
+
const currentPageSize = state.internalPageSize;
|
|
206
|
+
const temp = {
|
|
207
|
+
newPage,
|
|
208
|
+
newPageSize,
|
|
209
|
+
currentPage,
|
|
210
|
+
currentPageSize,
|
|
211
|
+
callback,
|
|
212
|
+
rollback
|
|
213
|
+
};
|
|
214
|
+
emit("before-page-change", temp);
|
|
215
|
+
};
|
|
216
|
+
const beforeJumperChangeHandler = ({ state, emit }) => (params) => {
|
|
217
|
+
const { newPage, currentPage, callback, rollback } = params;
|
|
218
|
+
const newPageSize = state.internalPageSize;
|
|
219
|
+
const currentPageSize = state.internalPageSize;
|
|
220
|
+
const temp = {
|
|
221
|
+
newPage,
|
|
222
|
+
newPageSize,
|
|
223
|
+
currentPage,
|
|
224
|
+
currentPageSize,
|
|
225
|
+
callback,
|
|
226
|
+
rollback
|
|
227
|
+
};
|
|
228
|
+
emit("before-page-change", temp);
|
|
229
|
+
};
|
|
230
|
+
const copyEmit = ({ emit }) => (...args) => {
|
|
231
|
+
emit(args[0], ...args.slice(1));
|
|
232
|
+
};
|
|
233
|
+
const beforeChangeHandler = ({ state, api }) => (val = -1) => {
|
|
234
|
+
return emitEvent(api.copyEmit, "before-change", state.internalCurrentPage, void 0, val);
|
|
235
|
+
};
|
|
236
|
+
const handleCurrentChange = ({ state, api }) => (val) => {
|
|
237
|
+
if (!api.beforeChangeHandler(val)) {
|
|
238
|
+
return;
|
|
239
|
+
}
|
|
240
|
+
state.internalCurrentPage = api.getValidCurrentPage(val);
|
|
241
|
+
state.userChangePageSize = true;
|
|
242
|
+
api.emitChange();
|
|
243
|
+
};
|
|
244
|
+
const prev = ({ state, props, api, emit }) => () => {
|
|
245
|
+
const callback = () => {
|
|
246
|
+
if (props.disabled || !api.beforeChangeHandler(state.internalCurrentPage - 1)) {
|
|
247
|
+
return;
|
|
248
|
+
}
|
|
249
|
+
const newVal = state.internalCurrentPage - 1;
|
|
250
|
+
state.internalCurrentPage = api.getValidCurrentPage(newVal);
|
|
251
|
+
emit("prev-click", state.internalCurrentPage);
|
|
252
|
+
api.emitChange();
|
|
253
|
+
};
|
|
254
|
+
if (props.isBeforePageChange) {
|
|
255
|
+
const newPage = state.internalCurrentPage - 1;
|
|
256
|
+
const temp = api.buildBeforePageChangeParam({ newPage, callback });
|
|
257
|
+
emit("before-page-change", temp);
|
|
258
|
+
} else {
|
|
259
|
+
callback();
|
|
260
|
+
}
|
|
261
|
+
};
|
|
262
|
+
const next = ({ props, state, api, emit }) => () => {
|
|
263
|
+
const callback = () => {
|
|
264
|
+
if (props.disabled || !api.beforeChangeHandler(state.internalCurrentPage + 1)) {
|
|
265
|
+
return;
|
|
266
|
+
}
|
|
267
|
+
const newVal = state.internalCurrentPage + 1;
|
|
268
|
+
state.internalCurrentPage = api.getValidCurrentPage(newVal);
|
|
269
|
+
emit("next-click", state.internalCurrentPage);
|
|
270
|
+
api.emitChange();
|
|
271
|
+
};
|
|
272
|
+
if (props.isBeforePageChange) {
|
|
273
|
+
const newPage = state.internalCurrentPage + 1;
|
|
274
|
+
const temp = api.buildBeforePageChangeParam({ newPage, callback });
|
|
275
|
+
emit("before-page-change", temp);
|
|
276
|
+
} else {
|
|
277
|
+
callback();
|
|
278
|
+
}
|
|
279
|
+
};
|
|
280
|
+
const buildBeforePageChangeParam = ({ state }) => (param) => {
|
|
281
|
+
const currentPage = state.internalCurrentPage;
|
|
282
|
+
const newPageSize = state.internalPageSize;
|
|
283
|
+
const currentPageSize = state.internalPageSize;
|
|
284
|
+
return __spreadValues({ currentPage, newPageSize, currentPageSize }, param);
|
|
285
|
+
};
|
|
286
|
+
const getValidCurrentPage = ({ state }) => (val) => {
|
|
287
|
+
const parseVal = Number(val);
|
|
288
|
+
const hasPageCount = typeof state.internalPageCount === "number";
|
|
289
|
+
let resetVal;
|
|
290
|
+
if (hasPageCount) {
|
|
291
|
+
if (parseVal < 1) {
|
|
292
|
+
resetVal = 1;
|
|
293
|
+
} else if (parseVal > (state.internalPageCount || 0)) {
|
|
294
|
+
resetVal = state.internalPageCount;
|
|
295
|
+
}
|
|
296
|
+
} else {
|
|
297
|
+
if (isNaN(parseVal) || parseVal < 1) {
|
|
298
|
+
resetVal = 1;
|
|
299
|
+
}
|
|
300
|
+
}
|
|
301
|
+
if (resetVal === void 0 && isNaN(parseVal)) {
|
|
302
|
+
resetVal = 1;
|
|
303
|
+
} else if (resetVal === 0) {
|
|
304
|
+
resetVal = 1;
|
|
305
|
+
}
|
|
306
|
+
return resetVal === void 0 ? parseVal : resetVal;
|
|
307
|
+
};
|
|
308
|
+
const emitChange = ({ state, nextTick, emit }) => () => {
|
|
309
|
+
nextTick(() => {
|
|
310
|
+
if (state.internalCurrentPage !== state.lastEmittedPage || state.userChangePageSize) {
|
|
311
|
+
emit("update:current-page", state.internalCurrentPage);
|
|
312
|
+
emit("page-change", {
|
|
313
|
+
currentPage: state.internalCurrentPage,
|
|
314
|
+
pageSize: state.internalPageSize,
|
|
315
|
+
total: state.internalTotal
|
|
316
|
+
});
|
|
317
|
+
state.lastEmittedPage = state.internalCurrentPage;
|
|
318
|
+
state.userChangePageSize = false;
|
|
319
|
+
}
|
|
320
|
+
});
|
|
321
|
+
};
|
|
322
|
+
const setTotal = ({ state }) => (val) => {
|
|
323
|
+
state.internalTotal = val;
|
|
324
|
+
};
|
|
325
|
+
export {
|
|
326
|
+
beforeChangeHandler,
|
|
327
|
+
beforeJumperChangeHandler,
|
|
328
|
+
beforePagerChangeHandler,
|
|
329
|
+
beforeSizeChangeHandler,
|
|
330
|
+
buildBeforePageChangeParam,
|
|
331
|
+
canJumperGo,
|
|
332
|
+
computedInternalLayout,
|
|
333
|
+
computedInternalPageCount,
|
|
334
|
+
computedShowPager,
|
|
335
|
+
computedTotalText,
|
|
336
|
+
copyEmit,
|
|
337
|
+
emitChange,
|
|
338
|
+
getValidCurrentPage,
|
|
339
|
+
handleCurrentChange,
|
|
340
|
+
handleJumperChange,
|
|
341
|
+
handleJumperClick,
|
|
342
|
+
handleJumperFocus,
|
|
343
|
+
handleJumperInput,
|
|
344
|
+
handleSizeChange,
|
|
345
|
+
handleSizeHidePopover,
|
|
346
|
+
handleSizeShowPopover,
|
|
347
|
+
isValueNumber,
|
|
348
|
+
next,
|
|
349
|
+
parseValueNumber,
|
|
350
|
+
prev,
|
|
351
|
+
setTotal,
|
|
352
|
+
watchCurrentPage,
|
|
353
|
+
watchInternalCurrentPage,
|
|
354
|
+
watchInternalPageCount,
|
|
355
|
+
watchPageSize,
|
|
356
|
+
watchPageSizes,
|
|
357
|
+
watchTotal
|
|
358
|
+
};
|
package/pager/vue.js
CHANGED
|
@@ -1,7 +1,119 @@
|
|
|
1
1
|
import "../chunk-G2ADBYYC.js";
|
|
2
|
-
|
|
3
|
-
|
|
2
|
+
import {
|
|
3
|
+
computedShowPager,
|
|
4
|
+
computedInternalLayout,
|
|
5
|
+
computedTotalText,
|
|
6
|
+
computedInternalPageCount,
|
|
7
|
+
handleJumperFocus,
|
|
8
|
+
handleSizeChange,
|
|
9
|
+
handleJumperInput,
|
|
10
|
+
handleJumperChange,
|
|
11
|
+
handleJumperClick,
|
|
12
|
+
isValueNumber,
|
|
13
|
+
parseValueNumber,
|
|
14
|
+
handleSizeShowPopover,
|
|
15
|
+
handleSizeHidePopover,
|
|
16
|
+
canJumperGo,
|
|
17
|
+
beforeSizeChangeHandler,
|
|
18
|
+
beforePagerChangeHandler,
|
|
19
|
+
copyEmit,
|
|
20
|
+
beforeChangeHandler,
|
|
21
|
+
handleCurrentChange,
|
|
22
|
+
prev,
|
|
23
|
+
next,
|
|
24
|
+
buildBeforePageChangeParam,
|
|
25
|
+
getValidCurrentPage,
|
|
26
|
+
emitChange,
|
|
27
|
+
setTotal,
|
|
28
|
+
watchInternalCurrentPage,
|
|
29
|
+
watchPageSizes,
|
|
30
|
+
watchCurrentPage,
|
|
31
|
+
watchInternalPageCount,
|
|
32
|
+
watchPageSize,
|
|
33
|
+
watchTotal
|
|
34
|
+
} from "./index";
|
|
35
|
+
const api = [
|
|
36
|
+
"state",
|
|
37
|
+
"handleJumperFocus",
|
|
38
|
+
"handleSizeChange",
|
|
39
|
+
"handleJumperInput",
|
|
40
|
+
"handleJumperChange",
|
|
41
|
+
"handleJumperClick",
|
|
42
|
+
"isValueNumber",
|
|
43
|
+
"parseValueNumber",
|
|
44
|
+
"handleSizeShowPopover",
|
|
45
|
+
"handleSizeHidePopover",
|
|
46
|
+
"canJumperGo",
|
|
47
|
+
"beforeSizeChangeHandler",
|
|
48
|
+
"beforePagerChangeHandler",
|
|
49
|
+
"beforeJumperChangeHandler",
|
|
50
|
+
"beforeChangeHandler",
|
|
51
|
+
"handleCurrentChange",
|
|
52
|
+
"prev",
|
|
53
|
+
"next",
|
|
54
|
+
"buildBeforePageChangeParam",
|
|
55
|
+
"getValidCurrentPage",
|
|
56
|
+
"emitChange",
|
|
57
|
+
"setTotal"
|
|
58
|
+
];
|
|
59
|
+
const renderless = (props, { reactive, computed, watch }, { emit, vm, nextTick, t }) => {
|
|
4
60
|
const api2 = {};
|
|
61
|
+
const state = reactive({
|
|
62
|
+
showSizes: false,
|
|
63
|
+
internalCurrentPage: 1,
|
|
64
|
+
internalPageSize: props.pageSize,
|
|
65
|
+
lastEmittedPage: -1,
|
|
66
|
+
userChangePageSize: false,
|
|
67
|
+
internalTotal: props.total,
|
|
68
|
+
jumperValue: "1",
|
|
69
|
+
jumperBackup: "1",
|
|
70
|
+
showPager: computed(() => api2.computedShowPager()),
|
|
71
|
+
internalLayout: computed(() => api2.computedInternalLayout()),
|
|
72
|
+
totalText: computed(() => api2.computedTotalText()),
|
|
73
|
+
internalPageCount: computed(() => api2.computedInternalPageCount())
|
|
74
|
+
});
|
|
75
|
+
Object.assign(api2, {
|
|
76
|
+
state,
|
|
77
|
+
computedShowPager: computedShowPager({ props, state }),
|
|
78
|
+
computedInternalLayout: computedInternalLayout({ props }),
|
|
79
|
+
computedTotalText: computedTotalText({ props, t }),
|
|
80
|
+
computedInternalPageCount: computedInternalPageCount({ props, state }),
|
|
81
|
+
getValidCurrentPage: getValidCurrentPage({ state }),
|
|
82
|
+
handleJumperFocus: handleJumperFocus({ state }),
|
|
83
|
+
handleSizeChange: handleSizeChange({ props, state, api: api2, emit, vm }),
|
|
84
|
+
handleJumperInput: handleJumperInput({ state }),
|
|
85
|
+
handleJumperChange: handleJumperChange({ props, state, api: api2 }),
|
|
86
|
+
handleJumperClick: handleJumperClick({ props, state, api: api2 }),
|
|
87
|
+
isValueNumber: isValueNumber({ state }),
|
|
88
|
+
parseValueNumber: parseValueNumber({ state }),
|
|
89
|
+
handleSizeShowPopover: handleSizeShowPopover({ state, props }),
|
|
90
|
+
handleSizeHidePopover: handleSizeHidePopover({ state }),
|
|
91
|
+
canJumperGo: canJumperGo({ props, state, vm }),
|
|
92
|
+
beforeSizeChangeHandler: beforeSizeChangeHandler({ state, emit }),
|
|
93
|
+
beforePagerChangeHandler: beforePagerChangeHandler({ state, emit }),
|
|
94
|
+
copyEmit: copyEmit({ emit }),
|
|
95
|
+
beforeChangeHandler: beforeChangeHandler({ state, api: api2 }),
|
|
96
|
+
handleCurrentChange: handleCurrentChange({ state, api: api2 }),
|
|
97
|
+
prev: prev({ state, props, api: api2, emit }),
|
|
98
|
+
next: next({ props, state, api: api2, emit }),
|
|
99
|
+
buildBeforePageChangeParam: buildBeforePageChangeParam({ state }),
|
|
100
|
+
emitChange: emitChange({ state, nextTick, emit }),
|
|
101
|
+
setTotal: setTotal({ state }),
|
|
102
|
+
// watch
|
|
103
|
+
watchInternalCurrentPage: watchInternalCurrentPage({ state, emit }),
|
|
104
|
+
watchPageSizes: watchPageSizes({ state, props }),
|
|
105
|
+
watchCurrentPage: watchCurrentPage({ state, api: api2 }),
|
|
106
|
+
watchInternalPageCount: watchInternalPageCount({ state, api: api2 }),
|
|
107
|
+
watchPageSize: watchPageSize({ state }),
|
|
108
|
+
watchTotal: watchTotal({ state })
|
|
109
|
+
});
|
|
110
|
+
state.internalCurrentPage = api2.getValidCurrentPage(props.currentPage);
|
|
111
|
+
watch(() => state.internalCurrentPage, api2.watchInternalCurrentPage);
|
|
112
|
+
watch(() => props.pageSizes, api2.watchPageSizes, { immediate: true });
|
|
113
|
+
watch(() => props.currentPage, api2.watchCurrentPage);
|
|
114
|
+
watch(() => state.internalPageCount, api2.watchInternalPageCount);
|
|
115
|
+
watch(() => props.pageSize, api2.watchPageSize, { immediate: true });
|
|
116
|
+
watch(() => props.total, api2.watchTotal);
|
|
5
117
|
return api2;
|
|
6
118
|
};
|
|
7
119
|
export {
|
package/picker/index.js
CHANGED
|
@@ -305,7 +305,7 @@ const secondInputId = ({ props, state }) => () => {
|
|
|
305
305
|
}
|
|
306
306
|
return obj;
|
|
307
307
|
};
|
|
308
|
-
const focus = ({ api, props, vm }) => () => !props.
|
|
308
|
+
const focus = ({ api, props, vm }) => () => !props.isRange ? vm.$refs.reference.focus() : api.handleFocus();
|
|
309
309
|
const blur = (state) => () => state.refInput.forEach((input) => input.blur());
|
|
310
310
|
const parseValue = ({ api, props, state }) => (value) => {
|
|
311
311
|
const isParsed = isDateObject(value) || Array.isArray(value) && value.every(isDateObject);
|
package/pop-upload/index.js
CHANGED
|
@@ -43,7 +43,6 @@ const watchDisabled = (state) => (value) => state.disabled = value;
|
|
|
43
43
|
const watchAccept = (state) => (value) => state.accept = value;
|
|
44
44
|
const closeErrorTips = (state) => () => state.errorTips = [];
|
|
45
45
|
const closeSuccessTips = (state) => () => state.successTips = [];
|
|
46
|
-
const watchFilters = (state) => (value) => state.filters = value;
|
|
47
46
|
const watchLimit = (state) => (value) => {
|
|
48
47
|
state.limit = value;
|
|
49
48
|
if (value != void 0 && value > 0) {
|
|
@@ -157,7 +156,6 @@ export {
|
|
|
157
156
|
watchAccept,
|
|
158
157
|
watchAction,
|
|
159
158
|
watchDisabled,
|
|
160
|
-
watchFilters,
|
|
161
159
|
watchHeaders,
|
|
162
160
|
watchLimit,
|
|
163
161
|
watchMaxUploadFileSize,
|
package/pop-upload/vue.js
CHANGED
|
@@ -24,7 +24,6 @@ import {
|
|
|
24
24
|
closeErrorTips,
|
|
25
25
|
watchUploaFileType,
|
|
26
26
|
watchMaxUploadFileSize,
|
|
27
|
-
watchFilters,
|
|
28
27
|
watchAccept,
|
|
29
28
|
computedUploadButtonText,
|
|
30
29
|
computedUploadsButtonText,
|
|
@@ -66,7 +65,6 @@ const initState = ({ reactive, props, computed, api: api2 }) => reactive({
|
|
|
66
65
|
isShowDialog: false,
|
|
67
66
|
accept: props.accept,
|
|
68
67
|
action: props.action,
|
|
69
|
-
filters: props.filters,
|
|
70
68
|
headers: props.headers,
|
|
71
69
|
disabled: props.disabled,
|
|
72
70
|
multiple: props.multiple,
|
|
@@ -103,7 +101,6 @@ const initApi = ({ api: api2, state, refs, emit, props, constants, t }) => {
|
|
|
103
101
|
watchAccept: watchAccept(state),
|
|
104
102
|
progressEvent: progressEvent(emit),
|
|
105
103
|
watchHeaders: watchHeaders(state),
|
|
106
|
-
watchFilters: watchFilters(state),
|
|
107
104
|
watchMultiple: watchMultiple(state),
|
|
108
105
|
watchDisabled: watchDisabled(state),
|
|
109
106
|
closeErrorTips: closeErrorTips(state),
|
|
@@ -146,7 +143,6 @@ const initWatch = ({ watch, props, api: api2 }) => {
|
|
|
146
143
|
watch(() => props.multiple, api2.watchMultiple, { immediate: true });
|
|
147
144
|
watch(() => props.action, api2.watchAction, { immediate: true });
|
|
148
145
|
watch(() => props.headers, api2.watchHeaders, { immediate: true });
|
|
149
|
-
watch(() => props.filters, api2.watchFilters, { immediate: true });
|
|
150
146
|
watch(() => props.limit, api2.watchLimit, { immediate: true });
|
|
151
147
|
};
|
|
152
148
|
const renderless = (props, { computed, reactive, watch }, { t, constants, emit, refs }) => {
|