@fabx.vn/core 1.1.1 → 1.1.2
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.
|
@@ -64,13 +64,32 @@ class BasePaginationService {
|
|
|
64
64
|
}
|
|
65
65
|
buildColumnFilters(queryBuilder, filters, fieldMapping, alias) {
|
|
66
66
|
const entityAlias = alias || this.getQueryAlias();
|
|
67
|
+
const isNullValue = (v) => v === null ||
|
|
68
|
+
v === undefined ||
|
|
69
|
+
v === "null" ||
|
|
70
|
+
v === "undefined" ||
|
|
71
|
+
String(v).trim() === "";
|
|
67
72
|
Object.entries(filters).forEach(([column, values]) => {
|
|
68
|
-
if (values?.length
|
|
69
|
-
|
|
73
|
+
if (!values?.length)
|
|
74
|
+
return;
|
|
75
|
+
const dbField = fieldMapping[column] || `${entityAlias}.${column}`;
|
|
76
|
+
const validValues = values.filter((v) => !isNullValue(v));
|
|
77
|
+
const hasNull = values.some(isNullValue);
|
|
78
|
+
const conditions = [];
|
|
79
|
+
const params = {};
|
|
80
|
+
if (hasNull)
|
|
81
|
+
conditions.push(`${dbField} IS NULL`);
|
|
82
|
+
if (validValues.length > 0) {
|
|
70
83
|
const condition = this.isDateColumn(column)
|
|
71
84
|
? `DATE(${dbField}) IN (:...${column}Values)`
|
|
72
85
|
: `${dbField} IN (:...${column}Values)`;
|
|
73
|
-
|
|
86
|
+
conditions.push(condition);
|
|
87
|
+
params[`${column}Values`] = validValues;
|
|
88
|
+
}
|
|
89
|
+
if (conditions.length > 0) {
|
|
90
|
+
queryBuilder.andWhere(conditions.length > 1
|
|
91
|
+
? `(${conditions.join(" OR ")})`
|
|
92
|
+
: conditions[0], params);
|
|
74
93
|
}
|
|
75
94
|
});
|
|
76
95
|
return queryBuilder;
|
|
@@ -85,10 +104,10 @@ class BasePaginationService {
|
|
|
85
104
|
: entityColumn;
|
|
86
105
|
const selectExpression = isDateColumn
|
|
87
106
|
? `DATE(${entityAlias}.${dbField}) AS value`
|
|
88
|
-
:
|
|
107
|
+
: `COALESCE(${entityAlias}.${dbField}, 'null') AS value`;
|
|
89
108
|
const searchCondition = isDateColumn
|
|
90
109
|
? `DATE(${entityAlias}.${dbField}) LIKE :search`
|
|
91
|
-
:
|
|
110
|
+
: `COALESCE(${entityAlias}.${dbField}, 'null') LIKE :search`;
|
|
92
111
|
const baseQuery = this.repository
|
|
93
112
|
.createQueryBuilder(entityAlias)
|
|
94
113
|
.select(selectExpression)
|
|
@@ -116,11 +135,14 @@ class BasePaginationService {
|
|
|
116
135
|
dataQuery.having(searchCondition, { search: `%${search}%` });
|
|
117
136
|
}
|
|
118
137
|
const results = await dataQuery.getRawMany();
|
|
119
|
-
const data = results.map((r) =>
|
|
120
|
-
value: r.value
|
|
121
|
-
|
|
122
|
-
|
|
123
|
-
|
|
138
|
+
const data = results.map((r) => {
|
|
139
|
+
const value = r.value === "null" ? null : r.value;
|
|
140
|
+
return {
|
|
141
|
+
value: value,
|
|
142
|
+
label: value === null ? "null" : String(value),
|
|
143
|
+
count: parseInt(String(r.count), 10),
|
|
144
|
+
};
|
|
145
|
+
});
|
|
124
146
|
return {
|
|
125
147
|
data,
|
|
126
148
|
meta: {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"base-pagination.service.js","sourceRoot":"","sources":["../../../src/core/services/base-pagination.service.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"base-pagination.service.js","sourceRoot":"","sources":["../../../src/core/services/base-pagination.service.ts"],"names":[],"mappings":"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"}
|