@dolusoft/vue3-datatable 1.8.1 → 1.8.3

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,30 @@ 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
+ console.log("🔴 [DEBOUNCE-FIRED]", {
3021
+ field: col.field,
3022
+ newValue,
3023
+ columnConditionBefore: column == null ? void 0 : column.condition,
3024
+ columnValueBefore: column == null ? void 0 : column.value
3025
+ });
3014
3026
  if (column) {
3015
3027
  if (column.type === "string" || column.type === "String") {
3016
3028
  column.value = typeof newValue === "string" ? newValue.trim() : newValue;
3017
3029
  } else {
3018
3030
  column.value = newValue;
3019
3031
  }
3032
+ if (!column.condition && column.value) {
3033
+ const type = ((_a2 = column.type) == null ? void 0 : _a2.toLowerCase()) || "string";
3034
+ column.condition = type === "string" ? "Contains" : "Equal";
3035
+ console.log("🟡 [DEFAULT-CONDITION-SET]", col.field, column.condition);
3036
+ }
3037
+ console.log("🟢 [AFTER-MUTATION]", {
3038
+ field: col.field,
3039
+ valueAfter: column.value,
3040
+ conditionAfter: column.condition
3041
+ });
3020
3042
  emit("filterChange");
3021
3043
  }
3022
3044
  },
@@ -3075,10 +3097,16 @@ const _sfc_main$1 = /* @__PURE__ */ vue.defineComponent({
3075
3097
  return condition;
3076
3098
  };
3077
3099
  const handleConditionChange = (field, condition) => {
3100
+ console.log("🟠 [CONDITION-CHANGE]", { field, condition });
3078
3101
  const column = columnsMap.value.get(field);
3079
3102
  if (column) {
3080
3103
  column.condition = condition;
3081
3104
  columnConditions.value[field] = condition;
3105
+ console.log("🟠 [CONDITION-UPDATED]", {
3106
+ field,
3107
+ newCondition: column.condition,
3108
+ columnValue: column.value
3109
+ });
3082
3110
  emit("filterChange");
3083
3111
  }
3084
3112
  };
@@ -4130,6 +4158,10 @@ const _sfc_main = /* @__PURE__ */ vue.defineComponent({
4130
4158
  }
4131
4159
  };
4132
4160
  const changeForServer = (changeType, isResetPage = false) => {
4161
+ console.log(
4162
+ "🔵 [CHANGE-FOR-SERVER] Props columns detail:",
4163
+ props.columns.map((c) => ({ field: c.field, value: c.value, condition: c.condition }))
4164
+ );
4133
4165
  if (props.isServerMode) {
4134
4166
  setDefaultCondition();
4135
4167
  const res = {
@@ -4142,6 +4174,10 @@ const _sfc_main = /* @__PURE__ */ vue.defineComponent({
4142
4174
  column_filters: props.columns,
4143
4175
  change_type: changeType
4144
4176
  };
4177
+ console.log(
4178
+ "🔵 [EMITTING-CHANGE] Final column_filters:",
4179
+ res.column_filters.map((c) => ({ field: c.field, value: c.value, condition: c.condition }))
4180
+ );
4145
4181
  emit("change", res);
4146
4182
  }
4147
4183
  };
@@ -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,30 @@ 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
+ console.log("🔴 [DEBOUNCE-FIRED]", {
3020
+ field: col.field,
3021
+ newValue,
3022
+ columnConditionBefore: column == null ? void 0 : column.condition,
3023
+ columnValueBefore: column == null ? void 0 : column.value
3024
+ });
3013
3025
  if (column) {
3014
3026
  if (column.type === "string" || column.type === "String") {
3015
3027
  column.value = typeof newValue === "string" ? newValue.trim() : newValue;
3016
3028
  } else {
3017
3029
  column.value = newValue;
3018
3030
  }
3031
+ if (!column.condition && column.value) {
3032
+ const type = ((_a2 = column.type) == null ? void 0 : _a2.toLowerCase()) || "string";
3033
+ column.condition = type === "string" ? "Contains" : "Equal";
3034
+ console.log("🟡 [DEFAULT-CONDITION-SET]", col.field, column.condition);
3035
+ }
3036
+ console.log("🟢 [AFTER-MUTATION]", {
3037
+ field: col.field,
3038
+ valueAfter: column.value,
3039
+ conditionAfter: column.condition
3040
+ });
3019
3041
  emit("filterChange");
3020
3042
  }
3021
3043
  },
@@ -3074,10 +3096,16 @@ const _sfc_main$1 = /* @__PURE__ */ defineComponent({
3074
3096
  return condition;
3075
3097
  };
3076
3098
  const handleConditionChange = (field, condition) => {
3099
+ console.log("🟠 [CONDITION-CHANGE]", { field, condition });
3077
3100
  const column = columnsMap.value.get(field);
3078
3101
  if (column) {
3079
3102
  column.condition = condition;
3080
3103
  columnConditions.value[field] = condition;
3104
+ console.log("🟠 [CONDITION-UPDATED]", {
3105
+ field,
3106
+ newCondition: column.condition,
3107
+ columnValue: column.value
3108
+ });
3081
3109
  emit("filterChange");
3082
3110
  }
3083
3111
  };
@@ -4129,6 +4157,10 @@ const _sfc_main = /* @__PURE__ */ defineComponent({
4129
4157
  }
4130
4158
  };
4131
4159
  const changeForServer = (changeType, isResetPage = false) => {
4160
+ console.log(
4161
+ "🔵 [CHANGE-FOR-SERVER] Props columns detail:",
4162
+ props.columns.map((c) => ({ field: c.field, value: c.value, condition: c.condition }))
4163
+ );
4132
4164
  if (props.isServerMode) {
4133
4165
  setDefaultCondition();
4134
4166
  const res = {
@@ -4141,6 +4173,10 @@ const _sfc_main = /* @__PURE__ */ defineComponent({
4141
4173
  column_filters: props.columns,
4142
4174
  change_type: changeType
4143
4175
  };
4176
+ console.log(
4177
+ "🔵 [EMITTING-CHANGE] Final column_filters:",
4178
+ res.column_filters.map((c) => ({ field: c.field, value: c.value, condition: c.condition }))
4179
+ );
4144
4180
  emit("change", res);
4145
4181
  }
4146
4182
  };
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.3",
4
4
  "description": "Vue3 Datatable - fully customizable & easy to use datatable library",
5
5
  "private": false,
6
6
  "type": "module",