@one-paragon/angular-utilities 0.1.26 → 0.1.28
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/action-state/action-state-spinner/action-state-spinner.component.d.ts +12 -12
- package/action-state/action-state-ui/action-state-ui.module.d.ts +9 -9
- package/action-state/index.d.ts +4 -4
- package/action-state/ngrx-ext/ngrx-ext.module.d.ts +8 -8
- package/action-state/ngrx.d.ts +31 -31
- package/esm2020/action-state/action-state-spinner/action-state-spinner.component.mjs +23 -23
- package/esm2020/action-state/action-state-ui/action-state-ui.module.mjs +28 -28
- package/esm2020/action-state/index.mjs +8 -8
- package/esm2020/action-state/ngrx-ext/ngrx-ext.module.mjs +23 -23
- package/esm2020/action-state/ngrx.mjs +42 -42
- package/esm2020/http-request-state/HttpRequestStateFactory.mjs +26 -26
- package/esm2020/http-request-state/HttpRequestStateStore.mjs +96 -96
- package/esm2020/http-request-state/directives/HttpStateDirectiveBase.mjs +33 -33
- package/esm2020/http-request-state/directives/http-error-state-directive.mjs +28 -28
- package/esm2020/http-request-state/directives/http-inProgress-state-directive.mjs +28 -28
- package/esm2020/http-request-state/directives/http-notStarted-state-directive.mjs +28 -28
- package/esm2020/http-request-state/directives/http-success-state-directive.mjs +33 -33
- package/esm2020/http-request-state/directives/index.mjs +5 -5
- package/esm2020/http-request-state/directives/request-state-directive.mjs +59 -59
- package/esm2020/http-request-state/helpers.mjs +21 -21
- package/esm2020/http-request-state/http-request-state.mjs +38 -38
- package/esm2020/http-request-state/http-state-module.mjs +40 -40
- package/esm2020/http-request-state/index.mjs +6 -6
- package/esm2020/http-request-state/rxjs/getRequestorBody.mjs +3 -3
- package/esm2020/http-request-state/rxjs/getRequestorState.mjs +2 -2
- package/esm2020/http-request-state/rxjs/index.mjs +4 -4
- package/esm2020/http-request-state/rxjs/tapError.mjs +11 -11
- package/esm2020/http-request-state/rxjs/tapSuccess.mjs +11 -11
- package/esm2020/http-request-state/types.mjs +15 -15
- package/esm2020/ngrx/actionable-selector.mjs +75 -76
- package/esm2020/ngrx/index.mjs +1 -1
- package/esm2020/one-paragon-angular-utilities.mjs +4 -4
- package/esm2020/public-api.mjs +19 -19
- package/esm2020/rxjs/defaultShareReplay.mjs +6 -6
- package/esm2020/rxjs/index.mjs +5 -5
- package/esm2020/rxjs/mapError.mjs +7 -7
- package/esm2020/rxjs/rxjs-operators.mjs +91 -91
- package/esm2020/rxjs/subjectifier.mjs +15 -15
- package/esm2020/table-builder/classes/DefaultSettings.mjs +5 -5
- package/esm2020/table-builder/classes/GenericTableDataSource.mjs +12 -12
- package/esm2020/table-builder/classes/MatTableObservableDataSource.mjs +21 -21
- package/esm2020/table-builder/classes/TableBuilderConfig.mjs +2 -2
- package/esm2020/table-builder/classes/TableState.mjs +31 -31
- package/esm2020/table-builder/classes/data-filter.mjs +26 -26
- package/esm2020/table-builder/classes/display-col.mjs +1 -1
- package/esm2020/table-builder/classes/filter-info.mjs +71 -71
- package/esm2020/table-builder/classes/table-builder-general-settings.mjs +67 -67
- package/esm2020/table-builder/classes/table-builder.mjs +61 -61
- package/esm2020/table-builder/classes/table-store.mjs +292 -292
- package/esm2020/table-builder/components/array-column.component.mjs +32 -32
- package/esm2020/table-builder/components/column-builder/column-builder.component.mjs +112 -111
- package/esm2020/table-builder/components/date-filter/date-filter.component.mjs +25 -25
- package/esm2020/table-builder/components/filter/filter.component.mjs +53 -53
- package/esm2020/table-builder/components/filter/in-list/in-list-filter.component.mjs +79 -79
- package/esm2020/table-builder/components/gen-col-displayer/gen-col-displayer.component.mjs +45 -45
- package/esm2020/table-builder/components/generic-table/generic-table.component.mjs +202 -202
- package/esm2020/table-builder/components/generic-table/paginator.component.mjs +60 -60
- package/esm2020/table-builder/components/group-by-list/group-by-list.component.mjs +22 -22
- package/esm2020/table-builder/components/header-menu/header-menu.component.mjs +89 -89
- package/esm2020/table-builder/components/in-filter/in-filter.component.mjs +63 -63
- package/esm2020/table-builder/components/index.mjs +10 -10
- package/esm2020/table-builder/components/initialization-component/initialization-component.mjs +33 -33
- package/esm2020/table-builder/components/link-column.component.mjs +30 -30
- package/esm2020/table-builder/components/number-filter/number-filter.component.mjs +26 -26
- package/esm2020/table-builder/components/sort-menu/sort-menu.component-store.mjs +41 -41
- package/esm2020/table-builder/components/sort-menu/sort-menu.component.mjs +75 -75
- package/esm2020/table-builder/components/table-container/table-container.mjs +322 -322
- package/esm2020/table-builder/components/table-container-filter/filter-list/filter-list.component.mjs +42 -42
- package/esm2020/table-builder/components/table-container-filter/gen-filter-displayer/gen-filter-displayer.component.mjs +30 -30
- package/esm2020/table-builder/components/table-container-filter/table-wrapper-filter-store.mjs +24 -24
- package/esm2020/table-builder/directives/custom-cell-directive.mjs +58 -58
- package/esm2020/table-builder/directives/index.mjs +6 -6
- package/esm2020/table-builder/directives/multi-sort.directive.mjs +42 -42
- package/esm2020/table-builder/directives/resize-column.directive.mjs +85 -85
- package/esm2020/table-builder/directives/table-wrapper.directive.mjs +26 -26
- package/esm2020/table-builder/directives/tb-filter.directive.mjs +403 -403
- package/esm2020/table-builder/enums/filterTypes.mjs +59 -59
- package/esm2020/table-builder/functions/boolean-filter-function.mjs +9 -9
- package/esm2020/table-builder/functions/date-filter-function.mjs +32 -32
- package/esm2020/table-builder/functions/download-data.mjs +11 -11
- package/esm2020/table-builder/functions/null-filter-function.mjs +7 -7
- package/esm2020/table-builder/functions/number-filter-function.mjs +31 -31
- package/esm2020/table-builder/functions/sort-data-function.mjs +4 -4
- package/esm2020/table-builder/functions/string-filter-function.mjs +40 -40
- package/esm2020/table-builder/interfaces/ColumnInfo.mjs +1 -1
- package/esm2020/table-builder/interfaces/dictionary.mjs +1 -1
- package/esm2020/table-builder/interfaces/report-def.mjs +34 -34
- package/esm2020/table-builder/material.module.mjs +207 -207
- package/esm2020/table-builder/ngrx/actions.mjs +4 -4
- package/esm2020/table-builder/ngrx/effects.mjs +47 -47
- package/esm2020/table-builder/ngrx/reducer.mjs +51 -51
- package/esm2020/table-builder/ngrx/selectors.mjs +23 -23
- package/esm2020/table-builder/pipes/column-total.pipe.mjs +19 -19
- package/esm2020/table-builder/pipes/format-filter-type.pipe.mjs +17 -17
- package/esm2020/table-builder/pipes/format-filter-value.pipe.mjs +45 -45
- package/esm2020/table-builder/pipes/key-display.mjs +19 -19
- package/esm2020/table-builder/services/export-to-csv.service.mjs +84 -84
- package/esm2020/table-builder/services/link-creator.service.mjs +42 -42
- package/esm2020/table-builder/services/table-template-service.mjs +43 -43
- package/esm2020/table-builder/services/transform-creator.mjs +70 -70
- package/esm2020/table-builder/table-builder.module.mjs +204 -204
- package/esm2020/utilities/directives/auto-focus.directive.mjs +25 -25
- package/esm2020/utilities/directives/clickEmitterDirective.mjs +20 -20
- package/esm2020/utilities/directives/clickSubject.mjs +26 -26
- package/esm2020/utilities/directives/conditional-classes.directive.mjs +35 -35
- package/esm2020/utilities/directives/dialog-service.mjs +25 -25
- package/esm2020/utilities/directives/dialog.mjs +137 -137
- package/esm2020/utilities/directives/mat-toggle-group-directive.mjs +59 -59
- package/esm2020/utilities/directives/prevent-enter.directive.mjs +18 -18
- package/esm2020/utilities/directives/stop-propagation.directive.mjs +24 -24
- package/esm2020/utilities/directives/styler.mjs +25 -25
- package/esm2020/utilities/directives/trim-whitespace.directive.mjs +29 -29
- package/esm2020/utilities/index.mjs +16 -16
- package/esm2020/utilities/module.mjs +91 -91
- package/esm2020/utilities/pipes/function.pipe.mjs +20 -20
- package/esm2020/utilities/pipes/phone.pipe.mjs +19 -19
- package/esm2020/utilities/pipes/space-case.pipes.mjs +28 -28
- package/fesm2015/one-paragon-angular-utilities.mjs +4346 -4345
- package/fesm2015/one-paragon-angular-utilities.mjs.map +1 -1
- package/fesm2020/one-paragon-angular-utilities.mjs +4312 -4311
- package/fesm2020/one-paragon-angular-utilities.mjs.map +1 -1
- package/http-request-state/HttpRequestStateFactory.d.ts +14 -14
- package/http-request-state/HttpRequestStateStore.d.ts +48 -48
- package/http-request-state/directives/HttpStateDirectiveBase.d.ts +16 -16
- package/http-request-state/directives/http-error-state-directive.d.ts +12 -12
- package/http-request-state/directives/http-inProgress-state-directive.d.ts +12 -12
- package/http-request-state/directives/http-notStarted-state-directive.d.ts +12 -12
- package/http-request-state/directives/http-success-state-directive.d.ts +21 -21
- package/http-request-state/directives/index.d.ts +5 -5
- package/http-request-state/directives/request-state-directive.d.ts +35 -35
- package/http-request-state/helpers.d.ts +9 -9
- package/http-request-state/http-request-state.d.ts +12 -12
- package/http-request-state/http-state-module.d.ts +11 -11
- package/http-request-state/index.d.ts +6 -6
- package/http-request-state/rxjs/getRequestorBody.d.ts +3 -3
- package/http-request-state/rxjs/getRequestorState.d.ts +3 -3
- package/http-request-state/rxjs/index.d.ts +4 -4
- package/http-request-state/rxjs/tapError.d.ts +3 -3
- package/http-request-state/rxjs/tapSuccess.d.ts +3 -3
- package/http-request-state/types.d.ts +36 -36
- package/index.d.ts +5 -5
- package/ngrx/actionable-selector.d.ts +15 -15
- package/ngrx/index.d.ts +1 -1
- package/package.json +7 -7
- package/public-api.d.ts +15 -15
- package/rxjs/defaultShareReplay.d.ts +2 -2
- package/rxjs/index.d.ts +4 -4
- package/rxjs/mapError.d.ts +2 -2
- package/rxjs/rxjs-operators.d.ts +12 -12
- package/rxjs/subjectifier.d.ts +9 -9
- package/table-builder/classes/DefaultSettings.d.ts +8 -8
- package/table-builder/classes/GenericTableDataSource.d.ts +8 -8
- package/table-builder/classes/MatTableObservableDataSource.d.ts +9 -9
- package/table-builder/classes/TableBuilderConfig.d.ts +19 -19
- package/table-builder/classes/TableState.d.ts +46 -46
- package/table-builder/classes/data-filter.d.ts +9 -9
- package/table-builder/classes/display-col.d.ts +5 -5
- package/table-builder/classes/filter-info.d.ts +40 -40
- package/table-builder/classes/table-builder-general-settings.d.ts +43 -43
- package/table-builder/classes/table-builder.d.ts +14 -14
- package/table-builder/classes/table-store.d.ts +114 -114
- package/table-builder/components/array-column.component.d.ts +14 -14
- package/table-builder/components/column-builder/column-builder.component.d.ts +50 -50
- package/table-builder/components/date-filter/date-filter.component.d.ts +10 -10
- package/table-builder/components/filter/filter.component.d.ts +294 -294
- package/table-builder/components/filter/in-list/in-list-filter.component.d.ts +27 -27
- package/table-builder/components/gen-col-displayer/gen-col-displayer.component.d.ts +16 -16
- package/table-builder/components/generic-table/generic-table.component.d.ts +73 -73
- package/table-builder/components/generic-table/paginator.component.d.ts +28 -28
- package/table-builder/components/group-by-list/group-by-list.component.d.ts +10 -10
- package/table-builder/components/header-menu/header-menu.component.d.ts +25 -25
- package/table-builder/components/in-filter/in-filter.component.d.ts +21 -21
- package/table-builder/components/index.d.ts +9 -9
- package/table-builder/components/initialization-component/initialization-component.d.ts +12 -12
- package/table-builder/components/link-column.component.d.ts +17 -17
- package/table-builder/components/number-filter/number-filter.component.d.ts +12 -12
- package/table-builder/components/sort-menu/sort-menu.component-store.d.ts +24 -24
- package/table-builder/components/sort-menu/sort-menu.component.d.ts +25 -25
- package/table-builder/components/table-container/table-container.d.ts +68 -68
- package/table-builder/components/table-container-filter/filter-list/filter-list.component.d.ts +17 -17
- package/table-builder/components/table-container-filter/gen-filter-displayer/gen-filter-displayer.component.d.ts +14 -14
- package/table-builder/components/table-container-filter/table-wrapper-filter-store.d.ts +14 -14
- package/table-builder/directives/custom-cell-directive.d.ts +19 -19
- package/table-builder/directives/index.d.ts +5 -5
- package/table-builder/directives/multi-sort.directive.d.ts +11 -11
- package/table-builder/directives/resize-column.directive.d.ts +43 -43
- package/table-builder/directives/table-wrapper.directive.d.ts +11 -11
- package/table-builder/directives/tb-filter.directive.d.ts +120 -120
- package/table-builder/enums/filterTypes.d.ts +31 -31
- package/table-builder/functions/boolean-filter-function.d.ts +3 -3
- package/table-builder/functions/date-filter-function.d.ts +3 -3
- package/table-builder/functions/download-data.d.ts +1 -1
- package/table-builder/functions/null-filter-function.d.ts +2 -2
- package/table-builder/functions/number-filter-function.d.ts +4 -4
- package/table-builder/functions/sort-data-function.d.ts +3 -3
- package/table-builder/functions/string-filter-function.d.ts +7 -7
- package/table-builder/interfaces/ColumnInfo.d.ts +6 -6
- package/table-builder/interfaces/dictionary.d.ts +3 -3
- package/table-builder/interfaces/report-def.d.ts +135 -135
- package/table-builder/material.module.d.ts +32 -32
- package/table-builder/ngrx/actions.d.ts +23 -23
- package/table-builder/ngrx/effects.d.ts +19 -19
- package/table-builder/ngrx/reducer.d.ts +15 -15
- package/table-builder/ngrx/selectors.d.ts +22 -22
- package/table-builder/pipes/column-total.pipe.d.ts +8 -8
- package/table-builder/pipes/format-filter-type.pipe.d.ts +8 -8
- package/table-builder/pipes/format-filter-value.pipe.d.ts +14 -14
- package/table-builder/pipes/key-display.d.ts +11 -11
- package/table-builder/services/export-to-csv.service.d.ts +22 -22
- package/table-builder/services/link-creator.service.d.ts +12 -12
- package/table-builder/services/table-template-service.d.ts +14 -14
- package/table-builder/services/transform-creator.d.ts +19 -19
- package/table-builder/table-builder.module.d.ts +45 -45
- package/utilities/directives/auto-focus.directive.d.ts +10 -10
- package/utilities/directives/clickEmitterDirective.d.ts +7 -7
- package/utilities/directives/clickSubject.d.ts +9 -9
- package/utilities/directives/conditional-classes.directive.d.ts +14 -14
- package/utilities/directives/dialog-service.d.ts +10 -10
- package/utilities/directives/dialog.d.ts +46 -46
- package/utilities/directives/mat-toggle-group-directive.d.ts +21 -21
- package/utilities/directives/prevent-enter.directive.d.ts +6 -6
- package/utilities/directives/stop-propagation.directive.d.ts +7 -7
- package/utilities/directives/styler.d.ts +9 -9
- package/utilities/directives/trim-whitespace.directive.d.ts +9 -9
- package/utilities/index.d.ts +15 -15
- package/utilities/module.d.ts +19 -19
- package/utilities/pipes/function.pipe.d.ts +7 -7
- package/utilities/pipes/phone.pipe.d.ts +7 -7
- package/utilities/pipes/space-case.pipes.d.ts +17 -17
|
@@ -1,42 +1,42 @@
|
|
|
1
|
-
import { get } from "lodash";
|
|
2
|
-
export function createLinkCreator(metaData) {
|
|
3
|
-
const target = metaData.additional?.link?.target || metaData.additional?.target || '_blank';
|
|
4
|
-
const useRouterLink = metaData.additional?.link?.useRouterLink || metaData.additional?.useRouterLink;
|
|
5
|
-
const hasRoute = !!metaData.additional?.link?.interpolatedRoute;
|
|
6
|
-
const routerLinkOptions = useRouterLink ? {
|
|
7
|
-
queryParams: (element) => metaData.additional.link.routerLinkOptions?.queryParams?.reduce((map, [key, value]) => {
|
|
8
|
-
map[key] = parseInterpolated(value, element);
|
|
9
|
-
return map;
|
|
10
|
-
}, {}) ?? null,
|
|
11
|
-
fragment: metaData.additional.link?.routerLinkOptions?.fragment,
|
|
12
|
-
preserveFragment: metaData.additional.link.routerLinkOptions?.preserveFragment ?? false,
|
|
13
|
-
queryParamsHandling: metaData.additional.link.routerLinkOptions?.queryParamsHandling ?? '',
|
|
14
|
-
}
|
|
15
|
-
: undefined;
|
|
16
|
-
if (hasRoute) {
|
|
17
|
-
return ({
|
|
18
|
-
link: (element) => parseInterpolated(metaData.additional.link.interpolatedRoute, element),
|
|
19
|
-
target,
|
|
20
|
-
useRouterLink,
|
|
21
|
-
routerLinkOptions,
|
|
22
|
-
});
|
|
23
|
-
}
|
|
24
|
-
else {
|
|
25
|
-
const slashIfNeeded = !metaData.additional?.link?.base?.endsWith('/') ? '/' : '';
|
|
26
|
-
const base = metaData.additional.link?.base || metaData.additional.base;
|
|
27
|
-
const getKey = key(metaData);
|
|
28
|
-
return ({
|
|
29
|
-
link: (element) => `${base}${slashIfNeeded}${getKey(element)}`,
|
|
30
|
-
target,
|
|
31
|
-
useRouterLink,
|
|
32
|
-
routerLinkOptions,
|
|
33
|
-
});
|
|
34
|
-
}
|
|
35
|
-
}
|
|
36
|
-
const key = (metaData) => metaData.additional.link?.urlKey ?
|
|
37
|
-
(element) => get(element, metaData.additional.link.urlKey) :
|
|
38
|
-
metaData.additional.urlKey ?
|
|
39
|
-
(element) => get(element, metaData.additional.urlKey) :
|
|
40
|
-
(element) => get(element, metaData.key);
|
|
41
|
-
const parseInterpolated = (interpolatedString, element) => interpolatedString.replace(/{([^}]+)}/g, (_, key) => get(element, key));
|
|
42
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
1
|
+
import { get } from "lodash";
|
|
2
|
+
export function createLinkCreator(metaData) {
|
|
3
|
+
const target = metaData.additional?.link?.target || metaData.additional?.target || '_blank';
|
|
4
|
+
const useRouterLink = metaData.additional?.link?.useRouterLink || metaData.additional?.useRouterLink;
|
|
5
|
+
const hasRoute = !!metaData.additional?.link?.interpolatedRoute;
|
|
6
|
+
const routerLinkOptions = useRouterLink ? {
|
|
7
|
+
queryParams: (element) => metaData.additional.link.routerLinkOptions?.queryParams?.reduce((map, [key, value]) => {
|
|
8
|
+
map[key] = parseInterpolated(value, element);
|
|
9
|
+
return map;
|
|
10
|
+
}, {}) ?? null,
|
|
11
|
+
fragment: metaData.additional.link?.routerLinkOptions?.fragment,
|
|
12
|
+
preserveFragment: metaData.additional.link.routerLinkOptions?.preserveFragment ?? false,
|
|
13
|
+
queryParamsHandling: metaData.additional.link.routerLinkOptions?.queryParamsHandling ?? '',
|
|
14
|
+
}
|
|
15
|
+
: undefined;
|
|
16
|
+
if (hasRoute) {
|
|
17
|
+
return ({
|
|
18
|
+
link: (element) => parseInterpolated(metaData.additional.link.interpolatedRoute, element),
|
|
19
|
+
target,
|
|
20
|
+
useRouterLink,
|
|
21
|
+
routerLinkOptions,
|
|
22
|
+
});
|
|
23
|
+
}
|
|
24
|
+
else {
|
|
25
|
+
const slashIfNeeded = !metaData.additional?.link?.base?.endsWith('/') ? '/' : '';
|
|
26
|
+
const base = metaData.additional.link?.base || metaData.additional.base;
|
|
27
|
+
const getKey = key(metaData);
|
|
28
|
+
return ({
|
|
29
|
+
link: (element) => `${base}${slashIfNeeded}${getKey(element)}`,
|
|
30
|
+
target,
|
|
31
|
+
useRouterLink,
|
|
32
|
+
routerLinkOptions,
|
|
33
|
+
});
|
|
34
|
+
}
|
|
35
|
+
}
|
|
36
|
+
const key = (metaData) => metaData.additional.link?.urlKey ?
|
|
37
|
+
(element) => get(element, metaData.additional.link.urlKey) :
|
|
38
|
+
metaData.additional.urlKey ?
|
|
39
|
+
(element) => get(element, metaData.additional.urlKey) :
|
|
40
|
+
(element) => get(element, metaData.key);
|
|
41
|
+
const parseInterpolated = (interpolatedString, element) => interpolatedString.replace(/{([^}]+)}/g, (_, key) => get(element, key));
|
|
42
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibGluay1jcmVhdG9yLnNlcnZpY2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9hbmd1bGFyLXV0aWxpdGllcy9zcmMvdGFibGUtYnVpbGRlci9zZXJ2aWNlcy9saW5rLWNyZWF0b3Iuc2VydmljZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsR0FBRyxFQUFFLE1BQU0sUUFBUSxDQUFDO0FBRzdCLE1BQU0sVUFBVSxpQkFBaUIsQ0FBSSxRQUFxQjtJQUN4RCxNQUFNLE1BQU0sR0FBRyxRQUFRLENBQUMsVUFBVSxFQUFFLElBQUksRUFBRSxNQUFNLElBQUksUUFBUSxDQUFDLFVBQVUsRUFBRSxNQUFNLElBQUksUUFBUSxDQUFDO0lBQzVGLE1BQU0sYUFBYSxHQUFHLFFBQVEsQ0FBQyxVQUFVLEVBQUUsSUFBSSxFQUFFLGFBQWEsSUFBSSxRQUFRLENBQUMsVUFBVSxFQUFFLGFBQWEsQ0FBQztJQUNyRyxNQUFNLFFBQVEsR0FBRyxDQUFDLENBQUMsUUFBUSxDQUFDLFVBQVUsRUFBRSxJQUFJLEVBQUUsaUJBQWlCLENBQUM7SUFDaEUsTUFBTSxpQkFBaUIsR0FBRyxhQUFhLENBQUMsQ0FBQyxDQUFDO1FBQ3hDLFdBQVcsRUFBRSxDQUFDLE9BQU8sRUFBRSxFQUFFLENBQUMsUUFBUSxDQUFDLFVBQVcsQ0FBQyxJQUFLLENBQUMsaUJBQWlCLEVBQUUsV0FBVyxFQUFFLE1BQU0sQ0FBQyxDQUFDLEdBQUcsRUFBRSxDQUFDLEdBQUcsRUFBRSxLQUFLLENBQUMsRUFBRSxFQUFFO1lBQ2hILEdBQUcsQ0FBQyxHQUFHLENBQUMsR0FBRyxpQkFBaUIsQ0FBQyxLQUFLLEVBQUUsT0FBTyxDQUFDLENBQUM7WUFDN0MsT0FBTyxHQUFHLENBQUM7UUFDYixDQUFDLEVBQUUsRUFBRSxDQUFDLElBQUksSUFBSTtRQUNkLFFBQVEsRUFBRSxRQUFRLENBQUMsVUFBVyxDQUFDLElBQUksRUFBRSxpQkFBaUIsRUFBRSxRQUFRO1FBQ2hFLGdCQUFnQixFQUFFLFFBQVEsQ0FBQyxVQUFXLENBQUMsSUFBSyxDQUFDLGlCQUFpQixFQUFFLGdCQUFnQixJQUFJLEtBQUs7UUFDekYsbUJBQW1CLEVBQUUsUUFBUSxDQUFDLFVBQVcsQ0FBQyxJQUFLLENBQUMsaUJBQWlCLEVBQUUsbUJBQW1CLElBQUksRUFBRTtLQUM3RjtRQUNELENBQUMsQ0FBQyxTQUFTLENBQUM7SUFJWixJQUFJLFFBQVEsRUFBRTtRQUNaLE9BQU8sQ0FBQztZQUNOLElBQUksRUFBRSxDQUFDLE9BQVUsRUFBRSxFQUFFLENBQUMsaUJBQWlCLENBQUMsUUFBUSxDQUFDLFVBQVcsQ0FBQyxJQUFLLENBQUMsaUJBQWtCLEVBQUUsT0FBTyxDQUFDO1lBQy9GLE1BQU07WUFDTixhQUFhO1lBQ2IsaUJBQWlCO1NBQ2xCLENBQUMsQ0FBQztLQUNKO1NBQU07UUFDTCxNQUFNLGFBQWEsR0FBRyxDQUFDLFFBQVEsQ0FBQyxVQUFVLEVBQUUsSUFBSSxFQUFFLElBQUksRUFBRSxRQUFRLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDO1FBQ2pGLE1BQU0sSUFBSSxHQUFHLFFBQVEsQ0FBQyxVQUFXLENBQUMsSUFBSSxFQUFFLElBQUksSUFBSSxRQUFRLENBQUMsVUFBVyxDQUFDLElBQUksQ0FBQztRQUMxRSxNQUFNLE1BQU0sR0FBRyxHQUFHLENBQUMsUUFBUSxDQUFDLENBQUM7UUFDN0IsT0FBTyxDQUFDO1lBQ04sSUFBSSxFQUFFLENBQUMsT0FBVSxFQUFFLEVBQUUsQ0FBQyxHQUFHLElBQUksR0FBRyxhQUFhLEdBQUcsTUFBTSxDQUFDLE9BQU8sQ0FBQyxFQUFFO1lBQ2pFLE1BQU07WUFDTixhQUFhO1lBQ2IsaUJBQWlCO1NBQ2xCLENBQUMsQ0FBQztLQUNKO0FBQ0gsQ0FBQztBQUVELE1BQU0sR0FBRyxHQUFHLENBQUMsUUFBbUIsRUFBRSxFQUFFLENBQUMsUUFBUSxDQUFDLFVBQVcsQ0FBQyxJQUFJLEVBQUUsTUFBTSxDQUFDLENBQUM7SUFDdEUsQ0FBQyxPQUFXLEVBQUUsRUFBRSxDQUFDLEdBQUcsQ0FBQyxPQUFPLEVBQUcsUUFBUSxDQUFDLFVBQVcsQ0FBQyxJQUFLLENBQUMsTUFBaUIsQ0FBQyxDQUFDLENBQUM7SUFDNUUsUUFBUSxDQUFDLFVBQVcsQ0FBQyxNQUFNLENBQUMsQ0FBQztRQUMvQixDQUFDLE9BQVcsRUFBRSxFQUFFLENBQUMsR0FBRyxDQUFDLE9BQU8sRUFBRyxRQUFRLENBQUMsVUFBVyxDQUFDLE1BQWlCLENBQUMsQ0FBQyxDQUFDO1FBQ3hFLENBQUMsT0FBVyxFQUFFLEVBQUUsQ0FBQyxHQUFHLENBQUMsT0FBTyxFQUFFLFFBQVEsQ0FBQyxHQUFHLENBQUMsQ0FBQztBQUU5QyxNQUFNLGlCQUFpQixHQUFHLENBQUUsa0JBQTBCLEVBQUUsT0FBWSxFQUFHLEVBQUUsQ0FDdkUsa0JBQWtCLENBQUMsT0FBTyxDQUFDLFlBQVksRUFBRSxDQUFDLENBQUMsRUFBRSxHQUFHLEVBQUUsRUFBRSxDQUFDLEdBQUcsQ0FBQyxPQUFPLEVBQUUsR0FBRyxDQUFDLENBQUMsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IGdldCB9IGZyb20gXCJsb2Rhc2hcIjtcclxuaW1wb3J0IHsgTWV0YURhdGEgfSBmcm9tIFwiLi4vaW50ZXJmYWNlcy9yZXBvcnQtZGVmXCI7XHJcblxyXG5leHBvcnQgZnVuY3Rpb24gY3JlYXRlTGlua0NyZWF0b3I8VD4obWV0YURhdGE6IE1ldGFEYXRhPFQ+KXtcclxuICBjb25zdCB0YXJnZXQgPSBtZXRhRGF0YS5hZGRpdGlvbmFsPy5saW5rPy50YXJnZXQgfHwgbWV0YURhdGEuYWRkaXRpb25hbD8udGFyZ2V0IHx8ICdfYmxhbmsnO1xyXG4gIGNvbnN0IHVzZVJvdXRlckxpbmsgPSBtZXRhRGF0YS5hZGRpdGlvbmFsPy5saW5rPy51c2VSb3V0ZXJMaW5rIHx8IG1ldGFEYXRhLmFkZGl0aW9uYWw/LnVzZVJvdXRlckxpbms7XHJcbiAgY29uc3QgaGFzUm91dGUgPSAhIW1ldGFEYXRhLmFkZGl0aW9uYWw/Lmxpbms/LmludGVycG9sYXRlZFJvdXRlO1xyXG4gIGNvbnN0IHJvdXRlckxpbmtPcHRpb25zID0gdXNlUm91dGVyTGluayA/IHtcclxuICAgIHF1ZXJ5UGFyYW1zOiAoZWxlbWVudCkgPT4gbWV0YURhdGEuYWRkaXRpb25hbCEubGluayEucm91dGVyTGlua09wdGlvbnM/LnF1ZXJ5UGFyYW1zPy5yZWR1Y2UoKG1hcCwgW2tleSwgdmFsdWVdKSA9PiB7XHJcbiAgICAgIG1hcFtrZXldID0gcGFyc2VJbnRlcnBvbGF0ZWQodmFsdWUsIGVsZW1lbnQpO1xyXG4gICAgICByZXR1cm4gbWFwO1xyXG4gICAgfSwge30pID8/IG51bGwsXHJcbiAgICBmcmFnbWVudDogbWV0YURhdGEuYWRkaXRpb25hbCEubGluaz8ucm91dGVyTGlua09wdGlvbnM/LmZyYWdtZW50LFxyXG4gICAgcHJlc2VydmVGcmFnbWVudDogbWV0YURhdGEuYWRkaXRpb25hbCEubGluayEucm91dGVyTGlua09wdGlvbnM/LnByZXNlcnZlRnJhZ21lbnQgPz8gZmFsc2UsXHJcbiAgICBxdWVyeVBhcmFtc0hhbmRsaW5nOiBtZXRhRGF0YS5hZGRpdGlvbmFsIS5saW5rIS5yb3V0ZXJMaW5rT3B0aW9ucz8ucXVlcnlQYXJhbXNIYW5kbGluZyA/PyAnJyxcclxuICB9XHJcbiAgOiB1bmRlZmluZWQ7XHJcblxyXG5cclxuXHJcbiAgaWYgKGhhc1JvdXRlKSB7XHJcbiAgICByZXR1cm4gKHtcclxuICAgICAgbGluazogKGVsZW1lbnQ6IFQpID0+IHBhcnNlSW50ZXJwb2xhdGVkKG1ldGFEYXRhLmFkZGl0aW9uYWwhLmxpbmshLmludGVycG9sYXRlZFJvdXRlISwgZWxlbWVudCksXHJcbiAgICAgIHRhcmdldCxcclxuICAgICAgdXNlUm91dGVyTGluayxcclxuICAgICAgcm91dGVyTGlua09wdGlvbnMsXHJcbiAgICB9KTtcclxuICB9IGVsc2Uge1xyXG4gICAgY29uc3Qgc2xhc2hJZk5lZWRlZCA9ICFtZXRhRGF0YS5hZGRpdGlvbmFsPy5saW5rPy5iYXNlPy5lbmRzV2l0aCgnLycpID8gJy8nIDogJyc7XHJcbiAgICBjb25zdCBiYXNlID0gbWV0YURhdGEuYWRkaXRpb25hbCEubGluaz8uYmFzZSB8fCBtZXRhRGF0YS5hZGRpdGlvbmFsIS5iYXNlO1xyXG4gICAgY29uc3QgZ2V0S2V5ID0ga2V5KG1ldGFEYXRhKTtcclxuICAgIHJldHVybiAoe1xyXG4gICAgICBsaW5rOiAoZWxlbWVudDogVCkgPT4gYCR7YmFzZX0ke3NsYXNoSWZOZWVkZWR9JHtnZXRLZXkoZWxlbWVudCl9YCxcclxuICAgICAgdGFyZ2V0LFxyXG4gICAgICB1c2VSb3V0ZXJMaW5rLFxyXG4gICAgICByb3V0ZXJMaW5rT3B0aW9ucyxcclxuICAgIH0pO1xyXG4gIH1cclxufVxyXG5cclxuY29uc3Qga2V5ID0gKG1ldGFEYXRhIDogTWV0YURhdGEpID0+IG1ldGFEYXRhLmFkZGl0aW9uYWwhLmxpbms/LnVybEtleSA/IFxyXG4gIChlbGVtZW50OmFueSkgPT4gZ2V0KGVsZW1lbnQsIChtZXRhRGF0YS5hZGRpdGlvbmFsIS5saW5rIS51cmxLZXkgYXMgc3RyaW5nKSkgOlxyXG4gICAgbWV0YURhdGEuYWRkaXRpb25hbCEudXJsS2V5ID9cclxuICAoZWxlbWVudDphbnkpID0+IGdldChlbGVtZW50LCAobWV0YURhdGEuYWRkaXRpb25hbCEudXJsS2V5IGFzIHN0cmluZykpIDpcclxuICAoZWxlbWVudDphbnkpID0+IGdldChlbGVtZW50LCBtZXRhRGF0YS5rZXkpO1xyXG5cclxuY29uc3QgcGFyc2VJbnRlcnBvbGF0ZWQgPSAoIGludGVycG9sYXRlZFN0cmluZzogc3RyaW5nLCBlbGVtZW50OiBhbnkgKSA9PlxyXG4gIGludGVycG9sYXRlZFN0cmluZy5yZXBsYWNlKC97KFtefV0rKX0vZywgKF8sIGtleSkgPT4gZ2V0KGVsZW1lbnQgLGtleSkpOyJdfQ==
|
|
@@ -1,43 +1,43 @@
|
|
|
1
|
-
import { Injectable } from "@angular/core";
|
|
2
|
-
import { InitializationComponent } from "../components/initialization-component/initialization-component";
|
|
3
|
-
import { FieldType } from "../interfaces/report-def";
|
|
4
|
-
import * as i0 from "@angular/core";
|
|
5
|
-
export class TableTemplateService {
|
|
6
|
-
constructor(resolver, i) {
|
|
7
|
-
const factory = resolver.resolveComponentFactory(InitializationComponent);
|
|
8
|
-
const c = factory.create(i);
|
|
9
|
-
this.instance = c.instance;
|
|
10
|
-
this.initTemplates();
|
|
11
|
-
}
|
|
12
|
-
initTemplates() {
|
|
13
|
-
this.templates = {};
|
|
14
|
-
this.templates[FieldType.Array] = this.instance.arrayTemplate;
|
|
15
|
-
this.templates[FieldType.Boolean] = this.instance.defaultWithIcon;
|
|
16
|
-
this.templates[FieldType.Currency] = this.instance.defaultTemplate;
|
|
17
|
-
this.templates[FieldType.Date] = this.instance.defaultTemplate;
|
|
18
|
-
this.templates[FieldType.Expression] = this.instance.defaultTemplate;
|
|
19
|
-
this.templates[FieldType.ImageUrl] = this.instance.imageUrlTemplate;
|
|
20
|
-
this.templates[FieldType.Link] = this.instance.linkTemplate;
|
|
21
|
-
this.templates[FieldType.Number] = this.instance.defaultTemplate;
|
|
22
|
-
this.templates[FieldType.PhoneNumber] = this.instance.defaultTemplate;
|
|
23
|
-
this.templates[FieldType.String] = this.instance.defaultTemplate;
|
|
24
|
-
this.templates[FieldType.Unknown] = this.instance.defaultTemplate;
|
|
25
|
-
this.templates[FieldType.Enum] = this.instance.defaultTemplate;
|
|
26
|
-
}
|
|
27
|
-
getTemplate(metaData) {
|
|
28
|
-
let tmp = this.templates[metaData.fieldType];
|
|
29
|
-
if (metaData.useIcon) {
|
|
30
|
-
if (tmp === this.instance.defaultTemplate) {
|
|
31
|
-
tmp = this.instance.defaultWithIcon;
|
|
32
|
-
}
|
|
33
|
-
}
|
|
34
|
-
return tmp;
|
|
35
|
-
}
|
|
36
|
-
}
|
|
37
|
-
TableTemplateService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.0.2", ngImport: i0, type: TableTemplateService, deps: [{ token: i0.ComponentFactoryResolver }, { token: i0.Injector }], target: i0.ɵɵFactoryTarget.Injectable });
|
|
38
|
-
TableTemplateService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "15.0.2", ngImport: i0, type: TableTemplateService, providedIn: 'root' });
|
|
39
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.0.2", ngImport: i0, type: TableTemplateService, decorators: [{
|
|
40
|
-
type: Injectable,
|
|
41
|
-
args: [{ providedIn: 'root' }]
|
|
42
|
-
}], ctorParameters: function () { return [{ type: i0.ComponentFactoryResolver }, { type: i0.Injector }]; } });
|
|
43
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
1
|
+
import { Injectable } from "@angular/core";
|
|
2
|
+
import { InitializationComponent } from "../components/initialization-component/initialization-component";
|
|
3
|
+
import { FieldType } from "../interfaces/report-def";
|
|
4
|
+
import * as i0 from "@angular/core";
|
|
5
|
+
export class TableTemplateService {
|
|
6
|
+
constructor(resolver, i) {
|
|
7
|
+
const factory = resolver.resolveComponentFactory(InitializationComponent);
|
|
8
|
+
const c = factory.create(i);
|
|
9
|
+
this.instance = c.instance;
|
|
10
|
+
this.initTemplates();
|
|
11
|
+
}
|
|
12
|
+
initTemplates() {
|
|
13
|
+
this.templates = {};
|
|
14
|
+
this.templates[FieldType.Array] = this.instance.arrayTemplate;
|
|
15
|
+
this.templates[FieldType.Boolean] = this.instance.defaultWithIcon;
|
|
16
|
+
this.templates[FieldType.Currency] = this.instance.defaultTemplate;
|
|
17
|
+
this.templates[FieldType.Date] = this.instance.defaultTemplate;
|
|
18
|
+
this.templates[FieldType.Expression] = this.instance.defaultTemplate;
|
|
19
|
+
this.templates[FieldType.ImageUrl] = this.instance.imageUrlTemplate;
|
|
20
|
+
this.templates[FieldType.Link] = this.instance.linkTemplate;
|
|
21
|
+
this.templates[FieldType.Number] = this.instance.defaultTemplate;
|
|
22
|
+
this.templates[FieldType.PhoneNumber] = this.instance.defaultTemplate;
|
|
23
|
+
this.templates[FieldType.String] = this.instance.defaultTemplate;
|
|
24
|
+
this.templates[FieldType.Unknown] = this.instance.defaultTemplate;
|
|
25
|
+
this.templates[FieldType.Enum] = this.instance.defaultTemplate;
|
|
26
|
+
}
|
|
27
|
+
getTemplate(metaData) {
|
|
28
|
+
let tmp = this.templates[metaData.fieldType];
|
|
29
|
+
if (metaData.useIcon) {
|
|
30
|
+
if (tmp === this.instance.defaultTemplate) {
|
|
31
|
+
tmp = this.instance.defaultWithIcon;
|
|
32
|
+
}
|
|
33
|
+
}
|
|
34
|
+
return tmp;
|
|
35
|
+
}
|
|
36
|
+
}
|
|
37
|
+
TableTemplateService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.0.2", ngImport: i0, type: TableTemplateService, deps: [{ token: i0.ComponentFactoryResolver }, { token: i0.Injector }], target: i0.ɵɵFactoryTarget.Injectable });
|
|
38
|
+
TableTemplateService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "15.0.2", ngImport: i0, type: TableTemplateService, providedIn: 'root' });
|
|
39
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.0.2", ngImport: i0, type: TableTemplateService, decorators: [{
|
|
40
|
+
type: Injectable,
|
|
41
|
+
args: [{ providedIn: 'root' }]
|
|
42
|
+
}], ctorParameters: function () { return [{ type: i0.ComponentFactoryResolver }, { type: i0.Injector }]; } });
|
|
43
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGFibGUtdGVtcGxhdGUtc2VydmljZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2FuZ3VsYXItdXRpbGl0aWVzL3NyYy90YWJsZS1idWlsZGVyL3NlcnZpY2VzL3RhYmxlLXRlbXBsYXRlLXNlcnZpY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQ0EsT0FBTyxFQUFFLFVBQVUsRUFBZSxNQUFNLGVBQWUsQ0FBQztBQUV4RCxPQUFPLEVBQUUsdUJBQXVCLEVBQUUsTUFBTSxpRUFBaUUsQ0FBQztBQUMxRyxPQUFPLEVBQUUsU0FBUyxFQUFZLE1BQU0sMEJBQTBCLENBQUM7O0FBRy9ELE1BQU0sT0FBTyxvQkFBb0I7SUE4Qi9CLFlBQVksUUFBa0MsRUFBRSxDQUFXO1FBQ3JELE1BQU0sT0FBTyxHQUFHLFFBQVEsQ0FBQyx1QkFBdUIsQ0FBQyx1QkFBdUIsQ0FBQyxDQUFDO1FBQzFFLE1BQU0sQ0FBQyxHQUFHLE9BQU8sQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDLENBQUM7UUFDNUIsSUFBSSxDQUFDLFFBQVEsR0FBRyxDQUFDLENBQUMsUUFBUSxDQUFDO1FBQzNCLElBQUksQ0FBQyxhQUFhLEVBQUUsQ0FBQztJQUMzQixDQUFDO0lBL0JELGFBQWE7UUFDWCxJQUFJLENBQUMsU0FBUyxHQUFHLEVBQUcsQ0FBQztRQUNyQixJQUFJLENBQUMsU0FBUyxDQUFDLFNBQVMsQ0FBQyxLQUFLLENBQUMsR0FBRyxJQUFJLENBQUMsUUFBUSxDQUFDLGFBQWEsQ0FBQztRQUM5RCxJQUFJLENBQUMsU0FBUyxDQUFDLFNBQVMsQ0FBQyxPQUFPLENBQUMsR0FBRyxJQUFJLENBQUMsUUFBUSxDQUFDLGVBQWUsQ0FBQztRQUNsRSxJQUFJLENBQUMsU0FBUyxDQUFDLFNBQVMsQ0FBQyxRQUFRLENBQUMsR0FBRyxJQUFJLENBQUMsUUFBUSxDQUFDLGVBQWUsQ0FBQztRQUNuRSxJQUFJLENBQUMsU0FBUyxDQUFDLFNBQVMsQ0FBQyxJQUFJLENBQUMsR0FBRyxJQUFJLENBQUMsUUFBUSxDQUFDLGVBQWUsQ0FBQztRQUMvRCxJQUFJLENBQUMsU0FBUyxDQUFDLFNBQVMsQ0FBQyxVQUFVLENBQUMsR0FBRyxJQUFJLENBQUMsUUFBUSxDQUFDLGVBQWUsQ0FBQztRQUNyRSxJQUFJLENBQUMsU0FBUyxDQUFDLFNBQVMsQ0FBQyxRQUFRLENBQUMsR0FBRyxJQUFJLENBQUMsUUFBUSxDQUFDLGdCQUFnQixDQUFDO1FBQ3BFLElBQUksQ0FBQyxTQUFTLENBQUMsU0FBUyxDQUFDLElBQUksQ0FBQyxHQUFHLElBQUksQ0FBQyxRQUFRLENBQUMsWUFBWSxDQUFDO1FBQzVELElBQUksQ0FBQyxTQUFTLENBQUMsU0FBUyxDQUFDLE1BQU0sQ0FBQyxHQUFHLElBQUksQ0FBQyxRQUFRLENBQUMsZUFBZSxDQUFDO1FBQ2pFLElBQUksQ0FBQyxTQUFTLENBQUMsU0FBUyxDQUFDLFdBQVcsQ0FBQyxHQUFHLElBQUksQ0FBQyxRQUFRLENBQUMsZUFBZSxDQUFDO1FBQ3RFLElBQUksQ0FBQyxTQUFTLENBQUMsU0FBUyxDQUFDLE1BQU0sQ0FBQyxHQUFHLElBQUksQ0FBQyxRQUFRLENBQUMsZUFBZSxDQUFDO1FBQ2pFLElBQUksQ0FBQyxTQUFTLENBQUMsU0FBUyxDQUFDLE9BQU8sQ0FBQyxHQUFHLElBQUksQ0FBQyxRQUFRLENBQUMsZUFBZSxDQUFDO1FBQ2xFLElBQUksQ0FBQyxTQUFTLENBQUMsU0FBUyxDQUFDLElBQUksQ0FBQyxHQUFHLElBQUksQ0FBQyxRQUFRLENBQUMsZUFBZSxDQUFDO0lBQ2pFLENBQUM7SUFDRCxXQUFXLENBQUMsUUFBa0I7UUFFNUIsSUFBSSxHQUFHLEdBQUksSUFBSSxDQUFDLFNBQVMsQ0FBQyxRQUFRLENBQUMsU0FBUyxDQUFDLENBQUM7UUFDOUMsSUFBRyxRQUFRLENBQUMsT0FBTyxFQUFFO1lBQ25CLElBQUcsR0FBRyxLQUFLLElBQUksQ0FBQyxRQUFRLENBQUMsZUFBZSxFQUFFO2dCQUN4QyxHQUFHLEdBQUcsSUFBSSxDQUFDLFFBQVEsQ0FBQyxlQUFlLENBQUM7YUFDckM7U0FDRjtRQUNELE9BQU8sR0FBRyxDQUFDO0lBQ2IsQ0FBQzs7aUhBNUJVLG9CQUFvQjtxSEFBcEIsb0JBQW9CLGNBRFIsTUFBTTsyRkFDbEIsb0JBQW9CO2tCQURoQyxVQUFVO21CQUFDLEVBQUMsVUFBVSxFQUFFLE1BQU0sRUFBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbXBvbmVudEZhY3RvcnlSZXNvbHZlciwgSW5qZWN0b3IgfSBmcm9tIFwiQGFuZ3VsYXIvY29yZVwiO1xyXG5pbXBvcnQgeyBJbmplY3RhYmxlLCBUZW1wbGF0ZVJlZiB9IGZyb20gXCJAYW5ndWxhci9jb3JlXCI7XHJcbmltcG9ydCB7IFRhYmxlU3RvcmUgfSBmcm9tIFwiLi4vY2xhc3Nlcy90YWJsZS1zdG9yZVwiO1xyXG5pbXBvcnQgeyBJbml0aWFsaXphdGlvbkNvbXBvbmVudCB9IGZyb20gXCIuLi9jb21wb25lbnRzL2luaXRpYWxpemF0aW9uLWNvbXBvbmVudC9pbml0aWFsaXphdGlvbi1jb21wb25lbnRcIjtcclxuaW1wb3J0IHsgRmllbGRUeXBlLCBNZXRhRGF0YSB9IGZyb20gXCIuLi9pbnRlcmZhY2VzL3JlcG9ydC1kZWZcIjtcclxuXHJcbkBJbmplY3RhYmxlKHtwcm92aWRlZEluOiAncm9vdCd9KVxyXG5leHBvcnQgY2xhc3MgVGFibGVUZW1wbGF0ZVNlcnZpY2Uge1xyXG4gIGluc3RhbmNlITogSW5pdGlhbGl6YXRpb25Db21wb25lbnQ7XHJcbiAgdGVtcGxhdGVzO1xyXG5cclxuICBpbml0VGVtcGxhdGVzKCkge1xyXG4gICAgdGhpcy50ZW1wbGF0ZXMgPSB7IH07XHJcbiAgICB0aGlzLnRlbXBsYXRlc1tGaWVsZFR5cGUuQXJyYXldID0gdGhpcy5pbnN0YW5jZS5hcnJheVRlbXBsYXRlO1xyXG4gICAgdGhpcy50ZW1wbGF0ZXNbRmllbGRUeXBlLkJvb2xlYW5dID0gdGhpcy5pbnN0YW5jZS5kZWZhdWx0V2l0aEljb247XHJcbiAgICB0aGlzLnRlbXBsYXRlc1tGaWVsZFR5cGUuQ3VycmVuY3ldID0gdGhpcy5pbnN0YW5jZS5kZWZhdWx0VGVtcGxhdGU7XHJcbiAgICB0aGlzLnRlbXBsYXRlc1tGaWVsZFR5cGUuRGF0ZV0gPSB0aGlzLmluc3RhbmNlLmRlZmF1bHRUZW1wbGF0ZTtcclxuICAgIHRoaXMudGVtcGxhdGVzW0ZpZWxkVHlwZS5FeHByZXNzaW9uXSA9IHRoaXMuaW5zdGFuY2UuZGVmYXVsdFRlbXBsYXRlO1xyXG4gICAgdGhpcy50ZW1wbGF0ZXNbRmllbGRUeXBlLkltYWdlVXJsXSA9IHRoaXMuaW5zdGFuY2UuaW1hZ2VVcmxUZW1wbGF0ZTtcclxuICAgIHRoaXMudGVtcGxhdGVzW0ZpZWxkVHlwZS5MaW5rXSA9IHRoaXMuaW5zdGFuY2UubGlua1RlbXBsYXRlO1xyXG4gICAgdGhpcy50ZW1wbGF0ZXNbRmllbGRUeXBlLk51bWJlcl0gPSB0aGlzLmluc3RhbmNlLmRlZmF1bHRUZW1wbGF0ZTtcclxuICAgIHRoaXMudGVtcGxhdGVzW0ZpZWxkVHlwZS5QaG9uZU51bWJlcl0gPSB0aGlzLmluc3RhbmNlLmRlZmF1bHRUZW1wbGF0ZTtcclxuICAgIHRoaXMudGVtcGxhdGVzW0ZpZWxkVHlwZS5TdHJpbmddID0gdGhpcy5pbnN0YW5jZS5kZWZhdWx0VGVtcGxhdGU7XHJcbiAgICB0aGlzLnRlbXBsYXRlc1tGaWVsZFR5cGUuVW5rbm93bl0gPSB0aGlzLmluc3RhbmNlLmRlZmF1bHRUZW1wbGF0ZTtcclxuICAgIHRoaXMudGVtcGxhdGVzW0ZpZWxkVHlwZS5FbnVtXSA9IHRoaXMuaW5zdGFuY2UuZGVmYXVsdFRlbXBsYXRlO1xyXG4gIH1cclxuICBnZXRUZW1wbGF0ZShtZXRhRGF0YTogTWV0YURhdGEpIDogVGVtcGxhdGVSZWY8YW55PiB7XHJcblxyXG4gICAgbGV0IHRtcCA9ICB0aGlzLnRlbXBsYXRlc1ttZXRhRGF0YS5maWVsZFR5cGVdO1xyXG4gICAgaWYobWV0YURhdGEudXNlSWNvbikge1xyXG4gICAgICBpZih0bXAgPT09IHRoaXMuaW5zdGFuY2UuZGVmYXVsdFRlbXBsYXRlKSB7XHJcbiAgICAgICAgdG1wID0gdGhpcy5pbnN0YW5jZS5kZWZhdWx0V2l0aEljb247XHJcbiAgICAgIH1cclxuICAgIH1cclxuICAgIHJldHVybiB0bXA7XHJcbiAgfVxyXG5cclxuICBjb25zdHJ1Y3RvcihyZXNvbHZlcjogQ29tcG9uZW50RmFjdG9yeVJlc29sdmVyLCBpOiBJbmplY3RvciwgICkge1xyXG4gICAgICAgIGNvbnN0IGZhY3RvcnkgPSByZXNvbHZlci5yZXNvbHZlQ29tcG9uZW50RmFjdG9yeShJbml0aWFsaXphdGlvbkNvbXBvbmVudCk7XHJcbiAgICAgICAgY29uc3QgYyA9IGZhY3RvcnkuY3JlYXRlKGkpO1xyXG4gICAgICAgIHRoaXMuaW5zdGFuY2UgPSBjLmluc3RhbmNlO1xyXG4gICAgICAgIHRoaXMuaW5pdFRlbXBsYXRlcygpO1xyXG4gIH1cclxufVxyXG4iXX0=
|
|
@@ -1,70 +1,70 @@
|
|
|
1
|
-
import { Inject, Injectable } from '@angular/core';
|
|
2
|
-
import { FieldType } from '../interfaces/report-def';
|
|
3
|
-
import { TableBuilderConfigToken } from '../classes/TableBuilderConfig';
|
|
4
|
-
import { get } from 'lodash';
|
|
5
|
-
import * as i0 from "@angular/core";
|
|
6
|
-
import * as i1 from "@angular/common";
|
|
7
|
-
import * as i2 from "../../utilities/pipes/phone.pipe";
|
|
8
|
-
import * as i3 from "../../utilities";
|
|
9
|
-
export function isPipe(o) {
|
|
10
|
-
return typeof (o.transform) === 'function';
|
|
11
|
-
}
|
|
12
|
-
export class TransformCreator {
|
|
13
|
-
constructor(datePipe, currencyPipe, phonePipe, casePipe, config) {
|
|
14
|
-
this.datePipe = datePipe;
|
|
15
|
-
this.currencyPipe = currencyPipe;
|
|
16
|
-
this.phonePipe = phonePipe;
|
|
17
|
-
this.casePipe = casePipe;
|
|
18
|
-
this.config = config;
|
|
19
|
-
}
|
|
20
|
-
createTransformer(metaData) {
|
|
21
|
-
const defaultFunc = (value) => get(value, metaData.key);
|
|
22
|
-
if (metaData.transform) {
|
|
23
|
-
if (isPipe(metaData.transform)) {
|
|
24
|
-
return (value) => metaData.transform.transform(defaultFunc(value));
|
|
25
|
-
}
|
|
26
|
-
return metaData.fieldType === FieldType.Expression ? metaData.transform : (value) => metaData.transform(defaultFunc(value), value);
|
|
27
|
-
}
|
|
28
|
-
if (this.config.transformers && this.config.transformers[metaData.fieldType]) {
|
|
29
|
-
var tranformer = this.config.transformers[metaData.fieldType];
|
|
30
|
-
return (value) => tranformer(defaultFunc(value));
|
|
31
|
-
}
|
|
32
|
-
switch (metaData.fieldType) {
|
|
33
|
-
case FieldType.Date:
|
|
34
|
-
const dateFormat = metaData.additional?.dateFormat ?? this.config.defaultSettings?.dateFormat ?? 'shortDate';
|
|
35
|
-
return (value) => this.datePipe.transform(defaultFunc(value), dateFormat);
|
|
36
|
-
case FieldType.Currency:
|
|
37
|
-
return (value) => this.currencyPipe.transform(defaultFunc(value));
|
|
38
|
-
case FieldType.PhoneNumber:
|
|
39
|
-
return (value) => this.phonePipe.transform(defaultFunc(value));
|
|
40
|
-
case FieldType.Enum:
|
|
41
|
-
return (value) => this.casePipe.transform(metaData.additional?.enumMap[defaultFunc(value)]);
|
|
42
|
-
case FieldType.Boolean:
|
|
43
|
-
let forTrue = 'check';
|
|
44
|
-
let forFalse = '';
|
|
45
|
-
if (metaData.additional?.boolean?.forTrue) {
|
|
46
|
-
forTrue = metaData?.additional.boolean.forTrue.icon;
|
|
47
|
-
}
|
|
48
|
-
if (metaData.additional?.boolean?.showForFalse === true) {
|
|
49
|
-
forFalse = 'clear';
|
|
50
|
-
}
|
|
51
|
-
else if (metaData.additional?.boolean?.showForFalse?.icon) {
|
|
52
|
-
forFalse = metaData.additional?.boolean?.showForFalse?.icon;
|
|
53
|
-
}
|
|
54
|
-
return (value) => defaultFunc(value) ? forTrue : forFalse;
|
|
55
|
-
}
|
|
56
|
-
return defaultFunc;
|
|
57
|
-
}
|
|
58
|
-
}
|
|
59
|
-
TransformCreator.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.0.2", ngImport: i0, type: TransformCreator, deps: [{ token: i1.DatePipe }, { token: i1.CurrencyPipe }, { token: i2.PhoneNumberPipe }, { token: i3.SpaceCasePipe }, { token: TableBuilderConfigToken }], target: i0.ɵɵFactoryTarget.Injectable });
|
|
60
|
-
TransformCreator.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "15.0.2", ngImport: i0, type: TransformCreator, providedIn: 'root' });
|
|
61
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.0.2", ngImport: i0, type: TransformCreator, decorators: [{
|
|
62
|
-
type: Injectable,
|
|
63
|
-
args: [{
|
|
64
|
-
providedIn: 'root',
|
|
65
|
-
}]
|
|
66
|
-
}], ctorParameters: function () { return [{ type: i1.DatePipe }, { type: i1.CurrencyPipe }, { type: i2.PhoneNumberPipe }, { type: i3.SpaceCasePipe }, { type: undefined, decorators: [{
|
|
67
|
-
type: Inject,
|
|
68
|
-
args: [TableBuilderConfigToken]
|
|
69
|
-
}] }]; } });
|
|
70
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
1
|
+
import { Inject, Injectable } from '@angular/core';
|
|
2
|
+
import { FieldType } from '../interfaces/report-def';
|
|
3
|
+
import { TableBuilderConfigToken } from '../classes/TableBuilderConfig';
|
|
4
|
+
import { get } from 'lodash';
|
|
5
|
+
import * as i0 from "@angular/core";
|
|
6
|
+
import * as i1 from "@angular/common";
|
|
7
|
+
import * as i2 from "../../utilities/pipes/phone.pipe";
|
|
8
|
+
import * as i3 from "../../utilities";
|
|
9
|
+
export function isPipe(o) {
|
|
10
|
+
return typeof (o.transform) === 'function';
|
|
11
|
+
}
|
|
12
|
+
export class TransformCreator {
|
|
13
|
+
constructor(datePipe, currencyPipe, phonePipe, casePipe, config) {
|
|
14
|
+
this.datePipe = datePipe;
|
|
15
|
+
this.currencyPipe = currencyPipe;
|
|
16
|
+
this.phonePipe = phonePipe;
|
|
17
|
+
this.casePipe = casePipe;
|
|
18
|
+
this.config = config;
|
|
19
|
+
}
|
|
20
|
+
createTransformer(metaData) {
|
|
21
|
+
const defaultFunc = (value) => get(value, metaData.key);
|
|
22
|
+
if (metaData.transform) {
|
|
23
|
+
if (isPipe(metaData.transform)) {
|
|
24
|
+
return (value) => metaData.transform.transform(defaultFunc(value));
|
|
25
|
+
}
|
|
26
|
+
return metaData.fieldType === FieldType.Expression ? metaData.transform : (value) => metaData.transform(defaultFunc(value), value);
|
|
27
|
+
}
|
|
28
|
+
if (this.config.transformers && this.config.transformers[metaData.fieldType]) {
|
|
29
|
+
var tranformer = this.config.transformers[metaData.fieldType];
|
|
30
|
+
return (value) => tranformer(defaultFunc(value));
|
|
31
|
+
}
|
|
32
|
+
switch (metaData.fieldType) {
|
|
33
|
+
case FieldType.Date:
|
|
34
|
+
const dateFormat = metaData.additional?.dateFormat ?? this.config.defaultSettings?.dateFormat ?? 'shortDate';
|
|
35
|
+
return (value) => this.datePipe.transform(defaultFunc(value), dateFormat);
|
|
36
|
+
case FieldType.Currency:
|
|
37
|
+
return (value) => this.currencyPipe.transform(defaultFunc(value));
|
|
38
|
+
case FieldType.PhoneNumber:
|
|
39
|
+
return (value) => this.phonePipe.transform(defaultFunc(value));
|
|
40
|
+
case FieldType.Enum:
|
|
41
|
+
return (value) => this.casePipe.transform(metaData.additional?.enumMap[defaultFunc(value)]);
|
|
42
|
+
case FieldType.Boolean:
|
|
43
|
+
let forTrue = 'check';
|
|
44
|
+
let forFalse = '';
|
|
45
|
+
if (metaData.additional?.boolean?.forTrue) {
|
|
46
|
+
forTrue = metaData?.additional.boolean.forTrue.icon;
|
|
47
|
+
}
|
|
48
|
+
if (metaData.additional?.boolean?.showForFalse === true) {
|
|
49
|
+
forFalse = 'clear';
|
|
50
|
+
}
|
|
51
|
+
else if (metaData.additional?.boolean?.showForFalse?.icon) {
|
|
52
|
+
forFalse = metaData.additional?.boolean?.showForFalse?.icon;
|
|
53
|
+
}
|
|
54
|
+
return (value) => defaultFunc(value) ? forTrue : forFalse;
|
|
55
|
+
}
|
|
56
|
+
return defaultFunc;
|
|
57
|
+
}
|
|
58
|
+
}
|
|
59
|
+
TransformCreator.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.0.2", ngImport: i0, type: TransformCreator, deps: [{ token: i1.DatePipe }, { token: i1.CurrencyPipe }, { token: i2.PhoneNumberPipe }, { token: i3.SpaceCasePipe }, { token: TableBuilderConfigToken }], target: i0.ɵɵFactoryTarget.Injectable });
|
|
60
|
+
TransformCreator.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "15.0.2", ngImport: i0, type: TransformCreator, providedIn: 'root' });
|
|
61
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.0.2", ngImport: i0, type: TransformCreator, decorators: [{
|
|
62
|
+
type: Injectable,
|
|
63
|
+
args: [{
|
|
64
|
+
providedIn: 'root',
|
|
65
|
+
}]
|
|
66
|
+
}], ctorParameters: function () { return [{ type: i1.DatePipe }, { type: i1.CurrencyPipe }, { type: i2.PhoneNumberPipe }, { type: i3.SpaceCasePipe }, { type: undefined, decorators: [{
|
|
67
|
+
type: Inject,
|
|
68
|
+
args: [TableBuilderConfigToken]
|
|
69
|
+
}] }]; } });
|
|
70
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidHJhbnNmb3JtLWNyZWF0b3IuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9hbmd1bGFyLXV0aWxpdGllcy9zcmMvdGFibGUtYnVpbGRlci9zZXJ2aWNlcy90cmFuc2Zvcm0tY3JlYXRvci50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQWlCLE1BQU0sRUFBRSxVQUFVLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDbEUsT0FBTyxFQUFFLFNBQVMsRUFBWSxNQUFNLDBCQUEwQixDQUFDO0FBRy9ELE9BQU8sRUFBRSx1QkFBdUIsRUFBc0IsTUFBTSwrQkFBK0IsQ0FBQztBQUU1RixPQUFPLEVBQUUsR0FBRyxFQUFFLE1BQU0sUUFBUSxDQUFDOzs7OztBQUM3QixNQUFNLFVBQVUsTUFBTSxDQUFDLENBQU87SUFDNUIsT0FBTyxPQUFPLENBQUUsQ0FBbUIsQ0FBQyxTQUFTLENBQUUsS0FBSyxVQUFVLENBQUM7QUFDakUsQ0FBQztBQUtELE1BQU0sT0FBTyxnQkFBZ0I7SUFDM0IsWUFDVSxRQUFrQixFQUNsQixZQUEwQixFQUMxQixTQUEwQixFQUMxQixRQUF1QixFQUNVLE1BQTBCO1FBSjNELGFBQVEsR0FBUixRQUFRLENBQVU7UUFDbEIsaUJBQVksR0FBWixZQUFZLENBQWM7UUFDMUIsY0FBUyxHQUFULFNBQVMsQ0FBaUI7UUFDMUIsYUFBUSxHQUFSLFFBQVEsQ0FBZTtRQUNVLFdBQU0sR0FBTixNQUFNLENBQW9CO0lBQ2xFLENBQUM7SUFDSixpQkFBaUIsQ0FBQyxRQUFrQjtRQUNsQyxNQUFNLFdBQVcsR0FBRyxDQUFDLEtBQVUsRUFBRSxFQUFFLENBQUMsR0FBRyxDQUFFLEtBQUssRUFBRSxRQUFRLENBQUMsR0FBRyxDQUFDLENBQUM7UUFDOUQsSUFBRyxRQUFRLENBQUMsU0FBUyxFQUFFO1lBQ3JCLElBQUcsTUFBTSxDQUFDLFFBQVEsQ0FBQyxTQUFTLENBQUMsRUFBQztnQkFDNUIsT0FB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TWpCLHVCQUF1QjtpSEFOdEIsZ0JBQWdCLGNBRmQsTUFBTTsyRkFFUixnQkFBZ0I7a0JBSDVCLFVBQVU7bUJBQUM7b0JBQ1YsVUFBVSxFQUFHLE1BQU07aUJBQ3BCOzswQkFPSSxNQUFNOzJCQUFDLHVCQUF1QiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IFBpcGVUcmFuc2Zvcm0sIEluamVjdCwgSW5qZWN0YWJsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5pbXBvcnQgeyBGaWVsZFR5cGUsIE1ldGFEYXRhIH0gZnJvbSAnLi4vaW50ZXJmYWNlcy9yZXBvcnQtZGVmJztcclxuaW1wb3J0IHsgRGF0ZVBpcGUsIEN1cnJlbmN5UGlwZSB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbic7XHJcbmltcG9ydCB7IFBob25lTnVtYmVyUGlwZSB9IGZyb20gJy4uLy4uL3V0aWxpdGllcy9waXBlcy9waG9uZS5waXBlJztcclxuaW1wb3J0IHsgVGFibGVCdWlsZGVyQ29uZmlnVG9rZW4sIFRhYmxlQnVpbGRlckNvbmZpZyB9IGZyb20gJy4uL2NsYXNzZXMvVGFibGVCdWlsZGVyQ29uZmlnJztcclxuaW1wb3J0IHsgU3BhY2VDYXNlUGlwZSB9IGZyb20gJy4uLy4uL3V0aWxpdGllcyc7XHJcbmltcG9ydCB7IGdldCB9IGZyb20gJ2xvZGFzaCc7XHJcbmV4cG9ydCBmdW5jdGlvbiBpc1BpcGUobyA6IGFueSApOiBvIGlzIFBpcGVUcmFuc2Zvcm0ge1xyXG4gIHJldHVybiB0eXBlb2YgKChvIGFzIFBpcGVUcmFuc2Zvcm0pLnRyYW5zZm9ybSApID09PSAnZnVuY3Rpb24nO1xyXG59XHJcblxyXG5ASW5qZWN0YWJsZSh7XHJcbiAgcHJvdmlkZWRJbjogICdyb290JyxcclxufSlcclxuZXhwb3J0IGNsYXNzIFRyYW5zZm9ybUNyZWF0b3Ige1xyXG4gIGNvbnN0cnVjdG9yKFxyXG4gICAgcHJpdmF0ZSBkYXRlUGlwZTogRGF0ZVBpcGUsXHJcbiAgICBwcml2YXRlIGN1cnJlbmN5UGlwZTogQ3VycmVuY3lQaXBlLFxyXG4gICAgcHJpdmF0ZSBwaG9uZVBpcGU6IFBob25lTnVtYmVyUGlwZSxcclxuICAgIHByaXZhdGUgY2FzZVBpcGU6IFNwYWNlQ2FzZVBpcGUsXHJcbiAgICBASW5qZWN0KFRhYmxlQnVpbGRlckNvbmZpZ1Rva2VuKSBwcml2YXRlIGNvbmZpZzogVGFibGVCdWlsZGVyQ29uZmlnLFxyXG4gICkge31cclxuICBjcmVhdGVUcmFuc2Zvcm1lcihtZXRhRGF0YTogTWV0YURhdGEpOiAoKHZhbHVlOiBhbnksIC4uLmFyZ3M6IGFueVtdKSA9PiBhbnkpICB7XHJcbiAgICBjb25zdCBkZWZhdWx0RnVuYyA9ICh2YWx1ZTogYW55KSA9PiBnZXQoIHZhbHVlLCBtZXRhRGF0YS5rZXkpO1xyXG4gICAgaWYobWV0YURhdGEudHJhbnNmb3JtKSB7XHJcbiAgICAgIGlmKGlzUGlwZShtZXRhRGF0YS50cmFuc2Zvcm0pKXtcclxuICAgICAgICByZXR1cm4gKHZhbHVlOiBhbnkpID0+ICAobWV0YURhdGEhLnRyYW5zZm9ybSBhcyBQaXBlVHJhbnNmb3JtKS50cmFuc2Zvcm0oZGVmYXVsdEZ1bmModmFsdWUpKTtcclxuICAgICAgfVxyXG4gICAgICByZXR1cm4gbWV0YURhdGEuZmllbGRUeXBlID09PSBGaWVsZFR5cGUuRXhwcmVzc2lvbiA/IG1ldGFEYXRhLnRyYW5zZm9ybSA6ICh2YWx1ZTogYW55KSA9PiAobWV0YURhdGEudHJhbnNmb3JtIGFzIChhOmFueSxiOmFueSk9PmFueSkoZGVmYXVsdEZ1bmModmFsdWUpLHZhbHVlKTtcclxuICAgIH1cclxuICAgIGlmICh0aGlzLmNvbmZpZy50cmFuc2Zvcm1lcnMgJiYgdGhpcy5jb25maWcudHJhbnNmb3JtZXJzW21ldGFEYXRhLmZpZWxkVHlwZV0pIHtcclxuICAgICAgdmFyIHRyYW5mb3JtZXIgPSAgdGhpcy5jb25maWcudHJhbnNmb3JtZXJzIVttZXRhRGF0YS5maWVsZFR5cGVdITtcclxuICAgICAgcmV0dXJuICh2YWx1ZTogYW55KSA9PiB0cmFuZm9ybWVyKGRlZmF1bHRGdW5jKHZhbHVlKSk7XHJcbiAgICB9XHJcbiAgICBzd2l0Y2gobWV0YURhdGEuZmllbGRUeXBlKSB7XHJcbiAgICAgIGNhc2UgRmllbGRUeXBlLkRhdGU6XHJcbiAgICAgICAgY29uc3QgZGF0ZUZvcm1hdCA9IG1ldGFEYXRhLmFkZGl0aW9uYWw/LmRhdGVGb3JtYXQgPz8gdGhpcy5jb25maWcuZGVmYXVsdFNldHRpbmdzPy5kYXRlRm9ybWF0ID8/ICdzaG9ydERhdGUnO1xyXG4gICAgICAgIHJldHVybiAodmFsdWU6IGFueSkgPT4gdGhpcy5kYXRlUGlwZS50cmFuc2Zvcm0oZGVmYXVsdEZ1bmModmFsdWUpLCBkYXRlRm9ybWF0KTtcclxuICAgICAgY2FzZSBGaWVsZFR5cGUuQ3VycmVuY3k6XHJcbiAgICAgICAgICByZXR1cm4gKHZhbHVlOiBhbnkpID0+ICB0aGlzLmN1cnJlbmN5UGlwZS50cmFuc2Zvcm0oZGVmYXVsdEZ1bmModmFsdWUpKTtcclxuICAgICAgY2FzZSBGaWVsZFR5cGUuUGhvbmVOdW1iZXI6XHJcbiAgICAgICAgcmV0dXJuICAodmFsdWU6IGFueSkgPT4gIHRoaXMucGhvbmVQaXBlLnRyYW5zZm9ybShkZWZhdWx0RnVuYyh2YWx1ZSkpO1xyXG4gICAgICBjYXNlIEZpZWxkVHlwZS5FbnVtOlxyXG4gICAgICAgIHJldHVybiAodmFsdWU6IGFueSkgPT4gIHRoaXMuY2FzZVBpcGUudHJhbnNmb3JtKG1ldGFEYXRhLmFkZGl0aW9uYWw/LmVudW1NYXAhW2RlZmF1bHRGdW5jKHZhbHVlKV0gYXMgc3RyaW5nKSA7XHJcbiAgICAgIGNhc2UgRmllbGRUeXBlLkJvb2xlYW46XHJcbiAgICAgICAgbGV0IGZvclRydWUgPSAnY2hlY2snXHJcbiAgICAgICAgbGV0IGZvckZhbHNlID0gJyc7XHJcbiAgICAgICAgaWYobWV0YURhdGEuYWRkaXRpb25hbD8uYm9vbGVhbj8uZm9yVHJ1ZSkge1xyXG4gICAgICAgICAgZm9yVHJ1ZSA9IG1ldGFEYXRhPy5hZGRpdGlvbmFsLmJvb2xlYW4uZm9yVHJ1ZS5pY29uO1xyXG4gICAgICAgIH1cclxuICAgICAgICBpZihtZXRhRGF0YS5hZGRpdGlvbmFsPy5ib29sZWFuPy5zaG93Rm9yRmFsc2UgPT09IHRydWUpIHtcclxuICAgICAgICAgIGZvckZhbHNlID0gJ2NsZWFyJztcclxuICAgICAgICB9IGVsc2UgaWYgKG1ldGFEYXRhLmFkZGl0aW9uYWw/LmJvb2xlYW4/LnNob3dGb3JGYWxzZT8uaWNvbikge1xyXG4gICAgICAgICAgZm9yRmFsc2UgPSBtZXRhRGF0YS5hZGRpdGlvbmFsPy5ib29sZWFuPy5zaG93Rm9yRmFsc2U/Lmljb247XHJcbiAgICAgICAgfVxyXG4gICAgICAgIHJldHVybiAodmFsdWU6IGFueSkgPT4gZGVmYXVsdEZ1bmModmFsdWUpID8gZm9yVHJ1ZSA6IGZvckZhbHNlIDtcclxuICAgIH1cclxuICAgICAgcmV0dXJuIGRlZmF1bHRGdW5jO1xyXG4gIH1cclxuXHJcbn1cclxuIl19
|