@dolusoft/vue3-datatable 1.8.1 → 1.8.4

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.
@@ -2501,7 +2501,7 @@ const _export_sfc = (sfc, props) => {
2501
2501
  }
2502
2502
  return target;
2503
2503
  };
2504
- const ButtonExpand = /* @__PURE__ */ _export_sfc(_sfc_main$8, [["__scopeId", "data-v-4d01a2fa"]]);
2504
+ const ButtonExpand = /* @__PURE__ */ _export_sfc(_sfc_main$8, [["__scopeId", "data-v-da3bc8d5"]]);
2505
2505
  const __default__$4 = {
2506
2506
  name: "ButtonRightPanel"
2507
2507
  };
@@ -2527,7 +2527,7 @@ const _sfc_main$7 = /* @__PURE__ */ vue.defineComponent({
2527
2527
  };
2528
2528
  }
2529
2529
  });
2530
- const ButtonRightPanel = /* @__PURE__ */ _export_sfc(_sfc_main$7, [["__scopeId", "data-v-d739c6bf"]]);
2530
+ const ButtonRightPanel = /* @__PURE__ */ _export_sfc(_sfc_main$7, [["__scopeId", "data-v-b373d5f7"]]);
2531
2531
  const _hoisted_1$6 = { class: "bh-text-[13px] bh-font-normal bh-rounded bh-overflow-hidden" };
