@sd-angular/core 0.0.1037 → 0.0.1041
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/assets/scss/core/color.scss +4 -0
- package/badge/sd-angular-core-badge.metadata.json +1 -1
- package/bundles/sd-angular-core-badge.umd.js +2 -2
- package/bundles/sd-angular-core-badge.umd.js.map +1 -1
- package/bundles/sd-angular-core-badge.umd.min.js +1 -1
- package/bundles/sd-angular-core-badge.umd.min.js.map +1 -1
- package/bundles/sd-angular-core-chip.umd.js +40 -9
- package/bundles/sd-angular-core-chip.umd.js.map +1 -1
- package/bundles/sd-angular-core-chip.umd.min.js +2 -2
- package/bundles/sd-angular-core-chip.umd.min.js.map +1 -1
- package/bundles/sd-angular-core-filter.umd.js +703 -0
- package/bundles/sd-angular-core-filter.umd.js.map +1 -0
- package/bundles/sd-angular-core-filter.umd.min.js +2 -0
- package/bundles/sd-angular-core-filter.umd.min.js.map +1 -0
- package/bundles/sd-angular-core-grid-material.umd.js +96 -48
- package/bundles/sd-angular-core-grid-material.umd.js.map +1 -1
- package/bundles/sd-angular-core-grid-material.umd.min.js +1 -1
- package/bundles/sd-angular-core-grid-material.umd.min.js.map +1 -1
- package/bundles/sd-angular-core-setting.umd.js +176 -117
- package/bundles/sd-angular-core-setting.umd.js.map +1 -1
- package/bundles/sd-angular-core-setting.umd.min.js +1 -1
- package/bundles/sd-angular-core-setting.umd.min.js.map +1 -1
- package/bundles/sd-angular-core.umd.js +4 -4
- package/bundles/sd-angular-core.umd.min.js +1 -1
- package/bundles/sd-angular-core.umd.min.js.map +1 -1
- package/chip/sd-angular-core-chip.metadata.json +1 -1
- package/chip/src/lib/chip.component.d.ts +8 -1
- package/esm2015/badge/src/lib/badge.component.js +3 -3
- package/esm2015/chip/src/lib/chip.component.js +33 -3
- package/esm2015/chip/src/lib/chip.module.js +6 -3
- package/esm2015/filter/index.js +2 -0
- package/esm2015/filter/sd-angular-core-filter.js +8 -0
- package/esm2015/filter/src/lib/directives/sd-filter-def.directive.js +22 -0
- package/esm2015/filter/src/lib/filter.component.js +161 -0
- package/esm2015/filter/src/lib/filter.model.js +2 -0
- package/esm2015/filter/src/lib/filter.module.js +47 -0
- package/esm2015/filter/src/lib/filter.service.js +60 -0
- package/esm2015/filter/src/lib/pipes/values-local.pipe.js +19 -0
- package/esm2015/filter/src/lib/pipes/values-server.pipe.js +18 -0
- package/esm2015/filter/src/public-api.js +8 -0
- package/esm2015/grid-material/src/lib/components/column-inline-filter/column-inline-filter.component.js +10 -7
- package/esm2015/grid-material/src/lib/components/quick-action/quick-action.component.js +1 -1
- package/esm2015/grid-material/src/lib/grid-material.component.js +1 -6
- package/esm2015/grid-material/src/lib/models/grid-column.model.js +1 -1
- package/esm2015/grid-material/src/lib/services/generated-column/generated-column.service.js +28 -12
- package/esm2015/grid-material/src/lib/services/grid-configuration.service.js +50 -21
- package/esm2015/public-api.js +2 -1
- package/esm2015/setting/src/lib/setting.model.js +1 -1
- package/esm2015/setting/src/lib/setting.service.js +119 -58
- package/fesm2015/sd-angular-core-badge.js +2 -2
- package/fesm2015/sd-angular-core-badge.js.map +1 -1
- package/fesm2015/sd-angular-core-chip.js +36 -4
- package/fesm2015/sd-angular-core-chip.js.map +1 -1
- package/fesm2015/sd-angular-core-filter.js +323 -0
- package/fesm2015/sd-angular-core-filter.js.map +1 -0
- package/fesm2015/sd-angular-core-grid-material.js +86 -43
- package/fesm2015/sd-angular-core-grid-material.js.map +1 -1
- package/fesm2015/sd-angular-core-setting.js +119 -58
- package/fesm2015/sd-angular-core-setting.js.map +1 -1
- package/fesm2015/sd-angular-core.js +1 -0
- package/fesm2015/sd-angular-core.js.map +1 -1
- package/filter/index.d.ts +1 -0
- package/filter/package.json +12 -0
- package/filter/sd-angular-core-filter.d.ts +7 -0
- package/filter/sd-angular-core-filter.metadata.json +1 -0
- package/filter/src/lib/directives/sd-filter-def.directive.d.ts +8 -0
- package/filter/src/lib/filter.component.d.ts +31 -0
- package/filter/src/lib/filter.model.d.ts +105 -0
- package/filter/src/lib/filter.module.d.ts +2 -0
- package/filter/src/lib/filter.service.d.ts +9 -0
- package/filter/src/lib/pipes/values-local.pipe.d.ts +5 -0
- package/filter/src/lib/pipes/values-server.pipe.d.ts +5 -0
- package/filter/src/public-api.d.ts +4 -0
- package/grid-material/sd-angular-core-grid-material.metadata.json +1 -1
- package/grid-material/src/lib/models/grid-column.model.d.ts +1 -0
- package/grid-material/src/lib/services/generated-column/generated-column.service.d.ts +3 -2
- package/package.json +1 -1
- package/public-api.d.ts +1 -0
- package/{sd-angular-core-0.0.1037.tgz → sd-angular-core-0.0.1041.tgz} +0 -0
- package/setting/sd-angular-core-setting.metadata.json +1 -1
- package/setting/src/lib/setting.model.d.ts +20 -6
- package/setting/src/lib/setting.service.d.ts +2 -1
|
@@ -0,0 +1,161 @@
|
|
|
1
|
+
var _prefix, _filterOptionChanges, _subscription, _format, _firstLoad;
|
|
2
|
+
import { __classPrivateFieldGet } from "tslib";
|
|
3
|
+
import { Component, Input, ContentChildren, QueryList } from '@angular/core';
|
|
4
|
+
import { BehaviorSubject, Subscription } from 'rxjs';
|
|
5
|
+
import { startWith } from 'rxjs/operators';
|
|
6
|
+
import * as uuid from 'uuid';
|
|
7
|
+
import { DeviceDetectorService } from 'ngx-device-detector';
|
|
8
|
+
import { SdFilterDefDirective } from './directives/sd-filter-def.directive';
|
|
9
|
+
import { SdFilterService } from './filter.service';
|
|
10
|
+
import { SdSettingService } from '@sd-angular/core/setting';
|
|
11
|
+
export class SdFilter {
|
|
12
|
+
constructor(deviceService, settingService, filterService) {
|
|
13
|
+
this.deviceService = deviceService;
|
|
14
|
+
this.settingService = settingService;
|
|
15
|
+
this.filterService = filterService;
|
|
16
|
+
_prefix.set(this, '61d22e8e-eee8-4aad-8e1c-044a532fea91');
|
|
17
|
+
_filterOptionChanges.set(this, new BehaviorSubject(null));
|
|
18
|
+
_subscription.set(this, new Subscription());
|
|
19
|
+
this.sdFilterDefs = new QueryList();
|
|
20
|
+
this.isMobileOrTablet = false;
|
|
21
|
+
this.filterChanges = new BehaviorSubject({});
|
|
22
|
+
this.onFilter = (filter) => {
|
|
23
|
+
this.filterChanges.next({
|
|
24
|
+
filter: Object.assign({}, this.information.filter),
|
|
25
|
+
filterDef: Object.assign({}, this.information.filterDef),
|
|
26
|
+
});
|
|
27
|
+
this.setting.set(this.information);
|
|
28
|
+
};
|
|
29
|
+
this.onClear = () => {
|
|
30
|
+
this.information.filter = {};
|
|
31
|
+
this.information.filterDef = {};
|
|
32
|
+
this.onFilter();
|
|
33
|
+
};
|
|
34
|
+
_format.set(this, (filters, information) => {
|
|
35
|
+
var _a, _b, _c, _d, _e;
|
|
36
|
+
for (const filter of filters) {
|
|
37
|
+
if (filter.type === 'daterange') {
|
|
38
|
+
information.filter[filter.field] = {
|
|
39
|
+
from: (_b = (_a = information.filter[filter.field]) === null || _a === void 0 ? void 0 : _a.from) !== null && _b !== void 0 ? _b : undefined,
|
|
40
|
+
to: (_d = (_c = information.filter[filter.field]) === null || _c === void 0 ? void 0 : _c.to) !== null && _d !== void 0 ? _d : undefined
|
|
41
|
+
};
|
|
42
|
+
}
|
|
43
|
+
else {
|
|
44
|
+
information.filter[filter.field] = (_e = information.filter[filter.field]) !== null && _e !== void 0 ? _e : undefined;
|
|
45
|
+
}
|
|
46
|
+
}
|
|
47
|
+
});
|
|
48
|
+
_firstLoad.set(this, (filters, information) => {
|
|
49
|
+
var _a, _b, _c, _d, _e, _f, _g, _h, _j, _k;
|
|
50
|
+
if (information.selectedQuickFilter && information.quickFilters.some(e => e.code === information.selectedQuickFilter)) {
|
|
51
|
+
const selected = information.quickFilters.find(e => e.code === information.selectedQuickFilter);
|
|
52
|
+
information.filter = Object.assign({}, selected.filter);
|
|
53
|
+
information.filterDef = Object.assign({}, selected.filterDef);
|
|
54
|
+
__classPrivateFieldGet(this, _format).call(this, filters, information);
|
|
55
|
+
}
|
|
56
|
+
else {
|
|
57
|
+
for (const filter of filters) {
|
|
58
|
+
if (filter.type === 'daterange') {
|
|
59
|
+
information.filter[filter.field] = {
|
|
60
|
+
from: (_d = (_b = (_a = information.filter[filter.field]) === null || _a === void 0 ? void 0 : _a.from) !== null && _b !== void 0 ? _b : (_c = filter.default) === null || _c === void 0 ? void 0 : _c.from) !== null && _d !== void 0 ? _d : undefined,
|
|
61
|
+
to: (_h = (_f = (_e = information.filter[filter.field]) === null || _e === void 0 ? void 0 : _e.to) !== null && _f !== void 0 ? _f : (_g = filter.default) === null || _g === void 0 ? void 0 : _g.to) !== null && _h !== void 0 ? _h : undefined
|
|
62
|
+
};
|
|
63
|
+
}
|
|
64
|
+
else {
|
|
65
|
+
information.filter[filter.field] = (_k = (_j = information.filter[filter.field]) !== null && _j !== void 0 ? _j : filter.default) !== null && _k !== void 0 ? _k : undefined;
|
|
66
|
+
}
|
|
67
|
+
}
|
|
68
|
+
}
|
|
69
|
+
});
|
|
70
|
+
this.setFilter = (args) => {
|
|
71
|
+
const { filter, filterDef } = args;
|
|
72
|
+
this.information = Object.assign(Object.assign({}, this.information), { filter: Object.assign({}, filter), filterDef: Object.assign({}, filterDef) });
|
|
73
|
+
};
|
|
74
|
+
this.isMobileOrTablet = !this.deviceService.isDesktop();
|
|
75
|
+
}
|
|
76
|
+
set _filterOption(option) {
|
|
77
|
+
console.log(option);
|
|
78
|
+
if (option) {
|
|
79
|
+
this.filterOption = option;
|
|
80
|
+
__classPrivateFieldGet(this, _filterOptionChanges).next(option);
|
|
81
|
+
}
|
|
82
|
+
}
|
|
83
|
+
ngOnInit() {
|
|
84
|
+
// if (!this.#key) {
|
|
85
|
+
// this.setting = this.settingService.create<SdFilterInformation>(uuid.v4(), {
|
|
86
|
+
// type: 'session',
|
|
87
|
+
// default: {
|
|
88
|
+
// filter: {},
|
|
89
|
+
// visible: {},
|
|
90
|
+
// quickFilters: [],
|
|
91
|
+
// selectedQuickFilter: null
|
|
92
|
+
// }
|
|
93
|
+
// });
|
|
94
|
+
// } else {
|
|
95
|
+
// this.setting = this.settingService.create<SdFilterInformation>(this.#key, {
|
|
96
|
+
// default: {
|
|
97
|
+
// filter: {},
|
|
98
|
+
// visible: {},
|
|
99
|
+
// quickFilters: [],
|
|
100
|
+
// selectedQuickFilter: null
|
|
101
|
+
// }
|
|
102
|
+
// });
|
|
103
|
+
// }
|
|
104
|
+
}
|
|
105
|
+
ngAfterViewInit() {
|
|
106
|
+
__classPrivateFieldGet(this, _subscription).add(__classPrivateFieldGet(this, _filterOptionChanges).pipe(startWith(this.filterOption)).subscribe((filterOption) => {
|
|
107
|
+
var _a, _b;
|
|
108
|
+
console.log(filterOption);
|
|
109
|
+
if (!filterOption) {
|
|
110
|
+
return;
|
|
111
|
+
}
|
|
112
|
+
const defaultInformation = {
|
|
113
|
+
filter: {},
|
|
114
|
+
visible: {},
|
|
115
|
+
quickFilters: ((_a = filterOption === null || filterOption === void 0 ? void 0 : filterOption.quickFilter) === null || _a === void 0 ? void 0 : _a.defaults) || [],
|
|
116
|
+
selectedQuickFilter: (_b = filterOption === null || filterOption === void 0 ? void 0 : filterOption.quickFilter) === null || _b === void 0 ? void 0 : _b.selectedDefault
|
|
117
|
+
};
|
|
118
|
+
if (!filterOption.key) {
|
|
119
|
+
this.setting = this.settingService.create(uuid.v4(), {
|
|
120
|
+
type: 'session',
|
|
121
|
+
default: defaultInformation
|
|
122
|
+
});
|
|
123
|
+
}
|
|
124
|
+
else {
|
|
125
|
+
this.setting = this.settingService.create({
|
|
126
|
+
prefix: __classPrivateFieldGet(this, _prefix),
|
|
127
|
+
key: filterOption.key
|
|
128
|
+
}, {
|
|
129
|
+
default: defaultInformation
|
|
130
|
+
});
|
|
131
|
+
}
|
|
132
|
+
this.information = this.setting.get();
|
|
133
|
+
console.log(this.information);
|
|
134
|
+
__classPrivateFieldGet(this, _subscription).add(this.setting.observer.subscribe(filterInformation => {
|
|
135
|
+
this.information = filterInformation;
|
|
136
|
+
__classPrivateFieldGet(this, _format).call(this, filterOption === null || filterOption === void 0 ? void 0 : filterOption.filters, this.information);
|
|
137
|
+
}));
|
|
138
|
+
}));
|
|
139
|
+
}
|
|
140
|
+
ngOnDestroy() {
|
|
141
|
+
__classPrivateFieldGet(this, _subscription).unsubscribe();
|
|
142
|
+
}
|
|
143
|
+
}
|
|
144
|
+
_prefix = new WeakMap(), _filterOptionChanges = new WeakMap(), _subscription = new WeakMap(), _format = new WeakMap(), _firstLoad = new WeakMap();
|
|
145
|
+
SdFilter.decorators = [
|
|
146
|
+
{ type: Component, args: [{
|
|
147
|
+
selector: 'sd-filter',
|
|
148
|
+
template: "<div *ngIf=\"information\" class=\"c-container\">\r\n <div class=\"c-header\">\r\n <div class=\"d-flex align-items-center\">\r\n <button class=\"mx-2\" aria-hidden=\"true\" mat-icon-button>\r\n <mat-icon class=\"c-icon\">filter_alt</mat-icon>\r\n </button>\r\n <span>Hi\u1EC3n th\u1ECB</span>\r\n </div>\r\n <div class=\"d-flex align-items-center\">\r\n <button class=\"mx-2\" aria-hidden=\"true\" mat-icon-button>\r\n <mat-icon class=\"c-icon\">add</mat-icon>\r\n </button>\r\n <button class=\"mx-2\" aria-hidden=\"true\" mat-icon-button>\r\n <mat-icon class=\"c-icon\">settings</mat-icon>\r\n </button>\r\n <button class=\"mx-2\" aria-hidden=\"true\" mat-icon-button>\r\n <mat-icon class=\"c-icon\">download</mat-icon>\r\n </button>\r\n <button class=\"mx-2\" aria-hidden=\"true\" mat-icon-button>\r\n <mat-icon class=\"c-icon\">close</mat-icon>\r\n </button>\r\n </div>\r\n </div>\r\n <div class=\"c-body row mx-0\">\r\n <ng-container *ngFor=\"let item of filterOption?.filters\">\r\n <div *ngIf=\"information.visible[item.field] !== false\" class=\"col-lg-2 col-md-3 col-sm-6 px-8\">\r\n <sd-input *ngIf=\"item.type === 'string'\" [label]=\"item.title\" type=\"text\"\r\n [(model)]=\"information.filter[item.field]\" (keyupEnter)=\"onFilter(item)\">\r\n </sd-input>\r\n <sd-input *ngIf=\"item.type === 'number'\" [label]=\"item.title\" type=\"number\"\r\n [(model)]=\"information.filter[item.field]\" (keyupEnter)=\"onFilter(item)\">\r\n </sd-input>\r\n <sd-select *ngIf=\"item.type === 'bool'\" [label]=\"item.title\" [items]=\"[{value:true,display:item.option?.displayOnTrue || 'True' },\r\n {value:false,display:item.option?.displayOnFalse || 'False' }]\" valueField=\"value\" displayField=\"display\"\r\n [(model)]=\"information.filter[item.field]\" (sdChange)=\"onFilter(item)\">\r\n </sd-select>\r\n <ng-container *ngIf=\"item.type === 'values-local'\">\r\n <sd-select *ngIf=\"item.option?.selection === 'MULTIPLE'\" [label]=\"item.title\"\r\n [items]=\"item | sdValuesLocal | async\" [valueField]=\"item.option.valueField\"\r\n [displayField]=\"item.option.displayField\" [(model)]=\"information.filter[item.field]\"\r\n (sdChange)=\"onFilter(item)\" [selectAll]=\"item.option.selectAll\" multiple=\"true\">\r\n </sd-select>\r\n <sd-autocomplete *ngIf=\"item.option?.selection === 'AUTOCOMPLETE'\" [label]=\"item.title\"\r\n [items]=\"item | sdValuesLocal | async\" [valueField]=\"item.option.valueField\"\r\n [displayField]=\"item.option.displayField\" [(model)]=\"information.filter[item.field]\"\r\n (sdChange)=\"onFilter(item)\">\r\n </sd-autocomplete>\r\n <sd-select *ngIf=\"item.option?.selection === 'MULTIPLEAUTOCOMPLETE'\" [label]=\"item.title\"\r\n [items]=\"item | sdValuesLocal | async\" [valueField]=\"item.option.valueField\"\r\n [displayField]=\"item.option.displayField\" [(model)]=\"information.filter[item.field]\"\r\n (sdChange)=\"onFilter(item)\" filtered multiple>\r\n </sd-select>\r\n <sd-select *ngIf=\"!item.option?.selection\" [label]=\"item.title\" [items]=\"item | sdValuesLocal | async\"\r\n [valueField]=\"item.option.valueField\" [displayField]=\"item.option.displayField\"\r\n [(model)]=\"information.filter[item.field]\" (sdChange)=\"onFilter(item)\">\r\n </sd-select>\r\n </ng-container>\r\n <ng-container *ngIf=\"item.type === 'values-server'\">\r\n <sd-select *ngIf=\"item.option?.selection === 'MULTIPLE'\" [label]=\"item.title\"\r\n [items]=\"item | sdValuesLocal | async\" [valueField]=\"item.option.valueField\"\r\n [displayField]=\"item.option.displayField\" [(model)]=\"information.filter[item.field]\"\r\n (sdChange)=\"onFilter(item)\" filtered multiple>\r\n </sd-select>\r\n <sd-autocomplete *ngIf=\"!item.option?.selection\" [label]=\"item.title\" [items]=\"item | sdValuesLocal | async\"\r\n [valueField]=\"item.option.valueField\" [displayField]=\"item.option.displayField\"\r\n [(model)]=\"information.filter[item.field]\" (sdChange)=\"onFilter(item)\">\r\n </sd-autocomplete>\r\n </ng-container>\r\n <sd-date-time *ngIf=\"item.type ==='date' || item.type ==='datetime'\" [label]=\"item.title\"\r\n [(model)]=\"information.filter[item.field]\" [type]=\"item.type\" [min]=\"item?.option?.min\"\r\n [max]=\"item?.option?.max\" (sdChange)=\"onFilter(item)\">\r\n </sd-date-time>\r\n <sd-date-range *ngIf=\"item.type ==='daterange'\" [label]=\"item.title\"\r\n [(from)]=\"information.filter[item.field].from\" [(to)]=\"information.filter[item.field].to\"\r\n [min]=\"item?.option?.min\" [max]=\"item?.option?.max\" (sdChange)=\"onFilter(item)\">\r\n </sd-date-range>\r\n </div>\r\n </ng-container>\r\n </div>\r\n</div>\r\n<!-- <sd-popup-filter [columns]=\"columns\" [externalFilters]=\"externalFilters\" (changeFilter)=\"onChangeFilter($event)\"\r\n (clearFilter)=\"onReset()\" [filterDefs]=\"filterDefs\">\r\n </sd-popup-filter> -->",
|
|
149
|
+
styles: [".c-container .c-header{align-items:center;display:flex;height:48px;justify-content:space-between;padding:0 20px}.c-container mat-icon.c-icon{color:rgba(0,0,0,.54)!important}.c-container button:focus{outline:none}:host ::ng-deep .mat-form-field-wrapper{padding-bottom:0}"]
|
|
150
|
+
},] }
|
|
151
|
+
];
|
|
152
|
+
SdFilter.ctorParameters = () => [
|
|
153
|
+
{ type: DeviceDetectorService },
|
|
154
|
+
{ type: SdSettingService },
|
|
155
|
+
{ type: SdFilterService }
|
|
156
|
+
];
|
|
157
|
+
SdFilter.propDecorators = {
|
|
158
|
+
_filterOption: [{ type: Input, args: ['option',] }],
|
|
159
|
+
sdFilterDefs: [{ type: ContentChildren, args: [SdFilterDefDirective,] }]
|
|
160
|
+
};
|
|
161
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZmlsdGVyLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiJDOi9Vc2Vycy9uZ2hpYXR0MTUvRGVza3RvcC9Xb3JraW5nLzFNRy9saWItY29yZS11aS9wcm9qZWN0cy9zZC1jb3JlL2ZpbHRlci8iLCJzb3VyY2VzIjpbInNyYy9saWIvZmlsdGVyLmNvbXBvbmVudC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOztBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQUUsS0FBSyxFQUE2RCxlQUFlLEVBQUUsU0FBUyxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQ3hJLE9BQU8sRUFBRSxlQUFlLEVBQXVCLFlBQVksRUFBRSxNQUFNLE1BQU0sQ0FBQztBQUMxRSxPQUFPLEVBQU8sU0FBUyxFQUFhLE1BQU0sZ0JBQWdCLENBQUM7QUFDM0QsT0FBTyxLQUFLLElBQUksTUFBTSxNQUFNLENBQUM7QUFFN0IsT0FBTyxFQUFFLHFCQUFxQixFQUFFLE1BQU0scUJBQXFCLENBQUM7QUFDNUQsT0FBTyxFQUFFLG9CQUFvQixFQUFFLE1BQU0sc0NBQXNDLENBQUM7QUFFNUUsT0FBTyxFQUFFLGVBQWUsRUFBRSxNQUFNLGtCQUFrQixDQUFDO0FBQ25ELE9BQU8sRUFBYSxnQkFBZ0IsRUFBRSxNQUFNLDBCQUEwQixDQUFDO0FBUXZFLE1BQU0sT0FBTyxRQUFRO0lBa0JuQixZQUNVLGFBQW9DLEVBQ3BDLGNBQWdDLEVBQ2hDLGFBQThCO1FBRjlCLGtCQUFhLEdBQWIsYUFBYSxDQUF1QjtRQUNwQyxtQkFBYyxHQUFkLGNBQWMsQ0FBa0I7UUFDaEMsa0JBQWEsR0FBYixhQUFhLENBQWlCO1FBcEJ4QyxrQkFBVSxzQ0FBc0MsRUFBQztRQVVqRCwrQkFBdUIsSUFBSSxlQUFlLENBQWlCLElBQUksQ0FBQyxFQUFDO1FBQ2pFLHdCQUFnQixJQUFJLFlBQVksRUFBRSxFQUFDO1FBQ0ksaUJBQVksR0FBRyxJQUFJLFNBQVMsRUFBd0IsQ0FBQztRQUM1RixxQkFBZ0IsR0FBRyxLQUFLLENBQUM7UUFDekIs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QUFDLFFBQVEsQ0FBQyxTQUFTLENBQUMsaUJBQWlCLENBQUMsRUFBRTtnQkFDekUsSUFBSSxDQUFDLFdBQVcsR0FBRyxpQkFBaUIsQ0FBQztnQkFDckMsMkNBQUEsSUFBSSxFQUFTLFlBQVksYUFBWixZQUFZLHVCQUFaLFlBQVksQ0FBRSxPQUFPLEVBQUUsSUFBSSxDQUFDLFdBQVcsQ0FBQyxDQUFDO1lBQ3hELENBQUMsQ0FBQyxDQUFDLENBQUM7UUFDTixDQUFDLENBQUMsQ0FBQyxDQUFDO0lBQ04sQ0FBQztJQWlERCxXQUFXO1FBQ1QsNENBQW1CLFdBQVcsRUFBRSxDQUFDO0lBQ25DLENBQUM7Ozs7WUF4SUYsU0FBUyxTQUFDO2dCQUNULFFBQVEsRUFBRSxXQUFXO2dCQUNyQixtd0tBQXNDOzthQUV2Qzs7O1lBWFEscUJBQXFCO1lBSVYsZ0JBQWdCO1lBRDNCLGVBQWU7Ozs0QkFhckIsS0FBSyxTQUFDLFFBQVE7MkJBU2QsZUFBZSxTQUFDLG9CQUFvQiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbXBvbmVudCwgSW5wdXQsIE91dHB1dCwgRXZlbnRFbWl0dGVyLCBWaWV3Q2hpbGQsIEFmdGVyVmlld0luaXQsIE9uRGVzdHJveSwgQ29udGVudENoaWxkcmVuLCBRdWVyeUxpc3QgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuaW1wb3J0IHsgQmVoYXZpb3JTdWJqZWN0LCBPYnNlcnZhYmxlLCBTdWJqZWN0LCBTdWJzY3JpcHRpb24gfSBmcm9tICdyeGpzJztcclxuaW1wb3J0IHsgbWFwLCBzdGFydFdpdGgsIHN3aXRjaE1hcCB9IGZyb20gJ3J4anMvb3BlcmF0b3JzJztcclxuaW1wb3J0ICogYXMgdXVpZCBmcm9tICd1dWlkJztcclxuaW1wb3J0ICogYXMgaGFzaCBmcm9tICdvYmplY3QtaGFzaCc7XHJcbmltcG9ydCB7IERldmljZURldGVjdG9yU2VydmljZSB9IGZyb20gJ25neC1kZXZpY2UtZGV0ZWN0b3InO1xyXG5pbXBvcnQgeyBTZEZpbHRlckRlZkRpcmVjdGl2ZSB9IGZyb20gJy4vZGlyZWN0aXZlcy9zZC1maWx0ZXItZGVmLmRpcmVjdGl2ZSc7XHJcbmltcG9ydCB7IEZpbHRlciwgU2RGaWx0ZXJJbmZvcm1hdGlvbiwgRmlsdGVyT2JqZWN0LCBTZEZpbHRlck9wdGlvbiwgU2RRdWlja0ZpbHRlciB9IGZyb20gJy4vZmlsdGVyLm1vZGVsJztcclxuaW1wb3J0IHsgU2RGaWx0ZXJTZXJ2aWNlIH0gZnJvbSAnLi9maWx0ZXIuc2VydmljZSc7XHJcbmltcG9ydCB7IFNkU2V0dGluZywgU2RTZXR0aW5nU2VydmljZSB9IGZyb20gJ0BzZC1hbmd1bGFyL2NvcmUvc2V0dGluZyc7XHJcbmltcG9ydCB7IFNkQ2FjaGVTZXJ2aWNlIH0gZnJvbSAnQHNkLWFuZ3VsYXIvY29yZS9jYWNoZSc7XHJcblxyXG5AQ29tcG9uZW50KHtcclxuICBzZWxlY3RvcjogJ3NkLWZpbHRlcicsXHJcbiAgdGVtcGxhdGVVcmw6ICcuL2ZpbHRlci5jb21wb25lbnQuaHRtbCcsXHJcbiAgc3R5bGVVcmxzOiBbJy4vZmlsdGVyLmNvbXBvbmVudC5zY3NzJ11cclxufSlcclxuZXhwb3J0IGNsYXNzIFNkRmlsdGVyIGltcGxlbWVudHMgQWZ0ZXJWaWV3SW5pdCwgT25EZXN0cm95IHtcclxuICAjcHJlZml4ID0gJzYxZDIyZThlLWVlZTgtNGFhZC04ZTFjLTA0NGE1MzJmZWE5MSc7XHJcbiAgc2V0dGluZzogU2RTZXR0aW5nPFNkRmlsdGVySW5mb3JtYXRpb24+O1xyXG4gIGZpbHRlck9wdGlvbjogU2RGaWx0ZXJPcHRpb247XHJcbiAgQElucHV0KCdvcHRpb24nKSBzZXQgX2ZpbHRlck9wdGlvbihvcHRpb246IFNkRmlsdGVyT3B0aW9uKSB7XHJcbiAgICBjb25zb2xlLmxvZyhvcHRpb24pO1xyXG4gICAgaWYgKG9wdGlvbikge1xyXG4gICAgICB0aGlzLmZpbHRlck9wdGlvbiA9IG9wdGlvbjtcclxuICAgICAgdGhpcy4jZmlsdGVyT3B0aW9uQ2hhbmdlcy5uZXh0KG9wdGlvbik7XHJcbiAgICB9XHJcbiAgfVxyXG4gICNmaWx0ZXJPcHRpb25DaGFuZ2VzID0gbmV3IEJlaGF2aW9yU3ViamVjdDxTZEZpbHRlck9wdGlvbj4obnVsbCk7XHJcbiAgI3N1YnNjcmlwdGlvbiA9IG5ldyBTdWJzY3JpcHRpb24oKTtcclxuICBAQ29udGVudENoaWxkcmVuKFNkRmlsdGVyRGVmRGlyZWN0aXZlKSBzZEZpbHRlckRlZnMgPSBuZXcgUXVlcnlMaXN0PFNkRmlsdGVyRGVmRGlyZWN0aXZlPigpO1xyXG4gIGlzTW9iaWxlT3JUYWJsZXQgPSBmYWxzZTtcclxuICBmaWx0ZXJDaGFuZ2VzID0gbmV3IEJlaGF2aW9yU3ViamVjdDxGaWx0ZXJPYmplY3Q+KHt9KTtcclxuICBmaWx0ZXJJbmZvcm1hdGlvbjogT2JzZXJ2YWJsZTxTZEZpbHRlckluZm9ybWF0aW9uPjtcclxuICBpbmZvcm1hdGlvbjogU2RGaWx0ZXJJbmZvcm1hdGlvbjtcclxuICBjb25zdHJ1Y3RvcihcclxuICAgIHByaXZhdGUgZGV2aWNlU2VydmljZTogRGV2aWNlRGV0ZWN0b3JTZXJ2aWNlLFxyXG4gICAgcHJpdmF0ZSBzZXR0aW5nU2VydmljZTogU2RTZXR0aW5nU2VydmljZSxcclxuICAgIHByaXZhdGUgZmlsdGVyU2VydmljZTogU2RGaWx0ZXJTZXJ2aWNlKSB7XHJcbiAgICB0aGlzLmlzTW9iaWxlT3JUYWJsZXQgPSAhdGhpcy5kZXZpY2VTZXJ2aWNlLmlzRGVza3RvcCgpO1xyXG4gIH1cclxuXHJcbiAgbmdPbkluaXQoKSB7XHJcbiAgICAvLyBpZiAoIXRoaXMuI2tleSkge1xyXG4gICAgLy8gICB0aGlzLnNldHRpbmcgPSB0aGlzLnNldHRpbmdTZXJ2aWNlLmNyZWF0ZTxTZEZpbHRlckluZm9ybWF0aW9uPih1dWlkLnY0KCksIHtcclxuICAgIC8vICAgICB0eXBlOiAnc2Vzc2lvbicsXHJcbiAgICAvLyAgICAgZGVmYXVsdDoge1xyXG4gICAgLy8gICAgICAgZmlsdGVyOiB7fSxcclxuICAgIC8vICAgICAgIHZpc2libGU6IHt9LFxyXG4gICAgLy8gICAgICAgcXVpY2tGaWx0ZXJzOiBbXSxcclxuICAgIC8vICAgICAgIHNlbGVjdGVkUXVpY2tGaWx0ZXI6IG51bGxcclxuICAgIC8vICAgICB9XHJcbiAgICAvLyAgIH0pO1xyXG4gICAgLy8gfSBlbHNlIHtcclxuICAgIC8vICAgdGhpcy5zZXR0aW5nID0gdGhpcy5zZXR0aW5nU2VydmljZS5jcmVhdGU8U2RGaWx0ZXJJbmZvcm1hdGlvbj4odGhpcy4ja2V5LCB7XHJcbiAgICAvLyAgICAgZGVmYXVsdDoge1xyXG4gICAgLy8gICAgICAgZmlsdGVyOiB7fSxcclxuICAgIC8vICAgICAgIHZpc2libGU6IHt9LFxyXG4gICAgLy8gICAgICAgcXVpY2tGaWx0ZXJzOiBbXSxcclxuICAgIC8vICAgICAgIHNlbGVjdGVkUXVpY2tGaWx0ZXI6IG51bGxcclxuICAgIC8vICAgICB9XHJcbiAgICAvLyAgIH0pO1xyXG4gICAgLy8gfVxyXG4gIH1cclxuXHJcbiAgbmdBZnRlclZpZXdJbml0KCk6IHZvaWQge1xyXG4gICAgdGhpcy4jc3Vic2NyaXB0aW9uLmFkZCh0aGlzLiNmaWx0ZXJPcHRpb25DaGFuZ2VzLnBpcGUoc3RhcnRXaXRoKHRoaXMuZmlsdGVyT3B0aW9uKSkuc3Vic2NyaWJlKChmaWx0ZXJPcHRpb24pID0+IHtcclxuICAgICAgY29uc29sZS5sb2coZmlsdGVyT3B0aW9uKTtcclxuICAgICAgaWYgKCFmaWx0ZXJPcHRpb24pIHtcclxuICAgICAgICByZXR1cm47XHJcbiAgICAgIH1cclxuICAgICAgY29uc3QgZGVmYXVsdEluZm9ybWF0aW9uOiBTZEZpbHRlckluZm9ybWF0aW9uID0ge1xyXG4gICAgICAgIGZpbHRlcjoge30sXHJcbiAgICAgICAgdmlzaWJsZToge30sXHJcbiAgICAgICAgcXVpY2tGaWx0ZXJzOiBmaWx0ZXJPcHRpb24/LnF1aWNrRmlsdGVyPy5kZWZhdWx0cyB8fCBbXSxcclxuICAgICAgICBzZWxlY3RlZFF1aWNrRmlsdGVyOiBmaWx0ZXJPcHRpb24/LnF1aWNrRmlsdGVyPy5zZWxlY3RlZERlZmF1bHRcclxuICAgICAgfTtcclxuICAgICAgaWYgKCFmaWx0ZXJPcHRpb24ua2V5KSB7XHJcbiAgICAgICAgdGhpcy5zZXR0aW5nID0gdGhpcy5zZXR0aW5nU2VydmljZS5jcmVhdGU8U2RGaWx0ZXJJbmZvcm1hdGlvbj4odXVpZC52NCgpLCB7XHJcbiAgICAgICAgICB0eXBlOiAnc2Vzc2lvbicsXHJcbiAgICAgICAgICBkZWZhdWx0OiBkZWZhdWx0SW5mb3JtYXRpb25cclxuICAgICAgICB9KTtcclxuICAgICAgfSBlbHNlIHtcclxuICAgICAgICB0aGlzLnNldHRpbmcgPSB0aGlzLnNldHRpbmdTZXJ2aWNlLmNyZWF0ZTxTZEZpbHRlckluZm9ybWF0aW9uPih7XHJcbiAgICAgICAgICBwcmVmaXg6IHRoaXMuI3ByZWZpeCxcclxuICAgICAgICAgIGtleTogZmlsdGVyT3B0aW9uLmtleVxyXG4gICAgICAgIH0sIHtcclxuICAgICAgICAgIGRlZmF1bHQ6IGRlZmF1bHRJbmZvcm1hdGlvblxyXG4gICAgICAgIH0pO1xyXG4gICAgICB9XHJcbiAgICAgIHRoaXMuaW5mb3JtYXRpb24gPSB0aGlzLnNldHRpbmcuZ2V0KCk7XHJcbiAgICAgIGNvbnNvbGUubG9nKHRoaXMuaW5mb3JtYXRpb24pO1xyXG4gICAgICB0aGlzLiNzdWJzY3JpcHRpb24uYWRkKHRoaXMuc2V0dGluZy5vYnNlcnZlci5zdWJzY3JpYmUoZmlsdGVySW5mb3JtYXRpb24gPT4ge1xyXG4gICAgICAgIHRoaXMuaW5mb3JtYXRpb24gPSBmaWx0ZXJJbmZvcm1hdGlvbjtcclxuICAgICAgICB0aGlzLiNmb3JtYXQoZmlsdGVyT3B0aW9uPy5maWx0ZXJzLCB0aGlzLmluZm9ybWF0aW9uKTtcclxuICAgICAgfSkpO1xyXG4gICAgfSkpO1xyXG4gIH1cclxuXHJcbiAgb25GaWx0ZXIgPSAoZmlsdGVyPzogRmlsdGVyKSA9PiB7XHJcbiAgICB0aGlzLmZpbHRlckNoYW5nZXMubmV4dCh7XHJcbiAgICAgIGZpbHRlcjogeyAuLi50aGlzLmluZm9ybWF0aW9uLmZpbHRlciB9LFxyXG4gICAgICBmaWx0ZXJEZWY6IHsgLi4udGhpcy5pbmZvcm1hdGlvbi5maWx0ZXJEZWYgfSxcclxuICAgIH0pO1xyXG4gICAgdGhpcy5zZXR0aW5nLnNldCh0aGlzLmluZm9ybWF0aW9uKTtcclxuICB9XHJcblxyXG4gIG9uQ2xlYXIgPSAoKSA9PiB7XHJcbiAgICB0aGlzLmluZm9ybWF0aW9uLmZpbHRlciA9IHt9O1xyXG4gICAgdGhpcy5pbmZvcm1hdGlvbi5maWx0ZXJEZWYgPSB7fTtcclxuICAgIHRoaXMub25GaWx0ZXIoKTtcclxuICB9XHJcblxyXG4gICNmb3JtYXQgPSAoZmlsdGVyczogRmlsdGVyW10sIGluZm9ybWF0aW9uOiBTZEZpbHRlckluZm9ybWF0aW9uKSA9PiB7XHJcbiAgICBmb3IgKGNvbnN0IGZpbHRlciBvZiBmaWx0ZXJzKSB7XHJcbiAgICAgIGlmIChmaWx0ZXIudHlwZSA9PT0gJ2RhdGVyYW5nZScpIHtcclxuICAgICAgICBpbmZvcm1hdGlvbi5maWx0ZXJbZmlsdGVyLmZpZWxkXSA9IHtcclxuICAgICAgICAgIGZyb206IGluZm9ybWF0aW9uLmZpbHRlcltmaWx0ZXIuZmllbGRdPy5mcm9tID8/IHVuZGVmaW5lZCxcclxuICAgICAgICAgIHRvOiBpbmZvcm1hdGlvbi5maWx0ZXJbZmlsdGVyLmZpZWxkXT8udG8gPz8gdW5kZWZpbmVkXHJcbiAgICAgICAgfTtcclxuICAgICAgfSBlbHNlIHtcclxuICAgICAgICBpbmZvcm1hdGlvbi5maWx0ZXJbZmlsdGVyLmZpZWxkXSA9IGluZm9ybWF0aW9uLmZpbHRlcltmaWx0ZXIuZmllbGRdID8/IHVuZGVmaW5lZDtcclxuICAgICAgfVxyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgI2ZpcnN0TG9hZCA9IChmaWx0ZXJzOiBGaWx0ZXJbXSwgaW5mb3JtYXRpb246IFNkRmlsdGVySW5mb3JtYXRpb24pID0+IHtcclxuICAgIGlmIChpbmZvcm1hdGlvbi5zZWxlY3RlZFF1aWNrRmlsdGVyICYmIGluZm9ybWF0aW9uLnF1aWNrRmlsdGVycy5zb21lKGUgPT4gZS5jb2RlID09PSBpbmZvcm1hdGlvbi5zZWxlY3RlZFF1aWNrRmlsdGVyKSkge1xyXG4gICAgICBjb25zdCBzZWxlY3RlZCA9IGluZm9ybWF0aW9uLnF1aWNrRmlsdGVycy5maW5kKGUgPT4gZS5jb2RlID09PSBpbmZvcm1hdGlvbi5zZWxlY3RlZFF1aWNrRmlsdGVyKTtcclxuICAgICAgaW5mb3JtYXRpb24uZmlsdGVyID0geyAuLi5zZWxlY3RlZC5maWx0ZXIgfTtcclxuICAgICAgaW5mb3JtYXRpb24uZmlsdGVyRGVmID0geyAuLi5zZWxlY3RlZC5maWx0ZXJEZWYgfTtcclxuICAgICAgdGhpcy4jZm9ybWF0KGZpbHRlcnMsIGluZm9ybWF0aW9uKTtcclxuICAgIH0gZWxzZSB7XHJcbiAgICAgIGZvciAoY29uc3QgZmlsdGVyIG9mIGZpbHRlcnMpIHtcclxuICAgICAgICBpZiAoZmlsdGVyLnR5cGUgPT09ICdkYXRlcmFuZ2UnKSB7XHJcbiAgICAgICAgICBpbmZvcm1hdGlvbi5maWx0ZXJbZmlsdGVyLmZpZWxkXSA9IHtcclxuICAgICAgICAgICAgZnJvbTogaW5mb3JtYXRpb24uZmlsdGVyW2ZpbHRlci5maWVsZF0/LmZyb20gPz8gZmlsdGVyLmRlZmF1bHQ/LmZyb20gPz8gdW5kZWZpbmVkLFxyXG4gICAgICAgICAgICB0bzogaW5mb3JtYXRpb24uZmlsdGVyW2ZpbHRlci5maWVsZF0/LnRvID8/IGZpbHRlci5kZWZhdWx0Py50byA/PyB1bmRlZmluZWRcclxuICAgICAgICAgIH07XHJcbiAgICAgICAgfSBlbHNlIHtcclxuICAgICAgICAgIGluZm9ybWF0aW9uLmZpbHRlcltmaWx0ZXIuZmllbGRdID0gaW5mb3JtYXRpb24uZmlsdGVyW2ZpbHRlci5maWVsZF0gPz8gZmlsdGVyLmRlZmF1bHQgPz8gdW5kZWZpbmVkO1xyXG4gICAgICAgIH1cclxuICAgICAgfVxyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgbmdPbkRlc3Ryb3koKSB7XHJcbiAgICB0aGlzLiNzdWJzY3JpcHRpb24udW5zdWJzY3JpYmUoKTtcclxuICB9XHJcblxyXG4gIHNldEZpbHRlciA9IChhcmdzOiB7XHJcbiAgICBmaWx0ZXI6IGFueSxcclxuICAgIGZpbHRlckRlZjogYW55XHJcbiAgfSkgPT4ge1xyXG4gICAgY29uc3QgeyBmaWx0ZXIsIGZpbHRlckRlZiB9ID0gYXJncztcclxuICAgIHRoaXMuaW5mb3JtYXRpb24gPSB7XHJcbiAgICAgIC4uLnRoaXMuaW5mb3JtYXRpb24sXHJcbiAgICAgIGZpbHRlcjogeyAuLi5maWx0ZXIgfSxcclxuICAgICAgZmlsdGVyRGVmOiB7IC4uLmZpbHRlckRlZiB9XHJcbiAgICB9O1xyXG4gIH1cclxufVxyXG4iXX0=
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
export {};
|
|
2
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZmlsdGVyLm1vZGVsLmpzIiwic291cmNlUm9vdCI6IkM6L1VzZXJzL25naGlhdHQxNS9EZXNrdG9wL1dvcmtpbmcvMU1HL2xpYi1jb3JlLXVpL3Byb2plY3RzL3NkLWNvcmUvZmlsdGVyLyIsInNvdXJjZXMiOlsic3JjL2xpYi9maWx0ZXIubW9kZWwudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IiIsInNvdXJjZXNDb250ZW50IjpbImV4cG9ydCBpbnRlcmZhY2UgU2RGaWx0ZXJPcHRpb24ge1xyXG4gIGtleT86IHN0cmluZztcclxuICBxdWlja0ZpbHRlcj86IHtcclxuICAgIGVuYWJsZT86IGJvb2xlYW47XHJcbiAgICBzZWxlY3RlZERlZmF1bHQ/OiBzdHJpbmc7XHJcbiAgICBkZWZhdWx0cz86IFNkUXVpY2tGaWx0ZXJbXTtcclxuICB9LFxyXG4gIGZpbHRlcnM6IEZpbHRlcltdO1xyXG4gIG9uQ2hhbmdlPzogKGZpbHRlcjogeyBba2V5OiBzdHJpbmddOiBhbnkgfSkgPT4gdm9pZDtcclxufVxyXG5cclxuZXhwb3J0IGludGVyZmFjZSBTZFF1aWNrRmlsdGVyIHtcclxuICBjb2RlOiBzdHJpbmc7XHJcbiAgbmFtZTogc3RyaW5nO1xyXG4gIGZpbHRlcj86IHtcclxuICAgIFtrZXk6IHN0cmluZ106IGFueVxyXG4gIH07XHJcbiAgZmlsdGVyRGVmPzoge1xyXG4gICAgW2tleTogc3RyaW5nXTogYW55XHJcbiAgfTtcclxufVxyXG5leHBvcnQgaW50ZXJmYWNlIFNkRmlsdGVySW5mb3JtYXRpb24ge1xyXG4gIGZpbHRlcjoge1xyXG4gICAgW2tleTogc3RyaW5nXTogYW55XHJcbiAgfTtcclxuICBmaWx0ZXJEZWY/OiB7XHJcbiAgICBba2V5OiBzdHJpbmddOiBhbnlcclxuICB9O1xyXG4gIHZpc2libGU/OiB7XHJcbiAgICBba2V5OiBzdHJpbmddOiBib29sZWFuXHJcbiAgfTtcclxuICBxdWlja0ZpbHRlcnM/OiBTZFF1aWNrRmlsdGVyW107XHJcbiAgc2VsZWN0ZWRRdWlja0ZpbHRlcj86IHN0cmluZztcclxufVxyXG5cclxuZXhwb3J0IHR5cGUgRmlsdGVyID0gU3RyaW5nRmlsdGVyIHwgTnVtYmVyRmlsdGVyIHwgVmFsdWVzTG9jYWxGaWx0ZXIgfCBWYWx1ZXNTZXJ2ZXJGaWx0ZXIgfCBEYXRlRmlsdGVyIHwgRGF0ZVJhZ2VGaWx0ZXIgfCBCb29sRmlsdGVyXHJcblxyXG5leHBvcnQgaW50ZXJmYWNlIEJhc2VGaWx0ZXIge1xyXG4gIGZpZWxkOiBzdHJpbmc7XHJcbiAgdGl0bGU6IHN0cmluZ1xyXG4gIGdyb3VwPzogc3RyaW5nO1xyXG4gIHNob3dpbmc/OiBib29sZWFuO1xyXG59XHJcbmV4cG9ydCBpbnRlcmZhY2UgU3RyaW5nRmlsdGVyIGV4dGVuZHMgQmFzZUZpbHRlciB7XHJcbiAgdHlwZTogJ3N0cmluZyc7XHJcbiAgZGVmYXVsdD86IGFueTtcclxufVxyXG5cclxuZXhwb3J0IGludGVyZmFjZSBOdW1iZXJGaWx0ZXIgZXh0ZW5kcyBCYXNlRmlsdGVyIHtcclxuICB0eXBlOiAnbnVtYmVyJztcclxuICBkZWZhdWx0PzogYW55O1xyXG59XHJcblxyXG5leHBvcnQgaW50ZXJmYWNlIFZhbHVlc0xvY2FsRmlsdGVyIGV4dGVuZHMgQmFzZUZpbHRlciB7XHJcbiAgdHlwZTogJ3ZhbHVlcy1sb2NhbCc7XHJcbiAgb3B0aW9uOiB7XHJcbiAgICBpdGVtczogYW55W10gfCAoKCkgPT4gUHJvbWlzZTxhbnlbXT4pO1xyXG4gICAgdmFsdWVGaWVsZDogc3RyaW5nO1xyXG4gICAgZGlzcGxheUZpZWxkOiBzdHJpbmc7XHJcbiAgICBodG1sVGVtcGxhdGU/OiAoaXRlbTogYW55KSA9PiBzdHJpbmc7XHJcbiAgICBzZWxlY3Rpb24/OiAnQVVUT0NPTVBMRVRFJyB8ICdNVUxUSVBMRScgfCAnTVVMVElQTEVBVVRPQ09NUExFVEUnO1xyXG4gIH07XHJcbiAgZGVmYXVsdD86IGFueTtcclxufVxyXG5cclxuZXhwb3J0IGludGVyZmFjZSBWYWx1ZXNTZXJ2ZXJGaWx0ZXIgZXh0ZW5kcyBCYXNlRmlsdGVyIHtcclxuICB0eXBlOiAndmFsdWVzLXNlcnZlcic7XHJcbiAgb3B0aW9uOiB7XHJcbiAgICBpdGVtczogKHNlYXJjaFRleHQ6IHN0cmluZyB8IHN0cmluZ1tdLCBpc0Zvcm1WYWx1ZT86IGJvb2xlYW4pID0+IFByb21pc2U8YW55W10+O1xyXG4gICAgdmFsdWVGaWVsZDogc3RyaW5nO1xyXG4gICAgZGlzcGxheUZpZWxkOiBzdHJpbmc7XHJcbiAgICBodG1sVGVtcGxhdGU/OiAoaXRlbTogYW55KSA9PiBzdHJpbmc7XHJcbiAgICBzZWxlY3Rpb24/OiB8ICdNVUxUSVBMRSc7XHJcbiAgfTtcclxuICBkZWZhdWx0PzogYW55O1xyXG59XHJcblxyXG5leHBvcnQgaW50ZXJmYWNlIERhdGVGaWx0ZXIgZXh0ZW5kcyBCYXNlRmlsdGVyIHtcclxuICB0eXBlOiAnZGF0ZScgfCAnZGF0ZXRpbWUnO1xyXG4gIG9wdGlvbj86IHtcclxuICAgIG1heD86IHN0cmluZztcclxuICAgIG1pbj86IHN0cmluZztcclxuICB9O1xyXG4gIGRlZmF1bHQ/OiBzdHJpbmc7XHJcbn1cclxuXHJcbmV4cG9ydCBpbnRlcmZhY2UgRGF0ZVJhZ2VGaWx0ZXIgZXh0ZW5kcyBCYXNlRmlsdGVyIHtcclxuICB0eXBlOiAnZGF0ZXJhbmdlJztcclxuICBvcHRpb24/OiB7XHJcbiAgICBtYXg/OiBzdHJpbmc7XHJcbiAgICBtaW4/OiBzdHJpbmc7XHJcbiAgfTtcclxuICBkZWZhdWx0Pzoge1xyXG4gICAgZnJvbT86IHN0cmluZztcclxuICAgIHRvPzogc3RyaW5nO1xyXG4gIH1cclxufVxyXG5cclxuZXhwb3J0IGludGVyZmFjZSBCb29sRmlsdGVyIGV4dGVuZHMgQmFzZUZpbHRlciB7XHJcbiAgdHlwZTogJ2Jvb2wnO1xyXG4gIG9wdGlvbjoge1xyXG4gICAgZGlzcGxheU9uVHJ1ZTogc3RyaW5nO1xyXG4gICAgZGlzcGxheU9uRmFsc2U6IHN0cmluZztcclxuICB9O1xyXG4gIGRlZmF1bHQ/OiBib29sZWFuO1xyXG59XHJcblxyXG5leHBvcnQgaW50ZXJmYWNlIEZpbHRlck9iamVjdCB7XHJcbiAgW2tleTogc3RyaW5nXTogYW55IHwge1xyXG4gICAgZnJvbTogc3RyaW5nO1xyXG4gICAgdG86IHN0cmluZztcclxuICB9O1xyXG59Il19
|
|
@@ -0,0 +1,47 @@
|
|
|
1
|
+
import { NgModule } from '@angular/core';
|
|
2
|
+
import { CommonModule } from '@angular/common';
|
|
3
|
+
import { MatIconModule } from '@angular/material/icon';
|
|
4
|
+
import { MatTooltipModule } from '@angular/material/tooltip';
|
|
5
|
+
import { MatInputModule } from '@angular/material/input';
|
|
6
|
+
import { MatFormFieldModule } from '@angular/material/form-field';
|
|
7
|
+
import { SdTranslateModule } from '@sd-angular/core/translate';
|
|
8
|
+
import { SdCommonModule } from '@sd-angular/core/common';
|
|
9
|
+
import { SdFilterDefDirective } from './directives/sd-filter-def.directive';
|
|
10
|
+
import { SdFilter } from './filter.component';
|
|
11
|
+
import { SdFormModule } from '@sd-angular/core/form';
|
|
12
|
+
import { SdValuesLocalPipe } from './pipes/values-local.pipe';
|
|
13
|
+
import { SdValuesServerPipe } from './pipes/values-server.pipe';
|
|
14
|
+
import { SdFilterService } from './filter.service';
|
|
15
|
+
import { MatButtonModule } from '@angular/material/button';
|
|
16
|
+
export class SdFilterModule {
|
|
17
|
+
}
|
|
18
|
+
SdFilterModule.decorators = [
|
|
19
|
+
{ type: NgModule, args: [{
|
|
20
|
+
imports: [
|
|
21
|
+
CommonModule,
|
|
22
|
+
MatFormFieldModule,
|
|
23
|
+
MatInputModule,
|
|
24
|
+
MatIconModule,
|
|
25
|
+
MatTooltipModule,
|
|
26
|
+
MatButtonModule,
|
|
27
|
+
SdTranslateModule,
|
|
28
|
+
SdCommonModule,
|
|
29
|
+
SdFormModule
|
|
30
|
+
],
|
|
31
|
+
declarations: [
|
|
32
|
+
SdFilter,
|
|
33
|
+
SdFilterDefDirective,
|
|
34
|
+
SdValuesLocalPipe,
|
|
35
|
+
SdValuesServerPipe
|
|
36
|
+
],
|
|
37
|
+
providers: [
|
|
38
|
+
SdFilterService
|
|
39
|
+
],
|
|
40
|
+
exports: [
|
|
41
|
+
SdCommonModule,
|
|
42
|
+
SdFilterDefDirective,
|
|
43
|
+
SdFilter
|
|
44
|
+
]
|
|
45
|
+
},] }
|
|
46
|
+
];
|
|
47
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZmlsdGVyLm1vZHVsZS5qcyIsInNvdXJjZVJvb3QiOiJDOi9Vc2Vycy9uZ2hpYXR0MTUvRGVza3RvcC9Xb3JraW5nLzFNRy9saWItY29yZS11aS9wcm9qZWN0cy9zZC1jb3JlL2ZpbHRlci8iLCJzb3VyY2VzIjpbInNyYy9saWIvZmlsdGVyLm1vZHVsZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsUUFBUSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQ3pDLE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUMvQyxPQUFPLEVBQUUsYUFBYSxFQUFFLE1BQU0sd0JBQXdCLENBQUM7QUFDdkQsT0FBTyxFQUFFLGdCQUFnQixFQUFFLE1BQU0sMkJBQTJCLENBQUM7QUFDN0QsT0FBTyxFQUFFLGNBQWMsRUFBRSxNQUFNLHlCQUF5QixDQUFDO0FBQ3pELE9BQU8sRUFBRSxrQkFBa0IsRUFBRSxNQUFNLDhCQUE4QixDQUFDO0FBQ2xFLE9BQU8sRUFBRSxpQkFBaUIsRUFBRSxNQUFNLDRCQUE0QixDQUFDO0FBQy9ELE9BQU8sRUFBRSxjQUFjLEVBQUUsTUFBTSx5QkFBeUIsQ0FBQztBQUN6RCxPQUFPLEVBQUUsb0JBQW9CLEVBQUUsTUFBTSxzQ0FBc0MsQ0FBQztBQUM1RSxPQUFPLEVBQUUsUUFBUSxFQUFFLE1BQU0sb0JBQW9CLENBQUM7QUFDOUMsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLHVCQUF1QixDQUFDO0FBQ3JELE9BQU8sRUFBRSxpQkFBaUIsRUFBRSxNQUFNLDJCQUEyQixDQUFDO0FBQzlELE9BQU8sRUFBRSxrQkFBa0IsRUFBRSxNQUFNLDRCQUE0QixDQUFDO0FBQ2hFLE9BQU8sRUFBRSxlQUFlLEVBQUUsTUFBTSxrQkFBa0IsQ0FBQztBQUNuRCxPQUFPLEVBQUUsZUFBZSxFQUFFLE1BQU0sMEJBQTBCLENBQUM7QUE2QjNELE1BQU0sT0FBTyxjQUFjOzs7WUEzQjFCLFFBQVEsU0FBQztnQkFDUixPQUFPLEVBQUU7b0JBQ1AsWUFBWTtvQkFDWixrQkFBa0I7b0JBQ2xCLGNBQWM7b0JBQ2QsYUFBYTtvQkFDYixnQkFBZ0I7b0JBQ2hCLGVBQWU7b0JBQ2YsaUJBQWlCO29CQUNqQixjQUFjO29CQUNkLFlBQVk7aUJBQ2I7Z0JBQ0QsWUFBWSxFQUFFO29CQUNaLFFBQVE7b0JBQ1Isb0JBQW9CO29CQUNwQixpQkFBaUI7b0JBQ2pCLGtCQUFrQjtpQkFDbkI7Z0JBQ0QsU0FBUyxFQUFFO29CQUNULGVBQWU7aUJBQ2hCO2dCQUNELE9BQU8sRUFBRTtvQkFDUCxjQUFjO29CQUNkLG9CQUFvQjtvQkFDcEIsUUFBUTtpQkFDVDthQUNGIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgTmdNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuaW1wb3J0IHsgQ29tbW9uTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uJztcclxuaW1wb3J0IHsgTWF0SWNvbk1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL21hdGVyaWFsL2ljb24nO1xyXG5pbXBvcnQgeyBNYXRUb29sdGlwTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvbWF0ZXJpYWwvdG9vbHRpcCc7XHJcbmltcG9ydCB7IE1hdElucHV0TW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvbWF0ZXJpYWwvaW5wdXQnO1xyXG5pbXBvcnQgeyBNYXRGb3JtRmllbGRNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC9mb3JtLWZpZWxkJztcclxuaW1wb3J0IHsgU2RUcmFuc2xhdGVNb2R1bGUgfSBmcm9tICdAc2QtYW5ndWxhci9jb3JlL3RyYW5zbGF0ZSc7XHJcbmltcG9ydCB7IFNkQ29tbW9uTW9kdWxlIH0gZnJvbSAnQHNkLWFuZ3VsYXIvY29yZS9jb21tb24nO1xyXG5pbXBvcnQgeyBTZEZpbHRlckRlZkRpcmVjdGl2ZSB9IGZyb20gJy4vZGlyZWN0aXZlcy9zZC1maWx0ZXItZGVmLmRpcmVjdGl2ZSc7XHJcbmltcG9ydCB7IFNkRmlsdGVyIH0gZnJvbSAnLi9maWx0ZXIuY29tcG9uZW50JztcclxuaW1wb3J0IHsgU2RGb3JtTW9kdWxlIH0gZnJvbSAnQHNkLWFuZ3VsYXIvY29yZS9mb3JtJztcclxuaW1wb3J0IHsgU2RWYWx1ZXNMb2NhbFBpcGUgfSBmcm9tICcuL3BpcGVzL3ZhbHVlcy1sb2NhbC5waXBlJztcclxuaW1wb3J0IHsgU2RWYWx1ZXNTZXJ2ZXJQaXBlIH0gZnJvbSAnLi9waXBlcy92YWx1ZXMtc2VydmVyLnBpcGUnO1xyXG5pbXBvcnQgeyBTZEZpbHRlclNlcnZpY2UgfSBmcm9tICcuL2ZpbHRlci5zZXJ2aWNlJztcclxuaW1wb3J0IHsgTWF0QnV0dG9uTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvbWF0ZXJpYWwvYnV0dG9uJztcclxuXHJcbkBOZ01vZHVsZSh7XHJcbiAgaW1wb3J0czogW1xyXG4gICAgQ29tbW9uTW9kdWxlLFxyXG4gICAgTWF0Rm9ybUZpZWxkTW9kdWxlLFxyXG4gICAgTWF0SW5wdXRNb2R1bGUsXHJcbiAgICBNYXRJY29uTW9kdWxlLFxyXG4gICAgTWF0VG9vbHRpcE1vZHVsZSxcclxuICAgIE1hdEJ1dHRvbk1vZHVsZSxcclxuICAgIFNkVHJhbnNsYXRlTW9kdWxlLFxyXG4gICAgU2RDb21tb25Nb2R1bGUsXHJcbiAgICBTZEZvcm1Nb2R1bGVcclxuICBdLFxyXG4gIGRlY2xhcmF0aW9uczogW1xyXG4gICAgU2RGaWx0ZXIsXHJcbiAgICBTZEZpbHRlckRlZkRpcmVjdGl2ZSxcclxuICAgIFNkVmFsdWVzTG9jYWxQaXBlLFxyXG4gICAgU2RWYWx1ZXNTZXJ2ZXJQaXBlXHJcbiAgXSxcclxuICBwcm92aWRlcnM6IFtcclxuICAgIFNkRmlsdGVyU2VydmljZVxyXG4gIF0sXHJcbiAgZXhwb3J0czogW1xyXG4gICAgU2RDb21tb25Nb2R1bGUsXHJcbiAgICBTZEZpbHRlckRlZkRpcmVjdGl2ZSxcclxuICAgIFNkRmlsdGVyXHJcbiAgXVxyXG59KVxyXG5leHBvcnQgY2xhc3MgU2RGaWx0ZXJNb2R1bGUgeyB9XHJcbiJdfQ==
|
|
@@ -0,0 +1,60 @@
|
|
|
1
|
+
var _prefix;
|
|
2
|
+
import { __awaiter, __classPrivateFieldGet } from "tslib";
|
|
3
|
+
import { Injectable } from '@angular/core';
|
|
4
|
+
import hash from 'object-hash';
|
|
5
|
+
import { SdSettingService } from '@sd-angular/core/setting';
|
|
6
|
+
export class SdFilterService {
|
|
7
|
+
constructor(settingService) {
|
|
8
|
+
this.settingService = settingService;
|
|
9
|
+
_prefix.set(this, '61d22e8e-eee8-4aad-8e1c-044a532fea91');
|
|
10
|
+
this.get = (key) => __awaiter(this, void 0, void 0, function* () {
|
|
11
|
+
var _a;
|
|
12
|
+
if (!key) {
|
|
13
|
+
return {
|
|
14
|
+
selectedQuickFilter: null,
|
|
15
|
+
quickFilters: [],
|
|
16
|
+
filter: {}
|
|
17
|
+
};
|
|
18
|
+
}
|
|
19
|
+
const { get } = this.settingService.create({
|
|
20
|
+
prefix: __classPrivateFieldGet(this, _prefix),
|
|
21
|
+
key
|
|
22
|
+
});
|
|
23
|
+
const configuration = yield get();
|
|
24
|
+
return {
|
|
25
|
+
selectedQuickFilter: (_a = configuration === null || configuration === void 0 ? void 0 : configuration.selectedQuickFilter) !== null && _a !== void 0 ? _a : null,
|
|
26
|
+
quickFilters: (configuration === null || configuration === void 0 ? void 0 : configuration.quickFilters) || [],
|
|
27
|
+
filter: (configuration === null || configuration === void 0 ? void 0 : configuration.filter) || {}
|
|
28
|
+
};
|
|
29
|
+
});
|
|
30
|
+
this.set = (key, configuration) => __awaiter(this, void 0, void 0, function* () {
|
|
31
|
+
var _b;
|
|
32
|
+
configuration = {
|
|
33
|
+
selectedQuickFilter: (_b = configuration === null || configuration === void 0 ? void 0 : configuration.selectedQuickFilter) !== null && _b !== void 0 ? _b : null,
|
|
34
|
+
quickFilters: (configuration === null || configuration === void 0 ? void 0 : configuration.quickFilters) || [],
|
|
35
|
+
filter: (configuration === null || configuration === void 0 ? void 0 : configuration.filter) || {}
|
|
36
|
+
};
|
|
37
|
+
if (!key) {
|
|
38
|
+
return configuration;
|
|
39
|
+
}
|
|
40
|
+
const { set } = this.settingService.create({
|
|
41
|
+
prefix: __classPrivateFieldGet(this, _prefix),
|
|
42
|
+
key
|
|
43
|
+
});
|
|
44
|
+
key = hash({
|
|
45
|
+
prefix: __classPrivateFieldGet(this, _prefix),
|
|
46
|
+
key
|
|
47
|
+
});
|
|
48
|
+
yield set(configuration);
|
|
49
|
+
return configuration;
|
|
50
|
+
});
|
|
51
|
+
}
|
|
52
|
+
}
|
|
53
|
+
_prefix = new WeakMap();
|
|
54
|
+
SdFilterService.decorators = [
|
|
55
|
+
{ type: Injectable }
|
|
56
|
+
];
|
|
57
|
+
SdFilterService.ctorParameters = () => [
|
|
58
|
+
{ type: SdSettingService }
|
|
59
|
+
];
|
|
60
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZmlsdGVyLnNlcnZpY2UuanMiLCJzb3VyY2VSb290IjoiQzovVXNlcnMvbmdoaWF0dDE1L0Rlc2t0b3AvV29ya2luZy8xTUcvbGliLWNvcmUtdWkvcHJvamVjdHMvc2QtY29yZS9maWx0ZXIvIiwic291cmNlcyI6WyJzcmMvbGliL2ZpbHRlci5zZXJ2aWNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7O0FBQUEsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUMzQyxPQUFPLElBQUksTUFBTSxhQUFhLENBQUM7QUFDL0IsT0FBTyxFQUFFLGdCQUFnQixFQUFFLE1BQU0sMEJBQTBCLENBQUM7QUFJNUQsTUFBTSxPQUFPLGVBQWU7SUFFMUIsWUFBb0IsY0FBZ0M7UUFBaEMsbUJBQWMsR0FBZCxjQUFjLENBQWtCO1FBRHBELGtCQUFVLHNDQUFzQyxFQUFDO1FBR2pELFFBQUcsR0FBRyxDQUFPLEdBQVcsRUFBZ0MsRUFBRTs7WUFDeEQsSUFBSSxDQUFDLEdBQUcsRUFBRTtnQkFDUixPQUFPO29CQUNMLG1CQUFtQixFQUFFLElBQUk7b0JBQ3pCLFlBQVksRUFBRSxFQUFFO29CQUNoQixNQUFNLEVBQUUsRUFBRTtpQkFDWCxDQUFBO2FBQ0Y7WUFDRCxNQUFNLEVBQUUsR0FBRyxFQUFFLEdBQUcsSUFBSSxDQUFDLGNBQWMsQ0FBQyxNQUFNLENBQXNCO2dCQUM5RCxNQUFNLHVDQUFjO2dCQUNwQixHQUFHO2FBQ0osQ0FBQyxDQUFDO1lBQ0gsTUFBTSxhQUFhLEdBQUcsTUFBTSxHQUFHLEVBQUUsQ0FBQztZQUNsQyxPQUFPO2dCQUNMLG1CQUFtQixRQUFFLGFBQWEsYUFBYixhQUFhLHVCQUFiLGFBQWEsQ0FBRSxtQkFBbUIsbUNBQUksSUFBSTtnQkFDL0QsWUFBWSxFQUFFLENBQUEsYUFBYSxhQUFiLGFBQWEsdUJBQWIsYUFBYSxDQUFFLFlBQVksS0FBSSxFQUFFO2dCQUMvQyxNQUFNLEVBQUUsQ0FBQSxhQUFhLGFBQWIsYUFBYSx1QkFBYixhQUFhLENBQUUsTUFBTSxLQUFJLEVBQUU7YUFDcEMsQ0FBQztRQUNKLENBQUMsQ0FBQSxDQUFBO1FBRUQsUUFBRyxHQUFHLENBQU8sR0FBVyxFQUFFLGFBQWtDLEVBQWdDLEVBQUU7O1lBQzVGLGFBQWEsR0FBRztnQkFDZCxtQkFBbUIsUUFBRSxhQUFhLGFBQWIsYUFBYSx1QkFBYixhQUFhLENBQUUsbUJBQW1CLG1DQUFJLElBQUk7Z0JBQy9ELFlBQVksRUFBRSxDQUFBLGFBQWEsYUFBYixhQUFhLHVCQUFiLGFBQWEsQ0FBRSxZQUFZLEtBQUksRUFBRTtnQkFDL0MsTUFBTSxFQUFFLENBQUEsYUFBYSxhQUFiLGFBQWEsdUJBQWIsYUFBYSxDQUFFLE1BQU0sS0FBSSxFQUFFO2FBQ3BDLENBQUM7WUFDRixJQUFJLENBQUMsR0FBRyxFQUFFO2dCQUNSLE9BQU8sYUFBYSxDQUFDO2FBQ3RCO1lBQ0QsTUFBTSxFQUFFLEdBQUcsRUFBRSxHQUFHLElBQUksQ0FBQyxjQUFjLENBQUMsTUFBTSxDQUFzQjtnQkFDOUQsTUFBTSx1Q0FBYztnQkFDcEIsR0FBRzthQUNKLENBQUMsQ0FBQztZQUNILEdBQUcsR0FBRyxJQUFJLENBQUM7Z0JBQ1QsTUFBTSx1Q0FBYztnQkFDcEIsR0FBRzthQUNKLENBQUMsQ0FBQztZQUNILE1BQU0sR0FBRyxDQUFDLGFBQWEsQ0FBQyxDQUFDO1lBQ3pCLE9BQU8sYUFBYSxDQUFDO1FBQ3ZCLENBQUMsQ0FBQSxDQUFBO0lBeENELENBQUM7Ozs7WUFKRixVQUFVOzs7WUFIRixnQkFBZ0IiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBJbmplY3RhYmxlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcbmltcG9ydCBoYXNoIGZyb20gJ29iamVjdC1oYXNoJztcclxuaW1wb3J0IHsgU2RTZXR0aW5nU2VydmljZSB9IGZyb20gJ0BzZC1hbmd1bGFyL2NvcmUvc2V0dGluZyc7XHJcbmltcG9ydCB7IFNkRmlsdGVySW5mb3JtYXRpb24gfSBmcm9tICcuL2ZpbHRlci5tb2RlbCc7XHJcblxyXG5ASW5qZWN0YWJsZSgpXHJcbmV4cG9ydCBjbGFzcyBTZEZpbHRlclNlcnZpY2Uge1xyXG4gICNwcmVmaXggPSAnNjFkMjJlOGUtZWVlOC00YWFkLThlMWMtMDQ0YTUzMmZlYTkxJztcclxuICBjb25zdHJ1Y3Rvcihwcml2YXRlIHNldHRpbmdTZXJ2aWNlOiBTZFNldHRpbmdTZXJ2aWNlKSB7XHJcbiAgfVxyXG4gIGdldCA9IGFzeW5jIChrZXk6IHN0cmluZyk6IFByb21pc2U8U2RGaWx0ZXJJbmZvcm1hdGlvbj4gPT4ge1xyXG4gICAgaWYgKCFrZXkpIHtcclxuICAgICAgcmV0dXJuIHtcclxuICAgICAgICBzZWxlY3RlZFF1aWNrRmlsdGVyOiBudWxsLFxyXG4gICAgICAgIHF1aWNrRmlsdGVyczogW10sXHJcbiAgICAgICAgZmlsdGVyOiB7fVxyXG4gICAgICB9XHJcbiAgICB9XHJcbiAgICBjb25zdCB7IGdldCB9ID0gdGhpcy5zZXR0aW5nU2VydmljZS5jcmVhdGU8U2RGaWx0ZXJJbmZvcm1hdGlvbj4oe1xyXG4gICAgICBwcmVmaXg6IHRoaXMuI3ByZWZpeCxcclxuICAgICAga2V5XHJcbiAgICB9KTtcclxuICAgIGNvbnN0IGNvbmZpZ3VyYXRpb24gPSBhd2FpdCBnZXQoKTtcclxuICAgIHJldHVybiB7XHJcbiAgICAgIHNlbGVjdGVkUXVpY2tGaWx0ZXI6IGNvbmZpZ3VyYXRpb24/LnNlbGVjdGVkUXVpY2tGaWx0ZXIgPz8gbnVsbCxcclxuICAgICAgcXVpY2tGaWx0ZXJzOiBjb25maWd1cmF0aW9uPy5xdWlja0ZpbHRlcnMgfHwgW10sXHJcbiAgICAgIGZpbHRlcjogY29uZmlndXJhdGlvbj8uZmlsdGVyIHx8IHt9XHJcbiAgICB9O1xyXG4gIH1cclxuXHJcbiAgc2V0ID0gYXN5bmMgKGtleTogc3RyaW5nLCBjb25maWd1cmF0aW9uOiBTZEZpbHRlckluZm9ybWF0aW9uKTogUHJvbWlzZTxTZEZpbHRlckluZm9ybWF0aW9uPiA9PiB7XHJcbiAgICBjb25maWd1cmF0aW9uID0ge1xyXG4gICAgICBzZWxlY3RlZFF1aWNrRmlsdGVyOiBjb25maWd1cmF0aW9uPy5zZWxlY3RlZFF1aWNrRmlsdGVyID8/IG51bGwsXHJcbiAgICAgIHF1aWNrRmlsdGVyczogY29uZmlndXJhdGlvbj8ucXVpY2tGaWx0ZXJzIHx8IFtdLFxyXG4gICAgICBmaWx0ZXI6IGNvbmZpZ3VyYXRpb24/LmZpbHRlciB8fCB7fVxyXG4gICAgfTtcclxuICAgIGlmICgha2V5KSB7XHJcbiAgICAgIHJldHVybiBjb25maWd1cmF0aW9uO1xyXG4gICAgfVxyXG4gICAgY29uc3QgeyBzZXQgfSA9IHRoaXMuc2V0dGluZ1NlcnZpY2UuY3JlYXRlPFNkRmlsdGVySW5mb3JtYXRpb24+KHtcclxuICAgICAgcHJlZml4OiB0aGlzLiNwcmVmaXgsXHJcbiAgICAgIGtleVxyXG4gICAgfSk7XHJcbiAgICBrZXkgPSBoYXNoKHtcclxuICAgICAgcHJlZml4OiB0aGlzLiNwcmVmaXgsXHJcbiAgICAgIGtleVxyXG4gICAgfSk7XHJcbiAgICBhd2FpdCBzZXQoY29uZmlndXJhdGlvbik7XHJcbiAgICByZXR1cm4gY29uZmlndXJhdGlvbjtcclxuICB9XHJcbn1cclxuIl19
|
|
@@ -0,0 +1,19 @@
|
|
|
1
|
+
import { __awaiter } from "tslib";
|
|
2
|
+
import { Pipe } from '@angular/core';
|
|
3
|
+
export class SdValuesLocalPipe {
|
|
4
|
+
constructor() {
|
|
5
|
+
this.transform = (filterValues) => __awaiter(this, void 0, void 0, function* () {
|
|
6
|
+
var _a, _b, _c;
|
|
7
|
+
if (typeof ((_a = filterValues === null || filterValues === void 0 ? void 0 : filterValues.option) === null || _a === void 0 ? void 0 : _a.items) === 'function') {
|
|
8
|
+
return yield ((_b = filterValues === null || filterValues === void 0 ? void 0 : filterValues.option) === null || _b === void 0 ? void 0 : _b.items());
|
|
9
|
+
}
|
|
10
|
+
return ((_c = filterValues === null || filterValues === void 0 ? void 0 : filterValues.option) === null || _c === void 0 ? void 0 : _c.items) || [];
|
|
11
|
+
});
|
|
12
|
+
}
|
|
13
|
+
}
|
|
14
|
+
SdValuesLocalPipe.decorators = [
|
|
15
|
+
{ type: Pipe, args: [{
|
|
16
|
+
name: 'sdValuesLocal'
|
|
17
|
+
},] }
|
|
18
|
+
];
|
|
19
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidmFsdWVzLWxvY2FsLnBpcGUuanMiLCJzb3VyY2VSb290IjoiQzovVXNlcnMvbmdoaWF0dDE1L0Rlc2t0b3AvV29ya2luZy8xTUcvbGliLWNvcmUtdWkvcHJvamVjdHMvc2QtY29yZS9maWx0ZXIvIiwic291cmNlcyI6WyJzcmMvbGliL3BpcGVzL3ZhbHVlcy1sb2NhbC5waXBlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7QUFBQSxPQUFPLEVBQUUsSUFBSSxFQUFpQixNQUFNLGVBQWUsQ0FBQztBQU1wRCxNQUFNLE9BQU8saUJBQWlCO0lBSDlCO1FBSUUsY0FBUyxHQUFHLENBQU8sWUFBK0IsRUFBa0IsRUFBRTs7WUFDcEUsSUFBRyxPQUFNLE9BQUMsWUFBWSxhQUFaLFlBQVksdUJBQVosWUFBWSxDQUFFLE1BQU0sMENBQUUsS0FBSyxDQUFDLEtBQUssVUFBVSxFQUFFO2dCQUNyRCxPQUFPLGFBQU0sWUFBWSxhQUFaLFlBQVksdUJBQVosWUFBWSxDQUFFLE1BQU0sMENBQUUsS0FBSyxHQUFFLENBQUM7YUFDNUM7WUFDRCxPQUFPLE9BQUEsWUFBWSxhQUFaLFlBQVksdUJBQVosWUFBWSxDQUFFLE1BQU0sMENBQUUsS0FBSyxLQUFJLEVBQUUsQ0FBQztRQUMzQyxDQUFDLENBQUEsQ0FBQTtJQUNILENBQUM7OztZQVZBLElBQUksU0FBQztnQkFDSixJQUFJLEVBQUUsZUFBZTthQUN0QiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IFBpcGUsIFBpcGVUcmFuc2Zvcm0gfSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuaW1wb3J0IHsgVmFsdWVzTG9jYWxGaWx0ZXIgfSBmcm9tICcuLi9maWx0ZXIubW9kZWwnO1xyXG5cclxuQFBpcGUoe1xyXG4gIG5hbWU6ICdzZFZhbHVlc0xvY2FsJ1xyXG59KVxyXG5leHBvcnQgY2xhc3MgU2RWYWx1ZXNMb2NhbFBpcGUgaW1wbGVtZW50cyBQaXBlVHJhbnNmb3JtIHtcclxuICB0cmFuc2Zvcm0gPSBhc3luYyAoZmlsdGVyVmFsdWVzOiBWYWx1ZXNMb2NhbEZpbHRlcik6IFByb21pc2U8YW55W10+ID0+IHtcclxuICAgIGlmKHR5cGVvZihmaWx0ZXJWYWx1ZXM/Lm9wdGlvbj8uaXRlbXMpID09PSAnZnVuY3Rpb24nKSB7XHJcbiAgICAgIHJldHVybiBhd2FpdCBmaWx0ZXJWYWx1ZXM/Lm9wdGlvbj8uaXRlbXMoKTtcclxuICAgIH1cclxuICAgIHJldHVybiBmaWx0ZXJWYWx1ZXM/Lm9wdGlvbj8uaXRlbXMgfHwgW107XHJcbiAgfVxyXG59XHJcbiJdfQ==
|
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
import { Pipe } from '@angular/core';
|
|
2
|
+
export class SdValuesServerPipe {
|
|
3
|
+
constructor() {
|
|
4
|
+
this.transform = (filterValues) => {
|
|
5
|
+
var _a, _b, _c;
|
|
6
|
+
if (typeof ((_a = filterValues === null || filterValues === void 0 ? void 0 : filterValues.option) === null || _a === void 0 ? void 0 : _a.items) === 'function') {
|
|
7
|
+
return (_b = filterValues === null || filterValues === void 0 ? void 0 : filterValues.option) === null || _b === void 0 ? void 0 : _b.items;
|
|
8
|
+
}
|
|
9
|
+
return ((_c = filterValues === null || filterValues === void 0 ? void 0 : filterValues.option) === null || _c === void 0 ? void 0 : _c.items) || [];
|
|
10
|
+
};
|
|
11
|
+
}
|
|
12
|
+
}
|
|
13
|
+
SdValuesServerPipe.decorators = [
|
|
14
|
+
{ type: Pipe, args: [{
|
|
15
|
+
name: 'sdValuesServer'
|
|
16
|
+
},] }
|
|
17
|
+
];
|
|
18
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidmFsdWVzLXNlcnZlci5waXBlLmpzIiwic291cmNlUm9vdCI6IkM6L1VzZXJzL25naGlhdHQxNS9EZXNrdG9wL1dvcmtpbmcvMU1HL2xpYi1jb3JlLXVpL3Byb2plY3RzL3NkLWNvcmUvZmlsdGVyLyIsInNvdXJjZXMiOlsic3JjL2xpYi9waXBlcy92YWx1ZXMtc2VydmVyLnBpcGUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLElBQUksRUFBaUIsTUFBTSxlQUFlLENBQUM7QUFNcEQsTUFBTSxPQUFPLGtCQUFrQjtJQUgvQjtRQUlFLGNBQVMsR0FBRyxDQUFDLFlBQWdDLEVBQXNGLEVBQUU7O1lBQ25JLElBQUcsT0FBTSxPQUFDLFlBQVksYUFBWixZQUFZLHVCQUFaLFlBQVksQ0FBRSxNQUFNLDBDQUFFLEtBQUssQ0FBQyxLQUFLLFVBQVUsRUFBRTtnQkFDckQsYUFBTyxZQUFZLGFBQVosWUFBWSx1QkFBWixZQUFZLENBQUUsTUFBTSwwQ0FBRSxLQUFLLENBQUM7YUFDcEM7WUFDRCxPQUFPLE9BQUEsWUFBWSxhQUFaLFlBQVksdUJBQVosWUFBWSxDQUFFLE1BQU0sMENBQUUsS0FBSyxLQUFJLEVBQUUsQ0FBQztRQUMzQyxDQUFDLENBQUE7SUFDSCxDQUFDOzs7WUFWQSxJQUFJLFNBQUM7Z0JBQ0osSUFBSSxFQUFFLGdCQUFnQjthQUN2QiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IFBpcGUsIFBpcGVUcmFuc2Zvcm0gfSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuaW1wb3J0IHsgVmFsdWVzTG9jYWxGaWx0ZXIsIFZhbHVlc1NlcnZlckZpbHRlciB9IGZyb20gJy4uL2ZpbHRlci5tb2RlbCc7XHJcblxyXG5AUGlwZSh7XHJcbiAgbmFtZTogJ3NkVmFsdWVzU2VydmVyJ1xyXG59KVxyXG5leHBvcnQgY2xhc3MgU2RWYWx1ZXNTZXJ2ZXJQaXBlIGltcGxlbWVudHMgUGlwZVRyYW5zZm9ybSB7XHJcbiAgdHJhbnNmb3JtID0gKGZpbHRlclZhbHVlczogVmFsdWVzU2VydmVyRmlsdGVyKTogYW55W10gfCAoKHNlYXJjaFRleHQ6IHN0cmluZyB8IHN0cmluZ1tdLCBpc0Zvcm1WYWx1ZT86IGJvb2xlYW4pID0+IFByb21pc2U8YW55W10+KSA9PiB7XHJcbiAgICBpZih0eXBlb2YoZmlsdGVyVmFsdWVzPy5vcHRpb24/Lml0ZW1zKSA9PT0gJ2Z1bmN0aW9uJykge1xyXG4gICAgICByZXR1cm4gZmlsdGVyVmFsdWVzPy5vcHRpb24/Lml0ZW1zO1xyXG4gICAgfVxyXG4gICAgcmV0dXJuIGZpbHRlclZhbHVlcz8ub3B0aW9uPy5pdGVtcyB8fCBbXTtcclxuICB9XHJcbn1cclxuIl19
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
/*
|
|
2
|
+
* Public API Surface of superdev-angular-core
|
|
3
|
+
*/
|
|
4
|
+
export * from './lib/filter.module';
|
|
5
|
+
export * from './lib/directives/sd-filter-def.directive';
|
|
6
|
+
export * from './lib/filter.model';
|
|
7
|
+
export * from './lib/filter.component';
|
|
8
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHVibGljLWFwaS5qcyIsInNvdXJjZVJvb3QiOiJDOi9Vc2Vycy9uZ2hpYXR0MTUvRGVza3RvcC9Xb3JraW5nLzFNRy9saWItY29yZS11aS9wcm9qZWN0cy9zZC1jb3JlL2ZpbHRlci8iLCJzb3VyY2VzIjpbInNyYy9wdWJsaWMtYXBpLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBOztHQUVHO0FBRUgsY0FBYyxxQkFBcUIsQ0FBQztBQUNwQyxjQUFjLDBDQUEwQyxDQUFDO0FBQ3pELGNBQWMsb0JBQW9CLENBQUM7QUFDbkMsY0FBYyx3QkFBd0IsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbIi8qXHJcbiAqIFB1YmxpYyBBUEkgU3VyZmFjZSBvZiBzdXBlcmRldi1hbmd1bGFyLWNvcmVcclxuICovXHJcblxyXG5leHBvcnQgKiBmcm9tICcuL2xpYi9maWx0ZXIubW9kdWxlJztcclxuZXhwb3J0ICogZnJvbSAnLi9saWIvZGlyZWN0aXZlcy9zZC1maWx0ZXItZGVmLmRpcmVjdGl2ZSc7XHJcbmV4cG9ydCAqIGZyb20gJy4vbGliL2ZpbHRlci5tb2RlbCc7XHJcbmV4cG9ydCAqIGZyb20gJy4vbGliL2ZpbHRlci5jb21wb25lbnQnOyJdfQ==
|
|
@@ -8,18 +8,21 @@ export class SdColumnInlineFilter {
|
|
|
8
8
|
};
|
|
9
9
|
}
|
|
10
10
|
ngOnInit() {
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
11
|
+
var _a, _b;
|
|
12
|
+
if (this.column.type === 'date' || this.column.type === 'time' || this.column.type === 'datetime') {
|
|
13
|
+
if (!((_b = (_a = this.column) === null || _a === void 0 ? void 0 : _a.option) === null || _b === void 0 ? void 0 : _b.useFilterDate)) {
|
|
14
|
+
this.columnFilter[this.column.field] = this.columnFilter[this.column.field] || {
|
|
15
|
+
from: null,
|
|
16
|
+
to: null
|
|
17
|
+
};
|
|
18
|
+
}
|
|
16
19
|
}
|
|
17
20
|
}
|
|
18
21
|
}
|
|
19
22
|
SdColumnInlineFilter.decorators = [
|
|
20
23
|
{ type: Component, args: [{
|
|
21
24
|
selector: 'sd-column-inline-filter',
|
|
22
|
-
template: "<div class=\"c-inline-column\">\r\n <ng-container *ngIf=\"\r\n column.type === 'string' ||\r\n column.type === 'number' ||\r\n column.type === 'bool' ||\r\n column.type === 'values' ||\r\n column.type === 'date' ||\r\n column.type === 'datetime' ||\r\n column.type === 'time';\r\n else noFilter\">\r\n <sd-input *ngIf=\"column.type === 'string'\" size=\"sm\" type=\"text\" [(model)]=\"columnFilter[column.field]\"\r\n (keyupEnter)=\"onFilterChange()\" [disabled]=\"column.filter?.disabled\">\r\n </sd-input>\r\n <sd-input *ngIf=\"column.type === 'number'\" size=\"sm\" type=\"number\" [(model)]=\"columnFilter[column.field]\"\r\n (keyupEnter)=\"onFilterChange()\" [disabled]=\"column.filter?.disabled\">\r\n </sd-input>\r\n <sd-select *ngIf=\"column.type === 'bool'\" size=\"sm\" [items]=\"[\r\n { value: '1', display: column.option?.displayOnTrue || 'True' },\r\n { value: '0', display: column.option?.displayOnFalse || 'False' }\r\n ]\" valueField=\"value\" displayField=\"display\" [(model)]=\"columnFilter[column.field]\" (sdChange)=\"onFilterChange()\"\r\n [disabled]=\"column.filter?.disabled\">\r\n <ng-template sdSelectDisplayDef let-item=\"item\">\r\n <sd-badge *ngIf=\"item.value === '1'\" color=\"success\"
|
|
25
|
+
template: "<div class=\"c-inline-column\">\r\n <ng-container *ngIf=\"\r\n column.type === 'string' ||\r\n column.type === 'number' ||\r\n column.type === 'bool' ||\r\n column.type === 'values' ||\r\n column.type === 'date' ||\r\n column.type === 'datetime' ||\r\n column.type === 'time';\r\n else noFilter\">\r\n <sd-input *ngIf=\"column.type === 'string'\" size=\"sm\" type=\"text\" [(model)]=\"columnFilter[column.field]\"\r\n (keyupEnter)=\"onFilterChange()\" [disabled]=\"column.filter?.disabled\">\r\n </sd-input>\r\n <sd-input *ngIf=\"column.type === 'number'\" size=\"sm\" type=\"number\" [(model)]=\"columnFilter[column.field]\"\r\n (keyupEnter)=\"onFilterChange()\" [disabled]=\"column.filter?.disabled\">\r\n </sd-input>\r\n <sd-select *ngIf=\"column.type === 'bool'\" size=\"sm\" [items]=\"[\r\n { value: '1', display: column.option?.displayOnTrue || 'True' },\r\n { value: '0', display: column.option?.displayOnFalse || 'False' }\r\n ]\" valueField=\"value\" displayField=\"display\" [(model)]=\"columnFilter[column.field]\" (sdChange)=\"onFilterChange()\"\r\n [disabled]=\"column.filter?.disabled\">\r\n <ng-template sdSelectDisplayDef let-item=\"item\">\r\n <sd-badge *ngIf=\"item.value === '1'\" color=\"success\" [title]=\"column.option?.displayOnTrue || 'True'\">\r\n </sd-badge>\r\n <sd-badge *ngIf=\"item.value === '0'\" color=\"danger\" [title]=\"column.option?.displayOnFalse || 'False'\">\r\n </sd-badge>\r\n </ng-template>\r\n </sd-select>\r\n <sd-select *ngIf=\"\r\n column.type === 'values' && column?.option?.selection !== 'AUTOCOMPLETE'\r\n \" size=\"sm\" [items]=\"column.option.items\" [valueField]=\"column.option.valueField\"\r\n [displayField]=\"column.option.displayField\" [(model)]=\"columnFilter[column.field]\" (sdChange)=\"onFilterChange()\"\r\n [disabled]=\"column.filter?.disabled\" [multiple]=\"\r\n column?.option?.selection === 'MULTIPLE' ||\r\n column?.option?.selection === 'MULTIPLEAUTOCOMPLETE'\r\n \" [filtered]=\"column?.option?.selection === 'MULTIPLEAUTOCOMPLETE'\">\r\n </sd-select>\r\n <sd-autocomplete *ngIf=\"\r\n column.type === 'values' && column?.option?.selection === 'AUTOCOMPLETE'\r\n \" size=\"sm\" [items]=\"column.option.items\" [valueField]=\"column.option.valueField\"\r\n [displayField]=\"column.option.displayField\" [(model)]=\"columnFilter[column.field]\" (sdChange)=\"onFilterChange()\"\r\n [disabled]=\"column.filter?.disabled\">\r\n </sd-autocomplete>\r\n <ng-container *ngIf=\"column.type === 'date' || column.type === 'datetime' || column.type === 'time'\">\r\n <sd-date-range *ngIf=\"!column.option?.useFilterDate\" size=\"sm\" [(from)]=\"columnFilter[column.field].from\"\r\n [(to)]=\"columnFilter[column.field].to\" (sdChange)=\"onFilterChange()\" [disabled]=\"column.filter?.disabled\">\r\n </sd-date-range>\r\n <sd-date-time *ngIf=\"column.option?.useFilterDate\" size=\"sm\" [(model)]=\"columnFilter[column.field]\"\r\n (sdChange)=\"onFilterChange()\" [disabled]=\"column.filter?.disabled\">\r\n </sd-date-time>\r\n </ng-container>\r\n </ng-container>\r\n <ng-template #noFilter>\r\n <sd-input type=\"text\" size=\"sm\" disabled> </sd-input>\r\n </ng-template>\r\n</div>",
|
|
23
26
|
changeDetection: ChangeDetectionStrategy.OnPush,
|
|
24
27
|
styles: [":host ::ng-deep .c-inline-column .mat-form-field-wrapper{background-color:#fff;border-radius:8px;margin:8px 0 0!important;padding:0!important}"]
|
|
25
28
|
},] }
|
|
@@ -31,4 +34,4 @@ SdColumnInlineFilter.propDecorators = {
|
|
|
31
34
|
column: [{ type: Input }],
|
|
32
35
|
filterChange: [{ type: Output }]
|
|
33
36
|
};
|
|
34
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
37
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29sdW1uLWlubGluZS1maWx0ZXIuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IkM6L1VzZXJzL25naGlhdHQxNS9EZXNrdG9wL1dvcmtpbmcvMU1HL2xpYi1jb3JlLXVpL3Byb2plY3RzL3NkLWNvcmUvZ3JpZC1tYXRlcmlhbC8iLCJzb3VyY2VzIjpbInNyYy9saWIvY29tcG9uZW50cy9jb2x1bW4taW5saW5lLWZpbHRlci9jb2x1bW4taW5saW5lLWZpbHRlci5jb21wb25lbnQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLHVCQUF1QixFQUFFLFNBQVMsRUFBRSxZQUFZLEVBQUUsS0FBSyxFQUFVLE1BQU0sRUFBYSxNQUFNLGVBQWUsQ0FBQztBQVNuSCxNQUFNLE9BQU8sb0JBQW9CO0lBTy9CO1FBTFMsaUJBQVksR0FFakIsRUFBRSxDQUFDO1FBRUcsaUJBQVksR0FBRyxJQUFJLFlBQVksRUFBRSxDQUFDO1FBZTVDLG1CQUFjLEdBQUcsR0FBRyxFQUFFO1lBQ3BCLElBQUksQ0FBQyxZQUFZLENBQUMsSUFBSSxFQUFFLENBQUM7UUFDM0IsQ0FBQyxDQUFBO0lBZkcsQ0FBQztJQUVMLFFBQVE7O1FBQ04sSUFBSSxJQUFJLENBQUMsTUFBTSxDQUFDLElBQUksS0FBSyxNQUFNLElBQUksSUFBSSxDQUFDLE1BQU0sQ0FBQyxJQUFJLEtBQUssTUFBTSxJQUFJLElBQUksQ0FBQyxNQUFNLENBQUMsSUFBSSxLQUFLLFVBQVUsRUFBRTtZQUNqRyxJQUFJLGNBQUMsSUFBSSxDQUFDLE1BQU0sMENBQUUsTUFBTSwwQ0FBRSxhQUFhLENBQUEsRUFBRTtnQkFDdkMsSUFBSSxDQUFDLFlBQVksQ0FBQyxJQUFJLENBQUMsTUFBTSxDQUFDLEtBQUssQ0FBQyxHQUFHLElBQUksQ0FBQyxZQUFZLENBQUMsSUFBSSxDQUFDLE1BQU0sQ0FBQyxLQUFLLENBQUMsSUFBSTtvQkFDN0UsSUFBSSxFQUFFLElBQUk7b0JBQ1YsRUFBRSxFQUFFLElBQUk7aUJBQ1QsQ0FBQzthQUNIO1NBQ0Y7SUFDSCxDQUFDOzs7WUF6QkYsU0FBUyxTQUFDO2dCQUNULFFBQVEsRUFBRSx5QkFBeUI7Z0JBQ25DLDR5R0FBb0Q7Z0JBRXBELGVBQWUsRUFBRSx1QkFBdUIsQ0FBQyxNQUFNOzthQUNoRDs7OztvQkFFRSxLQUFLOzJCQUNMLEtBQUs7cUJBR0wsS0FBSzsyQkFDTCxNQUFNIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3ksIENvbXBvbmVudCwgRXZlbnRFbWl0dGVyLCBJbnB1dCwgT25Jbml0LCBPdXRwdXQsIFF1ZXJ5TGlzdCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5pbXBvcnQgeyBTZEdyaWRNYXRlcmlhbENvbHVtbiB9IGZyb20gJy4uLy4uL21vZGVscy9ncmlkLWNvbHVtbi5tb2RlbCc7XHJcblxyXG5AQ29tcG9uZW50KHtcclxuICBzZWxlY3RvcjogJ3NkLWNvbHVtbi1pbmxpbmUtZmlsdGVyJyxcclxuICB0ZW1wbGF0ZVVybDogJy4vY29sdW1uLWlubGluZS1maWx0ZXIuY29tcG9uZW50Lmh0bWwnLFxyXG4gIHN0eWxlVXJsczogWycuL2NvbHVtbi1pbmxpbmUtZmlsdGVyLmNvbXBvbmVudC5zY3NzJ10sXHJcbiAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2hcclxufSlcclxuZXhwb3J0IGNsYXNzIFNkQ29sdW1uSW5saW5lRmlsdGVyIGltcGxlbWVudHMgT25Jbml0IHtcclxuICBASW5wdXQoKSB2YWx1ZTogYW55O1xyXG4gIEBJbnB1dCgpIGNvbHVtbkZpbHRlcjoge1xyXG4gICAgW2tleTogc3RyaW5nXTogYW55XHJcbiAgfSA9IHt9O1xyXG4gIEBJbnB1dCgpIGNvbHVtbjogU2RHcmlkTWF0ZXJpYWxDb2x1bW47XHJcbiAgQE91dHB1dCgpIGZpbHRlckNoYW5nZSA9IG5ldyBFdmVudEVtaXR0ZXIoKTtcclxuICBjb25zdHJ1Y3RvcihcclxuICApIHsgfVxyXG5cclxuICBuZ09uSW5pdCgpIHtcclxuICAgIGlmICh0aGlzLmNvbHVtbi50eXBlID09PSAnZGF0ZScgfHwgdGhpcy5jb2x1bW4udHlwZSA9PT0gJ3RpbWUnIHx8IHRoaXMuY29sdW1uLnR5cGUgPT09ICdkYXRldGltZScpIHtcclxuICAgICAgaWYgKCF0aGlzLmNvbHVtbj8ub3B0aW9uPy51c2VGaWx0ZXJEYXRlKSB7XHJcbiAgICAgICAgdGhpcy5jb2x1bW5GaWx0ZXJbdGhpcy5jb2x1bW4uZmllbGRdID0gdGhpcy5jb2x1bW5GaWx0ZXJbdGhpcy5jb2x1bW4uZmllbGRdIHx8IHtcclxuICAgICAgICAgIGZyb206IG51bGwsXHJcbiAgICAgICAgICB0bzogbnVsbFxyXG4gICAgICAgIH07XHJcbiAgICAgIH1cclxuICAgIH1cclxuICB9XHJcblxyXG4gIG9uRmlsdGVyQ2hhbmdlID0gKCkgPT4ge1xyXG4gICAgdGhpcy5maWx0ZXJDaGFuZ2UuZW1pdCgpO1xyXG4gIH1cclxufVxyXG4iXX0=
|
|
@@ -12,7 +12,7 @@ SdGridQuickAction.decorators = [
|
|
|
12
12
|
selector: 'sd-grid-quick-action',
|
|
13
13
|
template: "<sd-quick-action *ngIf=\"selectedItems | selectionActionFilter: gridOption?.selection?.actions as actions\"\r\n [isOpened]=\"actions?.length\">\r\n <div class=\"d-flex align-items-center\" sdMessage>\r\n <div class=\"c-bg-length\">\r\n <span class=\"c-length\">{{ selectedItems.length }}</span>\r\n </div>\r\n <div class=\"c-message\">{{ gridOption?.selection?.message || (\"selected items\" | sdTranslate) }}</div>\r\n </div>\r\n <div class=\"d-flex align-items-center mr-8\" sdAction>\r\n <ng-container *ngFor=\"let action of actions\">\r\n <sd-button *ngIf=\"action.click\" class=\"ml-5\" [tooltip]=\"action.tooltip\" [icon]=\"action.icon\"\r\n [color]=\"action.color || 'secondary'\" [type]=\"action.type || 'light'\" [fontSet]=\"action.fontSet\"\r\n [title]=\"action.title\" size=\"sm\" (action)=\"action.click(selectedItems)\"></sd-button>\r\n <ng-container *ngIf=\"action.children?.length\">\r\n <sd-button class=\"ml-5\" [tooltip]=\"action.tooltip\" [icon]=\"action.icon || 'more_vert'\"\r\n [color]=\"action.color || 'secondary'\" [type]=\"action.type || 'light'\" [fontSet]=\"action.fontSet\"\r\n [title]=\"action.title\" size=\"sm\" [matMenuTriggerFor]=\"menu\">\r\n </sd-button>\r\n <mat-menu #menu=\"matMenu\">\r\n <span>\r\n <button *ngFor=\"let childAction of action.children\" mat-menu-item (click)=\"childAction.click(selectedItems)\"\r\n [disabled]=\"childAction.disabled\">\r\n <mat-icon [fontSet]=\"childAction.fontSet\" class=\"c-icon\">{{ childAction.icon }}\r\n </mat-icon>\r\n <span> {{ childAction.title }}</span>\r\n </button>\r\n </span>\r\n </mat-menu>\r\n </ng-container>\r\n </ng-container>\r\n <sd-button class=\"ml-5\" icon=\"close\" color=\"secondary\" type=\"outline\" size=\"sm\"\r\n (action)=\"onClear()\" width=\"35px\"></sd-button>\r\n </div>\r\n</sd-quick-action>",
|
|
14
14
|
changeDetection: ChangeDetectionStrategy.OnPush,
|
|
15
|
-
styles: [".c-bg-length{align-items:flex-start;background:#2962ff;border-radius:4px 0 0 4px;display:flex;flex-direction:column;height:48px;left:0;padding:12px 8px;position:static;top:0;width:
|
|
15
|
+
styles: [".c-bg-length{align-items:flex-start;background:#2962ff;border-radius:4px 0 0 4px;display:flex;flex-direction:column;height:48px;left:0;min-width:48px;padding:12px 8px;position:static;top:0;width:auto}.c-bg-length .c-length{color:#fff;font-size:16px;font-weight:500;height:24px;left:8px;line-height:24px;min-width:32px;text-align:center;top:12px;width:auto}.c-bg-length .c-length,.c-message{font-family:Roboto;font-style:normal;position:static}.c-message{color:#000;font-size:14px;font-weight:400;height:20px;left:0;line-height:20px;margin:0 0 0 16px;min-width:200px;top:6px}"]
|
|
16
16
|
},] }
|
|
17
17
|
];
|
|
18
18
|
SdGridQuickAction.ctorParameters = () => [];
|