dbgate-datalib 6.6.5 → 6.6.7
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/lib/GridConfig.d.ts +2 -0
- package/lib/GridConfig.js +1 -0
- package/lib/GridDisplay.d.ts +4 -0
- package/lib/GridDisplay.js +25 -4
- package/package.json +5 -5
package/lib/GridConfig.d.ts
CHANGED
|
@@ -34,6 +34,8 @@ export interface GridConfig extends GridConfigColumns {
|
|
|
34
34
|
formFilterColumns: string[];
|
|
35
35
|
multiColumnFilter?: string;
|
|
36
36
|
searchInColumns?: string;
|
|
37
|
+
disabledFilterColumns: string[];
|
|
38
|
+
disabledMultiColumnFilter?: boolean;
|
|
37
39
|
}
|
|
38
40
|
export interface GridCache {
|
|
39
41
|
refreshTime: number;
|
package/lib/GridConfig.js
CHANGED
package/lib/GridDisplay.d.ts
CHANGED
|
@@ -98,6 +98,10 @@ export declare abstract class GridDisplay {
|
|
|
98
98
|
showFilter(uniqueName: any): void;
|
|
99
99
|
removeFilter(uniqueName: any): void;
|
|
100
100
|
setFilters(dct: any): void;
|
|
101
|
+
toggleFilterEnabled(uniqueName: any): void;
|
|
102
|
+
isFilterDisabled(uniqueName: string): boolean;
|
|
103
|
+
toggleMultiColumnFilterEnabled(): void;
|
|
104
|
+
isMultiColumnFilterDisabled(): boolean;
|
|
101
105
|
setSort(uniqueName: any, order: any): void;
|
|
102
106
|
addToSort(uniqueName: any, order: any): void;
|
|
103
107
|
clearSort(): void;
|
package/lib/GridDisplay.js
CHANGED
|
@@ -143,6 +143,8 @@ class GridDisplay {
|
|
|
143
143
|
const column = displayedColumnInfo[uniqueName];
|
|
144
144
|
if (!column)
|
|
145
145
|
continue;
|
|
146
|
+
if (this.isFilterDisabled(uniqueName))
|
|
147
|
+
continue;
|
|
146
148
|
try {
|
|
147
149
|
const condition = (0, dbgate_filterparser_1.parseFilter)(filter, (_b = (_a = this.driver) === null || _a === void 0 ? void 0 : _a.getFilterBehaviour(column.dataType, dbgate_tools_2.standardFilterBehaviours)) !== null && _b !== void 0 ? _b : (0, dbgate_tools_2.detectSqlFilterBehaviour)(column.dataType));
|
|
148
150
|
if (condition) {
|
|
@@ -163,7 +165,7 @@ class GridDisplay {
|
|
|
163
165
|
continue;
|
|
164
166
|
}
|
|
165
167
|
}
|
|
166
|
-
if (this.baseTableOrView && this.config.multiColumnFilter) {
|
|
168
|
+
if (this.baseTableOrView && this.config.multiColumnFilter && !this.isMultiColumnFilterDisabled()) {
|
|
167
169
|
const orCondition = {
|
|
168
170
|
conditionType: 'or',
|
|
169
171
|
conditions: [],
|
|
@@ -298,11 +300,11 @@ class GridDisplay {
|
|
|
298
300
|
return this.config.filters[uniqueName];
|
|
299
301
|
}
|
|
300
302
|
setFilter(uniqueName, value) {
|
|
301
|
-
this.setConfig(cfg => (Object.assign(Object.assign({}, cfg), { filters: Object.assign(Object.assign({}, cfg.filters), { [uniqueName]: value }), formViewRecordNumber: 0 })));
|
|
303
|
+
this.setConfig(cfg => (Object.assign(Object.assign({}, cfg), { filters: Object.assign(Object.assign({}, cfg.filters), { [uniqueName]: value }), formViewRecordNumber: 0, disabledFilterColumns: cfg.disabledFilterColumns.filter(x => x != uniqueName) })));
|
|
302
304
|
this.reload();
|
|
303
305
|
}
|
|
304
306
|
setMutliColumnFilter(value) {
|
|
305
|
-
this.setConfig(cfg => (Object.assign(Object.assign({}, cfg), { multiColumnFilter: value, formViewRecordNumber: 0 })));
|
|
307
|
+
this.setConfig(cfg => (Object.assign(Object.assign({}, cfg), { multiColumnFilter: value, formViewRecordNumber: 0, disabledMultiColumnFilter: false })));
|
|
306
308
|
this.reload();
|
|
307
309
|
}
|
|
308
310
|
showFilter(uniqueName) {
|
|
@@ -313,13 +315,32 @@ class GridDisplay {
|
|
|
313
315
|
});
|
|
314
316
|
}
|
|
315
317
|
removeFilter(uniqueName) {
|
|
316
|
-
this.setConfig(cfg => (Object.assign(Object.assign({}, cfg), { filters: lodash_1.default.omit(cfg.filters, [uniqueName]), formFilterColumns: (cfg.formFilterColumns || []).filter(x => x != uniqueName) })));
|
|
318
|
+
this.setConfig(cfg => (Object.assign(Object.assign({}, cfg), { filters: lodash_1.default.omit(cfg.filters, [uniqueName]), formFilterColumns: (cfg.formFilterColumns || []).filter(x => x != uniqueName), disabledFilterColumns: (cfg.disabledFilterColumns).filter(x => x != uniqueName) })));
|
|
317
319
|
this.reload();
|
|
318
320
|
}
|
|
319
321
|
setFilters(dct) {
|
|
320
322
|
this.setConfig(cfg => (Object.assign(Object.assign({}, cfg), { filters: Object.assign(Object.assign({}, cfg.filters), dct) })));
|
|
321
323
|
this.reload();
|
|
322
324
|
}
|
|
325
|
+
toggleFilterEnabled(uniqueName) {
|
|
326
|
+
if (this.isFilterDisabled(uniqueName)) {
|
|
327
|
+
this.setConfig(cfg => (Object.assign(Object.assign({}, cfg), { disabledFilterColumns: cfg.disabledFilterColumns.filter(x => x != uniqueName) })));
|
|
328
|
+
}
|
|
329
|
+
else {
|
|
330
|
+
this.setConfig(cfg => (Object.assign(Object.assign({}, cfg), { disabledFilterColumns: [...cfg.disabledFilterColumns, uniqueName] })));
|
|
331
|
+
}
|
|
332
|
+
this.reload();
|
|
333
|
+
}
|
|
334
|
+
isFilterDisabled(uniqueName) {
|
|
335
|
+
return this.config.disabledFilterColumns.includes(uniqueName);
|
|
336
|
+
}
|
|
337
|
+
toggleMultiColumnFilterEnabled() {
|
|
338
|
+
this.setConfig(cfg => (Object.assign(Object.assign({}, cfg), { disabledMultiColumnFilter: !cfg.disabledMultiColumnFilter })));
|
|
339
|
+
this.reload();
|
|
340
|
+
}
|
|
341
|
+
isMultiColumnFilterDisabled() {
|
|
342
|
+
return this.config.disabledMultiColumnFilter;
|
|
343
|
+
}
|
|
323
344
|
setSort(uniqueName, order) {
|
|
324
345
|
this.setConfig(cfg => (Object.assign(Object.assign({}, cfg), { sort: [{ uniqueName, order }] })));
|
|
325
346
|
this.reload();
|
package/package.json
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
{
|
|
2
|
-
"version": "6.6.
|
|
2
|
+
"version": "6.6.7",
|
|
3
3
|
"name": "dbgate-datalib",
|
|
4
4
|
"main": "lib/index.js",
|
|
5
5
|
"typings": "lib/index.d.ts",
|
|
@@ -15,14 +15,14 @@
|
|
|
15
15
|
],
|
|
16
16
|
"dependencies": {
|
|
17
17
|
"date-fns": "^4.1.0",
|
|
18
|
-
"dbgate-filterparser": "^6.6.
|
|
19
|
-
"dbgate-sqltree": "^6.6.
|
|
20
|
-
"dbgate-tools": "^6.6.
|
|
18
|
+
"dbgate-filterparser": "^6.6.7",
|
|
19
|
+
"dbgate-sqltree": "^6.6.7",
|
|
20
|
+
"dbgate-tools": "^6.6.7",
|
|
21
21
|
"uuid": "^3.4.0"
|
|
22
22
|
},
|
|
23
23
|
"devDependencies": {
|
|
24
24
|
"@types/node": "^13.7.0",
|
|
25
|
-
"dbgate-types": "^6.6.
|
|
25
|
+
"dbgate-types": "^6.6.7",
|
|
26
26
|
"jest": "^28.1.3",
|
|
27
27
|
"ts-jest": "^28.0.7",
|
|
28
28
|
"typescript": "^4.4.3"
|