@stemy/ngx-utils 12.1.3 → 13.0.2

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 (156) hide show
  1. package/esm2020/ngx-utils/common-types.mjs +116 -0
  2. package/esm2020/ngx-utils/components/dynamic-table/dynamic-table.component.mjs +407 -0
  3. package/esm2020/ngx-utils/components/pagination-menu/pagination-menu.component.mjs +191 -0
  4. package/esm2020/ngx-utils/components/unordered-list/unordered-list.component.mjs +261 -0
  5. package/esm2020/ngx-utils/directives/async-method.base.mjs +68 -0
  6. package/esm2020/ngx-utils/directives/async-method.directive.mjs +28 -0
  7. package/esm2020/ngx-utils/directives/background.directive.mjs +51 -0
  8. package/esm2020/ngx-utils/directives/dynamic-table-template.directive.mjs +20 -0
  9. package/esm2020/ngx-utils/directives/global-template.directive.mjs +30 -0
  10. package/esm2020/ngx-utils/directives/icon.directive.mjs +71 -0
  11. package/esm2020/ngx-utils/directives/ngx-template-outlet.directive.mjs +90 -0
  12. package/esm2020/ngx-utils/directives/pagination-item.directive.mjs +33 -0
  13. package/esm2020/ngx-utils/directives/pagination.directive.mjs +83 -0
  14. package/esm2020/ngx-utils/directives/resource-if.directive.mjs +50 -0
  15. package/esm2020/ngx-utils/directives/sticky-class.directive.mjs +34 -0
  16. package/esm2020/ngx-utils/directives/sticky.directive.mjs +59 -0
  17. package/esm2020/ngx-utils/directives/unordered-list-item.directive.mjs +77 -0
  18. package/esm2020/ngx-utils/directives/unordered-list-template.directive.mjs +26 -0
  19. package/esm2020/ngx-utils/ngx-utils.module.mjs +322 -0
  20. package/esm2020/ngx-utils/pipes/chunk.pipe.mjs +25 -0
  21. package/esm2020/ngx-utils/pipes/entries.pipe.mjs +28 -0
  22. package/esm2020/ngx-utils/pipes/extra-item-properties.pipe.mjs +31 -0
  23. package/esm2020/ngx-utils/pipes/filter.pipe.mjs +42 -0
  24. package/esm2020/ngx-utils/pipes/find.pipe.mjs +29 -0
  25. package/esm2020/ngx-utils/pipes/format-number.pipe.mjs +21 -0
  26. package/esm2020/ngx-utils/pipes/get-offset.pipe.mjs +17 -0
  27. package/esm2020/ngx-utils/pipes/get-type.pipe.mjs +16 -0
  28. package/esm2020/ngx-utils/pipes/global-template.pipe.mjs +41 -0
  29. package/esm2020/ngx-utils/pipes/group-by.pipe.mjs +27 -0
  30. package/esm2020/ngx-utils/pipes/is-type.pipe.mjs +16 -0
  31. package/esm2020/ngx-utils/pipes/join.pipe.mjs +19 -0
  32. package/esm2020/ngx-utils/pipes/keys.pipe.mjs +22 -0
  33. package/esm2020/ngx-utils/pipes/map.pipe.mjs +29 -0
  34. package/esm2020/ngx-utils/pipes/max.pipe.mjs +26 -0
  35. package/esm2020/ngx-utils/pipes/min.pipe.mjs +26 -0
  36. package/esm2020/ngx-utils/pipes/reduce.pipe.mjs +30 -0
  37. package/esm2020/ngx-utils/pipes/remap.pipe.mjs +32 -0
  38. package/esm2020/ngx-utils/pipes/replace.pipe.mjs +16 -0
  39. package/esm2020/ngx-utils/pipes/reverse.pipe.mjs +24 -0
  40. package/esm2020/ngx-utils/pipes/round.pipe.mjs +21 -0
  41. package/esm2020/ngx-utils/pipes/safe-html.pipe.mjs +34 -0
  42. package/esm2020/ngx-utils/pipes/translate.pipe.mjs +86 -0
  43. package/esm2020/ngx-utils/pipes/values.pipe.mjs +22 -0
  44. package/esm2020/ngx-utils/plugins/resize-event.plugin.mjs +59 -0
  45. package/esm2020/ngx-utils/plugins/scroll-event.plugin.mjs +39 -0
  46. package/esm2020/ngx-utils/services/acl.service.mjs +81 -0
  47. package/esm2020/ngx-utils/services/api.service.mjs +38 -0
  48. package/esm2020/ngx-utils/services/auth.service.mjs +14 -0
  49. package/esm2020/ngx-utils/services/base-http.client.mjs +47 -0
  50. package/esm2020/ngx-utils/services/base-http.service.mjs +298 -0
  51. package/esm2020/ngx-utils/services/config.service.mjs +129 -0
  52. package/esm2020/ngx-utils/services/error-handler.service.mjs +49 -0
  53. package/esm2020/ngx-utils/services/events.service.mjs +26 -0
  54. package/esm2020/ngx-utils/services/formatter.service.mjs +47 -0
  55. package/esm2020/ngx-utils/services/global-template.service.mjs +37 -0
  56. package/esm2020/ngx-utils/services/icon.service.mjs +26 -0
  57. package/esm2020/ngx-utils/services/language.service.mjs +113 -0
  58. package/esm2020/ngx-utils/services/open-api.service.mjs +40 -0
  59. package/esm2020/ngx-utils/services/promise.service.mjs +55 -0
  60. package/esm2020/ngx-utils/services/state.service.mjs +173 -0
  61. package/esm2020/ngx-utils/services/static-language.service.mjs +166 -0
  62. package/esm2020/ngx-utils/services/storage.service.mjs +49 -0
  63. package/esm2020/ngx-utils/services/toaster.service.mjs +32 -0
  64. package/esm2020/ngx-utils/services/translated-url.serializer.mjs +73 -0
  65. package/esm2020/ngx-utils/services/universal.service.mjs +78 -0
  66. package/esm2020/ngx-utils/utils/ajax-request-handler.mjs +40 -0
  67. package/esm2020/ngx-utils/utils/array.utils.mjs +100 -0
  68. package/esm2020/ngx-utils/utils/auth.guard.mjs +181 -0
  69. package/esm2020/ngx-utils/utils/canvas.utils.mjs +388 -0
  70. package/esm2020/ngx-utils/utils/date.utils.mjs +28 -0
  71. package/esm2020/ngx-utils/utils/file.utils.mjs +90 -0
  72. package/esm2020/ngx-utils/utils/generic-value.mjs +20 -0
  73. package/esm2020/ngx-utils/utils/geometry.mjs +132 -0
  74. package/esm2020/ngx-utils/utils/initializer.mjs +20 -0
  75. package/esm2020/ngx-utils/utils/loader.utils.mjs +55 -0
  76. package/esm2020/ngx-utils/utils/math.utils.mjs +15 -0
  77. package/esm2020/ngx-utils/utils/object.utils.mjs +261 -0
  78. package/esm2020/ngx-utils/utils/observable.utils.mjs +63 -0
  79. package/esm2020/ngx-utils/utils/reflect.utils.mjs +33 -0
  80. package/esm2020/ngx-utils/utils/set.utils.mjs +20 -0
  81. package/esm2020/ngx-utils/utils/string.utils.mjs +28 -0
  82. package/esm2020/ngx-utils/utils/timer.utils.mjs +52 -0
  83. package/esm2020/ngx-utils/utils/unique.utils.mjs +24 -0
  84. package/esm2020/ngx-utils/utils/vector.mjs +77 -0
  85. package/esm2020/public_api.mjs +85 -0
  86. package/esm2020/stemy-ngx-utils.mjs +5 -0
  87. package/fesm2015/stemy-ngx-utils.mjs +5990 -0
  88. package/fesm2015/stemy-ngx-utils.mjs.map +1 -0
  89. package/fesm2020/stemy-ngx-utils.mjs +5650 -0
  90. package/fesm2020/stemy-ngx-utils.mjs.map +1 -0
  91. package/ngx-utils/components/dynamic-table/dynamic-table.component.d.ts +3 -0
  92. package/ngx-utils/components/pagination-menu/pagination-menu.component.d.ts +3 -0
  93. package/ngx-utils/components/unordered-list/unordered-list.component.d.ts +3 -0
  94. package/ngx-utils/directives/async-method.base.d.ts +3 -0
  95. package/ngx-utils/directives/async-method.directive.d.ts +3 -0
  96. package/ngx-utils/directives/background.directive.d.ts +3 -0
  97. package/ngx-utils/directives/dynamic-table-template.directive.d.ts +3 -0
  98. package/ngx-utils/directives/global-template.directive.d.ts +3 -0
  99. package/ngx-utils/directives/icon.directive.d.ts +3 -0
  100. package/ngx-utils/directives/ngx-template-outlet.directive.d.ts +3 -0
  101. package/ngx-utils/directives/pagination-item.directive.d.ts +3 -0
  102. package/ngx-utils/directives/pagination.directive.d.ts +3 -0
  103. package/ngx-utils/directives/resource-if.directive.d.ts +3 -0
  104. package/ngx-utils/directives/sticky-class.directive.d.ts +3 -0
  105. package/ngx-utils/directives/sticky.directive.d.ts +3 -0
  106. package/ngx-utils/directives/unordered-list-item.directive.d.ts +3 -0
  107. package/ngx-utils/directives/unordered-list-template.directive.d.ts +3 -0
  108. package/ngx-utils/pipes/chunk.pipe.d.ts +3 -0
  109. package/ngx-utils/pipes/entries.pipe.d.ts +3 -0
  110. package/ngx-utils/pipes/extra-item-properties.pipe.d.ts +3 -0
  111. package/ngx-utils/pipes/filter.pipe.d.ts +3 -0
  112. package/ngx-utils/pipes/find.pipe.d.ts +3 -0
  113. package/ngx-utils/pipes/format-number.pipe.d.ts +3 -0
  114. package/ngx-utils/pipes/get-offset.pipe.d.ts +3 -0
  115. package/ngx-utils/pipes/get-type.pipe.d.ts +3 -0
  116. package/ngx-utils/pipes/global-template.pipe.d.ts +3 -0
  117. package/ngx-utils/pipes/group-by.pipe.d.ts +3 -0
  118. package/ngx-utils/pipes/is-type.pipe.d.ts +3 -0
  119. package/ngx-utils/pipes/join.pipe.d.ts +3 -0
  120. package/ngx-utils/pipes/keys.pipe.d.ts +3 -0
  121. package/ngx-utils/pipes/map.pipe.d.ts +3 -0
  122. package/ngx-utils/pipes/max.pipe.d.ts +3 -0
  123. package/ngx-utils/pipes/min.pipe.d.ts +3 -0
  124. package/ngx-utils/pipes/reduce.pipe.d.ts +3 -0
  125. package/ngx-utils/pipes/remap.pipe.d.ts +3 -0
  126. package/ngx-utils/pipes/replace.pipe.d.ts +3 -0
  127. package/ngx-utils/pipes/reverse.pipe.d.ts +3 -0
  128. package/ngx-utils/pipes/round.pipe.d.ts +3 -0
  129. package/ngx-utils/pipes/safe-html.pipe.d.ts +3 -0
  130. package/ngx-utils/pipes/translate.pipe.d.ts +4 -0
  131. package/ngx-utils/pipes/values.pipe.d.ts +3 -0
  132. package/ngx-utils/plugins/resize-event.plugin.d.ts +4 -1
  133. package/ngx-utils/plugins/scroll-event.plugin.d.ts +4 -1
  134. package/ngx-utils/services/acl.service.d.ts +3 -0
  135. package/ngx-utils/services/api.service.d.ts +3 -0
  136. package/ngx-utils/services/base-http.client.d.ts +3 -0
  137. package/ngx-utils/services/base-http.service.d.ts +3 -0
  138. package/ngx-utils/services/config.service.d.ts +3 -0
  139. package/ngx-utils/services/error-handler.service.d.ts +3 -0
  140. package/ngx-utils/services/events.service.d.ts +3 -0
  141. package/ngx-utils/services/formatter.service.d.ts +3 -0
  142. package/ngx-utils/services/global-template.service.d.ts +3 -0
  143. package/ngx-utils/services/icon.service.d.ts +3 -0
  144. package/ngx-utils/services/language.service.d.ts +3 -0
  145. package/ngx-utils/services/open-api.service.d.ts +3 -0
  146. package/ngx-utils/services/promise.service.d.ts +3 -0
  147. package/ngx-utils/services/state.service.d.ts +3 -0
  148. package/ngx-utils/services/static-language.service.d.ts +3 -0
  149. package/ngx-utils/services/storage.service.d.ts +3 -0
  150. package/ngx-utils/services/toaster.service.d.ts +3 -0
  151. package/ngx-utils/services/translated-url.serializer.d.ts +3 -0
  152. package/ngx-utils/services/universal.service.d.ts +3 -0
  153. package/ngx-utils/utils/auth.guard.d.ts +3 -0
  154. package/package.json +37 -19
  155. package/public_api.d.ts +1 -0
  156. package/stemy-ngx-utils.d.ts +1 -2
