@stemy/ngx-utils 12.1.1 → 12.1.4

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.
Files changed (120) hide show
  1. package/bundles/stemy-ngx-utils.umd.js +51 -30
  2. package/bundles/stemy-ngx-utils.umd.js.map +1 -1
  3. package/esm2015/ngx-utils/services/acl.service.js +3 -1
  4. package/esm2015/ngx-utils/services/config.service.js +4 -4
  5. package/esm2015/ngx-utils/services/error-handler.service.js +2 -2
  6. package/esm2015/ngx-utils/services/static-language.service.js +17 -17
  7. package/esm2015/ngx-utils/services/storage.service.js +4 -4
  8. package/esm2015/ngx-utils/utils/file-system.js +20 -0
  9. package/esm2015/public_api.js +2 -1
  10. package/esm2020/ngx-utils/common-types.mjs +117 -0
  11. package/esm2020/ngx-utils/components/dynamic-table/dynamic-table.component.mjs +178 -0
  12. package/esm2020/ngx-utils/components/pagination-menu/pagination-menu.component.mjs +101 -0
  13. package/esm2020/ngx-utils/components/unordered-list/unordered-list.component.mjs +65 -0
  14. package/esm2020/ngx-utils/directives/async-method.base.mjs +78 -0
  15. package/esm2020/ngx-utils/directives/async-method.directive.mjs +21 -0
  16. package/esm2020/ngx-utils/directives/background.directive.mjs +51 -0
  17. package/esm2020/ngx-utils/directives/dynamic-table-template.directive.mjs +20 -0
  18. package/esm2020/ngx-utils/directives/global-template.directive.mjs +30 -0
  19. package/esm2020/ngx-utils/directives/icon.directive.mjs +67 -0
  20. package/esm2020/ngx-utils/directives/ngx-template-outlet.directive.mjs +90 -0
  21. package/esm2020/ngx-utils/directives/pagination-item.directive.mjs +33 -0
  22. package/esm2020/ngx-utils/directives/pagination.directive.mjs +83 -0
  23. package/esm2020/ngx-utils/directives/resource-if.directive.mjs +50 -0
  24. package/esm2020/ngx-utils/directives/sticky-class.directive.mjs +34 -0
  25. package/esm2020/ngx-utils/directives/sticky.directive.mjs +55 -0
  26. package/esm2020/ngx-utils/directives/unordered-list-item.directive.mjs +77 -0
  27. package/esm2020/ngx-utils/directives/unordered-list-template.directive.mjs +26 -0
  28. package/esm2020/ngx-utils/ngx-utils.imports.mjs +165 -0
  29. package/esm2020/ngx-utils/ngx-utils.module.mjs +178 -0
  30. package/esm2020/ngx-utils/pipes/chunk.pipe.mjs +25 -0
  31. package/esm2020/ngx-utils/pipes/entries.pipe.mjs +28 -0
  32. package/esm2020/ngx-utils/pipes/extra-item-properties.pipe.mjs +31 -0
  33. package/esm2020/ngx-utils/pipes/filter.pipe.mjs +42 -0
  34. package/esm2020/ngx-utils/pipes/find.pipe.mjs +29 -0
  35. package/esm2020/ngx-utils/pipes/format-number.pipe.mjs +21 -0
  36. package/esm2020/ngx-utils/pipes/get-offset.pipe.mjs +17 -0
  37. package/esm2020/ngx-utils/pipes/get-type.pipe.mjs +16 -0
  38. package/esm2020/ngx-utils/pipes/global-template.pipe.mjs +41 -0
  39. package/esm2020/ngx-utils/pipes/group-by.pipe.mjs +27 -0
  40. package/esm2020/ngx-utils/pipes/is-type.pipe.mjs +16 -0
  41. package/esm2020/ngx-utils/pipes/join.pipe.mjs +19 -0
  42. package/esm2020/ngx-utils/pipes/keys.pipe.mjs +22 -0
  43. package/esm2020/ngx-utils/pipes/map.pipe.mjs +29 -0
  44. package/esm2020/ngx-utils/pipes/max.pipe.mjs +26 -0
  45. package/esm2020/ngx-utils/pipes/min.pipe.mjs +26 -0
  46. package/esm2020/ngx-utils/pipes/reduce.pipe.mjs +30 -0
  47. package/esm2020/ngx-utils/pipes/remap.pipe.mjs +32 -0
  48. package/esm2020/ngx-utils/pipes/replace.pipe.mjs +16 -0
  49. package/esm2020/ngx-utils/pipes/reverse.pipe.mjs +24 -0
  50. package/esm2020/ngx-utils/pipes/round.pipe.mjs +21 -0
  51. package/esm2020/ngx-utils/pipes/safe-html.pipe.mjs +34 -0
  52. package/esm2020/ngx-utils/pipes/translate.pipe.mjs +86 -0
  53. package/esm2020/ngx-utils/pipes/values.pipe.mjs +22 -0
  54. package/esm2020/ngx-utils/plugins/resize-event.plugin.mjs +59 -0
  55. package/esm2020/ngx-utils/plugins/scroll-event.plugin.mjs +39 -0
  56. package/esm2020/ngx-utils/services/acl.service.mjs +81 -0
  57. package/esm2020/ngx-utils/services/api.service.mjs +38 -0
  58. package/esm2020/ngx-utils/services/auth.service.mjs +14 -0
  59. package/esm2020/ngx-utils/services/base-http.client.mjs +47 -0
  60. package/esm2020/ngx-utils/services/base-http.service.mjs +298 -0
  61. package/esm2020/ngx-utils/services/config.service.mjs +116 -0
  62. package/esm2020/ngx-utils/services/error-handler.service.mjs +49 -0
  63. package/esm2020/ngx-utils/services/events.service.mjs +26 -0
  64. package/esm2020/ngx-utils/services/formatter.service.mjs +47 -0
  65. package/esm2020/ngx-utils/services/global-template.service.mjs +37 -0
  66. package/esm2020/ngx-utils/services/icon.service.mjs +26 -0
  67. package/esm2020/ngx-utils/services/language.service.mjs +113 -0
  68. package/esm2020/ngx-utils/services/open-api.service.mjs +40 -0
  69. package/esm2020/ngx-utils/services/promise.service.mjs +55 -0
  70. package/esm2020/ngx-utils/services/state.service.mjs +173 -0
  71. package/esm2020/ngx-utils/services/static-language.service.mjs +166 -0
  72. package/esm2020/ngx-utils/services/storage.service.mjs +49 -0
  73. package/esm2020/ngx-utils/services/toaster.service.mjs +32 -0
  74. package/esm2020/ngx-utils/services/translated-url.serializer.mjs +73 -0
  75. package/esm2020/ngx-utils/services/universal.service.mjs +78 -0
  76. package/esm2020/ngx-utils/utils/ajax-request-handler.mjs +40 -0
  77. package/esm2020/ngx-utils/utils/array.utils.mjs +100 -0
  78. package/esm2020/ngx-utils/utils/auth.guard.mjs +181 -0
  79. package/esm2020/ngx-utils/utils/canvas.utils.mjs +388 -0
  80. package/esm2020/ngx-utils/utils/date.utils.mjs +28 -0
  81. package/esm2020/ngx-utils/utils/file.utils.mjs +90 -0
  82. package/esm2020/ngx-utils/utils/generic-value.mjs +20 -0
  83. package/esm2020/ngx-utils/utils/geometry.mjs +132 -0
  84. package/esm2020/ngx-utils/utils/initializer.mjs +20 -0
  85. package/esm2020/ngx-utils/utils/loader.utils.mjs +55 -0
  86. package/esm2020/ngx-utils/utils/math.utils.mjs +15 -0
  87. package/esm2020/ngx-utils/utils/object.utils.mjs +261 -0
  88. package/esm2020/ngx-utils/utils/observable.utils.mjs +63 -0
  89. package/esm2020/ngx-utils/utils/reflect.utils.mjs +33 -0
  90. package/esm2020/ngx-utils/utils/set.utils.mjs +20 -0
  91. package/esm2020/ngx-utils/utils/string.utils.mjs +41 -0
  92. package/esm2020/ngx-utils/utils/timer.utils.mjs +52 -0
  93. package/esm2020/ngx-utils/utils/unique.utils.mjs +24 -0
  94. package/esm2020/ngx-utils/utils/vector.mjs +77 -0
  95. package/esm2020/public_api.mjs +85 -0
  96. package/esm2020/stemy-ngx-utils.mjs +5 -0
  97. package/esm2020/tools/config.mjs +71 -0
  98. package/esm2020/tools/public_api.mjs +2 -0
  99. package/esm2020/tools/stemy-ngx-utils-tools.mjs +5 -0
  100. package/fesm2015/stemy-ngx-utils-tools.mjs +77 -0
  101. package/fesm2015/stemy-ngx-utils-tools.mjs.map +1 -0
  102. package/fesm2015/stemy-ngx-utils.js +46 -24
  103. package/fesm2015/stemy-ngx-utils.js.map +1 -1
  104. package/fesm2015/stemy-ngx-utils.mjs +5168 -0
  105. package/fesm2015/stemy-ngx-utils.mjs.map +1 -0
  106. package/fesm2020/stemy-ngx-utils-tools.mjs +77 -0
  107. package/fesm2020/stemy-ngx-utils-tools.mjs.map +1 -0
  108. package/fesm2020/stemy-ngx-utils.mjs +5099 -0
  109. package/fesm2020/stemy-ngx-utils.mjs.map +1 -0
  110. package/ngx-utils/services/static-language.service.d.ts +1 -1
  111. package/ngx-utils/utils/file-system.d.ts +16 -0
  112. package/package.json +1 -1
  113. package/public_api.d.ts +1 -0
  114. package/stemy-ngx-utils.metadata.json +1 -1
  115. package/tools/config.d.ts +7 -0
  116. package/tools/package.json +10 -0
  117. package/tools/public_api.d.ts +1 -0
  118. package/tools/stemy-ngx-utils-tools.d.ts +5 -0
  119. package/bundles/stemy-ngx-utils.umd.min.js +0 -16
  120. package/bundles/stemy-ngx-utils.umd.min.js.map +0 -1
