@ng-atomic/common 18.10.0 → 18.12.0
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/directives/molecules/column/column.molecule.d.ts +66 -0
- package/directives/molecules/column/index.d.ts +1 -0
- package/directives/resize-column/index.d.ts +1 -0
- package/directives/resize-column/resize-column.directive.d.ts +21 -0
- package/directives/resize-column/resize-handle.component.d.ts +5 -0
- package/esm2022/directives/molecules/column/column.molecule.mjs +112 -0
- package/esm2022/directives/molecules/column/index.mjs +2 -0
- package/esm2022/directives/molecules/column/ng-atomic-common-directives-molecules-column.mjs +5 -0
- package/esm2022/directives/resize-column/index.mjs +2 -0
- package/esm2022/directives/resize-column/ng-atomic-common-directives-resize-column.mjs +5 -0
- package/esm2022/directives/resize-column/resize-column.directive.mjs +62 -0
- package/esm2022/directives/resize-column/resize-handle.component.mjs +13 -0
- package/esm2022/models/index.mjs +1 -1
- package/esm2022/pipes/actions/actions.pipe.mjs +1 -1
- package/esm2022/pipes/columns/columns.pipe.mjs +3 -2
- package/esm2022/pipes/data-accessor/data-accessor.pipe.mjs +16 -3
- package/esm2022/pipes/domain/domain.pipe.mjs +22 -26
- package/esm2022/pipes/error/error.pipe.mjs +1 -2
- package/esm2022/pipes/expression/expression.pipe.mjs +18 -0
- package/esm2022/pipes/expression/index.mjs +2 -0
- package/esm2022/pipes/expression/ng-atomic-common-pipes-expression.mjs +5 -0
- package/esm2022/pipes/smart-field/smart-field.pipe.mjs +15 -4
- package/esm2022/pipes/style/index.mjs +2 -0
- package/esm2022/pipes/style/ng-atomic-common-pipes-style.mjs +5 -0
- package/esm2022/pipes/style/style.pipe.mjs +41 -0
- package/esm2022/services/form/columns/columns.service.mjs +28 -21
- package/esm2022/services/form/json-schema/json-schema.service.mjs +77 -58
- package/esm2022/services/form/pagination/pagination.service.mjs +4 -4
- package/esm2022/services/language/index.mjs +2 -0
- package/esm2022/services/language/language.service.mjs +39 -0
- package/esm2022/services/language/ng-atomic-common-services-language.mjs +5 -0
- package/esm2022/services/loading/loading.service.mjs +2 -2
- package/esm2022/services/query-resolver/query-resolver.service.mjs +4 -5
- package/esm2022/services/snack-bar/snack-bar.service.mjs +29 -11
- package/esm2022/services/spreadsheet/directives/grid-cell.directive.mjs +124 -0
- package/esm2022/services/spreadsheet/directives/index.mjs +2 -0
- package/esm2022/services/spreadsheet/features/clipboard.service.mjs +71 -0
- package/esm2022/services/spreadsheet/features/data.service.mjs +63 -0
- package/esm2022/services/spreadsheet/features/editor.service.mjs +65 -0
- package/esm2022/services/spreadsheet/features/grid.service.mjs +54 -0
- package/esm2022/services/spreadsheet/features/index.mjs +8 -0
- package/esm2022/services/spreadsheet/features/navigation.service.mjs +71 -0
- package/esm2022/services/spreadsheet/features/protection.service.mjs +25 -0
- package/esm2022/services/spreadsheet/features/selection.service.mjs +129 -0
- package/esm2022/services/spreadsheet/index.mjs +5 -0
- package/esm2022/services/spreadsheet/models/cell.model.mjs +2 -0
- package/esm2022/services/spreadsheet/models/index.mjs +2 -0
- package/esm2022/services/spreadsheet/ng-atomic-common-services-spreadsheet.mjs +5 -0
- package/esm2022/services/spreadsheet/spreadsheet.service.mjs +183 -0
- package/esm2022/services/ui/ui.helpers.mjs +15 -8
- package/esm2022/stores/query/query.store.mjs +2 -2
- package/esm2022/utils/expression/expression.transformer.mjs +38 -0
- package/esm2022/utils/expression/index.mjs +2 -0
- package/esm2022/utils/get/get.mjs +2 -2
- package/esm2022/utils/index.mjs +2 -2
- package/esm2022/utils/inject/inject.mjs +1 -1
- package/fesm2022/ng-atomic-common-directives-fallback-src.mjs.map +1 -1
- package/fesm2022/ng-atomic-common-directives-ios-safari-scroll-buggyfill.mjs.map +1 -1
- package/fesm2022/ng-atomic-common-directives-molecules-column.mjs +119 -0
- package/fesm2022/ng-atomic-common-directives-molecules-column.mjs.map +1 -0
- package/fesm2022/ng-atomic-common-directives-resize-column.mjs +79 -0
- package/fesm2022/ng-atomic-common-directives-resize-column.mjs.map +1 -0
- package/fesm2022/ng-atomic-common-interceptors-authorization.mjs.map +1 -1
- package/fesm2022/ng-atomic-common-interceptors-throttle.mjs.map +1 -1
- package/fesm2022/ng-atomic-common-interceptors-token.mjs.map +1 -1
- package/fesm2022/ng-atomic-common-interceptors.mjs.map +1 -1
- package/fesm2022/ng-atomic-common-pipes-actions.mjs.map +1 -1
- package/fesm2022/ng-atomic-common-pipes-auto-columns.mjs.map +1 -1
- package/fesm2022/ng-atomic-common-pipes-columns.mjs +2 -1
- package/fesm2022/ng-atomic-common-pipes-columns.mjs.map +1 -1
- package/fesm2022/ng-atomic-common-pipes-data-accessor.mjs +15 -2
- package/fesm2022/ng-atomic-common-pipes-data-accessor.mjs.map +1 -1
- package/fesm2022/ng-atomic-common-pipes-domain.mjs +22 -26
- package/fesm2022/ng-atomic-common-pipes-domain.mjs.map +1 -1
- package/fesm2022/ng-atomic-common-pipes-error.mjs +0 -1
- package/fesm2022/ng-atomic-common-pipes-error.mjs.map +1 -1
- package/fesm2022/ng-atomic-common-pipes-expression.mjs +25 -0
- package/fesm2022/ng-atomic-common-pipes-expression.mjs.map +1 -0
- package/fesm2022/ng-atomic-common-pipes-grouped-by.mjs.map +1 -1
- package/fesm2022/ng-atomic-common-pipes-index-length.mjs.map +1 -1
- package/fesm2022/ng-atomic-common-pipes-index.mjs.map +1 -1
- package/fesm2022/ng-atomic-common-pipes-keys.mjs.map +1 -1
- package/fesm2022/ng-atomic-common-pipes-map.mjs.map +1 -1
- package/fesm2022/ng-atomic-common-pipes-page.mjs.map +1 -1
- package/fesm2022/ng-atomic-common-pipes-pagination.mjs.map +1 -1
- package/fesm2022/ng-atomic-common-pipes-query.mjs.map +1 -1
- package/fesm2022/ng-atomic-common-pipes-resolve-columns.mjs.map +1 -1
- package/fesm2022/ng-atomic-common-pipes-secret.mjs.map +1 -1
- package/fesm2022/ng-atomic-common-pipes-select-id.mjs.map +1 -1
- package/fesm2022/ng-atomic-common-pipes-signal.mjs.map +1 -1
- package/fesm2022/ng-atomic-common-pipes-smart-field.mjs +15 -4
- package/fesm2022/ng-atomic-common-pipes-smart-field.mjs.map +1 -1
- package/fesm2022/ng-atomic-common-pipes-sort-by.mjs.map +1 -1
- package/fesm2022/ng-atomic-common-pipes-sort.mjs.map +1 -1
- package/fesm2022/ng-atomic-common-pipes-style.mjs +48 -0
- package/fesm2022/ng-atomic-common-pipes-style.mjs.map +1 -0
- package/fesm2022/ng-atomic-common-pipes-yen.mjs.map +1 -1
- package/fesm2022/ng-atomic-common-services-app.mjs.map +1 -1
- package/fesm2022/ng-atomic-common-services-auth.mjs.map +1 -1
- package/fesm2022/ng-atomic-common-services-breakpoint.mjs.map +1 -1
- package/fesm2022/ng-atomic-common-services-chips-manager.mjs.map +1 -1
- package/fesm2022/ng-atomic-common-services-csv.mjs.map +1 -1
- package/fesm2022/ng-atomic-common-services-fab.mjs.map +1 -1
- package/fesm2022/ng-atomic-common-services-form-_index.mjs.map +1 -1
- package/fesm2022/ng-atomic-common-services-form-columns.mjs +27 -20
- package/fesm2022/ng-atomic-common-services-form-columns.mjs.map +1 -1
- package/fesm2022/ng-atomic-common-services-form-json-schema.mjs +76 -57
- package/fesm2022/ng-atomic-common-services-form-json-schema.mjs.map +1 -1
- package/fesm2022/ng-atomic-common-services-form-pagination.mjs +3 -3
- package/fesm2022/ng-atomic-common-services-form-pagination.mjs.map +1 -1
- package/fesm2022/ng-atomic-common-services-form-sort.mjs.map +1 -1
- package/fesm2022/ng-atomic-common-services-form.mjs.map +1 -1
- package/fesm2022/ng-atomic-common-services-initializer.mjs.map +1 -1
- package/fesm2022/ng-atomic-common-services-language.mjs +46 -0
- package/fesm2022/ng-atomic-common-services-language.mjs.map +1 -0
- package/fesm2022/ng-atomic-common-services-loading.mjs +1 -1
- package/fesm2022/ng-atomic-common-services-loading.mjs.map +1 -1
- package/fesm2022/ng-atomic-common-services-navigation-history.mjs.map +1 -1
- package/fesm2022/ng-atomic-common-services-query-resolver.mjs +3 -3
- package/fesm2022/ng-atomic-common-services-query-resolver.mjs.map +1 -1
- package/fesm2022/ng-atomic-common-services-root-property.mjs.map +1 -1
- package/fesm2022/ng-atomic-common-services-router.mjs.map +1 -1
- package/fesm2022/ng-atomic-common-services-secret.mjs.map +1 -1
- package/fesm2022/ng-atomic-common-services-sheets-actions.mjs.map +1 -1
- package/fesm2022/ng-atomic-common-services-sheets.mjs.map +1 -1
- package/fesm2022/ng-atomic-common-services-side-app.mjs.map +1 -1
- package/fesm2022/ng-atomic-common-services-side-nav-mode.mjs.map +1 -1
- package/fesm2022/ng-atomic-common-services-snack-bar.mjs +29 -11
- package/fesm2022/ng-atomic-common-services-snack-bar.mjs.map +1 -1
- package/fesm2022/ng-atomic-common-services-spreadsheet.mjs +758 -0
- package/fesm2022/ng-atomic-common-services-spreadsheet.mjs.map +1 -0
- package/fesm2022/ng-atomic-common-services-ui.mjs +14 -7
- package/fesm2022/ng-atomic-common-services-ui.mjs.map +1 -1
- package/fesm2022/ng-atomic-common-stores-entities.mjs.map +1 -1
- package/fesm2022/ng-atomic-common-stores-entity.mjs.map +1 -1
- package/fesm2022/ng-atomic-common-stores-pagination.mjs.map +1 -1
- package/fesm2022/ng-atomic-common-stores-query.mjs +1 -1
- package/fesm2022/ng-atomic-common-stores-query.mjs.map +1 -1
- package/fesm2022/ng-atomic-common-stores-selection.mjs.map +1 -1
- package/fesm2022/ng-atomic-common-stores-sort.mjs.map +1 -1
- package/fesm2022/ng-atomic-common-utils.mjs +34 -15
- package/fesm2022/ng-atomic-common-utils.mjs.map +1 -1
- package/fesm2022/ng-atomic-common.mjs.map +1 -1
- package/models/index.d.ts +2 -1
- package/package.json +73 -44
- package/pipes/actions/actions.pipe.d.ts +2 -1
- package/pipes/columns/columns.pipe.d.ts +1 -0
- package/pipes/data-accessor/data-accessor.pipe.d.ts +4 -2
- package/pipes/domain/domain.pipe.d.ts +7 -6
- package/pipes/expression/expression.pipe.d.ts +9 -0
- package/pipes/expression/index.d.ts +1 -0
- package/pipes/smart-field/smart-field.pipe.d.ts +2 -2
- package/pipes/style/index.d.ts +1 -0
- package/pipes/style/style.pipe.d.ts +18 -0
- package/services/form/_index/index.service.d.ts +4 -4
- package/services/form/columns/columns.service.d.ts +5 -2
- package/services/form/json-schema/json-schema.service.d.ts +9 -1
- package/services/form/pagination/pagination.service.d.ts +5 -5
- package/services/language/index.d.ts +1 -0
- package/services/language/language.service.d.ts +12 -0
- package/services/query-resolver/query-resolver.service.d.ts +2 -2
- package/services/snack-bar/snack-bar.service.d.ts +5 -3
- package/services/spreadsheet/directives/grid-cell.directive.d.ts +41 -0
- package/services/spreadsheet/directives/index.d.ts +1 -0
- package/services/spreadsheet/features/clipboard.service.d.ts +15 -0
- package/services/spreadsheet/features/data.service.d.ts +16 -0
- package/services/spreadsheet/features/editor.service.d.ts +22 -0
- package/services/spreadsheet/features/grid.service.d.ts +17 -0
- package/services/spreadsheet/features/index.d.ts +7 -0
- package/services/spreadsheet/features/navigation.service.d.ts +17 -0
- package/services/spreadsheet/features/protection.service.d.ts +24 -0
- package/services/spreadsheet/features/selection.service.d.ts +40 -0
- package/services/spreadsheet/index.d.ts +4 -0
- package/services/spreadsheet/models/cell.model.d.ts +17 -0
- package/services/spreadsheet/models/index.d.ts +1 -0
- package/services/spreadsheet/spreadsheet.service.d.ts +29 -0
- package/utils/expression/expression.transformer.d.ts +12 -0
- package/utils/expression/index.d.ts +1 -0
- package/utils/index.d.ts +1 -1
- package/utils/inject/inject.d.ts +2 -2
- package/esm2022/pipes/smart-exp/index.mjs +0 -3
- package/esm2022/pipes/smart-exp/ng-atomic-common-pipes-smart-exp.mjs +0 -5
- package/esm2022/pipes/smart-exp/smart-exp.module.mjs +0 -16
- package/esm2022/pipes/smart-exp/smart-exp.pipe.mjs +0 -27
- package/esm2022/utils/smart-exp-transformer/index.mjs +0 -2
- package/esm2022/utils/smart-exp-transformer/smart-exp-transformer.mjs +0 -18
- package/fesm2022/ng-atomic-common-pipes-smart-exp.mjs +0 -47
- package/fesm2022/ng-atomic-common-pipes-smart-exp.mjs.map +0 -1
- package/pipes/smart-exp/index.d.ts +0 -2
- package/pipes/smart-exp/smart-exp.module.d.ts +0 -7
- package/pipes/smart-exp/smart-exp.pipe.d.ts +0 -11
- package/utils/smart-exp-transformer/index.d.ts +0 -1
- package/utils/smart-exp-transformer/smart-exp-transformer.d.ts +0 -6
|
@@ -5,10 +5,10 @@ export class PaginationService {
|
|
|
5
5
|
constructor() {
|
|
6
6
|
this.fb = inject(FormBuilder);
|
|
7
7
|
}
|
|
8
|
-
build({
|
|
8
|
+
build({ size = 50, index = 0, length = 0, } = {}) {
|
|
9
9
|
return this.fb.group({
|
|
10
|
-
|
|
11
|
-
|
|
10
|
+
size: [size],
|
|
11
|
+
index: [index],
|
|
12
12
|
length: [length],
|
|
13
13
|
});
|
|
14
14
|
}
|
|
@@ -21,4 +21,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.1.2", ngImpor
|
|
|
21
21
|
providedIn: 'root'
|
|
22
22
|
}]
|
|
23
23
|
}] });
|
|
24
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
24
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicGFnaW5hdGlvbi5zZXJ2aWNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vcGFja2FnZXMvQG5nLWF0b21pYy9jb21tb24vc3JjL2xpYi9zZXJ2aWNlcy9mb3JtL3BhZ2luYXRpb24vcGFnaW5hdGlvbi5zZXJ2aWNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQ25ELE9BQU8sRUFBRSxXQUFXLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQzs7QUFXN0MsTUFBTSxPQUFPLGlCQUFpQjtJQUg5QjtRQUlVLE9BQUUsR0FBRyxNQUFNLENBQUMsV0FBVyxDQUFDLENBQUM7S0FhbEM7SUFYQyxLQUFLLENBQUMsRUFDSixJQUFJLEdBQUcsRUFBRSxFQUNULEtBQUssR0FBRyxDQUFDLEVBQ1QsTUFBTSxHQUFHLENBQUMsTUFDc0IsRUFBRTtRQUNsQyxPQUFPLElBQUksQ0FBQyxFQUFFLENBQUMsS0FBSyxDQUFDO1lBQ25CLElBQUksRUFBRSxDQUFDLElBQUksQ0FBQztZQUNaLEtBQUssRUFBRSxDQUFDLEtBQUssQ0FBQztZQUNkLE1BQU0sRUFBRSxDQUFDLE1BQU0sQ0FBQztTQUNqQixDQUFDLENBQUM7SUFDTCxDQUFDOzhHQWJVLGlCQUFpQjtrSEFBakIsaUJBQWlCLGNBRmhCLE1BQU07OzJGQUVQLGlCQUFpQjtrQkFIN0IsVUFBVTttQkFBQztvQkFDVixVQUFVLEVBQUUsTUFBTTtpQkFDbkIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBJbmplY3RhYmxlLCBpbmplY3QgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IEZvcm1CdWlsZGVyIH0gZnJvbSAnQGFuZ3VsYXIvZm9ybXMnO1xuXG5leHBvcnQgaW50ZXJmYWNlIFBhZ2luYXRpb25Gb3JtVmFsdWUge1xuICBzaXplOiBudW1iZXIsXG4gIGluZGV4OiBudW1iZXIsXG4gIGxlbmd0aDogbnVtYmVyLFxufVxuXG5ASW5qZWN0YWJsZSh7XG4gIHByb3ZpZGVkSW46ICdyb290J1xufSlcbmV4cG9ydCBjbGFzcyBQYWdpbmF0aW9uU2VydmljZSB7XG4gIHByaXZhdGUgZmIgPSBpbmplY3QoRm9ybUJ1aWxkZXIpO1xuXG4gIGJ1aWxkKHtcbiAgICBzaXplID0gNTAsXG4gICAgaW5kZXggPSAwLFxuICAgIGxlbmd0aCA9IDAsXG4gIH06IFBhcnRpYWw8UGFnaW5hdGlvbkZvcm1WYWx1ZT4gPSB7fSkge1xuICAgIHJldHVybiB0aGlzLmZiLmdyb3VwKHtcbiAgICAgIHNpemU6IFtzaXplXSxcbiAgICAgIGluZGV4OiBbaW5kZXhdLFxuICAgICAgbGVuZ3RoOiBbbGVuZ3RoXSxcbiAgICB9KTtcbiAgfVxufVxuIl19
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
export * from './language.service';
|
|
2
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wYWNrYWdlcy9AbmctYXRvbWljL2NvbW1vbi9zcmMvbGliL3NlcnZpY2VzL2xhbmd1YWdlL2luZGV4LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLGNBQWMsb0JBQW9CLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJleHBvcnQgKiBmcm9tICcuL2xhbmd1YWdlLnNlcnZpY2UnO1xuIl19
|
|
@@ -0,0 +1,39 @@
|
|
|
1
|
+
import { InjectionToken, inject, Injectable } from '@angular/core';
|
|
2
|
+
import { get, has } from 'lodash-es';
|
|
3
|
+
import * as i0 from "@angular/core";
|
|
4
|
+
export const DOMAIN_LANG_MAP = new InjectionToken('domain lang map');
|
|
5
|
+
export class LanguageService {
|
|
6
|
+
constructor() {
|
|
7
|
+
this.map = inject(DOMAIN_LANG_MAP, { optional: true }) ?? {};
|
|
8
|
+
this.regexResolvers = Object.entries(this.map).map(([regexKey, value]) => {
|
|
9
|
+
const regexIndicators = /[.*+?^${}()|[\]\\]/;
|
|
10
|
+
if (regexIndicators.test(regexKey)) {
|
|
11
|
+
return (key) => {
|
|
12
|
+
const regex = new RegExp(regexKey);
|
|
13
|
+
return regex.test(key) ? value : null;
|
|
14
|
+
};
|
|
15
|
+
}
|
|
16
|
+
return () => null;
|
|
17
|
+
});
|
|
18
|
+
}
|
|
19
|
+
translate(text, src, dest, context) {
|
|
20
|
+
return text;
|
|
21
|
+
}
|
|
22
|
+
transform(input, map = this.map) {
|
|
23
|
+
if (has(map, input))
|
|
24
|
+
return get(map, input);
|
|
25
|
+
for (const resolver of this.regexResolvers) {
|
|
26
|
+
const result = resolver(input);
|
|
27
|
+
if (result)
|
|
28
|
+
return result;
|
|
29
|
+
}
|
|
30
|
+
return map[input] ?? input;
|
|
31
|
+
}
|
|
32
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.1.2", ngImport: i0, type: LanguageService, deps: [], target: i0.ɵɵFactoryTarget.Injectable }); }
|
|
33
|
+
static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "18.1.2", ngImport: i0, type: LanguageService, providedIn: 'any' }); }
|
|
34
|
+
}
|
|
35
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.1.2", ngImport: i0, type: LanguageService, decorators: [{
|
|
36
|
+
type: Injectable,
|
|
37
|
+
args: [{ providedIn: 'any' }]
|
|
38
|
+
}] });
|
|
39
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibGFuZ3VhZ2Uuc2VydmljZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3BhY2thZ2VzL0BuZy1hdG9taWMvY29tbW9uL3NyYy9saWIvc2VydmljZXMvbGFuZ3VhZ2UvbGFuZ3VhZ2Uuc2VydmljZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsY0FBYyxFQUFFLE1BQU0sRUFBRSxVQUFVLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDbkUsT0FBTyxFQUFFLEdBQUcsRUFBRSxHQUFHLEVBQUUsTUFBTSxXQUFXLENBQUM7O0FBR3JDLE1BQU0sQ0FBQyxNQUFNLGVBQWUsR0FBRyxJQUFJLGNBQWMsQ0FBZ0IsaUJBQWlCLENBQUMsQ0FBQztBQUdwRixNQUFNLE9BQU8sZUFBZTtJQUQ1QjtRQUVZLFFBQUcsR0FBRyxNQUFNLENBQUMsZUFBZSxFQUFFLEVBQUMsUUFBUSxFQUFFLElBQUksRUFBQyxDQUFDLElBQUksRUFBRSxDQUFDO1FBQ3RELG1CQUFjLEdBQUcsTUFBTSxDQUFDLE9BQU8sQ0FBQyxJQUFJLENBQUMsR0FBRyxDQUFDLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxRQUFRLEVBQUUsS0FBSyxDQUFDLEVBQUUsRUFBRTtZQUM1RSxNQUFNLGVBQWUsR0FBRyxvQkFBb0IsQ0FBQztZQUM3QyxJQUFJLGVBQWUsQ0FBQyxJQUFJLENBQUMsUUFBUSxDQUFDLEVBQUUsQ0FBQztnQkFDbkMsT0FBTyxDQUFDLEdBQVcsRUFBRSxFQUFFO29CQUNyQixNQUFNLEtBQUssR0FBRyxJQUFJLE1BQU0sQ0FBQyxRQUFRLENBQUMsQ0FBQztvQkFDbkMsT0FBTyxLQUFLLENBQUMsSUFBSSxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQztnQkFDeEMsQ0FBQyxDQUFBO1lBQ0gsQ0FBQztZQUNELE9BQU8sR0FBRyxFQUFFLENBQUMsSUFBSSxDQUFDO1FBQ3BCLENBQUMsQ0FBQyxDQUFDO0tBY0o7SUFaQyxTQUFTLENBQUMsSUFBWSxFQUFFLEdBQVcsRUFBRSxJQUFZLEVBQUUsT0FBYTtRQUM5RCxPQUFPLElBQUksQ0FBQztJQUNkLENBQUM7SUFFRCxTQUFTLENBQUMsS0FBYSxFQUFFLE1BQXFCLElBQUksQ0FBQyxHQUFHO1FBQ3BELElBQUksR0FBRyxDQUFDLEdBQUcsRUFBRSxLQUFLLENBQUM7WUFBRSxPQUFPLEdBQUcsQ0FBQyxHQUFHLEVBQUUsS0FBSyxDQUFDLENBQUM7UUFDNUMsS0FBSyxNQUFNLFFBQVEsSUFBSSxJQUFJLENBQUMsY0FBYyxFQUFFLENBQUM7WUFDM0MsTUFBTSxNQUFNLEdBQUcsUUFBUSxDQUFDLEtBQUssQ0FBQyxDQUFDO1lBQy9CLElBQUksTUFBTTtnQkFBRSxPQUFPLE1BQU0sQ0FBQztRQUM1QixDQUFDO1FBQ0QsT0FBTyxHQUFHLENBQUMsS0FBSyxDQUFDLElBQUksS0FBSyxDQUFDO0lBQzdCLENBQUM7OEdBeEJVLGVBQWU7a0hBQWYsZUFBZSxjQURGLEtBQUs7OzJGQUNsQixlQUFlO2tCQUQzQixVQUFVO21CQUFDLEVBQUUsVUFBVSxFQUFFLEtBQUssRUFBRSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEluamVjdGlvblRva2VuLCBpbmplY3QsIEluamVjdGFibGUgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IGdldCwgaGFzIH0gZnJvbSAnbG9kYXNoLWVzJztcblxuZXhwb3J0IHR5cGUgRG9tYWluTGFuZ01hcCA9IFJlY29yZDxzdHJpbmcsIHN0cmluZz47XG5leHBvcnQgY29uc3QgRE9NQUlOX0xBTkdfTUFQID0gbmV3IEluamVjdGlvblRva2VuPERvbWFpbkxhbmdNYXA+KCdkb21haW4gbGFuZyBtYXAnKTtcblxuQEluamVjdGFibGUoeyBwcm92aWRlZEluOiAnYW55JyB9KVxuZXhwb3J0IGNsYXNzIExhbmd1YWdlU2VydmljZSB7XG4gIHByb3RlY3RlZCBtYXAgPSBpbmplY3QoRE9NQUlOX0xBTkdfTUFQLCB7b3B0aW9uYWw6IHRydWV9KSA/PyB7fTtcbiAgcHJvdGVjdGVkIHJlZ2V4UmVzb2x2ZXJzID0gT2JqZWN0LmVudHJpZXModGhpcy5tYXApLm1hcCgoW3JlZ2V4S2V5LCB2YWx1ZV0pID0+IHtcbiAgICBjb25zdCByZWdleEluZGljYXRvcnMgPSAvWy4qKz9eJHt9KCl8W1xcXVxcXFxdLztcbiAgICBpZiAocmVnZXhJbmRpY2F0b3JzLnRlc3QocmVnZXhLZXkpKSB7XG4gICAgICByZXR1cm4gKGtleTogc3RyaW5nKSA9PiB7XG4gICAgICAgIGNvbnN0IHJlZ2V4ID0gbmV3IFJlZ0V4cChyZWdleEtleSk7XG4gICAgICAgIHJldHVybiByZWdleC50ZXN0KGtleSkgPyB2YWx1ZSA6IG51bGw7XG4gICAgICB9XG4gICAgfVxuICAgIHJldHVybiAoKSA9PiBudWxsO1xuICB9KTtcblxuICB0cmFuc2xhdGUodGV4dDogc3RyaW5nLCBzcmM6IHN0cmluZywgZGVzdDogc3RyaW5nLCBjb250ZXh0PzogYW55KTogc3RyaW5nIHtcbiAgICByZXR1cm4gdGV4dDtcbiAgfVxuXG4gIHRyYW5zZm9ybShpbnB1dDogc3RyaW5nLCBtYXA6IERvbWFpbkxhbmdNYXAgPSB0aGlzLm1hcCk6IHN0cmluZyB7XG4gICAgaWYgKGhhcyhtYXAsIGlucHV0KSkgcmV0dXJuIGdldChtYXAsIGlucHV0KTtcbiAgICBmb3IgKGNvbnN0IHJlc29sdmVyIG9mIHRoaXMucmVnZXhSZXNvbHZlcnMpIHtcbiAgICAgIGNvbnN0IHJlc3VsdCA9IHJlc29sdmVyKGlucHV0KTtcbiAgICAgIGlmIChyZXN1bHQpIHJldHVybiByZXN1bHQ7XG4gICAgfVxuICAgIHJldHVybiBtYXBbaW5wdXRdID8/IGlucHV0O1xuICB9XG59XG4iXX0=
|
|
@@ -0,0 +1,5 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Generated bundle index. Do not edit.
|
|
3
|
+
*/
|
|
4
|
+
export * from './index';
|
|
5
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibmctYXRvbWljLWNvbW1vbi1zZXJ2aWNlcy1sYW5ndWFnZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3BhY2thZ2VzL0BuZy1hdG9taWMvY29tbW9uL3NyYy9saWIvc2VydmljZXMvbGFuZ3VhZ2UvbmctYXRvbWljLWNvbW1vbi1zZXJ2aWNlcy1sYW5ndWFnZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQTs7R0FFRztBQUVILGNBQWMsU0FBUyxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiLyoqXG4gKiBHZW5lcmF0ZWQgYnVuZGxlIGluZGV4LiBEbyBub3QgZWRpdC5cbiAqL1xuXG5leHBvcnQgKiBmcm9tICcuL2luZGV4JztcbiJdfQ==
|
|
@@ -11,7 +11,7 @@ export class LoadingService {
|
|
|
11
11
|
this.isLoading = this.getIsLoading();
|
|
12
12
|
this.isLoading$ = toObservable(this.isLoading);
|
|
13
13
|
this.isProgress = (domain = 'progress') => this.getIsLoading(domain)();
|
|
14
|
-
effect(() => console.info('LoadingService
|
|
14
|
+
effect(() => console.info('[LoadingService] loadingMap:', this.loadingMap()));
|
|
15
15
|
}
|
|
16
16
|
getIsLoading(domain = 'default') {
|
|
17
17
|
return computed(() => Object.keys(get(this.loadingMap(), [domain], {}))?.length > 0);
|
|
@@ -59,4 +59,4 @@ export function provideNoopLoadingService() {
|
|
|
59
59
|
export function randomStr(n = 16) {
|
|
60
60
|
return Math.random().toString(36).substr(2, n);
|
|
61
61
|
}
|
|
62
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
62
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibG9hZGluZy5zZXJ2aWNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vcGFja2FnZXMvQG5nLWF0b21pYy9jb21tb24vc3JjL2xpYi9zZXJ2aWNlcy9sb2FkaW5nL2xvYWRpbmcuc2VydmljZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsUUFBUSxFQUFFLE1BQU0sRUFBRSxVQUFVLEVBQVUsTUFBTSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQzdFLE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSw0QkFBNEIsQ0FBQztBQUMxRCxPQUFPLEVBQUUsR0FBRyxFQUFFLEtBQUssRUFBRSxHQUFHLEVBQUUsTUFBTSxXQUFXLENBQUM7QUFDNUMsT0FBTyxFQUFzRCxFQUFFLEVBQUUsTUFBTSxNQUFNLENBQUM7QUFDOUUsT0FBTyxFQUFFLEdBQUcsRUFBRSxTQUFTLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQzs7QUFPaEQsTUFBTSxPQUFPLGNBQWM7SUFPekI7UUFOUyxlQUFVLEdBQUcsTUFBTSxDQUFhLEVBQUUsQ0FBQyxDQUFBO1FBQ25DLGdCQUFXLEdBQUcsWUFBWSxDQUFDLElBQUksQ0FBQyxVQUFVLENBQUMsQ0FBQztRQUM1QyxjQUFTLEdBQUcsSUFBSSxDQUFDLFlBQVksRUFBRSxDQUFDO1FBQ2hDLGVBQVUsR0FBRyxZQUFZLENBQUMsSUFBSSxDQUFDLFNBQVMsQ0FBQyxDQUFDO1FBQzFDLGVBQVUsR0FBRyxDQUFDLE1BQU0sR0FBRyxVQUFVLEVBQUUsRUFBRSxDQUFDLElBQUksQ0FBQyxZQUFZLENBQUMsTUFBTSxDQUFDLEVBQUUsQ0FBQztRQUd6RSxNQUFNLENBQUMsR0FBRyxFQUFFLENBQUMsT0FBTyxDQUFDLElBQUksQ0FBQyw4QkFBOEIsRUFBRSxJQUFJLENBQUMsVUFBVSxFQUFFLENBQUMsQ0FBQyxDQUFDO0lBQ2hGLENBQUM7SUFFRCxZQUFZLENBQUMsTUFBTSxHQUFHLFNBQVM7UUFD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QUFDLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQztBQUNqRCxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgY29tcHV0ZWQsIGVmZmVjdCwgSW5qZWN0YWJsZSwgU2lnbmFsLCBzaWduYWwgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IHRvT2JzZXJ2YWJsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUvcnhqcy1pbnRlcm9wJztcbmltcG9ydCB7IHNldCwgdW5zZXQsIGdldCB9IGZyb20gJ2xvZGFzaC1lcyc7XG5pbXBvcnQgeyBPYnNlcnZhYmxlSW5wdXQsIE9ic2VydmVkVmFsdWVPZiwgT3BlcmF0b3JGdW5jdGlvbiwgb2YgfSBmcm9tICdyeGpzJztcbmltcG9ydCB7IHRhcCwgc3dpdGNoTWFwIH0gZnJvbSAncnhqcy9vcGVyYXRvcnMnO1xuXG50eXBlIExvYWRpbmdNYXAgPSBSZWNvcmQ8c3RyaW5nLCBSZWNvcmQ8c3RyaW5nLCBib29sZWFuPj47XG5cbkBJbmplY3RhYmxlKHtcbiAgcHJvdmlkZWRJbjogJ3Jvb3QnLFxufSlcbmV4cG9ydCBjbGFzcyBMb2FkaW5nU2VydmljZSB7XG4gIHJlYWRvbmx5IGxvYWRpbmdNYXAgPSBzaWduYWw8TG9hZGluZ01hcD4oe30pXG4gIHJlYWRvbmx5IGxvYWRpbmdNYXAkID0gdG9PYnNlcnZhYmxlKHRoaXMubG9hZGluZ01hcCk7XG4gIHJlYWRvbmx5IGlzTG9hZGluZyA9IHRoaXMuZ2V0SXNMb2FkaW5nKCk7XG4gIHJlYWRvbmx5IGlzTG9hZGluZyQgPSB0b09ic2VydmFibGUodGhpcy5pc0xvYWRpbmcpO1xuICByZWFkb25seSBpc1Byb2dyZXNzID0gKGRvbWFpbiA9ICdwcm9ncmVzcycpID0+IHRoaXMuZ2V0SXNMb2FkaW5nKGRvbWFpbikoKTtcblxuICBjb25zdHJ1Y3RvcigpIHtcbiAgICBlZmZlY3QoKCkgPT4gY29uc29sZS5pbmZvKCdbTG9hZGluZ1NlcnZpY2VdIGxvYWRpbmdNYXA6JywgdGhpcy5sb2FkaW5nTWFwKCkpKTtcbiAgfVxuXG4gIGdldElzTG9hZGluZyhkb21haW4gPSAnZGVmYXVsdCcpOiBTaWduYWw8Ym9vbGVhbj4ge1xuICAgIHJldHVybiBjb21wdXRlZCgoKSA9PiBPYmplY3Qua2V5cyhnZXQodGhpcy5sb2FkaW5nTWFwKCksIFtkb21haW5dLCB7fSkpPy5sZW5ndGggPiAwKTtcbiAgfVxuXG4gIHN0YXJ0KGtleTogc3RyaW5nID0gcmFuZG9tU3RyKDE2KSwgZG9tYWluID0gJ2RlZmF1bHQnKTogc3RyaW5nIHtcbiAgICB0aGlzLmxvYWRpbmdNYXAudXBkYXRlKChtYXApID0+ICh7Li4uc2V0KG1hcCwgW2RvbWFpbiwga2V5XSwgdHJ1ZSl9KSk7XG4gICAgcmV0dXJuIGtleTtcbiAgfVxuXG4gIGVuZChrZXk6IHN0cmluZywgZG9tYWluID0gJ2RlZmF1bHQnKTogdm9pZCB7XG4gICAgdGhpcy5sb2FkaW5nTWFwLnVwZGF0ZSgobWFwKSA9PiAoey4uLih1bnNldChtYXAsIFtkb21haW4sIGtleV0pLCBtYXApfSkpO1xuICB9XG5cbiAgYXN5bmMgYXdhaXQ8VCA9IGFueT4oXG4gICAgY2FsbGJhY2s6ICguLi5hcmdzOiBhbnlbXSkgPT4gUHJvbWlzZTxUIHwgdm9pZD4gfCAoVCB8IHZvaWQpLFxuICAgIGRvbWFpbiA9ICdkZWZhdWx0JyxcbiAgICBrZXkgPSByYW5kb21TdHIoMTYpLFxuICApOiBQcm9taXNlPFQgfCB2b2lkPiB7XG4gICAgdGhpcy5zdGFydChrZXksIGRvbWFpbik7XG4gICAgY29uc3Qgd3JhcHBlZENhbGxiYWNrID0gYXN5bmMgKCkgPT4gYXdhaXQgY2FsbGJhY2soKTtcbiAgICBjb25zdCByZXMgPSBhd2FpdCB3cmFwcGVkQ2FsbGJhY2soKS5jYXRjaChlcnJvciA9PiB7Y29uc29sZS5lcnJvcihlcnJvcik7fSk7XG4gICAgdGhpcy5lbmQoa2V5LCBkb21haW4pO1xuICAgIHJldHVybiByZXM7XG4gIH1cblxuICBzd2l0Y2hNYXA8VCwgTyBleHRlbmRzIE9ic2VydmFibGVJbnB1dDxhbnk+PihcbiAgICBwcm9qZWN0OiAodmFsdWU6IFQsIGluZGV4OiBudW1iZXIpID0+IE8sXG4gICAgZG9tYWluID0gJ2RlZmF1bHQnLFxuICAgIGtleSA9IHJhbmRvbVN0cigxNiksXG4gICk6IE9wZXJhdG9yRnVuY3Rpb248VCwgT2JzZXJ2ZWRWYWx1ZU9mPE8+PiB7XG4gICAgcmV0dXJuIChzb3VyY2UpID0+IHNvdXJjZS5waXBlKFxuICAgICAgdGFwKCgpID0+IHRoaXMuc3RhcnQoa2V5LCBkb21haW4pKSxcbiAgICAgIHN3aXRjaE1hcChwcm9qZWN0KSxcbiAgICAgIHRhcCgoKSA9PiB0aGlzLmVuZChrZXksIGRvbWFpbikpLFxuICAgICk7XG4gIH1cbn1cblxuQEluamVjdGFibGUoKVxuZXhwb3J0IGNsYXNzIE5vb3BMb2FkaW5nU2VydmljZSBleHRlbmRzIExvYWRpbmdTZXJ2aWNlIHtcbiAgcmVhZG9ubHkgaXNMb2FkaW5nJCA9IG9mKGZhbHNlKTtcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIHByb3ZpZGVOb29wTG9hZGluZ1NlcnZpY2UoKSB7XG4gIHJldHVybiB7IHByb3ZpZGU6IExvYWRpbmdTZXJ2aWNlLCB1c2VDbGFzczogTm9vcExvYWRpbmdTZXJ2aWNlIH07XG59XG5cbmV4cG9ydCBmdW5jdGlvbiByYW5kb21TdHIobiA9IDE2KTogc3RyaW5nIHtcbiAgcmV0dXJuIE1hdGgucmFuZG9tKCkudG9TdHJpbmcoMzYpLnN1YnN0cigyLCBuKTtcbn0iXX0=
|
|
@@ -1,7 +1,6 @@
|
|
|
1
1
|
import { Injectable, inject } from "@angular/core";
|
|
2
|
-
import { DOMAIN_LANG_MAP } from "@ng-atomic/common/
|
|
3
|
-
import { toObject } from '@ng-atomic/common/utils';
|
|
4
|
-
import { smartExpTransformer, SMART_EXP_TRANSFORMER } from '@ng-atomic/common/utils';
|
|
2
|
+
import { DOMAIN_LANG_MAP } from "@ng-atomic/common/services/language";
|
|
3
|
+
import { defaultExpressionTransformer, EXPRESSION_TRANSFORMER, toObject } from '@ng-atomic/common/utils';
|
|
5
4
|
import { flattenExcludeDayjs as flatten } from '@nx-ddd/core/util/walk-obj';
|
|
6
5
|
import dayjs from 'dayjs';
|
|
7
6
|
import { DATA_ACCESSOR, defaultDataAccessor } from "@ng-atomic/common/pipes/data-accessor";
|
|
@@ -32,7 +31,7 @@ export class QueryResolverService {
|
|
|
32
31
|
constructor() {
|
|
33
32
|
this.parser = inject(QueryParserService);
|
|
34
33
|
this.dataAccessor = inject(DATA_ACCESSOR, { optional: true }) ?? defaultDataAccessor;
|
|
35
|
-
this.transformer = inject(
|
|
34
|
+
this.transformer = inject(EXPRESSION_TRANSFORMER, { optional: true }) ?? defaultExpressionTransformer;
|
|
36
35
|
this.map = inject(DOMAIN_LANG_MAP, { optional: true }) ?? {};
|
|
37
36
|
this.reversedMap = Object.entries(this.map).reduce((p, [k, v]) => ({ ...p, [v]: k }), {});
|
|
38
37
|
}
|
|
@@ -92,4 +91,4 @@ function lt(value, query) {
|
|
|
92
91
|
? dayjs(query).isAfter(value)
|
|
93
92
|
: false;
|
|
94
93
|
}
|
|
95
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicXVlcnktcmVzb2x2ZXIuc2VydmljZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3BhY2thZ2VzL0BuZy1hdG9taWMvY29tbW9uL3NyYy9saWIvc2VydmljZXMvcXVlcnktcmVzb2x2ZXIvcXVlcnktcmVzb2x2ZXIuc2VydmljZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUNuRCxPQUFPLEVBQUUsZUFBZSxFQUFFLE1BQU0sZ0NBQWdDLENBQUM7QUFDakUsT0FBTyxFQUFFLFFBQVEsRUFBRSxNQUFNLHlCQUF5QixDQUFDO0FBQ25ELE9BQU8sRUFBRSxtQkFBbUIsRUFBRSxxQkFBcUIsRUFBRSxNQUFNLHlCQUF5QixDQUFDO0FBQ3JGLE9BQU8sRUFBRSxtQkFBbUIsSUFBSSxPQUFPLEVBQUUsTUFBTSw0QkFBNEIsQ0FBQztBQUM1RSxPQUFPLEtBQUssTUFBTSxPQUFPLENBQUM7QUFDMUIsT0FBTyxFQUFFLGFBQWEsRUFBRSxtQkFBbUIsRUFBRSxNQUFNLHVDQUF1QyxDQUFDOztBQVUzRixNQUFNLE9BQU8sa0JBQWtCO0lBQzdCLEtBQUssQ0FBQyxLQUFhO1FBQ2pCLE9BQU8sS0FBSyxDQUFDLEtBQUssQ0FBQyxHQUFHLENBQUMsQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsTUFBTSxDQUFDLENBQUMsR0FBRyxDQUFDLEdBQUcsQ0FBQyxFQUFFO1lBQ3RELE1BQU0sR0FBRyxHQUFHLEdBQUcsQ0FBQyxVQUFVLENBQUMsR0FBRyxDQUFDLENBQUM7WUFDaEMsSUFBSSxHQUFHO2dCQUFFLEdBQUcsR0FBRyxHQUFHLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxDQUFDO1lBRTVCLEtBQUssTUFBTSxRQUFRLElBQUksQ0FBQyxHQUFHLEVBQUUsR0FBRyxFQUFFLEdBQUcsRUFBRSxHQUFHLENBQVUsRUFBRSxDQUFDO2dCQUNyRCxJQUFJLEdBQUcsQ0FBQyxRQUFRLENBQUMsUUFBUSxDQUFDLEVBQUUsQ0FBQztvQkFDM0IsTUFBTSxDQUFDLEdBQUcsRUFBRSxLQUFLLENBQUMsR0FBRyxHQUFHLENBQUMsS0FBSyxDQUFDLFFBQVEsQ0FBQyxDQUFDO29CQUN6QyxPQUFPLEVBQUUsR0FBRyxFQUFFLFFBQVEsRUFBRSxLQUFLLEVBQUUsR0FBRyxFQUFFLENBQUM7Z0JBQ3ZDLENBQUM7WUFDSCxDQUFDO1lBQ0QsT0FBTyxFQUFFLEdBQUcsRUFBRSxHQUFHLEVBQUUsUUFBUSxFQUFFLEdBQUcsRUFBRSxLQUFLLEVBQUUsR0FBRyxFQUFFLEdBQUcsRUFBRSxDQUFDO1FBQ3RELENBQUMsQ0FBQyxDQUFDO0lBQ0wsQ0FBQzs4R0FkVSxrQkFBa0I7a0hBQWxCLGtCQUFrQixjQURMLEtBQUs7OzJGQUNsQixrQkFBa0I7a0JBRDlCLFVBQVU7bUJBQUMsRUFBRSxVQUFVLEVBQUUsS0FBSyxFQUFFOztBQW1CakMsTUFBTSxPQUFPLG9CQUFvQjtJQURqQztRQUVZLFdBQU0sR0FBRyxNQUFNLENBQUMsa0JBQWtCLENBQUMsQ0FBQztRQUNwQyxpQkFBWSxHQUFHLE1BQU0sQ0FBQyxhQUFhLEVBQUUsRUFBQyxRQUFRLEVBQUUsSUFBSSxFQUFDLENBQUMsSUFBSSxtQkFBbUIsQ0FBQztRQUM5RSxnQkFBVyxHQUFHLE1BQU0sQ0FBQyxxQkFBcUIsRUFBRSxFQUFDLFFBQVEsRUFBRSxJQUFJLEVBQUMsQ0FBQyxJQUFJLG1CQUFtQixDQUFDO1FBQ3JGLFFBQUcsR0FBRyxNQUFNLENBQUMsZUFBZSxFQUFFLEVBQUMsUUFBUSxFQUFFLElBQUksRUFBQyxDQUFDLElBQUksRUFBRSxDQUFDO1FBQ3RELGdCQUFXLEdBQUcsTUFBTSxDQUFDLE9BQU8sQ0FBQyxJQUFJLENBQUMsR0FBRyxDQUFDLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxFQUFFLEVBQUUsQ0FBQyxDQUFDLEVBQUMsR0FBRyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLEVBQUMsQ0FBQyxFQUFFLEVBQTRCLENBQUMsQ0FBQztLQTRCeEg7SUExQkMsT0FBTyxDQUFDLEtBQVUsRUFBRSxRQUFRLEdBQUcsRUFBRTtRQUMvQixPQUFPLElBQUksQ0FBQyxNQUFNLENBQUMsS0FBSyxDQUFDLFFBQVEsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxDQUFDLE1BQU0sRUFBRSxLQUFLLEVBQUUsRUFBRSxDQUFDLElBQUksQ0FBQyxZQUFZLENBQUMsTUFBTSxFQUFFLEtBQUssQ0FBQyxFQUFFLEtBQUssQ0FBQyxDQUFDO0lBQ3hHLENBQUM7SUFFUyxZQUFZLENBQUMsS0FBVSxFQUFFLEtBQVk7UUFDN0MsSUFBSSxLQUFLLENBQUMsR0FBRyxLQUFLLEdBQUcsSUFBSSxLQUFLLENBQUMsUUFBUSxLQUFLLEdBQUc7WUFDN0MsT0FBTyxLQUFLLENBQUMsTUFBTSxDQUFDLElBQUksQ0FBQyxFQUFFLENBQUMsSUFBSSxDQUFDLGVBQWUsQ0FBQyxJQUFJLEVBQUUsR0FBRyxFQUFFLEtBQUssQ0FBQyxDQUFDLENBQUM7UUFDdEUsUUFBUSxLQUFLLENBQUMsUUFBUSxFQUFFLENBQUM7WUFDdkIsS0FBSyxHQUFHLENBQUMsQ0FBQyxPQUFPLEtBQUssQ0FBQyxNQUFNLENBQUMsSUFBSSxDQUFDLEVBQUUsQ0FBQyxJQUFJLENBQUMsWUFBWSxDQUFDLElBQUksRUFBRSxHQUFHLEVBQUUsS0FBSyxDQUFDLENBQUMsQ0FBQztZQUMzRSxLQUFLLEdBQUcsQ0FBQyxDQUFDLE9BQU8sS0FBSyxDQUFDLE1BQU0sQ0FBQyxJQUFJLENBQUMsRUFBRSxDQUFDLElBQUksQ0FBQyxZQUFZLENBQUMsSUFBSSxFQUFFLEVBQUUsRUFBRSxLQUFLLENBQUMsQ0FBQyxDQUFDO1lBQzFFLEtBQUssR0FBRyxDQUFDLENBQUMsT0FBTyxLQUFLLENBQUMsTUFBTSxDQUFDLElBQUksQ0FBQyxFQUFFLENBQUMsSUFBSSxDQUFDLFlBQVksQ0FBQyxJQUFJLEVBQUUsRUFBRSxFQUFFLEtBQUssQ0FBQyxDQUFDLENBQUM7WUFDMUUsS0FBSyxHQUFHLENBQUMsQ0FBQyxPQUFPLEtBQUssQ0FBQyxNQUFNLENBQUMsSUFBSSxDQUFDLEVBQUUsQ0FBQyxJQUFJLENBQUMsWUFBWSxDQUFDLElBQUksRUFBRSxFQUFFLEVBQUUsS0FBSyxDQUFDLENBQUMsQ0FBQztRQUM1RSxDQUFDO0lBQ0gsQ0FBQztJQUVTLFlBQVksQ0FBQyxJQUFPLEVBQUUsUUFBdUIsRUFBRSxFQUFDLEdBQUcsRUFBRSxLQUFLLEVBQUUsR0FBRyxFQUFRO1FBQy9FLElBQUksU0FBYyxDQUFDO1FBQ25CLFNBQVMsR0FBRyxJQUFJLENBQUMsWUFBWSxDQUFDLElBQUksRUFBRSxHQUFHLENBQUMsQ0FBQztRQUN6QyxTQUFTLEdBQUcsSUFBSSxDQUFDLFdBQVcsQ0FBQyxTQUFTLEVBQUUsR0FBRyxDQUFDLENBQUM7UUFDN0MsT0FBTyxHQUFHLENBQUMsQ0FBQyxDQUFDLENBQUMsUUFBUSxDQUFDLFNBQVMsRUFBRSxLQUFLLENBQUMsQ0FBQyxDQUFDLENBQUMsUUFBUSxDQUFDLFNBQVMsRUFBRSxLQUFLLENBQUMsQ0FBQztJQUN4RSxDQUFDO0lBRVMsZUFBZSxDQUFDLElBQU8sRUFBRSxRQUF1QixFQUFFLEtBQVk7UUFDdEUsTUFBTSxVQUFVLEdBQUcsT0FBTyxDQUFDLFFBQVEsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDO1FBQzNDLE9BQU8sTUFBTSxDQUFDLElBQUksQ0FBQyxVQUFVLENBQUMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxHQUFHLEVBQUUsRUFBRSxDQUFDLElBQUksQ0FBQyxZQUFZLENBQUMsSUFBSSxFQUFFLFFBQVEsRUFBRSxFQUFDLEdBQUcsS0FBSyxFQUFFLEdBQUcsRUFBQyxDQUFDLENBQUMsQ0FBQztJQUNuRyxDQUFDOzhHQWhDVSxvQkFBb0I7a0hBQXBCLG9CQUFvQixjQURQLEtBQUs7OzJGQUNsQixvQkFBb0I7a0JBRGhDLFVBQVU7bUJBQUMsRUFBRSxVQUFVLEVBQUUsS0FBSyxFQUFFOztBQXNDakMsU0FBUyxHQUFHLENBQUMsS0FBVSxFQUFFLEtBQWE7SUFDcEMsT0FBTyxPQUFPLEtBQUssS0FBSyxRQUFRLENBQUMsQ0FBQyxDQUFDLEtBQUssRUFBRSxRQUFRLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxDQUFDLEtBQUssQ0FBQztBQUNwRSxDQUFDO0FBRUQsU0FBUyxFQUFFLENBQUMsS0FBVSxFQUFFLEtBQWE7SUFDbkMsT0FBTyxPQUFPLEtBQUssS0FBSyxRQUFRLENBQUMsQ0FBQyxDQUFDLEtBQUssS0FBSyxLQUFLLENBQUMsQ0FBQyxDQUFDLEtBQUssQ0FBQztBQUM3RCxDQUFDO0FBRUQsU0FBUyxFQUFFLENBQUMsS0FBVSxFQUFFLEtBQWE7SUFDbkMsK0RBQStEO0lBQy9ELE9BQU8sT0FBTyxLQUFLLEtBQUssUUFBUTtRQUM5QixDQUFDLENBQUMsVUFBVSxDQUFDLEtBQUssQ0FBQyxHQUFHLFVBQVUsQ0FBQyxLQUFLLENBQUM7UUFDdkMsQ0FBQyxDQUFDLE9BQU8sS0FBSyxLQUFLLFFBQVE7WUFDM0IsQ0FBQyxDQUFDLEtBQUssR0FBRyxVQUFVLENBQUMsS0FBSyxDQUFDO1lBQzNCLENBQUMsQ0FBQyxLQUFLLENBQUMsT0FBTyxDQUFDLEtBQUssQ0FBQztnQkFDdEIsQ0FBQyxDQUFDLEtBQUssQ0FBQyxLQUFLLENBQUMsQ0FBQyxRQUFRLENBQUMsS0FBSyxDQUFDO2dCQUM5QixDQUFDLENBQUMsS0FBSyxDQUFDO0FBQ1osQ0FBQztBQUVELFNBQVMsRUFBRSxDQUFDLEtBQVUsRUFBRSxLQUFhO0lBQ25DLCtEQUErRDtJQUMvRCxPQUFPLE9BQU8sS0FBSyxLQUFLLFFBQVE7UUFDOUIsQ0FBQyxDQUFDLFVBQVUsQ0FBQyxLQUFLLENBQUMsR0FBRyxVQUFVLENBQUMsS0FBSyxDQUFDO1FBQ3ZDLENBQUMsQ0FBQyxPQUFPLEtBQUssS0FBSyxRQUFRO1lBQzNCLENBQUMsQ0FBQyxLQUFLLEdBQUcsVUFBVSxDQUFDLEtBQUssQ0FBQztZQUMzQixDQUFDLENBQUMsS0FBSyxDQUFDLE9BQU8sQ0FBQyxLQUFLLENBQUM7Z0JBQ3RCLENBQUMsQ0FBQyxLQUFLLENBQUMsS0FBSyxDQUFDLENBQUMsT0FBTyxDQUFDLEtBQUssQ0FBQztnQkFDN0IsQ0FBQyxDQUFDLEtBQUssQ0FBQztBQUNaLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBJbmplY3RhYmxlLCBpbmplY3QgfSBmcm9tIFwiQGFuZ3VsYXIvY29yZVwiO1xuaW1wb3J0IHsgRE9NQUlOX0xBTkdfTUFQIH0gZnJvbSBcIkBuZy1hdG9taWMvY29tbW9uL3BpcGVzL2RvbWFpblwiO1xuaW1wb3J0IHsgdG9PYmplY3QgfSBmcm9tICdAbmctYXRvbWljL2NvbW1vbi91dGlscyc7XG5pbXBvcnQgeyBzbWFydEV4cFRyYW5zZm9ybWVyLCBTTUFSVF9FWFBfVFJBTlNGT1JNRVIgfSBmcm9tICdAbmctYXRvbWljL2NvbW1vbi91dGlscyc7XG5pbXBvcnQgeyBmbGF0dGVuRXhjbHVkZURheWpzIGFzIGZsYXR0ZW4gfSBmcm9tICdAbngtZGRkL2NvcmUvdXRpbC93YWxrLW9iaic7XG5pbXBvcnQgZGF5anMgZnJvbSAnZGF5anMnO1xuaW1wb3J0IHsgREFUQV9BQ0NFU1NPUiwgZGVmYXVsdERhdGFBY2Nlc3NvciB9IGZyb20gXCJAbmctYXRvbWljL2NvbW1vbi9waXBlcy9kYXRhLWFjY2Vzc29yXCI7XG5cbmludGVyZmFjZSBRdWVyeSB7XG4gIGtleTogc3RyaW5nO1xuICBvcGVyYXRvcjogJzonIHwgJz4nIHwgJzwnIHwgJz0nO1xuICB2YWx1ZTogc3RyaW5nO1xuICBub3Q6IGJvb2xlYW47XG59XG5cbkBJbmplY3RhYmxlKHsgcHJvdmlkZWRJbjogJ2FueScgfSlcbmV4cG9ydCBjbGFzcyBRdWVyeVBhcnNlclNlcnZpY2Uge1xuICBwYXJzZShxdWVyeTogc3RyaW5nKTogUXVlcnlbXSB7XG4gICAgcmV0dXJuIHF1ZXJ5LnNwbGl0KCcgJykuZmlsdGVyKHEgPT4gcS5sZW5ndGgpLm1hcChzdHIgPT4ge1xuICAgICAgY29uc3Qgbm90ID0gc3RyLnN0YXJ0c1dpdGgoJy0nKTtcbiAgICAgIGlmIChub3QpIHN0ciA9IHN0ci5zbGljZSgxKTtcblxuICAgICAgZm9yIChjb25zdCBvcGVyYXRvciBvZiBbJz0nLCAnPicsICc8JywgJzonXSBhcyBjb25zdCkge1xuICAgICAgICBpZiAoc3RyLmluY2x1ZGVzKG9wZXJhdG9yKSkge1xuICAgICAgICAgIGNvbnN0IFtrZXksIHZhbHVlXSA9IHN0ci5zcGxpdChvcGVyYXRvcik7XG4gICAgICAgICAgcmV0dXJuIHsga2V5LCBvcGVyYXRvciwgdmFsdWUsIG5vdCB9O1xuICAgICAgICB9XG4gICAgICB9XG4gICAgICByZXR1cm4geyBrZXk6ICcqJywgb3BlcmF0b3I6ICc6JywgdmFsdWU6IHN0ciwgbm90IH07XG4gICAgfSk7XG4gIH1cbn1cblxuQEluamVjdGFibGUoeyBwcm92aWRlZEluOiAnYW55JyB9KVxuZXhwb3J0IGNsYXNzIFF1ZXJ5UmVzb2x2ZXJTZXJ2aWNlPFQgZXh0ZW5kcyBvYmplY3Q+IHtcbiAgcHJvdGVjdGVkIHBhcnNlciA9IGluamVjdChRdWVyeVBhcnNlclNlcnZpY2UpO1xuICBwcm90ZWN0ZWQgZGF0YUFjY2Vzc29yID0gaW5qZWN0KERBVEFfQUNDRVNTT1IsIHtvcHRpb25hbDogdHJ1ZX0pID8/IGRlZmF1bHREYXRhQWNjZXNzb3I7XG4gIHByb3RlY3RlZCB0cmFuc2Zvcm1lciA9IGluamVjdChTTUFSVF9FWFBfVFJBTlNGT1JNRVIsIHtvcHRpb25hbDogdHJ1ZX0pID8/IHNtYXJ0RXhwVHJhbnNmb3JtZXI7XG4gIHByb3RlY3RlZCBtYXAgPSBpbmplY3QoRE9NQUlOX0xBTkdfTUFQLCB7b3B0aW9uYWw6IHRydWV9KSA/PyB7fTtcbiAgcHJvdGVjdGVkIHJldmVyc2VkTWFwID0gT2JqZWN0LmVudHJpZXModGhpcy5tYXApLnJlZHVjZSgocCwgW2ssIHZdKSA9PiAoey4uLnAsIFt2XToga30pLCB7fSBhcyBSZWNvcmQ8c3RyaW5nLCBzdHJpbmc+KTtcblxuICByZXNvbHZlKGl0ZW1zOiBUW10sIHF1ZXJ5U3RyID0gJycpOiBUW10ge1xuICAgIHJldHVybiB0aGlzLnBhcnNlci5wYXJzZShxdWVyeVN0cikucmVkdWNlKChfaXRlbXMsIHF1ZXJ5KSA9PiB0aGlzLmV4ZWN1dGVRdWVyeShfaXRlbXMsIHF1ZXJ5KSwgaXRlbXMpO1xuICB9XG5cbiAgcHJvdGVjdGVkIGV4ZWN1dGVRdWVyeShpdGVtczogVFtdLCBxdWVyeTogUXVlcnkpOiBUW10ge1xuICAgIGlmIChxdWVyeS5rZXkgPT09ICcqJyAmJiBxdWVyeS5vcGVyYXRvciA9PT0gJzonKVxuICAgICAgcmV0dXJuIGl0ZW1zLmZpbHRlcihpdGVtID0+IHRoaXMub3BlcmF0ZUJ5QWxsS2V5KGl0ZW0sIGluXywgcXVlcnkpKTtcbiAgICBzd2l0Y2ggKHF1ZXJ5Lm9wZXJhdG9yKSB7XG4gICAgICBjYXNlICc6JzogcmV0dXJuIGl0ZW1zLmZpbHRlcihpdGVtID0+IHRoaXMub3BlcmF0ZUJ5S2V5KGl0ZW0sIGluXywgcXVlcnkpKTtcbiAgICAgIGNhc2UgJz0nOiByZXR1cm4gaXRlbXMuZmlsdGVyKGl0ZW0gPT4gdGhpcy5vcGVyYXRlQnlLZXkoaXRlbSwgZXEsIHF1ZXJ5KSk7XG4gICAgICBjYXNlICc+JzogcmV0dXJuIGl0ZW1zLmZpbHRlcihpdGVtID0+IHRoaXMub3BlcmF0ZUJ5S2V5KGl0ZW0sIGd0LCBxdWVyeSkpO1xuICAgICAgY2FzZSAnPCc6IHJldHVybiBpdGVtcy5maWx0ZXIoaXRlbSA9PiB0aGlzLm9wZXJhdGVCeUtleShpdGVtLCBsdCwgcXVlcnkpKTtcbiAgICB9XG4gIH1cblxuICBwcm90ZWN0ZWQgb3BlcmF0ZUJ5S2V5KGl0ZW06IFQsIG9wZXJhdG9yOiBRdWVyeU9wZXJhdG9yLCB7a2V5LCB2YWx1ZSwgbm90fTogUXVlcnkpOiBib29sZWFuIHtcbiAgICBsZXQgaXRlbVZhbHVlOiBhbnk7XG4gICAgaXRlbVZhbHVlID0gdGhpcy5kYXRhQWNjZXNzb3IoaXRlbSwga2V5KTtcbiAgICBpdGVtVmFsdWUgPSB0aGlzLnRyYW5zZm9ybWVyKGl0ZW1WYWx1ZSwga2V5KTtcbiAgICByZXR1cm4gbm90ID8gIW9wZXJhdG9yKGl0ZW1WYWx1ZSwgdmFsdWUpIDogb3BlcmF0b3IoaXRlbVZhbHVlLCB2YWx1ZSk7XG4gIH1cblxuICBwcm90ZWN0ZWQgb3BlcmF0ZUJ5QWxsS2V5KGl0ZW06IFQsIG9wZXJhdG9yOiBRdWVyeU9wZXJhdG9yLCBxdWVyeTogUXVlcnkpIHtcbiAgICBjb25zdCBmbGF0dGVuT2JqID0gZmxhdHRlbih0b09iamVjdChpdGVtKSk7XG4gICAgcmV0dXJuIE9iamVjdC5rZXlzKGZsYXR0ZW5PYmopLnNvbWUoKGtleSkgPT4gdGhpcy5vcGVyYXRlQnlLZXkoaXRlbSwgb3BlcmF0b3IsIHsuLi5xdWVyeSwga2V5fSkpO1xuICB9XG59XG5cbnR5cGUgUXVlcnlPcGVyYXRvciA9IChfdmFsdWU6IGFueSwgcXVlcnk6IHN0cmluZykgPT4gYm9vbGVhbjtcblxuZnVuY3Rpb24gaW5fKHZhbHVlOiBhbnksIHF1ZXJ5OiBzdHJpbmcpOiBib29sZWFuIHtcbiAgcmV0dXJuIHR5cGVvZiB2YWx1ZSA9PT0gJ3N0cmluZycgPyB2YWx1ZT8uaW5jbHVkZXMocXVlcnkpIDogZmFsc2U7XG59XG5cbmZ1bmN0aW9uIGVxKHZhbHVlOiBhbnksIHF1ZXJ5OiBzdHJpbmcpOiBib29sZWFuIHtcbiAgcmV0dXJuIHR5cGVvZiB2YWx1ZSA9PT0gJ3N0cmluZycgPyB2YWx1ZSA9PT0gcXVlcnkgOiBmYWxzZTtcbn1cblxuZnVuY3Rpb24gZ3QodmFsdWU6IGFueSwgcXVlcnk6IHN0cmluZyk6IGJvb2xlYW4ge1xuICAvLyBjb25zdCB2YWx1ZSA9IGRheWpzLmlzRGF5anModikgPyB2IDogdGhpcy50cmFuc2Zvcm1lcih2LCBrKTtcbiAgcmV0dXJuIHR5cGVvZiB2YWx1ZSA9PT0gJ3N0cmluZycgXG4gICAgPyBwYXJzZUZsb2F0KHZhbHVlKSA+IHBhcnNlRmxvYXQocXVlcnkpIFxuICAgIDogdHlwZW9mIHZhbHVlID09PSAnbnVtYmVyJ1xuICAgID8gdmFsdWUgPiBwYXJzZUZsb2F0KHF1ZXJ5KVxuICAgIDogZGF5anMuaXNEYXlqcyh2YWx1ZSlcbiAgICA/IGRheWpzKHF1ZXJ5KS5pc0JlZm9yZSh2YWx1ZSlcbiAgICA6IGZhbHNlO1xufVxuXG5mdW5jdGlvbiBsdCh2YWx1ZTogYW55LCBxdWVyeTogc3RyaW5nKTogYm9vbGVhbiB7XG4gIC8vIGNvbnN0IHZhbHVlID0gZGF5anMuaXNEYXlqcyh2KSA/IHYgOiB0aGlzLnRyYW5zZm9ybWVyKHYsIGspO1xuICByZXR1cm4gdHlwZW9mIHZhbHVlID09PSAnc3RyaW5nJyBcbiAgICA/IHBhcnNlRmxvYXQodmFsdWUpIDwgcGFyc2VGbG9hdChxdWVyeSkgXG4gICAgOiB0eXBlb2YgdmFsdWUgPT09ICdudW1iZXInXG4gICAgPyB2YWx1ZSA8IHBhcnNlRmxvYXQocXVlcnkpXG4gICAgOiBkYXlqcy5pc0RheWpzKHZhbHVlKVxuICAgID8gZGF5anMocXVlcnkpLmlzQWZ0ZXIodmFsdWUpXG4gICAgOiBmYWxzZTtcbn1cbiJdfQ==
|
|
94
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicXVlcnktcmVzb2x2ZXIuc2VydmljZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3BhY2thZ2VzL0BuZy1hdG9taWMvY29tbW9uL3NyYy9saWIvc2VydmljZXMvcXVlcnktcmVzb2x2ZXIvcXVlcnktcmVzb2x2ZXIuc2VydmljZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUNuRCxPQUFPLEVBQUUsZUFBZSxFQUFFLE1BQU0scUNBQXFDLENBQUM7QUFDdEUsT0FBTyxFQUFFLDRCQUE0QixFQUFFLHNCQUFzQixFQUFFLFFBQVEsRUFBRSxNQUFNLHlCQUF5QixDQUFDO0FBQ3pHLE9BQU8sRUFBRSxtQkFBbUIsSUFBSSxPQUFPLEVBQUUsTUFBTSw0QkFBNEIsQ0FBQztBQUM1RSxPQUFPLEtBQUssTUFBTSxPQUFPLENBQUM7QUFDMUIsT0FBTyxFQUFFLGFBQWEsRUFBRSxtQkFBbUIsRUFBRSxNQUFNLHVDQUF1QyxDQUFDOztBQVUzRixNQUFNLE9BQU8sa0JBQWtCO0lBQzdCLEtBQUssQ0FBQyxLQUFhO1FBQ2pCLE9BQU8sS0FBSyxDQUFDLEtBQUssQ0FBQyxHQUFHLENBQUMsQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsTUFBTSxDQUFDLENBQUMsR0FBRyxDQUFDLEdBQUcsQ0FBQyxFQUFFO1lBQ3RELE1BQU0sR0FBRyxHQUFHLEdBQUcsQ0FBQyxVQUFVLENBQUMsR0FBRyxDQUFDLENBQUM7WUFDaEMsSUFBSSxHQUFHO2dCQUFFLEdBQUcsR0FBRyxHQUFHLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxDQUFDO1lBRTVCLEtBQUssTUFBTSxRQUFRLElBQUksQ0FBQyxHQUFHLEVBQUUsR0FBRyxFQUFFLEdBQUcsRUFBRSxHQUFHLENBQVUsRUFBRSxDQUFDO2dCQUNyRCxJQUFJLEdBQUcs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QyxLQUFLLENBQUMsS0FBSyxDQUFDLENBQUMsT0FBTyxDQUFDLEtBQUssQ0FBQztnQkFDN0IsQ0FBQyxDQUFDLEtBQUssQ0FBQztBQUNaLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBJbmplY3RhYmxlLCBpbmplY3QgfSBmcm9tIFwiQGFuZ3VsYXIvY29yZVwiO1xuaW1wb3J0IHsgRE9NQUlOX0xBTkdfTUFQIH0gZnJvbSBcIkBuZy1hdG9taWMvY29tbW9uL3NlcnZpY2VzL2xhbmd1YWdlXCI7XG5pbXBvcnQgeyBkZWZhdWx0RXhwcmVzc2lvblRyYW5zZm9ybWVyLCBFWFBSRVNTSU9OX1RSQU5TRk9STUVSLCB0b09iamVjdCB9IGZyb20gJ0BuZy1hdG9taWMvY29tbW9uL3V0aWxzJztcbmltcG9ydCB7IGZsYXR0ZW5FeGNsdWRlRGF5anMgYXMgZmxhdHRlbiB9IGZyb20gJ0BueC1kZGQvY29yZS91dGlsL3dhbGstb2JqJztcbmltcG9ydCBkYXlqcyBmcm9tICdkYXlqcyc7XG5pbXBvcnQgeyBEQVRBX0FDQ0VTU09SLCBkZWZhdWx0RGF0YUFjY2Vzc29yIH0gZnJvbSBcIkBuZy1hdG9taWMvY29tbW9uL3BpcGVzL2RhdGEtYWNjZXNzb3JcIjtcblxuaW50ZXJmYWNlIFF1ZXJ5IHtcbiAga2V5OiBzdHJpbmc7XG4gIG9wZXJhdG9yOiAnOicgfCAnPicgfCAnPCcgfCAnPSc7XG4gIHZhbHVlOiBzdHJpbmc7XG4gIG5vdDogYm9vbGVhbjtcbn1cblxuQEluamVjdGFibGUoeyBwcm92aWRlZEluOiAnYW55JyB9KVxuZXhwb3J0IGNsYXNzIFF1ZXJ5UGFyc2VyU2VydmljZSB7XG4gIHBhcnNlKHF1ZXJ5OiBzdHJpbmcpOiBRdWVyeVtdIHtcbiAgICByZXR1cm4gcXVlcnkuc3BsaXQoJyAnKS5maWx0ZXIocSA9PiBxLmxlbmd0aCkubWFwKHN0ciA9PiB7XG4gICAgICBjb25zdCBub3QgPSBzdHIuc3RhcnRzV2l0aCgnLScpO1xuICAgICAgaWYgKG5vdCkgc3RyID0gc3RyLnNsaWNlKDEpO1xuXG4gICAgICBmb3IgKGNvbnN0IG9wZXJhdG9yIG9mIFsnPScsICc+JywgJzwnLCAnOiddIGFzIGNvbnN0KSB7XG4gICAgICAgIGlmIChzdHIuaW5jbHVkZXMob3BlcmF0b3IpKSB7XG4gICAgICAgICAgY29uc3QgW2tleSwgdmFsdWVdID0gc3RyLnNwbGl0KG9wZXJhdG9yKTtcbiAgICAgICAgICByZXR1cm4geyBrZXksIG9wZXJhdG9yLCB2YWx1ZSwgbm90IH07XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICAgIHJldHVybiB7IGtleTogJyonLCBvcGVyYXRvcjogJzonLCB2YWx1ZTogc3RyLCBub3QgfTtcbiAgICB9KTtcbiAgfVxufVxuXG5ASW5qZWN0YWJsZSh7IHByb3ZpZGVkSW46ICdhbnknIH0pXG5leHBvcnQgY2xhc3MgUXVlcnlSZXNvbHZlclNlcnZpY2U8VCBleHRlbmRzIG9iamVjdD4ge1xuICBwcm90ZWN0ZWQgcGFyc2VyID0gaW5qZWN0KFF1ZXJ5UGFyc2VyU2VydmljZSk7XG4gIHByb3RlY3RlZCBkYXRhQWNjZXNzb3IgPSBpbmplY3QoREFUQV9BQ0NFU1NPUiwge29wdGlvbmFsOiB0cnVlfSkgPz8gZGVmYXVsdERhdGFBY2Nlc3NvcjtcbiAgcHJvdGVjdGVkIHRyYW5zZm9ybWVyID0gaW5qZWN0KEVYUFJFU1NJT05fVFJBTlNGT1JNRVIsIHtvcHRpb25hbDogdHJ1ZX0pID8/IGRlZmF1bHRFeHByZXNzaW9uVHJhbnNmb3JtZXI7XG4gIHByb3RlY3RlZCBtYXAgPSBpbmplY3QoRE9NQUlOX0xBTkdfTUFQLCB7b3B0aW9uYWw6IHRydWV9KSA/PyB7fTtcbiAgcHJvdGVjdGVkIHJldmVyc2VkTWFwID0gT2JqZWN0LmVudHJpZXModGhpcy5tYXApLnJlZHVjZSgocCwgW2ssIHZdKSA9PiAoey4uLnAsIFt2XToga30pLCB7fSBhcyBSZWNvcmQ8c3RyaW5nLCBzdHJpbmc+KTtcblxuICByZXNvbHZlKGl0ZW1zOiBUW10sIHF1ZXJ5U3RyID0gJycpOiBUW10ge1xuICAgIHJldHVybiB0aGlzLnBhcnNlci5wYXJzZShxdWVyeVN0cikucmVkdWNlKChfaXRlbXMsIHF1ZXJ5KSA9PiB0aGlzLmV4ZWN1dGVRdWVyeShfaXRlbXMsIHF1ZXJ5KSwgaXRlbXMpO1xuICB9XG5cbiAgcHJvdGVjdGVkIGV4ZWN1dGVRdWVyeShpdGVtczogVFtdLCBxdWVyeTogUXVlcnkpOiBUW10ge1xuICAgIGlmIChxdWVyeS5rZXkgPT09ICcqJyAmJiBxdWVyeS5vcGVyYXRvciA9PT0gJzonKVxuICAgICAgcmV0dXJuIGl0ZW1zLmZpbHRlcihpdGVtID0+IHRoaXMub3BlcmF0ZUJ5QWxsS2V5KGl0ZW0sIGluXywgcXVlcnkpKTtcbiAgICBzd2l0Y2ggKHF1ZXJ5Lm9wZXJhdG9yKSB7XG4gICAgICBjYXNlICc6JzogcmV0dXJuIGl0ZW1zLmZpbHRlcihpdGVtID0+IHRoaXMub3BlcmF0ZUJ5S2V5KGl0ZW0sIGluXywgcXVlcnkpKTtcbiAgICAgIGNhc2UgJz0nOiByZXR1cm4gaXRlbXMuZmlsdGVyKGl0ZW0gPT4gdGhpcy5vcGVyYXRlQnlLZXkoaXRlbSwgZXEsIHF1ZXJ5KSk7XG4gICAgICBjYXNlICc+JzogcmV0dXJuIGl0ZW1zLmZpbHRlcihpdGVtID0+IHRoaXMub3BlcmF0ZUJ5S2V5KGl0ZW0sIGd0LCBxdWVyeSkpO1xuICAgICAgY2FzZSAnPCc6IHJldHVybiBpdGVtcy5maWx0ZXIoaXRlbSA9PiB0aGlzLm9wZXJhdGVCeUtleShpdGVtLCBsdCwgcXVlcnkpKTtcbiAgICB9XG4gIH1cblxuICBwcm90ZWN0ZWQgb3BlcmF0ZUJ5S2V5KGl0ZW06IFQsIG9wZXJhdG9yOiBRdWVyeU9wZXJhdG9yLCB7a2V5LCB2YWx1ZSwgbm90fTogUXVlcnkpOiBib29sZWFuIHtcbiAgICBsZXQgaXRlbVZhbHVlOiBhbnk7XG4gICAgaXRlbVZhbHVlID0gdGhpcy5kYXRhQWNjZXNzb3IoaXRlbSwga2V5KTtcbiAgICBpdGVtVmFsdWUgPSB0aGlzLnRyYW5zZm9ybWVyKGl0ZW1WYWx1ZSwga2V5KTtcbiAgICByZXR1cm4gbm90ID8gIW9wZXJhdG9yKGl0ZW1WYWx1ZSwgdmFsdWUpIDogb3BlcmF0b3IoaXRlbVZhbHVlLCB2YWx1ZSk7XG4gIH1cblxuICBwcm90ZWN0ZWQgb3BlcmF0ZUJ5QWxsS2V5KGl0ZW06IFQsIG9wZXJhdG9yOiBRdWVyeU9wZXJhdG9yLCBxdWVyeTogUXVlcnkpIHtcbiAgICBjb25zdCBmbGF0dGVuT2JqID0gZmxhdHRlbih0b09iamVjdChpdGVtKSk7XG4gICAgcmV0dXJuIE9iamVjdC5rZXlzKGZsYXR0ZW5PYmopLnNvbWUoKGtleSkgPT4gdGhpcy5vcGVyYXRlQnlLZXkoaXRlbSwgb3BlcmF0b3IsIHsuLi5xdWVyeSwga2V5fSkpO1xuICB9XG59XG5cbnR5cGUgUXVlcnlPcGVyYXRvciA9IChfdmFsdWU6IGFueSwgcXVlcnk6IHN0cmluZykgPT4gYm9vbGVhbjtcblxuZnVuY3Rpb24gaW5fKHZhbHVlOiBhbnksIHF1ZXJ5OiBzdHJpbmcpOiBib29sZWFuIHtcbiAgcmV0dXJuIHR5cGVvZiB2YWx1ZSA9PT0gJ3N0cmluZycgPyB2YWx1ZT8uaW5jbHVkZXMocXVlcnkpIDogZmFsc2U7XG59XG5cbmZ1bmN0aW9uIGVxKHZhbHVlOiBhbnksIHF1ZXJ5OiBzdHJpbmcpOiBib29sZWFuIHtcbiAgcmV0dXJuIHR5cGVvZiB2YWx1ZSA9PT0gJ3N0cmluZycgPyB2YWx1ZSA9PT0gcXVlcnkgOiBmYWxzZTtcbn1cblxuZnVuY3Rpb24gZ3QodmFsdWU6IGFueSwgcXVlcnk6IHN0cmluZyk6IGJvb2xlYW4ge1xuICAvLyBjb25zdCB2YWx1ZSA9IGRheWpzLmlzRGF5anModikgPyB2IDogdGhpcy50cmFuc2Zvcm1lcih2LCBrKTtcbiAgcmV0dXJuIHR5cGVvZiB2YWx1ZSA9PT0gJ3N0cmluZycgXG4gICAgPyBwYXJzZUZsb2F0KHZhbHVlKSA+IHBhcnNlRmxvYXQocXVlcnkpIFxuICAgIDogdHlwZW9mIHZhbHVlID09PSAnbnVtYmVyJ1xuICAgID8gdmFsdWUgPiBwYXJzZUZsb2F0KHF1ZXJ5KVxuICAgIDogZGF5anMuaXNEYXlqcyh2YWx1ZSlcbiAgICA/IGRheWpzKHF1ZXJ5KS5pc0JlZm9yZSh2YWx1ZSlcbiAgICA6IGZhbHNlO1xufVxuXG5mdW5jdGlvbiBsdCh2YWx1ZTogYW55LCBxdWVyeTogc3RyaW5nKTogYm9vbGVhbiB7XG4gIC8vIGNvbnN0IHZhbHVlID0gZGF5anMuaXNEYXlqcyh2KSA/IHYgOiB0aGlzLnRyYW5zZm9ybWVyKHYsIGspO1xuICByZXR1cm4gdHlwZW9mIHZhbHVlID09PSAnc3RyaW5nJyBcbiAgICA/IHBhcnNlRmxvYXQodmFsdWUpIDwgcGFyc2VGbG9hdChxdWVyeSkgXG4gICAgOiB0eXBlb2YgdmFsdWUgPT09ICdudW1iZXInXG4gICAgPyB2YWx1ZSA8IHBhcnNlRmxvYXQocXVlcnkpXG4gICAgOiBkYXlqcy5pc0RheWpzKHZhbHVlKVxuICAgID8gZGF5anMocXVlcnkpLmlzQWZ0ZXIodmFsdWUpXG4gICAgOiBmYWxzZTtcbn1cbiJdfQ==
|
|
@@ -1,23 +1,41 @@
|
|
|
1
|
-
import {
|
|
1
|
+
import { Clipboard } from '@angular/cdk/clipboard';
|
|
2
|
+
import { HttpErrorResponse } from '@angular/common/http';
|
|
3
|
+
import { inject, Injectable } from '@angular/core';
|
|
2
4
|
import { MatSnackBar } from '@angular/material/snack-bar';
|
|
3
5
|
import * as i0 from "@angular/core";
|
|
4
|
-
import * as i1 from "@angular/material/snack-bar";
|
|
5
6
|
export class SnackBarService {
|
|
6
|
-
constructor(
|
|
7
|
-
this.
|
|
7
|
+
constructor() {
|
|
8
|
+
this.clipboard = inject(Clipboard);
|
|
9
|
+
this.snackBar = inject(MatSnackBar);
|
|
8
10
|
}
|
|
9
11
|
open(message, action) {
|
|
10
|
-
this.snackBar.open(message, action, {
|
|
12
|
+
return this.snackBar.open(message, action, {
|
|
11
13
|
duration: 2000,
|
|
12
14
|
});
|
|
13
15
|
}
|
|
14
|
-
|
|
16
|
+
openError(error) {
|
|
17
|
+
const message = errorMessageResolver(error);
|
|
18
|
+
const copyJson = typeof error === 'object' ? JSON.stringify(error, null, 2) : error;
|
|
19
|
+
this.snackBar.open(message, 'コピー', {
|
|
20
|
+
duration: 2000,
|
|
21
|
+
}).onAction().subscribe(() => {
|
|
22
|
+
this.clipboard.copy(copyJson);
|
|
23
|
+
});
|
|
24
|
+
}
|
|
25
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.1.2", ngImport: i0, type: SnackBarService, deps: [], target: i0.ɵɵFactoryTarget.Injectable }); }
|
|
15
26
|
static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "18.1.2", ngImport: i0, type: SnackBarService, providedIn: 'root' }); }
|
|
16
27
|
}
|
|
17
28
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.1.2", ngImport: i0, type: SnackBarService, decorators: [{
|
|
18
29
|
type: Injectable,
|
|
19
|
-
args: [{
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
30
|
+
args: [{ providedIn: 'root' }]
|
|
31
|
+
}] });
|
|
32
|
+
function errorMessageResolver(error) {
|
|
33
|
+
if (error instanceof HttpErrorResponse) {
|
|
34
|
+
return `エラー(${error.statusText} ${error.status}): ${error.error.message}`;
|
|
35
|
+
}
|
|
36
|
+
else if (error instanceof Error) {
|
|
37
|
+
return error.message;
|
|
38
|
+
}
|
|
39
|
+
return error;
|
|
40
|
+
}
|
|
41
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic25hY2stYmFyLnNlcnZpY2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wYWNrYWdlcy9AbmctYXRvbWljL2NvbW1vbi9zcmMvbGliL3NlcnZpY2VzL3NuYWNrLWJhci9zbmFjay1iYXIuc2VydmljZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFFLE1BQU0sd0JBQXdCLENBQUM7QUFDbkQsT0FBTyxFQUFFLGlCQUFpQixFQUFFLE1BQU0sc0JBQXNCLENBQUM7QUFDekQsT0FBTyxFQUFFLE1BQU0sRUFBRSxVQUFVLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDbkQsT0FBTyxFQUFFLFdBQVcsRUFBRSxNQUFNLDZCQUE2QixDQUFDOztBQUcxRCxNQUFNLE9BQU8sZUFBZTtJQUQ1QjtRQUVxQixjQUFTLEdBQUcsTUFBTSxDQUFDLFNBQVMsQ0FBQyxDQUFDO1FBQzlCLGFBQVEsR0FBRyxNQUFNLENBQUMsV0FBVyxDQUFDLENBQUM7S0FrQm5EO0lBaEJDLElBQUksQ0FBQyxPQUFlLEVBQUUsTUFBZTtRQUNuQyxPQUFPLElBQUksQ0FBQyxRQUFRLENBQUMsSUFBSSxDQUFDLE9BQU8sRUFBRSxNQUFNLEVBQUU7WUFDekMsUUFBUSxFQUFFLElBQUk7U0FDZixDQUFDLENBQUM7SUFDTCxDQUFDO0lBRUQsU0FBUyxDQUFDLEtBQXFCO1FBQzdCLE1BQU0sT0FBTyxHQUFHLG9CQUFvQixDQUFDLEtBQUssQ0FBQyxDQUFDO1FBQzVDLE1BQU0sUUFBUSxHQUFHLE9BQU8sS0FBSyxLQUFLLFFBQVEsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLFNBQVMsQ0FBQyxLQUFLLEVBQUUsSUFBSSxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxLQUFLLENBQUM7UUFFcEYsSUFBSSxDQUFDLFFBQVEsQ0FBQyxJQUFJLENBQUMsT0FBTyxFQUFFLEtBQUssRUFBRTtZQUNqQyxRQUFRLEVBQUUsSUFBSTtTQUNmLENBQUMsQ0FBQyxRQUFRLEVBQUUsQ0FBQyxTQUFTLENBQUMsR0FBRyxFQUFFO1lBQzNCLElBQUksQ0FBQyxTQUFTLENBQUMsSUFBSSxDQUFDLFFBQVEsQ0FBQyxDQUFDO1FBQ2hDLENBQUMsQ0FBQyxDQUFDO0lBQ0wsQ0FBQzs4R0FuQlUsZUFBZTtrSEFBZixlQUFlLGNBREYsTUFBTTs7MkZBQ25CLGVBQWU7a0JBRDNCLFVBQVU7bUJBQUMsRUFBRSxVQUFVLEVBQUUsTUFBTSxFQUFFOztBQXVCbEMsU0FBUyxvQkFBb0IsQ0FBQyxLQUFVO0lBQ3RDLElBQUksS0FBSyxZQUFZLGlCQUFpQixFQUFFLENBQUM7UUFDdkMsT0FBTyxPQUFPLEtBQUssQ0FBQyxVQUFVLElBQUksS0FBSyxDQUFDLE1BQU0sTUFBTSxLQUFLLENBQUMsS0FBSyxDQUFDLE9BQU8sRUFBRSxDQUFDO0lBQzVFLENBQUM7U0FBTSxJQUFJLEtBQUssWUFBWSxLQUFLLEVBQUUsQ0FBQztRQUNsQyxPQUFPLEtBQUssQ0FBQyxPQUFPLENBQUM7SUFDdkIsQ0FBQztJQUNELE9BQU8sS0FBSyxDQUFDO0FBQ2YsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENsaXBib2FyZCB9IGZyb20gJ0Bhbmd1bGFyL2Nkay9jbGlwYm9hcmQnO1xuaW1wb3J0IHsgSHR0cEVycm9yUmVzcG9uc2UgfSBmcm9tICdAYW5ndWxhci9jb21tb24vaHR0cCc7XG5pbXBvcnQgeyBpbmplY3QsIEluamVjdGFibGUgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IE1hdFNuYWNrQmFyIH0gZnJvbSAnQGFuZ3VsYXIvbWF0ZXJpYWwvc25hY2stYmFyJztcblxuQEluamVjdGFibGUoeyBwcm92aWRlZEluOiAncm9vdCcgfSlcbmV4cG9ydCBjbGFzcyBTbmFja0JhclNlcnZpY2Uge1xuICBwcm90ZWN0ZWQgcmVhZG9ubHkgY2xpcGJvYXJkID0gaW5qZWN0KENsaXBib2FyZCk7XG4gIHByb3RlY3RlZCByZWFkb25seSBzbmFja0JhciA9IGluamVjdChNYXRTbmFja0Jhcik7XG5cbiAgb3BlbihtZXNzYWdlOiBzdHJpbmcsIGFjdGlvbj86IHN0cmluZykge1xuICAgIHJldHVybiB0aGlzLnNuYWNrQmFyLm9wZW4obWVzc2FnZSwgYWN0aW9uLCB7XG4gICAgICBkdXJhdGlvbjogMjAwMCxcbiAgICB9KTtcbiAgfVxuXG4gIG9wZW5FcnJvcihlcnJvcjogRXJyb3IgfCBzdHJpbmcpIHtcbiAgICBjb25zdCBtZXNzYWdlID0gZXJyb3JNZXNzYWdlUmVzb2x2ZXIoZXJyb3IpO1xuICAgIGNvbnN0IGNvcHlKc29uID0gdHlwZW9mIGVycm9yID09PSAnb2JqZWN0JyA/IEpTT04uc3RyaW5naWZ5KGVycm9yLCBudWxsLCAyKSA6IGVycm9yO1xuXG4gICAgdGhpcy5zbmFja0Jhci5vcGVuKG1lc3NhZ2UsICfjgrPjg5Tjg7wnLCB7XG4gICAgICBkdXJhdGlvbjogMjAwMCxcbiAgICB9KS5vbkFjdGlvbigpLnN1YnNjcmliZSgoKSA9PiB7XG4gICAgICB0aGlzLmNsaXBib2FyZC5jb3B5KGNvcHlKc29uKTtcbiAgICB9KTtcbiAgfVxufVxuXG5mdW5jdGlvbiBlcnJvck1lc3NhZ2VSZXNvbHZlcihlcnJvcjogYW55KTogc3RyaW5nIHtcbiAgaWYgKGVycm9yIGluc3RhbmNlb2YgSHR0cEVycm9yUmVzcG9uc2UpIHtcbiAgICByZXR1cm4gYOOCqOODqeODvCgke2Vycm9yLnN0YXR1c1RleHR9ICR7ZXJyb3Iuc3RhdHVzfSk6ICR7ZXJyb3IuZXJyb3IubWVzc2FnZX1gO1xuICB9IGVsc2UgaWYgKGVycm9yIGluc3RhbmNlb2YgRXJyb3IpIHtcbiAgICByZXR1cm4gZXJyb3IubWVzc2FnZTtcbiAgfVxuICByZXR1cm4gZXJyb3I7XG59XG4iXX0=
|
|
@@ -0,0 +1,124 @@
|
|
|
1
|
+
import { computed, Directive, effect, ElementRef, inject, input, signal } from "@angular/core";
|
|
2
|
+
import { SpreadSheetService } from "../spreadsheet.service";
|
|
3
|
+
import * as i0 from "@angular/core";
|
|
4
|
+
export class SpreadSheetCell {
|
|
5
|
+
constructor() {
|
|
6
|
+
this.ss = inject(SpreadSheetService);
|
|
7
|
+
this.el = inject(ElementRef);
|
|
8
|
+
this.position = input({ row: 0, col: 0 }, { alias: 'ssCell' });
|
|
9
|
+
this.editable = input(false, { alias: 'ssCellEditable' });
|
|
10
|
+
this.context = input(null, { alias: 'ssCellContext' });
|
|
11
|
+
this.isSelected = computed(() => this.ss.selection.isSelected(this.position()));
|
|
12
|
+
this.isEditing = computed(() => this.ss.editor.isEditing(this.position()));
|
|
13
|
+
this.frameEl = signal(null);
|
|
14
|
+
effect(() => {
|
|
15
|
+
if (!this.context())
|
|
16
|
+
return;
|
|
17
|
+
this.ss.grid.setContext(this.context());
|
|
18
|
+
});
|
|
19
|
+
effect(() => {
|
|
20
|
+
const isCursor = this.ss.selection.isCursorPosition(this.position());
|
|
21
|
+
let frame = this.frameEl();
|
|
22
|
+
if (isCursor) {
|
|
23
|
+
if (!frame) {
|
|
24
|
+
frame = this.buildOutlineFrame();
|
|
25
|
+
this.el.nativeElement.appendChild(frame);
|
|
26
|
+
this.frameEl.set(frame);
|
|
27
|
+
}
|
|
28
|
+
}
|
|
29
|
+
else {
|
|
30
|
+
frame?.remove();
|
|
31
|
+
this.frameEl.set(null);
|
|
32
|
+
}
|
|
33
|
+
}, { allowSignalWrites: true });
|
|
34
|
+
}
|
|
35
|
+
onDbClick() {
|
|
36
|
+
if (!this.editable())
|
|
37
|
+
return;
|
|
38
|
+
this.ss.editor.startEditing(this.position());
|
|
39
|
+
}
|
|
40
|
+
ngAfterViewInit() {
|
|
41
|
+
this.ss.selection.setCell(this.position(), this.el.nativeElement);
|
|
42
|
+
if (this.isSelected() && !this.isEditing()) {
|
|
43
|
+
this.ss.selection.focus(this.position());
|
|
44
|
+
}
|
|
45
|
+
}
|
|
46
|
+
buildOutlineFrame() {
|
|
47
|
+
const frame = document.createElement('div');
|
|
48
|
+
frame.classList.add('selection-frame');
|
|
49
|
+
frame.style.position = 'absolute';
|
|
50
|
+
frame.style.top = '0';
|
|
51
|
+
frame.style.left = '0';
|
|
52
|
+
frame.style.width = '100%';
|
|
53
|
+
frame.style.height = '100%';
|
|
54
|
+
frame.style.border = '2px solid #2196f3';
|
|
55
|
+
frame.style.borderRadius = '4px';
|
|
56
|
+
frame.style.pointerEvents = 'none';
|
|
57
|
+
frame.style.boxSizing = 'border-box';
|
|
58
|
+
return frame;
|
|
59
|
+
}
|
|
60
|
+
createLabelElement(options) {
|
|
61
|
+
const el = document.createElement('span');
|
|
62
|
+
el.textContent = options.label;
|
|
63
|
+
el.style.backgroundColor = `${options.color}`;
|
|
64
|
+
el.style.color = '#fff';
|
|
65
|
+
el.style.padding = '2px 4px';
|
|
66
|
+
el.style.position = 'absolute';
|
|
67
|
+
el.style.fontSize = '10px';
|
|
68
|
+
el.style.top = '0';
|
|
69
|
+
el.style.left = '0';
|
|
70
|
+
el.style.zIndex = '9999';
|
|
71
|
+
el.style.lineHeight = '1.5em';
|
|
72
|
+
el.style.whiteSpace = 'nowrap';
|
|
73
|
+
this.el.nativeElement.appendChild(el);
|
|
74
|
+
}
|
|
75
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.1.2", ngImport: i0, type: SpreadSheetCell, deps: [], target: i0.ɵɵFactoryTarget.Directive }); }
|
|
76
|
+
static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "17.1.0", version: "18.1.2", type: SpreadSheetCell, isStandalone: true, selector: "[ssCell]", inputs: { position: { classPropertyName: "position", publicName: "ssCell", isSignal: true, isRequired: false, transformFunction: null }, editable: { classPropertyName: "editable", publicName: "ssCellEditable", isSignal: true, isRequired: false, transformFunction: null }, context: { classPropertyName: "context", publicName: "ssCellContext", isSignal: true, isRequired: false, transformFunction: null } }, host: { listeners: { "mousedown": "ss.selection.handleMouseDown(position(), $event)", "mouseup": "ss.selection.handleMouseUp()", "mouseenter": "ss.selection.handleMouseEnter(position())", "click": "ss.selection.handleClick(position(), $event)", "dblclick": "onDbClick()" }, properties: { "class.selected": "ss.selection.isSelected(position())", "class.editing": "ss.editor.isEditing(position())" } }, ngImport: i0 }); }
|
|
77
|
+
}
|
|
78
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.1.2", ngImport: i0, type: SpreadSheetCell, decorators: [{
|
|
79
|
+
type: Directive,
|
|
80
|
+
args: [{
|
|
81
|
+
standalone: true,
|
|
82
|
+
selector: '[ssCell]',
|
|
83
|
+
host: {
|
|
84
|
+
'[class.selected]': 'ss.selection.isSelected(position())',
|
|
85
|
+
'[class.editing]': 'ss.editor.isEditing(position())',
|
|
86
|
+
'(mousedown)': 'ss.selection.handleMouseDown(position(), $event)',
|
|
87
|
+
'(mouseup)': 'ss.selection.handleMouseUp()',
|
|
88
|
+
'(mouseenter)': 'ss.selection.handleMouseEnter(position())',
|
|
89
|
+
'(click)': 'ss.selection.handleClick(position(), $event)',
|
|
90
|
+
'(dblclick)': 'onDbClick()',
|
|
91
|
+
}
|
|
92
|
+
}]
|
|
93
|
+
}], ctorParameters: () => [] });
|
|
94
|
+
export class SpreadSheetCellInput {
|
|
95
|
+
constructor() {
|
|
96
|
+
this.ss = inject(SpreadSheetService);
|
|
97
|
+
this.position = input({ row: 0, col: 0 }, { alias: 'ssCellInput' });
|
|
98
|
+
this.el = inject(ElementRef);
|
|
99
|
+
this.isSelected = computed(() => this.ss.selection.isSelected(this.position()));
|
|
100
|
+
this.isEditing = computed(() => this.ss.editor.isEditing(this.position()));
|
|
101
|
+
}
|
|
102
|
+
ngAfterViewInit() {
|
|
103
|
+
this.ss.editor.setInput(this.el.nativeElement, this.position());
|
|
104
|
+
if (this.isSelected() && this.isEditing()) {
|
|
105
|
+
this.ss.editor.focus(this.position());
|
|
106
|
+
}
|
|
107
|
+
}
|
|
108
|
+
stopEditing() {
|
|
109
|
+
this.ss.editor.stopEditing();
|
|
110
|
+
}
|
|
111
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.1.2", ngImport: i0, type: SpreadSheetCellInput, deps: [], target: i0.ɵɵFactoryTarget.Directive }); }
|
|
112
|
+
static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "17.1.0", version: "18.1.2", type: SpreadSheetCellInput, isStandalone: true, selector: "[ssCellInput]", inputs: { position: { classPropertyName: "position", publicName: "ssCellInput", isSignal: true, isRequired: false, transformFunction: null } }, host: { listeners: { "blur": "stopEditing()" } }, ngImport: i0 }); }
|
|
113
|
+
}
|
|
114
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.1.2", ngImport: i0, type: SpreadSheetCellInput, decorators: [{
|
|
115
|
+
type: Directive,
|
|
116
|
+
args: [{
|
|
117
|
+
standalone: true,
|
|
118
|
+
selector: '[ssCellInput]',
|
|
119
|
+
host: {
|
|
120
|
+
'(blur)': 'stopEditing()',
|
|
121
|
+
}
|
|
122
|
+
}]
|
|
123
|
+
}] });
|
|
124
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZ3JpZC1jZWxsLmRpcmVjdGl2ZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL3BhY2thZ2VzL0BuZy1hdG9taWMvY29tbW9uL3NyYy9saWIvc2VydmljZXMvc3ByZWFkc2hlZXQvZGlyZWN0aXZlcy9ncmlkLWNlbGwuZGlyZWN0aXZlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxRQUFRLEVBQUUsU0FBUyxFQUFFLE1BQU0sRUFBRSxVQUFVLEVBQUUsTUFBTSxFQUFFLEtBQUssRUFBRSxNQUFNLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDL0YsT0FBTyxFQUFFLGtCQUFrQixFQUFFLE1BQU0sd0JBQXdCLENBQUM7O0FBZ0I1RCxNQUFNLE9BQU8sZUFBZTtJQVcxQjtRQVZVLE9BQUUsR0FBRyxNQUFNLENBQUMsa0JBQWtCLENBQUMsQ0FBQztRQUNqQyxPQUFFLEdBQUcsTUFBTSxDQUFtQyxVQUFVLENBQUMsQ0FBQztRQUUxRCxhQUFRLEdBQUcsS0FBSyxDQUE2QixFQUFDLEdBQUcsRUFBRSxDQUFDLEVBQUUsR0FBRyxFQUFFLENBQUMsRUFBQyxFQUFFLEVBQUMsS0FBSyxFQUFFLFFBQVEsRUFBQyxDQUFDLENBQUM7UUFDbEYsYUFBUSxHQUFHLEtBQUssQ0FBVSxLQUFLLEVBQUUsRUFBQyxLQUFLLEVBQUUsZ0JBQWdCLEVBQUMsQ0FBQyxDQUFDO1FBQzVELFlBQU8sR0FBRyxLQUFLLENBQWMsSUFBSSxFQUFFLEVBQUMsS0FBSyxFQUFFLGVBQWUsRUFBQyxDQUFDLENBQUM7UUFDN0QsZUFBVSxHQUFHLFFBQVEsQ0FBQyxHQUFHLEVBQUUsQ0FBQyxJQUFJLENBQUMsRUFBRSxDQUFDLFNBQVMsQ0FBQyxVQUFVLENBQUMsSUFBSSxDQUFDLFFBQVEsRUFBRSxDQUFDLENBQUMsQ0FBQztRQUMzRSxjQUFTLEdBQUcsUUFBUSxDQUFDLEdBQUcsRUFBRSxDQUFDLElBQUksQ0FBQyxFQUFFLENB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QUM7SUFDL0IsQ0FBQzs4R0FoQlUsb0JBQW9CO2tHQUFwQixvQkFBb0I7OzJGQUFwQixvQkFBb0I7a0JBUGhDLFNBQVM7bUJBQUM7b0JBQ1QsVUFBVSxFQUFFLElBQUk7b0JBQ2hCLFFBQVEsRUFBRSxlQUFlO29CQUN6QixJQUFJLEVBQUU7d0JBQ0osUUFBUSxFQUFFLGVBQWU7cUJBQzFCO2lCQUNGIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgY29tcHV0ZWQsIERpcmVjdGl2ZSwgZWZmZWN0LCBFbGVtZW50UmVmLCBpbmplY3QsIGlucHV0LCBzaWduYWwgfSBmcm9tIFwiQGFuZ3VsYXIvY29yZVwiO1xuaW1wb3J0IHsgU3ByZWFkU2hlZXRTZXJ2aWNlIH0gZnJvbSBcIi4uL3NwcmVhZHNoZWV0LnNlcnZpY2VcIjtcbmltcG9ydCB7IENlbGxDb250ZXh0IH0gZnJvbSBcIi4uL21vZGVscy9jZWxsLm1vZGVsXCI7XG5cbkBEaXJlY3RpdmUoe1xuICBzdGFuZGFsb25lOiB0cnVlLFxuICBzZWxlY3RvcjogJ1tzc0NlbGxdJyxcbiAgaG9zdDoge1xuICAgICdbY2xhc3Muc2VsZWN0ZWRdJzogJ3NzLnNlbGVjdGlvbi5pc1NlbGVjdGVkKHBvc2l0aW9uKCkpJyxcbiAgICAnW2NsYXNzLmVkaXRpbmddJzogJ3NzLmVkaXRvci5pc0VkaXRpbmcocG9zaXRpb24oKSknLFxuICAgICcobW91c2Vkb3duKSc6ICdzcy5zZWxlY3Rpb24uaGFuZGxlTW91c2VEb3duKHBvc2l0aW9uKCksICRldmVudCknLFxuICAgICcobW91c2V1cCknOiAnc3Muc2VsZWN0aW9uLmhhbmRsZU1vdXNlVXAoKScsXG4gICAgJyhtb3VzZWVudGVyKSc6ICdzcy5zZWxlY3Rpb24uaGFuZGxlTW91c2VFbnRlcihwb3NpdGlvbigpKScsXG4gICAgJyhjbGljayknOiAnc3Muc2VsZWN0aW9uLmhhbmRsZUNsaWNrKHBvc2l0aW9uKCksICRldmVudCknLFxuICAgICcoZGJsY2xpY2spJzogJ29uRGJDbGljaygpJyxcbiAgfVxufSlcbmV4cG9ydCBjbGFzcyBTcHJlYWRTaGVldENlbGwge1xuICBwcm90ZWN0ZWQgc3MgPSBpbmplY3QoU3ByZWFkU2hlZXRTZXJ2aWNlKTtcbiAgcmVhZG9ubHkgZWwgPSBpbmplY3Q8RWxlbWVudFJlZjxIVE1MVGFibGVDZWxsRWxlbWVudD4+KEVsZW1lbnRSZWYpO1xuXG4gIHJlYWRvbmx5IHBvc2l0aW9uID0gaW5wdXQ8e3JvdzogbnVtYmVyLCBjb2w6IG51bWJlcn0+KHtyb3c6IDAsIGNvbDogMH0sIHthbGlhczogJ3NzQ2VsbCd9KTtcbiAgcmVhZG9ubHkgZWRpdGFibGUgPSBpbnB1dDxib29sZWFuPihmYWxzZSwge2FsaWFzOiAnc3NDZWxsRWRpdGFibGUnfSk7XG4gIHJlYWRvbmx5IGNvbnRleHQgPSBpbnB1dDxDZWxsQ29udGV4dD4obnVsbCwge2FsaWFzOiAnc3NDZWxsQ29udGV4dCd9KTtcbiAgcmVhZG9ubHkgaXNTZWxlY3RlZCA9IGNvbXB1dGVkKCgpID0+IHRoaXMuc3Muc2VsZWN0aW9uLmlzU2VsZWN0ZWQodGhpcy5wb3NpdGlvbigpKSk7XG4gIHJlYWRvbmx5IGlzRWRpdGluZyA9IGNvbXB1dGVkKCgpID0+IHRoaXMuc3MuZWRpdG9yLmlzRWRpdGluZyh0aGlzLnBvc2l0aW9uKCkpKTtcbiAgcmVhZG9ubHkgZnJhbWVFbCA9IHNpZ25hbDxIVE1MRGl2RWxlbWVudCB8IG51bGw+KG51bGwpO1xuXG4gIGNvbnN0cnVjdG9yKCkge1xuICAgIGVmZmVjdCgoKSA9PiB7XG4gICAgICBpZiAoIXRoaXMuY29udGV4dCgpKSByZXR1cm47XG4gICAgICB0aGlzLnNzLmdyaWQuc2V0Q29udGV4dCh0aGlzLmNvbnRleHQoKSk7XG4gICAgfSk7XG5cbiAgICBlZmZlY3QoKCkgPT4ge1xuICAgICAgY29uc3QgaXNDdXJzb3IgPSB0aGlzLnNzLnNlbGVjdGlvbi5pc0N1cnNvclBvc2l0aW9uKHRoaXMucG9zaXRpb24oKSk7XG4gICAgICBsZXQgZnJhbWUgPSB0aGlzLmZyYW1lRWwoKTtcblxuICAgICAgaWYgKGlzQ3Vyc29yKSB7XG4gICAgICAgIGlmICghZnJhbWUpIHtcbiAgICAgICAgICBmcmFtZSA9IHRoaXMuYnVpbGRPdXRsaW5lRnJhbWUoKTtcbiAgICAgICAgICB0aGlzLmVsLm5hdGl2ZUVsZW1lbnQuYXBwZW5kQ2hpbGQoZnJhbWUpO1xuICAgICAgICAgIHRoaXMuZnJhbWVFbC5zZXQoZnJhbWUpO1xuICAgICAgICB9XG4gICAgICB9IGVsc2Uge1xuICAgICAgICBmcmFtZT8ucmVtb3ZlKCk7XG4gICAgICAgIHRoaXMuZnJhbWVFbC5zZXQobnVsbCk7XG4gICAgICB9XG4gICAgfSwge2FsbG93U2lnbmFsV3JpdGVzOiB0cnVlfSk7XG4gIH1cblxuICBvbkRiQ2xpY2soKTogdm9pZCB7XG4gICAgaWYgKCF0aGlzLmVkaXRhYmxlKCkpIHJldHVybjtcbiAgICB0aGlzLnNzLmVkaXRvci5zdGFydEVkaXRpbmcodGhpcy5wb3NpdGlvbigpKTtcbiAgfVxuXG4gIG5nQWZ0ZXJWaWV3SW5pdCgpOiB2b2lkIHtcbiAgICB0aGlzLnNzLnNlbGVjdGlvbi5zZXRDZWxsKHRoaXMucG9zaXRpb24oKSwgdGhpcy5lbC5uYXRpdmVFbGVtZW50KTtcbiAgICBpZiAodGhpcy5pc1NlbGVjdGVkKCkgJiYgIXRoaXMuaXNFZGl0aW5nKCkpIHtcbiAgICAgIHRoaXMuc3Muc2VsZWN0aW9uLmZvY3VzKHRoaXMucG9zaXRpb24oKSk7XG4gICAgfVxuICB9XG5cbiAgcHJvdGVjdGVkIGJ1aWxkT3V0bGluZUZyYW1lKCk6IEhUTUxEaXZFbGVtZW50IHtcbiAgICBjb25zdCBmcmFtZSA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoJ2RpdicpO1xuICAgIGZyYW1lLmNsYXNzTGlzdC5hZGQoJ3NlbGVjdGlvbi1mcmFtZScpO1xuICAgIGZyYW1lLnN0eWxlLnBvc2l0aW9uID0gJ2Fic29sdXRlJztcbiAgICBmcmFtZS5zdHlsZS50b3AgPSAnMCc7XG4gICAgZnJhbWUuc3R5bGUubGVmdCA9ICcwJztcbiAgICBmcmFtZS5zdHlsZS53aWR0aCA9ICcxMDAlJztcbiAgICBmcmFtZS5zdHlsZS5oZWlnaHQgPSAnMTAwJSc7XG4gICAgZnJhbWUuc3R5bGUuYm9yZGVyID0gJzJweCBzb2xpZCAjMjE5NmYzJztcbiAgICBmcmFtZS5zdHlsZS5ib3JkZXJSYWRpdXMgPSAnNHB4JztcbiAgICBmcmFtZS5zdHlsZS5wb2ludGVyRXZlbnRzID0gJ25vbmUnO1xuICAgIGZyYW1lLnN0eWxlLmJveFNpemluZyA9ICdib3JkZXItYm94JztcbiAgICByZXR1cm4gZnJhbWU7XG4gIH1cblxuICBwcm90ZWN0ZWQgY3JlYXRlTGFiZWxFbGVtZW50KG9wdGlvbnM6IHtcbiAgICBsYWJlbDogc3RyaW5nXG4gICAgY29sb3I6IHN0cmluZ1xuICB9KSB7XG4gICAgY29uc3QgZWwgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCdzcGFuJyk7XG4gICAgZWwudGV4dENvbnRlbnQgPSBvcHRpb25zLmxhYmVsO1xuICAgIGVsLnN0eWxlLmJhY2tncm91bmRDb2xvciA9IGAke29wdGlvbnMuY29sb3J9YDtcbiAgICBlbC5zdHlsZS5jb2xvciA9ICcjZmZmJztcbiAgICBlbC5zdHlsZS5wYWRkaW5nID0gJzJweCA0cHgnO1xuICAgIGVsLnN0eWxlLnBvc2l0aW9uID0gJ2Fic29sdXRlJztcbiAgICBlbC5zdHlsZS5mb250U2l6ZSA9ICcxMHB4JztcbiAgICBlbC5zdHlsZS50b3AgPSAnMCc7XG4gICAgZWwuc3R5bGUubGVmdCA9ICcwJztcbiAgICBlbC5zdHlsZS56SW5kZXggPSAnOTk5OSc7XG4gICAgZWwuc3R5bGUubGluZUhlaWdodCA9ICcxLjVlbSc7XG4gICAgZWwuc3R5bGUud2hpdGVTcGFjZSA9ICdub3dyYXAnO1xuICAgIHRoaXMuZWwubmF0aXZlRWxlbWVudC5hcHBlbmRDaGlsZChlbCk7XG4gIH1cbn1cblxuXG5ARGlyZWN0aXZlKHtcbiAgc3RhbmRhbG9uZTogdHJ1ZSxcbiAgc2VsZWN0b3I6ICdbc3NDZWxsSW5wdXRdJyxcbiAgaG9zdDoge1xuICAgICcoYmx1ciknOiAnc3RvcEVkaXRpbmcoKScsXG4gIH1cbn0pXG5leHBvcnQgY2xhc3MgU3ByZWFkU2hlZXRDZWxsSW5wdXQge1xuICBwcm90ZWN0ZWQgc3MgPSBpbmplY3QoU3ByZWFkU2hlZXRTZXJ2aWNlKTtcbiAgcmVhZG9ubHkgcG9zaXRpb24gPSBpbnB1dDx7cm93OiBudW1iZXIsIGNvbDogbnVtYmVyfT4oe3JvdzogMCwgY29sOiAwfSwge2FsaWFzOiAnc3NDZWxsSW5wdXQnfSk7XG4gIHJlYWRvbmx5IGVsID0gaW5qZWN0PEVsZW1lbnRSZWY8SFRNTElucHV0RWxlbWVudD4+KEVsZW1lbnRSZWYpO1xuICByZWFkb25seSBpc1NlbGVjdGVkID0gY29tcHV0ZWQoKCkgPT4gdGhpcy5zcy5zZWxlY3Rpb24uaXNTZWxlY3RlZCh0aGlzLnBvc2l0aW9uKCkpKTtcbiAgcmVhZG9ubHkgaXNFZGl0aW5nID0gY29tcHV0ZWQoKCkgPT4gdGhpcy5zcy5lZGl0b3IuaXNFZGl0aW5nKHRoaXMucG9zaXRpb24oKSkpO1xuXG4gIG5nQWZ0ZXJWaWV3SW5pdCgpOiB2b2lkIHtcbiAgICB0aGlzLnNzLmVkaXRvci5zZXRJbnB1dCh0aGlzLmVsLm5hdGl2ZUVsZW1lbnQsIHRoaXMucG9zaXRpb24oKSk7XG4gICAgaWYgKHRoaXMuaXNTZWxlY3RlZCgpICYmIHRoaXMuaXNFZGl0aW5nKCkpIHtcbiAgICAgIHRoaXMuc3MuZWRpdG9yLmZvY3VzKHRoaXMucG9zaXRpb24oKSk7XG4gICAgfVxuICB9XG5cbiAgcHJvdGVjdGVkIHN0b3BFZGl0aW5nKCk6IHZvaWQge1xuICAgIHRoaXMuc3MuZWRpdG9yLnN0b3BFZGl0aW5nKCk7XG4gIH1cbn1cbiJdfQ==
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
export * from './grid-cell.directive';
|
|
2
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9wYWNrYWdlcy9AbmctYXRvbWljL2NvbW1vbi9zcmMvbGliL3NlcnZpY2VzL3NwcmVhZHNoZWV0L2RpcmVjdGl2ZXMvaW5kZXgudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsY0FBYyx1QkFBdUIsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImV4cG9ydCAqIGZyb20gJy4vZ3JpZC1jZWxsLmRpcmVjdGl2ZSc7XG4iXX0=
|
|
@@ -0,0 +1,71 @@
|
|
|
1
|
+
import { inject, Injectable } from '@angular/core';
|
|
2
|
+
import { GridService } from './grid.service';
|
|
3
|
+
import { SelectionService } from './selection.service';
|
|
4
|
+
import { Clipboard } from '@angular/cdk/clipboard';
|
|
5
|
+
import papaparse from 'papaparse';
|
|
6
|
+
import { SnackBarService } from '@ng-atomic/common/services/snack-bar';
|
|
7
|
+
import * as i0 from "@angular/core";
|
|
8
|
+
import * as i1 from "./grid.service";
|
|
9
|
+
import * as i2 from "./selection.service";
|
|
10
|
+
export class ClipboardService {
|
|
11
|
+
constructor(gridService, selectionService) {
|
|
12
|
+
this.gridService = gridService;
|
|
13
|
+
this.selectionService = selectionService;
|
|
14
|
+
this.clipboard = inject(Clipboard);
|
|
15
|
+
this.snackBar = inject(SnackBarService);
|
|
16
|
+
}
|
|
17
|
+
async copy() {
|
|
18
|
+
const selection = this.selectionService.getSelection();
|
|
19
|
+
if (!selection)
|
|
20
|
+
return;
|
|
21
|
+
const { start, end } = selection;
|
|
22
|
+
if (!end) {
|
|
23
|
+
this.copyText(this.gridService.data()[start.row][start.col].dataValue);
|
|
24
|
+
return;
|
|
25
|
+
}
|
|
26
|
+
const minRow = Math.min(start.row, end.row);
|
|
27
|
+
const maxRow = Math.max(start.row, end.row);
|
|
28
|
+
const minCol = Math.min(start.col, end.col);
|
|
29
|
+
const maxCol = Math.max(start.col, end.col);
|
|
30
|
+
const data = this.gridService.data();
|
|
31
|
+
const clipboardData = [];
|
|
32
|
+
for (let i = minRow; i <= maxRow; i++) {
|
|
33
|
+
const row = [];
|
|
34
|
+
for (let j = minCol; j <= maxCol; j++) {
|
|
35
|
+
row.push(data[i][j].dataValue);
|
|
36
|
+
}
|
|
37
|
+
clipboardData.push(row);
|
|
38
|
+
}
|
|
39
|
+
const tsv = papaparse.unparse(clipboardData, { delimiter: '\t', newline: '\n', header: false });
|
|
40
|
+
this.clipboard.copy(tsv);
|
|
41
|
+
}
|
|
42
|
+
copyText(text) {
|
|
43
|
+
this.clipboard.copy(text);
|
|
44
|
+
this.snackBar.open('クリップボードにコピーしました。');
|
|
45
|
+
}
|
|
46
|
+
async paste(targetRow, targetCol) {
|
|
47
|
+
try {
|
|
48
|
+
const clipboardText = await navigator.clipboard.readText();
|
|
49
|
+
const rows = clipboardText.split('\n');
|
|
50
|
+
const data = this.gridService.data();
|
|
51
|
+
const rowCount = Math.min(rows.length, data.length - targetRow);
|
|
52
|
+
for (let i = 0; i < rowCount; i++) {
|
|
53
|
+
const cells = rows[i].split('\t');
|
|
54
|
+
const colCount = Math.min(cells.length, this.gridService.columns().length - targetCol);
|
|
55
|
+
for (let j = 0; j < colCount; j++) {
|
|
56
|
+
this.gridService.updateCell(targetRow + i, targetCol + j, cells[j]);
|
|
57
|
+
}
|
|
58
|
+
}
|
|
59
|
+
console.log('Data pasted from clipboard as TSV');
|
|
60
|
+
}
|
|
61
|
+
catch (err) {
|
|
62
|
+
console.error('Failed to read data from clipboard', err);
|
|
63
|
+
}
|
|
64
|
+
}
|
|
65
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.1.2", ngImport: i0, type: ClipboardService, deps: [{ token: i1.GridService }, { token: i2.SelectionService }], target: i0.ɵɵFactoryTarget.Injectable }); }
|
|
66
|
+
static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "18.1.2", ngImport: i0, type: ClipboardService }); }
|
|
67
|
+
}
|
|
68
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.1.2", ngImport: i0, type: ClipboardService, decorators: [{
|
|
69
|
+
type: Injectable
|
|
70
|
+
}], ctorParameters: () => [{ type: i1.GridService }, { type: i2.SelectionService }] });
|
|
71
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2xpcGJvYXJkLnNlcnZpY2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9wYWNrYWdlcy9AbmctYXRvbWljL2NvbW1vbi9zcmMvbGliL3NlcnZpY2VzL3NwcmVhZHNoZWV0L2ZlYXR1cmVzL2NsaXBib2FyZC5zZXJ2aWNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxNQUFNLEVBQUUsVUFBVSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQ25ELE9BQU8sRUFBRSxXQUFXLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUM3QyxPQUFPLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSxxQkFBcUIsQ0FBQztBQUN2RCxPQUFPLEVBQUUsU0FBUyxFQUFFLE1BQU0sd0JBQXdCLENBQUM7QUFDbkQsT0FBTyxTQUFTLE1BQU0sV0FBVyxDQUFDO0FBQ2xDLE9BQU8sRUFBRSxlQUFlLEVBQUUsTUFBTSxzQ0FBc0MsQ0FBQzs7OztBQUd2RSxNQUFNLE9BQU8sZ0JBQWdCO0lBSTNCLFlBQ1UsV0FBd0IsRUFDeEIsZ0JBQWtDO1FBRGxDLGdCQUFXLEdBQVgsV0FBVyxDQUFhO1FBQ3hCLHFCQUFnQixHQUFoQixnQkFBZ0IsQ0FBa0I7UUFMcEMsY0FBUyxHQUFHLE1BQU0sQ0FBQyxTQUFTLENBQUMsQ0FBQztRQUM5QixhQUFRLEdBQUcsTUFBTSxDQUFDLGVBQWUsQ0FBQyxDQUFDO0lBS3ZDLENBQUM7SUFFTCxLQUFLLENBQUMsSUFBSTtRQUNSLE1BQU0sU0FBUyxHQUFHLElBQUksQ0FBQyxnQkFBZ0IsQ0FBQyxZQUFZLEVBQUUsQ0FBQztRQUN2RCxJQUFJLENBQUMsU0FBUztZQUFFLE9BQU87UUFFdkIsTUFBTSxFQUFFLEtBQUssRUFBRSxHQUFHLEVBQUUsR0FBRyxTQUFTLENBQUM7UUFFakMsSUFBSSxDQUFDLEdBQUcsRUFBRSxDQUFDO1lBQ1QsSUFBSSxDQUFDLFFBQVEsQ0FBQyxJQUFJLENBQUMsV0FBVyxD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QUMsR0FBRyxDQUFDLEVBQUUsQ0FBQyxHQUFHLFFBQVEsRUFBRSxDQUFDLEVBQUUsRUFBRSxDQUFDO29CQUNsQyxJQUFJLENBQUMsV0FBVyxDQUFDLFVBQVUsQ0FBQyxTQUFTLEdBQUcsQ0FBQyxFQUFFLFNBQVMsR0FBRyxDQUFDLEVBQUUsS0FBSyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUM7Z0JBQ3RFLENBQUM7WUFDSCxDQUFDO1lBRUQsT0FBTyxDQUFDLEdBQUcsQ0FBQyxtQ0FBbUMsQ0FBQyxDQUFDO1FBQ25ELENBQUM7UUFBQyxPQUFPLEdBQUcsRUFBRSxDQUFDO1lBQ2IsT0FBTyxDQUFDLEtBQUssQ0FBQyxvQ0FBb0MsRUFBRSxHQUFHLENBQUMsQ0FBQztRQUMzRCxDQUFDO0lBQ0gsQ0FBQzs4R0FwRVUsZ0JBQWdCO2tIQUFoQixnQkFBZ0I7OzJGQUFoQixnQkFBZ0I7a0JBRDVCLFVBQVUiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBpbmplY3QsIEluamVjdGFibGUgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IEdyaWRTZXJ2aWNlIH0gZnJvbSAnLi9ncmlkLnNlcnZpY2UnO1xuaW1wb3J0IHsgU2VsZWN0aW9uU2VydmljZSB9IGZyb20gJy4vc2VsZWN0aW9uLnNlcnZpY2UnO1xuaW1wb3J0IHsgQ2xpcGJvYXJkIH0gZnJvbSAnQGFuZ3VsYXIvY2RrL2NsaXBib2FyZCc7XG5pbXBvcnQgcGFwYXBhcnNlIGZyb20gJ3BhcGFwYXJzZSc7XG5pbXBvcnQgeyBTbmFja0JhclNlcnZpY2UgfSBmcm9tICdAbmctYXRvbWljL2NvbW1vbi9zZXJ2aWNlcy9zbmFjay1iYXInO1xuXG5ASW5qZWN0YWJsZSgpXG5leHBvcnQgY2xhc3MgQ2xpcGJvYXJkU2VydmljZSB7XG4gIHByaXZhdGUgY2xpcGJvYXJkID0gaW5qZWN0KENsaXBib2FyZCk7XG4gIHByaXZhdGUgc25hY2tCYXIgPSBpbmplY3QoU25hY2tCYXJTZXJ2aWNlKTtcblxuICBjb25zdHJ1Y3RvcihcbiAgICBwcml2YXRlIGdyaWRTZXJ2aWNlOiBHcmlkU2VydmljZSxcbiAgICBwcml2YXRlIHNlbGVjdGlvblNlcnZpY2U6IFNlbGVjdGlvblNlcnZpY2UsXG4gICkgeyB9XG5cbiAgYXN5bmMgY29weSgpOiBQcm9taXNlPHZvaWQ+IHtcbiAgICBjb25zdCBzZWxlY3Rpb24gPSB0aGlzLnNlbGVjdGlvblNlcnZpY2UuZ2V0U2VsZWN0aW9uKCk7XG4gICAgaWYgKCFzZWxlY3Rpb24pIHJldHVybjtcblxuICAgIGNvbnN0IHsgc3RhcnQsIGVuZCB9ID0gc2VsZWN0aW9uO1xuXG4gICAgaWYgKCFlbmQpIHtcbiAgICAgIHRoaXMuY29weVRleHQodGhpcy5ncmlkU2VydmljZS5kYXRhKClbc3RhcnQucm93XVtzdGFydC5jb2xdLmRhdGFWYWx1ZSk7XG4gICAgICByZXR1cm47XG4gICAgfVxuXG4gICAgY29uc3QgbWluUm93ID0gTWF0aC5taW4oc3RhcnQucm93LCBlbmQucm93KTtcbiAgICBjb25zdCBtYXhSb3cgPSBNYXRoLm1heChzdGFydC5yb3csIGVuZC5yb3cpO1xuICAgIGNvbnN0IG1pbkNvbCA9IE1hdGgubWluKHN0YXJ0LmNvbCwgZW5kLmNvbCk7XG4gICAgY29uc3QgbWF4Q29sID0gTWF0aC5tYXgoc3RhcnQuY29sLCBlbmQuY29sKTtcblxuICAgIGNvbnN0IGRhdGEgPSB0aGlzLmdyaWRTZXJ2aWNlLmRhdGEoKTtcbiAgICBjb25zdCBjbGlwYm9hcmREYXRhOiBzdHJpbmdbXVtdID0gW107XG5cbiAgICBmb3IgKGxldCBpID0gbWluUm93OyBpIDw9IG1heFJvdzsgaSsrKSB7XG4gICAgICBjb25zdCByb3c6IHN0cmluZ1tdID0gW107XG4gICAgICBmb3IgKGxldCBqID0gbWluQ29sOyBqIDw9IG1heENvbDsgaisrKSB7XG4gICAgICAgIHJvdy5wdXNoKGRhdGFbaV1bal0uZGF0YVZhbHVlKTtcbiAgICAgIH1cbiAgICAgIGNsaXBib2FyZERhdGEucHVzaChyb3cpO1xuICAgIH1cblxuICAgIGNvbnN0IHRzdiA9IHBhcGFwYXJzZS51bnBhcnNlKGNsaXBib2FyZERhdGEsIFxuICAgICAgeyBkZWxpbWl0ZXI6ICdcXHQnLCBuZXdsaW5lOiAnXFxuJywgaGVhZGVyOiBmYWxzZSB9XG4gICAgKTtcbiAgICB0aGlzLmNsaXBib2FyZC5jb3B5KHRzdik7XG4gIH1cblxuICBwcm90ZWN0ZWQgY29weVRleHQodGV4dDogc3RyaW5nKSB7XG4gICAgdGhpcy5jbGlwYm9hcmQuY29weSh0ZXh0KTtcbiAgICB0aGlzLnNuYWNrQmFyLm9wZW4oJ+OCr+ODquODg+ODl+ODnOODvOODieOBq+OCs+ODlOODvOOBl+OBvuOBl+OBn+OAgicpO1xuICB9XG5cbiAgYXN5bmMgcGFzdGUodGFyZ2V0Um93OiBudW1iZXIsIHRhcmdldENvbDogbnVtYmVyKTogUHJvbWlzZTx2b2lkPiB7XG4gICAgdHJ5IHtcbiAgICAgIGNvbnN0IGNsaXBib2FyZFRleHQgPSBhd2FpdCBuYXZpZ2F0b3IuY2xpcGJvYXJkLnJlYWRUZXh0KCk7XG4gICAgICBjb25zdCByb3dzID0gY2xpcGJvYXJkVGV4dC5zcGxpdCgnXFxuJyk7XG4gICAgICBjb25zdCBkYXRhID0gdGhpcy5ncmlkU2VydmljZS5kYXRhKCk7XG5cbiAgICAgIGNvbnN0IHJvd0NvdW50ID0gTWF0aC5taW4ocm93cy5sZW5ndGgsIGRhdGEubGVuZ3RoIC0gdGFyZ2V0Um93KTtcblxuICAgICAgZm9yIChsZXQgaSA9IDA7IGkgPCByb3dDb3VudDsgaSsrKSB7XG4gICAgICAgIGNvbnN0IGNlbGxzID0gcm93c1tpXS5zcGxpdCgnXFx0Jyk7XG4gICAgICAgIGNvbnN0IGNvbENvdW50ID0gTWF0aC5taW4oY2VsbHMubGVuZ3RoLCB0aGlzLmdyaWRTZXJ2aWNlLmNvbHVtbnMoKS5sZW5ndGggLSB0YXJnZXRDb2wpO1xuXG4gICAgICAgIGZvciAobGV0IGogPSAwOyBqIDwgY29sQ291bnQ7IGorKykge1xuICAgICAgICAgIHRoaXMuZ3JpZFNlcnZpY2UudXBkYXRlQ2VsbCh0YXJnZXRSb3cgKyBpLCB0YXJnZXRDb2wgKyBqLCBjZWxsc1tqXSk7XG4gICAgICAgIH1cbiAgICAgIH1cblxuICAgICAgY29uc29sZS5sb2coJ0RhdGEgcGFzdGVkIGZyb20gY2xpcGJvYXJkIGFzIFRTVicpO1xuICAgIH0gY2F0Y2ggKGVycikge1xuICAgICAgY29uc29sZS5lcnJvcignRmFpbGVkIHRvIHJlYWQgZGF0YSBmcm9tIGNsaXBib2FyZCcsIGVycik7XG4gICAgfVxuICB9XG59Il19
|
|
@@ -0,0 +1,63 @@
|
|
|
1
|
+
import { inject, Injectable } from "@angular/core";
|
|
2
|
+
import { LanguageService } from "@ng-atomic/common/services/language";
|
|
3
|
+
import { injectDataAccessor } from "@ng-atomic/common/pipes/data-accessor";
|
|
4
|
+
import { EXPRESSION_TRANSFORMER } from "@ng-atomic/common/utils";
|
|
5
|
+
import * as i0 from "@angular/core";
|
|
6
|
+
export class SpreadSheetDataService {
|
|
7
|
+
constructor() {
|
|
8
|
+
this.cache = new Map();
|
|
9
|
+
this.language = inject(LanguageService);
|
|
10
|
+
this.dataAccessor = injectDataAccessor();
|
|
11
|
+
this.expression = inject(EXPRESSION_TRANSFORMER);
|
|
12
|
+
}
|
|
13
|
+
buildGridData(items, displayedColumns) {
|
|
14
|
+
return [
|
|
15
|
+
this.buildGridHeaderRow(displayedColumns),
|
|
16
|
+
...items.map((item) => this.buildGridRow(item, displayedColumns))
|
|
17
|
+
];
|
|
18
|
+
}
|
|
19
|
+
buildGridHeaderRow(columns) {
|
|
20
|
+
const key = this.buildKey({ columns });
|
|
21
|
+
const cached = this.cache.get(key);
|
|
22
|
+
if (cached)
|
|
23
|
+
return cached;
|
|
24
|
+
const row = columns.map((column) => ({
|
|
25
|
+
dataValue: this.language.transform(column),
|
|
26
|
+
expressionValue: this.language.transform(column),
|
|
27
|
+
isHeader: true
|
|
28
|
+
}));
|
|
29
|
+
this.cache.set(key, row);
|
|
30
|
+
return row;
|
|
31
|
+
}
|
|
32
|
+
buildGridRow(item, displayedColumns) {
|
|
33
|
+
const key = this.buildKey({ item, displayedColumns });
|
|
34
|
+
const cached = this.cache.get(key);
|
|
35
|
+
if (cached)
|
|
36
|
+
return cached;
|
|
37
|
+
const row = displayedColumns.map((column) => this.buildGridCell(item, column));
|
|
38
|
+
this.cache.set(key, row);
|
|
39
|
+
return row;
|
|
40
|
+
}
|
|
41
|
+
buildGridCell(item, column) {
|
|
42
|
+
const key = this.buildKey({ item, column });
|
|
43
|
+
const cached = this.cache.get(key);
|
|
44
|
+
if (cached)
|
|
45
|
+
return cached;
|
|
46
|
+
const cell = {
|
|
47
|
+
dataValue: this.dataAccessor(item, column),
|
|
48
|
+
expressionValue: this.expression(this.dataAccessor(item, column), { item, name: column }),
|
|
49
|
+
};
|
|
50
|
+
this.cache.set(key, cell);
|
|
51
|
+
return cell;
|
|
52
|
+
}
|
|
53
|
+
buildKey(obj) {
|
|
54
|
+
// return CryptoJS.MD5(JSON.stringify(obj)).toString(CryptoJS.enc.Base64).slice(0, 10);
|
|
55
|
+
return JSON.stringify(obj);
|
|
56
|
+
}
|
|
57
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.1.2", ngImport: i0, type: SpreadSheetDataService, deps: [], target: i0.ɵɵFactoryTarget.Injectable }); }
|
|
58
|
+
static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "18.1.2", ngImport: i0, type: SpreadSheetDataService }); }
|
|
59
|
+
}
|
|
60
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.1.2", ngImport: i0, type: SpreadSheetDataService, decorators: [{
|
|
61
|
+
type: Injectable
|
|
62
|
+
}] });
|
|
63
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGF0YS5zZXJ2aWNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vcGFja2FnZXMvQG5nLWF0b21pYy9jb21tb24vc3JjL2xpYi9zZXJ2aWNlcy9zcHJlYWRzaGVldC9mZWF0dXJlcy9kYXRhLnNlcnZpY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLE1BQU0sRUFBRSxVQUFVLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFFbkQsT0FBTyxFQUFFLGVBQWUsRUFBRSxNQUFNLHFDQUFxQyxDQUFDO0FBQ3RFLE9BQU8sRUFBRSxrQkFBa0IsRUFBRSxNQUFNLHVDQUF1QyxDQUFDO0FBQzNFLE9BQU8sRUFBRSxzQkFBc0IsRUFBRSxNQUFNLHlCQUF5QixDQUFDOztBQUlqRSxNQUFNLE9BQU8sc0JBQXNCO0lBRG5DO1FBRVcsVUFBSyxHQUFHLElBQUksR0FBRyxFQUF5QixDQUFDO1FBQ3pDLGFBQVEsR0FBRyxNQUFNLENBQUMsZUFBZSxDQUFDLENBQUM7UUFDbkMsaUJBQVksR0FBRyxrQkFBa0IsRUFBRSxDQUFDO1FBQ3BDLGVBQVUsR0FBRyxNQUFNLENBQUMsc0JBQXNCLENBQUMsQ0FBQztLQWdEdEQ7SUE5Q0MsYUFBYSxDQUFDLEtBQVksRUFBRSxnQkFBMEI7UUFDcEQsT0FBTztZQUNMLElBQUksQ0FBQyxrQkFBa0IsQ0FBQyxnQkFBZ0IsQ0FBQztZQUN6QyxHQUFHLEtBQUssQ0FBQyxHQUFHLENBQUMsQ0FBQyxJQUFJLEVBQUUsRUFBRSxDQUFDLElBQUksQ0FBQyxZQUFZLENBQUMsSUFBSSxFQUFFLGdCQUFnQixDQUFDLENBQUM7U0FDbEUsQ0FBQztJQUNKLENBQUM7SUFFUyxrQkFBa0IsQ0FBQyxPQUFpQjtRQUM1QyxNQUFNLEdBQUcsR0FBRyxJQUFJLENBQUMsUUFBUSxDQUFDLEVBQUMsT0FBTyxFQUFDLENBQUMsQ0FBQztRQUNyQyxNQUFNLE1BQU0sR0FBRyxJQUFJLENBQUMsS0FBSyxDQUFDLEdBQUcsQ0FBQyxHQUFHLENBQUMsQ0FBQztRQUNuQyxJQUFJLE1BQU07WUFBRSxPQUFPLE1BQWdCLENBQUM7UUFDcEMsTUFBTSxHQUFHLEdBQUcsT0FBTyxDQUFDLEdBQUcsQ0FBQyxDQUFDLE1BQU0sRUFBRSxFQUFFLENBQUMsQ0FBQztZQUNuQyxTQUFTLEVBQUUsSUFBSSxDQUFDLFFBQVEsQ0FBQyxTQUFTLENBQUMsTUFBTSxDQUFDO1lBQzFDLGVBQWUsRUFBRSxJQUFJLENBQUMsUUFBUSxDQUFDLFNBQVMsQ0FBQyxNQUFNLENBQUM7WUFDaEQsUUFBUSxFQUFFLElBQUk7U0FDZixDQUFDLENBQUMsQ0FBQztRQUNKLElBQUksQ0FBQyxLQUFLLENBQUMsR0FBRyxDQUFDLEdBQUcsRUFBRSxHQUFHLENBQUMsQ0FBQztRQUN6QixPQUFPLEdBQUcsQ0FBQztJQUNiLENBQUM7SUFFUyxZQUFZLENBQUMsSUFBWSxFQUFFLGdCQUEwQjtRQUM3RCxNQUFNLEdBQUcsR0FBRyxJQUFJLENBQUMsUUFBUSxDQUFDLEVBQUMsSUFBSSxFQUFFLGdCQUFnQixFQUFDLENBQUMsQ0FBQztRQUNwRCxNQUFNLE1BQU0sR0FBRyxJQUFJLENBQUMsS0FBSyxDQUFDLEdBQUcsQ0FBQyxHQUFHLENBQUMsQ0FBQztRQUNuQyxJQUFJLE1BQU07WUFBRSxPQUFPLE1BQWdCLENBQUM7UUFDcEMsTUFBTSxHQUFHLEdBQUcsZ0JBQWdCLENBQUMsR0FBRyxDQUFDLENBQUMsTUFBTSxFQUFFLEVBQUUsQ0FBQyxJQUFJLENBQUMsYUFBYSxDQUFDLElBQUksRUFBRSxNQUFNLENBQUMsQ0FBQyxDQUFDO1FBQy9FLElBQUksQ0FBQyxLQUFLLENBQUMsR0FBRyxDQUFDLEdBQUcsRUFBRSxHQUFHLENBQUMsQ0FBQztRQUN6QixPQUFPLEdBQUcsQ0FBQztJQUNiLENBQUM7SUFFUyxhQUFhLENBQUMsSUFBWSxFQUFFLE1BQWM7UUFDbEQsTUFBTSxHQUFHLEdBQUcsSUFBSSxDQUFDLFFBQVEsQ0FBQyxFQUFDLElBQUksRUFBRSxNQUFNLEVBQUMsQ0FBQyxDQUFDO1FBQzFDLE1BQU0sTUFBTSxHQUFHLElBQUksQ0FBQyxLQUFLLENBQUMsR0FBRyxDQUFDLEdBQUcsQ0FBQyxDQUFDO1FBQ25DLElBQUksTUFBTTtZQUFFLE9BQU8sTUFBYyxDQUFDO1FBQ2xDLE1BQU0sSUFBSSxHQUFHO1lBQ1gsU0FBUyxFQUFFLElBQUksQ0FBQyxZQUFZLENBQUMsSUFBSSxFQUFFLE1BQU0sQ0FBQztZQUMxQyxlQUFlLEVBQUUsSUFBSSxDQUFDLFVBQVUsQ0FBQyxJQUFJLENBQUMsWUFBWSxDQUFDLElBQUksRUFBRSxNQUFNLENBQUMsRUFBRSxFQUFDLElBQUksRUFBRSxJQUFJLEVBQUUsTUFBTSxFQUFDLENBQUM7U0FDeEYsQ0FBQztRQUNGLElBQUksQ0FBQyxLQUFLLENBQUMsR0FBRyxDQUFDLEdBQUcsRUFBRSxJQUFJLENBQUMsQ0FBQztRQUMxQixPQUFPLElBQUksQ0FBQztJQUNkLENBQUM7SUFFUyxRQUFRLENBQUMsR0FBVztRQUM1Qix1RkFBdUY7UUFDdkYsT0FBTyxJQUFJLENBQUMsU0FBUyxDQUFDLEdBQUcsQ0FBQyxDQUFDO0lBQzdCLENBQUM7OEdBbERVLHNCQUFzQjtrSEFBdEIsc0JBQXNCOzsyRkFBdEIsc0JBQXNCO2tCQURsQyxVQUFVIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgaW5qZWN0LCBJbmplY3RhYmxlIH0gZnJvbSBcIkBhbmd1bGFyL2NvcmVcIjtcbmltcG9ydCB7IENlbGwgfSBmcm9tIFwiLi4vbW9kZWxzXCI7XG5pbXBvcnQgeyBMYW5ndWFnZVNlcnZpY2UgfSBmcm9tIFwiQG5nLWF0b21pYy9jb21tb24vc2VydmljZXMvbGFuZ3VhZ2VcIjtcbmltcG9ydCB7IGluamVjdERhdGFBY2Nlc3NvciB9IGZyb20gXCJAbmctYXRvbWljL2NvbW1vbi9waXBlcy9kYXRhLWFjY2Vzc29yXCI7XG5pbXBvcnQgeyBFWFBSRVNTSU9OX1RSQU5TRk9STUVSIH0gZnJvbSBcIkBuZy1hdG9taWMvY29tbW9uL3V0aWxzXCI7XG5pbXBvcnQgQ3J5cHRvSlMgZnJvbSBcImNyeXB0by1qc1wiO1xuXG5ASW5qZWN0YWJsZSgpXG5leHBvcnQgY2xhc3MgU3ByZWFkU2hlZXREYXRhU2VydmljZSB7XG4gIHJlYWRvbmx5IGNhY2hlID0gbmV3IE1hcDxzdHJpbmcsIENlbGwgfCBDZWxsW10+KCk7XG4gIHJlYWRvbmx5IGxhbmd1YWdlID0gaW5qZWN0KExhbmd1YWdlU2VydmljZSk7XG4gIHJlYWRvbmx5IGRhdGFBY2Nlc3NvciA9IGluamVjdERhdGFBY2Nlc3NvcigpO1xuICByZWFkb25seSBleHByZXNzaW9uID0gaW5qZWN0KEVYUFJFU1NJT05fVFJBTlNGT1JNRVIpO1xuXG4gIGJ1aWxkR3JpZERhdGEoaXRlbXM6IGFueVtdLCBkaXNwbGF5ZWRDb2x1bW5zOiBzdHJpbmdbXSk6IENlbGxbXVtdIHtcbiAgICByZXR1cm4gW1xuICAgICAgdGhpcy5idWlsZEdyaWRIZWFkZXJSb3coZGlzcGxheWVkQ29sdW1ucyksXG4gICAgICAuLi5pdGVtcy5tYXAoKGl0ZW0pID0+IHRoaXMuYnVpbGRHcmlkUm93KGl0ZW0sIGRpc3BsYXllZENvbHVtbnMpKVxuICAgIF07XG4gIH1cblxuICBwcm90ZWN0ZWQgYnVpbGRHcmlkSGVhZGVyUm93KGNvbHVtbnM6IHN0cmluZ1tdKTogQ2VsbFtdIHtcbiAgICBjb25zdCBrZXkgPSB0aGlzLmJ1aWxkS2V5KHtjb2x1bW5zfSk7XG4gICAgY29uc3QgY2FjaGVkID0gdGhpcy5jYWNoZS5nZXQoa2V5KTtcbiAgICBpZiAoY2FjaGVkKSByZXR1cm4gY2FjaGVkIGFzIENlbGxbXTtcbiAgICBjb25zdCByb3cgPSBjb2x1bW5zLm1hcCgoY29sdW1uKSA9PiAoe1xuICAgICAgZGF0YVZhbHVlOiB0aGlzLmxhbmd1YWdlLnRyYW5zZm9ybShjb2x1bW4pLFxuICAgICAgZXhwcmVzc2lvblZhbHVlOiB0aGlzLmxhbmd1YWdlLnRyYW5zZm9ybShjb2x1bW4pLFxuICAgICAgaXNIZWFkZXI6IHRydWVcbiAgICB9KSk7XG4gICAgdGhpcy5jYWNoZS5zZXQoa2V5LCByb3cpO1xuICAgIHJldHVybiByb3c7XG4gIH1cblxuICBwcm90ZWN0ZWQgYnVpbGRHcmlkUm93KGl0ZW06IG9iamVjdCwgZGlzcGxheWVkQ29sdW1uczogc3RyaW5nW10pOiBDZWxsW10ge1xuICAgIGNvbnN0IGtleSA9IHRoaXMuYnVpbGRLZXkoe2l0ZW0sIGRpc3BsYXllZENvbHVtbnN9KTtcbiAgICBjb25zdCBjYWNoZWQgPSB0aGlzLmNhY2hlLmdldChrZXkpO1xuICAgIGlmIChjYWNoZWQpIHJldHVybiBjYWNoZWQgYXMgQ2VsbFtdO1xuICAgIGNvbnN0IHJvdyA9IGRpc3BsYXllZENvbHVtbnMubWFwKChjb2x1bW4pID0+IHRoaXMuYnVpbGRHcmlkQ2VsbChpdGVtLCBjb2x1bW4pKTtcbiAgICB0aGlzLmNhY2hlLnNldChrZXksIHJvdyk7XG4gICAgcmV0dXJuIHJvdztcbiAgfVxuXG4gIHByb3RlY3RlZCBidWlsZEdyaWRDZWxsKGl0ZW06IG9iamVjdCwgY29sdW1uOiBzdHJpbmcpOiBDZWxsIHtcbiAgICBjb25zdCBrZXkgPSB0aGlzLmJ1aWxkS2V5KHtpdGVtLCBjb2x1bW59KTtcbiAgICBjb25zdCBjYWNoZWQgPSB0aGlzLmNhY2hlLmdldChrZXkpO1xuICAgIGlmIChjYWNoZWQpIHJldHVybiBjYWNoZWQgYXMgQ2VsbDtcbiAgICBjb25zdCBjZWxsID0ge1xuICAgICAgZGF0YVZhbHVlOiB0aGlzLmRhdGFBY2Nlc3NvcihpdGVtLCBjb2x1bW4pLFxuICAgICAgZXhwcmVzc2lvblZhbHVlOiB0aGlzLmV4cHJlc3Npb24odGhpcy5kYXRhQWNjZXNzb3IoaXRlbSwgY29sdW1uKSwge2l0ZW0sIG5hbWU6IGNvbHVtbn0pLFxuICAgIH07XG4gICAgdGhpcy5jYWNoZS5zZXQoa2V5LCBjZWxsKTtcbiAgICByZXR1cm4gY2VsbDtcbiAgfVxuXG4gIHByb3RlY3RlZCBidWlsZEtleShvYmo6IG9iamVjdCk6IHN0cmluZyB7XG4gICAgLy8gcmV0dXJuIENyeXB0b0pTLk1ENShKU09OLnN0cmluZ2lmeShvYmopKS50b1N0cmluZyhDcnlwdG9KUy5lbmMuQmFzZTY0KS5zbGljZSgwLCAxMCk7XG4gICAgcmV0dXJuIEpTT04uc3RyaW5naWZ5KG9iaik7XG4gIH1cblxufSJdfQ==
|