@updevs/components 1.0.0-alpha.95 → 1.0.0-alpha.97
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/esm2022/table/abstractions/base-column.model.mjs +1 -1
- package/esm2022/table/abstractions/filters-operands.service.mjs +1 -1
- package/esm2022/table/components/filter-row/filter-row.component.mjs +47 -27
- package/esm2022/table/components/search-section/search-section.component.mjs +17 -29
- package/esm2022/table/models/filter-field.config.mjs +2 -0
- package/esm2022/table/models/operands-lists/select-filter-operands-list.model.mjs +12 -0
- package/esm2022/table/models/table-config.model.mjs +11 -1
- package/esm2022/table/models/table.config.mjs +1 -1
- package/esm2022/table/services/current-search-request.service.mjs +254 -0
- package/esm2022/table/services/default-filters-operands.service.mjs +21 -17
- package/esm2022/table/services/stores/filters-operands.store.mjs +1 -1
- package/esm2022/table/table.component.mjs +25 -34
- package/esm2022/table/tools/filters.tools.mjs +32 -16
- package/fesm2022/updevs-components-table.mjs +399 -113
- package/fesm2022/updevs-components-table.mjs.map +1 -1
- package/package.json +25 -25
- package/table/abstractions/base-column.model.d.ts +2 -4
- package/table/abstractions/filters-operands.service.d.ts +2 -2
- package/table/components/filter-row/filter-row.component.d.ts +8 -5
- package/table/components/search-section/search-section.component.d.ts +4 -8
- package/table/models/filter-field.config.d.ts +11 -0
- package/table/models/operands-lists/select-filter-operands-list.model.d.ts +6 -0
- package/table/models/table-config.model.d.ts +11 -0
- package/table/models/table.config.d.ts +11 -0
- package/table/services/current-search-request.service.d.ts +164 -0
- package/table/services/default-filters-operands.service.d.ts +2 -2
- package/table/services/stores/filters-operands.store.d.ts +2 -2
- package/table/table.component.d.ts +4 -9
- package/table/tools/filters.tools.d.ts +2 -1
|
@@ -1,54 +1,70 @@
|
|
|
1
|
-
import {
|
|
1
|
+
import { BooleanColumnFilter, DateColumnFilter, NumberColumnFilter, GuidColumnFilter, StringColumnFilter, SelectColumnFilter, FilterTypeEnum } from '@updevs/sdk/stores';
|
|
2
2
|
export class FilterTools {
|
|
3
3
|
static convertToFilterItem(filters, operands) {
|
|
4
4
|
return filters.map(f => ({
|
|
5
5
|
name: f.column,
|
|
6
6
|
value: f.value,
|
|
7
|
-
operandConfig: operands[f.
|
|
8
|
-
isHidden: f.isHidden
|
|
7
|
+
operandConfig: f.type && operands[f.type] ? operands[f.type].find(op => op.operand === f.operand) : undefined,
|
|
8
|
+
isHidden: f.isHidden,
|
|
9
|
+
type: f.type
|
|
9
10
|
}));
|
|
10
11
|
}
|
|
11
|
-
static convertToRequestFilter(filters, columns) {
|
|
12
|
+
static convertToRequestFilter(filters, filtersConfigs = [], columns = []) {
|
|
12
13
|
return filters.map(af => {
|
|
13
|
-
const
|
|
14
|
-
|
|
15
|
-
|
|
14
|
+
const filterType = filtersConfigs.length > 0
|
|
15
|
+
? filtersConfigs.find(c => c.name === af.name).type
|
|
16
|
+
: columns.find(c => c.name === af.name).filterType;
|
|
17
|
+
switch (filterType) {
|
|
18
|
+
case FilterTypeEnum.Boolean:
|
|
16
19
|
return new BooleanColumnFilter({
|
|
17
20
|
column: af.name,
|
|
18
21
|
value: af.value,
|
|
19
22
|
operand: !!af.operandConfig ? af.operandConfig.operand : undefined,
|
|
20
|
-
isHidden: af.isHidden
|
|
23
|
+
isHidden: af.isHidden,
|
|
24
|
+
type: filterType
|
|
21
25
|
});
|
|
22
|
-
case
|
|
26
|
+
case FilterTypeEnum.Date:
|
|
23
27
|
return new DateColumnFilter({
|
|
24
28
|
column: af.name,
|
|
25
29
|
value: af.value,
|
|
26
30
|
operand: !!af.operandConfig ? af.operandConfig.operand : undefined,
|
|
27
|
-
isHidden: af.isHidden
|
|
31
|
+
isHidden: af.isHidden,
|
|
32
|
+
type: filterType
|
|
28
33
|
});
|
|
29
|
-
case
|
|
34
|
+
case FilterTypeEnum.Number:
|
|
30
35
|
return new NumberColumnFilter({
|
|
31
36
|
column: af.name,
|
|
32
37
|
value: af.value,
|
|
33
38
|
operand: !!af.operandConfig ? af.operandConfig.operand : undefined,
|
|
34
|
-
isHidden: af.isHidden
|
|
39
|
+
isHidden: af.isHidden,
|
|
40
|
+
type: filterType
|
|
35
41
|
});
|
|
36
|
-
case
|
|
42
|
+
case FilterTypeEnum.Select:
|
|
43
|
+
return new SelectColumnFilter({
|
|
44
|
+
column: af.name,
|
|
45
|
+
value: af.value,
|
|
46
|
+
operand: !!af.operandConfig ? af.operandConfig.operand : undefined,
|
|
47
|
+
isHidden: af.isHidden,
|
|
48
|
+
type: filterType
|
|
49
|
+
});
|
|
50
|
+
case FilterTypeEnum.Guid:
|
|
37
51
|
return new GuidColumnFilter({
|
|
38
52
|
column: af.name,
|
|
39
53
|
value: af.value,
|
|
40
54
|
operand: !!af.operandConfig ? af.operandConfig.operand : undefined,
|
|
41
|
-
isHidden: af.isHidden
|
|
55
|
+
isHidden: af.isHidden,
|
|
56
|
+
type: filterType
|
|
42
57
|
});
|
|
43
58
|
default:
|
|
44
59
|
return new StringColumnFilter({
|
|
45
60
|
column: af.name,
|
|
46
61
|
value: af.value,
|
|
47
62
|
operand: !!af.operandConfig ? af.operandConfig.operand : undefined,
|
|
48
|
-
isHidden: af.isHidden
|
|
63
|
+
isHidden: af.isHidden,
|
|
64
|
+
type: filterType
|
|
49
65
|
});
|
|
50
66
|
}
|
|
51
67
|
});
|
|
52
68
|
}
|
|
53
69
|
}
|
|
54
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
70
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZmlsdGVycy50b29scy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvY29tcG9uZW50cy90YWJsZS9zcmMvdG9vbHMvZmlsdGVycy50b29scy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBRUgsbUJBQW1CLEVBRW5CLGdCQUFnQixFQUVoQixrQkFBa0IsRUFFbEIsZ0JBQWdCLEVBRWhCLGtCQUFrQixFQUNsQixrQkFBa0IsRUFDbEIsY0FBYyxFQUNqQixNQUFNLG9CQUFvQixDQUFDO0FBUTVCLE1BQU0sT0FBTyxXQUFXO0lBQ3BCLE1BQU0sQ0FBQyxtQkFBbUIsQ0FBQyxPQUFxQixFQUFFLFFBQTBEO1FBQ3hHLE9BQU8sT0FBTyxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUM7WUFDckIsSUFBSSxFQUFFLENBQUMsQ0FBQyxNQUFNO1lBQ2QsS0FBSyxFQUFFLENBQUMsQ0FBQyxLQUFLO1lBQ2QsYUFBYSxFQUFFLENBQUMsQ0FBQyxJQUFJLElBQUksUUFBUSxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUMsUUFBUSxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxJQUFJLENBQUMsRUFBRSxDQUFDLEVBQUUsQ0FBQyxFQUFFLENBQUMsT0FBTyxLQUFLLENBQUMsQ0FBQyxPQUFPLENBQUMsQ0FBQyxDQUFDLENBQUMsU0FBUztZQUM3RyxRQUFRLEVBQUUsQ0FBQyxDQUFDLFFBQVE7WUFDcEIsSUFBSSxFQUFFLENBQUMsQ0FBQyxJQUFJO1NBQ2YsQ0FBQyxDQUFDLENBQUM7SUFDUixDQUFDO0lBRUQsTUFBTSxDQUFDLHNCQUFzQixDQUFDLE9BQTBCLEVBQUUsaUJBQXNDLEVBQUUsRUFBRSxVQUE2QixFQUFFO1FBQy9ILE9BQU8sT0FBTyxDQUFDLEdBQUcsQ0FBQyxFQUFFLENBQUMsRUFBRTtZQUNwQixNQUFNLFVBQVUsR0FDWixjQUFjLENB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LEVBQUUsQ0FBQyxLQUFLO3dCQUNmLE9BQU8sRUFBRSxDQUFDLENBQUMsRUFBRSxDQUFDLGFBQWEsQ0FBQyxDQUFDLENBQW9CLEVBQUUsQ0FBQyxhQUFhLENBQUMsT0FBTyxDQUFDLENBQUMsQ0FBQyxTQUFTO3dCQUNyRixRQUFRLEVBQUUsRUFBRSxDQUFDLFFBQVE7d0JBQ3JCLElBQUksRUFBRSxVQUFVO3FCQUNuQixDQUFDLENBQUM7WUFDWCxDQUFDO1FBQ0wsQ0FBQyxDQUFDLENBQUM7SUFDUCxDQUFDO0NBQ0oiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge1xuICAgIEJhc2VGaWx0ZXIsXG4gICAgQm9vbGVhbkNvbHVtbkZpbHRlcixcbiAgICBGaWx0ZXJCb29sZWFuT3BlcmFuZEVudW0sXG4gICAgRGF0ZUNvbHVtbkZpbHRlcixcbiAgICBGaWx0ZXJEYXRlT3BlcmFuZEVudW0sXG4gICAgTnVtYmVyQ29sdW1uRmlsdGVyLFxuICAgIEZpbHRlck51bWJlck9wZXJhbmRFbnVtLFxuICAgIEd1aWRDb2x1bW5GaWx0ZXIsXG4gICAgRmlsdGVyT3BlcmFuZEVudW0sXG4gICAgU3RyaW5nQ29sdW1uRmlsdGVyLFxuICAgIFNlbGVjdENvbHVtbkZpbHRlcixcbiAgICBGaWx0ZXJUeXBlRW51bVxufSBmcm9tICdAdXBkZXZzL3Nkay9zdG9yZXMnO1xuaW1wb3J0IHsgTm9uTnVsbGFibGVEaWN0aW9uYXJ5VHlwZSB9IGZyb20gJ0B1cGRldnMvc2RrL3R5cGVzJztcblxuaW1wb3J0IHsgRmlsdGVySXRlbU1vZGVsIH0gZnJvbSAnLi4vbW9kZWxzL2ZpbHRlci1pdGVtLm1vZGVsJztcbmltcG9ydCB7IEJhc2VDb2x1bW5Nb2RlbCB9IGZyb20gJy4uL2Fic3RyYWN0aW9ucy9iYXNlLWNvbHVtbi5tb2RlbCc7XG5pbXBvcnQgeyBGaWx0ZXJPcGVyYW5kQ29uZmlnIH0gZnJvbSAnLi4vbW9kZWxzL2ZpbHRlci1vcGVyYW5kLmNvbmZpZyc7XG5pbXBvcnQgeyBGaWx0ZXJGaWVsZENvbmZpZyB9IGZyb20gJy4uL21vZGVscy9maWx0ZXItZmllbGQuY29uZmlnJztcblxuZXhwb3J0IGNsYXNzIEZpbHRlclRvb2xzIHtcbiAgICBzdGF0aWMgY29udmVydFRvRmlsdGVySXRlbShmaWx0ZXJzOiBCYXNlRmlsdGVyW10sIG9wZXJhbmRzOiBOb25OdWxsYWJsZURpY3Rpb25hcnlUeXBlPEZpbHRlck9wZXJhbmRDb25maWdbXT4pOiBGaWx0ZXJJdGVtTW9kZWxbXSB7XG4gICAgICAgIHJldHVybiBmaWx0ZXJzLm1hcChmID0+ICh7XG4gICAgICAgICAgICBuYW1lOiBmLmNvbHVtbixcbiAgICAgICAgICAgIHZhbHVlOiBmLnZhbHVlLFxuICAgICAgICAgICAgb3BlcmFuZENvbmZpZzogZi50eXBlICYmIG9wZXJhbmRzW2YudHlwZV0gPyBvcGVyYW5kc1tmLnR5cGVdLmZpbmQob3AgPT4gb3Aub3BlcmFuZCA9PT0gZi5vcGVyYW5kKSA6IHVuZGVmaW5lZCxcbiAgICAgICAgICAgIGlzSGlkZGVuOiBmLmlzSGlkZGVuLFxuICAgICAgICAgICAgdHlwZTogZi50eXBlXG4gICAgICAgIH0pKTtcbiAgICB9XG5cbiAgICBzdGF0aWMgY29udmVydFRvUmVxdWVzdEZpbHRlcihmaWx0ZXJzOiBGaWx0ZXJJdGVtTW9kZWxbXSwgZmlsdGVyc0NvbmZpZ3M6IEZpbHRlckZpZWxkQ29uZmlnW10gPSBbXSwgY29sdW1uczogQmFzZUNvbHVtbk1vZGVsW10gPSBbXSk6IEJhc2VGaWx0ZXJbXSB7XG4gICAgICAgIHJldHVybiBmaWx0ZXJzLm1hcChhZiA9PiB7XG4gICAgICAgICAgICBjb25zdCBmaWx0ZXJUeXBlOiBGaWx0ZXJUeXBlRW51bSA9XG4gICAgICAgICAgICAgICAgZmlsdGVyc0NvbmZpZ3MubGVuZ3RoID4gMFxuICAgICAgICAgICAgICAgICAgICA/IGZpbHRlcnNDb25maWdzLmZpbmQoYyA9PiBjLm5hbWUgPT09IGFmLm5hbWUpIS50eXBlXG4gICAgICAgICAgICAgICAgICAgIDogY29sdW1ucy5maW5kKGMgPT4gYy5uYW1lID09PSBhZi5uYW1lKSEuZmlsdGVyVHlwZSE7XG5cbiAgICAgICAgICAgIHN3aXRjaCAoZmlsdGVyVHlwZSkge1xuICAgICAgICAgICAgICAgIGNhc2UgRmlsdGVyVHlwZUVudW0uQm9vbGVhbjpcbiAgICAgICAgICAgICAgICAgICAgcmV0dXJuIG5ldyBCb29sZWFuQ29sdW1uRmlsdGVyKHtcbiAgICAgICAgICAgICAgICAgICAgICAgIGNvbHVtbjogYWYubmFtZSxcbiAgICAgICAgICAgICAgICAgICAgICAgIHZhbHVlOiBhZi52YWx1ZSxcbiAgICAgICAgICAgICAgICAgICAgICAgIG9wZXJhbmQ6ICEhYWYub3BlcmFuZENvbmZpZyA/IDxGaWx0ZXJCb29sZWFuT3BlcmFuZEVudW0+YWYub3BlcmFuZENvbmZpZy5vcGVyYW5kIDogdW5kZWZpbmVkLFxuICAgICAgICAgICAgICAgICAgICAgICAgaXNIaWRkZW46IGFmLmlzSGlkZGVuLFxuICAgICAgICAgICAgICAgICAgICAgICAgdHlwZTogZmlsdGVyVHlwZVxuICAgICAgICAgICAgICAgICAgICB9KTtcbiAgICAgICAgICAgICAgICBjYXNlIEZpbHRlclR5cGVFbnVtLkRhdGU6XG4gICAgICAgICAgICAgICAgICAgIHJldHVybiBuZXcgRGF0ZUNvbHVtbkZpbHRlcih7XG4gICAgICAgICAgICAgICAgICAgICAgICBjb2x1bW46IGFmLm5hbWUsXG4gICAgICAgICAgICAgICAgICAgICAgICB2YWx1ZTogYWYudmFsdWUsXG4gICAgICAgICAgICAgICAgICAgICAgICBvcGVyYW5kOiAhIWFmLm9wZXJhbmRDb25maWcgPyA8RmlsdGVyRGF0ZU9wZXJhbmRFbnVtPmFmLm9wZXJhbmRDb25maWcub3BlcmFuZCA6IHVuZGVmaW5lZCxcbiAgICAgICAgICAgICAgICAgICAgICAgIGlzSGlkZGVuOiBhZi5pc0hpZGRlbixcbiAgICAgICAgICAgICAgICAgICAgICAgIHR5cGU6IGZpbHRlclR5cGVcbiAgICAgICAgICAgICAgICAgICAgfSk7XG4gICAgICAgICAgICAgICAgY2FzZSBGaWx0ZXJUeXBlRW51bS5OdW1iZXI6XG4gICAgICAgICAgICAgICAgICAgIHJldHVybiBuZXcgTnVtYmVyQ29sdW1uRmlsdGVyKHtcbiAgICAgICAgICAgICAgICAgICAgICAgIGNvbHVtbjogYWYubmFtZSxcbiAgICAgICAgICAgICAgICAgICAgICAgIHZhbHVlOiBhZi52YWx1ZSxcbiAgICAgICAgICAgICAgICAgICAgICAgIG9wZXJhbmQ6ICEhYWYub3BlcmFuZENvbmZpZyA/IDxGaWx0ZXJOdW1iZXJPcGVyYW5kRW51bT5hZi5vcGVyYW5kQ29uZmlnLm9wZXJhbmQgOiB1bmRlZmluZWQsXG4gICAgICAgICAgICAgICAgICAgICAgICBpc0hpZGRlbjogYWYuaXNIaWRkZW4sXG4gICAgICAgICAgICAgICAgICAgICAgICB0eXBlOiBmaWx0ZXJUeXBlXG4gICAgICAgICAgICAgICAgICAgIH0pO1xuICAgICAgICAgICAgICAgIGNhc2UgRmlsdGVyVHlwZUVudW0uU2VsZWN0OlxuICAgICAgICAgICAgICAgICAgICByZXR1cm4gbmV3IFNlbGVjdENvbHVtbkZpbHRlcih7XG4gICAgICAgICAgICAgICAgICAgICAgICBjb2x1bW46IGFmLm5hbWUsXG4gICAgICAgICAgICAgICAgICAgICAgICB2YWx1ZTogYWYudmFsdWUsXG4gICAgICAgICAgICAgICAgICAgICAgICBvcGVyYW5kOiAhIWFmLm9wZXJhbmRDb25maWcgPyA8RmlsdGVyT3BlcmFuZEVudW0+YWYub3BlcmFuZENvbmZpZy5vcGVyYW5kIDogdW5kZWZpbmVkLFxuICAgICAgICAgICAgICAgICAgICAgICAgaXNIaWRkZW46IGFmLmlzSGlkZGVuLFxuICAgICAgICAgICAgICAgICAgICAgICAgdHlwZTogZmlsdGVyVHlwZVxuICAgICAgICAgICAgICAgICAgICB9KTtcbiAgICAgICAgICAgICAgICBjYXNlIEZpbHRlclR5cGVFbnVtLkd1aWQ6XG4gICAgICAgICAgICAgICAgICAgIHJldHVybiBuZXcgR3VpZENvbHVtbkZpbHRlcih7XG4gICAgICAgICAgICAgICAgICAgICAgICBjb2x1bW46IGFmLm5hbWUsXG4gICAgICAgICAgICAgICAgICAgICAgICB2YWx1ZTogYWYudmFsdWUsXG4gICAgICAgICAgICAgICAgICAgICAgICBvcGVyYW5kOiAhIWFmLm9wZXJhbmRDb25maWcgPyA8RmlsdGVyT3BlcmFuZEVudW0+YWYub3BlcmFuZENvbmZpZy5vcGVyYW5kIDogdW5kZWZpbmVkLFxuICAgICAgICAgICAgICAgICAgICAgICAgaXNIaWRkZW46IGFmLmlzSGlkZGVuLFxuICAgICAgICAgICAgICAgICAgICAgICAgdHlwZTogZmlsdGVyVHlwZVxuICAgICAgICAgICAgICAgICAgICB9KTtcbiAgICAgICAgICAgICAgICBkZWZhdWx0OlxuICAgICAgICAgICAgICAgICAgICByZXR1cm4gbmV3IFN0cmluZ0NvbHVtbkZpbHRlcih7XG4gICAgICAgICAgICAgICAgICAgICAgICBjb2x1bW46IGFmLm5hbWUsXG4gICAgICAgICAgICAgICAgICAgICAgICB2YWx1ZTogYWYudmFsdWUsXG4gICAgICAgICAgICAgICAgICAgICAgICBvcGVyYW5kOiAhIWFmLm9wZXJhbmRDb25maWcgPyA8RmlsdGVyT3BlcmFuZEVudW0+YWYub3BlcmFuZENvbmZpZy5vcGVyYW5kIDogdW5kZWZpbmVkLFxuICAgICAgICAgICAgICAgICAgICAgICAgaXNIaWRkZW46IGFmLmlzSGlkZGVuLFxuICAgICAgICAgICAgICAgICAgICAgICAgdHlwZTogZmlsdGVyVHlwZVxuICAgICAgICAgICAgICAgICAgICB9KTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfSk7XG4gICAgfVxufVxuIl19
|