@opentiny/vue-search-box 0.1.6 → 2.27.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.
Files changed (87) hide show
  1. package/es/index.es.js +2772 -0
  2. package/es/index.es.js.map +1 -0
  3. package/lib/index.cjs.js +2 -0
  4. package/lib/index.cjs.js.map +1 -0
  5. package/package.json +36 -56
  6. package/README.md +0 -134
  7. package/README.zh-CN.md +0 -135
  8. package/dist/es/components/first-level-panel.vue.es.js +0 -4
  9. package/dist/es/components/first-level-panel.vue.es2.js +0 -177
  10. package/dist/es/components/second-level-panel.vue.es.js +0 -4
  11. package/dist/es/components/second-level-panel.vue.es2.js +0 -466
  12. package/dist/es/composables/use-checkbox.es.js +0 -74
  13. package/dist/es/composables/use-custom.es.js +0 -49
  14. package/dist/es/composables/use-datepicker.es.js +0 -86
  15. package/dist/es/composables/use-dropdown.es.js +0 -216
  16. package/dist/es/composables/use-edit.es.js +0 -108
  17. package/dist/es/composables/use-init.es.js +0 -78
  18. package/dist/es/composables/use-match.es.js +0 -170
  19. package/dist/es/composables/use-num-range.es.js +0 -77
  20. package/dist/es/composables/use-placeholder.es.js +0 -41
  21. package/dist/es/composables/use-tag.es.js +0 -56
  22. package/dist/es/index-Tlzvfwv-.css +0 -401
  23. package/dist/es/index.es.js +0 -45
  24. package/dist/es/index.type.es.js +0 -1
  25. package/dist/es/index.vue.es.js +0 -4
  26. package/dist/es/index.vue.es2.js +0 -780
  27. package/dist/es/smb-theme.es.js +0 -18
  28. package/dist/es/utils/clone.es.js +0 -29
  29. package/dist/es/utils/date.es.js +0 -431
  30. package/dist/es/utils/dropdown.es.js +0 -24
  31. package/dist/es/utils/en_US.es.js +0 -45
  32. package/dist/es/utils/index.es.js +0 -13
  33. package/dist/es/utils/tag.es.js +0 -44
  34. package/dist/es/utils/type.es.js +0 -4
  35. package/dist/es/utils/validate.es.js +0 -179
  36. package/dist/es/utils/zh_CN.es.js +0 -45
  37. package/dist/index.css +0 -401
  38. package/dist/lib/components/first-level-panel.vue.cjs.js +0 -4
  39. package/dist/lib/components/first-level-panel.vue.cjs2.js +0 -177
  40. package/dist/lib/components/second-level-panel.vue.cjs.js +0 -4
  41. package/dist/lib/components/second-level-panel.vue.cjs2.js +0 -466
  42. package/dist/lib/composables/use-checkbox.cjs.js +0 -74
  43. package/dist/lib/composables/use-custom.cjs.js +0 -49
  44. package/dist/lib/composables/use-datepicker.cjs.js +0 -86
  45. package/dist/lib/composables/use-dropdown.cjs.js +0 -216
  46. package/dist/lib/composables/use-edit.cjs.js +0 -108
  47. package/dist/lib/composables/use-init.cjs.js +0 -78
  48. package/dist/lib/composables/use-match.cjs.js +0 -170
  49. package/dist/lib/composables/use-num-range.cjs.js +0 -77
  50. package/dist/lib/composables/use-placeholder.cjs.js +0 -41
  51. package/dist/lib/composables/use-tag.cjs.js +0 -56
  52. package/dist/lib/index-Tlzvfwv-.css +0 -401
  53. package/dist/lib/index.cjs.js +0 -45
  54. package/dist/lib/index.type.cjs.js +0 -1
  55. package/dist/lib/index.vue.cjs.js +0 -4
  56. package/dist/lib/index.vue.cjs2.js +0 -780
  57. package/dist/lib/smb-theme.cjs.js +0 -18
  58. package/dist/lib/utils/clone.cjs.js +0 -29
  59. package/dist/lib/utils/date.cjs.js +0 -431
  60. package/dist/lib/utils/dropdown.cjs.js +0 -24
  61. package/dist/lib/utils/en_US.cjs.js +0 -45
  62. package/dist/lib/utils/index.cjs.js +0 -13
  63. package/dist/lib/utils/tag.cjs.js +0 -44
  64. package/dist/lib/utils/type.cjs.js +0 -4
  65. package/dist/lib/utils/validate.cjs.js +0 -179
  66. package/dist/lib/utils/zh_CN.cjs.js +0 -45
  67. package/dist/types/composables/use-checkbox.d.ts +0 -8
  68. package/dist/types/composables/use-custom.d.ts +0 -7
  69. package/dist/types/composables/use-datepicker.d.ts +0 -11
  70. package/dist/types/composables/use-dropdown.d.ts +0 -14
  71. package/dist/types/composables/use-edit.d.ts +0 -13
  72. package/dist/types/composables/use-init.d.ts +0 -10
  73. package/dist/types/composables/use-match.d.ts +0 -8
  74. package/dist/types/composables/use-num-range.d.ts +0 -9
  75. package/dist/types/composables/use-placeholder.d.ts +0 -8
  76. package/dist/types/composables/use-tag.d.ts +0 -9
  77. package/dist/types/smb-theme.d.ts +0 -15
  78. package/dist/types/utils/clone.d.ts +0 -12
  79. package/dist/types/utils/date.d.ts +0 -234
  80. package/dist/types/utils/dropdown.d.ts +0 -12
  81. package/dist/types/utils/en_US.d.ts +0 -43
  82. package/dist/types/utils/index.d.ts +0 -1
  83. package/dist/types/utils/tag.d.ts +0 -46
  84. package/dist/types/utils/type.d.ts +0 -6
  85. package/dist/types/utils/validate.d.ts +0 -31
  86. package/dist/types/utils/zh_CN.d.ts +0 -43
  87. /package/{dist/types → types}/index.type.d.ts +0 -0