@@ -0,0 +1,178 @@
1
+ import { APP_INITIALIZER, Injector, NgModule } from "@angular/core";
2
+ import { APP_BASE_HREF, CommonModule } from "@angular/common";
3
+ import { FormsModule } from "@angular/forms";
4
+ import { API_SERVICE, APP_BASE_URL, AUTH_SERVICE, CONFIG_SERVICE, GLOBAL_TEMPLATES, ICON_SERVICE, LANGUAGE_SERVICE, PROMISE_SERVICE, ROOT_ELEMENT, TOASTER_SERVICE } from "./common-types";
5
+ import { components, directives, loadConfig, pipes, providers } from "./ngx-utils.imports";
6
+ import { ApiService } from "./services/api.service";
7
+ import { StaticAuthService } from "./services/auth.service";
8
+ import { IconService } from "./services/icon.service";
9
+ import { StaticLanguageService } from "./services/static-language.service";
10
+ import { ConsoleToasterService } from "./services/toaster.service";
11
+ import { PromiseService } from "./services/promise.service";
12
+ import { ConfigService } from "./services/config.service";
13
+ import { GlobalTemplateService } from "./services/global-template.service";
14
+ import * as i0 from "@angular/core";
15
+ import * as i1 from "./pipes/chunk.pipe";
16
+ import * as i2 from "./pipes/entries.pipe";
17
+ import * as i3 from "./pipes/extra-item-properties.pipe";
18
+ import * as i4 from "./pipes/filter.pipe";
19
+ import * as i5 from "./pipes/find.pipe";
20
+ import * as i6 from "./pipes/format-number.pipe";
21
+ import * as i7 from "./pipes/get-offset.pipe";
22
+ import * as i8 from "./pipes/get-type.pipe";
23
+ import * as i9 from "./pipes/global-template.pipe";
24
+ import * as i10 from "./pipes/group-by.pipe";
25
+ import * as i11 from "./pipes/is-type.pipe";
26
+ import * as i12 from "./pipes/join.pipe";
27
+ import * as i13 from "./pipes/keys.pipe";
28
+ import * as i14 from "./pipes/map.pipe";
29
+ import * as i15 from "./pipes/max.pipe";
30
+ import * as i16 from "./pipes/min.pipe";
31
+ import * as i17 from "./pipes/reduce.pipe";
32
+ import * as i18 from "./pipes/remap.pipe";
33
+ import * as i19 from "./pipes/replace.pipe";
34
+ import * as i20 from "./pipes/reverse.pipe";
35
+ import * as i21 from "./pipes/round.pipe";
36
+ import * as i22 from "./pipes/safe-html.pipe";
37
+ import * as i23 from "./pipes/translate.pipe";
38
+ import * as i24 from "./pipes/values.pipe";
39
+ import * as i25 from "./directives/async-method.base";
40
+ import * as i26 from "./directives/async-method.directive";
41
+ import * as i27 from "./directives/background.directive";
42
+ import * as i28 from "./directives/dynamic-table-template.directive";
43
+ import * as i29 from "./directives/global-template.directive";
44
+ import * as i30 from "./directives/icon.directive";
45
+ import * as i31 from "./directives/ngx-template-outlet.directive";
46
+ import * as i32 from "./directives/pagination.directive";
47
+ import * as i33 from "./directives/pagination-item.directive";
48
+ import * as i34 from "./directives/resource-if.directive";
49
+ import * as i35 from "./directives/sticky.directive";
50
+ import * as i36 from "./directives/sticky-class.directive";
51
+ import * as i37 from "./directives/unordered-list-item.directive";
52
+ import * as i38 from "./directives/unordered-list-template.directive";
53
+ import * as i39 from "./components/dynamic-table/dynamic-table.component";
54
+ import * as i40 from "./components/pagination-menu/pagination-menu.component";
55
+ import * as i41 from "./components/unordered-list/unordered-list.component";
56
+ export function loadBaseUrl() {
57
+ if (typeof (document) === "undefined" || typeof (location) === "undefined")
58
+ return "/";
59
+ const currentScript = document.currentScript;
60
+ if (!currentScript) {
61
+ try {
62
+ // noinspection ExceptionCaughtLocallyJS
63
+ throw new Error();
64
+ }
65
+ catch (e) {
66
+ const qualifiedUrl = location.protocol + "//" + location.host;
67
+ const stack = (e.stack || "");
68
+ const srcUrl = (stack.match(new RegExp(qualifiedUrl + ".*?\\.js", "g")) || stack.match(/http([A-Z:\/\-.]+)\.js/gi)).shift();
69
+ const lastIndex = srcUrl.lastIndexOf("/");
70
+ return lastIndex < 0 ? "/" : srcUrl.substring(0, lastIndex + 1);
71
+ }
72
+ }
73
+ const scriptSrc = currentScript.src;
74
+ const lastIndex = scriptSrc.lastIndexOf("/");
75
+ return lastIndex < 0 ? "/" : scriptSrc.substring(0, lastIndex + 1);
76
+ }
77
+ export function loadBaseHref(baseUrl) {
78
+ try {
79
+ return new URL(baseUrl).pathname;
80
+ }
81
+ catch (e) {
82
+ console.log(e);
83
+ return "/";
84
+ }
85
+ }
86
+ export class NgxUtilsModule {
87
+ constructor() {
88
+ }
89
+ static forRoot(config) {
90
+ return {
91
+ ngModule: NgxUtilsModule,
92
+ providers: [
93
+ ...providers,
94
+ {
95
+ provide: API_SERVICE,
96
+ useExisting: (!config ? null : config.apiService) || ApiService
97
+ },
98
+ {
99
+ provide: AUTH_SERVICE,
100
+ useExisting: (!config ? null : config.authService) || StaticAuthService
101
+ },
102
+ {
103
+ provide: ICON_SERVICE,
104
+ useExisting: (!config ? null : config.iconService) || IconService
105
+ },
106
+ {
107
+ provide: LANGUAGE_SERVICE,
108
+ useExisting: (!config ? null : config.languageService) || StaticLanguageService
109
+ },
110
+ {
111
+ provide: TOASTER_SERVICE,
112
+ useExisting: (!config ? null : config.toasterService) || ConsoleToasterService
113
+ },
114
+ {
115
+ provide: PROMISE_SERVICE,
116
+ useExisting: (!config ? null : config.promiseService) || PromiseService
117
+ },
118
+ {
119
+ provide: CONFIG_SERVICE,
120
+ useExisting: (!config ? null : config.configService) || ConfigService
121
+ },
122
+ {
123
+ provide: GLOBAL_TEMPLATES,
124
+ useExisting: (!config ? null : config.globalTemplates) || GlobalTemplateService
125
+ },
126
+ {
127
+ provide: APP_BASE_URL,
128
+ useFactory: (!config ? null : config.baseUrl) || loadBaseUrl,
129
+ deps: [Injector]
130
+ },
131
+ {
132
+ provide: ROOT_ELEMENT,
133
+ useValue: null
134
+ },
135
+ {
136
+ provide: APP_INITIALIZER,
137
+ useFactory: (!config ? null : config.initializeApp) || loadConfig,
138
+ multi: true,
139
+ deps: [(!config ? null : config.initializeApp) ? Injector : CONFIG_SERVICE]
140
+ },
141
+ {
142
+ provide: APP_BASE_HREF,
143
+ useFactory: loadBaseHref,
144
+ deps: [APP_BASE_URL]
145
+ }
146
+ ]
147
+ };
148
+ }
149
+ }
150
+ NgxUtilsModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.8", ngImport: i0, type: NgxUtilsModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
151
+ NgxUtilsModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "12.0.0", version: "13.3.8", ngImport: i0, type: NgxUtilsModule, declarations: [i1.ChunkPipe, i2.EntriesPipe, i3.ExtraItemPropertiesPipe, i4.FilterPipe, i5.FindPipe, i6.FormatNumberPipe, i7.GetOffsetPipe, i8.GetTypePipe, i9.GlobalTemplatePipe, i10.GroupByPipe, i11.IsTypePipe, i12.JoinPipe, i13.KeysPipe, i14.MapPipe, i15.MaxPipe, i16.MinPipe, i17.ReducePipe, i18.RemapPipe, i19.ReplacePipe, i20.ReversePipe, i21.RoundPipe, i22.SafeHtmlPipe, i23.TranslatePipe, i24.ValuesPipe, i25.AsyncMethodBase, i26.AsyncMethodDirective, i27.BackgroundDirective, i28.DynamicTableTemplateDirective, i29.GlobalTemplateDirective, i30.IconDirective, i31.NgxTemplateOutletDirective, i32.PaginationDirective, i33.PaginationItemDirective, i34.ResourceIfDirective, i35.StickyDirective, i36.StickyClassDirective, i37.UnorderedListItemDirective, i38.UnorderedListTemplateDirective, i39.DynamicTableComponent, i40.PaginationMenuComponent, i41.UnorderedListComponent], imports: [CommonModule,
152
+ FormsModule], exports: [i1.ChunkPipe, i2.EntriesPipe, i3.ExtraItemPropertiesPipe, i4.FilterPipe, i5.FindPipe, i6.FormatNumberPipe, i7.GetOffsetPipe, i8.GetTypePipe, i9.GlobalTemplatePipe, i10.GroupByPipe, i11.IsTypePipe, i12.JoinPipe, i13.KeysPipe, i14.MapPipe, i15.MaxPipe, i16.MinPipe, i17.ReducePipe, i18.RemapPipe, i19.ReplacePipe, i20.ReversePipe, i21.RoundPipe, i22.SafeHtmlPipe, i23.TranslatePipe, i24.ValuesPipe, i25.AsyncMethodBase, i26.AsyncMethodDirective, i27.BackgroundDirective, i28.DynamicTableTemplateDirective, i29.GlobalTemplateDirective, i30.IconDirective, i31.NgxTemplateOutletDirective, i32.PaginationDirective, i33.PaginationItemDirective, i34.ResourceIfDirective, i35.StickyDirective, i36.StickyClassDirective, i37.UnorderedListItemDirective, i38.UnorderedListTemplateDirective, i39.DynamicTableComponent, i40.PaginationMenuComponent, i41.UnorderedListComponent, FormsModule] });
153
+ NgxUtilsModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "13.3.8", ngImport: i0, type: NgxUtilsModule, providers: pipes, imports: [[
154
+ CommonModule,
155
+ FormsModule
156
+ ], FormsModule] });
157
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.8", ngImport: i0, type: NgxUtilsModule, decorators: [{
158
+ type: NgModule,
159
+ args: [{
160
+ declarations: [
161
+ ...pipes,
162
+ ...directives,
163
+ ...components
164
+ ],
165
+ imports: [
166
+ CommonModule,
167
+ FormsModule
168
+ ],
169
+ exports: [
170
+ ...pipes,
171
+ ...directives,
172
+ ...components,
173
+ FormsModule
174
+ ],
175
+ providers: pipes
176
+ }]
177
+ }], ctorParameters: function () { return []; } });
178
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibmd4LXV0aWxzLm1vZHVsZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9uZ3gtdXRpbHMvbmd4LXV0aWxzLm1vZHVsZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUMsZUFBZSxFQUFFLFFBQVEsRUFBdUIsUUFBUSxFQUFDLE1BQU0sZUFBZSxDQUFDO0FBQ3ZGLE9BQU8sRUFBQyxhQUFhLEVBQUUsWUFBWSxFQUFDLE1BQU0saUJBQWlCLENBQUM7QUFDNUQsT0FBTyxFQUFDLFdBQVcsRUFBQyxNQUFNLGdCQUFnQixDQUFDO0FBQzNDLE9BQU8sRUFDSCxXQUFXLEVBQ1gsWUFBWSxFQUNaLFlBQVksRUFDWixjQUFjLEVBQ2QsZ0JBQWdCLEVBQ2hCLFlBQVksRUFFWixnQkFBZ0IsRUFDaEIsZUFBZSxFQUNmLFlBQVksRUFDWixlQUFlLEVBQ2xCLE1BQU0sZ0JBQWdCLENBQUM7QUFDeEIsT0FBTyxFQUFDLFVBQVUsRUFBRSxVQUFVLEVBQUUsVUFBVSxFQUFFLEtBQUssRUFBRSxTQUFTLEVBQUMsTUFBTSxxQkFBcUIsQ0FBQztBQUN6RixPQUFPLEVBQUMsVUFBVSxFQUFDLE1BQU0sd0JBQXdCLENBQUM7QUFDbEQsT0FBTyxFQUFDLGlCQUFpQixFQUFDLE1BQU0seUJBQXlCLENBQUM7QUFDMUQsT0FBTyxFQUFDLFdBQVcsRUFBQyxNQUFNLHlCQUF5QixDQUFDO0FBQ3BELE9BQU8sRUFBQyxxQkFBcUIsRUFBQyxNQUFNLG9DQUFvQyxDQUFDO0FBQ3pFLE9BQU8sRUFBQyxxQkFBcUIsRUFBQyxNQUFNLDRCQUE0QixDQUFDO0FBQ2pFLE9BQU8sRUFBQyxjQUFjLEVBQUMsTUFBTSw0QkFBNEIsQ0FBQztBQUMxRCxPQUFPLEVBQUMsYUFBYSxFQUFDLE1BQU0sMkJBQTJCLENBQUM7QUFDeEQsT0FBTyxFQUFDLHFCQUFxQixFQUFDLE1BQU0sb0NBQW9DLENBQUM7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7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b0JBQ2pFLEtBQUssRUFBRSxJQUFJO29CQUNYLElBQUksRUFBRSxDQUFDLENBQUMsQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsTUFBTSxDQUFDLGFBQWEsQ0FBQyxDQUFDLENBQUMsQ0FBQyxRQUFRLENBQUMsQ0FBQyxDQUFDLGNBQWMsQ0FBQztpQkFDOUU7Z0JBQ0Q7b0JBQ0ksT0FBTyxFQUFFLGFBQWE7b0JBQ3RCLFVBQVUsRUFBRSxZQUFZO29CQUN4QixJQUFJLEVBQUUsQ0FBQyxZQUFZLENBQUM7aUJBQ3ZCO2FBQ0o7U0FDSixDQUFDO0lBQ04sQ0FBQzs7MkdBN0RRLGNBQWM7NEdBQWQsY0FBYywwM0JBWG5CLFlBQVk7UUFDWixXQUFXLDIyQkFNWCxXQUFXOzRHQUlOLGNBQWMsYUFGWixLQUFLLFlBVlA7WUFDTCxZQUFZO1lBQ1osV0FBVztTQUNkLEVBS0csV0FBVzsyRkFJTixjQUFjO2tCQWxCMUIsUUFBUTttQkFBQztvQkFDTixZQUFZLEVBQUU7d0JBQ1YsR0FBRyxLQUFLO3dCQUNSLEdBQUcsVUFBVTt3QkFDYixHQUFHLFVBQVU7cUJBQ2hCO29CQUNELE9BQU8sRUFBRTt3QkFDTCxZQUFZO3dCQUNaLFdBQVc7cUJBQ2Q7b0JBQ0QsT0FBTyxFQUFFO3dCQUNMLEdBQUcsS0FBSzt3QkFDUixHQUFHLFVBQVU7d0JBQ2IsR0FBRyxVQUFVO3dCQUNiLFdBQVc7cUJBQ2Q7b0JBQ0QsU0FBUyxFQUFFLEtBQUs7aUJBQ25CIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtBUFBfSU5JVElBTElaRVIsIEluamVjdG9yLCBNb2R1bGVXaXRoUHJvdmlkZXJzLCBOZ01vZHVsZX0gZnJvbSBcIkBhbmd1bGFyL2NvcmVcIjtcclxuaW1wb3J0IHtBUFBfQkFTRV9IUkVGLCBDb21tb25Nb2R1bGV9IGZyb20gXCJAYW5ndWxhci9jb21tb25cIjtcclxuaW1wb3J0IHtGb3Jtc01vZHVsZX0gZnJvbSBcIkBhbmd1bGFyL2Zvcm1zXCI7XHJcbmltcG9ydCB7XHJcbiAgICBBUElfU0VSVklDRSxcclxuICAgIEFQUF9CQVNFX1VSTCxcclxuICAgIEFVVEhfU0VSVklDRSxcclxuICAgIENPTkZJR19TRVJWSUNFLFxyXG4gICAgR0xPQkFMX1RFTVBMQVRFUyxcclxuICAgIElDT05fU0VSVklDRSxcclxuICAgIElNb2R1bGVDb25maWcsXHJcbiAgICBMQU5HVUFHRV9TRVJWSUNFLFxyXG4gICAgUFJPTUlTRV9TRVJWSUNFLFxyXG4gICAgUk9PVF9FTEVNRU5ULFxyXG4gICAgVE9BU1RFUl9TRVJWSUNFXHJcbn0gZnJvbSBcIi4vY29tbW9uLXR5cGVzXCI7XHJcbmltcG9ydCB7Y29tcG9uZW50cywgZGlyZWN0aXZlcywgbG9hZENvbmZpZywgcGlwZXMsIHByb3ZpZGVyc30gZnJvbSBcIi4vbmd4LXV0aWxzLmltcG9ydHNcIjtcclxuaW1wb3J0IHtBcGlTZXJ2aWNlfSBmcm9tIFwiLi9zZXJ2aWNlcy9hcGkuc2VydmljZVwiO1xyXG5pbXBvcnQge1N0YXRpY0F1dGhTZXJ2aWNlfSBmcm9tIFwiLi9zZXJ2aWNlcy9hdXRoLnNlcnZpY2VcIjtcclxuaW1wb3J0IHtJY29uU2VydmljZX0gZnJvbSBcIi4vc2VydmljZXMvaWNvbi5zZXJ2aWNlXCI7XHJcbmltcG9ydCB7U3RhdGljTGFuZ3VhZ2VTZXJ2aWNlfSBmcm9tIFwiLi9zZXJ2aWNlcy9zdGF0aWMtbGFuZ3VhZ2Uuc2VydmljZVwiO1xyXG5pbXBvcnQge0NvbnNvbGVUb2FzdGVyU2VydmljZX0gZnJvbSBcIi4vc2VydmljZXMvdG9hc3Rlci5zZXJ2aWNlXCI7XHJcbmltcG9ydCB7UHJvbWlzZVNlcnZpY2V9IGZyb20gXCIuL3NlcnZpY2VzL3Byb21pc2Uuc2VydmljZVwiO1xyXG5pbXBvcnQge0NvbmZpZ1NlcnZpY2V9IGZyb20gXCIuL3NlcnZpY2VzL2NvbmZpZy5zZXJ2aWNlXCI7XHJcbmltcG9ydCB7R2xvYmFsVGVtcGxhdGVTZXJ2aWNlfSBmcm9tIFwiLi9zZXJ2aWNlcy9nbG9iYWwtdGVtcGxhdGUuc2VydmljZVwiO1xyXG5cclxuZXhwb3J0IGZ1bmN0aW9uIGxvYWRCYXNlVXJsKCk6IHN0cmluZyB7XHJcbiAgICBpZiAodHlwZW9mIChkb2N1bWVudCkgPT09IFwidW5kZWZpbmVkXCIgfHwgdHlwZW9mIChsb2NhdGlvbikgPT09IFwidW5kZWZpbmVkXCIpIHJldHVybiBcIi9cIjtcclxuICAgIGNvbnN0IGN1cnJlbnRTY3JpcHQgPSAoZG9jdW1lbnQuY3VycmVudFNjcmlwdCBhcyBIVE1MU2NyaXB0RWxlbWVudCk7XHJcbiAgICBpZiAoIWN1cnJlbnRTY3JpcHQpIHtcclxuICAgICAgICB0cnkge1xyXG4gICAgICAgICAgICAvLyBub2luc3BlY3Rpb24gRXhjZXB0aW9uQ2F1Z2h0TG9jYWxseUpTXHJcbiAgICAgICAgICAgIHRocm93IG5ldyBFcnJvcigpO1xyXG4gICAgICAgIH0gY2F0Y2ggKGUpIHtcclxuICAgICAgICAgICAgY29uc3QgcXVhbGlmaWVkVXJsID0gbG9jYXRpb24ucHJvdG9jb2wgKyBcIi8vXCIgKyBsb2NhdGlvbi5ob3N0O1xyXG4gICAgICAgICAgICBjb25zdCBzdGFjayA9IChlLnN0YWNrIHx8IFwiXCIpIGFzIHN0cmluZztcclxuICAgICAgICAgICAgY29uc3Qgc3JjVXJsID0gKHN0YWNrLm1hdGNoKG5ldyBSZWdFeHAocXVhbGlmaWVkVXJsICsgXCIuKj9cXFxcLmpzXCIsIFwiZ1wiKSkgfHwgc3RhY2subWF0Y2goL2h0dHAoW0EtWjpcXC9cXC0uXSspXFwuanMvZ2kpKS5zaGlmdCgpO1xyXG4gICAgICAgICAgICBjb25zdCBsYXN0SW5kZXggPSBzcmNVcmwubGFzdEluZGV4T2YoXCIvXCIpO1xyXG4gICAgICAgICAgICByZXR1cm4gbGFzdEluZGV4IDwgMCA/IFwiL1wiIDogc3JjVXJsLnN1YnN0cmluZygwLCBsYXN0SW5kZXggKyAxKTtcclxuICAgICAgICB9XHJcbiAgICB9XHJcbiAgICBjb25zdCBzY3JpcHRTcmMgPSBjdXJyZW50U2NyaXB0LnNyYztcclxuICAgIGNvbnN0IGxhc3RJbmRleCA9IHNjcmlwdFNyYy5sYXN0SW5kZXhPZihcIi9cIik7XHJcbiAgICByZXR1cm4gbGFzdEluZGV4IDwgMCA/IFwiL1wiIDogc2NyaXB0U3JjLnN1YnN0cmluZygwLCBsYXN0SW5kZXggKyAxKTtcclxufVxyXG5cclxuZXhwb3J0IGZ1bmN0aW9uIGxvYWRCYXNlSHJlZihiYXNlVXJsOiBzdHJpbmcpOiBzdHJpbmcge1xyXG4gICAgdHJ5IHtcclxuICAgICAgICByZXR1cm4gbmV3IFVSTChiYXNlVXJsKS5wYXRobmFtZTtcclxuICAgIH0gY2F0Y2ggKGUpIHtcclxuICAgICAgICBjb25zb2xlLmxvZyhlKTtcclxuICAgICAgICByZXR1cm4gXCIvXCI7XHJcbiAgICB9XHJcbn1cclxuXHJcbkBOZ01vZHVsZSh7XHJcbiAgICBkZWNsYXJhdGlvbnM6IFtcclxuICAgICAgICAuLi5waXBlcyxcclxuICAgICAgICAuLi5kaXJlY3RpdmVzLFxyXG4gICAgICAgIC4uLmNvbXBvbmVudHNcclxuICAgIF0sXHJcbiAgICBpbXBvcnRzOiBbXHJcbiAgICAgICAgQ29tbW9uTW9kdWxlLFxyXG4gICAgICAgIEZvcm1zTW9kdWxlXHJcbiAgICBdLFxyXG4gICAgZXhwb3J0czogW1xyXG4gICAgICAgIC4uLnBpcGVzLFxyXG4gICAgICAgIC4uLmRpcmVjdGl2ZXMsXHJcbiAgICAgICAgLi4uY29tcG9uZW50cyxcclxuICAgICAgICBGb3Jtc01vZHVsZVxyXG4gICAgXSxcclxuICAgIHByb3ZpZGVyczogcGlwZXNcclxufSlcclxuZXhwb3J0IGNsYXNzIE5neFV0aWxzTW9kdWxlIHtcclxuXHJcbiAgICBzdGF0aWMgZm9yUm9vdChjb25maWc/OiBJTW9kdWxlQ29uZmlnKTogTW9kdWxlV2l0aFByb3ZpZGVyczxOZ3hVdGlsc01vZHVsZT4ge1xyXG4gICAgICAgIHJldHVybiB7XHJcbiAgICAgICAgICAgIG5nTW9kdWxlOiBOZ3hVdGlsc01vZHVsZSxcclxuICAgICAgICAgICAgcHJvdmlkZXJzOiBbXHJcbiAgICAgICAgICAgICAgICAuLi5wcm92aWRlcnMsXHJcbiAgICAgICAgICAgICAgICB7XHJcbiAgICAgICAgICAgICAgICAgICAgcHJvdmlkZTogQVBJX1NFUlZJQ0UsXHJcbiAgICAgICAgICAgICAgICAgICAgdXNlRXhpc3Rpbmc6ICghY29uZmlnID8gbnVsbCA6IGNvbmZpZy5hcGlTZXJ2aWNlKSB8fCBBcGlTZXJ2aWNlXHJcbiAgICAgICAgICAgICAgICB9LFxyXG4gICAgICAgICAgICAgICAge1xyXG4gICAgICAgICAgICAgICAgICAgIHByb3ZpZGU6IEFVVEhfU0VSVklDRSxcclxuICAgICAgICAgICAgICAgICAgICB1c2VFeGlzdGluZzogKCFjb25maWcgPyBudWxsIDogY29uZmlnLmF1dGhTZXJ2aWNlKSB8fCBTdGF0aWNBdXRoU2VydmljZVxyXG4gICAgICAgICAgICAgICAgfSxcclxuICAgICAgICAgICAgICAgIHtcclxuICAgICAgICAgICAgICAgICAgICBwcm92aWRlOiBJQ09OX1NFUlZJQ0UsXHJcbiAgICAgICAgICAgICAgICAgICAgdXNlRXhpc3Rpbmc6ICghY29uZmlnID8gbnVsbCA6IGNvbmZpZy5pY29uU2VydmljZSkgfHwgSWNvblNlcnZpY2VcclxuICAgICAgICAgICAgICAgIH0sXHJcbiAgICAgICAgICAgICAgICB7XHJcbiAgICAgICAgICAgICAgICAgICAgcHJvdmlkZTogTEFOR1VBR0VfU0VSVklDRSxcclxuICAgICAgICAgICAgICAgICAgICB1c2VFeGlzdGluZzogKCFjb25maWcgPyBudWxsIDogY29uZmlnLmxhbmd1YWdlU2VydmljZSkgfHwgU3RhdGljTGFuZ3VhZ2VTZXJ2aWNlXHJcbiAgICAgICAgICAgICAgICB9LFxyXG4gICAgICAgICAgICAgICAge1xyXG4gICAgICAgICAgICAgICAgICAgIHByb3ZpZGU6IFRPQVNURVJfU0VSVklDRSxcclxuICAgICAgICAgICAgICAgICAgICB1c2VFeGlzdGluZzogKCFjb25maWcgPyBudWxsIDogY29uZmlnLnRvYXN0ZXJTZXJ2aWNlKSB8fCBDb25zb2xlVG9hc3RlclNlcnZpY2VcclxuICAgICAgICAgICAgICAgIH0sXHJcbiAgICAgICAgICAgICAgICB7XHJcbiAgICAgICAgICAgICAgICAgICAgcHJvdmlkZTogUFJPTUlTRV9TRVJWSUNFLFxyXG4gICAgICAgICAgICAgICAgICAgIHVzZUV4aXN0aW5nOiAoIWNvbmZpZyA/IG51bGwgOiBjb25maWcucHJvbWlzZVNlcnZpY2UpIHx8IFByb21pc2VTZXJ2aWNlXHJcbiAgICAgICAgICAgICAgICB9LFxyXG4gICAgICAgICAgICAgICAge1xyXG4gICAgICAgICAgICAgICAgICAgIHByb3ZpZGU6IENPTkZJR19TRVJWSUNFLFxyXG4gICAgICAgICAgICAgICAgICAgIHVzZUV4aXN0aW5nOiAoIWNvbmZpZyA/IG51bGwgOiBjb25maWcuY29uZmlnU2VydmljZSkgfHwgQ29uZmlnU2VydmljZVxyXG4gICAgICAgICAgICAgICAgfSxcclxuICAgICAgICAgICAgICAgIHtcclxuICAgICAgICAgICAgICAgICAgICBwcm92aWRlOiBHTE9CQUxfVEVNUExBVEVTLFxyXG4gICAgICAgICAgICAgICAgICAgIHVzZUV4aXN0aW5nOiAoIWNvbmZpZyA/IG51bGwgOiBjb25maWcuZ2xvYmFsVGVtcGxhdGVzKSB8fCBHbG9iYWxUZW1wbGF0ZVNlcnZpY2VcclxuICAgICAgICAgICAgICAgIH0sXHJcbiAgICAgICAgICAgICAgICB7XHJcbiAgICAgICAgICAgICAgICAgICAgcHJvdmlkZTogQVBQX0JBU0VfVVJMLFxyXG4gICAgICAgICAgICAgICAgICAgIHVzZUZhY3Rvcnk6ICghY29uZmlnID8gbnVsbCA6IGNvbmZpZy5iYXNlVXJsKSB8fCBsb2FkQmFzZVVybCxcclxuICAgICAgICAgICAgICAgICAgICBkZXBzOiBbSW5qZWN0b3JdXHJcbiAgICAgICAgICAgICAgICB9LFxyXG4gICAgICAgICAgICAgICAge1xyXG4gICAgICAgICAgICAgICAgICAgIHByb3ZpZGU6IFJPT1RfRUxFTUVOVCxcclxuICAgICAgICAgICAgICAgICAgICB1c2VWYWx1ZTogbnVsbFxyXG4gICAgICAgICAgICAgICAgfSxcclxuICAgICAgICAgICAgICAgIHtcclxuICAgICAgICAgICAgICAgICAgICBwcm92aWRlOiBBUFBfSU5JVElBTElaRVIsXHJcbiAgICAgICAgICAgICAgICAgICAgdXNlRmFjdG9yeTogKCFjb25maWcgPyBudWxsIDogY29uZmlnLmluaXRpYWxpemVBcHApIHx8IGxvYWRDb25maWcsXHJcbiAgICAgICAgICAgICAgICAgICAgbXVsdGk6IHRydWUsXHJcbiAgICAgICAgICAgICAgICAgICAgZGVwczogWyghY29uZmlnID8gbnVsbCA6IGNvbmZpZy5pbml0aWFsaXplQXBwKSA/IEluamVjdG9yIDogQ09ORklHX1NFUlZJQ0VdXHJcbiAgICAgICAgICAgICAgICB9LFxyXG4gICAgICAgICAgICAgICAge1xyXG4gICAgICAgICAgICAgICAgICAgIHByb3ZpZGU6IEFQUF9CQVNFX0hSRUYsXHJcbiAgICAgICAgICAgICAgICAgICAgdXNlRmFjdG9yeTogbG9hZEJhc2VIcmVmLFxyXG4gICAgICAgICAgICAgICAgICAgIGRlcHM6IFtBUFBfQkFTRV9VUkxdXHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIF1cclxuICAgICAgICB9O1xyXG4gICAgfVxyXG5cclxuICAgIGNvbnN0cnVjdG9yKCkge1xyXG5cclxuICAgIH1cclxufVxyXG4iXX0=
@@ -0,0 +1,25 @@
1
+ import { Pipe } from "@angular/core";
2
+ import * as i0 from "@angular/core";
3
+ export class ChunkPipe {
4
+ transform(items, count) {
5
+ const result = [];
6
+ let subResult = null;
7
+ items.forEach((item, index) => {
8
+ if (index % count == 0) {
9
+ subResult = [];
10
+ result.push(subResult);
11
+ }
12
+ subResult.push(item);
13
+ });
14
+ return result;
15
+ }
16
+ }
17
+ ChunkPipe.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.8", ngImport: i0, type: ChunkPipe, deps: [], target: i0.ɵɵFactoryTarget.Pipe });
18
+ ChunkPipe.ɵpipe = i0.ɵɵngDeclarePipe({ minVersion: "12.0.0", version: "13.3.8", ngImport: i0, type: ChunkPipe, name: "chunk" });
19
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.8", ngImport: i0, type: ChunkPipe, decorators: [{
20
+ type: Pipe,
21
+ args: [{
22
+ name: "chunk"
23
+ }]
24
+ }] });
25
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2h1bmsucGlwZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3NyYy9uZ3gtdXRpbHMvcGlwZXMvY2h1bmsucGlwZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUMsSUFBSSxFQUFnQixNQUFNLGVBQWUsQ0FBQzs7QUFLbEQsTUFBTSxPQUFPLFNBQVM7SUFDbEIsU0FBUyxDQUFDLEtBQVksRUFBRSxLQUFhO1FBQ2pDLE1BQU0sTUFBTSxHQUFVLEVBQUUsQ0FBQztRQUN6QixJQUFJLFNBQVMsR0FBVSxJQUFJLENBQUM7UUFDNUIsS0FBSyxDQUFDLE9BQU8sQ0FBQyxDQUFDLElBQUksRUFBRSxLQUFLLEVBQUUsRUFBRTtZQUMxQixJQUFJLEtBQUssR0FBRyxLQUFLLElBQUksQ0FBQyxFQUFFO2dCQUNwQixTQUFTLEdBQUcsRUFBRSxDQUFDO2dCQUNmLE1BQU0sQ0FBQyxJQUFJLENBQUMsU0FBUyxDQUFDLENBQUM7YUFDMUI7WUFDRCxTQUFTLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxDQUFDO1FBQ3pCLENBQUMsQ0FBQyxDQUFDO1FBQ0gsT0FBTyxNQUFNLENBQUM7SUFDbEIsQ0FBQzs7c0dBWlEsU0FBUztvR0FBVCxTQUFTOzJGQUFULFNBQVM7a0JBSHJCLElBQUk7bUJBQUM7b0JBQ0YsSUFBSSxFQUFFLE9BQU87aUJBQ2hCIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtQaXBlLCBQaXBlVHJhbnNmb3JtfSBmcm9tIFwiQGFuZ3VsYXIvY29yZVwiO1xyXG5cclxuQFBpcGUoe1xyXG4gICAgbmFtZTogXCJjaHVua1wiXHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBDaHVua1BpcGUgaW1wbGVtZW50cyBQaXBlVHJhbnNmb3JtIHtcclxuICAgIHRyYW5zZm9ybShpdGVtczogYW55W10sIGNvdW50OiBudW1iZXIpOiBhbnlbXSB7XHJcbiAgICAgICAgY29uc3QgcmVzdWx0OiBhbnlbXSA9IFtdO1xyXG4gICAgICAgIGxldCBzdWJSZXN1bHQ6IGFueVtdID0gbnVsbDtcclxuICAgICAgICBpdGVtcy5mb3JFYWNoKChpdGVtLCBpbmRleCkgPT4ge1xyXG4gICAgICAgICAgICBpZiAoaW5kZXggJSBjb3VudCA9PSAwKSB7XHJcbiAgICAgICAgICAgICAgICBzdWJSZXN1bHQgPSBbXTtcclxuICAgICAgICAgICAgICAgIHJlc3VsdC5wdXNoKHN1YlJlc3VsdCk7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgc3ViUmVzdWx0LnB1c2goaXRlbSk7XHJcbiAgICAgICAgfSk7XHJcbiAgICAgICAgcmV0dXJuIHJlc3VsdDtcclxuICAgIH1cclxufVxyXG4iXX0=
@@ -0,0 +1,28 @@
1
+ import { Pipe } from "@angular/core";
2
+ import { ObjectUtils } from "../utils/object.utils";
3
+ import * as i0 from "@angular/core";
4
+ const emptyEntries = [];
5
+ export class EntriesPipe {
6
+ transform(value) {
7
+ if (!value)
8
+ return emptyEntries;
9
+ const entries = [];
10
+ ObjectUtils.iterate(value, (val, key) => {
11
+ entries.push({
12
+ key: key,
13
+ value: val,
14
+ index: entries.length
15
+ });
16
+ });
17
+ return entries;
18
+ }
19
+ }
20
+ EntriesPipe.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.8", ngImport: i0, type: EntriesPipe, deps: [], target: i0.ɵɵFactoryTarget.Pipe });
21
+ EntriesPipe.ɵpipe = i0.ɵɵngDeclarePipe({ minVersion: "12.0.0", version: "13.3.8", ngImport: i0, type: EntriesPipe, name: "entries" });
22
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.8", ngImport: i0, type: EntriesPipe, decorators: [{
23
+ type: Pipe,
24
+ args: [{
25
+ name: "entries"
26
+ }]
27
+ }] });
28
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZW50cmllcy5waXBlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vc3JjL25neC11dGlscy9waXBlcy9lbnRyaWVzLnBpcGUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFDLElBQUksRUFBZ0IsTUFBTSxlQUFlLENBQUM7QUFDbEQsT0FBTyxFQUFDLFdBQVcsRUFBQyxNQUFNLHVCQUF1QixDQUFDOztBQVFsRCxNQUFNLFlBQVksR0FBYSxFQUFFLENBQUM7QUFLbEMsTUFBTSxPQUFPLFdBQVc7SUFFcEIsU0FBUyxDQUFDLEtBQVU7UUFDaEIsSUFBSSxDQUFDLEtBQUs7WUFBRSxPQUFPLFlBQVksQ0FBQztRQUNoQyxNQUFNLE9BQU8sR0FBYSxFQUFFLENBQUM7UUFDN0IsV0FBVyxDQUFDLE9BQU8sQ0FBQyxLQUFLLEVBQUUsQ0FBQyxHQUFHLEVBQUUsR0FBRyxFQUFFLEVBQUU7WUFDcEMsT0FBTyxDQUFDLElBQUksQ0FBQztnQkFDVCxHQUFHLEVBQUUsR0FBRztnQkFDUixLQUFLLEVBQUUsR0FBRztnQkFDVixLQUFLLEVBQUUsT0FBTyxDQUFDLE1BQU07YUFDeEIsQ0FBQyxDQUFDO1FBQ1AsQ0FBQyxDQUFDLENBQUM7UUFDSCxPQUFPLE9BQU8sQ0FBQztJQUNuQixDQUFDOzt3R0FiUSxXQUFXO3NHQUFYLFdBQVc7MkZBQVgsV0FBVztrQkFIdkIsSUFBSTttQkFBQztvQkFDRixJQUFJLEVBQUUsU0FBUztpQkFDbEIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge1BpcGUsIFBpcGVUcmFuc2Zvcm19IGZyb20gXCJAYW5ndWxhci9jb3JlXCI7XHJcbmltcG9ydCB7T2JqZWN0VXRpbHN9IGZyb20gXCIuLi91dGlscy9vYmplY3QudXRpbHNcIjtcclxuXHJcbmV4cG9ydCBpbnRlcmZhY2UgSUVudHJ5IHtcclxuICAgIGtleTogc3RyaW5nO1xyXG4gICAgdmFsdWU6IGFueTtcclxuICAgIGluZGV4OiBudW1iZXI7XHJcbn1cclxuXHJcbmNvbnN0IGVtcHR5RW50cmllczogSUVudHJ5W10gPSBbXTtcclxuXHJcbkBQaXBlKHtcclxuICAgIG5hbWU6IFwiZW50cmllc1wiXHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBFbnRyaWVzUGlwZSBpbXBsZW1lbnRzIFBpcGVUcmFuc2Zvcm0ge1xyXG5cclxuICAgIHRyYW5zZm9ybSh2YWx1ZTogYW55KTogSUVudHJ5W10ge1xyXG4gICAgICAgIGlmICghdmFsdWUpIHJldHVybiBlbXB0eUVudHJpZXM7XHJcbiAgICAgICAgY29uc3QgZW50cmllczogSUVudHJ5W10gPSBbXTtcclxuICAgICAgICBPYmplY3RVdGlscy5pdGVyYXRlKHZhbHVlLCAodmFsLCBrZXkpID0+IHtcclxuICAgICAgICAgICAgZW50cmllcy5wdXNoKHtcclxuICAgICAgICAgICAgICAgIGtleToga2V5LFxyXG4gICAgICAgICAgICAgICAgdmFsdWU6IHZhbCxcclxuICAgICAgICAgICAgICAgIGluZGV4OiBlbnRyaWVzLmxlbmd0aFxyXG4gICAgICAgICAgICB9KTtcclxuICAgICAgICB9KTtcclxuICAgICAgICByZXR1cm4gZW50cmllcztcclxuICAgIH1cclxufVxyXG4iXX0=
@@ -0,0 +1,31 @@
1
+ import { Pipe } from "@angular/core";
2
+ import { ObjectUtils } from "../utils/object.utils";
3
+ import * as i0 from "@angular/core";
4
+ export class ExtraItemPropertiesPipe {
5
+ transform(items, properties, params = {}) {
6
+ const keys = Object.keys(properties);
7
+ keys.forEach(key => {
8
+ const value = properties[key];
9
+ properties[key] = ObjectUtils.isFunction(value) ? value : (item, index, params) => {
10
+ return ObjectUtils.evaluate(value, {
11
+ item: item,
12
+ index: index,
13
+ params: params
14
+ });
15
+ };
16
+ });
17
+ return (items || []).map((item, index) => keys.reduce((result, key) => {
18
+ result[key] = properties[key](item, index, params);
19
+ return result;
20
+ }, { ...item }));
21
+ }
22
+ }
23
+ ExtraItemPropertiesPipe.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.8", ngImport: i0, type: ExtraItemPropertiesPipe, deps: [], target: i0.ɵɵFactoryTarget.Pipe });
24
+ ExtraItemPropertiesPipe.ɵpipe = i0.ɵɵngDeclarePipe({ minVersion: "12.0.0", version: "13.3.8", ngImport: i0, type: ExtraItemPropertiesPipe, name: "extraItemProperties" });
25
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.8", ngImport: i0, type: ExtraItemPropertiesPipe, decorators: [{
26
+ type: Pipe,
27
+ args: [{
28
+ name: "extraItemProperties"
29
+ }]
30
+ }] });
31
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZXh0cmEtaXRlbS1wcm9wZXJ0aWVzLnBpcGUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9zcmMvbmd4LXV0aWxzL3BpcGVzL2V4dHJhLWl0ZW0tcHJvcGVydGllcy5waXBlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBQyxJQUFJLEVBQWdCLE1BQU0sZUFBZSxDQUFDO0FBRWxELE9BQU8sRUFBQyxXQUFXLEVBQUMsTUFBTSx1QkFBdUIsQ0FBQzs7QUFLbEQsTUFBTSxPQUFPLHVCQUF1QjtJQUNoQyxTQUFTLENBQUMsS0FBWSxFQUFFLFVBQTRCLEVBQUUsU0FBYyxFQUFFO1FBQ2xFLE1BQU0sSUFBSSxHQUFHLE1BQU0sQ0FBQyxJQUFJLENBQUMsVUFBVSxDQUFDLENBQUM7UUFDckMsSUFBSSxDQUFDLE9BQU8sQ0FBQyxHQUFHLENBQUMsRUFBRTtZQUNmLE1BQU0sS0FBSyxHQUFHLFVBQVUsQ0FBQyxHQUFHLENBQUMsQ0FBQztZQUM5QixVQUFVLENBQUMsR0FBRyxDQUFDLEdBQUcsV0FBVyxDQUFDLFVBQVUsQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUksRUFBRSxLQUFLLEVBQUUsTUFBTSxFQUFFLEVBQUU7Z0JBQzlFLE9BQU8sV0FBVyxDQUFDLFFBQVEsQ0FBQyxLQUFLLEVBQUU7b0JBQy9CLElBQUksRUFBRSxJQUFJO29CQUNWLEtBQUssRUFBRSxLQUFLO29CQUNaLE1BQU0sRUFBRSxNQUFNO2lCQUNqQixDQUFDLENBQUM7WUFDUCxDQUFDLENBQUM7UUFDTixDQUFDLENBQUMsQ0FBQztRQUNILE9BQU8sQ0FBQyxLQUFLLElBQUksRUFBRSxDQUFDLENBQUMsR0FBRyxDQUFDLENBQUMsSUFBSSxFQUFFLEtBQUssRUFBRSxFQUFFLENBQUMsSUFBSSxDQUFDLE1BQU0sQ0FBQyxDQUFDLE1BQU0sRUFBRSxHQUFHLEVBQUUsRUFBRTtZQUNsRSxNQUFNLENBQUMsR0FBRyxDQUFDLEdBQUcsVUFBVSxDQUFDLEdBQUcsQ0FBQyxDQUFDLElBQUksRUFBRSxLQUFLLEVBQUUsTUFBTSxDQUFDLENBQUM7WUFDbkQsT0FBTyxNQUFNLENBQUM7UUFDbEIsQ0FBQyxFQUFFLEVBQUMsR0FBRyxJQUFJLEVBQUMsQ0FBQyxDQUFDLENBQUM7SUFDbkIsQ0FBQzs7b0hBakJRLHVCQUF1QjtrSEFBdkIsdUJBQXVCOzJGQUF2Qix1QkFBdUI7a0JBSG5DLElBQUk7bUJBQUM7b0JBQ0YsSUFBSSxFQUFFLHFCQUFxQjtpQkFDOUIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge1BpcGUsIFBpcGVUcmFuc2Zvcm19IGZyb20gXCJAYW5ndWxhci9jb3JlXCI7XHJcbmltcG9ydCB7SUV4dHJhUHJvcGVydGllc30gZnJvbSBcIi4uL2NvbW1vbi10eXBlc1wiO1xyXG5pbXBvcnQge09iamVjdFV0aWxzfSBmcm9tIFwiLi4vdXRpbHMvb2JqZWN0LnV0aWxzXCI7XHJcblxyXG5AUGlwZSh7XHJcbiAgICBuYW1lOiBcImV4dHJhSXRlbVByb3BlcnRpZXNcIlxyXG59KVxyXG5leHBvcnQgY2xhc3MgRXh0cmFJdGVtUHJvcGVydGllc1BpcGUgaW1wbGVtZW50cyBQaXBlVHJhbnNmb3JtIHtcclxuICAgIHRyYW5zZm9ybShpdGVtczogYW55W10sIHByb3BlcnRpZXM6IElFeHRyYVByb3BlcnRpZXMsIHBhcmFtczogYW55ID0ge30pOiBhbnlbXSB7XHJcbiAgICAgICAgY29uc3Qga2V5cyA9IE9iamVjdC5rZXlzKHByb3BlcnRpZXMpO1xyXG4gICAgICAgIGtleXMuZm9yRWFjaChrZXkgPT4ge1xyXG4gICAgICAgICAgICBjb25zdCB2YWx1ZSA9IHByb3BlcnRpZXNba2V5XTtcclxuICAgICAgICAgICAgcHJvcGVydGllc1trZXldID0gT2JqZWN0VXRpbHMuaXNGdW5jdGlvbih2YWx1ZSkgPyB2YWx1ZSA6IChpdGVtLCBpbmRleCwgcGFyYW1zKSA9PiB7XHJcbiAgICAgICAgICAgICAgICByZXR1cm4gT2JqZWN0VXRpbHMuZXZhbHVhdGUodmFsdWUsIHtcclxuICAgICAgICAgICAgICAgICAgICBpdGVtOiBpdGVtLFxyXG4gICAgICAgICAgICAgICAgICAgIGluZGV4OiBpbmRleCxcclxuICAgICAgICAgICAgICAgICAgICBwYXJhbXM6IHBhcmFtc1xyXG4gICAgICAgICAgICAgICAgfSk7XHJcbiAgICAgICAgICAgIH07XHJcbiAgICAgICAgfSk7XHJcbiAgICAgICAgcmV0dXJuIChpdGVtcyB8fCBbXSkubWFwKChpdGVtLCBpbmRleCkgPT4ga2V5cy5yZWR1Y2UoKHJlc3VsdCwga2V5KSA9PiB7XHJcbiAgICAgICAgICAgIHJlc3VsdFtrZXldID0gcHJvcGVydGllc1trZXldKGl0ZW0sIGluZGV4LCBwYXJhbXMpO1xyXG4gICAgICAgICAgICByZXR1cm4gcmVzdWx0O1xyXG4gICAgICAgIH0sIHsuLi5pdGVtfSkpO1xyXG4gICAgfVxyXG59XHJcbiJdfQ==
@@ -0,0 +1,42 @@
1
+ import { Pipe } from "@angular/core";
2
+ import { ObjectUtils } from "../utils/object.utils";
3
+ import * as i0 from "@angular/core";
4
+ export function defaultFilter() {
5
+ return true;
6
+ }
7
+ export class FilterPipe {
8
+ transform(values, filter = defaultFilter, params = {}) {
9
+ const isObject = ObjectUtils.isObject(values);
10
+ if (!isObject && !ObjectUtils.isArray(values))
11
+ return [];
12
+ const filterFunc = ObjectUtils.isFunction(filter) ? filter : (value, key, params) => {
13
+ return ObjectUtils.evaluate(filter, {
14
+ value: value,
15
+ key: key,
16
+ item: value,
17
+ index: key,
18
+ params: params
19
+ });
20
+ };
21
+ if (isObject) {
22
+ return Object.keys(values).filter(key => {
23
+ return filterFunc(values[key], key, params);
24
+ }).reduce((result, key) => {
25
+ result[key] = values[key];
26
+ return result;
27
+ }, {});
28
+ }
29
+ return values.filter((value, key) => {
30
+ return filterFunc(value, key, params);
31
+ });
32
+ }
33
+ }
34
+ FilterPipe.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.8", ngImport: i0, type: FilterPipe, deps: [], target: i0.ɵɵFactoryTarget.Pipe });
35
+ FilterPipe.ɵpipe = i0.ɵɵngDeclarePipe({ minVersion: "12.0.0", version: "13.3.8", ngImport: i0, type: FilterPipe, name: "filter" });
36
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.8", ngImport: i0, type: FilterPipe, decorators: [{
37
+ type: Pipe,
38
+ args: [{
39
+ name: "filter"
40
+ }]
41
+ }] });
42
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZmlsdGVyLnBpcGUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9zcmMvbmd4LXV0aWxzL3BpcGVzL2ZpbHRlci5waXBlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBQyxJQUFJLEVBQWdCLE1BQU0sZUFBZSxDQUFDO0FBQ2xELE9BQU8sRUFBQyxXQUFXLEVBQUMsTUFBTSx1QkFBdUIsQ0FBQzs7QUFFbEQsTUFBTSxVQUFVLGFBQWE7SUFDekIsT0FBTyxJQUFJLENBQUM7QUFDaEIsQ0FBQztBQUtELE1BQU0sT0FBTyxVQUFVO0lBQ25CLFNBQVMsQ0FBQyxNQUFXLEVBQUUsU0FBYyxhQUFhLEVBQUUsU0FBYyxFQUFFO1FBQ2hFLE1BQU0sUUFBUSxHQUFHLFdBQVcsQ0FBQyxRQUFRLENBQUMsTUFBTSxDQUFDLENBQUM7UUFDOUMsSUFBSSxDQUFDLFFBQVEsSUFBSSxDQUFDLFdBQVcsQ0FBQyxPQUFPLENBQUMsTUFBTSxDQUFDO1lBQUUsT0FBTyxFQUFFLENBQUM7UUFDekQsTUFBTSxVQUFVLEdBQUcsV0FBVyxDQUFDLFVBQVUsQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQyxDQUFDLEtBQUssRUFBRSxHQUFHLEVBQUUsTUFBTSxFQUFFLEVBQUU7WUFDaEYsT0FBTyxXQUFXLENBQUMsUUFBUSxDQUFDLE1BQU0sRUFBRTtnQkFDaEMsS0FBSyxFQUFFLEtBQUs7Z0JBQ1osR0FBRyxFQUFFLEdBQUc7Z0JBQ1IsSUFBSSxFQUFFLEtBQUs7Z0JBQ1gsS0FBSyxFQUFFLEdBQUc7Z0JBQ1YsTUFBTSxFQUFFLE1BQU07YUFDakIsQ0FBQyxDQUFDO1FBQ1AsQ0FBQyxDQUFDO1FBQ0YsSUFBSSxRQUFRLEVBQUU7WUFDVixPQUFPLE1BQU0sQ0FBQyxJQUFJLENBQUMsTUFBTSxDQUFDLENBQUMsTUFBTSxDQUFDLEdBQUcsQ0FBQyxFQUFFO2dCQUNwQyxPQUFPLFVBQVUsQ0FBQyxNQUFNLENBQUMsR0FBRyxDQUFDLEVBQUUsR0FBRyxFQUFFLE1BQU0sQ0FBQyxDQUFDO1lBQ2hELENBQUMsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxDQUFDLE1BQU0sRUFBRSxHQUFHLEVBQUUsRUFBRTtnQkFDdEIsTUFBTSxDQUFDLEdBQUcsQ0FBQyxHQUFHLE1BQU0sQ0FBQyxHQUFHLENBQUMsQ0FBQztnQkFDMUIsT0FBTyxNQUFNLENBQUM7WUFDbEIsQ0FBQyxFQUFFLEVBQUUsQ0FBQyxDQUFBO1NBQ1Q7UUFDRCxPQUFPLE1BQU0sQ0FBQyxNQUFNLENBQUMsQ0FBQyxLQUFLLEVBQUUsR0FBRyxFQUFFLEVBQUU7WUFDaEMsT0FBTyxVQUFVLENBQUMsS0FBSyxFQUFFLEdBQUcsRUFBRSxNQUFNLENBQUMsQ0FBQztRQUMxQyxDQUFDLENBQUMsQ0FBQztJQUNQLENBQUM7O3VHQXhCUSxVQUFVO3FHQUFWLFVBQVU7MkZBQVYsVUFBVTtrQkFIdEIsSUFBSTttQkFBQztvQkFDRixJQUFJLEVBQUUsUUFBUTtpQkFDakIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge1BpcGUsIFBpcGVUcmFuc2Zvcm19IGZyb20gXCJAYW5ndWxhci9jb3JlXCI7XHJcbmltcG9ydCB7T2JqZWN0VXRpbHN9IGZyb20gXCIuLi91dGlscy9vYmplY3QudXRpbHNcIjtcclxuXHJcbmV4cG9ydCBmdW5jdGlvbiBkZWZhdWx0RmlsdGVyKCkge1xyXG4gICAgcmV0dXJuIHRydWU7XHJcbn1cclxuXHJcbkBQaXBlKHtcclxuICAgIG5hbWU6IFwiZmlsdGVyXCJcclxufSlcclxuZXhwb3J0IGNsYXNzIEZpbHRlclBpcGUgaW1wbGVtZW50cyBQaXBlVHJhbnNmb3JtIHtcclxuICAgIHRyYW5zZm9ybSh2YWx1ZXM6IGFueSwgZmlsdGVyOiBhbnkgPSBkZWZhdWx0RmlsdGVyLCBwYXJhbXM6IGFueSA9IHt9KTogYW55IHtcclxuICAgICAgICBjb25zdCBpc09iamVjdCA9IE9iamVjdFV0aWxzLmlzT2JqZWN0KHZhbHVlcyk7XHJcbiAgICAgICAgaWYgKCFpc09iamVjdCAmJiAhT2JqZWN0VXRpbHMuaXNBcnJheSh2YWx1ZXMpKSByZXR1cm4gW107XHJcbiAgICAgICAgY29uc3QgZmlsdGVyRnVuYyA9IE9iamVjdFV0aWxzLmlzRnVuY3Rpb24oZmlsdGVyKSA/IGZpbHRlciA6ICh2YWx1ZSwga2V5LCBwYXJhbXMpID0+IHtcclxuICAgICAgICAgICAgcmV0dXJuIE9iamVjdFV0aWxzLmV2YWx1YXRlKGZpbHRlciwge1xyXG4gICAgICAgICAgICAgICAgdmFsdWU6IHZhbHVlLFxyXG4gICAgICAgICAgICAgICAga2V5OiBrZXksXHJcbiAgICAgICAgICAgICAgICBpdGVtOiB2YWx1ZSxcclxuICAgICAgICAgICAgICAgIGluZGV4OiBrZXksXHJcbiAgICAgICAgICAgICAgICBwYXJhbXM6IHBhcmFtc1xyXG4gICAgICAgICAgICB9KTtcclxuICAgICAgICB9O1xyXG4gICAgICAgIGlmIChpc09iamVjdCkge1xyXG4gICAgICAgICAgICByZXR1cm4gT2JqZWN0LmtleXModmFsdWVzKS5maWx0ZXIoa2V5ID0+IHtcclxuICAgICAgICAgICAgICAgIHJldHVybiBmaWx0ZXJGdW5jKHZhbHVlc1trZXldLCBrZXksIHBhcmFtcyk7XHJcbiAgICAgICAgICAgIH0pLnJlZHVjZSgocmVzdWx0LCBrZXkpID0+IHtcclxuICAgICAgICAgICAgICAgIHJlc3VsdFtrZXldID0gdmFsdWVzW2tleV07XHJcbiAgICAgICAgICAgICAgICByZXR1cm4gcmVzdWx0O1xyXG4gICAgICAgICAgICB9LCB7fSlcclxuICAgICAgICB9XHJcbiAgICAgICAgcmV0dXJuIHZhbHVlcy5maWx0ZXIoKHZhbHVlLCBrZXkpID0+IHtcclxuICAgICAgICAgICAgcmV0dXJuIGZpbHRlckZ1bmModmFsdWUsIGtleSwgcGFyYW1zKTtcclxuICAgICAgICB9KTtcclxuICAgIH1cclxufVxyXG4iXX0=
@@ -0,0 +1,29 @@
1
+ import { Pipe } from "@angular/core";
2
+ import { ObjectUtils } from "../utils/object.utils";
3
+ import * as i0 from "@angular/core";
4
+ export function defaultFilter() {
5
+ return true;
6
+ }
7
+ export class FindPipe {
8
+ transform(values, filter = defaultFilter, params = {}) {
9
+ if (!ObjectUtils.isArray(values))
10
+ return [];
11
+ const filterFunc = ObjectUtils.isFunction(filter) ? filter : (value, index, params) => {
12
+ return ObjectUtils.evaluate(filter, {
13
+ value: value,
14
+ index: index,
15
+ params: params
16
+ });
17
+ };
18
+ return values.find((value, index) => filterFunc(value, index, params));
19
+ }
20
+ }
21
+ FindPipe.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.8", ngImport: i0, type: FindPipe, deps: [], target: i0.ɵɵFactoryTarget.Pipe });
22
+ FindPipe.ɵpipe = i0.ɵɵngDeclarePipe({ minVersion: "12.0.0", version: "13.3.8", ngImport: i0, type: FindPipe, name: "find" });
23
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.8", ngImport: i0, type: FindPipe, decorators: [{
24
+ type: Pipe,
25
+ args: [{
26
+ name: "find"
27
+ }]
28
+ }] });
29
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZmluZC5waXBlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vc3JjL25neC11dGlscy9waXBlcy9maW5kLnBpcGUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFDLElBQUksRUFBZ0IsTUFBTSxlQUFlLENBQUM7QUFDbEQsT0FBTyxFQUFDLFdBQVcsRUFBQyxNQUFNLHVCQUF1QixDQUFDOztBQUVsRCxNQUFNLFVBQVUsYUFBYTtJQUN6QixPQUFPLElBQUksQ0FBQztBQUNoQixDQUFDO0FBS0QsTUFBTSxPQUFPLFFBQVE7SUFDakIsU0FBUyxDQUFDLE1BQWEsRUFBRSxTQUFjLGFBQWEsRUFBRSxTQUFjLEVBQUU7UUFDbEUsSUFBSSxDQUFDLFdBQVcsQ0FBQyxPQUFPLENBQUMsTUFBTSxDQUFDO1lBQUUsT0FBTyxFQUFFLENBQUM7UUFDNUMsTUFBTSxVQUFVLEdBQUcsV0FBVyxDQUFDLFVBQVUsQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQyxDQUFDLEtBQUssRUFBRSxLQUFLLEVBQUUsTUFBTSxFQUFFLEVBQUU7WUFDbEYsT0FBTyxXQUFXLENBQUMsUUFBUSxDQUFDLE1BQU0sRUFBRTtnQkFDaEMsS0FBSyxFQUFFLEtBQUs7Z0JBQ1osS0FBSyxFQUFFLEtBQUs7Z0JBQ1osTUFBTSxFQUFFLE1BQU07YUFDakIsQ0FBQyxDQUFDO1FBQ1AsQ0FBQyxDQUFDO1FBQ0YsT0FBTyxNQUFNLENBQUMsSUFBSSxDQUFDLENBQUMsS0FBSyxFQUFFLEtBQUssRUFBRSxFQUFFLENBQUMsVUFBVSxDQUFDLEtBQUssRUFBRSxLQUFLLEVBQUUsTUFBTSxDQUFDLENBQUMsQ0FBQztJQUMzRSxDQUFDOztxR0FYUSxRQUFRO21HQUFSLFFBQVE7MkZBQVIsUUFBUTtrQkFIcEIsSUFBSTttQkFBQztvQkFDRixJQUFJLEVBQUUsTUFBTTtpQkFDZiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7UGlwZSwgUGlwZVRyYW5zZm9ybX0gZnJvbSBcIkBhbmd1bGFyL2NvcmVcIjtcclxuaW1wb3J0IHtPYmplY3RVdGlsc30gZnJvbSBcIi4uL3V0aWxzL29iamVjdC51dGlsc1wiO1xyXG5cclxuZXhwb3J0IGZ1bmN0aW9uIGRlZmF1bHRGaWx0ZXIoKSB7XHJcbiAgICByZXR1cm4gdHJ1ZTtcclxufVxyXG5cclxuQFBpcGUoe1xyXG4gICAgbmFtZTogXCJmaW5kXCJcclxufSlcclxuZXhwb3J0IGNsYXNzIEZpbmRQaXBlIGltcGxlbWVudHMgUGlwZVRyYW5zZm9ybSB7XHJcbiAgICB0cmFuc2Zvcm0odmFsdWVzOiBhbnlbXSwgZmlsdGVyOiBhbnkgPSBkZWZhdWx0RmlsdGVyLCBwYXJhbXM6IGFueSA9IHt9KTogYW55W10ge1xyXG4gICAgICAgIGlmICghT2JqZWN0VXRpbHMuaXNBcnJheSh2YWx1ZXMpKSByZXR1cm4gW107XHJcbiAgICAgICAgY29uc3QgZmlsdGVyRnVuYyA9IE9iamVjdFV0aWxzLmlzRnVuY3Rpb24oZmlsdGVyKSA/IGZpbHRlciA6ICh2YWx1ZSwgaW5kZXgsIHBhcmFtcykgPT4ge1xyXG4gICAgICAgICAgICByZXR1cm4gT2JqZWN0VXRpbHMuZXZhbHVhdGUoZmlsdGVyLCB7XHJcbiAgICAgICAgICAgICAgICB2YWx1ZTogdmFsdWUsXHJcbiAgICAgICAgICAgICAgICBpbmRleDogaW5kZXgsXHJcbiAgICAgICAgICAgICAgICBwYXJhbXM6IHBhcmFtc1xyXG4gICAgICAgICAgICB9KTtcclxuICAgICAgICB9O1xyXG4gICAgICAgIHJldHVybiB2YWx1ZXMuZmluZCgodmFsdWUsIGluZGV4KSA9PiBmaWx0ZXJGdW5jKHZhbHVlLCBpbmRleCwgcGFyYW1zKSk7XHJcbiAgICB9XHJcbn1cclxuIl19
@@ -0,0 +1,21 @@
1
+ import { Pipe } from "@angular/core";
2
+ import { FormatterService } from "../services/formatter.service";
3
+ import * as i0 from "@angular/core";
4
+ import * as i1 from "../services/formatter.service";
5
+ export class FormatNumberPipe {
6
+ constructor(formatter) {
7
+ this.formatter = formatter;
8
+ }
9
+ transform(value, format, precision, divider) {
10
+ return this.formatter.formatNumber(value, format, precision, divider);
11
+ }
12
+ }
13
+ FormatNumberPipe.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.8", ngImport: i0, type: FormatNumberPipe, deps: [{ token: i1.FormatterService }], target: i0.ɵɵFactoryTarget.Pipe });
14
+ FormatNumberPipe.ɵpipe = i0.ɵɵngDeclarePipe({ minVersion: "12.0.0", version: "13.3.8", ngImport: i0, type: FormatNumberPipe, name: "formatNumber" });
15
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.8", ngImport: i0, type: FormatNumberPipe, decorators: [{
16
+ type: Pipe,
17
+ args: [{
18
+ name: "formatNumber"
19
+ }]
20
+ }], ctorParameters: function () { return [{ type: i1.FormatterService }]; } });
21
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZm9ybWF0LW51bWJlci5waXBlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vc3JjL25neC11dGlscy9waXBlcy9mb3JtYXQtbnVtYmVyLnBpcGUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFDLElBQUksRUFBZ0IsTUFBTSxlQUFlLENBQUM7QUFDbEQsT0FBTyxFQUFDLGdCQUFnQixFQUFDLE1BQU0sK0JBQStCLENBQUM7OztBQUsvRCxNQUFNLE9BQU8sZ0JBQWdCO0lBRXpCLFlBQW9CLFNBQTJCO1FBQTNCLGNBQVMsR0FBVCxTQUFTLENBQWtCO0lBQy9DLENBQUM7SUFFRCxTQUFTLENBQUMsS0FBYSxFQUFFLE1BQWUsRUFBRSxTQUFrQixFQUFFLE9BQWdCO1FBQzFFLE9BQU8sSUFBSSxDQUFDLFNBQVMsQ0FBQyxZQUFZLENBQUMsS0FBSyxFQUFFLE1BQU0sRUFBRSxTQUFTLEVBQUUsT0FBTyxDQUFDLENBQUM7SUFDMUUsQ0FBQzs7NkdBUFEsZ0JBQWdCOzJHQUFoQixnQkFBZ0I7MkZBQWhCLGdCQUFnQjtrQkFINUIsSUFBSTttQkFBQztvQkFDRixJQUFJLEVBQUUsY0FBYztpQkFDdkIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge1BpcGUsIFBpcGVUcmFuc2Zvcm19IGZyb20gXCJAYW5ndWxhci9jb3JlXCI7XHJcbmltcG9ydCB7Rm9ybWF0dGVyU2VydmljZX0gZnJvbSBcIi4uL3NlcnZpY2VzL2Zvcm1hdHRlci5zZXJ2aWNlXCI7XHJcblxyXG5AUGlwZSh7XHJcbiAgICBuYW1lOiBcImZvcm1hdE51bWJlclwiXHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBGb3JtYXROdW1iZXJQaXBlIGltcGxlbWVudHMgUGlwZVRyYW5zZm9ybSB7XHJcblxyXG4gICAgY29uc3RydWN0b3IocHJpdmF0ZSBmb3JtYXR0ZXI6IEZvcm1hdHRlclNlcnZpY2UpIHtcclxuICAgIH1cclxuXHJcbiAgICB0cmFuc2Zvcm0odmFsdWU6IG51bWJlciwgZm9ybWF0Pzogc3RyaW5nLCBwcmVjaXNpb24/OiBudW1iZXIsIGRpdmlkZXI/OiBudW1iZXIpOiBzdHJpbmcge1xyXG4gICAgICAgIHJldHVybiB0aGlzLmZvcm1hdHRlci5mb3JtYXROdW1iZXIodmFsdWUsIGZvcm1hdCwgcHJlY2lzaW9uLCBkaXZpZGVyKTtcclxuICAgIH1cclxufVxyXG4iXX0=
@@ -0,0 +1,17 @@
1
+ import { Pipe } from "@angular/core";
2
+ import { ObjectUtils } from "../utils/object.utils";
3
+ import * as i0 from "@angular/core";
4
+ export class GetOffsetPipe {
5
+ transform(value, offset) {
6
+ return value ? (ObjectUtils.isNullOrUndefined(offset) ? value : value[offset]) : null;
7
+ }
8
+ }
9
+ GetOffsetPipe.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.8", ngImport: i0, type: GetOffsetPipe, deps: [], target: i0.ɵɵFactoryTarget.Pipe });
10
+ GetOffsetPipe.ɵpipe = i0.ɵɵngDeclarePipe({ minVersion: "12.0.0", version: "13.3.8", ngImport: i0, type: GetOffsetPipe, name: "getOffset" });
11
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.8", ngImport: i0, type: GetOffsetPipe, decorators: [{
12
+ type: Pipe,
13
+ args: [{
14
+ name: "getOffset"
15
+ }]
16
+ }] });
17
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZ2V0LW9mZnNldC5waXBlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vc3JjL25neC11dGlscy9waXBlcy9nZXQtb2Zmc2V0LnBpcGUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFDLElBQUksRUFBZ0IsTUFBTSxlQUFlLENBQUM7QUFDbEQsT0FBTyxFQUFDLFdBQVcsRUFBQyxNQUFNLHVCQUF1QixDQUFDOztBQUtsRCxNQUFNLE9BQU8sYUFBYTtJQUN0QixTQUFTLENBQUMsS0FBVSxFQUFFLE1BQVc7UUFDN0IsT0FBTyxLQUFLLENBQUMsQ0FBQyxDQUFDLENBQUMsV0FBVyxDQUFDLGlCQUFpQixDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUMsQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLEtBQUssQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUM7SUFDMUYsQ0FBQzs7MEdBSFEsYUFBYTt3R0FBYixhQUFhOzJGQUFiLGFBQWE7a0JBSHpCLElBQUk7bUJBQUM7b0JBQ0YsSUFBSSxFQUFFLFdBQVc7aUJBQ3BCIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtQaXBlLCBQaXBlVHJhbnNmb3JtfSBmcm9tIFwiQGFuZ3VsYXIvY29yZVwiO1xyXG5pbXBvcnQge09iamVjdFV0aWxzfSBmcm9tIFwiLi4vdXRpbHMvb2JqZWN0LnV0aWxzXCI7XHJcblxyXG5AUGlwZSh7XHJcbiAgICBuYW1lOiBcImdldE9mZnNldFwiXHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBHZXRPZmZzZXRQaXBlIGltcGxlbWVudHMgUGlwZVRyYW5zZm9ybSB7XHJcbiAgICB0cmFuc2Zvcm0odmFsdWU6IGFueSwgb2Zmc2V0OiBhbnkpOiBhbnkge1xyXG4gICAgICAgIHJldHVybiB2YWx1ZSA/IChPYmplY3RVdGlscy5pc051bGxPclVuZGVmaW5lZChvZmZzZXQpID8gdmFsdWUgOiB2YWx1ZVtvZmZzZXRdKSA6IG51bGw7XHJcbiAgICB9XHJcbn1cclxuIl19
@@ -0,0 +1,16 @@
1
+ import { Pipe } from "@angular/core";
2
+ import * as i0 from "@angular/core";
3
+ export class GetTypePipe {
4
+ transform(value) {
5
+ return typeof value;
6
+ }
7
+ }
8
+ GetTypePipe.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.8", ngImport: i0, type: GetTypePipe, deps: [], target: i0.ɵɵFactoryTarget.Pipe });
9
+ GetTypePipe.ɵpipe = i0.ɵɵngDeclarePipe({ minVersion: "12.0.0", version: "13.3.8", ngImport: i0, type: GetTypePipe, name: "getType" });
10
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.8", ngImport: i0, type: GetTypePipe, decorators: [{
11
+ type: Pipe,
12
+ args: [{
13
+ name: "getType"
14
+ }]
15
+ }] });
16
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZ2V0LXR5cGUucGlwZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3NyYy9uZ3gtdXRpbHMvcGlwZXMvZ2V0LXR5cGUucGlwZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUMsSUFBSSxFQUFnQixNQUFNLGVBQWUsQ0FBQzs7QUFLbEQsTUFBTSxPQUFPLFdBQVc7SUFDcEIsU0FBUyxDQUFDLEtBQVU7UUFDaEIsT0FBTyxPQUFPLEtBQUssQ0FBQztJQUN4QixDQUFDOzt3R0FIUSxXQUFXO3NHQUFYLFdBQVc7MkZBQVgsV0FBVztrQkFIdkIsSUFBSTttQkFBQztvQkFDRixJQUFJLEVBQUUsU0FBUztpQkFDbEIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge1BpcGUsIFBpcGVUcmFuc2Zvcm19IGZyb20gXCJAYW5ndWxhci9jb3JlXCI7XHJcblxyXG5AUGlwZSh7XHJcbiAgICBuYW1lOiBcImdldFR5cGVcIlxyXG59KVxyXG5leHBvcnQgY2xhc3MgR2V0VHlwZVBpcGUgaW1wbGVtZW50cyBQaXBlVHJhbnNmb3JtIHtcclxuICAgIHRyYW5zZm9ybSh2YWx1ZTogYW55KTogYW55IHtcclxuICAgICAgICByZXR1cm4gdHlwZW9mIHZhbHVlO1xyXG4gICAgfVxyXG59XHJcbiJdfQ==
@@ -0,0 +1,41 @@
1
+ import { Inject, Pipe } from "@angular/core";
2
+ import { GLOBAL_TEMPLATES } from "../common-types";
3
+ import * as i0 from "@angular/core";
4
+ export class GlobalTemplatePipe {
5
+ constructor(globalTemplates) {
6
+ this.globalTemplates = globalTemplates;
7
+ this.cachedTemplateId = null;
8
+ this.cachedTemplate = null;
9
+ }
10
+ ngOnInit() {
11
+ this.templatesUpdated = this.globalTemplates.templatesUpdated.subscribe(() => {
12
+ this.cachedTemplate = null;
13
+ });
14
+ }
15
+ ngOnDestroy() {
16
+ if (this.templatesUpdated)
17
+ this.templatesUpdated.unsubscribe();
18
+ }
19
+ transform(templateId, component) {
20
+ if (!templateId)
21
+ return null;
22
+ if (this.cachedTemplate === null || this.cachedTemplateId !== templateId) {
23
+ this.cachedTemplateId = templateId;
24
+ this.cachedTemplate = this.globalTemplates.get(templateId, component);
25
+ }
26
+ return this.cachedTemplate;
27
+ }
28
+ }
29
+ GlobalTemplatePipe.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.8", ngImport: i0, type: GlobalTemplatePipe, deps: [{ token: GLOBAL_TEMPLATES }], target: i0.ɵɵFactoryTarget.Pipe });
30
+ GlobalTemplatePipe.ɵpipe = i0.ɵɵngDeclarePipe({ minVersion: "12.0.0", version: "13.3.8", ngImport: i0, type: GlobalTemplatePipe, name: "globalTemplate", pure: false });
31
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.8", ngImport: i0, type: GlobalTemplatePipe, decorators: [{
32
+ type: Pipe,
33
+ args: [{
34
+ pure: false,
35
+ name: "globalTemplate"
36
+ }]
37
+ }], ctorParameters: function () { return [{ type: undefined, decorators: [{
38
+ type: Inject,
39
+ args: [GLOBAL_TEMPLATES]
40
+ }] }]; } });
41
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZ2xvYmFsLXRlbXBsYXRlLnBpcGUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9zcmMvbmd4LXV0aWxzL3BpcGVzL2dsb2JhbC10ZW1wbGF0ZS5waXBlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBQyxNQUFNLEVBQXFCLElBQUksRUFBNkIsTUFBTSxlQUFlLENBQUM7QUFFMUYsT0FBTyxFQUFDLGdCQUFnQixFQUFtQixNQUFNLGlCQUFpQixDQUFDOztBQU1uRSxNQUFNLE9BQU8sa0JBQWtCO0lBTzNCLFlBQWdELGVBQWlDO1FBQWpDLG9CQUFlLEdBQWYsZUFBZSxDQUFrQjtRQUM3RSxJQUFJLENBQUMsZ0JBQWdCLEdBQUcsSUFBSSxDQUFDO1FBQzdCLElBQUksQ0FBQyxjQUFjLEdBQUcsSUFBSSxDQUFDO0lBQy9CLENBQUM7SUFFRCxRQUFRO1FBQ0osSUFBSSxDQUFDLGdCQUFnQixHQUFHLElBQUksQ0FBQyxlQUFlLENBQUMsZ0JBQWdCLENBQUMsU0FBUyxDQUFDLEdBQUcsRUFBRTtZQUN6RSxJQUFJLENBQUMsY0FBYyxHQUFHLElBQUksQ0FBQztRQUMvQixDQUFDLENBQUMsQ0FBQztJQUNQLENBQUM7SUFFRCxXQUFXO1FBQ1AsSUFBSSxJQUFJLENBQUMsZ0JBQWdCO1lBQ3JCLElBQUksQ0FBQyxnQkFBZ0IsQ0FBQyxXQUFXLEVBQUUsQ0FBQztJQUM1QyxDQUFDO0lBRUQsU0FBUyxDQUFDLFVBQWtCLEVBQUUsU0FBZTtRQUN6QyxJQUFJLENBQUMsVUFBVTtZQUFFLE9BQU8sSUFBSSxDQUFDO1FBQzdCLElBQUksSUFBSSxDQUFDLGNBQWMsS0FBSyxJQUFJLElBQUksSUFBSSxDQUFDLGdCQUFnQixLQUFLLFVBQVUsRUFBRTtZQUN0RSxJQUFJLENBQUMsZ0JBQWdCLEdBQUcsVUFBVSxDQUFDO1lBQ25DLElBQUksQ0FBQyxjQUFjLEdBQUcsSUFBSSxDQUFDLGVBQWUsQ0FBQyxHQUFHLENBQUMsVUFBVSxFQUFFLFNBQVMsQ0FBQyxDQUFDO1NBQ3pFO1FBQ0QsT0FBTyxJQUFJLENBQUMsY0FBYyxDQUFDO0lBQy9CLENBQUM7OytHQTlCUSxrQkFBa0Isa0JBT1AsZ0JBQWdCOzZHQVAzQixrQkFBa0I7MkZBQWxCLGtCQUFrQjtrQkFKOUIsSUFBSTttQkFBQztvQkFDRixJQUFJLEVBQUUsS0FBSztvQkFDWCxJQUFJLEVBQUUsZ0JBQWdCO2lCQUN6Qjs7MEJBUWdCLE1BQU07MkJBQUMsZ0JBQWdCIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtJbmplY3QsIE9uRGVzdHJveSwgT25Jbml0LCBQaXBlLCBQaXBlVHJhbnNmb3JtLCBUZW1wbGF0ZVJlZn0gZnJvbSBcIkBhbmd1bGFyL2NvcmVcIjtcclxuaW1wb3J0IHtTdWJzY3JpcHRpb259IGZyb20gXCJyeGpzXCI7XHJcbmltcG9ydCB7R0xPQkFMX1RFTVBMQVRFUywgSUdsb2JhbFRlbXBsYXRlc30gZnJvbSBcIi4uL2NvbW1vbi10eXBlc1wiO1xyXG5cclxuQFBpcGUoe1xyXG4gICAgcHVyZTogZmFsc2UsXHJcbiAgICBuYW1lOiBcImdsb2JhbFRlbXBsYXRlXCJcclxufSlcclxuZXhwb3J0IGNsYXNzIEdsb2JhbFRlbXBsYXRlUGlwZSBpbXBsZW1lbnRzIFBpcGVUcmFuc2Zvcm0sIE9uSW5pdCwgT25EZXN0cm95IHtcclxuXHJcbiAgICBwcm90ZWN0ZWQgdGVtcGxhdGVzVXBkYXRlZDogU3Vic2NyaXB0aW9uO1xyXG5cclxuICAgIHByb3RlY3RlZCBjYWNoZWRUZW1wbGF0ZUlkOiBzdHJpbmc7XHJcbiAgICBwcm90ZWN0ZWQgY2FjaGVkVGVtcGxhdGU6IFRlbXBsYXRlUmVmPGFueT47XHJcblxyXG4gICAgY29uc3RydWN0b3IoQEluamVjdChHTE9CQUxfVEVNUExBVEVTKSBwcm90ZWN0ZWQgZ2xvYmFsVGVtcGxhdGVzOiBJR2xvYmFsVGVtcGxhdGVzKSB7XHJcbiAgICAgICAgdGhpcy5jYWNoZWRUZW1wbGF0ZUlkID0gbnVsbDtcclxuICAgICAgICB0aGlzLmNhY2hlZFRlbXBsYXRlID0gbnVsbDtcclxuICAgIH1cclxuXHJcbiAgICBuZ09uSW5pdCgpOiB2b2lkIHtcclxuICAgICAgICB0aGlzLnRlbXBsYXRlc1VwZGF0ZWQgPSB0aGlzLmdsb2JhbFRlbXBsYXRlcy50ZW1wbGF0ZXNVcGRhdGVkLnN1YnNjcmliZSgoKSA9PiB7XHJcbiAgICAgICAgICAgIHRoaXMuY2FjaGVkVGVtcGxhdGUgPSBudWxsO1xyXG4gICAgICAgIH0pO1xyXG4gICAgfVxyXG5cclxuICAgIG5nT25EZXN0cm95KCk6IHZvaWQge1xyXG4gICAgICAgIGlmICh0aGlzLnRlbXBsYXRlc1VwZGF0ZWQpXHJcbiAgICAgICAgICAgIHRoaXMudGVtcGxhdGVzVXBkYXRlZC51bnN1YnNjcmliZSgpO1xyXG4gICAgfVxyXG5cclxuICAgIHRyYW5zZm9ybSh0ZW1wbGF0ZUlkOiBzdHJpbmcsIGNvbXBvbmVudD86IGFueSk6IFRlbXBsYXRlUmVmPHN0cmluZz4ge1xyXG4gICAgICAgIGlmICghdGVtcGxhdGVJZCkgcmV0dXJuIG51bGw7XHJcbiAgICAgICAgaWYgKHRoaXMuY2FjaGVkVGVtcGxhdGUgPT09IG51bGwgfHwgdGhpcy5jYWNoZWRUZW1wbGF0ZUlkICE9PSB0ZW1wbGF0ZUlkKSB7XHJcbiAgICAgICAgICAgIHRoaXMuY2FjaGVkVGVtcGxhdGVJZCA9IHRlbXBsYXRlSWQ7XHJcbiAgICAgICAgICAgIHRoaXMuY2FjaGVkVGVtcGxhdGUgPSB0aGlzLmdsb2JhbFRlbXBsYXRlcy5nZXQodGVtcGxhdGVJZCwgY29tcG9uZW50KTtcclxuICAgICAgICB9XHJcbiAgICAgICAgcmV0dXJuIHRoaXMuY2FjaGVkVGVtcGxhdGU7XHJcbiAgICB9XHJcbn1cclxuIl19
@@ -0,0 +1,27 @@
1
+ import { Pipe } from "@angular/core";
2
+ import { ObjectUtils } from "../utils/object.utils";
3
+ import * as i0 from "@angular/core";
4
+ export class GroupByPipe {
5
+ transform(records, column, map = null) {
6
+ const groups = (records || []).reduce((result, item) => {
7
+ const key = ObjectUtils.getValue(item, column) || "";
8
+ const col = map ? (map[key] || "") : key;
9
+ const group = result[col] || [];
10
+ group.push(item);
11
+ result[col] = group;
12
+ return result;
13
+ }, {});
14
+ return Object.keys(groups).map(key => {
15
+ return { group: key, items: groups[key] };
16
+ });
17
+ }
18
+ }
19
+ GroupByPipe.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.8", ngImport: i0, type: GroupByPipe, deps: [], target: i0.ɵɵFactoryTarget.Pipe });
20
+ GroupByPipe.ɵpipe = i0.ɵɵngDeclarePipe({ minVersion: "12.0.0", version: "13.3.8", ngImport: i0, type: GroupByPipe, name: "groupBy" });
21
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.8", ngImport: i0, type: GroupByPipe, decorators: [{
22
+ type: Pipe,
23
+ args: [{
24
+ name: "groupBy"
25
+ }]
26
+ }] });
27
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZ3JvdXAtYnkucGlwZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3NyYy9uZ3gtdXRpbHMvcGlwZXMvZ3JvdXAtYnkucGlwZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUMsSUFBSSxFQUFnQixNQUFNLGVBQWUsQ0FBQztBQUVsRCxPQUFPLEVBQUMsV0FBVyxFQUFDLE1BQU0sdUJBQXVCLENBQUM7O0FBS2xELE1BQU0sT0FBTyxXQUFXO0lBRXBCLFNBQVMsQ0FBQyxPQUFjLEVBQUUsTUFBYyxFQUFFLE1BQWlCLElBQUk7UUFDM0QsTUFBTSxNQUFNLEdBQUcsQ0FBQyxPQUFPLElBQUksRUFBRSxDQUFDLENBQUMsTUFBTSxDQUFDLENBQUMsTUFBVyxFQUFFLElBQVMsRUFBRSxFQUFFO1lBQzdELE1BQU0sR0FBRyxHQUFHLFdBQVcsQ0FBQyxRQUFRLENBQUMsSUFBSSxFQUFFLE1BQU0sQ0FBQyxJQUFJLEVBQUUsQ0FBQztZQUNyRCxNQUFNLEdBQUcsR0FBRyxHQUFHLENBQUMsQ0FBQyxDQUFDLENBQUMsR0FBRyxDQUFDLEdBQUcsQ0FBQyxJQUFJLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxHQUFHLENBQUM7WUFDekMsTUFBTSxLQUFLLEdBQVUsTUFBTSxDQUFDLEdBQUcsQ0FBQyxJQUFJLEVBQUUsQ0FBQztZQUN2QyxLQUFLLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxDQUFDO1lBQ2pCLE1BQU0sQ0FBQyxHQUFHLENBQUMsR0FBRyxLQUFLLENBQUM7WUFDcEIsT0FBTyxNQUFNLENBQUM7UUFDbEIsQ0FBQyxFQUFFLEVBQUUsQ0FBQyxDQUFDO1FBQ1AsT0FBTyxNQUFNLENBQUMsSUFBSSxDQUFDLE1BQU0sQ0FBQyxDQUFDLEdBQUcsQ0FBQyxHQUFHLENBQUMsRUFBRTtZQUNqQyxPQUFPLEVBQUMsS0FBSyxFQUFFLEdBQUcsRUFBRSxLQUFLLEVBQUUsTUFBTSxDQUFDLEdBQUcsQ0FBQyxFQUFDLENBQUM7UUFDNUMsQ0FBQyxDQUFDLENBQUM7SUFDUCxDQUFDOzt3R0FkUSxXQUFXO3NHQUFYLFdBQVc7MkZBQVgsV0FBVztrQkFIdkIsSUFBSTttQkFBQztvQkFDRixJQUFJLEVBQUUsU0FBUztpQkFDbEIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge1BpcGUsIFBpcGVUcmFuc2Zvcm19IGZyb20gXCJAYW5ndWxhci9jb3JlXCI7XHJcbmltcG9ydCB7SUdyb3VwTWFwfSBmcm9tIFwiLi4vY29tbW9uLXR5cGVzXCI7XHJcbmltcG9ydCB7T2JqZWN0VXRpbHN9IGZyb20gXCIuLi91dGlscy9vYmplY3QudXRpbHNcIjtcclxuXHJcbkBQaXBlKHtcclxuICAgIG5hbWU6IFwiZ3JvdXBCeVwiXHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBHcm91cEJ5UGlwZSBpbXBsZW1lbnRzIFBpcGVUcmFuc2Zvcm0ge1xyXG5cclxuICAgIHRyYW5zZm9ybShyZWNvcmRzOiBhbnlbXSwgY29sdW1uOiBzdHJpbmcsIG1hcDogSUdyb3VwTWFwID0gbnVsbCk6IGFueSB7XHJcbiAgICAgICAgY29uc3QgZ3JvdXBzID0gKHJlY29yZHMgfHwgW10pLnJlZHVjZSgocmVzdWx0OiBhbnksIGl0ZW06IGFueSkgPT4ge1xyXG4gICAgICAgICAgICBjb25zdCBrZXkgPSBPYmplY3RVdGlscy5nZXRWYWx1ZShpdGVtLCBjb2x1bW4pIHx8IFwiXCI7XHJcbiAgICAgICAgICAgIGNvbnN0IGNvbCA9IG1hcCA/IChtYXBba2V5XSB8fCBcIlwiKSA6IGtleTtcclxuICAgICAgICAgICAgY29uc3QgZ3JvdXA6IGFueVtdID0gcmVzdWx0W2NvbF0gfHwgW107XHJcbiAgICAgICAgICAgIGdyb3VwLnB1c2goaXRlbSk7XHJcbiAgICAgICAgICAgIHJlc3VsdFtjb2xdID0gZ3JvdXA7XHJcbiAgICAgICAgICAgIHJldHVybiByZXN1bHQ7XHJcbiAgICAgICAgfSwge30pO1xyXG4gICAgICAgIHJldHVybiBPYmplY3Qua2V5cyhncm91cHMpLm1hcChrZXkgPT4ge1xyXG4gICAgICAgICAgICByZXR1cm4ge2dyb3VwOiBrZXksIGl0ZW1zOiBncm91cHNba2V5XX07XHJcbiAgICAgICAgfSk7XHJcbiAgICB9XHJcbn1cclxuIl19
@@ -0,0 +1,16 @@
1
+ import { Pipe } from "@angular/core";
2
+ import * as i0 from "@angular/core";
3
+ export class IsTypePipe {
4
+ transform(value, type) {
5
+ return (typeof value) === type;
6
+ }
7
+ }
8
+ IsTypePipe.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.8", ngImport: i0, type: IsTypePipe, deps: [], target: i0.ɵɵFactoryTarget.Pipe });
9
+ IsTypePipe.ɵpipe = i0.ɵɵngDeclarePipe({ minVersion: "12.0.0", version: "13.3.8", ngImport: i0, type: IsTypePipe, name: "isType" });
10
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.8", ngImport: i0, type: IsTypePipe, decorators: [{
11
+ type: Pipe,
12
+ args: [{
13
+ name: "isType"
14
+ }]
15
+ }] });
16
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaXMtdHlwZS5waXBlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vc3JjL25neC11dGlscy9waXBlcy9pcy10eXBlLnBpcGUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFDLElBQUksRUFBZ0IsTUFBTSxlQUFlLENBQUM7O0FBS2xELE1BQU0sT0FBTyxVQUFVO0lBQ25CLFNBQVMsQ0FBQyxLQUFVLEVBQUUsSUFBWTtRQUM5QixPQUFPLENBQUMsT0FBTyxLQUFLLENBQUMsS0FBSyxJQUFJLENBQUM7SUFDbkMsQ0FBQzs7dUdBSFEsVUFBVTtxR0FBVixVQUFVOzJGQUFWLFVBQVU7a0JBSHRCLElBQUk7bUJBQUM7b0JBQ0YsSUFBSSxFQUFFLFFBQVE7aUJBQ2pCIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtQaXBlLCBQaXBlVHJhbnNmb3JtfSBmcm9tIFwiQGFuZ3VsYXIvY29yZVwiO1xyXG5cclxuQFBpcGUoe1xyXG4gICAgbmFtZTogXCJpc1R5cGVcIlxyXG59KVxyXG5leHBvcnQgY2xhc3MgSXNUeXBlUGlwZSBpbXBsZW1lbnRzIFBpcGVUcmFuc2Zvcm0ge1xyXG4gICAgdHJhbnNmb3JtKHZhbHVlOiBhbnksIHR5cGU6IHN0cmluZyk6IGFueSB7XHJcbiAgICAgICAgcmV0dXJuICh0eXBlb2YgdmFsdWUpID09PSB0eXBlO1xyXG4gICAgfVxyXG59XHJcbiJdfQ==
@@ -0,0 +1,19 @@
1
+ import { Pipe } from "@angular/core";
2
+ import { ObjectUtils } from "../utils/object.utils";
3
+ import * as i0 from "@angular/core";
4
+ export class JoinPipe {
5
+ transform(value, separator = ", ") {
6
+ return (ObjectUtils.isArray(value))
7
+ ? value.join(separator)
8
+ : "";
9
+ }
10
+ }
11
+ JoinPipe.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.8", ngImport: i0, type: JoinPipe, deps: [], target: i0.ɵɵFactoryTarget.Pipe });
12
+ JoinPipe.ɵpipe = i0.ɵɵngDeclarePipe({ minVersion: "12.0.0", version: "13.3.8", ngImport: i0, type: JoinPipe, name: "join" });
13
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.8", ngImport: i0, type: JoinPipe, decorators: [{
14
+ type: Pipe,
15
+ args: [{
16
+ name: "join"
17
+ }]
18
+ }] });
19
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiam9pbi5waXBlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vc3JjL25neC11dGlscy9waXBlcy9qb2luLnBpcGUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFDLElBQUksRUFBZ0IsTUFBTSxlQUFlLENBQUM7QUFDbEQsT0FBTyxFQUFDLFdBQVcsRUFBQyxNQUFNLHVCQUF1QixDQUFDOztBQUtsRCxNQUFNLE9BQU8sUUFBUTtJQUVqQixTQUFTLENBQUMsS0FBVSxFQUFFLFlBQW9CLElBQUk7UUFDMUMsT0FBTyxDQUFDLFdBQVcsQ0FBQyxPQUFPLENBQUMsS0FBSyxDQUFDLENBQUM7WUFDL0IsQ0FBQyxDQUFDLEtBQUssQ0FBQyxJQUFJLENBQUMsU0FBUyxDQUFDO1lBQ3ZCLENBQUMsQ0FBQyxFQUFFLENBQUM7SUFDYixDQUFDOztxR0FOUSxRQUFRO21HQUFSLFFBQVE7MkZBQVIsUUFBUTtrQkFIcEIsSUFBSTttQkFBQztvQkFDRixJQUFJLEVBQUUsTUFBTTtpQkFDZiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7UGlwZSwgUGlwZVRyYW5zZm9ybX0gZnJvbSBcIkBhbmd1bGFyL2NvcmVcIjtcclxuaW1wb3J0IHtPYmplY3RVdGlsc30gZnJvbSBcIi4uL3V0aWxzL29iamVjdC51dGlsc1wiO1xyXG5cclxuQFBpcGUoe1xyXG4gICAgbmFtZTogXCJqb2luXCJcclxufSlcclxuZXhwb3J0IGNsYXNzIEpvaW5QaXBlIGltcGxlbWVudHMgUGlwZVRyYW5zZm9ybSB7XHJcblxyXG4gICAgdHJhbnNmb3JtKHZhbHVlOiBhbnksIHNlcGFyYXRvcjogc3RyaW5nID0gXCIsIFwiKTogc3RyaW5nIHtcclxuICAgICAgICByZXR1cm4gKE9iamVjdFV0aWxzLmlzQXJyYXkodmFsdWUpKVxyXG4gICAgICAgICAgICA/IHZhbHVlLmpvaW4oc2VwYXJhdG9yKVxyXG4gICAgICAgICAgICA6IFwiXCI7XHJcbiAgICB9XHJcbn1cclxuIl19
@@ -0,0 +1,22 @@
1
+ import { Pipe } from "@angular/core";
2
+ import { ObjectUtils } from "../utils/object.utils";
3
+ import * as i0 from "@angular/core";
4
+ const emptyKeys = [];
5
+ export class KeysPipe {
6
+ transform(value) {
7
+ if (!value)
8
+ return emptyKeys;
9
+ return ObjectUtils.isArray(value)
10
+ ? Array.from(value.keys())
11
+ : Object.keys(value);
12
+ }
13
+ }
14
+ KeysPipe.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.8", ngImport: i0, type: KeysPipe, deps: [], target: i0.ɵɵFactoryTarget.Pipe });
15
+ KeysPipe.ɵpipe = i0.ɵɵngDeclarePipe({ minVersion: "12.0.0", version: "13.3.8", ngImport: i0, type: KeysPipe, name: "keys" });
16
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.8", ngImport: i0, type: KeysPipe, decorators: [{
17
+ type: Pipe,
18
+ args: [{
19
+ name: "keys"
20
+ }]
21
+ }] });
22
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoia2V5cy5waXBlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vc3JjL25neC11dGlscy9waXBlcy9rZXlzLnBpcGUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFDLElBQUksRUFBZ0IsTUFBTSxlQUFlLENBQUM7QUFDbEQsT0FBTyxFQUFDLFdBQVcsRUFBQyxNQUFNLHVCQUF1QixDQUFDOztBQUVsRCxNQUFNLFNBQVMsR0FBVSxFQUFFLENBQUM7QUFLNUIsTUFBTSxPQUFPLFFBQVE7SUFFakIsU0FBUyxDQUFDLEtBQVU7UUFDaEIsSUFBSSxDQUFDLEtBQUs7WUFBRSxPQUFPLFNBQVMsQ0FBQztRQUM3QixPQUFPLFdBQVcsQ0FBQyxPQUFPLENBQUMsS0FBSyxDQUFDO1lBQzdCLENBQUMsQ0FBQyxLQUFLLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxJQUFJLEVBQUUsQ0FBQztZQUMxQixDQUFDLENBQUMsTUFBTSxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsQ0FBQztJQUM3QixDQUFDOztxR0FQUSxRQUFRO21HQUFSLFFBQVE7MkZBQVIsUUFBUTtrQkFIcEIsSUFBSTttQkFBQztvQkFDRixJQUFJLEVBQUUsTUFBTTtpQkFDZiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7UGlwZSwgUGlwZVRyYW5zZm9ybX0gZnJvbSBcIkBhbmd1bGFyL2NvcmVcIjtcclxuaW1wb3J0IHtPYmplY3RVdGlsc30gZnJvbSBcIi4uL3V0aWxzL29iamVjdC51dGlsc1wiO1xyXG5cclxuY29uc3QgZW1wdHlLZXlzOiBhbnlbXSA9IFtdO1xyXG5cclxuQFBpcGUoe1xyXG4gICAgbmFtZTogXCJrZXlzXCJcclxufSlcclxuZXhwb3J0IGNsYXNzIEtleXNQaXBlIGltcGxlbWVudHMgUGlwZVRyYW5zZm9ybSB7XHJcblxyXG4gICAgdHJhbnNmb3JtKHZhbHVlOiBhbnkpOiBhbnlbXSB7XHJcbiAgICAgICAgaWYgKCF2YWx1ZSkgcmV0dXJuIGVtcHR5S2V5cztcclxuICAgICAgICByZXR1cm4gT2JqZWN0VXRpbHMuaXNBcnJheSh2YWx1ZSlcclxuICAgICAgICAgICAgPyBBcnJheS5mcm9tKHZhbHVlLmtleXMoKSlcclxuICAgICAgICAgICAgOiBPYmplY3Qua2V5cyh2YWx1ZSk7XHJcbiAgICB9XHJcbn1cclxuIl19