2532
2532
  const __default__$3 = {
2533
2533
  name: "columnFilter"
@@ -3001,8 +3001,13 @@ const _sfc_main$1 = /* @__PURE__ */ vue.defineComponent({
3001
3001
  const setupColumnWatches = () => {
3002
3002
  var _a;
3003
3003
  if (!((_a = props.all) == null ? void 0 : _a.columns)) return;
3004
+ console.log("🔵 [SETUP-WATCHES] Starting setup for", props.all.columns.length, "columns");
3004
3005
  props.all.columns.forEach((col) => {
3005
3006
  if (col.filter && col.field && !watchedFields.value.has(col.field)) {
3007
+ console.log("🔵 [WATCH-INIT]", col.field, {
3008
+ initialValue: col.value,
3009
+ initialCondition: col.condition
3010
+ });
3006
3011
  if (filterInputs.value[col.field] === void 0) {
3007
3012
  filterInputs.value[col.field] = col.value || "";
3008
3013
  }
@@ -3010,13 +3015,35 @@ const _sfc_main$1 = /* @__PURE__ */ vue.defineComponent({
3010
3015
  watchDebounced(
3011
3016
  () => filterInputs.value[col.field],
3012
3017
  (newValue) => {
3018
+ var _a2;
3013
3019
  const column = columnsMap.value.get(col.field);
3020
+ const currentCondition = columnConditions.value[col.field] || (column == null ? void 0 : column.condition);
3021
+ console.log("🔴 [DEBOUNCE-FIRED]", {
3022
+ field: col.field,
3023
+ newValue,
3024
+ columnConditionFromState: columnConditions.value[col.field],
3025
+ columnConditionFromMap: column == null ? void 0 : column.condition,
3026
+ resolvedCondition: currentCondition
3027
+ });
3014
3028
  if (column) {
3015
3029
  if (column.type === "string" || column.type === "String") {
3016
3030
  column.value = typeof newValue === "string" ? newValue.trim() : newValue;
3017
3031
  } else {
3018
3032
  column.value = newValue;
3019
3033
  }
3034
+ if (currentCondition) {
3035
+ column.condition = currentCondition;
3036
+ } else if (column.value) {
3037
+ const type = ((_a2 = column.type) == null ? void 0 : _a2.toLowerCase()) || "string";
3038
+ column.condition = type === "string" ? "Contains" : "Equal";
3039
+ columnConditions.value[col.field] = column.condition;
3040
+ console.log("🟡 [DEFAULT-CONDITION-SET]", col.field, column.condition);
3041
+ }
3042
+ console.log("🟢 [AFTER-MUTATION]", {
3043
+ field: col.field,
3044
+ valueAfter: column.value,
3045
+ conditionAfter: column.condition
3046
+ });
3020
3047
  emit("filterChange");
3021
3048
  }
3022
3049
  },
@@ -3075,10 +3102,16 @@ const _sfc_main$1 = /* @__PURE__ */ vue.defineComponent({
3075
3102
  return condition;
3076
3103
  };
3077
3104
  const handleConditionChange = (field, condition) => {
3105
+ console.log("🟠 [CONDITION-CHANGE]", { field, condition });
3078
3106
  const column = columnsMap.value.get(field);
3079
3107
  if (column) {
3080
3108
  column.condition = condition;
3081
3109
  columnConditions.value[field] = condition;
3110
+ console.log("🟠 [CONDITION-UPDATED]", {
3111
+ field,
3112
+ newCondition: column.condition,
3113
+ columnValue: column.value
3114
+ });
3082
3115
  emit("filterChange");
3083
3116
  }
3084
3117
  };
@@ -4130,6 +4163,10 @@ const _sfc_main = /* @__PURE__ */ vue.defineComponent({
4130
4163
  }
4131
4164
  };
4132
4165
  const changeForServer = (changeType, isResetPage = false) => {
4166
+ console.log(
4167
+ "🔵 [CHANGE-FOR-SERVER] Props columns detail:",
4168
+ props.columns.map((c) => ({ field: c.field, value: c.value, condition: c.condition }))
4169
+ );
4133
4170
  if (props.isServerMode) {
4134
4171
  setDefaultCondition();
4135
4172
  const res = {
@@ -4142,6 +4179,10 @@ const _sfc_main = /* @__PURE__ */ vue.defineComponent({
4142
4179
  column_filters: props.columns,
4143
4180
  change_type: changeType
4144
4181
  };
4182
+ console.log(
4183
+ "🔵 [EMITTING-CHANGE] Final column_filters:",
4184
+ res.column_filters.map((c) => ({ field: c.field, value: c.value, condition: c.condition }))
4185
+ );
4145
4186
  emit("change", res);
4146
4187
  }
4147
4188
  };
@@ -1,16 +1,16 @@
1
1
 
2
- .expandbtn[data-v-4d01a2fa] {
2
+ .expandbtn[data-v-da3bc8d5] {
3
3
  cursor: pointer;
4
- }
4
+ }
5
5
 
6
- .rightpanelbtn[data-v-d739c6bf] {
7
- cursor: pointer;
8
- display: inline-flex;
9
- align-items: center;
10
- justify-content: center;
11
- width: 24px;
6
+ .rightpanelbtn[data-v-b373d5f7] {
7
+ cursor: pointer;
8
+ display: inline-flex;
9
+ align-items: center;
10
+ justify-content: center;
11
+ width: 24px;
12
12
  height: 24px;
13
- }
13
+ }
14
14
  .splitpanes{display:flex;width:100%;height:100%}.splitpanes--vertical{flex-direction:row}.splitpanes--horizontal{flex-direction:column}.splitpanes--dragging .splitpanes__pane{-webkit-user-select:none;-moz-user-select:none;user-select:none;pointer-events:none}.splitpanes__pane{width:100%;height:100%;overflow:hidden}.splitpanes--vertical .splitpanes__pane{transition:width .2s ease-out}.splitpanes--horizontal .splitpanes__pane{transition:height .2s ease-out}.splitpanes--dragging .splitpanes__pane{transition:none}.splitpanes__splitter{touch-action:none}.splitpanes--vertical>.splitpanes__splitter{min-width:1px;cursor:col-resize}.splitpanes--horizontal>.splitpanes__splitter{min-height:1px;cursor:row-resize}.splitpanes.default-theme .splitpanes__pane{background-color:#f2f2f2}.splitpanes.default-theme .splitpanes__splitter{background-color:#fff;box-sizing:border-box;position:relative;flex-shrink:0}.splitpanes.default-theme .splitpanes__splitter:before,.splitpanes.default-theme .splitpanes__splitter:after{content:"";position:absolute;top:50%;left:50%;background-color:#00000026;transition:background-color .3s}.splitpanes.default-theme .splitpanes__splitter:hover:before,.splitpanes.default-theme .splitpanes__splitter:hover:after{background-color:#00000040}.splitpanes.default-theme .splitpanes__splitter:first-child{cursor:auto}.default-theme.splitpanes .splitpanes .splitpanes__splitter{z-index:1}.default-theme.splitpanes--vertical>.splitpanes__splitter,.default-theme .splitpanes--vertical>.splitpanes__splitter{width:7px;border-left:1px solid #eee;margin-left:-1px}.default-theme.splitpanes--vertical>.splitpanes__splitter:before,.default-theme.splitpanes--vertical>.splitpanes__splitter:after,.default-theme .splitpanes--vertical>.splitpanes__splitter:before,.default-theme .splitpanes--vertical>.splitpanes__splitter:after{transform:translateY(-50%);width:1px;height:30px}.default-theme.splitpanes--vertical>.splitpanes__splitter:before,.default-theme .splitpanes--vertical>.splitpanes__splitter:before{margin-left:-2px}.default-theme.splitpanes--vertical>.splitpanes__splitter:after,.default-theme .splitpanes--vertical>.splitpanes__splitter:after{margin-left:1px}.default-theme.splitpanes--horizontal>.splitpanes__splitter,.default-theme .splitpanes--horizontal>.splitpanes__splitter{height:7px;border-top:1px solid #eee;margin-top:-1px}.default-theme.splitpanes--horizontal>.splitpanes__splitter:before,.default-theme.splitpanes--horizontal>.splitpanes__splitter:after,.default-theme .splitpanes--horizontal>.splitpanes__splitter:before,.default-theme .splitpanes--horizontal>.splitpanes__splitter:after{transform:translate(-50%);width:30px;height:1px}.default-theme.splitpanes--horizontal>.splitpanes__splitter:before,.default-theme .splitpanes--horizontal>.splitpanes__splitter:before{margin-top:-2px}.default-theme.splitpanes--horizontal>.splitpanes__splitter:after,.default-theme .splitpanes--horizontal>.splitpanes__splitter:after{margin-top:1px}
15
15
 
16
16
  .left-menu-container {
@@ -2500,7 +2500,7 @@ const _export_sfc = (sfc, props) => {
2500
2500
  }
2501
2501
  return target;
2502
2502
  };
2503
- const ButtonExpand = /* @__PURE__ */ _export_sfc(_sfc_main$8, [["__scopeId", "data-v-4d01a2fa"]]);
2503
+ const ButtonExpand = /* @__PURE__ */ _export_sfc(_sfc_main$8, [["__scopeId", "data-v-da3bc8d5"]]);
2504
2504
  const __default__$4 = {
2505
2505
  name: "ButtonRightPanel"
2506
2506
  };
@@ -2526,7 +2526,7 @@ const _sfc_main$7 = /* @__PURE__ */ defineComponent({
2526
2526
  };
2527
2527
  }
2528
2528
  });
2529
- const ButtonRightPanel = /* @__PURE__ */ _export_sfc(_sfc_main$7, [["__scopeId", "data-v-d739c6bf"]]);
2529
+ const ButtonRightPanel = /* @__PURE__ */ _export_sfc(_sfc_main$7, [["__scopeId", "data-v-b373d5f7"]]);
2530
2530
  const _hoisted_1$6 = { class: "bh-text-[13px] bh-font-normal bh-rounded bh-overflow-hidden" };
2531
2531
  const __default__$3 = {
2532
2532
  name: "columnFilter"
@@ -3000,8 +3000,13 @@ const _sfc_main$1 = /* @__PURE__ */ defineComponent({
3000
3000
  const setupColumnWatches = () => {
3001
3001
  var _a;
3002
3002
  if (!((_a = props.all) == null ? void 0 : _a.columns)) return;
3003
+ console.log("🔵 [SETUP-WATCHES] Starting setup for", props.all.columns.length, "columns");
3003
3004
  props.all.columns.forEach((col) => {
3004
3005
  if (col.filter && col.field && !watchedFields.value.has(col.field)) {
3006
+ console.log("🔵 [WATCH-INIT]", col.field, {
3007
+ initialValue: col.value,
3008
+ initialCondition: col.condition
3009
+ });
3005
3010
  if (filterInputs.value[col.field] === void 0) {
3006
3011
  filterInputs.value[col.field] = col.value || "";
3007
3012
  }
@@ -3009,13 +3014,35 @@ const _sfc_main$1 = /* @__PURE__ */ defineComponent({
3009
3014
  watchDebounced(
3010
3015
  () => filterInputs.value[col.field],
3011
3016
  (newValue) => {
3017
+ var _a2;
3012
3018
  const column = columnsMap.value.get(col.field);
3019
+ const currentCondition = columnConditions.value[col.field] || (column == null ? void 0 : column.condition);
3020
+ console.log("🔴 [DEBOUNCE-FIRED]", {
3021
+ field: col.field,
3022
+ newValue,
3023
+ columnConditionFromState: columnConditions.value[col.field],
3024
+ columnConditionFromMap: column == null ? void 0 : column.condition,
3025
+ resolvedCondition: currentCondition
3026
+ });
3013
3027
  if (column) {
3014
3028
  if (column.type === "string" || column.type === "String") {
3015
3029
  column.value = typeof newValue === "string" ? newValue.trim() : newValue;
3016
3030
  } else {
3017
3031
  column.value = newValue;
3018
3032
  }
3033
+ if (currentCondition) {
3034
+ column.condition = currentCondition;
3035
+ } else if (column.value) {
3036
+ const type = ((_a2 = column.type) == null ? void 0 : _a2.toLowerCase()) || "string";
3037
+ column.condition = type === "string" ? "Contains" : "Equal";
3038
+ columnConditions.value[col.field] = column.condition;
3039
+ console.log("🟡 [DEFAULT-CONDITION-SET]", col.field, column.condition);
3040
+ }
3041
+ console.log("🟢 [AFTER-MUTATION]", {
3042
+ field: col.field,
3043
+ valueAfter: column.value,
3044
+ conditionAfter: column.condition
3045
+ });
3019
3046
  emit("filterChange");
3020
3047
  }
3021
3048
  },
@@ -3074,10 +3101,16 @@ const _sfc_main$1 = /* @__PURE__ */ defineComponent({
3074
3101
  return condition;
3075
3102
  };
3076
3103
  const handleConditionChange = (field, condition) => {
3104
+ console.log("🟠 [CONDITION-CHANGE]", { field, condition });
3077
3105
  const column = columnsMap.value.get(field);
3078
3106
  if (column) {
3079
3107
  column.condition = condition;
3080
3108
  columnConditions.value[field] = condition;
3109
+ console.log("🟠 [CONDITION-UPDATED]", {
3110
+ field,
3111
+ newCondition: column.condition,
3112
+ columnValue: column.value
3113
+ });
3081
3114
  emit("filterChange");
3082
3115
  }
3083
3116
  };
@@ -4129,6 +4162,10 @@ const _sfc_main = /* @__PURE__ */ defineComponent({
4129
4162
  }
4130
4163
  };
4131
4164
  const changeForServer = (changeType, isResetPage = false) => {
4165
+ console.log(
4166
+ "🔵 [CHANGE-FOR-SERVER] Props columns detail:",
4167
+ props.columns.map((c) => ({ field: c.field, value: c.value, condition: c.condition }))
4168
+ );
4132
4169
  if (props.isServerMode) {
4133
4170
  setDefaultCondition();
4134
4171
  const res = {
@@ -4141,6 +4178,10 @@ const _sfc_main = /* @__PURE__ */ defineComponent({
4141
4178
  column_filters: props.columns,
4142
4179
  change_type: changeType
4143
4180
  };
4181
+ console.log(
4182
+ "🔵 [EMITTING-CHANGE] Final column_filters:",
4183
+ res.column_filters.map((c) => ({ field: c.field, value: c.value, condition: c.condition }))
4184
+ );
4144
4185
  emit("change", res);
4145
4186
  }
4146
4187
  };
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@dolusoft/vue3-datatable",
3
- "version": "1.8.1",
3
+ "version": "1.8.4",
4
4
  "description": "Vue3 Datatable - fully customizable & easy to use datatable library",
5
5
  "private": false,
6
6
  "type": "module",