@dolusoft/vue3-datatable 1.8.18 → 1.8.20
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/dist/vue3-datatable.cjs +36 -49
- package/dist/vue3-datatable.js +37 -50
- package/package.json +1 -1
package/dist/vue3-datatable.cjs
CHANGED
|
@@ -29,9 +29,6 @@ function createFilterWrapper(filter, fn) {
|
|
|
29
29
|
}
|
|
30
30
|
return wrapper;
|
|
31
31
|
}
|
|
32
|
-
const bypassFilter = (invoke) => {
|
|
33
|
-
return invoke();
|
|
34
|
-
};
|
|
35
32
|
function debounceFilter(ms, options = {}) {
|
|
36
33
|
let timer;
|
|
37
34
|
let maxTimer;
|
|
@@ -142,20 +139,6 @@ function useThrottleFn(fn, ms = 200, trailing = false, leading = true, rejectOnC
|
|
|
142
139
|
fn
|
|
143
140
|
);
|
|
144
141
|
}
|
|
145
|
-
function watchWithFilter(source, cb, options = {}) {
|
|
146
|
-
const {
|
|
147
|
-
eventFilter = bypassFilter,
|
|
148
|
-
...watchOptions
|
|
149
|
-
} = options;
|
|
150
|
-
return vue.watch(
|
|
151
|
-
source,
|
|
152
|
-
createFilterWrapper(
|
|
153
|
-
eventFilter,
|
|
154
|
-
cb
|
|
155
|
-
),
|
|
156
|
-
watchOptions
|
|
157
|
-
);
|
|
158
|
-
}
|
|
159
142
|
function tryOnMounted(fn, sync = true, target) {
|
|
160
143
|
const instance = getLifeCycleTarget();
|
|
161
144
|
if (instance)
|
|
@@ -165,21 +148,6 @@ function tryOnMounted(fn, sync = true, target) {
|
|
|
165
148
|
else
|
|
166
149
|
vue.nextTick(fn);
|
|
167
150
|
}
|
|
168
|
-
function watchDebounced(source, cb, options = {}) {
|
|
169
|
-
const {
|
|
170
|
-
debounce = 0,
|
|
171
|
-
maxWait = void 0,
|
|
172
|
-
...watchOptions
|
|
173
|
-
} = options;
|
|
174
|
-
return watchWithFilter(
|
|
175
|
-
source,
|
|
176
|
-
cb,
|
|
177
|
-
{
|
|
178
|
-
...watchOptions,
|
|
179
|
-
eventFilter: debounceFilter(debounce, { maxWait })
|
|
180
|
-
}
|
|
181
|
-
);
|
|
182
|
-
}
|
|
183
151
|
function unrefElement(elRef) {
|
|
184
152
|
var _a;
|
|
185
153
|
const plain = toValue(elRef);
|
|
@@ -3120,31 +3088,43 @@ const _sfc_main$1 = /* @__PURE__ */ vue.defineComponent({
|
|
|
3120
3088
|
filterInputs.value[col.field] = col.value || "";
|
|
3121
3089
|
}
|
|
3122
3090
|
watchedFields.value.add(col.field);
|
|
3123
|
-
|
|
3091
|
+
let debounceTimer = null;
|
|
3092
|
+
vue.watch(
|
|
3124
3093
|
() => filterInputs.value[col.field],
|
|
3125
3094
|
(newValue) => {
|
|
3126
3095
|
const column = columnsMap.value.get(col.field);
|
|
3127
3096
|
if (!column) return;
|
|
3128
3097
|
const isEmpty = newValue === "" || newValue === null || newValue === void 0;
|
|
3129
|
-
if (
|
|
3130
|
-
|
|
3131
|
-
|
|
3132
|
-
column.value = isEmpty ? "" : newValue;
|
|
3098
|
+
if (debounceTimer) {
|
|
3099
|
+
clearTimeout(debounceTimer);
|
|
3100
|
+
debounceTimer = null;
|
|
3133
3101
|
}
|
|
3102
|
+
const processChange = () => {
|
|
3103
|
+
if (column.type === "string" || column.type === "String") {
|
|
3104
|
+
column.value = isEmpty ? "" : typeof newValue === "string" ? newValue.trim() : newValue;
|
|
3105
|
+
} else {
|
|
3106
|
+
column.value = isEmpty ? "" : newValue;
|
|
3107
|
+
}
|
|
3108
|
+
if (isEmpty) {
|
|
3109
|
+
column.condition = "";
|
|
3110
|
+
columnConditions.value[col.field] = "";
|
|
3111
|
+
console.log("🔴 [COLUMN-HEADER] CLEARED:", col.field, { value: column.value, condition: column.condition });
|
|
3112
|
+
} else if (!columnConditions.value[col.field]) {
|
|
3113
|
+
column.condition = "Equal";
|
|
3114
|
+
columnConditions.value[col.field] = "Equal";
|
|
3115
|
+
console.log("🟢 [COLUMN-HEADER] SET DEFAULT:", col.field, { value: column.value, condition: column.condition });
|
|
3116
|
+
} else {
|
|
3117
|
+
column.condition = columnConditions.value[col.field];
|
|
3118
|
+
console.log("🟡 [COLUMN-HEADER] APPLY STORED:", col.field, { value: column.value, condition: column.condition, storedCondition: columnConditions.value[col.field] });
|
|
3119
|
+
}
|
|
3120
|
+
emit("filterChange");
|
|
3121
|
+
};
|
|
3134
3122
|
if (isEmpty) {
|
|
3135
|
-
|
|
3136
|
-
columnConditions.value[col.field] = "";
|
|
3137
|
-
console.log("🔴 [COLUMN-HEADER] CLEARED:", col.field, { value: column.value, condition: column.condition });
|
|
3138
|
-
} else if (!columnConditions.value[col.field]) {
|
|
3139
|
-
column.condition = "Equal";
|
|
3140
|
-
columnConditions.value[col.field] = "Equal";
|
|
3141
|
-
console.log("🟢 [COLUMN-HEADER] SET DEFAULT:", col.field, { value: column.value, condition: column.condition });
|
|
3123
|
+
processChange();
|
|
3142
3124
|
} else {
|
|
3143
|
-
|
|
3125
|
+
debounceTimer = setTimeout(processChange, 300);
|
|
3144
3126
|
}
|
|
3145
|
-
|
|
3146
|
-
},
|
|
3147
|
-
{ debounce: 300 }
|
|
3127
|
+
}
|
|
3148
3128
|
);
|
|
3149
3129
|
}
|
|
3150
3130
|
});
|
|
@@ -3226,10 +3206,17 @@ const _sfc_main$1 = /* @__PURE__ */ vue.defineComponent({
|
|
|
3226
3206
|
return condition;
|
|
3227
3207
|
};
|
|
3228
3208
|
const handleConditionChange = (field, condition) => {
|
|
3209
|
+
console.log("🟠 [COLUMN-HEADER] handleConditionChange CALLED:", { field, condition });
|
|
3229
3210
|
const column = columnsMap.value.get(field);
|
|
3230
3211
|
if (column) {
|
|
3231
|
-
column.condition = condition;
|
|
3232
3212
|
columnConditions.value[field] = condition;
|
|
3213
|
+
column.condition = condition;
|
|
3214
|
+
console.log("🟠 [COLUMN-HEADER] handleConditionChange UPDATED:", {
|
|
3215
|
+
field,
|
|
3216
|
+
columnCondition: column.condition,
|
|
3217
|
+
localState: columnConditions.value[field],
|
|
3218
|
+
columnValue: column.value
|
|
3219
|
+
});
|
|
3233
3220
|
emit("filterChange");
|
|
3234
3221
|
}
|
|
3235
3222
|
};
|
package/dist/vue3-datatable.js
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { isRef, onMounted, nextTick, getCurrentScope, onScopeDispose, unref, getCurrentInstance,
|
|
1
|
+
import { isRef, onMounted, nextTick, getCurrentScope, onScopeDispose, unref, getCurrentInstance, computed, ref, watch, useSlots, onBeforeUnmount, provide, openBlock, createBlock, resolveDynamicComponent, inject, createElementBlock, normalizeStyle, renderSlot, h, defineComponent, toRef, Fragment, withModifiers, createVNode, createElementVNode, normalizeClass, toDisplayString, createCommentVNode, withDirectives, renderList, vModelSelect, resolveComponent, createTextVNode, vModelText, vShow, withCtx, onUnmounted, createSlots, normalizeProps, guardReactiveProps, vModelCheckbox } from "vue";
|
|
2
2
|
function tryOnScopeDispose(fn) {
|
|
3
3
|
if (getCurrentScope()) {
|
|
4
4
|
onScopeDispose(fn);
|
|
@@ -28,9 +28,6 @@ function createFilterWrapper(filter, fn) {
|
|
|
28
28
|
}
|
|
29
29
|
return wrapper;
|
|
30
30
|
}
|
|
31
|
-
const bypassFilter = (invoke) => {
|
|
32
|
-
return invoke();
|
|
33
|
-
};
|
|
34
31
|
function debounceFilter(ms, options = {}) {
|
|
35
32
|
let timer;
|
|
36
33
|
let maxTimer;
|
|
@@ -141,20 +138,6 @@ function useThrottleFn(fn, ms = 200, trailing = false, leading = true, rejectOnC
|
|
|
141
138
|
fn
|
|
142
139
|
);
|
|
143
140
|
}
|
|
144
|
-
function watchWithFilter(source, cb, options = {}) {
|
|
145
|
-
const {
|
|
146
|
-
eventFilter = bypassFilter,
|
|
147
|
-
...watchOptions
|
|
148
|
-
} = options;
|
|
149
|
-
return watch(
|
|
150
|
-
source,
|
|
151
|
-
createFilterWrapper(
|
|
152
|
-
eventFilter,
|
|
153
|
-
cb
|
|
154
|
-
),
|
|
155
|
-
watchOptions
|
|
156
|
-
);
|
|
157
|
-
}
|
|
158
141
|
function tryOnMounted(fn, sync = true, target) {
|
|
159
142
|
const instance = getLifeCycleTarget();
|
|
160
143
|
if (instance)
|
|
@@ -164,21 +147,6 @@ function tryOnMounted(fn, sync = true, target) {
|
|
|
164
147
|
else
|
|
165
148
|
nextTick(fn);
|
|
166
149
|
}
|
|
167
|
-
function watchDebounced(source, cb, options = {}) {
|
|
168
|
-
const {
|
|
169
|
-
debounce = 0,
|
|
170
|
-
maxWait = void 0,
|
|
171
|
-
...watchOptions
|
|
172
|
-
} = options;
|
|
173
|
-
return watchWithFilter(
|
|
174
|
-
source,
|
|
175
|
-
cb,
|
|
176
|
-
{
|
|
177
|
-
...watchOptions,
|
|
178
|
-
eventFilter: debounceFilter(debounce, { maxWait })
|
|
179
|
-
}
|
|
180
|
-
);
|
|
181
|
-
}
|
|
182
150
|
function unrefElement(elRef) {
|
|
183
151
|
var _a;
|
|
184
152
|
const plain = toValue(elRef);
|
|
@@ -3119,31 +3087,43 @@ const _sfc_main$1 = /* @__PURE__ */ defineComponent({
|
|
|
3119
3087
|
filterInputs.value[col.field] = col.value || "";
|
|
3120
3088
|
}
|
|
3121
3089
|
watchedFields.value.add(col.field);
|
|
3122
|
-
|
|
3090
|
+
let debounceTimer = null;
|
|
3091
|
+
watch(
|
|
3123
3092
|
() => filterInputs.value[col.field],
|
|
3124
3093
|
(newValue) => {
|
|
3125
3094
|
const column = columnsMap.value.get(col.field);
|
|
3126
3095
|
if (!column) return;
|
|
3127
3096
|
const isEmpty = newValue === "" || newValue === null || newValue === void 0;
|
|
3128
|
-
if (
|
|
3129
|
-
|
|
3130
|
-
|
|
3131
|
-
column.value = isEmpty ? "" : newValue;
|
|
3097
|
+
if (debounceTimer) {
|
|
3098
|
+
clearTimeout(debounceTimer);
|
|
3099
|
+
debounceTimer = null;
|
|
3132
3100
|
}
|
|
3101
|
+
const processChange = () => {
|
|
3102
|
+
if (column.type === "string" || column.type === "String") {
|
|
3103
|
+
column.value = isEmpty ? "" : typeof newValue === "string" ? newValue.trim() : newValue;
|
|
3104
|
+
} else {
|
|
3105
|
+
column.value = isEmpty ? "" : newValue;
|
|
3106
|
+
}
|
|
3107
|
+
if (isEmpty) {
|
|
3108
|
+
column.condition = "";
|
|
3109
|
+
columnConditions.value[col.field] = "";
|
|
3110
|
+
console.log("🔴 [COLUMN-HEADER] CLEARED:", col.field, { value: column.value, condition: column.condition });
|
|
3111
|
+
} else if (!columnConditions.value[col.field]) {
|
|
3112
|
+
column.condition = "Equal";
|
|
3113
|
+
columnConditions.value[col.field] = "Equal";
|
|
3114
|
+
console.log("🟢 [COLUMN-HEADER] SET DEFAULT:", col.field, { value: column.value, condition: column.condition });
|
|
3115
|
+
} else {
|
|
3116
|
+
column.condition = columnConditions.value[col.field];
|
|
3117
|
+
console.log("🟡 [COLUMN-HEADER] APPLY STORED:", col.field, { value: column.value, condition: column.condition, storedCondition: columnConditions.value[col.field] });
|
|
3118
|
+
}
|
|
3119
|
+
emit("filterChange");
|
|
3120
|
+
};
|
|
3133
3121
|
if (isEmpty) {
|
|
3134
|
-
|
|
3135
|
-
columnConditions.value[col.field] = "";
|
|
3136
|
-
console.log("🔴 [COLUMN-HEADER] CLEARED:", col.field, { value: column.value, condition: column.condition });
|
|
3137
|
-
} else if (!columnConditions.value[col.field]) {
|
|
3138
|
-
column.condition = "Equal";
|
|
3139
|
-
columnConditions.value[col.field] = "Equal";
|
|
3140
|
-
console.log("🟢 [COLUMN-HEADER] SET DEFAULT:", col.field, { value: column.value, condition: column.condition });
|
|
3122
|
+
processChange();
|
|
3141
3123
|
} else {
|
|
3142
|
-
|
|
3124
|
+
debounceTimer = setTimeout(processChange, 300);
|
|
3143
3125
|
}
|
|
3144
|
-
|
|
3145
|
-
},
|
|
3146
|
-
{ debounce: 300 }
|
|
3126
|
+
}
|
|
3147
3127
|
);
|
|
3148
3128
|
}
|
|
3149
3129
|
});
|
|
@@ -3225,10 +3205,17 @@ const _sfc_main$1 = /* @__PURE__ */ defineComponent({
|
|
|
3225
3205
|
return condition;
|
|
3226
3206
|
};
|
|
3227
3207
|
const handleConditionChange = (field, condition) => {
|
|
3208
|
+
console.log("🟠 [COLUMN-HEADER] handleConditionChange CALLED:", { field, condition });
|
|
3228
3209
|
const column = columnsMap.value.get(field);
|
|
3229
3210
|
if (column) {
|
|
3230
|
-
column.condition = condition;
|
|
3231
3211
|
columnConditions.value[field] = condition;
|
|
3212
|
+
column.condition = condition;
|
|
3213
|
+
console.log("🟠 [COLUMN-HEADER] handleConditionChange UPDATED:", {
|
|
3214
|
+
field,
|
|
3215
|
+
columnCondition: column.condition,
|
|
3216
|
+
localState: columnConditions.value[field],
|
|
3217
|
+
columnValue: column.value
|
|
3218
|
+
});
|
|
3232
3219
|
emit("filterChange");
|
|
3233
3220
|
}
|
|
3234
3221
|
};
|