@@ -0,0 +1,77 @@
1
+ import { Directive, ElementRef, Input, Renderer2, ViewContainerRef } from "@angular/core";
2
+ import { ObjectUtils } from "../utils/object.utils";
3
+ import * as i0 from "@angular/core";
4
+ export class UnorderedListItemDirective {
5
+ constructor(elementRef, renderer, viewContainer) {
6
+ this.elementRef = elementRef;
7
+ this.renderer = renderer;
8
+ this.viewContainer = viewContainer;
9
+ }
10
+ get elem() {
11
+ return this.elementRef.nativeElement;
12
+ }
13
+ ngOnChanges(changes) {
14
+ if (!this.templates || !this.defaultTemplates || !this.item)
15
+ return;
16
+ const promise = this.item.value instanceof Promise ? this.item.value : Promise.resolve(this.item.value);
17
+ promise.then(value => {
18
+ this.item.value = value;
19
+ this.path = ObjectUtils.isNullOrUndefined(this.path) ? "" : this.path.toString();
20
+ this.isArray = ObjectUtils.isArray(this.data);
21
+ this.isObject = ObjectUtils.isObject(this.data);
22
+ this.valueIsArray = ObjectUtils.isArray(this.item.value);
23
+ this.valueIsObject = ObjectUtils.isObject(this.item.value);
24
+ this.valueType = ObjectUtils.getType(this.item.value);
25
+ const context = this;
26
+ const template = this.templates.find(t => t.type == this.type && ObjectUtils.evaluate(t.selector, context)) || this.defaultTemplates[this.type];
27
+ // Set view
28
+ this.viewContainer.clear();
29
+ this.viewContainer.createEmbeddedView(template, context);
30
+ // Set classes
31
+ if (this.type !== "item")
32
+ return;
33
+ this.item.classList = [];
34
+ this.isClass("is-array", this.valueIsArray);
35
+ this.isClass("is-object", this.valueIsObject);
36
+ this.isClass("is-value", !this.valueIsObject && !this.valueIsArray);
37
+ this.isClass(`type-${this.valueType}`);
38
+ this.isClass(`path-${this.path.replace(/\./g, "-")}`);
39
+ this.isClass(`key-${this.item.key}`);
40
+ }, reason => {
41
+ console.log("Can't handle promise rejection", reason);
42
+ });
43
+ }
44
+ isClass(className, value = true) {
45
+ if (!value)
46
+ return;
47
+ this.item.classList.push(className);
48
+ }
49
+ }
50
+ UnorderedListItemDirective.ɵfac = function UnorderedListItemDirective_Factory(t) { return new (t || UnorderedListItemDirective)(i0.ɵɵdirectiveInject(i0.ElementRef), i0.ɵɵdirectiveInject(i0.Renderer2), i0.ɵɵdirectiveInject(i0.ViewContainerRef)); };
51
+ UnorderedListItemDirective.ɵdir = /*@__PURE__*/ i0.ɵɵdefineDirective({ type: UnorderedListItemDirective, selectors: [["", "unorderedListItem", ""]], inputs: { item: ["unorderedListItem", "item"], type: "type", data: "data", keyPrefix: "keyPrefix", listStyle: "listStyle", path: "path", level: "level", templates: "templates", defaultTemplates: "defaultTemplates" }, features: [i0.ɵɵNgOnChangesFeature] });
52
+ (function () { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassMetadata(UnorderedListItemDirective, [{
53
+ type: Directive,
54
+ args: [{
55
+ selector: "[unorderedListItem]"
56
+ }]
57
+ }], function () { return [{ type: i0.ElementRef }, { type: i0.Renderer2 }, { type: i0.ViewContainerRef }]; }, { item: [{
58
+ type: Input,
59
+ args: ["unorderedListItem"]
60
+ }], type: [{
61
+ type: Input
62
+ }], data: [{
63
+ type: Input
64
+ }], keyPrefix: [{
65
+ type: Input
66
+ }], listStyle: [{
67
+ type: Input
68
+ }], path: [{
69
+ type: Input
70
+ }], level: [{
71
+ type: Input
72
+ }], templates: [{
73
+ type: Input
74
+ }], defaultTemplates: [{
75
+ type: Input
76
+ }] }); })();
77
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidW5vcmRlcmVkLWxpc3QtaXRlbS5kaXJlY3RpdmUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9zcmMvbmd4LXV0aWxzL2RpcmVjdGl2ZXMvdW5vcmRlcmVkLWxpc3QtaXRlbS5kaXJlY3RpdmUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFDLFNBQVMsRUFBRSxVQUFVLEVBQUUsS0FBSyxFQUFhLFNBQVMsRUFBaUIsZ0JBQWdCLEVBQUMsTUFBTSxlQUFlLENBQUM7QUFFbEgsT0FBTyxFQUFDLFdBQVcsRUFBQyxNQUFNLHVCQUF1QixDQUFDOztBQU1sRCxNQUFNLE9BQU8sMEJBQTBCO0lBc0JuQyxZQUFvQixVQUFzQixFQUFVLFFBQW1CLEVBQVUsYUFBK0I7UUFBNUYsZUFBVSxHQUFWLFVBQVUsQ0FBWTtRQUFVLGFBQVEsR0FBUixRQUFRLENBQVc7UUFBVSxrQkFBYSxHQUFiLGFBQWEsQ0FBa0I7SUFFaEgsQ0FBQztJQU5ELElBQUksSUFBSTtRQUNKLE9BQU8sSUFBSSxDQUFDLFVBQVUsQ0FBQyxhQUFhLENBQUM7SUFDekMsQ0FBQztJQU1ELFdBQVcsQ0FBQyxPQUFzQjtRQUM5QixJQUFJLENBQUMsSUFBSSxDQUFDLFNBQVMsSUFBSSxDQUFDLElBQUksQ0FBQyxnQkFBZ0IsSUFBSSxDQUFDLElBQUksQ0FBQyxJQUFJO1lBQUUsT0FBTztRQUNwRSxNQUFNLE9BQU8sR0FBRyxJQUFJLENBQUMsSUFBSSxDQUFDLEtBQUssWUFBWSxPQUFPLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxPQUFPLENBQUMsT0FBTyxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLENBQUM7UUFDeEcsT0FBTyxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsRUFBRTtZQUNqQixJQUFJLENBQUMsSUFBSSxDQUFDLEtBQUssR0FBRyxLQUFLLENBQUM7WUFDeEIsSUFB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WUFDakIsSUFBSTtrQkFBWixLQUFLO1lBQ0csSUFBSTtrQkFBWixLQUFLO1lBQ0csU0FBUztrQkFBakIsS0FBSztZQUNHLFNBQVM7a0JBQWpCLEtBQUs7WUFDRyxJQUFJO2tCQUFaLEtBQUs7WUFDRyxLQUFLO2tCQUFiLEtBQUs7WUFDRyxTQUFTO2tCQUFqQixLQUFLO1lBQ0csZ0JBQWdCO2tCQUF4QixLQUFLIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtEaXJlY3RpdmUsIEVsZW1lbnRSZWYsIElucHV0LCBPbkNoYW5nZXMsIFJlbmRlcmVyMiwgU2ltcGxlQ2hhbmdlcywgVmlld0NvbnRhaW5lclJlZn0gZnJvbSBcIkBhbmd1bGFyL2NvcmVcIjtcclxuaW1wb3J0IHtVbm9yZGVyZWRMaXN0U3R5bGUsIFVub3JkZXJlZExpc3RUZW1wbGF0ZXMsIFVub3JlZGVyZWRMaXN0VGVtcGxhdGV9IGZyb20gXCIuLi9jb21tb24tdHlwZXNcIjtcclxuaW1wb3J0IHtPYmplY3RVdGlsc30gZnJvbSBcIi4uL3V0aWxzL29iamVjdC51dGlsc1wiO1xyXG5pbXBvcnQge1N0cmluZ1V0aWxzfSBmcm9tIFwiLi4vdXRpbHMvc3RyaW5nLnV0aWxzXCI7XHJcblxyXG5ARGlyZWN0aXZlKHtcclxuICAgIHNlbGVjdG9yOiBcIlt1bm9yZGVyZWRMaXN0SXRlbV1cIlxyXG59KVxyXG5leHBvcnQgY2xhc3MgVW5vcmRlcmVkTGlzdEl0ZW1EaXJlY3RpdmUgaW1wbGVtZW50cyBPbkNoYW5nZXMge1xyXG5cclxuICAgIEBJbnB1dChcInVub3JkZXJlZExpc3RJdGVtXCIpIGl0ZW06IGFueTtcclxuICAgIEBJbnB1dCgpIHR5cGU6IHN0cmluZztcclxuICAgIEBJbnB1dCgpIGRhdGE6IGFueTtcclxuICAgIEBJbnB1dCgpIGtleVByZWZpeDogc3RyaW5nO1xyXG4gICAgQElucHV0KCkgbGlzdFN0eWxlOiBVbm9yZGVyZWRMaXN0U3R5bGU7XHJcbiAgICBASW5wdXQoKSBwYXRoOiBzdHJpbmc7XHJcbiAgICBASW5wdXQoKSBsZXZlbDogbnVtYmVyO1xyXG4gICAgQElucHV0KCkgdGVtcGxhdGVzOiBVbm9yZWRlcmVkTGlzdFRlbXBsYXRlW107XHJcbiAgICBASW5wdXQoKSBkZWZhdWx0VGVtcGxhdGVzOiBVbm9yZGVyZWRMaXN0VGVtcGxhdGVzO1xyXG5cclxuICAgIGlzQXJyYXk6IGJvb2xlYW47XHJcbiAgICBpc09iamVjdDogYm9vbGVhbjtcclxuICAgIHZhbHVlSXNBcnJheTogYm9vbGVhbjtcclxuICAgIHZhbHVlSXNPYmplY3Q6IGJvb2xlYW47XHJcbiAgICB2YWx1ZVR5cGU6IHN0cmluZztcclxuXHJcbiAgICBnZXQgZWxlbSgpOiBIVE1MRWxlbWVudCB7XHJcbiAgICAgICAgcmV0dXJuIHRoaXMuZWxlbWVudFJlZi5uYXRpdmVFbGVtZW50O1xyXG4gICAgfVxyXG5cclxuICAgIGNvbnN0cnVjdG9yKHByaXZhdGUgZWxlbWVudFJlZjogRWxlbWVudFJlZiwgcHJpdmF0ZSByZW5kZXJlcjogUmVuZGVyZXIyLCBwcml2YXRlIHZpZXdDb250YWluZXI6IFZpZXdDb250YWluZXJSZWYpIHtcclxuXHJcbiAgICB9XHJcblxyXG4gICAgbmdPbkNoYW5nZXMoY2hhbmdlczogU2ltcGxlQ2hhbmdlcyk6IHZvaWQge1xyXG4gICAgICAgIGlmICghdGhpcy50ZW1wbGF0ZXMgfHwgIXRoaXMuZGVmYXVsdFRlbXBsYXRlcyB8fCAhdGhpcy5pdGVtKSByZXR1cm47XHJcbiAgICAgICAgY29uc3QgcHJvbWlzZSA9IHRoaXMuaXRlbS52YWx1ZSBpbnN0YW5jZW9mIFByb21pc2UgPyB0aGlzLml0ZW0udmFsdWUgOiBQcm9taXNlLnJlc29sdmUodGhpcy5pdGVtLnZhbHVlKTtcclxuICAgICAgICBwcm9taXNlLnRoZW4odmFsdWUgPT4ge1xyXG4gICAgICAgICAgICB0aGlzLml0ZW0udmFsdWUgPSB2YWx1ZTtcclxuICAgICAgICAgICAgdGhpcy5wYXRoID0gT2JqZWN0VXRpbHMuaXNOdWxsT3JVbmRlZmluZWQodGhpcy5wYXRoKSA/IFwiXCIgOiB0aGlzLnBhdGgudG9TdHJpbmcoKTtcclxuICAgICAgICAgICAgdGhpcy5pc0FycmF5ID0gT2JqZWN0VXRpbHMuaXNBcnJheSh0aGlzLmRhdGEpO1xyXG4gICAgICAgICAgICB0aGlzLmlzT2JqZWN0ID0gT2JqZWN0VXRpbHMuaXNPYmplY3QodGhpcy5kYXRhKTtcclxuICAgICAgICAgICAgdGhpcy52YWx1ZUlzQXJyYXkgPSBPYmplY3RVdGlscy5pc0FycmF5KHRoaXMuaXRlbS52YWx1ZSk7XHJcbiAgICAgICAgICAgIHRoaXMudmFsdWVJc09iamVjdCA9IE9iamVjdFV0aWxzLmlzT2JqZWN0KHRoaXMuaXRlbS52YWx1ZSk7XHJcbiAgICAgICAgICAgIHRoaXMudmFsdWVUeXBlID0gT2JqZWN0VXRpbHMuZ2V0VHlwZSh0aGlzLml0ZW0udmFsdWUpO1xyXG4gICAgICAgICAgICBjb25zdCBjb250ZXh0OiBhbnkgPSB0aGlzO1xyXG4gICAgICAgICAgICBjb25zdCB0ZW1wbGF0ZSA9IHRoaXMudGVtcGxhdGVzLmZpbmQodCA9PiB0LnR5cGUgPT0gdGhpcy50eXBlICYmIE9iamVjdFV0aWxzLmV2YWx1YXRlKHQuc2VsZWN0b3IsIGNvbnRleHQpKSB8fCB0aGlzLmRlZmF1bHRUZW1wbGF0ZXNbdGhpcy50eXBlXTtcclxuICAgICAgICAgICAgLy8gU2V0IHZpZXdcclxuICAgICAgICAgICAgdGhpcy52aWV3Q29udGFpbmVyLmNsZWFyKCk7XHJcbiAgICAgICAgICAgIHRoaXMudmlld0NvbnRhaW5lci5jcmVhdGVFbWJlZGRlZFZpZXcodGVtcGxhdGUsIGNvbnRleHQpO1xyXG4gICAgICAgICAgICAvLyBTZXQgY2xhc3Nlc1xyXG4gICAgICAgICAgICBpZiAodGhpcy50eXBlICE9PSBcIml0ZW1cIikgcmV0dXJuO1xyXG4gICAgICAgICAgICB0aGlzLml0ZW0uY2xhc3NMaXN0ID0gW107XHJcbiAgICAgICAgICAgIHRoaXMuaXNDbGFzcyhcImlzLWFycmF5XCIsIHRoaXMudmFsdWVJc0FycmF5KTtcclxuICAgICAgICAgICAgdGhpcy5pc0NsYXNzKFwiaXMtb2JqZWN0XCIsIHRoaXMudmFsdWVJc09iamVjdCk7XHJcbiAgICAgICAgICAgIHRoaXMuaXNDbGFzcyhcImlzLXZhbHVlXCIsICF0aGlzLnZhbHVlSXNPYmplY3QgJiYgIXRoaXMudmFsdWVJc0FycmF5KTtcclxuICAgICAgICAgICAgdGhpcy5pc0NsYXNzKGB0eXBlLSR7dGhpcy52YWx1ZVR5cGV9YCk7XHJcbiAgICAgICAgICAgIHRoaXMuaXNDbGFzcyhgcGF0aC0ke3RoaXMucGF0aC5yZXBsYWNlKC9cXC4vZywgXCItXCIpfWApO1xyXG4gICAgICAgICAgICB0aGlzLmlzQ2xhc3MoYGtleS0ke3RoaXMuaXRlbS5rZXl9YCk7XHJcbiAgICAgICAgfSwgcmVhc29uID0+IHtcclxuICAgICAgICAgICAgY29uc29sZS5sb2coXCJDYW4ndCBoYW5kbGUgcHJvbWlzZSByZWplY3Rpb25cIiwgcmVhc29uKTtcclxuICAgICAgICB9KTtcclxuICAgIH1cclxuXHJcbiAgICBwcml2YXRlIGlzQ2xhc3MoY2xhc3NOYW1lOiBzdHJpbmcsIHZhbHVlOiBib29sZWFuID0gdHJ1ZSk6IHZvaWQge1xyXG4gICAgICAgIGlmICghdmFsdWUpIHJldHVybjtcclxuICAgICAgICB0aGlzLml0ZW0uY2xhc3NMaXN0LnB1c2goY2xhc3NOYW1lKTtcclxuICAgIH1cclxufVxyXG4iXX0=
@@ -0,0 +1,26 @@
1
+ import { Directive, ElementRef, Input, TemplateRef } from "@angular/core";
2
+ import { UnorederedListTemplate } from "../common-types";
3
+ import * as i0 from "@angular/core";
4
+ export class UnorderedListTemplateDirective extends UnorederedListTemplate {
5
+ constructor(elementRef, templateRef) {
6
+ super();
7
+ this.elementRef = elementRef;
8
+ this.templateRef = templateRef;
9
+ }
10
+ createEmbeddedView(context) {
11
+ return this.templateRef.createEmbeddedView(context);
12
+ }
13
+ }
14
+ UnorderedListTemplateDirective.ɵfac = function UnorderedListTemplateDirective_Factory(t) { return new (t || UnorderedListTemplateDirective)(i0.ɵɵdirectiveInject(i0.ElementRef), i0.ɵɵdirectiveInject(i0.TemplateRef)); };
15
+ UnorderedListTemplateDirective.ɵdir = /*@__PURE__*/ i0.ɵɵdefineDirective({ type: UnorderedListTemplateDirective, selectors: [["ng-template", "type", "", "selector", ""]], inputs: { type: "type", selector: "selector" }, features: [i0.ɵɵInheritDefinitionFeature] });
16
+ (function () { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassMetadata(UnorderedListTemplateDirective, [{
17
+ type: Directive,
18
+ args: [{
19
+ selector: "ng-template[type][selector]"
20
+ }]
21
+ }], function () { return [{ type: i0.ElementRef }, { type: i0.TemplateRef }]; }, { type: [{
22
+ type: Input
23
+ }], selector: [{
24
+ type: Input
25
+ }] }); })();
26
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidW5vcmRlcmVkLWxpc3QtdGVtcGxhdGUuZGlyZWN0aXZlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vc3JjL25neC11dGlscy9kaXJlY3RpdmVzL3Vub3JkZXJlZC1saXN0LXRlbXBsYXRlLmRpcmVjdGl2ZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUMsU0FBUyxFQUFFLFVBQVUsRUFBbUIsS0FBSyxFQUFFLFdBQVcsRUFBQyxNQUFNLGVBQWUsQ0FBQztBQUN6RixPQUFPLEVBQUMsc0JBQXNCLEVBQUMsTUFBTSxpQkFBaUIsQ0FBQzs7QUFNdkQsTUFBTSxPQUFPLDhCQUErQixTQUFRLHNCQUFzQjtJQUt0RSxZQUFtQixVQUFzQixFQUFTLFdBQTZCO1FBQzNFLEtBQUssRUFBRSxDQUFDO1FBRE8sZUFBVSxHQUFWLFVBQVUsQ0FBWTtRQUFTLGdCQUFXLEdBQVgsV0FBVyxDQUFrQjtJQUUvRSxDQUFDO0lBRUQsa0JBQWtCLENBQUMsT0FBWTtRQUMzQixPQUFPLElBQUksQ0FBQyxXQUFXLENBQUMsa0JBQWtCLENBQUMsT0FBTyxDQUFDLENBQUM7SUFDeEQsQ0FBQzs7NEdBWFEsOEJBQThCO2lGQUE5Qiw4QkFBOEI7dUZBQTlCLDhCQUE4QjtjQUoxQyxTQUFTO2VBQUM7Z0JBQ1AsUUFBUSxFQUFFLDZCQUE2QjthQUMxQzt1RkFJWSxJQUFJO2tCQUFaLEtBQUs7WUFDRyxRQUFRO2tCQUFoQixLQUFLIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtEaXJlY3RpdmUsIEVsZW1lbnRSZWYsIEVtYmVkZGVkVmlld1JlZiwgSW5wdXQsIFRlbXBsYXRlUmVmfSBmcm9tIFwiQGFuZ3VsYXIvY29yZVwiO1xyXG5pbXBvcnQge1Vub3JlZGVyZWRMaXN0VGVtcGxhdGV9IGZyb20gXCIuLi9jb21tb24tdHlwZXNcIjtcclxuXHJcbkBEaXJlY3RpdmUoe1xyXG4gICAgc2VsZWN0b3I6IFwibmctdGVtcGxhdGVbdHlwZV1bc2VsZWN0b3JdXCJcclxufSlcclxuXHJcbmV4cG9ydCBjbGFzcyBVbm9yZGVyZWRMaXN0VGVtcGxhdGVEaXJlY3RpdmUgZXh0ZW5kcyBVbm9yZWRlcmVkTGlzdFRlbXBsYXRlIHtcclxuXHJcbiAgICBASW5wdXQoKSB0eXBlOiBzdHJpbmc7XHJcbiAgICBASW5wdXQoKSBzZWxlY3Rvcjogc3RyaW5nO1xyXG5cclxuICAgIGNvbnN0cnVjdG9yKHB1YmxpYyBlbGVtZW50UmVmOiBFbGVtZW50UmVmLCBwdWJsaWMgdGVtcGxhdGVSZWY6IFRlbXBsYXRlUmVmPGFueT4pIHtcclxuICAgICAgICBzdXBlcigpO1xyXG4gICAgfVxyXG5cclxuICAgIGNyZWF0ZUVtYmVkZGVkVmlldyhjb250ZXh0OiBhbnkpOiBFbWJlZGRlZFZpZXdSZWY8YW55PiB7XHJcbiAgICAgICAgcmV0dXJuIHRoaXMudGVtcGxhdGVSZWYuY3JlYXRlRW1iZWRkZWRWaWV3KGNvbnRleHQpO1xyXG4gICAgfVxyXG59XHJcbiJdfQ==
@@ -0,0 +1,322 @@
1
+ import { APP_INITIALIZER, ErrorHandler, Injector, NgModule } from "@angular/core";
2
+ import { EVENT_MANAGER_PLUGINS } from "@angular/platform-browser";
3
+ import { CommonModule } from "@angular/common";
4
+ import { FormsModule } from "@angular/forms";
5
+ import { UrlSerializer } from "@angular/router";
6
+ import { DeviceDetectorService } from "ngx-device-detector";
7
+ import { API_SERVICE, AUTH_SERVICE, CONFIG_SERVICE, GLOBAL_TEMPLATES, ICON_SERVICE, LANGUAGE_SERVICE, PROMISE_SERVICE, ROOT_ELEMENT, TOASTER_SERVICE } from "./common-types";
8
+ import { AuthGuard } from "./utils/auth.guard";
9
+ import { AclService } from "./services/acl.service";
10
+ import { ApiService } from "./services/api.service";
11
+ import { StaticAuthService } from "./services/auth.service";
12
+ import { BaseHttpClient } from "./services/base-http.client";
13
+ import { BaseHttpService } from "./services/base-http.service";
14
+ import { ConfigService } from "./services/config.service";
15
+ import { ErrorHandlerService } from "./services/error-handler.service";
16
+ import { EventsService } from "./services/events.service";
17
+ import { FormatterService } from "./services/formatter.service";
18
+ import { GlobalTemplateService } from "./services/global-template.service";
19
+ import { IconService } from "./services/icon.service";
20
+ import { LanguageService } from "./services/language.service";
21
+ import { PromiseService } from "./services/promise.service";
22
+ import { OpenApiService } from "./services/open-api.service";
23
+ import { StateService } from "./services/state.service";
24
+ import { StaticLanguageService } from "./services/static-language.service";
25
+ import { StorageService } from "./services/storage.service";
26
+ import { ConsoleToasterService } from "./services/toaster.service";
27
+ import { TranslatedUrlSerializer } from "./services/translated-url.serializer";
28
+ import { UniversalService } from "./services/universal.service";
29
+ import { ResizeEventPlugin } from "./plugins/resize-event.plugin";
30
+ import { ScrollEventPlugin } from "./plugins/scroll-event.plugin";
31
+ import { AsyncMethodDirective } from "./directives/async-method.directive";
32
+ import { BackgroundDirective } from "./directives/background.directive";
33
+ import { DynamicTableTemplateDirective } from "./directives/dynamic-table-template.directive";
34
+ import { GlobalTemplateDirective } from "./directives/global-template.directive";
35
+ import { IconDirective } from "./directives/icon.directive";
36
+ import { NgxTemplateOutletDirective } from "./directives/ngx-template-outlet.directive";
37
+ import { PaginationDirective } from "./directives/pagination.directive";
38
+ import { PaginationItemDirective } from "./directives/pagination-item.directive";
39
+ import { ResourceIfDirective } from "./directives/resource-if.directive";
40
+ import { StickyDirective } from "./directives/sticky.directive";
41
+ import { StickyClassDirective } from "./directives/sticky-class.directive";
42
+ import { UnorderedListItemDirective } from "./directives/unordered-list-item.directive";
43
+ import { UnorderedListTemplateDirective } from "./directives/unordered-list-template.directive";
44
+ import { ChunkPipe } from "./pipes/chunk.pipe";
45
+ import { EntriesPipe } from "./pipes/entries.pipe";
46
+ import { ExtraItemPropertiesPipe } from "./pipes/extra-item-properties.pipe";
47
+ import { FilterPipe } from "./pipes/filter.pipe";
48
+ import { FindPipe } from "./pipes/find.pipe";
49
+ import { FormatNumberPipe } from "./pipes/format-number.pipe";
50
+ import { GetOffsetPipe } from "./pipes/get-offset.pipe";
51
+ import { GetTypePipe } from "./pipes/get-type.pipe";
52
+ import { GlobalTemplatePipe } from "./pipes/global-template.pipe";
53
+ import { GroupByPipe } from "./pipes/group-by.pipe";
54
+ import { IsTypePipe } from "./pipes/is-type.pipe";
55
+ import { JoinPipe } from "./pipes/join.pipe";
56
+ import { KeysPipe } from "./pipes/keys.pipe";
57
+ import { MapPipe } from "./pipes/map.pipe";
58
+ import { MaxPipe } from "./pipes/max.pipe";
59
+ import { MinPipe } from "./pipes/min.pipe";
60
+ import { ReducePipe } from "./pipes/reduce.pipe";
61
+ import { RemapPipe } from "./pipes/remap.pipe";
62
+ import { ReplacePipe } from "./pipes/replace.pipe";
63
+ import { ReversePipe } from "./pipes/reverse.pipe";
64
+ import { RoundPipe } from "./pipes/round.pipe";
65
+ import { SafeHtmlPipe } from "./pipes/safe-html.pipe";
66
+ import { TranslatePipe } from "./pipes/translate.pipe";
67
+ import { ValuesPipe } from "./pipes/values.pipe";
68
+ import { DynamicTableComponent } from "./components/dynamic-table/dynamic-table.component";
69
+ import { PaginationMenuComponent } from "./components/pagination-menu/pagination-menu.component";
70
+ import { UnorderedListComponent } from "./components/unordered-list/unordered-list.component";
71
+ import * as i0 from "@angular/core";
72
+ // --- Pipes ---
73
+ export const pipes = [
74
+ ChunkPipe,
75
+ EntriesPipe,
76
+ ExtraItemPropertiesPipe,
77
+ FilterPipe,
78
+ FindPipe,
79
+ FormatNumberPipe,
80
+ GetOffsetPipe,
81
+ GetTypePipe,
82
+ GlobalTemplatePipe,
83
+ GroupByPipe,
84
+ IsTypePipe,
85
+ JoinPipe,
86
+ KeysPipe,
87
+ MapPipe,
88
+ MaxPipe,
89
+ MinPipe,
90
+ ReducePipe,
91
+ RemapPipe,
92
+ ReplacePipe,
93
+ ReversePipe,
94
+ RoundPipe,
95
+ SafeHtmlPipe,
96
+ TranslatePipe,
97
+ ValuesPipe
98
+ ];
99
+ // --- Directives ---
100
+ export const directives = [
101
+ AsyncMethodDirective,
102
+ BackgroundDirective,
103
+ DynamicTableTemplateDirective,
104
+ GlobalTemplateDirective,
105
+ IconDirective,
106
+ NgxTemplateOutletDirective,
107
+ PaginationDirective,
108
+ PaginationItemDirective,
109
+ ResourceIfDirective,
110
+ StickyDirective,
111
+ StickyClassDirective,
112
+ UnorderedListItemDirective,
113
+ UnorderedListTemplateDirective
114
+ ];
115
+ // --- Components ---
116
+ export const components = [
117
+ DynamicTableComponent,
118
+ PaginationMenuComponent,
119
+ UnorderedListComponent
120
+ ];
121
+ export const providers = [
122
+ ...pipes,
123
+ BaseHttpClient,
124
+ BaseHttpService,
125
+ AuthGuard,
126
+ AclService,
127
+ ApiService,
128
+ StaticAuthService,
129
+ ConfigService,
130
+ ErrorHandlerService,
131
+ EventsService,
132
+ FormatterService,
133
+ GlobalTemplateService,
134
+ IconService,
135
+ LanguageService,
136
+ OpenApiService,
137
+ PromiseService,
138
+ StateService,
139
+ StaticLanguageService,
140
+ StorageService,
141
+ ConsoleToasterService,
142
+ TranslatedUrlSerializer,
143
+ UniversalService,
144
+ DeviceDetectorService,
145
+ {
146
+ provide: EVENT_MANAGER_PLUGINS,
147
+ useClass: ResizeEventPlugin,
148
+ multi: true
149
+ },
150
+ {
151
+ provide: EVENT_MANAGER_PLUGINS,
152
+ useClass: ScrollEventPlugin,
153
+ multi: true
154
+ },
155
+ {
156
+ provide: UrlSerializer,
157
+ useExisting: TranslatedUrlSerializer
158
+ },
159
+ {
160
+ provide: ErrorHandler,
161
+ useExisting: ErrorHandlerService
162
+ }
163
+ ];
164
+ export function loadConfig(config) {
165
+ return config.load;
166
+ }
167
+ export class NgxUtilsModule {
168
+ static forRoot(config) {
169
+ return {
170
+ ngModule: NgxUtilsModule,
171
+ providers: [
172
+ ...providers,
173
+ {
174
+ provide: API_SERVICE,
175
+ useExisting: (!config ? null : config.apiService) || ApiService
176
+ },
177
+ {
178
+ provide: AUTH_SERVICE,
179
+ useExisting: (!config ? null : config.authService) || StaticAuthService
180
+ },
181
+ {
182
+ provide: ICON_SERVICE,
183
+ useExisting: (!config ? null : config.iconService) || IconService
184
+ },
185
+ {
186
+ provide: LANGUAGE_SERVICE,
187
+ useExisting: (!config ? null : config.languageService) || StaticLanguageService
188
+ },
189
+ {
190
+ provide: TOASTER_SERVICE,
191
+ useExisting: (!config ? null : config.toasterService) || ConsoleToasterService
192
+ },
193
+ {
194
+ provide: PROMISE_SERVICE,
195
+ useExisting: (!config ? null : config.promiseService) || PromiseService
196
+ },
197
+ {
198
+ provide: CONFIG_SERVICE,
199
+ useExisting: (!config ? null : config.configService) || ConfigService
200
+ },
201
+ {
202
+ provide: GLOBAL_TEMPLATES,
203
+ useExisting: (!config ? null : config.globalTemplates) || GlobalTemplateService
204
+ },
205
+ {
206
+ provide: ROOT_ELEMENT,
207
+ useValue: null
208
+ },
209
+ {
210
+ provide: APP_INITIALIZER,
211
+ useFactory: (!config ? null : config.initializeApp) || loadConfig,
212
+ multi: true,
213
+ deps: [(!config ? null : config.initializeApp) ? Injector : CONFIG_SERVICE]
214
+ }
215
+ ]
216
+ };
217
+ }
218
+ }
219
+ NgxUtilsModule.ɵfac = function NgxUtilsModule_Factory(t) { return new (t || NgxUtilsModule)(); };
220
+ NgxUtilsModule.ɵmod = /*@__PURE__*/ i0.ɵɵdefineNgModule({ type: NgxUtilsModule });
221
+ NgxUtilsModule.ɵinj = /*@__PURE__*/ i0.ɵɵdefineInjector({ providers: pipes, imports: [[
222
+ CommonModule,
223
+ FormsModule
224
+ ], FormsModule] });
225
+ (function () { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassMetadata(NgxUtilsModule, [{
226
+ type: NgModule,
227
+ args: [{
228
+ declarations: [
229
+ ...pipes,
230
+ ...directives,
231
+ ...components
232
+ ],
233
+ imports: [
234
+ CommonModule,
235
+ FormsModule
236
+ ],
237
+ exports: [
238
+ ...pipes,
239
+ ...directives,
240
+ ...components,
241
+ FormsModule
242
+ ],
243
+ providers: pipes
244
+ }]
245
+ }], null, null); })();
246
+ (function () { (typeof ngJitMode === "undefined" || ngJitMode) && i0.ɵɵsetNgModuleScope(NgxUtilsModule, { declarations: [ChunkPipe,
247
+ EntriesPipe,
248
+ ExtraItemPropertiesPipe,
249
+ FilterPipe,
250
+ FindPipe,
251
+ FormatNumberPipe,
252
+ GetOffsetPipe,
253
+ GetTypePipe,
254
+ GlobalTemplatePipe,
255
+ GroupByPipe,
256
+ IsTypePipe,
257
+ JoinPipe,
258
+ KeysPipe,
259
+ MapPipe,
260
+ MaxPipe,
261
+ MinPipe,
262
+ ReducePipe,
263
+ RemapPipe,
264
+ ReplacePipe,
265
+ ReversePipe,
266
+ RoundPipe,
267
+ SafeHtmlPipe,
268
+ TranslatePipe,
269
+ ValuesPipe, AsyncMethodDirective,
270
+ BackgroundDirective,
271
+ DynamicTableTemplateDirective,
272
+ GlobalTemplateDirective,
273
+ IconDirective,
274
+ NgxTemplateOutletDirective,
275
+ PaginationDirective,
276
+ PaginationItemDirective,
277
+ ResourceIfDirective,
278
+ StickyDirective,
279
+ StickyClassDirective,
280
+ UnorderedListItemDirective,
281
+ UnorderedListTemplateDirective, DynamicTableComponent,
282
+ PaginationMenuComponent,
283
+ UnorderedListComponent], imports: [CommonModule,
284
+ FormsModule], exports: [ChunkPipe,
285
+ EntriesPipe,
286
+ ExtraItemPropertiesPipe,
287
+ FilterPipe,
288
+ FindPipe,
289
+ FormatNumberPipe,
290
+ GetOffsetPipe,
291
+ GetTypePipe,
292
+ GlobalTemplatePipe,
293
+ GroupByPipe,
294
+ IsTypePipe,
295
+ JoinPipe,
296
+ KeysPipe,
297
+ MapPipe,
298
+ MaxPipe,
299
+ MinPipe,
300
+ ReducePipe,
301
+ RemapPipe,
302
+ ReplacePipe,
303
+ ReversePipe,
304
+ RoundPipe,
305
+ SafeHtmlPipe,
306
+ TranslatePipe,
307
+ ValuesPipe, AsyncMethodDirective,
308
+ BackgroundDirective,
309
+ DynamicTableTemplateDirective,
310
+ GlobalTemplateDirective,
311
+ IconDirective,
312
+ NgxTemplateOutletDirective,
313
+ PaginationDirective,
314
+ PaginationItemDirective,
315
+ ResourceIfDirective,
316
+ StickyDirective,
317
+ StickyClassDirective,
318
+ UnorderedListItemDirective,
319
+ UnorderedListTemplateDirective, DynamicTableComponent,
320
+ PaginationMenuComponent,
321
+ UnorderedListComponent, FormsModule] }); })();
322
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibmd4LXV0aWxzLm1vZHVsZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9uZ3gtdXRpbHMvbmd4LXV0aWxzLm1vZHVsZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUMsZUFBZSxFQUFFLFlBQVksRUFBVSxRQUFRLEVBQXVCLFFBQVEsRUFBQyxNQUFNLGVBQWUsQ0FBQztBQUM3RyxPQUFPLEVBQUMscUJBQXFCLEVBQUMsTUFBTSwyQkFBMkIsQ0FBQztBQUNoRSxPQUFPLEVBQUMsWUFBWSxFQUFDLE1BQU0saUJBQWlCLENBQUM7QUFDN0MsT0FBTyxFQUFDLFdBQVcsRUFBQyxNQUFNLGdCQUFnQixDQUFDO0FBQzNDLE9BQU8sRUFBQyxhQUFhLEVBQUMsTUFBTSxpQkFBaUIsQ0FBQztBQUM5QyxPQUFPLEVBQUMscUJBQXFCLEVBQUMsTUFBTSxxQkFBcUIsQ0FBQztBQUUxRCxPQUFPLEVBQ0gsV0FBVyxFQUNYLFlBQVksRUFDWixjQUFjLEVBQUUsZ0JBQWdCLEVBQ2hDLFlBQVksRUFHWixnQkFBZ0IsRUFDaEIsZUFBZSxFQUFFLFlBQVksRUFDN0IsZUFBZSxFQUNsQixNQUFNLGdCQUFnQixDQUFDO0FBRXhCLE9BQU8sRUFBQyxTQUFTLEVBQUMsTUFBTSxvQkFBb0IsQ0FBQztBQUM3QyxPQUFPLEVBQUMsVUFBVSxFQUFDLE1BQU0sd0JBQXdCLENBQUM7QUFDbEQsT0FBTyxFQUFDLFVBQVUsRUFBQyxNQUFNLHdCQUF3QixDQUFDO0FBQ2xELE9BQU8sRUFBQyxpQkFBaUIsRUFBQyxNQUFNLHlCQUF5QixDQUFDO0FBQzFELE9BQU8sRUFBQyxjQUFjLEVBQUMsTUFBTSw2QkFBNkIsQ0FBQztBQUMzRCxPQUFPLEVBQUMsZUFBZSxFQUFDLE1BQU0sOEJBQThCLENBQUM7QUFDN0QsT0FBTyxFQUFDLGFBQWEsRUFBQyxNQUFNLDJCQUEyQixDQUFDO0FBQ3hELE9BQU8sRUFBQyxtQkFBbUIsRUFBQyxNQUFNLGtDQUFr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bUJBQW1CO1FBQ25CLDZCQUE2QjtRQUM3Qix1QkFBdUI7UUFDdkIsYUFBYTtRQUNiLDBCQUEwQjtRQUMxQixtQkFBbUI7UUFDbkIsdUJBQXVCO1FBQ3ZCLG1CQUFtQjtRQUNuQixlQUFlO1FBQ2Ysb0JBQW9CO1FBQ3BCLDBCQUEwQjtRQUMxQiw4QkFBOEIsRUFLOUIscUJBQXFCO1FBQ3JCLHVCQUF1QjtRQUN2QixzQkFBc0IsRUFrRWxCLFdBQVciLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge0FQUF9JTklUSUFMSVpFUiwgRXJyb3JIYW5kbGVyLCBJbmplY3QsIEluamVjdG9yLCBNb2R1bGVXaXRoUHJvdmlkZXJzLCBOZ01vZHVsZX0gZnJvbSBcIkBhbmd1bGFyL2NvcmVcIjtcclxuaW1wb3J0IHtFVkVOVF9NQU5BR0VSX1BMVUdJTlN9IGZyb20gXCJAYW5ndWxhci9wbGF0Zm9ybS1icm93c2VyXCI7XHJcbmltcG9ydCB7Q29tbW9uTW9kdWxlfSBmcm9tIFwiQGFuZ3VsYXIvY29tbW9uXCI7XHJcbmltcG9ydCB7Rm9ybXNNb2R1bGV9IGZyb20gXCJAYW5ndWxhci9mb3Jtc1wiO1xyXG5pbXBvcnQge1VybFNlcmlhbGl6ZXJ9IGZyb20gXCJAYW5ndWxhci9yb3V0ZXJcIjtcclxuaW1wb3J0IHtEZXZpY2VEZXRlY3RvclNlcnZpY2V9IGZyb20gXCJuZ3gtZGV2aWNlLWRldGVjdG9yXCI7XHJcblxyXG5pbXBvcnQge1xyXG4gICAgQVBJX1NFUlZJQ0UsXHJcbiAgICBBVVRIX1NFUlZJQ0UsXHJcbiAgICBDT05GSUdfU0VSVklDRSwgR0xPQkFMX1RFTVBMQVRFUyxcclxuICAgIElDT05fU0VSVklDRSxcclxuICAgIElDb25maWdTZXJ2aWNlLFxyXG4gICAgSU1vZHVsZUNvbmZpZyxcclxuICAgIExBTkdVQUdFX1NFUlZJQ0UsXHJcbiAgICBQUk9NSVNFX1NFUlZJQ0UsIFJPT1RfRUxFTUVOVCxcclxuICAgIFRPQVNURVJfU0VSVklDRVxyXG59IGZyb20gXCIuL2NvbW1vbi10eXBlc1wiO1xyXG5cclxuaW1wb3J0IHtBdXRoR3VhcmR9IGZyb20gXCIuL3V0aWxzL2F1dGguZ3VhcmRcIjtcclxuaW1wb3J0IHtBY2xTZXJ2aWNlfSBmcm9tIFwiLi9zZXJ2aWNlcy9hY2wuc2VydmljZVwiO1xyXG5pbXBvcnQge0FwaVNlcnZpY2V9IGZyb20gXCIuL3NlcnZpY2VzL2FwaS5zZXJ2aWNlXCI7XHJcbmltcG9ydCB7U3RhdGljQXV0aFNlcnZpY2V9IGZyb20gXCIuL3NlcnZpY2VzL2F1dGguc2VydmljZVwiO1xyXG5pbXBvcnQge0Jhc2VIdHRwQ2xpZW50fSBmcm9tIFwiLi9zZXJ2aWNlcy9iYXNlLWh0dHAuY2xpZW50XCI7XHJcbmltcG9ydCB7QmFzZUh0dHBTZXJ2aWNlfSBmcm9tIFwiLi9zZXJ2aWNlcy9iYXNlLWh0dHAuc2VydmljZVwiO1xyXG5pbXBvcnQge0NvbmZpZ1NlcnZpY2V9IGZyb20gXCIuL3NlcnZpY2VzL2NvbmZpZy5zZXJ2aWNlXCI7XHJcbmltcG9ydCB7RXJyb3JIYW5kbGVyU2VydmljZX0gZnJvbSBcIi4vc2VydmljZXMvZXJyb3ItaGFuZGxlci5zZXJ2aWNlXCI7XHJcbmltcG9ydCB7RXZlbnRzU2VydmljZX0gZnJvbSBcIi4vc2VydmljZXMvZXZlbnRzLnNlcnZpY2VcIjtcclxuaW1wb3J0IHtGb3JtYXR0ZXJTZXJ2aWNlfSBmcm9tIFwiLi9zZXJ2aWNlcy9mb3JtYXR0ZXIuc2VydmljZVwiO1xyXG5pbXBvcnQge0dsb2JhbFRlbXBsYXRlU2VydmljZX0gZnJvbSBcIi4vc2VydmljZXMvZ2xvYmFsLXRlbXBsYXRlLnNlcnZpY2VcIjtcclxuaW1wb3J0IHtJY29uU2VydmljZX0gZnJvbSBcIi4vc2VydmljZXMvaWNvbi5zZXJ2aWNlXCI7XHJcbmltcG9ydCB7TGFuZ3VhZ2VTZXJ2aWNlfSBmcm9tIFwiLi9zZXJ2aWNlcy9sYW5ndWFnZS5zZXJ2aWNlXCI7XHJcbmltcG9ydCB7UHJvbWlzZVNlcnZpY2V9IGZyb20gXCIuL3NlcnZpY2VzL3Byb21pc2Uuc2VydmljZVwiO1xyXG5pbXBvcnQge09wZW5BcGlTZXJ2aWNlfSBmcm9tIFwiLi9zZXJ2aWNlcy9vcGVuLWFwaS5zZXJ2aWNlXCI7XHJcbmltcG9ydCB7U3RhdGVTZXJ2aWNlfSBmcm9tIFwiLi9zZXJ2aWNlcy9zdGF0ZS5zZXJ2aWNlXCI7XHJcbmltcG9ydCB7U3RhdGljTGFuZ3VhZ2VTZXJ2aWNlfSBmcm9tIFwiLi9zZXJ2aWNlcy9zdGF0aWMtbGFuZ3VhZ2Uuc2VydmljZVwiO1xyXG5pbXBvcnQge1N0b3JhZ2VTZXJ2aWNlfSBmcm9tIFwiLi9zZXJ2aWNlcy9zdG9yYWdlLnNlcnZpY2VcIjtcclxuaW1wb3J0IHtDb25zb2xlVG9hc3RlclNlcnZpY2V9IGZyb20gXCIuL3NlcnZpY2VzL3RvYXN0ZXIuc2VydmljZVwiO1xyXG5pbXBvcnQge1RyYW5zbGF0ZWRVcmxTZXJpYWxpemVyfSBmcm9tIFwiLi9zZXJ2aWNlcy90cmFuc2xhdGVkLXVybC5zZXJpYWxpemVyXCI7XHJcbmltcG9ydCB7VW5pdmVyc2FsU2VydmljZX0gZnJvbSBcIi4vc2VydmljZXMvdW5pdmVyc2FsLnNlcnZpY2VcIjtcclxuaW1wb3J0IHtSZXNpemVFdmVudFBsdWdpbn0gZnJvbSBcIi4vcGx1Z2lucy9yZXNpemUtZXZlbnQucGx1Z2luXCI7XHJcbmltcG9ydCB7U2Nyb2xsRXZlbnRQbHVnaW59IGZyb20gXCIuL3BsdWdpbnMvc2Nyb2xsLWV2ZW50LnBsdWdpblwiO1xyXG5pbXBvcnQge0FzeW5jTWV0aG9kRGlyZWN0aXZlfSBmcm9tIFwiLi9kaXJlY3RpdmVzL2FzeW5jLW1ldGhvZC5kaXJlY3RpdmVcIjtcclxuaW1wb3J0IHtCYWNrZ3JvdW5kRGlyZWN0aXZlfSBmcm9tIFwiLi9kaXJlY3RpdmVzL2JhY2tncm91bmQuZGlyZWN0aXZlXCI7XHJcbmltcG9ydCB7RHluYW1pY1RhYmxlVGVtcGxhdGVEaXJlY3RpdmV9IGZyb20gXCIuL2RpcmVjdGl2ZXMvZHluYW1pYy10YWJsZS10ZW1wbGF0ZS5kaXJlY3RpdmVcIjtcclxuaW1wb3J0IHtHbG9iYWxUZW1wbGF0ZURpcmVjdGl2ZX0gZnJvbSBcIi4vZGlyZWN0aXZlcy9nbG9iYWwtdGVtcGxhdGUuZGlyZWN0aXZlXCI7XHJcbmltcG9ydCB7SWNvbkRpcmVjdGl2ZX0gZnJvbSBcIi4vZGlyZWN0aXZlcy9pY29uLmRpcmVjdGl2ZVwiO1xyXG5pbXBvcnQge05neFRlbXBsYXRlT3V0bGV0RGlyZWN0aXZlfSBmcm9tIFwiLi9kaXJlY3RpdmVzL25neC10ZW1wbGF0ZS1vdXRsZXQuZGlyZWN0aXZlXCI7XHJcbmltcG9ydCB7UGFnaW5hdGlvbkRpcmVjdGl2ZX0gZnJvbSBcIi4vZGlyZWN0aXZlcy9wYWdpbmF0aW9uLmRpcmVjdGl2ZVwiO1xyXG5pbXBvcnQge1BhZ2luYXRpb25JdGVtRGlyZWN0aXZlfSBmcm9tIFwiLi9kaXJlY3RpdmVzL3BhZ2luYXRpb24taXRlbS5kaXJlY3RpdmVcIjtcclxuaW1wb3J0IHtSZXNvdXJjZUlmRGlyZWN0aXZlfSBmcm9tIFwiLi9kaXJlY3RpdmVzL3Jlc291cmNlLWlmLmRpcmVjdGl2ZVwiO1xyXG5pbXBvcnQge1N0aWNreURpcmVjdGl2ZX0gZnJvbSBcIi4vZGlyZWN0aXZlcy9zdGlja3kuZGlyZWN0aXZlXCI7XHJcbmltcG9ydCB7U3RpY2t5Q2xhc3NEaXJlY3RpdmV9IGZyb20gXCIuL2RpcmVjdGl2ZXMvc3RpY2t5LWNsYXNzLmRpcmVjdGl2ZVwiO1xyXG5pbXBvcnQge1Vub3JkZXJlZExpc3RJdGVtRGlyZWN0aXZlfSBmcm9tIFwiLi9kaXJlY3RpdmVzL3Vub3JkZXJlZC1saXN0LWl0ZW0uZGlyZWN0aXZlXCI7XHJcbmltcG9ydCB7VW5vcmRlcmVkTGlzdFRlbXBsYXRlRGlyZWN0aXZlfSBmcm9tIFwiLi9kaXJlY3RpdmVzL3Vub3JkZXJlZC1saXN0LXRlbXBsYXRlLmRpcmVjdGl2ZVwiO1xyXG5cclxuaW1wb3J0IHtDaHVua1BpcGV9IGZyb20gXCIuL3BpcGVzL2NodW5rLnBpcGVcIjtcclxuaW1wb3J0IHtFbnRyaWVzUGlwZX0gZnJvbSBcIi4vcGlwZXMvZW50cmllcy5waXBlXCI7XHJcbmltcG9ydCB7RXh0cmFJdGVtUHJvcGVydGllc1BpcGV9IGZyb20gXCIuL3BpcGVzL2V4dHJhLWl0ZW0tcHJvcGVydGllcy5waXBlXCI7XHJcbmltcG9ydCB7RmlsdGVyUGlwZX0gZnJvbSBcIi4vcGlwZXMvZmlsdGVyLnBpcGVcIjtcclxuaW1wb3J0IHtGaW5kUGlwZX0gZnJvbSBcIi4vcGlwZXMvZmluZC5waXBlXCI7XHJcbmltcG9ydCB7Rm9ybWF0TnVtYmVyUGlwZX0gZnJvbSBcIi4vcGlwZXMvZm9ybWF0LW51bWJlci5waXBlXCI7XHJcbmltcG9ydCB7R2V0T2Zmc2V0UGlwZX0gZnJvbSBcIi4vcGlwZXMvZ2V0LW9mZnNldC5waXBlXCI7XHJcbmltcG9ydCB7R2V0VHlwZVBpcGV9IGZyb20gXCIuL3BpcGVzL2dldC10eXBlLnBpcGVcIjtcclxuaW1wb3J0IHtHbG9iYWxUZW1wbGF0ZVBpcGV9IGZyb20gXCIuL3BpcGVzL2dsb2JhbC10ZW1wbGF0ZS5waXBlXCI7XHJcbmltcG9ydCB7R3JvdXBCeVBpcGV9IGZyb20gXCIuL3BpcGVzL2dyb3VwLWJ5LnBpcGVcIjtcclxuaW1wb3J0IHtJc1R5cGVQaXBlfSBmcm9tIFwiLi9waXBlcy9pcy10eXBlLnBpcGVcIjtcclxuaW1wb3J0IHtKb2luUGlwZX0gZnJvbSBcIi4vcGlwZXMvam9pbi5waXBlXCI7XHJcbmltcG9ydCB7S2V5c1BpcGV9IGZyb20gXCIuL3BpcGVzL2tleXMucGlwZVwiO1xyXG5pbXBvcnQge01hcFBpcGV9IGZyb20gXCIuL3BpcGVzL21hcC5waXBlXCI7XHJcbmltcG9ydCB7TWF4UGlwZX0gZnJvbSBcIi4vcGlwZXMvbWF4LnBpcGVcIjtcclxuaW1wb3J0IHtNaW5QaXBlfSBmcm9tIFwiLi9waXBlcy9taW4ucGlwZVwiO1xyXG5pbXBvcnQge1JlZHVjZVBpcGV9IGZyb20gXCIuL3BpcGVzL3JlZHVjZS5waXBlXCI7XHJcbmltcG9ydCB7UmVtYXBQaXBlfSBmcm9tIFwiLi9waXBlcy9yZW1hcC5waXBlXCI7XHJcbmltcG9ydCB7UmVwbGFjZVBpcGV9IGZyb20gXCIuL3BpcGVzL3JlcGxhY2UucGlwZVwiO1xyXG5pbXBvcnQge1JldmVyc2VQaXBlfSBmcm9tIFwiLi9waXBlcy9yZXZlcnNlLnBpcGVcIjtcclxuaW1wb3J0IHtSb3VuZFBpcGV9IGZyb20gXCIuL3BpcGVzL3JvdW5kLnBpcGVcIjtcclxuaW1wb3J0IHtTYWZlSHRtbFBpcGV9IGZyb20gXCIuL3BpcGVzL3NhZmUtaHRtbC5waXBlXCI7XHJcbmltcG9ydCB7VHJhbnNsYXRlUGlwZX0gZnJvbSBcIi4vcGlwZXMvdHJhbnNsYXRlLnBpcGVcIjtcclxuaW1wb3J0IHtWYWx1ZXNQaXBlfSBmcm9tIFwiLi9waXBlcy92YWx1ZXMucGlwZVwiO1xyXG5cclxuaW1wb3J0IHtEeW5hbWljVGFibGVDb21wb25lbnR9IGZyb20gXCIuL2NvbXBvbmVudHMvZHluYW1pYy10YWJsZS9keW5hbWljLXRhYmxlLmNvbXBvbmVudFwiO1xyXG5pbXBvcnQge1BhZ2luYXRpb25NZW51Q29tcG9uZW50fSBmcm9tIFwiLi9jb21wb25lbnRzL3BhZ2luYXRpb24tbWVudS9wYWdpbmF0aW9uLW1lbnUuY29tcG9uZW50XCI7XHJcbmltcG9ydCB7VW5vcmRlcmVkTGlzdENvbXBvbmVudH0gZnJvbSBcIi4vY29tcG9uZW50cy91bm9yZGVyZWQtbGlzdC91bm9yZGVyZWQtbGlzdC5jb21wb25lbnRcIjtcclxuXHJcbi8vIC0tLSBQaXBlcyAtLS1cclxuZXhwb3J0IGNvbnN0IHBpcGVzID0gW1xyXG4gICAgQ2h1bmtQaXBlLFxyXG4gICAgRW50cmllc1BpcGUsXHJcbiAgICBFeHRyYUl0ZW1Qcm9wZXJ0aWVzUGlwZSxcclxuICAgIEZpbHRlclBpcGUsXHJcbiAgICBGaW5kUGlwZSxcclxuICAgIEZvcm1hdE51bWJlclBpcGUsXHJcbiAgICBHZXRPZmZzZXRQaXBlLFxyXG4gICAgR2V0VHlwZVBpcGUsXHJcbiAgICBHbG9iYWxUZW1wbGF0ZVBpcGUsXHJcbiAgICBHcm91cEJ5UGlwZSxcclxuICAgIElzVHlwZVBpcGUsXHJcbiAgICBKb2luUGlwZSxcclxuICAgIEtleXNQaXBlLFxyXG4gICAgTWFwUGlwZSxcclxuICAgIE1heFBpcGUsXHJcbiAgICBNaW5QaXBlLFxyXG4gICAgUmVkdWNlUGlwZSxcclxuICAgIFJlbWFwUGlwZSxcclxuICAgIFJlcGxhY2VQaXBlLFxyXG4gICAgUmV2ZXJzZVBpcGUsXHJcbiAgICBSb3VuZFBpcGUsXHJcbiAgICBTYWZlSHRtbFBpcGUsXHJcbiAgICBUcmFuc2xhdGVQaXBlLFxyXG4gICAgVmFsdWVzUGlwZVxyXG5dO1xyXG5cclxuLy8gLS0tIERpcmVjdGl2ZXMgLS0tXHJcbmV4cG9ydCBjb25zdCBkaXJlY3RpdmVzID0gW1xyXG4gICAgQXN5bmNNZXRob2REaXJlY3RpdmUsXHJcbiAgICBCYWNrZ3JvdW5kRGlyZWN0aXZlLFxyXG4gICAgRHluYW1pY1RhYmxlVGVtcGxhdGVEaXJlY3RpdmUsXHJcbiAgICBHbG9iYWxUZW1wbGF0ZURpcmVjdGl2ZSxcclxuICAgIEljb25EaXJlY3RpdmUsXHJcbiAgICBOZ3hUZW1wbGF0ZU91dGxldERpcmVjdGl2ZSxcclxuICAgIFBhZ2luYXRpb25EaXJlY3RpdmUsXHJcbiAgICBQYWdpbmF0aW9uSXRlbURpcmVjdGl2ZSxcclxuICAgIFJlc291cmNlSWZEaXJlY3RpdmUsXHJcbiAgICBTdGlja3lEaXJlY3RpdmUsXHJcbiAgICBTdGlja3lDbGFzc0RpcmVjdGl2ZSxcclxuICAgIFVub3JkZXJlZExpc3RJdGVtRGlyZWN0aXZlLFxyXG4gICAgVW5vcmRlcmVkTGlzdFRlbXBsYXRlRGlyZWN0aXZlXHJcbl07XHJcblxyXG4vLyAtLS0gQ29tcG9uZW50cyAtLS1cclxuZXhwb3J0IGNvbnN0IGNvbXBvbmVudHMgPSBbXHJcbiAgICBEeW5hbWljVGFibGVDb21wb25lbnQsXHJcbiAgICBQYWdpbmF0aW9uTWVudUNvbXBvbmVudCxcclxuICAgIFVub3JkZXJlZExpc3RDb21wb25lbnRcclxuXTtcclxuXHJcbmV4cG9ydCBjb25zdCBwcm92aWRlcnMgPSBbXHJcbiAgICAuLi5waXBlcyxcclxuICAgIEJhc2VIdHRwQ2xpZW50LFxyXG4gICAgQmFzZUh0dHBTZXJ2aWNlLFxyXG4gICAgQXV0aEd1YXJkLFxyXG4gICAgQWNsU2VydmljZSxcclxuICAgIEFwaVNlcnZpY2UsXHJcbiAgICBTdGF0aWNBdXRoU2VydmljZSxcclxuICAgIENvbmZpZ1NlcnZpY2UsXHJcbiAgICBFcnJvckhhbmRsZXJTZXJ2aWNlLFxyXG4gICAgRXZlbnRzU2VydmljZSxcclxuICAgIEZvcm1hdHRlclNlcnZpY2UsXHJcbiAgICBHbG9iYWxUZW1wbGF0ZVNlcnZpY2UsXHJcbiAgICBJY29uU2VydmljZSxcclxuICAgIExhbmd1YWdlU2VydmljZSxcclxuICAgIE9wZW5BcGlTZXJ2aWNlLFxyXG4gICAgUHJvbWlzZVNlcnZpY2UsXHJcbiAgICBTdGF0ZVNlcnZpY2UsXHJcbiAgICBTdGF0aWNMYW5ndWFnZVNlcnZpY2UsXHJcbiAgICBTdG9yYWdlU2VydmljZSxcclxuICAgIENvbnNvbGVUb2FzdGVyU2VydmljZSxcclxuICAgIFRyYW5zbGF0ZWRVcmxTZXJpYWxpemVyLFxyXG4gICAgVW5pdmVyc2FsU2VydmljZSxcclxuICAgIERldmljZURldGVjdG9yU2VydmljZSxcclxuICAgIHtcclxuICAgICAgICBwcm92aWRlOiBFVkVOVF9NQU5BR0VSX1BMVUdJTlMsXHJcbiAgICAgICAgdXNlQ2xhc3M6IFJlc2l6ZUV2ZW50UGx1Z2luLFxyXG4gICAgICAgIG11bHRpOiB0cnVlXHJcbiAgICB9LFxyXG4gICAge1xyXG4gICAgICAgIHByb3ZpZGU6IEVWRU5UX01BTkFHRVJfUExVR0lOUyxcclxuICAgICAgICB1c2VDbGFzczogU2Nyb2xsRXZlbnRQbHVnaW4sXHJcbiAgICAgICAgbXVsdGk6IHRydWVcclxuICAgIH0sXHJcbiAgICB7XHJcbiAgICAgICAgcHJvdmlkZTogVXJsU2VyaWFsaXplcixcclxuICAgICAgICB1c2VFeGlzdGluZzogVHJhbnNsYXRlZFVybFNlcmlhbGl6ZXJcclxuICAgIH0sXHJcbiAgICB7XHJcbiAgICAgICAgcHJvdmlkZTogRXJyb3JIYW5kbGVyLFxyXG4gICAgICAgIHVzZUV4aXN0aW5nOiBFcnJvckhhbmRsZXJTZXJ2aWNlXHJcbiAgICB9XHJcblxyXG5dO1xyXG5cclxuZXhwb3J0IGZ1bmN0aW9uIGxvYWRDb25maWcoY29uZmlnOiBJQ29uZmlnU2VydmljZSk6IGFueSB7XHJcbiAgICByZXR1cm4gY29uZmlnLmxvYWQ7XHJcbn1cclxuXHJcbkBOZ01vZHVsZSh7XHJcbiAgICBkZWNsYXJhdGlvbnM6IFtcclxuICAgICAgICAuLi5waXBlcyxcclxuICAgICAgICAuLi5kaXJlY3RpdmVzLFxyXG4gICAgICAgIC4uLmNvbXBvbmVudHNcclxuICAgIF0sXHJcbiAgICBpbXBvcnRzOiBbXHJcbiAgICAgICAgQ29tbW9uTW9kdWxlLFxyXG4gICAgICAgIEZvcm1zTW9kdWxlXHJcbiAgICBdLFxyXG4gICAgZXhwb3J0czogW1xyXG4gICAgICAgIC4uLnBpcGVzLFxyXG4gICAgICAgIC4uLmRpcmVjdGl2ZXMsXHJcbiAgICAgICAgLi4uY29tcG9uZW50cyxcclxuICAgICAgICBGb3Jtc01vZHVsZVxyXG4gICAgXSxcclxuICAgIHByb3ZpZGVyczogcGlwZXNcclxufSlcclxuZXhwb3J0IGNsYXNzIE5neFV0aWxzTW9kdWxlIHtcclxuICAgIHN0YXRpYyBmb3JSb290KGNvbmZpZz86IElNb2R1bGVDb25maWcpOiBNb2R1bGVXaXRoUHJvdmlkZXJzPE5neFV0aWxzTW9kdWxlPiB7XHJcbiAgICAgICAgcmV0dXJuIHtcclxuICAgICAgICAgICAgbmdNb2R1bGU6IE5neFV0aWxzTW9kdWxlLFxyXG4gICAgICAgICAgICBwcm92aWRlcnM6IFtcclxuICAgICAgICAgICAgICAgIC4uLnByb3ZpZGVycyxcclxuICAgICAgICAgICAgICAgIHtcclxuICAgICAgICAgICAgICAgICAgICBwcm92aWRlOiBBUElfU0VSVklDRSxcclxuICAgICAgICAgICAgICAgICAgICB1c2VFeGlzdGluZzogKCFjb25maWcgPyBudWxsIDogY29uZmlnLmFwaVNlcnZpY2UpIHx8IEFwaVNlcnZpY2VcclxuICAgICAgICAgICAgICAgIH0sXHJcbiAgICAgICAgICAgICAgICB7XHJcbiAgICAgICAgICAgICAgICAgICAgcHJvdmlkZTogQVVUSF9TRVJWSUNFLFxyXG4gICAgICAgICAgICAgICAgICAgIHVzZUV4aXN0aW5nOiAoIWNvbmZpZyA/IG51bGwgOiBjb25maWcuYXV0aFNlcnZpY2UpIHx8IFN0YXRpY0F1dGhTZXJ2aWNlXHJcbiAgICAgICAgICAgICAgICB9LFxyXG4gICAgICAgICAgICAgICAge1xyXG4gICAgICAgICAgICAgICAgICAgIHByb3ZpZGU6IElDT05fU0VSVklDRSxcclxuICAgICAgICAgICAgICAgICAgICB1c2VFeGlzdGluZzogKCFjb25maWcgPyBudWxsIDogY29uZmlnLmljb25TZXJ2aWNlKSB8fCBJY29uU2VydmljZVxyXG4gICAgICAgICAgICAgICAgfSxcclxuICAgICAgICAgICAgICAgIHtcclxuICAgICAgICAgICAgICAgICAgICBwcm92aWRlOiBMQU5HVUFHRV9TRVJWSUNFLFxyXG4gICAgICAgICAgICAgICAgICAgIHVzZUV4aXN0aW5nOiAoIWNvbmZpZyA/IG51bGwgOiBjb25maWcubGFuZ3VhZ2VTZXJ2aWNlKSB8fCBTdGF0aWNMYW5ndWFnZVNlcnZpY2VcclxuICAgICAgICAgICAgICAgIH0sXHJcbiAgICAgICAgICAgICAgICB7XHJcbiAgICAgICAgICAgICAgICAgICAgcHJvdmlkZTogVE9BU1RFUl9TRVJWSUNFLFxyXG4gICAgICAgICAgICAgICAgICAgIHVzZUV4aXN0aW5nOiAoIWNvbmZpZyA/IG51bGwgOiBjb25maWcudG9hc3RlclNlcnZpY2UpIHx8IENvbnNvbGVUb2FzdGVyU2VydmljZVxyXG4gICAgICAgICAgICAgICAgfSxcclxuICAgICAgICAgICAgICAgIHtcclxuICAgICAgICAgICAgICAgICAgICBwcm92aWRlOiBQUk9NSVNFX1NFUlZJQ0UsXHJcbiAgICAgICAgICAgICAgICAgICAgdXNlRXhpc3Rpbmc6ICghY29uZmlnID8gbnVsbCA6IGNvbmZpZy5wcm9taXNlU2VydmljZSkgfHwgUHJvbWlzZVNlcnZpY2VcclxuICAgICAgICAgICAgICAgIH0sXHJcbiAgICAgICAgICAgICAgICB7XHJcbiAgICAgICAgICAgICAgICAgICAgcHJvdmlkZTogQ09ORklHX1NFUlZJQ0UsXHJcbiAgICAgICAgICAgICAgICAgICAgdXNlRXhpc3Rpbmc6ICghY29uZmlnID8gbnVsbCA6IGNvbmZpZy5jb25maWdTZXJ2aWNlKSB8fCBDb25maWdTZXJ2aWNlXHJcbiAgICAgICAgICAgICAgICB9LFxyXG4gICAgICAgICAgICAgICAge1xyXG4gICAgICAgICAgICAgICAgICAgIHByb3ZpZGU6IEdMT0JBTF9URU1QTEFURVMsXHJcbiAgICAgICAgICAgICAgICAgICAgdXNlRXhpc3Rpbmc6ICghY29uZmlnID8gbnVsbCA6IGNvbmZpZy5nbG9iYWxUZW1wbGF0ZXMpIHx8IEdsb2JhbFRlbXBsYXRlU2VydmljZVxyXG4gICAgICAgICAgICAgICAgfSxcclxuICAgICAgICAgICAgICAgIHtcclxuICAgICAgICAgICAgICAgICAgICBwcm92aWRlOiBST09UX0VMRU1FTlQsXHJcbiAgICAgICAgICAgICAgICAgICAgdXNlVmFsdWU6IG51bGxcclxuICAgICAgICAgICAgICAgIH0sXHJcbiAgICAgICAgICAgICAgICB7XHJcbiAgICAgICAgICAgICAgICAgICAgcHJvdmlkZTogQVBQX0lOSVRJQUxJWkVSLFxyXG4gICAgICAgICAgICAgICAgICAgIHVzZUZhY3Rvcnk6ICghY29uZmlnID8gbnVsbCA6IGNvbmZpZy5pbml0aWFsaXplQXBwKSB8fCBsb2FkQ29uZmlnLFxyXG4gICAgICAgICAgICAgICAgICAgIG11bHRpOiB0cnVlLFxyXG4gICAgICAgICAgICAgICAgICAgIGRlcHM6IFsoIWNvbmZpZyA/IG51bGwgOiBjb25maWcuaW5pdGlhbGl6ZUFwcCkgPyBJbmplY3RvciA6IENPTkZJR19TRVJWSUNFXVxyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICBdXHJcbiAgICAgICAgfTtcclxuICAgIH1cclxufVxyXG4iXX0=
@@ -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 = function ChunkPipe_Factory(t) { return new (t || ChunkPipe)(); };
18
+ ChunkPipe.ɵpipe = /*@__PURE__*/ i0.ɵɵdefinePipe({ name: "chunk", type: ChunkPipe, pure: true });
19
+ (function () { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassMetadata(ChunkPipe, [{
20
+ type: Pipe,
21
+ args: [{
22
+ name: "chunk"
23
+ }]
24
+ }], null, null); })();
25
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2h1bmsucGlwZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3NyYy9uZ3gtdXRpbHMvcGlwZXMvY2h1bmsucGlwZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUMsSUFBSSxFQUFnQixNQUFNLGVBQWUsQ0FBQzs7QUFLbEQsTUFBTSxPQUFPLFNBQVM7SUFDbEIsU0FBUyxDQUFDLEtBQVksRUFBRSxLQUFhO1FBQ2pDLE1BQU0sTUFBTSxHQUFVLEVBQUUsQ0FBQztRQUN6QixJQUFJLFNBQVMsR0FBVSxJQUFJLENBQUM7UUFDNUIsS0FBSyxDQUFDLE9BQU8sQ0FBQyxDQUFDLElBQUksRUFBRSxLQUFLLEVBQUUsRUFBRTtZQUMxQixJQUFJLEtBQUssR0FBRyxLQUFLLElBQUksQ0FBQyxFQUFFO2dCQUNwQixTQUFTLEdBQUcsRUFBRSxDQUFDO2dCQUNmLE1BQU0sQ0FBQyxJQUFJLENBQUMsU0FBUyxDQUFDLENBQUM7YUFDMUI7WUFDRCxTQUFTLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxDQUFDO1FBQ3pCLENBQUMsQ0FBQyxDQUFDO1FBQ0gsT0FBTyxNQUFNLENBQUM7SUFDbEIsQ0FBQzs7a0VBWlEsU0FBUzt1RUFBVCxTQUFTO3VGQUFULFNBQVM7Y0FIckIsSUFBSTtlQUFDO2dCQUNGLElBQUksRUFBRSxPQUFPO2FBQ2hCIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtQaXBlLCBQaXBlVHJhbnNmb3JtfSBmcm9tIFwiQGFuZ3VsYXIvY29yZVwiO1xyXG5cclxuQFBpcGUoe1xyXG4gICAgbmFtZTogXCJjaHVua1wiXHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBDaHVua1BpcGUgaW1wbGVtZW50cyBQaXBlVHJhbnNmb3JtIHtcclxuICAgIHRyYW5zZm9ybShpdGVtczogYW55W10sIGNvdW50OiBudW1iZXIpOiBhbnlbXSB7XHJcbiAgICAgICAgY29uc3QgcmVzdWx0OiBhbnlbXSA9IFtdO1xyXG4gICAgICAgIGxldCBzdWJSZXN1bHQ6IGFueVtdID0gbnVsbDtcclxuICAgICAgICBpdGVtcy5mb3JFYWNoKChpdGVtLCBpbmRleCkgPT4ge1xyXG4gICAgICAgICAgICBpZiAoaW5kZXggJSBjb3VudCA9PSAwKSB7XHJcbiAgICAgICAgICAgICAgICBzdWJSZXN1bHQgPSBbXTtcclxuICAgICAgICAgICAgICAgIHJlc3VsdC5wdXNoKHN1YlJlc3VsdCk7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgc3ViUmVzdWx0LnB1c2goaXRlbSk7XHJcbiAgICAgICAgfSk7XHJcbiAgICAgICAgcmV0dXJuIHJlc3VsdDtcclxuICAgIH1cclxufVxyXG4iXX0=
@@ -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 = function EntriesPipe_Factory(t) { return new (t || EntriesPipe)(); };
21
+ EntriesPipe.ɵpipe = /*@__PURE__*/ i0.ɵɵdefinePipe({ name: "entries", type: EntriesPipe, pure: true });
22
+ (function () { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassMetadata(EntriesPipe, [{
23
+ type: Pipe,
24
+ args: [{
25
+ name: "entries"
26
+ }]
27
+ }], null, null); })();
28
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZW50cmllcy5waXBlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vc3JjL25neC11dGlscy9waXBlcy9lbnRyaWVzLnBpcGUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFDLElBQUksRUFBZ0IsTUFBTSxlQUFlLENBQUM7QUFDbEQsT0FBTyxFQUFDLFdBQVcsRUFBQyxNQUFNLHVCQUF1QixDQUFDOztBQVFsRCxNQUFNLFlBQVksR0FBYSxFQUFFLENBQUM7QUFLbEMsTUFBTSxPQUFPLFdBQVc7SUFFcEIsU0FBUyxDQUFDLEtBQVU7UUFDaEIsSUFBSSxDQUFDLEtBQUs7WUFBRSxPQUFPLFlBQVksQ0FBQztRQUNoQyxNQUFNLE9BQU8sR0FBYSxFQUFFLENBQUM7UUFDN0IsV0FBVyxDQUFDLE9BQU8sQ0FBQyxLQUFLLEVBQUUsQ0FBQyxHQUFHLEVBQUUsR0FBRyxFQUFFLEVBQUU7WUFDcEMsT0FBTyxDQUFDLElBQUksQ0FBQztnQkFDVCxHQUFHLEVBQUUsR0FBRztnQkFDUixLQUFLLEVBQUUsR0FBRztnQkFDVixLQUFLLEVBQUUsT0FBTyxDQUFDLE1BQU07YUFDeEIsQ0FBQyxDQUFDO1FBQ1AsQ0FBQyxDQUFDLENBQUM7UUFDSCxPQUFPLE9BQU8sQ0FBQztJQUNuQixDQUFDOztzRUFiUSxXQUFXOzJFQUFYLFdBQVc7dUZBQVgsV0FBVztjQUh2QixJQUFJO2VBQUM7Z0JBQ0YsSUFBSSxFQUFFLFNBQVM7YUFDbEIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge1BpcGUsIFBpcGVUcmFuc2Zvcm19IGZyb20gXCJAYW5ndWxhci9jb3JlXCI7XHJcbmltcG9ydCB7T2JqZWN0VXRpbHN9IGZyb20gXCIuLi91dGlscy9vYmplY3QudXRpbHNcIjtcclxuXHJcbmV4cG9ydCBpbnRlcmZhY2UgSUVudHJ5IHtcclxuICAgIGtleTogc3RyaW5nO1xyXG4gICAgdmFsdWU6IGFueTtcclxuICAgIGluZGV4OiBudW1iZXI7XHJcbn1cclxuXHJcbmNvbnN0IGVtcHR5RW50cmllczogSUVudHJ5W10gPSBbXTtcclxuXHJcbkBQaXBlKHtcclxuICAgIG5hbWU6IFwiZW50cmllc1wiXHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBFbnRyaWVzUGlwZSBpbXBsZW1lbnRzIFBpcGVUcmFuc2Zvcm0ge1xyXG5cclxuICAgIHRyYW5zZm9ybSh2YWx1ZTogYW55KTogSUVudHJ5W10ge1xyXG4gICAgICAgIGlmICghdmFsdWUpIHJldHVybiBlbXB0eUVudHJpZXM7XHJcbiAgICAgICAgY29uc3QgZW50cmllczogSUVudHJ5W10gPSBbXTtcclxuICAgICAgICBPYmplY3RVdGlscy5pdGVyYXRlKHZhbHVlLCAodmFsLCBrZXkpID0+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 = function ExtraItemPropertiesPipe_Factory(t) { return new (t || ExtraItemPropertiesPipe)(); };
24
+ ExtraItemPropertiesPipe.ɵpipe = /*@__PURE__*/ i0.ɵɵdefinePipe({ name: "extraItemProperties", type: ExtraItemPropertiesPipe, pure: true });
25
+ (function () { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassMetadata(ExtraItemPropertiesPipe, [{
26
+ type: Pipe,
27
+ args: [{
28
+ name: "extraItemProperties"
29
+ }]
30
+ }], null, null); })();
31
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZXh0cmEtaXRlbS1wcm9wZXJ0aWVzLnBpcGUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9zcmMvbmd4LXV0aWxzL3BpcGVzL2V4dHJhLWl0ZW0tcHJvcGVydGllcy5waXBlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBQyxJQUFJLEVBQWdCLE1BQU0sZUFBZSxDQUFDO0FBRWxELE9BQU8sRUFBQyxXQUFXLEVBQUMsTUFBTSx1QkFBdUIsQ0FBQzs7QUFLbEQsTUFBTSxPQUFPLHVCQUF1QjtJQUNoQyxTQUFTLENBQUMsS0FBWSxFQUFFLFVBQTRCLEVBQUUsU0FBYyxFQUFFO1FBQ2xFLE1BQU0sSUFBSSxHQUFHLE1BQU0sQ0FBQyxJQUFJLENBQUMsVUFBVSxDQUFDLENBQUM7UUFDckMsSUFBSSxDQUFDLE9BQU8sQ0FBQyxHQUFHLENBQUMsRUFBRTtZQUNmLE1BQU0sS0FBSyxHQUFHLFVBQVUsQ0FBQyxHQUFHLENBQUMsQ0FBQztZQUM5QixVQUFVLENBQUMsR0FBRyxDQUFDLEdBQUcsV0FBVyxDQUFDLFVBQVUsQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUksRUFBRSxLQUFLLEVBQUUsTUFBTSxFQUFFLEVBQUU7Z0JBQzlFLE9BQU8sV0FBVyxDQUFDLFFBQVEsQ0FBQyxLQUFLLEVBQUU7b0JBQy9CLElBQUksRUFBRSxJQUFJO29CQUNWLEtBQUssRUFBRSxLQUFLO29CQUNaLE1BQU0sRUFBRSxNQUFNO2lCQUNqQixDQUFDLENBQUM7WUFDUCxDQUFDLENBQUM7UUFDTixDQUFDLENBQUMsQ0FBQztRQUNILE9BQU8sQ0FBQyxLQUFLLElBQUksRUFBRSxDQUFDLENBQUMsR0FBRyxDQUFDLENBQUMsSUFBSSxFQUFFLEtBQUssRUFBRSxFQUFFLENBQUMsSUFBSSxDQUFDLE1BQU0sQ0FBQyxDQUFDLE1BQU0sRUFBRSxHQUFHLEVBQUUsRUFBRTtZQUNsRSxNQUFNLENBQUMsR0FBRyxDQUFDLEdBQUcsVUFBVSxDQUFDLEdBQUcsQ0FBQyxDQUFDLElBQUksRUFBRSxLQUFLLEVBQUUsTUFBTSxDQUFDLENBQUM7WUFDbkQsT0FBTyxNQUFNLENBQUM7UUFDbEIsQ0FBQyxFQUFFLEVBQUMsR0FBRyxJQUFJLEVBQUMsQ0FBQyxDQUFDLENBQUM7SUFDbkIsQ0FBQzs7OEZBakJRLHVCQUF1QjttR0FBdkIsdUJBQXVCO3VGQUF2Qix1QkFBdUI7Y0FIbkMsSUFBSTtlQUFDO2dCQUNGLElBQUksRUFBRSxxQkFBcUI7YUFDOUIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge1BpcGUsIFBpcGVUcmFuc2Zvcm19IGZyb20gXCJAYW5ndWxhci9jb3JlXCI7XHJcbmltcG9ydCB7SUV4dHJhUHJvcGVydGllc30gZnJvbSBcIi4uL2NvbW1vbi10eXBlc1wiO1xyXG5pbXBvcnQge09iamVjdFV0aWxzfSBmcm9tIFwiLi4vdXRpbHMvb2JqZWN0LnV0aWxzXCI7XHJcblxyXG5AUGlwZSh7XHJcbiAgICBuYW1lOiBcImV4dHJhSXRlbVByb3BlcnRpZXNcIlxyXG59KVxyXG5leHBvcnQgY2xhc3MgRXh0cmFJdGVtUHJvcGVydGllc1BpcGUgaW1wbGVtZW50cyBQaXBlVHJhbnNmb3JtIHtcclxuICAgIHRyYW5zZm9ybShpdGVtczogYW55W10sIHByb3BlcnRpZXM6IElFeHRyYVByb3BlcnRpZXMsIHBhcmFtczogYW55ID0ge30pOiBhbnlbXSB7XHJcbiAgICAgICAgY29uc3Qga2V5cyA9IE9iamVjdC5rZXlzKHByb3BlcnRpZXMpO1xyXG4gICAgICAgIGtleXMuZm9yRWFjaChrZXkgPT4ge1xyXG4gICAgICAgICAgICBjb25zdCB2YWx1ZSA9IHByb3BlcnRpZXNba2V5XTtcclxuICAgICAgICAgICAgcHJvcGVydGllc1trZXldID0gT2JqZWN0VXRpbHMuaXNGdW5jdGlvbih2YWx1ZSkgPyB2YWx1ZSA6IChpdGVtLCBpbmRleCwgcGFyYW1zKSA9PiB7XHJcbiAgICAgICAgICAgICAgICByZXR1cm4gT2JqZWN0VXRpbHMuZXZhbHVhdGUodmFsdWUsIHtcclxuICAgICAgICAgICAgICAgICAgICBpdGVtOiBpdGVtLFxyXG4gICAgICAgICAgICAgICAgICAgIGluZGV4OiBpbmRleCxcclxuICAgICAgICAgICAgICAgICAgICBwYXJhbXM6IHBhcmFtc1xyXG4gICAgICAgICAgICAgICAgfSk7XHJcbiAgICAgICAgICAgIH07XHJcbiAgICAgICAgfSk7XHJcbiAgICAgICAgcmV0dXJuIChpdGVtcyB8fCBbXSkubWFwKChpdGVtLCBpbmRleCkgPT4ga2V5cy5yZWR1Y2UoKHJlc3VsdCwga2V5KSA9PiB7XHJcbiAgICAgICAgICAgIHJlc3VsdFtrZXldID0gcHJvcGVydGllc1trZXldKGl0ZW0sIGluZGV4LCBwYXJhbXMpO1xyXG4gICAgICAgICAgICByZXR1cm4gcmVzdWx0O1xyXG4gICAgICAgIH0sIHsuLi5pdGVtfSkpO1xyXG4gICAgfVxyXG59XHJcbiJdfQ==
@@ -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 = function FilterPipe_Factory(t) { return new (t || FilterPipe)(); };
35
+ FilterPipe.ɵpipe = /*@__PURE__*/ i0.ɵɵdefinePipe({ name: "filter", type: FilterPipe, pure: true });
36
+ (function () { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassMetadata(FilterPipe, [{
37
+ type: Pipe,
38
+ args: [{
39
+ name: "filter"
40
+ }]
41
+ }], null, null); })();
42
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZmlsdGVyLnBpcGUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9zcmMvbmd4LXV0aWxzL3BpcGVzL2ZpbHRlci5waXBlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBQyxJQUFJLEVBQWdCLE1BQU0sZUFBZSxDQUFDO0FBQ2xELE9BQU8sRUFBQyxXQUFXLEVBQUMsTUFBTSx1QkFBdUIsQ0FBQzs7QUFFbEQsTUFBTSxVQUFVLGFBQWE7SUFDekIsT0FBTyxJQUFJLENBQUM7QUFDaEIsQ0FBQztBQUtELE1BQU0sT0FBTyxVQUFVO0lBQ25CLFNBQVMsQ0FBQyxNQUFXLEVBQUUsU0FBYyxhQUFhLEVBQUUsU0FBYyxFQUFFO1FBQ2hFLE1BQU0sUUFBUSxHQUFHLFdBQVcsQ0FBQyxRQUFRLENBQUMsTUFBTSxDQUFDLENBQUM7UUFDOUMsSUFBSSxDQUFDLFFBQVEsSUFBSSxDQUFDLFdBQVcsQ0FBQyxPQUFPLENBQUMsTUFBTSxDQUFDO1lBQUUsT0FBTyxFQUFFLENBQUM7UUFDekQsTUFBTSxVQUFVLEdBQUcsV0FBVyxDQUFDLFVBQVUsQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQyxDQUFDLEtBQUssRUFBRSxHQUFHLEVBQUUsTUFBTSxFQUFFLEVBQUU7WUFDaEYsT0FBTyxXQUFXLENBQUMsUUFBUSxDQUFDLE1BQU0sRUFBRTtnQkFDaEMsS0FBSyxFQUFFLEtBQUs7Z0JBQ1osR0FBRyxFQUFFLEdBQUc7Z0JBQ1IsSUFBSSxFQUFFLEtBQUs7Z0JBQ1gsS0FBSyxFQUFFLEdBQUc7Z0JBQ1YsTUFBTSxFQUFFLE1BQU07YUFDakIsQ0FBQyxDQUFDO1FBQ1AsQ0FBQyxDQUFDO1FBQ0YsSUFBSSxRQUFRLEVBQUU7WUFDVixPQUFPLE1BQU0sQ0FBQyxJQUFJLENBQUMsTUFBTSxDQUFDLENBQUMsTUFBTSxDQUFDLEdBQUcsQ0FBQyxFQUFFO2dCQUNwQyxPQUFPLFVBQVUsQ0FBQyxNQUFNLENBQUMsR0FBRyxDQUFDLEVBQUUsR0FBRyxFQUFFLE1BQU0sQ0FBQyxDQUFDO1lBQ2hELENBQUMsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxDQUFDLE1BQU0sRUFBRSxHQUFHLEVBQUUsRUFBRTtnQkFDdEIsTUFBTSxDQUFDLEdBQUcsQ0FBQyxHQUFHLE1BQU0sQ0FBQyxHQUFHLENBQUMsQ0FBQztnQkFDMUIsT0FBTyxNQUFNLENBQUM7WUFDbEIsQ0FBQyxFQUFFLEVBQUUsQ0FBQyxDQUFBO1NBQ1Q7UUFDRCxPQUFPLE1BQU0sQ0FBQyxNQUFNLENBQUMsQ0FBQyxLQUFLLEVBQUUsR0FBRyxFQUFFLEVBQUU7WUFDaEMsT0FBTyxVQUFVLENBQUMsS0FBSyxFQUFFLEdBQUcsRUFBRSxNQUFNLENBQUMsQ0FBQztRQUMxQyxDQUFDLENBQUMsQ0FBQztJQUNQLENBQUM7O29FQXhCUSxVQUFVO3lFQUFWLFVBQVU7dUZBQVYsVUFBVTtjQUh0QixJQUFJO2VBQUM7Z0JBQ0YsSUFBSSxFQUFFLFFBQVE7YUFDakIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge1BpcGUsIFBpcGVUcmFuc2Zvcm19IGZyb20gXCJAYW5ndWxhci9jb3JlXCI7XHJcbmltcG9ydCB7T2JqZWN0VXRpbHN9IGZyb20gXCIuLi91dGlscy9vYmplY3QudXRpbHNcIjtcclxuXHJcbmV4cG9ydCBmdW5jdGlvbiBkZWZhdWx0RmlsdGVyKCkge1xyXG4gICAgcmV0dXJuIHRydWU7XHJcbn1cclxuXHJcbkBQaXBlKHtcclxuICAgIG5hbWU6IFwiZmlsdGVyXCJcclxufSlcclxuZXhwb3J0IGNsYXNzIEZpbHRlclBpcGUgaW1wbGVtZW50cyBQaXBlVHJhbnNmb3JtIHtcclxuICAgIHRyYW5zZm9ybSh2YWx1ZXM6IGFueSwgZmlsdGVyOiBhbnkgPSBkZWZhdWx0RmlsdGVyLCBwYXJhbXM6IGFueSA9IHt9KTogYW55IHtcclxuICAgICAgICBjb25zdCBpc09iamVjdCA9IE9iamVjdFV0aWxzLmlzT2JqZWN0KHZhbHVlcyk7XHJcbiAgICAgICAgaWYgKCFpc09iamVjdCAmJiAhT2JqZWN0VXRpbHMuaXNBcnJheSh2YWx1ZXMpKSByZXR1cm4gW107XHJcbiAgICAgICAgY29uc3QgZmlsdGVyRnVuYyA9IE9iamVjdFV0aWxzLmlzRnVuY3Rpb24oZmlsdGVyKSA/IGZpbHRlciA6ICh2YWx1ZSwga2V5LCBwYXJhbXMpID0+IHtcclxuICAgICAgICAgICAgcmV0dXJuIE9iamVjdFV0aWxzLmV2YWx1YXRlKGZpbHRlciwge1xyXG4gICAgICAgICAgICAgICAgdmFsdWU6IHZhbHVlLFxyXG4gICAgICAgICAgICAgICAga2V5OiBrZXksXHJcbiAgICAgICAgICAgICAgICBpdGVtOiB2YWx1ZSxcclxuICAgICAgICAgICAgICAgIGluZGV4OiBrZXksXHJcbiAgICAgICAgICAgICAgICBwYXJhbXM6IHBhcmFtc1xyXG4gICAgICAgICAgICB9KTtcclxuICAgICAgICB9O1xyXG4gICAgICAgIGlmIChpc09iamVjdCkge1xyXG4gICAgICAgICAgICByZXR1cm4gT2JqZWN0LmtleXModmFsdWVzKS5maWx0ZXIoa2V5ID0+IHtcclxuICAgICAgICAgICAgICAgIHJldHVybiBmaWx0ZXJGdW5jKHZhbHVlc1trZXldLCBrZXksIHBhcmFtcyk7XHJcbiAgICAgICAgICAgIH0pLnJlZHVjZSgocmVzdWx0LCBrZXkpID0+IHtcclxuICAgICAgICAgICAgICAgIHJlc3VsdFtrZXldID0gdmFsdWVzW2tleV07XHJcbiAgICAgICAgICAgICAgICByZXR1cm4gcmVzdWx0O1xyXG4gICAgICAgICAgICB9LCB7fSlcclxuICAgICAgICB9XHJcbiAgICAgICAgcmV0dXJuIHZhbHVlcy5maWx0ZXIoKHZhbHVlLCBrZXkpID0+IHtcclxuICAgICAgICAgICAgcmV0dXJuIGZpbHRlckZ1bmModmFsdWUsIGtleSwgcGFyYW1zKTtcclxuICAgICAgICB9KTtcclxuICAgIH1cclxufVxyXG4iXX0=