@@ -1,74 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
3
- const vue = require("vue");
4
- const tag = require("../utils/tag.cjs.js");
5
- const clone = require("../utils/clone.cjs.js");
6
- const dropdown = require("../utils/dropdown.cjs.js");
7
- function useCheckbox({ props, state, emits }) {
8
- const selectCheckbox = (confirm) => {
9
- var _a, _b;
10
- dropdown.showDropdown(state, false);
11
- const { checkboxGroup, prevItem, propItem } = state;
12
- const rest = clone.omitObj(prevItem);
13
- if (confirm) {
14
- const tagList = [];
15
- const oldValue = clone.deepClone(state.innerModelValue);
16
- const { mergeTag, operators, label: prevLabel } = prevItem;
17
- if (mergeTag) {
18
- let value = "";
19
- const options = [];
20
- const { indexMap } = state;
21
- const hasTagIndex = indexMap.get(prevLabel);
22
- hasTagIndex !== void 0 && state.innerModelValue.splice(hasTagIndex, 1);
23
- (_a = state.backupList) == null ? void 0 : _a.forEach((item) => {
24
- const { label } = item;
25
- const checkboxLabel = `${prevLabel}${label}`;
26
- const hasItem = checkboxGroup.includes(checkboxLabel);
27
- if (hasItem) {
28
- delete item.isFilter;
29
- const id = tag.getTagId(props, prevItem, item);
30
- const newOptions = { label: item.label, ...id };
31
- value += !value ? label : ` | ${label}`;
32
- options.push(newOptions);
33
- }
34
- });
35
- if (options.length > 0) {
36
- const newTag = { ...rest, value, options };
37
- tagList.push(newTag);
38
- }
39
- } else {
40
- const { valueMap } = state;
41
- const indexList = [];
42
- (_b = state.backupList) == null ? void 0 : _b.forEach((item) => {
43
- const { label } = item;
44
- const value = `${prevLabel}${label}`;
45
- const hasItem = checkboxGroup.includes(value);
46
- if (hasItem && !tag.hasTagItem(state, label)) {
47
- const id = tag.getTagId(props, prevItem, item);
48
- const operator = state.operatorValue && operators ? { operator: state.operatorValue } : null;
49
- const newTag = tag.createNewTag({ ...rest, label: propItem.label, value: label, ...id, ...operator });
50
- tagList.push(newTag);
51
- item.isChecked = true;
52
- } else if (!hasItem && tag.hasTagItem(state, label)) {
53
- item.isChecked = false;
54
- const index = valueMap.get(value);
55
- indexList.push(index);
56
- }
57
- });
58
- if (indexList.length) {
59
- state.innerModelValue = state.innerModelValue.filter((item, index) => item && !indexList.includes(index));
60
- }
61
- }
62
- tag.emitChangeModelEvent({ emits, state, tagList, oldValue });
63
- } else {
64
- propItem.label = "";
65
- state.inputValue = "";
66
- }
67
- };
68
- const isShowClose = vue.computed(() => props.modelValue.length || state.propItem.label || state.inputValue);
69
- return {
70
- selectCheckbox,
71
- isShowClose
72
- };
73
- }
74
- exports.useCheckbox = useCheckbox;
@@ -1,49 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
3
- const tag = require("../utils/tag.cjs.js");
4
- const dropdown = require("../utils/dropdown.cjs.js");
5
- function useCustom({ state, emits }) {
6
- const updateCustomValue = (customTag) => {
7
- dropdown.showDropdown(state, false);
8
- const { prevItem, indexMap } = state;
9
- const { replace, label } = prevItem;
10
- const tagList = [];
11
- if (replace && indexMap.has(label)) {
12
- const index = indexMap.get(label);
13
- const newTag = { ...prevItem, ...customTag };
14
- tag.emitChangeModelEvent({ emits, state, newTag, index });
15
- return;
16
- } else if (!replace && Array.isArray(customTag)) {
17
- customTag.forEach((tag$1) => {
18
- if (!tag.hasTagItem(state, tag$1.value)) {
19
- tagList.push({ ...prevItem, ...tag$1 });
20
- }
21
- });
22
- } else {
23
- if (!tag.hasTagItem(state, customTag.value)) {
24
- tagList.push({ ...prevItem, ...customTag });
25
- }
26
- }
27
- tag.emitChangeModelEvent({ emits, state, tagList });
28
- };
29
- const handleConfirm = (customTag) => {
30
- if (!customTag) {
31
- tag.resetInput(state);
32
- dropdown.showDropdown(state, false);
33
- return;
34
- }
35
- updateCustomValue(customTag);
36
- };
37
- const handleEditConfirm = (customTag) => {
38
- if (!customTag) {
39
- dropdown.showPopover(state, false);
40
- return;
41
- }
42
- updateCustomValue(customTag);
43
- };
44
- return {
45
- handleConfirm,
46
- handleEditConfirm
47
- };
48
- }
49
- exports.useCustom = useCustom;
@@ -1,86 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
3
- const dropdown = require("../utils/dropdown.cjs.js");
4
- const validate = require("../utils/validate.cjs.js");
5
- const tag = require("../utils/tag.cjs.js");
6
- function useDatePicker({ props, state, emits }) {
7
- const { instance } = state;
8
- const onConfirmDate = async (confirm, isDateTimeType = false) => {
9
- if (!confirm) {
10
- state.propItem.label = "";
11
- return;
12
- }
13
- const newTag = await validate.getVerifyDateTag(instance, state, props, isDateTimeType);
14
- if (newTag) {
15
- dropdown.showDropdown(state, false);
16
- const newValue = props.modelValue.filter((prev) => prev.type !== newTag.type || prev.field !== newTag.field);
17
- newValue.push(newTag);
18
- tag.emitChangeModelEvent({ emits, state, newValue });
19
- } else {
20
- dropdown.showDropdown(state);
21
- }
22
- };
23
- const handleDateShow = () => dropdown.showDropdown(state);
24
- const pickerOptions = (startDate, endName = "") => ({
25
- disabledDate(time) {
26
- const { maxTimeLength = 0, min, max } = state.prevItem;
27
- const endDate = state[endName];
28
- const curTime = time.getTime();
29
- if (maxTimeLength > 0) {
30
- if (min || max) {
31
- if (endName && endDate) {
32
- const end = new Date(endDate).getTime();
33
- const start = !min && max ? end - maxTimeLength : Math.max(min.getTime(), end - maxTimeLength);
34
- return curTime < start || curTime > end;
35
- } else if (!endName && startDate) {
36
- const start = new Date(startDate).getTime();
37
- const end = min && !max ? start + maxTimeLength : Math.min(max.getTime(), start + maxTimeLength);
38
- return curTime < start || curTime > end;
39
- } else {
40
- return min && curTime < min.getTime() || max && curTime > max.getTime();
41
- }
42
- } else {
43
- if (endName && endDate) {
44
- const end = new Date(endDate).getTime();
45
- const start = end - maxTimeLength;
46
- return curTime < start || curTime > end;
47
- } else if (!endName && startDate) {
48
- const start = new Date(startDate).getTime();
49
- const end = start + maxTimeLength;
50
- return curTime < start || curTime > end;
51
- } else {
52
- return false;
53
- }
54
- }
55
- } else {
56
- if (min || max) {
57
- if (endName && endDate) {
58
- const end = new Date(endDate).getTime();
59
- return min && curTime < min.getTime() || curTime > end;
60
- } else if (!endName && startDate) {
61
- const start = new Date(startDate).getTime();
62
- return curTime < start || max && curTime > max.getTime();
63
- } else {
64
- return curTime < min || curTime > max;
65
- }
66
- } else {
67
- if (endName && endDate) {
68
- const end = new Date(endDate).getTime();
69
- return curTime > end;
70
- } else if (!endName && startDate) {
71
- const start = new Date(startDate).getTime();
72
- return curTime < start;
73
- } else {
74
- return false;
75
- }
76
- }
77
- }
78
- }
79
- });
80
- return {
81
- onConfirmDate,
82
- handleDateShow,
83
- pickerOptions
84
- };
85
- }
86
- exports.useDatePicker = useDatePicker;
@@ -1,216 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
3
- const tag = require("../utils/tag.cjs.js");
4
- const dropdown = require("../utils/dropdown.cjs.js");
5
- const validate = require("../utils/validate.cjs.js");
6
- const clone = require("../utils/clone.cjs.js");
7
- function useDropdown({ props, emits, state, t, format }) {
8
- const { instance } = state;
9
- const showValueItem = (item) => {
10
- var _a, _b, _c;
11
- const { start, end, type } = item;
12
- state.backupList = item.options;
13
- if (type === "numRange") {
14
- validate.setStateNumRange(state, item, t);
15
- } else if (type === "dateRange") {
16
- const { dateRangeFormat } = state;
17
- if (!state.startDate && start) {
18
- const newStart = format(start, dateRangeFormat);
19
- state.startDate = state.endDate < newStart ? null : newStart;
20
- }
21
- if (!state.endDate && end) {
22
- const newEnd = format(end, dateRangeFormat);
23
- state.endDate = newEnd < state.startDate ? null : newEnd;
24
- }
25
- } else if (type === "datetimeRange") {
26
- const { datetimeRangeFormat } = state;
27
- if (!state.startDateTime && start) {
28
- const newStart = format(start, datetimeRangeFormat);
29
- state.startDateTime = state.endDateTime < newStart ? null : newStart;
30
- }
31
- if (!state.endDateTime && end) {
32
- const newEnd = format(end, datetimeRangeFormat);
33
- state.endDateTime = newEnd < state.startDateTime ? null : newEnd;
34
- }
35
- } else if (state.backupList && type === "checkbox") {
36
- state.filterList = state.backupList;
37
- state.checkboxGroup = [];
38
- (_a = state.backupList) == null ? void 0 : _a.forEach((subItem) => {
39
- if (tag.hasTagItem(state, subItem.label)) {
40
- state.checkboxGroup.push(`${item.label}${subItem.label}`);
41
- }
42
- subItem.isFilter = false;
43
- });
44
- }
45
- if (type !== "checkbox" && ((_b = state.backupList) == null ? void 0 : _b.length)) {
46
- (_c = state.backupList) == null ? void 0 : _c.forEach((option) => {
47
- option.isFilter = false;
48
- option.isChecked = tag.hasTagItem(state, option.label);
49
- });
50
- }
51
- state.currentOperators = null;
52
- if (!state.backupList && !["dateRange", "datetimeRange", "numRange", "custom"].includes(type)) {
53
- dropdown.showDropdown(state, false);
54
- } else {
55
- dropdown.showDropdown(state);
56
- }
57
- };
58
- const selectPropItem = (item) => {
59
- const { field, label } = item;
60
- state.propItem.label = label;
61
- emits("first-level-select", field);
62
- const inputRef = instance.refs.inputRef;
63
- state.prevItem = item;
64
- state.backupPrevItem = item;
65
- const { operators } = item;
66
- if (operators == null ? void 0 : operators.length) {
67
- state.operatorValue = "";
68
- state.currentOperators = operators;
69
- dropdown.showDropdown(state);
70
- } else {
71
- state.operatorValue = ":";
72
- showValueItem(item);
73
- }
74
- state.inputValue = "";
75
- inputRef.focus();
76
- };
77
- const setOperator = (operator) => {
78
- state.operatorValue = operator;
79
- showValueItem(state.prevItem);
80
- };
81
- const updateModelValue = (prevItem, item, label, value) => {
82
- const { replace, operators, mergeTag } = prevItem;
83
- const rest = clone.omitObj(prevItem);
84
- const { indexMap } = state;
85
- const index = indexMap.get(label);
86
- const id = tag.getTagId(props, prevItem, item);
87
- const operator = state.operatorValue && operators ? { operator: state.operatorValue } : null;
88
- let newTag = null;
89
- if (mergeTag) {
90
- const options = { label: value, ...id };
91
- if (index >= 0) {
92
- const newValue2 = `${state.innerModelValue[index].value} | ${value}`;
93
- const newOptions = [...state.innerModelValue[index].options, options];
94
- newTag = tag.createNewTag({ ...state.innerModelValue[index], value: newValue2, options: newOptions });
95
- } else {
96
- newTag = tag.createNewTag({ ...rest, label, value, options: [options] });
97
- }
98
- } else {
99
- newTag = tag.createNewTag({ ...rest, label, value, ...id, ...operator });
100
- }
101
- if (tag.hasTagItem(state, value, label)) {
102
- tag.resetInput(state);
103
- return;
104
- }
105
- dropdown.showDropdown(state, false);
106
- const oldValue = clone.deepClone(state.innerModelValue);
107
- if ((replace || mergeTag) && index >= 0) {
108
- state.innerModelValue.splice(index, 1);
109
- }
110
- state.innerModelValue.push(newTag);
111
- const newValue = state.innerModelValue;
112
- tag.emitChangeModelEvent({ emits, state, newValue, oldValue });
113
- };
114
- const selectInputValue = (val) => {
115
- var _a;
116
- if ((_a = state.propItem) == null ? void 0 : _a.label) {
117
- selectRadioItem({ label: val });
118
- } else {
119
- createTag();
120
- }
121
- };
122
- const selectRadioItem = (item, isPotential = false) => {
123
- dropdown.showDropdown(state, false);
124
- if (isPotential) {
125
- state.prevItem = item;
126
- state.backupPrevItem = item;
127
- }
128
- const { prevItem } = state;
129
- const value = item.value || item.label;
130
- const inputRef = instance.refs.inputRef;
131
- if (!tag.hasTagItem(state, value)) {
132
- const tagLabel = state.propItem.label || item.label;
133
- updateModelValue(prevItem, item, tagLabel, value);
134
- }
135
- inputRef.focus();
136
- };
137
- const hasNotInputValueCreateTag = (propItem, prevItem) => {
138
- if (propItem.label) {
139
- if (!prevItem.options) {
140
- return;
141
- }
142
- const hasTag = props.modelValue.find((item) => item.value === prevItem.options[0].label);
143
- if (!hasTag) {
144
- const label = prevItem.label;
145
- const value = prevItem.options && prevItem.options[0].label;
146
- updateModelValue(prevItem, prevItem.options[0], label, value);
147
- return;
148
- }
149
- } else {
150
- emits("search", state.innerModelValue);
151
- }
152
- };
153
- const newTagUpdateModelValue = (prevItem, propItem, tag2) => {
154
- var _a;
155
- const item = (_a = state.backupList) == null ? void 0 : _a.find((subItem) => subItem.label === tag2);
156
- updateModelValue(prevItem, item, propItem.label, tag2);
157
- };
158
- const hasInputValueCreateTag = (inputValue, propItem, prevItem) => {
159
- var _a, _b;
160
- if (propItem.label) {
161
- const { regexp, replace, type, mergeTag } = prevItem;
162
- const tagList = type !== "checkbox" && replace || type === "checkbox" && mergeTag ? [inputValue] : inputValue.split(props.splitInputValue);
163
- if (regexp) {
164
- for (const tag2 of tagList) {
165
- if (regexp.test(tag2)) {
166
- newTagUpdateModelValue(prevItem, propItem, tag2);
167
- }
168
- }
169
- } else {
170
- for (const tag2 of tagList) {
171
- newTagUpdateModelValue(prevItem, propItem, tag2);
172
- }
173
- }
174
- } else {
175
- const { items, defaultField } = props;
176
- const currentItem = items.find((item) => {
177
- const { regexp } = item;
178
- return regexp && regexp.test(state.inputValue);
179
- }) || (defaultField ? items.find((item) => item.field === defaultField) : state.allTypeAttri);
180
- const { replace, type, mergeTag } = currentItem;
181
- const tagList = type !== "checkbox" && replace || type === "checkbox" && mergeTag ? [inputValue] : inputValue.split(props.splitInputValue);
182
- if ((_a = currentItem == null ? void 0 : currentItem.options) == null ? void 0 : _a.length) {
183
- state.backupList = [...currentItem.options];
184
- (_b = state.backupList) == null ? void 0 : _b.forEach((item) => {
185
- const label2 = item.value || item.label;
186
- if (tagList.includes(label2)) {
187
- item.isChecked = true;
188
- }
189
- });
190
- }
191
- const label = currentItem.label;
192
- for (const tag2 of tagList) {
193
- updateModelValue(currentItem, {}, label, tag2);
194
- }
195
- }
196
- };
197
- const createTag = () => {
198
- const { inputValue, propItem, prevItem } = state;
199
- dropdown.showDropdown(state, false);
200
- if (!inputValue) {
201
- hasNotInputValueCreateTag(propItem, prevItem);
202
- } else {
203
- const { maxlength } = props;
204
- if (maxlength && maxlength < inputValue.length) {
205
- emits("exceed", maxlength);
206
- return;
207
- }
208
- hasInputValueCreateTag(inputValue, propItem, prevItem);
209
- }
210
- };
211
- const helpClick = () => {
212
- emits("help");
213
- };
214
- return { selectPropItem, selectRadioItem, selectInputValue, createTag, helpClick, setOperator };
215
- }
216
- exports.useDropdown = useDropdown;
@@ -1,108 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
3
- const tag = require("../utils/tag.cjs.js");
4
- const validate = require("../utils/validate.cjs.js");
5
- const dropdown = require("../utils/dropdown.cjs.js");
6
- function useEdit({ props, state, t, nextTick, format, emits }) {
7
- const { instance } = state;
8
- const setDropdownProps = (curTag) => {
9
- var _a;
10
- const { operator, value, start, end } = curTag;
11
- const { options, operators, type, mergeTag } = state.prevItem;
12
- if (type === "custom") {
13
- return;
14
- } else if (type === "numRange") {
15
- validate.setStateNumRange(state, curTag, t);
16
- } else if (type === "dateRange") {
17
- const { dateRangeFormat } = state;
18
- state.startDate = format(start, dateRangeFormat);
19
- state.endDate = format(end, dateRangeFormat);
20
- } else if (type === "datetimeRange") {
21
- const { datetimeRangeFormat } = state;
22
- state.startDateTime = format(start, datetimeRangeFormat);
23
- state.endDateTime = format(end, datetimeRangeFormat);
24
- } else {
25
- if (mergeTag) {
26
- state.inputEditValue = (_a = curTag.options) == null ? void 0 : _a.flatMap((item) => item.label);
27
- state.currentEditSelectTags = state.inputEditValue;
28
- } else {
29
- state.inputEditValue = value;
30
- }
31
- state.currentEditValue = options;
32
- }
33
- state.operatorValue = operator;
34
- state.currentOperators = operators;
35
- };
36
- const editTag = (tag2, index, e) => {
37
- if (!props.editable || tag2.type && tag2.type === "map") {
38
- return;
39
- }
40
- dropdown.showDropdown(state, false);
41
- state.popoverVisible = false;
42
- const dom = e.target.classList.contains("tiny-tag") ? e.target : e.srcElement.parentElement;
43
- nextTick(() => {
44
- const { popoverRef } = instance.refs;
45
- popoverRef.state.referenceElm = dom;
46
- popoverRef.state.popperElm && (popoverRef.state.popperElm.style.display = "none");
47
- popoverRef.doDestroy();
48
- state.popoverVisible = true;
49
- });
50
- state.prevItem = state.recordItems.find((item) => item.field === tag2.field);
51
- !state.prevItem && (state.prevItem = tag2);
52
- state.selectValue = tag2.label;
53
- state.currentModelValueIndex = index;
54
- emits("tagClick", tag2);
55
- setDropdownProps(tag2);
56
- };
57
- const selectPropChange = (item, disabled) => {
58
- if (disabled) return;
59
- state.prevItem = item;
60
- setDropdownProps(item);
61
- };
62
- const confirmEditTag = async (isConfirm) => {
63
- if (!isConfirm) {
64
- state.popoverVisible = false;
65
- return;
66
- }
67
- const { prevItem, currentModelValueIndex: index } = state;
68
- let newTag = null;
69
- if (prevItem.type === "numRange") {
70
- newTag = await validate.getVerifyNumTag(instance, state, props);
71
- } else if (prevItem.type === "dateRange") {
72
- newTag = await validate.getVerifyDateTag(instance, state, props, false);
73
- } else if (prevItem.type === "datetimeRange") {
74
- newTag = await validate.getVerifyDateTag(instance, state, props, true);
75
- } else {
76
- newTag = await validate.getVerifyTag(instance, state, props);
77
- }
78
- if (newTag) {
79
- dropdown.showDropdown(state, false);
80
- state.popoverVisible = false;
81
- tag.emitChangeModelEvent({ emits, state, index, newTag, isEdit: true });
82
- } else {
83
- state.popoverVisible = true;
84
- }
85
- state.currentEditValue = [];
86
- };
87
- const selectItemIsDisable = (item) => {
88
- var _a, _b, _c, _d;
89
- if (item.type && item.type === "map") {
90
- return true;
91
- }
92
- if (((_a = state.prevItem) == null ? void 0 : _a.operators) || item.operators) {
93
- return ((_b = state.prevItem.operators) == null ? void 0 : _b.length) !== ((_c = item.operators) == null ? void 0 : _c.length);
94
- }
95
- const typeArr = ["radio", "checkbox"];
96
- if (state.prevItem.type && typeArr.includes(state.prevItem.type)) {
97
- return !item.type ? false : !typeArr.includes(item.type);
98
- }
99
- return ((_d = state.prevItem) == null ? void 0 : _d.type) !== item.type;
100
- };
101
- return {
102
- editTag,
103
- confirmEditTag,
104
- selectPropChange,
105
- selectItemIsDisable
106
- };
107
- }
108
- exports.useEdit = useEdit;
@@ -1,78 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
3
- const dropdown = require("../utils/dropdown.cjs.js");
4
- const tag = require("../utils/tag.cjs.js");
5
- function useInit({ props, state }) {
6
- const initItems = () => {
7
- state.groupItems = {};
8
- state.recordItems.forEach((item) => {
9
- var _a;
10
- const { groupKey = "0" } = item;
11
- if (state.groupItems[groupKey]) {
12
- state.groupItems[groupKey].push({ ...item });
13
- } else {
14
- state.groupItems[groupKey] = [{ ...item }];
15
- state.matchItems[groupKey] = { attr: [], attrValue: [] };
16
- }
17
- if (state.prevItem && item.field === state.prevItem.field && item !== state.prevItem) {
18
- const { options, type } = item;
19
- state.prevItem = item;
20
- if (options == null ? void 0 : options.length) {
21
- state.backupList = options;
22
- }
23
- if (type === "checkbox") {
24
- state.filterList = state.backupList;
25
- state.checkboxGroup = [];
26
- (_a = state.backupList) == null ? void 0 : _a.forEach((subItem) => {
27
- const { label } = subItem;
28
- if (tag.hasTagItem(state, label)) {
29
- state.checkboxGroup.push(`${item.label}${label}`);
30
- }
31
- subItem.isFilter = false;
32
- });
33
- }
34
- dropdown.showDropdown(state, item.field === state.prevItem.field && item !== state.prevItem);
35
- }
36
- });
37
- };
38
- const handleClick = (e) => {
39
- var _a;
40
- const { backupPrevItem, prevItem } = state;
41
- e.stopPropagation();
42
- if (props.editable) {
43
- state.popoverVisible = false;
44
- state.currentEditValue = [];
45
- if (state.propItem.label && backupPrevItem && backupPrevItem !== prevItem) {
46
- state.prevItem = backupPrevItem;
47
- }
48
- }
49
- if (state.hasBackupList && (((_a = state.backupList) == null ? void 0 : _a.length) === 0 || !state.backupList) && !state.inputValue || props.items.length === 0) {
50
- dropdown.showDropdown(state, false);
51
- } else {
52
- dropdown.showDropdown(state);
53
- }
54
- };
55
- const watchOutsideClick = () => {
56
- if (props.editable) {
57
- dropdown.showPopover(state, false);
58
- }
59
- state.isMouseDown = false;
60
- dropdown.showDropdown(state, false);
61
- };
62
- const watchMouseDown = () => {
63
- state.isMouseDown = true;
64
- };
65
- const watchMouseMove = () => {
66
- if (state.isMouseDown) {
67
- state.isMouseDown = false;
68
- }
69
- };
70
- return {
71
- initItems,
72
- watchOutsideClick,
73
- watchMouseDown,
74
- watchMouseMove,
75
- handleClick
76
- };
77
- }
78
- exports.useInit = useInit;