@dolusoft/vue3-datatable 1.8.27 → 1.8.29

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.
@@ -3165,6 +3165,26 @@ const _sfc_main$1 = /* @__PURE__ */ vue.defineComponent({
3165
3165
  },
3166
3166
  { immediate: true, deep: true }
3167
3167
  );
3168
+ vue.watch(
3169
+ () => {
3170
+ var _a, _b;
3171
+ return (_b = (_a = props.all) == null ? void 0 : _a.columns) == null ? void 0 : _b.map((col) => ({ field: col.field, value: col.value, condition: col.condition }));
3172
+ },
3173
+ (newValues) => {
3174
+ if (!newValues) return;
3175
+ newValues.forEach((colState) => {
3176
+ if (colState.field) {
3177
+ if (filterInputs.value[colState.field] !== colState.value) {
3178
+ filterInputs.value[colState.field] = colState.value || "";
3179
+ }
3180
+ if (colState.condition && columnConditions.value[colState.field] !== colState.condition) {
3181
+ columnConditions.value[colState.field] = colState.condition;
3182
+ }
3183
+ }
3184
+ });
3185
+ },
3186
+ { deep: true }
3187
+ );
3168
3188
  vue.onMounted(() => {
3169
3189
  setupColumnWatches();
3170
3190
  });
@@ -4106,6 +4126,27 @@ const _sfc_main = /* @__PURE__ */ vue.defineComponent({
4106
4126
  },
4107
4127
  clearAllFilters() {
4108
4128
  clearAllFilters();
4129
+ },
4130
+ /**
4131
+ * Set column filter value and optionally trigger filter
4132
+ * @param field - Column field name
4133
+ * @param value - Filter value
4134
+ * @param condition - Filter condition (default: column's default condition)
4135
+ * @param triggerFilter - Whether to trigger filterChange event (default: false)
4136
+ */
4137
+ setColumnFilter(field, value, condition, triggerFilter = false) {
4138
+ const column = props.columns.find((col) => col.field === field);
4139
+ if (column) {
4140
+ column.value = value;
4141
+ if (condition) {
4142
+ column.condition = condition;
4143
+ }
4144
+ updateHasAnyActiveFilter();
4145
+ if (triggerFilter) {
4146
+ filterChange();
4147
+ }
4148
+ }
4149
+ return !!column;
4109
4150
  }
4110
4151
  });
4111
4152
  vue.watch(
@@ -3164,6 +3164,26 @@ const _sfc_main$1 = /* @__PURE__ */ defineComponent({
3164
3164
  },
3165
3165
  { immediate: true, deep: true }
3166
3166
  );
3167
+ watch(
3168
+ () => {
3169
+ var _a, _b;
3170
+ return (_b = (_a = props.all) == null ? void 0 : _a.columns) == null ? void 0 : _b.map((col) => ({ field: col.field, value: col.value, condition: col.condition }));
3171
+ },
3172
+ (newValues) => {
3173
+ if (!newValues) return;
3174
+ newValues.forEach((colState) => {
3175
+ if (colState.field) {
3176
+ if (filterInputs.value[colState.field] !== colState.value) {
3177
+ filterInputs.value[colState.field] = colState.value || "";
3178
+ }
3179
+ if (colState.condition && columnConditions.value[colState.field] !== colState.condition) {
3180
+ columnConditions.value[colState.field] = colState.condition;
3181
+ }
3182
+ }
3183
+ });
3184
+ },
3185
+ { deep: true }
3186
+ );
3167
3187
  onMounted(() => {
3168
3188
  setupColumnWatches();
3169
3189
  });
@@ -4105,6 +4125,27 @@ const _sfc_main = /* @__PURE__ */ defineComponent({
4105
4125
  },
4106
4126
  clearAllFilters() {
4107
4127
  clearAllFilters();
4128
+ },
4129
+ /**
4130
+ * Set column filter value and optionally trigger filter
4131
+ * @param field - Column field name
4132
+ * @param value - Filter value
4133
+ * @param condition - Filter condition (default: column's default condition)
4134
+ * @param triggerFilter - Whether to trigger filterChange event (default: false)
4135
+ */
4136
+ setColumnFilter(field, value, condition, triggerFilter = false) {
4137
+ const column = props.columns.find((col) => col.field === field);
4138
+ if (column) {
4139
+ column.value = value;
4140
+ if (condition) {
4141
+ column.condition = condition;
4142
+ }
4143
+ updateHasAnyActiveFilter();
4144
+ if (triggerFilter) {
4145
+ filterChange();
4146
+ }
4147
+ }
4148
+ return !!column;
4108
4149
  }
4109
4150
  });
4110
4151
  watch(
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@dolusoft/vue3-datatable",
3
- "version": "1.8.27",
3
+ "version": "1.8.29",
4
4
  "description": "Vue3 Datatable - fully customizable & easy to use datatable library",
5
5
  "private": false,
6
6
  "type": "module",