@stemy/ngx-utils 13.1.3 → 13.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 (108) hide show
  1. package/bundles/stemy-ngx-utils.umd.js +6145 -0
  2. package/bundles/stemy-ngx-utils.umd.js.map +1 -0
  3. package/esm2015/ngx-utils/common-types.js +116 -0
  4. package/esm2015/ngx-utils/components/dynamic-table/dynamic-table.component.js +139 -0
  5. package/esm2015/ngx-utils/components/pagination-menu/pagination-menu.component.js +96 -0
  6. package/esm2015/ngx-utils/components/unordered-list/unordered-list.component.js +51 -0
  7. package/esm2015/ngx-utils/directives/async-method.base.js +54 -0
  8. package/esm2015/ngx-utils/directives/async-method.directive.js +24 -0
  9. package/esm2015/ngx-utils/directives/background.directive.js +51 -0
  10. package/esm2015/ngx-utils/directives/dynamic-table-template.directive.js +19 -0
  11. package/esm2015/ngx-utils/directives/global-template.directive.js +27 -0
  12. package/esm2015/ngx-utils/directives/icon.directive.js +59 -0
  13. package/esm2015/ngx-utils/directives/ngx-template-outlet.directive.js +88 -0
  14. package/esm2015/ngx-utils/directives/pagination-item.directive.js +33 -0
  15. package/esm2015/ngx-utils/directives/pagination.directive.js +76 -0
  16. package/esm2015/ngx-utils/directives/resource-if.directive.js +51 -0
  17. package/esm2015/ngx-utils/directives/sticky-class.directive.js +35 -0
  18. package/esm2015/ngx-utils/directives/sticky.directive.js +48 -0
  19. package/esm2015/ngx-utils/directives/unordered-list-item.directive.js +70 -0
  20. package/esm2015/ngx-utils/directives/unordered-list-template.directive.js +26 -0
  21. package/esm2015/ngx-utils/ngx-utils.module.js +238 -0
  22. package/esm2015/ngx-utils/pipes/chunk.pipe.js +21 -0
  23. package/esm2015/ngx-utils/pipes/entries.pipe.js +24 -0
  24. package/esm2015/ngx-utils/pipes/extra-item-properties.pipe.js +27 -0
  25. package/esm2015/ngx-utils/pipes/filter.pipe.js +38 -0
  26. package/esm2015/ngx-utils/pipes/find.pipe.js +25 -0
  27. package/esm2015/ngx-utils/pipes/format-number.pipe.js +19 -0
  28. package/esm2015/ngx-utils/pipes/get-offset.pipe.js +13 -0
  29. package/esm2015/ngx-utils/pipes/get-type.pipe.js +12 -0
  30. package/esm2015/ngx-utils/pipes/global-template.pipe.js +37 -0
  31. package/esm2015/ngx-utils/pipes/group-by.pipe.js +23 -0
  32. package/esm2015/ngx-utils/pipes/is-type.pipe.js +12 -0
  33. package/esm2015/ngx-utils/pipes/join.pipe.js +15 -0
  34. package/esm2015/ngx-utils/pipes/keys.pipe.js +18 -0
  35. package/esm2015/ngx-utils/pipes/map.pipe.js +25 -0
  36. package/esm2015/ngx-utils/pipes/max.pipe.js +22 -0
  37. package/esm2015/ngx-utils/pipes/min.pipe.js +22 -0
  38. package/esm2015/ngx-utils/pipes/reduce.pipe.js +26 -0
  39. package/esm2015/ngx-utils/pipes/remap.pipe.js +28 -0
  40. package/esm2015/ngx-utils/pipes/replace.pipe.js +12 -0
  41. package/esm2015/ngx-utils/pipes/reverse.pipe.js +20 -0
  42. package/esm2015/ngx-utils/pipes/round.pipe.js +19 -0
  43. package/esm2015/ngx-utils/pipes/safe-html.pipe.js +32 -0
  44. package/esm2015/ngx-utils/pipes/translate.pipe.js +81 -0
  45. package/esm2015/ngx-utils/pipes/values.pipe.js +18 -0
  46. package/esm2015/ngx-utils/plugins/resize-event.plugin.js +56 -0
  47. package/esm2015/ngx-utils/plugins/scroll-event.plugin.js +36 -0
  48. package/esm2015/ngx-utils/services/acl.service.js +81 -0
  49. package/esm2015/ngx-utils/services/api.service.js +35 -0
  50. package/esm2015/ngx-utils/services/auth.service.js +14 -0
  51. package/esm2015/ngx-utils/services/base-http.client.js +46 -0
  52. package/esm2015/ngx-utils/services/base-http.service.js +285 -0
  53. package/esm2015/ngx-utils/services/config.service.js +122 -0
  54. package/esm2015/ngx-utils/services/error-handler.service.js +49 -0
  55. package/esm2015/ngx-utils/services/events.service.js +24 -0
  56. package/esm2015/ngx-utils/services/formatter.service.js +44 -0
  57. package/esm2015/ngx-utils/services/global-template.service.js +35 -0
  58. package/esm2015/ngx-utils/services/icon.service.js +24 -0
  59. package/esm2015/ngx-utils/services/language.service.js +117 -0
  60. package/esm2015/ngx-utils/services/open-api.service.js +41 -0
  61. package/esm2015/ngx-utils/services/promise.service.js +52 -0
  62. package/esm2015/ngx-utils/services/state.service.js +181 -0
  63. package/esm2015/ngx-utils/services/static-language.service.js +152 -0
  64. package/esm2015/ngx-utils/services/storage.service.js +48 -0
  65. package/esm2015/ngx-utils/services/toaster.service.js +29 -0
  66. package/esm2015/ngx-utils/services/translated-url.serializer.js +70 -0
  67. package/esm2015/ngx-utils/services/universal.service.js +75 -0
  68. package/esm2015/ngx-utils/utils/ajax-request-handler.js +40 -0
  69. package/esm2015/ngx-utils/utils/array.utils.js +100 -0
  70. package/esm2015/ngx-utils/utils/auth.guard.js +156 -0
  71. package/esm2015/ngx-utils/utils/canvas.utils.js +388 -0
  72. package/esm2015/ngx-utils/utils/date.utils.js +28 -0
  73. package/esm2015/ngx-utils/utils/file-system.js +20 -0
  74. package/esm2015/ngx-utils/utils/file.utils.js +90 -0
  75. package/esm2015/ngx-utils/utils/generic-value.js +20 -0
  76. package/esm2015/ngx-utils/utils/geometry.js +132 -0
  77. package/esm2015/ngx-utils/utils/initializer.js +20 -0
  78. package/esm2015/ngx-utils/utils/loader.utils.js +55 -0
  79. package/esm2015/ngx-utils/utils/math.utils.js +15 -0
  80. package/esm2015/ngx-utils/utils/object.utils.js +263 -0
  81. package/esm2015/ngx-utils/utils/observable.utils.js +63 -0
  82. package/esm2015/ngx-utils/utils/reflect.utils.js +33 -0
  83. package/esm2015/ngx-utils/utils/set.utils.js +20 -0
  84. package/esm2015/ngx-utils/utils/string.utils.js +28 -0
  85. package/esm2015/ngx-utils/utils/timer.utils.js +52 -0
  86. package/esm2015/ngx-utils/utils/unique.utils.js +24 -0
  87. package/esm2015/ngx-utils/utils/vector.js +77 -0
  88. package/esm2015/public_api.js +85 -0
  89. package/esm2015/stemy-ngx-utils.js +7 -0
  90. package/esm2020/ngx-utils/services/acl.service.mjs +3 -1
  91. package/esm2020/ngx-utils/utils/file-system.mjs +20 -0
  92. package/esm2020/public_api.mjs +2 -1
  93. package/fesm2015/stemy-ngx-utils.js +4882 -0
  94. package/fesm2015/stemy-ngx-utils.js.map +1 -0
  95. package/fesm2015/stemy-ngx-utils.mjs +23 -1
  96. package/fesm2015/stemy-ngx-utils.mjs.map +1 -1
  97. package/fesm2020/stemy-ngx-utils.mjs +23 -1
  98. package/fesm2020/stemy-ngx-utils.mjs.map +1 -1
  99. package/ngx-utils/utils/file-system.d.ts +16 -0
  100. package/package.json +1 -1
  101. package/public_api.d.ts +1 -0
  102. package/stemy-ngx-utils.metadata.json +1 -0
  103. package/tools/circular.js +117 -0
  104. package/tools/circular.js.map +1 -0
  105. package/tools/config.js +79 -0
  106. package/tools/config.js.map +1 -0
  107. package/tools/icons.js +14 -0
  108. package/tools/icons.js.map +1 -0
@@ -0,0 +1,70 @@
1
+ import { Directive, ElementRef, Input, Renderer2, ViewContainerRef } from "@angular/core";
2
+ import { ObjectUtils } from "../utils/object.utils";
3
+ export class UnorderedListItemDirective {
4
+ constructor(elementRef, renderer, viewContainer) {
5
+ this.elementRef = elementRef;
6
+ this.renderer = renderer;
7
+ this.viewContainer = viewContainer;
8
+ }
9
+ get elem() {
10
+ return this.elementRef.nativeElement;
11
+ }
12
+ ngOnChanges(changes) {
13
+ if (!this.templates || !this.defaultTemplates || !this.item)
14
+ return;
15
+ const promise = this.item.value instanceof Promise ? this.item.value : Promise.resolve(this.item.value);
16
+ promise.then(value => {
17
+ this.item.value = value;
18
+ this.path = ObjectUtils.isNullOrUndefined(this.path) ? "" : this.path.toString();
19
+ this.isArray = ObjectUtils.isArray(this.data);
20
+ this.isObject = ObjectUtils.isObject(this.data);
21
+ this.valueIsArray = ObjectUtils.isArray(this.item.value);
22
+ this.valueIsObject = ObjectUtils.isObject(this.item.value);
23
+ this.valueType = ObjectUtils.getType(this.item.value);
24
+ const context = this;
25
+ const template = this.templates.find(t => t.type == this.type && ObjectUtils.evaluate(t.selector, context)) || this.defaultTemplates[this.type];
26
+ // Set view
27
+ this.viewContainer.clear();
28
+ this.viewContainer.createEmbeddedView(template, context);
29
+ // Set classes
30
+ if (this.type !== "item")
31
+ return;
32
+ this.item.classList = [];
33
+ this.isClass("is-array", this.valueIsArray);
34
+ this.isClass("is-object", this.valueIsObject);
35
+ this.isClass("is-value", !this.valueIsObject && !this.valueIsArray);
36
+ this.isClass(`type-${this.valueType}`);
37
+ this.isClass(`path-${this.path.replace(/\./g, "-")}`);
38
+ this.isClass(`key-${this.item.key}`);
39
+ }, reason => {
40
+ console.log("Can't handle promise rejection", reason);
41
+ });
42
+ }
43
+ isClass(className, value = true) {
44
+ if (!value)
45
+ return;
46
+ this.item.classList.push(className);
47
+ }
48
+ }
49
+ UnorderedListItemDirective.decorators = [
50
+ { type: Directive, args: [{
51
+ selector: "[unorderedListItem]"
52
+ },] }
53
+ ];
54
+ UnorderedListItemDirective.ctorParameters = () => [
55
+ { type: ElementRef },
56
+ { type: Renderer2 },
57
+ { type: ViewContainerRef }
58
+ ];
59
+ UnorderedListItemDirective.propDecorators = {
60
+ item: [{ type: Input, args: ["unorderedListItem",] }],
61
+ type: [{ type: Input }],
62
+ data: [{ type: Input }],
63
+ keyPrefix: [{ type: Input }],
64
+ listStyle: [{ type: Input }],
65
+ path: [{ type: Input }],
66
+ level: [{ type: Input }],
67
+ templates: [{ type: Input }],
68
+ defaultTemplates: [{ type: Input }]
69
+ };
70
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidW5vcmRlcmVkLWxpc3QtaXRlbS5kaXJlY3RpdmUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9zcmMvbmd4LXV0aWxzL2RpcmVjdGl2ZXMvdW5vcmRlcmVkLWxpc3QtaXRlbS5kaXJlY3RpdmUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFDLFNBQVMsRUFBRSxVQUFVLEVBQUUsS0FBSyxFQUFhLFNBQVMsRUFBaUIsZ0JBQWdCLEVBQUMsTUFBTSxlQUFlLENBQUM7QUFFbEgsT0FBTyxFQUFDLFdBQVcsRUFBQyxNQUFNLHVCQUF1QixDQUFDO0FBTWxELE1BQU0sT0FBTywwQkFBMEI7SUFzQm5DLFlBQW9CLFVBQXNCLEVBQVUsUUFBbUIsRUFBVSxhQUErQjtRQUE1RixlQUFVLEdBQVYsVUFBVSxDQUFZO1FBQVUsYUFBUSxHQUFSLFFBQVEsQ0FBVztRQUFVLGtCQUFhLEdBQWIsYUFBYSxDQUFrQjtJQUVoSCxDQUFDO0lBTkQsSUFBSSxJQUFJO1FBQ0osT0FBTyxJQUFJLENBQUMsVUFBVSxDQUFDLGFBQWEsQ0FBQztJQUN6QyxDQUFDO0lBTUQsV0FBVyxDQUFDLE9BQXNCO1FBQzlCLElBQUksQ0FBQyxJQUFJLENBQUMsU0FBUyxJQUFJLENBQUMsSUFBSSxDQUFDLGdCQUFnQixJQUFJLENBQUMsSUFBSSxDQUFDLElBQUk7WUFBRSxPQUFPO1FBQ3BFLE1BQU0sT0FBTyxHQUFHLElBQUksQ0FBQyxJQUFJLENBQUMsS0FBSyxZQUFZLE9BQU8sQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLE9BQU8sQ0FBQyxPQUFPLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsQ0FBQztRQUN4RyxPQUFPLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxFQUFFO1lBQ2pCLElBQUksQ0FBQyxJQUFJLENBQUMsS0FBSyxHQUFHLEtBQUssQ0FBQztZQUN4QixJQUFJ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TCxLQUFLO3dCQUNMLEtBQUs7d0JBQ0wsS0FBSzttQkFDTCxLQUFLO29CQUNMLEtBQUs7d0JBQ0wsS0FBSzsrQkFDTCxLQUFLIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtEaXJlY3RpdmUsIEVsZW1lbnRSZWYsIElucHV0LCBPbkNoYW5nZXMsIFJlbmRlcmVyMiwgU2ltcGxlQ2hhbmdlcywgVmlld0NvbnRhaW5lclJlZn0gZnJvbSBcIkBhbmd1bGFyL2NvcmVcIjtcclxuaW1wb3J0IHtVbm9yZGVyZWRMaXN0U3R5bGUsIFVub3JkZXJlZExpc3RUZW1wbGF0ZXMsIFVub3JlZGVyZWRMaXN0VGVtcGxhdGV9IGZyb20gXCIuLi9jb21tb24tdHlwZXNcIjtcclxuaW1wb3J0IHtPYmplY3RVdGlsc30gZnJvbSBcIi4uL3V0aWxzL29iamVjdC51dGlsc1wiO1xyXG5pbXBvcnQge1N0cmluZ1V0aWxzfSBmcm9tIFwiLi4vdXRpbHMvc3RyaW5nLnV0aWxzXCI7XHJcblxyXG5ARGlyZWN0aXZlKHtcclxuICAgIHNlbGVjdG9yOiBcIlt1bm9yZGVyZWRMaXN0SXRlbV1cIlxyXG59KVxyXG5leHBvcnQgY2xhc3MgVW5vcmRlcmVkTGlzdEl0ZW1EaXJlY3RpdmUgaW1wbGVtZW50cyBPbkNoYW5nZXMge1xyXG5cclxuICAgIEBJbnB1dChcInVub3JkZXJlZExpc3RJdGVtXCIpIGl0ZW06IGFueTtcclxuICAgIEBJbnB1dCgpIHR5cGU6IHN0cmluZztcclxuICAgIEBJbnB1dCgpIGRhdGE6IGFueTtcclxuICAgIEBJbnB1dCgpIGtleVByZWZpeDogc3RyaW5nO1xyXG4gICAgQElucHV0KCkgbGlzdFN0eWxlOiBVbm9yZGVyZWRMaXN0U3R5bGU7XHJcbiAgICBASW5wdXQoKSBwYXRoOiBzdHJpbmc7XHJcbiAgICBASW5wdXQoKSBsZXZlbDogbnVtYmVyO1xyXG4gICAgQElucHV0KCkgdGVtcGxhdGVzOiBVbm9yZWRlcmVkTGlzdFRlbXBsYXRlW107XHJcbiAgICBASW5wdXQoKSBkZWZhdWx0VGVtcGxhdGVzOiBVbm9yZGVyZWRMaXN0VGVtcGxhdGVzO1xyXG5cclxuICAgIGlzQXJyYXk6IGJvb2xlYW47XHJcbiAgICBpc09iamVjdDogYm9vbGVhbjtcclxuICAgIHZhbHVlSXNBcnJheTogYm9vbGVhbjtcclxuICAgIHZhbHVlSXNPYmplY3Q6IGJvb2xlYW47XHJcbiAgICB2YWx1ZVR5cGU6IHN0cmluZztcclxuXHJcbiAgICBnZXQgZWxlbSgpOiBIVE1MRWxlbWVudCB7XHJcbiAgICAgICAgcmV0dXJuIHRoaXMuZWxlbWVudFJlZi5uYXRpdmVFbGVtZW50O1xyXG4gICAgfVxyXG5cclxuICAgIGNvbnN0cnVjdG9yKHByaXZhdGUgZWxlbWVudFJlZjogRWxlbWVudFJlZiwgcHJpdmF0ZSByZW5kZXJlcjogUmVuZGVyZXIyLCBwcml2YXRlIHZpZXdDb250YWluZXI6IFZpZXdDb250YWluZXJSZWYpIHtcclxuXHJcbiAgICB9XHJcblxyXG4gICAgbmdPbkNoYW5nZXMoY2hhbmdlczogU2ltcGxlQ2hhbmdlcyk6IHZvaWQge1xyXG4gICAgICAgIGlmICghdGhpcy50ZW1wbGF0ZXMgfHwgIXRoaXMuZGVmYXVsdFRlbXBsYXRlcyB8fCAhdGhpcy5pdGVtKSByZXR1cm47XHJcbiAgICAgICAgY29uc3QgcHJvbWlzZSA9IHRoaXMuaXRlbS52YWx1ZSBpbnN0YW5jZW9mIFByb21pc2UgPyB0aGlzLml0ZW0udmFsdWUgOiBQcm9taXNlLnJlc29sdmUodGhpcy5pdGVtLnZhbHVlKTtcclxuICAgICAgICBwcm9taXNlLnRoZW4odmFsdWUgPT4ge1xyXG4gICAgICAgICAgICB0aGlzLml0ZW0udmFsdWUgPSB2YWx1ZTtcclxuICAgICAgICAgICAgdGhpcy5wYXRoID0gT2JqZWN0VXRpbHMuaXNOdWxsT3JVbmRlZmluZWQodGhpcy5wYXRoKSA/IFwiXCIgOiB0aGlzLnBhdGgudG9TdHJpbmcoKTtcclxuICAgICAgICAgICAgdGhpcy5pc0FycmF5ID0gT2JqZWN0VXRpbHMuaXNBcnJheSh0aGlzLmRhdGEpO1xyXG4gICAgICAgICAgICB0aGlzLmlzT2JqZWN0ID0gT2JqZWN0VXRpbHMuaXNPYmplY3QodGhpcy5kYXRhKTtcclxuICAgICAgICAgICAgdGhpcy52YWx1ZUlzQXJyYXkgPSBPYmplY3RVdGlscy5pc0FycmF5KHRoaXMuaXRlbS52YWx1ZSk7XHJcbiAgICAgICAgICAgIHRoaXMudmFsdWVJc09iamVjdCA9IE9iamVjdFV0aWxzLmlzT2JqZWN0KHRoaXMuaXRlbS52YWx1ZSk7XHJcbiAgICAgICAgICAgIHRoaXMudmFsdWVUeXBlID0gT2JqZWN0VXRpbHMuZ2V0VHlwZSh0aGlzLml0ZW0udmFsdWUpO1xyXG4gICAgICAgICAgICBjb25zdCBjb250ZXh0OiBhbnkgPSB0aGlzO1xyXG4gICAgICAgICAgICBjb25zdCB0ZW1wbGF0ZSA9IHRoaXMudGVtcGxhdGVzLmZpbmQodCA9PiB0LnR5cGUgPT0gdGhpcy50eXBlICYmIE9iamVjdFV0aWxzLmV2YWx1YXRlKHQuc2VsZWN0b3IsIGNvbnRleHQpKSB8fCB0aGlzLmRlZmF1bHRUZW1wbGF0ZXNbdGhpcy50eXBlXTtcclxuICAgICAgICAgICAgLy8gU2V0IHZpZXdcclxuICAgICAgICAgICAgdGhpcy52aWV3Q29udGFpbmVyLmNsZWFyKCk7XHJcbiAgICAgICAgICAgIHRoaXMudmlld0NvbnRhaW5lci5jcmVhdGVFbWJlZGRlZFZpZXcodGVtcGxhdGUsIGNvbnRleHQpO1xyXG4gICAgICAgICAgICAvLyBTZXQgY2xhc3Nlc1xyXG4gICAgICAgICAgICBpZiAodGhpcy50eXBlICE9PSBcIml0ZW1cIikgcmV0dXJuO1xyXG4gICAgICAgICAgICB0aGlzLml0ZW0uY2xhc3NMaXN0ID0gW107XHJcbiAgICAgICAgICAgIHRoaXMuaXNDbGFzcyhcImlzLWFycmF5XCIsIHRoaXMudmFsdWVJc0FycmF5KTtcclxuICAgICAgICAgICAgdGhpcy5pc0NsYXNzKFwiaXMtb2JqZWN0XCIsIHRoaXMudmFsdWVJc09iamVjdCk7XHJcbiAgICAgICAgICAgIHRoaXMuaXNDbGFzcyhcImlzLXZhbHVlXCIsICF0aGlzLnZhbHVlSXNPYmplY3QgJiYgIXRoaXMudmFsdWVJc0FycmF5KTtcclxuICAgICAgICAgICAgdGhpcy5pc0NsYXNzKGB0eXBlLSR7dGhpcy52YWx1ZVR5cGV9YCk7XHJcbiAgICAgICAgICAgIHRoaXMuaXNDbGFzcyhgcGF0aC0ke3RoaXMucGF0aC5yZXBsYWNlKC9cXC4vZywgXCItXCIpfWApO1xyXG4gICAgICAgICAgICB0aGlzLmlzQ2xhc3MoYGtleS0ke3RoaXMuaXRlbS5rZXl9YCk7XHJcbiAgICAgICAgfSwgcmVhc29uID0+IHtcclxuICAgICAgICAgICAgY29uc29sZS5sb2coXCJDYW4ndCBoYW5kbGUgcHJvbWlzZSByZWplY3Rpb25cIiwgcmVhc29uKTtcclxuICAgICAgICB9KTtcclxuICAgIH1cclxuXHJcbiAgICBwcml2YXRlIGlzQ2xhc3MoY2xhc3NOYW1lOiBzdHJpbmcsIHZhbHVlOiBib29sZWFuID0gdHJ1ZSk6IHZvaWQge1xyXG4gICAgICAgIGlmICghdmFsdWUpIHJldHVybjtcclxuICAgICAgICB0aGlzLml0ZW0uY2xhc3NMaXN0LnB1c2goY2xhc3NOYW1lKTtcclxuICAgIH1cclxufVxyXG4iXX0=
@@ -0,0 +1,26 @@
1
+ import { Directive, ElementRef, Input, TemplateRef } from "@angular/core";
2
+ import { UnorederedListTemplate } from "../common-types";
3
+ export class UnorderedListTemplateDirective extends UnorederedListTemplate {
4
+ constructor(elementRef, templateRef) {
5
+ super();
6
+ this.elementRef = elementRef;
7
+ this.templateRef = templateRef;
8
+ }
9
+ createEmbeddedView(context) {
10
+ return this.templateRef.createEmbeddedView(context);
11
+ }
12
+ }
13
+ UnorderedListTemplateDirective.decorators = [
14
+ { type: Directive, args: [{
15
+ selector: "ng-template[type][selector]"
16
+ },] }
17
+ ];
18
+ UnorderedListTemplateDirective.ctorParameters = () => [
19
+ { type: ElementRef },
20
+ { type: TemplateRef }
21
+ ];
22
+ UnorderedListTemplateDirective.propDecorators = {
23
+ type: [{ type: Input }],
24
+ selector: [{ type: Input }]
25
+ };
26
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidW5vcmRlcmVkLWxpc3QtdGVtcGxhdGUuZGlyZWN0aXZlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vc3JjL25neC11dGlscy9kaXJlY3RpdmVzL3Vub3JkZXJlZC1saXN0LXRlbXBsYXRlLmRpcmVjdGl2ZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUMsU0FBUyxFQUFFLFVBQVUsRUFBbUIsS0FBSyxFQUFFLFdBQVcsRUFBQyxNQUFNLGVBQWUsQ0FBQztBQUN6RixPQUFPLEVBQUMsc0JBQXNCLEVBQUMsTUFBTSxpQkFBaUIsQ0FBQztBQU12RCxNQUFNLE9BQU8sOEJBQStCLFNBQVEsc0JBQXNCO0lBS3RFLFlBQW1CLFVBQXNCLEVBQVMsV0FBNkI7UUFDM0UsS0FBSyxFQUFFLENBQUM7UUFETyxlQUFVLEdBQVYsVUFBVSxDQUFZO1FBQVMsZ0JBQVcsR0FBWCxXQUFXLENBQWtCO0lBRS9FLENBQUM7SUFFRCxrQkFBa0IsQ0FBQyxPQUFZO1FBQzNCLE9BQU8sSUFBSSxDQUFDLFdBQVcsQ0FBQyxrQkFBa0IsQ0FBQyxPQUFPLENBQUMsQ0FBQztJQUN4RCxDQUFDOzs7WUFmSixTQUFTLFNBQUM7Z0JBQ1AsUUFBUSxFQUFFLDZCQUE2QjthQUMxQzs7O1lBTGtCLFVBQVU7WUFBMEIsV0FBVzs7O21CQVM3RCxLQUFLO3VCQUNMLEtBQUsiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge0RpcmVjdGl2ZSwgRWxlbWVudFJlZiwgRW1iZWRkZWRWaWV3UmVmLCBJbnB1dCwgVGVtcGxhdGVSZWZ9IGZyb20gXCJAYW5ndWxhci9jb3JlXCI7XHJcbmltcG9ydCB7VW5vcmVkZXJlZExpc3RUZW1wbGF0ZX0gZnJvbSBcIi4uL2NvbW1vbi10eXBlc1wiO1xyXG5cclxuQERpcmVjdGl2ZSh7XHJcbiAgICBzZWxlY3RvcjogXCJuZy10ZW1wbGF0ZVt0eXBlXVtzZWxlY3Rvcl1cIlxyXG59KVxyXG5cclxuZXhwb3J0IGNsYXNzIFVub3JkZXJlZExpc3RUZW1wbGF0ZURpcmVjdGl2ZSBleHRlbmRzIFVub3JlZGVyZWRMaXN0VGVtcGxhdGUge1xyXG5cclxuICAgIEBJbnB1dCgpIHR5cGU6IHN0cmluZztcclxuICAgIEBJbnB1dCgpIHNlbGVjdG9yOiBzdHJpbmc7XHJcblxyXG4gICAgY29uc3RydWN0b3IocHVibGljIGVsZW1lbnRSZWY6IEVsZW1lbnRSZWYsIHB1YmxpYyB0ZW1wbGF0ZVJlZjogVGVtcGxhdGVSZWY8YW55Pikge1xyXG4gICAgICAgIHN1cGVyKCk7XHJcbiAgICB9XHJcblxyXG4gICAgY3JlYXRlRW1iZWRkZWRWaWV3KGNvbnRleHQ6IGFueSk6IEVtYmVkZGVkVmlld1JlZjxhbnk+IHtcclxuICAgICAgICByZXR1cm4gdGhpcy50ZW1wbGF0ZVJlZi5jcmVhdGVFbWJlZGRlZFZpZXcoY29udGV4dCk7XHJcbiAgICB9XHJcbn1cclxuIl19
@@ -0,0 +1,238 @@
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
+ // --- Pipes ---
72
+ export const pipes = [
73
+ ChunkPipe,
74
+ EntriesPipe,
75
+ ExtraItemPropertiesPipe,
76
+ FilterPipe,
77
+ FindPipe,
78
+ FormatNumberPipe,
79
+ GetOffsetPipe,
80
+ GetTypePipe,
81
+ GlobalTemplatePipe,
82
+ GroupByPipe,
83
+ IsTypePipe,
84
+ JoinPipe,
85
+ KeysPipe,
86
+ MapPipe,
87
+ MaxPipe,
88
+ MinPipe,
89
+ ReducePipe,
90
+ RemapPipe,
91
+ ReplacePipe,
92
+ ReversePipe,
93
+ RoundPipe,
94
+ SafeHtmlPipe,
95
+ TranslatePipe,
96
+ ValuesPipe
97
+ ];
98
+ // --- Directives ---
99
+ export const directives = [
100
+ AsyncMethodDirective,
101
+ BackgroundDirective,
102
+ DynamicTableTemplateDirective,
103
+ GlobalTemplateDirective,
104
+ IconDirective,
105
+ NgxTemplateOutletDirective,
106
+ PaginationDirective,
107
+ PaginationItemDirective,
108
+ ResourceIfDirective,
109
+ StickyDirective,
110
+ StickyClassDirective,
111
+ UnorderedListItemDirective,
112
+ UnorderedListTemplateDirective
113
+ ];
114
+ // --- Components ---
115
+ export const components = [
116
+ DynamicTableComponent,
117
+ PaginationMenuComponent,
118
+ UnorderedListComponent
119
+ ];
120
+ export const providers = [
121
+ ...pipes,
122
+ BaseHttpClient,
123
+ BaseHttpService,
124
+ AuthGuard,
125
+ AclService,
126
+ ApiService,
127
+ StaticAuthService,
128
+ ConfigService,
129
+ ErrorHandlerService,
130
+ EventsService,
131
+ FormatterService,
132
+ GlobalTemplateService,
133
+ IconService,
134
+ LanguageService,
135
+ OpenApiService,
136
+ PromiseService,
137
+ StateService,
138
+ StaticLanguageService,
139
+ StorageService,
140
+ ConsoleToasterService,
141
+ TranslatedUrlSerializer,
142
+ UniversalService,
143
+ DeviceDetectorService,
144
+ {
145
+ provide: EVENT_MANAGER_PLUGINS,
146
+ useClass: ResizeEventPlugin,
147
+ multi: true
148
+ },
149
+ {
150
+ provide: EVENT_MANAGER_PLUGINS,
151
+ useClass: ScrollEventPlugin,
152
+ multi: true
153
+ },
154
+ {
155
+ provide: UrlSerializer,
156
+ useExisting: TranslatedUrlSerializer
157
+ },
158
+ {
159
+ provide: ErrorHandler,
160
+ useExisting: ErrorHandlerService
161
+ }
162
+ ];
163
+ export function loadConfig(config) {
164
+ return config.load;
165
+ }
166
+ export class NgxUtilsModule {
167
+ static forRoot(config) {
168
+ return {
169
+ ngModule: NgxUtilsModule,
170
+ providers: [
171
+ ...providers,
172
+ {
173
+ provide: API_SERVICE,
174
+ useExisting: (!config ? null : config.apiService) || ApiService
175
+ },
176
+ {
177
+ provide: AUTH_SERVICE,
178
+ useExisting: (!config ? null : config.authService) || StaticAuthService
179
+ },
180
+ {
181
+ provide: ICON_SERVICE,
182
+ useExisting: (!config ? null : config.iconService) || IconService
183
+ },
184
+ {
185
+ provide: LANGUAGE_SERVICE,
186
+ useExisting: (!config ? null : config.languageService) || StaticLanguageService
187
+ },
188
+ {
189
+ provide: TOASTER_SERVICE,
190
+ useExisting: (!config ? null : config.toasterService) || ConsoleToasterService
191
+ },
192
+ {
193
+ provide: PROMISE_SERVICE,
194
+ useExisting: (!config ? null : config.promiseService) || PromiseService
195
+ },
196
+ {
197
+ provide: CONFIG_SERVICE,
198
+ useExisting: (!config ? null : config.configService) || ConfigService
199
+ },
200
+ {
201
+ provide: GLOBAL_TEMPLATES,
202
+ useExisting: (!config ? null : config.globalTemplates) || GlobalTemplateService
203
+ },
204
+ {
205
+ provide: ROOT_ELEMENT,
206
+ useValue: null
207
+ },
208
+ {
209
+ provide: APP_INITIALIZER,
210
+ useFactory: (!config ? null : config.initializeApp) || loadConfig,
211
+ multi: true,
212
+ deps: [(!config ? null : config.initializeApp) ? Injector : CONFIG_SERVICE]
213
+ }
214
+ ]
215
+ };
216
+ }
217
+ }
218
+ NgxUtilsModule.decorators = [
219
+ { type: NgModule, args: [{
220
+ declarations: [
221
+ ...pipes,
222
+ ...directives,
223
+ ...components
224
+ ],
225
+ imports: [
226
+ CommonModule,
227
+ FormsModule
228
+ ],
229
+ exports: [
230
+ ...pipes,
231
+ ...directives,
232
+ ...components,
233
+ FormsModule
234
+ ],
235
+ providers: pipes
236
+ },] }
237
+ ];
238
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibmd4LXV0aWxzLm1vZHVsZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9uZ3gtdXRpbHMvbmd4LXV0aWxzLm1vZHVsZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUMsZUFBZSxFQUFFLFlBQVksRUFBVSxRQUFRLEVBQXVCLFFBQVEsRUFBQyxNQUFNLGVBQWUsQ0FBQztBQUM3RyxPQUFPLEVBQUMscUJBQXFCLEVBQUMsTUFBTSwyQkFBMkIsQ0FBQztBQUNoRSxPQUFPLEVBQUMsWUFBWSxFQUFDLE1BQU0saUJBQWlCLENBQUM7QUFDN0MsT0FBTyxFQUFDLFdBQVcsRUFBQyxNQUFNLGdCQUFnQixDQUFDO0FBQzNDLE9BQU8sRUFBQyxhQUFhLEVBQUMsTUFBTSxpQkFBaUIsQ0FBQztBQUM5QyxPQUFPLEVBQUMscUJBQXFCLEVBQUMsTUFBTSxxQkFBcUIsQ0FBQztBQUUxRCxPQUFPLEVBQ0gsV0FBVyxFQUNYLFlBQVksRUFDWixjQUFjLEVBQUUsZ0JBQWdCLEVBQ2hDLFlBQVksRUFHWixnQkFBZ0IsRUFDaEIsZUFBZSxFQUFFLFlBQVksRUFDN0IsZUFBZSxFQUNsQixNQUFNLGdCQUFnQixDQUFDO0FBRXhCLE9BQU8sRUFBQyxTQUFTLEVBQUMsTUFBTSxvQkFBb0IsQ0FBQztBQUM3QyxPQUFPLEVBQUMsVUFBVSxFQUFDLE1BQU0sd0JBQXdCLENBQUM7QUFDbEQsT0FBTyxFQUFDLFVBQVUsRUFBQyxNQUFNLHdCQUF3QixDQUFDO0FBQ2xELE9BQU8sRUFBQyxpQkFBaUIsRUFBQyxNQUFNLHlCQUF5QixDQUFDO0FBQzFELE9BQU8sRUFBQyxjQUFjLEVBQUMsTUFBTSw2QkFBNkIsQ0FBQztBQUMzRCxPQUFPLEVBQUMsZUFBZSxFQUFDLE1BQU0sOEJBQThCLENBQUM7QUFDN0QsT0FBTyxFQUFDLGFBQWEsRUFBQyxNQUFNLDJCQUEyQixDQUFDO0FBQ3hELE9BQU8sRUFBQyxtQkFBbUIsRUFBQyxNQUFNLGtDQUFr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QkFDYixHQUFHLFVBQVU7b0JBQ2IsV0FBVztpQkFDZDtnQkFDRCxTQUFTLEVBQUUsS0FBSzthQUNuQiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7QVBQX0lOSVRJQUxJWkVSLCBFcnJvckhhbmRsZXIsIEluamVjdCwgSW5qZWN0b3IsIE1vZHVsZVdpdGhQcm92aWRlcnMsIE5nTW9kdWxlfSBmcm9tIFwiQGFuZ3VsYXIvY29yZVwiO1xyXG5pbXBvcnQge0VWRU5UX01BTkFHRVJfUExVR0lOU30gZnJvbSBcIkBhbmd1bGFyL3BsYXRmb3JtLWJyb3dzZXJcIjtcclxuaW1wb3J0IHtDb21tb25Nb2R1bGV9IGZyb20gXCJAYW5ndWxhci9jb21tb25cIjtcclxuaW1wb3J0IHtGb3Jtc01vZHVsZX0gZnJvbSBcIkBhbmd1bGFyL2Zvcm1zXCI7XHJcbmltcG9ydCB7VXJsU2VyaWFsaXplcn0gZnJvbSBcIkBhbmd1bGFyL3JvdXRlclwiO1xyXG5pbXBvcnQge0RldmljZURldGVjdG9yU2VydmljZX0gZnJvbSBcIm5neC1kZXZpY2UtZGV0ZWN0b3JcIjtcclxuXHJcbmltcG9ydCB7XHJcbiAgICBBUElfU0VSVklDRSxcclxuICAgIEFVVEhfU0VSVklDRSxcclxuICAgIENPTkZJR19TRVJWSUNFLCBHTE9CQUxfVEVNUExBVEVTLFxyXG4gICAgSUNPTl9TRVJWSUNFLFxyXG4gICAgSUNvbmZpZ1NlcnZpY2UsXHJcbiAgICBJTW9kdWxlQ29uZmlnLFxyXG4gICAgTEFOR1VBR0VfU0VSVklDRSxcclxuICAgIFBST01JU0VfU0VSVklDRSwgUk9PVF9FTEVNRU5ULFxyXG4gICAgVE9BU1RFUl9TRVJWSUNFXHJcbn0gZnJvbSBcIi4vY29tbW9uLXR5cGVzXCI7XHJcblxyXG5pbXBvcnQge0F1dGhHdWFyZH0gZnJvbSBcIi4vdXRpbHMvYXV0aC5ndWFyZFwiO1xyXG5pbXBvcnQge0FjbFNlcnZpY2V9IGZyb20gXCIuL3NlcnZpY2VzL2FjbC5zZXJ2aWNlXCI7XHJcbmltcG9ydCB7QXBpU2VydmljZX0gZnJvbSBcIi4vc2VydmljZXMvYXBpLnNlcnZpY2VcIjtcclxuaW1wb3J0IHtTdGF0aWNBdXRoU2VydmljZX0gZnJvbSBcIi4vc2VydmljZXMvYXV0aC5zZXJ2aWNlXCI7XHJcbmltcG9ydCB7QmFzZUh0dHBDbGllbnR9IGZyb20gXCIuL3NlcnZpY2VzL2Jhc2UtaHR0cC5jbGllbnRcIjtcclxuaW1wb3J0IHtCYXNlSHR0cFNlcnZpY2V9IGZyb20gXCIuL3NlcnZpY2VzL2Jhc2UtaHR0cC5zZXJ2aWNlXCI7XHJcbmltcG9ydCB7Q29uZmlnU2VydmljZX0gZnJvbSBcIi4vc2VydmljZXMvY29uZmlnLnNlcnZpY2VcIjtcclxuaW1wb3J0IHtFcnJvckhhbmRsZXJTZXJ2aWNlfSBmcm9tIFwiLi9zZXJ2aWNlcy9lcnJvci1oYW5kbGVyLnNlcnZpY2VcIjtcclxuaW1wb3J0IHtFdmVudHNTZXJ2aWNlfSBmcm9tIFwiLi9zZXJ2aWNlcy9ldmVudHMuc2VydmljZVwiO1xyXG5pbXBvcnQge0Zvcm1hdHRlclNlcnZpY2V9IGZyb20gXCIuL3NlcnZpY2VzL2Zvcm1hdHRlci5zZXJ2aWNlXCI7XHJcbmltcG9ydCB7R2xvYmFsVGVtcGxhdGVTZXJ2aWNlfSBmcm9tIFwiLi9zZXJ2aWNlcy9nbG9iYWwtdGVtcGxhdGUuc2VydmljZVwiO1xyXG5pbXBvcnQge0ljb25TZXJ2aWNlfSBmcm9tIFwiLi9zZXJ2aWNlcy9pY29uLnNlcnZpY2VcIjtcclxuaW1wb3J0IHtMYW5ndWFnZVNlcnZpY2V9IGZyb20gXCIuL3NlcnZpY2VzL2xhbmd1YWdlLnNlcnZpY2VcIjtcclxuaW1wb3J0IHtQcm9taXNlU2VydmljZX0gZnJvbSBcIi4vc2VydmljZXMvcHJvbWlzZS5zZXJ2aWNlXCI7XHJcbmltcG9ydCB7T3BlbkFwaVNlcnZpY2V9IGZyb20gXCIuL3NlcnZpY2VzL29wZW4tYXBpLnNlcnZpY2VcIjtcclxuaW1wb3J0IHtTdGF0ZVNlcnZpY2V9IGZyb20gXCIuL3NlcnZpY2VzL3N0YXRlLnNlcnZpY2VcIjtcclxuaW1wb3J0IHtTdGF0aWNMYW5ndWFnZVNlcnZpY2V9IGZyb20gXCIuL3NlcnZpY2VzL3N0YXRpYy1sYW5ndWFnZS5zZXJ2aWNlXCI7XHJcbmltcG9ydCB7U3RvcmFnZVNlcnZpY2V9IGZyb20gXCIuL3NlcnZpY2VzL3N0b3JhZ2Uuc2VydmljZVwiO1xyXG5pbXBvcnQge0NvbnNvbGVUb2FzdGVyU2VydmljZX0gZnJvbSBcIi4vc2VydmljZXMvdG9hc3Rlci5zZXJ2aWNlXCI7XHJcbmltcG9ydCB7VHJhbnNsYXRlZFVybFNlcmlhbGl6ZXJ9IGZyb20gXCIuL3NlcnZpY2VzL3RyYW5zbGF0ZWQtdXJsLnNlcmlhbGl6ZXJcIjtcclxuaW1wb3J0IHtVbml2ZXJzYWxTZXJ2aWNlfSBmcm9tIFwiLi9zZXJ2aWNlcy91bml2ZXJzYWwuc2VydmljZVwiO1xyXG5pbXBvcnQge1Jlc2l6ZUV2ZW50UGx1Z2lufSBmcm9tIFwiLi9wbHVnaW5zL3Jlc2l6ZS1ldmVudC5wbHVnaW5cIjtcclxuaW1wb3J0IHtTY3JvbGxFdmVudFBsdWdpbn0gZnJvbSBcIi4vcGx1Z2lucy9zY3JvbGwtZXZlbnQucGx1Z2luXCI7XHJcbmltcG9ydCB7QXN5bmNNZXRob2REaXJlY3RpdmV9IGZyb20gXCIuL2RpcmVjdGl2ZXMvYXN5bmMtbWV0aG9kLmRpcmVjdGl2ZVwiO1xyXG5pbXBvcnQge0JhY2tncm91bmREaXJlY3RpdmV9IGZyb20gXCIuL2RpcmVjdGl2ZXMvYmFja2dyb3VuZC5kaXJlY3RpdmVcIjtcclxuaW1wb3J0IHtEeW5hbWljVGFibGVUZW1wbGF0ZURpcmVjdGl2ZX0gZnJvbSBcIi4vZGlyZWN0aXZlcy9keW5hbWljLXRhYmxlLXRlbXBsYXRlLmRpcmVjdGl2ZVwiO1xyXG5pbXBvcnQge0dsb2JhbFRlbXBsYXRlRGlyZWN0aXZlfSBmcm9tIFwiLi9kaXJlY3RpdmVzL2dsb2JhbC10ZW1wbGF0ZS5kaXJlY3RpdmVcIjtcclxuaW1wb3J0IHtJY29uRGlyZWN0aXZlfSBmcm9tIFwiLi9kaXJlY3RpdmVzL2ljb24uZGlyZWN0aXZlXCI7XHJcbmltcG9ydCB7Tmd4VGVtcGxhdGVPdXRsZXREaXJlY3RpdmV9IGZyb20gXCIuL2RpcmVjdGl2ZXMvbmd4LXRlbXBsYXRlLW91dGxldC5kaXJlY3RpdmVcIjtcclxuaW1wb3J0IHtQYWdpbmF0aW9uRGlyZWN0aXZlfSBmcm9tIFwiLi9kaXJlY3RpdmVzL3BhZ2luYXRpb24uZGlyZWN0aXZlXCI7XHJcbmltcG9ydCB7UGFnaW5hdGlvbkl0ZW1EaXJlY3RpdmV9IGZyb20gXCIuL2RpcmVjdGl2ZXMvcGFnaW5hdGlvbi1pdGVtLmRpcmVjdGl2ZVwiO1xyXG5pbXBvcnQge1Jlc291cmNlSWZEaXJlY3RpdmV9IGZyb20gXCIuL2RpcmVjdGl2ZXMvcmVzb3VyY2UtaWYuZGlyZWN0aXZlXCI7XHJcbmltcG9ydCB7U3RpY2t5RGlyZWN0aXZlfSBmcm9tIFwiLi9kaXJlY3RpdmVzL3N0aWNreS5kaXJlY3RpdmVcIjtcclxuaW1wb3J0IHtTdGlja3lDbGFzc0RpcmVjdGl2ZX0gZnJvbSBcIi4vZGlyZWN0aXZlcy9zdGlja3ktY2xhc3MuZGlyZWN0aXZlXCI7XHJcbmltcG9ydCB7VW5vcmRlcmVkTGlzdEl0ZW1EaXJlY3RpdmV9IGZyb20gXCIuL2RpcmVjdGl2ZXMvdW5vcmRlcmVkLWxpc3QtaXRlbS5kaXJlY3RpdmVcIjtcclxuaW1wb3J0IHtVbm9yZGVyZWRMaXN0VGVtcGxhdGVEaXJlY3RpdmV9IGZyb20gXCIuL2RpcmVjdGl2ZXMvdW5vcmRlcmVkLWxpc3QtdGVtcGxhdGUuZGlyZWN0aXZlXCI7XHJcblxyXG5pbXBvcnQge0NodW5rUGlwZX0gZnJvbSBcIi4vcGlwZXMvY2h1bmsucGlwZVwiO1xyXG5pbXBvcnQge0VudHJpZXNQaXBlfSBmcm9tIFwiLi9waXBlcy9lbnRyaWVzLnBpcGVcIjtcclxuaW1wb3J0IHtFeHRyYUl0ZW1Qcm9wZXJ0aWVzUGlwZX0gZnJvbSBcIi4vcGlwZXMvZXh0cmEtaXRlbS1wcm9wZXJ0aWVzLnBpcGVcIjtcclxuaW1wb3J0IHtGaWx0ZXJQaXBlfSBmcm9tIFwiLi9waXBlcy9maWx0ZXIucGlwZVwiO1xyXG5pbXBvcnQge0ZpbmRQaXBlfSBmcm9tIFwiLi9waXBlcy9maW5kLnBpcGVcIjtcclxuaW1wb3J0IHtGb3JtYXROdW1iZXJQaXBlfSBmcm9tIFwiLi9waXBlcy9mb3JtYXQtbnVtYmVyLnBpcGVcIjtcclxuaW1wb3J0IHtHZXRPZmZzZXRQaXBlfSBmcm9tIFwiLi9waXBlcy9nZXQtb2Zmc2V0LnBpcGVcIjtcclxuaW1wb3J0IHtHZXRUeXBlUGlwZX0gZnJvbSBcIi4vcGlwZXMvZ2V0LXR5cGUucGlwZVwiO1xyXG5pbXBvcnQge0dsb2JhbFRlbXBsYXRlUGlwZX0gZnJvbSBcIi4vcGlwZXMvZ2xvYmFsLXRlbXBsYXRlLnBpcGVcIjtcclxuaW1wb3J0IHtHcm91cEJ5UGlwZX0gZnJvbSBcIi4vcGlwZXMvZ3JvdXAtYnkucGlwZVwiO1xyXG5pbXBvcnQge0lzVHlwZVBpcGV9IGZyb20gXCIuL3BpcGVzL2lzLXR5cGUucGlwZVwiO1xyXG5pbXBvcnQge0pvaW5QaXBlfSBmcm9tIFwiLi9waXBlcy9qb2luLnBpcGVcIjtcclxuaW1wb3J0IHtLZXlzUGlwZX0gZnJvbSBcIi4vcGlwZXMva2V5cy5waXBlXCI7XHJcbmltcG9ydCB7TWFwUGlwZX0gZnJvbSBcIi4vcGlwZXMvbWFwLnBpcGVcIjtcclxuaW1wb3J0IHtNYXhQaXBlfSBmcm9tIFwiLi9waXBlcy9tYXgucGlwZVwiO1xyXG5pbXBvcnQge01pblBpcGV9IGZyb20gXCIuL3BpcGVzL21pbi5waXBlXCI7XHJcbmltcG9ydCB7UmVkdWNlUGlwZX0gZnJvbSBcIi4vcGlwZXMvcmVkdWNlLnBpcGVcIjtcclxuaW1wb3J0IHtSZW1hcFBpcGV9IGZyb20gXCIuL3BpcGVzL3JlbWFwLnBpcGVcIjtcclxuaW1wb3J0IHtSZXBsYWNlUGlwZX0gZnJvbSBcIi4vcGlwZXMvcmVwbGFjZS5waXBlXCI7XHJcbmltcG9ydCB7UmV2ZXJzZVBpcGV9IGZyb20gXCIuL3BpcGVzL3JldmVyc2UucGlwZVwiO1xyXG5pbXBvcnQge1JvdW5kUGlwZX0gZnJvbSBcIi4vcGlwZXMvcm91bmQucGlwZVwiO1xyXG5pbXBvcnQge1NhZmVIdG1sUGlwZX0gZnJvbSBcIi4vcGlwZXMvc2FmZS1odG1sLnBpcGVcIjtcclxuaW1wb3J0IHtUcmFuc2xhdGVQaXBlfSBmcm9tIFwiLi9waXBlcy90cmFuc2xhdGUucGlwZVwiO1xyXG5pbXBvcnQge1ZhbHVlc1BpcGV9IGZyb20gXCIuL3BpcGVzL3ZhbHVlcy5waXBlXCI7XHJcblxyXG5pbXBvcnQge0R5bmFtaWNUYWJsZUNvbXBvbmVudH0gZnJvbSBcIi4vY29tcG9uZW50cy9keW5hbWljLXRhYmxlL2R5bmFtaWMtdGFibGUuY29tcG9uZW50XCI7XHJcbmltcG9ydCB7UGFnaW5hdGlvbk1lbnVDb21wb25lbnR9IGZyb20gXCIuL2NvbXBvbmVudHMvcGFnaW5hdGlvbi1tZW51L3BhZ2luYXRpb24tbWVudS5jb21wb25lbnRcIjtcclxuaW1wb3J0IHtVbm9yZGVyZWRMaXN0Q29tcG9uZW50fSBmcm9tIFwiLi9jb21wb25lbnRzL3Vub3JkZXJlZC1saXN0L3Vub3JkZXJlZC1saXN0LmNvbXBvbmVudFwiO1xyXG5cclxuLy8gLS0tIFBpcGVzIC0tLVxyXG5leHBvcnQgY29uc3QgcGlwZXMgPSBbXHJcbiAgICBDaHVua1BpcGUsXHJcbiAgICBFbnRyaWVzUGlwZSxcclxuICAgIEV4dHJhSXRlbVByb3BlcnRpZXNQaXBlLFxyXG4gICAgRmlsdGVyUGlwZSxcclxuICAgIEZpbmRQaXBlLFxyXG4gICAgRm9ybWF0TnVtYmVyUGlwZSxcclxuICAgIEdldE9mZnNldFBpcGUsXHJcbiAgICBHZXRUeXBlUGlwZSxcclxuICAgIEdsb2JhbFRlbXBsYXRlUGlwZSxcclxuICAgIEdyb3VwQnlQaXBlLFxyXG4gICAgSXNUeXBlUGlwZSxcclxuICAgIEpvaW5QaXBlLFxyXG4gICAgS2V5c1BpcGUsXHJcbiAgICBNYXBQaXBlLFxyXG4gICAgTWF4UGlwZSxcclxuICAgIE1pblBpcGUsXHJcbiAgICBSZWR1Y2VQaXBlLFxyXG4gICAgUmVtYXBQaXBlLFxyXG4gICAgUmVwbGFjZVBpcGUsXHJcbiAgICBSZXZlcnNlUGlwZSxcclxuICAgIFJvdW5kUGlwZSxcclxuICAgIFNhZmVIdG1sUGlwZSxcclxuICAgIFRyYW5zbGF0ZVBpcGUsXHJcbiAgICBWYWx1ZXNQaXBlXHJcbl07XHJcblxyXG4vLyAtLS0gRGlyZWN0aXZlcyAtLS1cclxuZXhwb3J0IGNvbnN0IGRpcmVjdGl2ZXMgPSBbXHJcbiAgICBBc3luY01ldGhvZERpcmVjdGl2ZSxcclxuICAgIEJhY2tncm91bmREaXJlY3RpdmUsXHJcbiAgICBEeW5hbWljVGFibGVUZW1wbGF0ZURpcmVjdGl2ZSxcclxuICAgIEdsb2JhbFRlbXBsYXRlRGlyZWN0aXZlLFxyXG4gICAgSWNvbkRpcmVjdGl2ZSxcclxuICAgIE5neFRlbXBsYXRlT3V0bGV0RGlyZWN0aXZlLFxyXG4gICAgUGFnaW5hdGlvbkRpcmVjdGl2ZSxcclxuICAgIFBhZ2luYXRpb25JdGVtRGlyZWN0aXZlLFxyXG4gICAgUmVzb3VyY2VJZkRpcmVjdGl2ZSxcclxuICAgIFN0aWNreURpcmVjdGl2ZSxcclxuICAgIFN0aWNreUNsYXNzRGlyZWN0aXZlLFxyXG4gICAgVW5vcmRlcmVkTGlzdEl0ZW1EaXJlY3RpdmUsXHJcbiAgICBVbm9yZGVyZWRMaXN0VGVtcGxhdGVEaXJlY3RpdmVcclxuXTtcclxuXHJcbi8vIC0tLSBDb21wb25lbnRzIC0tLVxyXG5leHBvcnQgY29uc3QgY29tcG9uZW50cyA9IFtcclxuICAgIER5bmFtaWNUYWJsZUNvbXBvbmVudCxcclxuICAgIFBhZ2luYXRpb25NZW51Q29tcG9uZW50LFxyXG4gICAgVW5vcmRlcmVkTGlzdENvbXBvbmVudFxyXG5dO1xyXG5cclxuZXhwb3J0IGNvbnN0IHByb3ZpZGVycyA9IFtcclxuICAgIC4uLnBpcGVzLFxyXG4gICAgQmFzZUh0dHBDbGllbnQsXHJcbiAgICBCYXNlSHR0cFNlcnZpY2UsXHJcbiAgICBBdXRoR3VhcmQsXHJcbiAgICBBY2xTZXJ2aWNlLFxyXG4gICAgQXBpU2VydmljZSxcclxuICAgIFN0YXRpY0F1dGhTZXJ2aWNlLFxyXG4gICAgQ29uZmlnU2VydmljZSxcclxuICAgIEVycm9ySGFuZGxlclNlcnZpY2UsXHJcbiAgICBFdmVudHNTZXJ2aWNlLFxyXG4gICAgRm9ybWF0dGVyU2VydmljZSxcclxuICAgIEdsb2JhbFRlbXBsYXRlU2VydmljZSxcclxuICAgIEljb25TZXJ2aWNlLFxyXG4gICAgTGFuZ3VhZ2VTZXJ2aWNlLFxyXG4gICAgT3BlbkFwaVNlcnZpY2UsXHJcbiAgICBQcm9taXNlU2VydmljZSxcclxuICAgIFN0YXRlU2VydmljZSxcclxuICAgIFN0YXRpY0xhbmd1YWdlU2VydmljZSxcclxuICAgIFN0b3JhZ2VTZXJ2aWNlLFxyXG4gICAgQ29uc29sZVRvYXN0ZXJTZXJ2aWNlLFxyXG4gICAgVHJhbnNsYXRlZFVybFNlcmlhbGl6ZXIsXHJcbiAgICBVbml2ZXJzYWxTZXJ2aWNlLFxyXG4gICAgRGV2aWNlRGV0ZWN0b3JTZXJ2aWNlLFxyXG4gICAge1xyXG4gICAgICAgIHByb3ZpZGU6IEVWRU5UX01BTkFHRVJfUExVR0lOUyxcclxuICAgICAgICB1c2VDbGFzczogUmVzaXplRXZlbnRQbHVnaW4sXHJcbiAgICAgICAgbXVsdGk6IHRydWVcclxuICAgIH0sXHJcbiAgICB7XHJcbiAgICAgICAgcHJvdmlkZTogRVZFTlRfTUFOQUdFUl9QTFVHSU5TLFxyXG4gICAgICAgIHVzZUNsYXNzOiBTY3JvbGxFdmVudFBsdWdpbixcclxuICAgICAgICBtdWx0aTogdHJ1ZVxyXG4gICAgfSxcclxuICAgIHtcclxuICAgICAgICBwcm92aWRlOiBVcmxTZXJpYWxpemVyLFxyXG4gICAgICAgIHVzZUV4aXN0aW5nOiBUcmFuc2xhdGVkVXJsU2VyaWFsaXplclxyXG4gICAgfSxcclxuICAgIHtcclxuICAgICAgICBwcm92aWRlOiBFcnJvckhhbmRsZXIsXHJcbiAgICAgICAgdXNlRXhpc3Rpbmc6IEVycm9ySGFuZGxlclNlcnZpY2VcclxuICAgIH1cclxuXHJcbl07XHJcblxyXG5leHBvcnQgZnVuY3Rpb24gbG9hZENvbmZpZyhjb25maWc6IElDb25maWdTZXJ2aWNlKTogYW55IHtcclxuICAgIHJldHVybiBjb25maWcubG9hZDtcclxufVxyXG5cclxuQE5nTW9kdWxlKHtcclxuICAgIGRlY2xhcmF0aW9uczogW1xyXG4gICAgICAgIC4uLnBpcGVzLFxyXG4gICAgICAgIC4uLmRpcmVjdGl2ZXMsXHJcbiAgICAgICAgLi4uY29tcG9uZW50c1xyXG4gICAgXSxcclxuICAgIGltcG9ydHM6IFtcclxuICAgICAgICBDb21tb25Nb2R1bGUsXHJcbiAgICAgICAgRm9ybXNNb2R1bGVcclxuICAgIF0sXHJcbiAgICBleHBvcnRzOiBbXHJcbiAgICAgICAgLi4ucGlwZXMsXHJcbiAgICAgICAgLi4uZGlyZWN0aXZlcyxcclxuICAgICAgICAuLi5jb21wb25lbnRzLFxyXG4gICAgICAgIEZvcm1zTW9kdWxlXHJcbiAgICBdLFxyXG4gICAgcHJvdmlkZXJzOiBwaXBlc1xyXG59KVxyXG5leHBvcnQgY2xhc3MgTmd4VXRpbHNNb2R1bGUge1xyXG4gICAgc3RhdGljIGZvclJvb3QoY29uZmlnPzogSU1vZHVsZUNvbmZpZyk6IE1vZHVsZVdpdGhQcm92aWRlcnM8Tmd4VXRpbHNNb2R1bGU+IHtcclxuICAgICAgICByZXR1cm4ge1xyXG4gICAgICAgICAgICBuZ01vZHVsZTogTmd4VXRpbHNNb2R1bGUsXHJcbiAgICAgICAgICAgIHByb3ZpZGVyczogW1xyXG4gICAgICAgICAgICAgICAgLi4ucHJvdmlkZXJzLFxyXG4gICAgICAgICAgICAgICAge1xyXG4gICAgICAgICAgICAgICAgICAgIHByb3ZpZGU6IEFQSV9TRVJWSUNFLFxyXG4gICAgICAgICAgICAgICAgICAgIHVzZUV4aXN0aW5nOiAoIWNvbmZpZyA/IG51bGwgOiBjb25maWcuYXBpU2VydmljZSkgfHwgQXBpU2VydmljZVxyXG4gICAgICAgICAgICAgICAgfSxcclxuICAgICAgICAgICAgICAgIHtcclxuICAgICAgICAgICAgICAgICAgICBwcm92aWRlOiBBVVRIX1NFUlZJQ0UsXHJcbiAgICAgICAgICAgICAgICAgICAgdXNlRXhpc3Rpbmc6ICghY29uZmlnID8gbnVsbCA6IGNvbmZpZy5hdXRoU2VydmljZSkgfHwgU3RhdGljQXV0aFNlcnZpY2VcclxuICAgICAgICAgICAgICAgIH0sXHJcbiAgICAgICAgICAgICAgICB7XHJcbiAgICAgICAgICAgICAgICAgICAgcHJvdmlkZTogSUNPTl9TRVJWSUNFLFxyXG4gICAgICAgICAgICAgICAgICAgIHVzZUV4aXN0aW5nOiAoIWNvbmZpZyA/IG51bGwgOiBjb25maWcuaWNvblNlcnZpY2UpIHx8IEljb25TZXJ2aWNlXHJcbiAgICAgICAgICAgICAgICB9LFxyXG4gICAgICAgICAgICAgICAge1xyXG4gICAgICAgICAgICAgICAgICAgIHByb3ZpZGU6IExBTkdVQUdFX1NFUlZJQ0UsXHJcbiAgICAgICAgICAgICAgICAgICAgdXNlRXhpc3Rpbmc6ICghY29uZmlnID8gbnVsbCA6IGNvbmZpZy5sYW5ndWFnZVNlcnZpY2UpIHx8IFN0YXRpY0xhbmd1YWdlU2VydmljZVxyXG4gICAgICAgICAgICAgICAgfSxcclxuICAgICAgICAgICAgICAgIHtcclxuICAgICAgICAgICAgICAgICAgICBwcm92aWRlOiBUT0FTVEVSX1NFUlZJQ0UsXHJcbiAgICAgICAgICAgICAgICAgICAgdXNlRXhpc3Rpbmc6ICghY29uZmlnID8gbnVsbCA6IGNvbmZpZy50b2FzdGVyU2VydmljZSkgfHwgQ29uc29sZVRvYXN0ZXJTZXJ2aWNlXHJcbiAgICAgICAgICAgICAgICB9LFxyXG4gICAgICAgICAgICAgICAge1xyXG4gICAgICAgICAgICAgICAgICAgIHByb3ZpZGU6IFBST01JU0VfU0VSVklDRSxcclxuICAgICAgICAgICAgICAgICAgICB1c2VFeGlzdGluZzogKCFjb25maWcgPyBudWxsIDogY29uZmlnLnByb21pc2VTZXJ2aWNlKSB8fCBQcm9taXNlU2VydmljZVxyXG4gICAgICAgICAgICAgICAgfSxcclxuICAgICAgICAgICAgICAgIHtcclxuICAgICAgICAgICAgICAgICAgICBwcm92aWRlOiBDT05GSUdfU0VSVklDRSxcclxuICAgICAgICAgICAgICAgICAgICB1c2VFeGlzdGluZzogKCFjb25maWcgPyBudWxsIDogY29uZmlnLmNvbmZpZ1NlcnZpY2UpIHx8IENvbmZpZ1NlcnZpY2VcclxuICAgICAgICAgICAgICAgIH0sXHJcbiAgICAgICAgICAgICAgICB7XHJcbiAgICAgICAgICAgICAgICAgICAgcHJvdmlkZTogR0xPQkFMX1RFTVBMQVRFUyxcclxuICAgICAgICAgICAgICAgICAgICB1c2VFeGlzdGluZzogKCFjb25maWcgPyBudWxsIDogY29uZmlnLmdsb2JhbFRlbXBsYXRlcykgfHwgR2xvYmFsVGVtcGxhdGVTZXJ2aWNlXHJcbiAgICAgICAgICAgICAgICB9LFxyXG4gICAgICAgICAgICAgICAge1xyXG4gICAgICAgICAgICAgICAgICAgIHByb3ZpZGU6IFJPT1RfRUxFTUVOVCxcclxuICAgICAgICAgICAgICAgICAgICB1c2VWYWx1ZTogbnVsbFxyXG4gICAgICAgICAgICAgICAgfSxcclxuICAgICAgICAgICAgICAgIHtcclxuICAgICAgICAgICAgICAgICAgICBwcm92aWRlOiBBUFBfSU5JVElBTElaRVIsXHJcbiAgICAgICAgICAgICAgICAgICAgdXNlRmFjdG9yeTogKCFjb25maWcgPyBudWxsIDogY29uZmlnLmluaXRpYWxpemVBcHApIHx8IGxvYWRDb25maWcsXHJcbiAgICAgICAgICAgICAgICAgICAgbXVsdGk6IHRydWUsXHJcbiAgICAgICAgICAgICAgICAgICAgZGVwczogWyghY29uZmlnID8gbnVsbCA6IGNvbmZpZy5pbml0aWFsaXplQXBwKSA/IEluamVjdG9yIDogQ09ORklHX1NFUlZJQ0VdXHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIF1cclxuICAgICAgICB9O1xyXG4gICAgfVxyXG59XHJcbiJdfQ==
@@ -0,0 +1,21 @@
1
+ import { Pipe } from "@angular/core";
2
+ export class ChunkPipe {
3
+ transform(items, count) {
4
+ const result = [];
5
+ let subResult = null;
6
+ items.forEach((item, index) => {
7
+ if (index % count == 0) {
8
+ subResult = [];
9
+ result.push(subResult);
10
+ }
11
+ subResult.push(item);
12
+ });
13
+ return result;
14
+ }
15
+ }
16
+ ChunkPipe.decorators = [
17
+ { type: Pipe, args: [{
18
+ name: "chunk"
19
+ },] }
20
+ ];
21
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2h1bmsucGlwZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3NyYy9uZ3gtdXRpbHMvcGlwZXMvY2h1bmsucGlwZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUMsSUFBSSxFQUFnQixNQUFNLGVBQWUsQ0FBQztBQUtsRCxNQUFNLE9BQU8sU0FBUztJQUNsQixTQUFTLENBQUMsS0FBWSxFQUFFLEtBQWE7UUFDakMsTUFBTSxNQUFNLEdBQVUsRUFBRSxDQUFDO1FBQ3pCLElBQUksU0FBUyxHQUFVLElBQUksQ0FBQztRQUM1QixLQUFLLENBQUMsT0FBTyxDQUFDLENBQUMsSUFBSSxFQUFFLEtBQUssRUFBRSxFQUFFO1lBQzFCLElBQUksS0FBSyxHQUFHLEtBQUssSUFBSSxDQUFDLEVBQUU7Z0JBQ3BCLFNBQVMsR0FBRyxFQUFFLENBQUM7Z0JBQ2YsTUFBTSxDQUFDLElBQUksQ0FBQyxTQUFTLENBQUMsQ0FBQzthQUMxQjtZQUNELFNBQVMsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLENBQUM7UUFDekIsQ0FBQyxDQUFDLENBQUM7UUFDSCxPQUFPLE1BQU0sQ0FBQztJQUNsQixDQUFDOzs7WUFmSixJQUFJLFNBQUM7Z0JBQ0YsSUFBSSxFQUFFLE9BQU87YUFDaEIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge1BpcGUsIFBpcGVUcmFuc2Zvcm19IGZyb20gXCJAYW5ndWxhci9jb3JlXCI7XHJcblxyXG5AUGlwZSh7XHJcbiAgICBuYW1lOiBcImNodW5rXCJcclxufSlcclxuZXhwb3J0IGNsYXNzIENodW5rUGlwZSBpbXBsZW1lbnRzIFBpcGVUcmFuc2Zvcm0ge1xyXG4gICAgdHJhbnNmb3JtKGl0ZW1zOiBhbnlbXSwgY291bnQ6IG51bWJlcik6IGFueVtdIHtcclxuICAgICAgICBjb25zdCByZXN1bHQ6IGFueVtdID0gW107XHJcbiAgICAgICAgbGV0IHN1YlJlc3VsdDogYW55W10gPSBudWxsO1xyXG4gICAgICAgIGl0ZW1zLmZvckVhY2goKGl0ZW0sIGluZGV4KSA9PiB7XHJcbiAgICAgICAgICAgIGlmIChpbmRleCAlIGNvdW50ID09IDApIHtcclxuICAgICAgICAgICAgICAgIHN1YlJlc3VsdCA9IFtdO1xyXG4gICAgICAgICAgICAgICAgcmVzdWx0LnB1c2goc3ViUmVzdWx0KTtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICBzdWJSZXN1bHQucHVzaChpdGVtKTtcclxuICAgICAgICB9KTtcclxuICAgICAgICByZXR1cm4gcmVzdWx0O1xyXG4gICAgfVxyXG59XHJcbiJdfQ==
@@ -0,0 +1,24 @@
1
+ import { Pipe } from "@angular/core";
2
+ import { ObjectUtils } from "../utils/object.utils";
3
+ const emptyEntries = [];
4
+ export class EntriesPipe {
5
+ transform(value) {
6
+ if (!value)
7
+ return emptyEntries;
8
+ const entries = [];
9
+ ObjectUtils.iterate(value, (val, key) => {
10
+ entries.push({
11
+ key: key,
12
+ value: val,
13
+ index: entries.length
14
+ });
15
+ });
16
+ return entries;
17
+ }
18
+ }
19
+ EntriesPipe.decorators = [
20
+ { type: Pipe, args: [{
21
+ name: "entries"
22
+ },] }
23
+ ];
24
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZW50cmllcy5waXBlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vc3JjL25neC11dGlscy9waXBlcy9lbnRyaWVzLnBpcGUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFDLElBQUksRUFBZ0IsTUFBTSxlQUFlLENBQUM7QUFDbEQsT0FBTyxFQUFDLFdBQVcsRUFBQyxNQUFNLHVCQUF1QixDQUFDO0FBUWxELE1BQU0sWUFBWSxHQUFhLEVBQUUsQ0FBQztBQUtsQyxNQUFNLE9BQU8sV0FBVztJQUVwQixTQUFTLENBQUMsS0FBVTtRQUNoQixJQUFJLENBQUMsS0FBSztZQUFFLE9BQU8sWUFBWSxDQUFDO1FBQ2hDLE1BQU0sT0FBTyxHQUFhLEVBQUUsQ0FBQztRQUM3QixXQUFXLENBQUMsT0FBTyxDQUFDLEtBQUssRUFBRSxDQUFDLEdBQUcsRUFBRSxHQUFHLEVBQUUsRUFBRTtZQUNwQyxPQUFPLENBQUMsSUFBSSxDQUFDO2dCQUNULEdBQUcsRUFBRSxHQUFHO2dCQUNSLEtBQUssRUFBRSxHQUFHO2dCQUNWLEtBQUssRUFBRSxPQUFPLENBQUMsTUFBTTthQUN4QixDQUFDLENBQUM7UUFDUCxDQUFDLENBQUMsQ0FBQztRQUNILE9BQU8sT0FBTyxDQUFDO0lBQ25CLENBQUM7OztZQWhCSixJQUFJLFNBQUM7Z0JBQ0YsSUFBSSxFQUFFLFNBQVM7YUFDbEIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge1BpcGUsIFBpcGVUcmFuc2Zvcm19IGZyb20gXCJAYW5ndWxhci9jb3JlXCI7XHJcbmltcG9ydCB7T2JqZWN0VXRpbHN9IGZyb20gXCIuLi91dGlscy9vYmplY3QudXRpbHNcIjtcclxuXHJcbmV4cG9ydCBpbnRlcmZhY2UgSUVudHJ5IHtcclxuICAgIGtleTogc3RyaW5nO1xyXG4gICAgdmFsdWU6IGFueTtcclxuICAgIGluZGV4OiBudW1iZXI7XHJcbn1cclxuXHJcbmNvbnN0IGVtcHR5RW50cmllczogSUVudHJ5W10gPSBbXTtcclxuXHJcbkBQaXBlKHtcclxuICAgIG5hbWU6IFwiZW50cmllc1wiXHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBFbnRyaWVzUGlwZSBpbXBsZW1lbnRzIFBpcGVUcmFuc2Zvcm0ge1xyXG5cclxuICAgIHRyYW5zZm9ybSh2YWx1ZTogYW55KTogSUVudHJ5W10ge1xyXG4gICAgICAgIGlmICghdmFsdWUpIHJldHVybiBlbXB0eUVudHJpZXM7XHJcbiAgICAgICAgY29uc3QgZW50cmllczogSUVudHJ5W10gPSBbXTtcclxuICAgICAgICBPYmplY3RVdGlscy5pdGVyYXRlKHZhbHVlLCAodmFsLCBrZXkpID0+IHtcclxuICAgICAgICAgICAgZW50cmllcy5wdXNoKHtcclxuICAgICAgICAgICAgICAgIGtleToga2V5LFxyXG4gICAgICAgICAgICAgICAgdmFsdWU6IHZhbCxcclxuICAgICAgICAgICAgICAgIGluZGV4OiBlbnRyaWVzLmxlbmd0aFxyXG4gICAgICAgICAgICB9KTtcclxuICAgICAgICB9KTtcclxuICAgICAgICByZXR1cm4gZW50cmllcztcclxuICAgIH1cclxufVxyXG4iXX0=
@@ -0,0 +1,27 @@
1
+ import { Pipe } from "@angular/core";
2
+ import { ObjectUtils } from "../utils/object.utils";
3
+ export class ExtraItemPropertiesPipe {
4
+ transform(items, properties, params = {}) {
5
+ const keys = Object.keys(properties);
6
+ keys.forEach(key => {
7
+ const value = properties[key];
8
+ properties[key] = ObjectUtils.isFunction(value) ? value : (item, index, params) => {
9
+ return ObjectUtils.evaluate(value, {
10
+ item: item,
11
+ index: index,
12
+ params: params
13
+ });
14
+ };
15
+ });
16
+ return (items || []).map((item, index) => keys.reduce((result, key) => {
17
+ result[key] = properties[key](item, index, params);
18
+ return result;
19
+ }, Object.assign({}, item)));
20
+ }
21
+ }
22
+ ExtraItemPropertiesPipe.decorators = [
23
+ { type: Pipe, args: [{
24
+ name: "extraItemProperties"
25
+ },] }
26
+ ];
27
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZXh0cmEtaXRlbS1wcm9wZXJ0aWVzLnBpcGUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9zcmMvbmd4LXV0aWxzL3BpcGVzL2V4dHJhLWl0ZW0tcHJvcGVydGllcy5waXBlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBQyxJQUFJLEVBQWdCLE1BQU0sZUFBZSxDQUFDO0FBRWxELE9BQU8sRUFBQyxXQUFXLEVBQUMsTUFBTSx1QkFBdUIsQ0FBQztBQUtsRCxNQUFNLE9BQU8sdUJBQXVCO0lBQ2hDLFNBQVMsQ0FBQyxLQUFZLEVBQUUsVUFBNEIsRUFBRSxTQUFjLEVBQUU7UUFDbEUsTUFBTSxJQUFJLEdBQUcsTUFBTSxDQUFDLElBQUksQ0FBQyxVQUFVLENBQUMsQ0FBQztRQUNyQyxJQUFJLENBQUMsT0FBTyxDQUFDLEdBQUcsQ0FBQyxFQUFFO1lBQ2YsTUFBTSxLQUFLLEdBQUcsVUFBVSxDQUFDLEdBQUcsQ0FBQyxDQUFDO1lBQzlCLFVBQVUsQ0FBQyxHQUFHLENBQUMsR0FBRyxXQUFXLENBQUMsVUFBVSxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxFQUFFLEtBQUssRUFBRSxNQUFNLEVBQUUsRUFBRTtnQkFDOUUsT0FBTyxXQUFXLENBQUMsUUFBUSxDQUFDLEtBQUssRUFBRTtvQkFDL0IsSUFBSSxFQUFFLElBQUk7b0JBQ1YsS0FBSyxFQUFFLEtBQUs7b0JBQ1osTUFBTSxFQUFFLE1BQU07aUJBQ2pCLENBQUMsQ0FBQztZQUNQLENBQUMsQ0FBQztRQUNOLENBQUMsQ0FBQyxDQUFDO1FBQ0gsT0FBTyxDQUFDLEtBQUssSUFBSSxFQUFFLENBQUMsQ0FBQyxHQUFHLENBQUMsQ0FBQyxJQUFJLEVBQUUsS0FBSyxFQUFFLEVBQUUsQ0FBQyxJQUFJLENBQUMsTUFBTSxDQUFDLENBQUMsTUFBTSxFQUFFLEdBQUcsRUFBRSxFQUFFO1lBQ2xFLE1BQU0sQ0FBQyxHQUFHLENBQUMsR0FBRyxVQUFVLENBQUMsR0FBRyxDQUFDLENBQUMsSUFBSSxFQUFFLEtBQUssRUFBRSxNQUFNLENBQUMsQ0FBQztZQUNuRCxPQUFPLE1BQU0sQ0FBQztRQUNsQixDQUFDLG9CQUFNLElBQUksRUFBRSxDQUFDLENBQUM7SUFDbkIsQ0FBQzs7O1lBcEJKLElBQUksU0FBQztnQkFDRixJQUFJLEVBQUUscUJBQXFCO2FBQzlCIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtQaXBlLCBQaXBlVHJhbnNmb3JtfSBmcm9tIFwiQGFuZ3VsYXIvY29yZVwiO1xyXG5pbXBvcnQge0lFeHRyYVByb3BlcnRpZXN9IGZyb20gXCIuLi9jb21tb24tdHlwZXNcIjtcclxuaW1wb3J0IHtPYmplY3RVdGlsc30gZnJvbSBcIi4uL3V0aWxzL29iamVjdC51dGlsc1wiO1xyXG5cclxuQFBpcGUoe1xyXG4gICAgbmFtZTogXCJleHRyYUl0ZW1Qcm9wZXJ0aWVzXCJcclxufSlcclxuZXhwb3J0IGNsYXNzIEV4dHJhSXRlbVByb3BlcnRpZXNQaXBlIGltcGxlbWVudHMgUGlwZVRyYW5zZm9ybSB7XHJcbiAgICB0cmFuc2Zvcm0oaXRlbXM6IGFueVtdLCBwcm9wZXJ0aWVzOiBJRXh0cmFQcm9wZXJ0aWVzLCBwYXJhbXM6IGFueSA9IHt9KTogYW55W10ge1xyXG4gICAgICAgIGNvbnN0IGtleXMgPSBPYmplY3Qua2V5cyhwcm9wZXJ0aWVzKTtcclxuICAgICAgICBrZXlzLmZvckVhY2goa2V5ID0+IHtcclxuICAgICAgICAgICAgY29uc3QgdmFsdWUgPSBwcm9wZXJ0aWVzW2tleV07XHJcbiAgICAgICAgICAgIHByb3BlcnRpZXNba2V5XSA9IE9iamVjdFV0aWxzLmlzRnVuY3Rpb24odmFsdWUpID8gdmFsdWUgOiAoaXRlbSwgaW5kZXgsIHBhcmFtcykgPT4ge1xyXG4gICAgICAgICAgICAgICAgcmV0dXJuIE9iamVjdFV0aWxzLmV2YWx1YXRlKHZhbHVlLCB7XHJcbiAgICAgICAgICAgICAgICAgICAgaXRlbTogaXRlbSxcclxuICAgICAgICAgICAgICAgICAgICBpbmRleDogaW5kZXgsXHJcbiAgICAgICAgICAgICAgICAgICAgcGFyYW1zOiBwYXJhbXNcclxuICAgICAgICAgICAgICAgIH0pO1xyXG4gICAgICAgICAgICB9O1xyXG4gICAgICAgIH0pO1xyXG4gICAgICAgIHJldHVybiAoaXRlbXMgfHwgW10pLm1hcCgoaXRlbSwgaW5kZXgpID0+IGtleXMucmVkdWNlKChyZXN1bHQsIGtleSkgPT4ge1xyXG4gICAgICAgICAgICByZXN1bHRba2V5XSA9IHByb3BlcnRpZXNba2V5XShpdGVtLCBpbmRleCwgcGFyYW1zKTtcclxuICAgICAgICAgICAgcmV0dXJuIHJlc3VsdDtcclxuICAgICAgICB9LCB7Li4uaXRlbX0pKTtcclxuICAgIH1cclxufVxyXG4iXX0=
@@ -0,0 +1,38 @@
1
+ import { Pipe } from "@angular/core";
2
+ import { ObjectUtils } from "../utils/object.utils";
3
+ export function defaultFilter() {
4
+ return true;
5
+ }
6
+ export class FilterPipe {
7
+ transform(values, filter = defaultFilter, params = {}) {
8
+ const isObject = ObjectUtils.isObject(values);
9
+ if (!isObject && !ObjectUtils.isArray(values))
10
+ return [];
11
+ const filterFunc = ObjectUtils.isFunction(filter) ? filter : (value, key, params) => {
12
+ return ObjectUtils.evaluate(filter, {
13
+ value: value,
14
+ key: key,
15
+ item: value,
16
+ index: key,
17
+ params: params
18
+ });
19
+ };
20
+ if (isObject) {
21
+ return Object.keys(values).filter(key => {
22
+ return filterFunc(values[key], key, params);
23
+ }).reduce((result, key) => {
24
+ result[key] = values[key];
25
+ return result;
26
+ }, {});
27
+ }
28
+ return values.filter((value, key) => {
29
+ return filterFunc(value, key, params);
30
+ });
31
+ }
32
+ }
33
+ FilterPipe.decorators = [
34
+ { type: Pipe, args: [{
35
+ name: "filter"
36
+ },] }
37
+ ];
38
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZmlsdGVyLnBpcGUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9zcmMvbmd4LXV0aWxzL3BpcGVzL2ZpbHRlci5waXBlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBQyxJQUFJLEVBQWdCLE1BQU0sZUFBZSxDQUFDO0FBQ2xELE9BQU8sRUFBQyxXQUFXLEVBQUMsTUFBTSx1QkFBdUIsQ0FBQztBQUVsRCxNQUFNLFVBQVUsYUFBYTtJQUN6QixPQUFPLElBQUksQ0FBQztBQUNoQixDQUFDO0FBS0QsTUFBTSxPQUFPLFVBQVU7SUFDbkIsU0FBUyxDQUFDLE1BQVcsRUFBRSxTQUFjLGFBQWEsRUFBRSxTQUFjLEVBQUU7UUFDaEUsTUFBTSxRQUFRLEdBQUcsV0FBVyxDQUFDLFFBQVEsQ0FBQyxNQUFNLENBQUMsQ0FBQztRQUM5QyxJQUFJLENBQUMsUUFBUSxJQUFJLENBQUMsV0FBVyxDQUFDLE9BQU8sQ0FBQyxNQUFNLENBQUM7WUFBRSxPQUFPLEVBQUUsQ0FBQztRQUN6RCxNQUFNLFVBQVUsR0FBRyxXQUFXLENBQUMsVUFBVSxDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUMsQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDLENBQUMsS0FBSyxFQUFFLEdBQUcsRUFBRSxNQUFNLEVBQUUsRUFBRTtZQUNoRixPQUFPLFdBQVcsQ0FBQyxRQUFRLENBQUMsTUFBTSxFQUFFO2dCQUNoQyxLQUFLLEVBQUUsS0FBSztnQkFDWixHQUFHLEVBQUUsR0FBRztnQkFDUixJQUFJLEVBQUUsS0FBSztnQkFDWCxLQUFLLEVBQUUsR0FBRztnQkFDVixNQUFNLEVBQUUsTUFBTTthQUNqQixDQUFDLENBQUM7UUFDUCxDQUFDLENBQUM7UUFDRixJQUFJLFFBQVEsRUFBRTtZQUNWLE9BQU8sTUFBTSxDQUFDLElBQUksQ0FBQyxNQUFNLENBQUMsQ0FBQyxNQUFNLENBQUMsR0FBRyxDQUFDLEVBQUU7Z0JBQ3BDLE9BQU8sVUFBVSxDQUFDLE1BQU0sQ0FBQyxHQUFHLENBQUMsRUFBRSxHQUFHLEVBQUUsTUFBTSxDQUFDLENBQUM7WUFDaEQsQ0FBQyxDQUFDLENBQUMsTUFBTSxDQUFDLENBQUMsTUFBTSxFQUFFLEdBQUcsRUFBRSxFQUFFO2dCQUN0QixNQUFNLENBQUMsR0FBRyxDQUFDLEdBQUcsTUFBTSxDQUFDLEdBQUcsQ0FBQyxDQUFDO2dCQUMxQixPQUFPLE1BQU0sQ0FBQztZQUNsQixDQUFDLEVBQUUsRUFBRSxDQUFDLENBQUE7U0FDVDtRQUNELE9BQU8sTUFBTSxDQUFDLE1BQU0sQ0FBQyxDQUFDLEtBQUssRUFBRSxHQUFHLEVBQUUsRUFBRTtZQUNoQyxPQUFPLFVBQVUsQ0FBQyxLQUFLLEVBQUUsR0FBRyxFQUFFLE1BQU0sQ0FBQyxDQUFDO1FBQzFDLENBQUMsQ0FBQyxDQUFDO0lBQ1AsQ0FBQzs7O1lBM0JKLElBQUksU0FBQztnQkFDRixJQUFJLEVBQUUsUUFBUTthQUNqQiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7UGlwZSwgUGlwZVRyYW5zZm9ybX0gZnJvbSBcIkBhbmd1bGFyL2NvcmVcIjtcclxuaW1wb3J0IHtPYmplY3RVdGlsc30gZnJvbSBcIi4uL3V0aWxzL29iamVjdC51dGlsc1wiO1xyXG5cclxuZXhwb3J0IGZ1bmN0aW9uIGRlZmF1bHRGaWx0ZXIoKSB7XHJcbiAgICByZXR1cm4gdHJ1ZTtcclxufVxyXG5cclxuQFBpcGUoe1xyXG4gICAgbmFtZTogXCJmaWx0ZXJcIlxyXG59KVxyXG5leHBvcnQgY2xhc3MgRmlsdGVyUGlwZSBpbXBsZW1lbnRzIFBpcGVUcmFuc2Zvcm0ge1xyXG4gICAgdHJhbnNmb3JtKHZhbHVlczogYW55LCBmaWx0ZXI6IGFueSA9IGRlZmF1bHRGaWx0ZXIsIHBhcmFtczogYW55ID0ge30pOiBhbnkge1xyXG4gICAgICAgIGNvbnN0IGlzT2JqZWN0ID0gT2JqZWN0VXRpbHMuaXNPYmplY3QodmFsdWVzKTtcclxuICAgICAgICBpZiAoIWlzT2JqZWN0ICYmICFPYmplY3RVdGlscy5pc0FycmF5KHZhbHVlcykpIHJldHVybiBbXTtcclxuICAgICAgICBjb25zdCBmaWx0ZXJGdW5jID0gT2JqZWN0VXRpbHMuaXNGdW5jdGlvbihmaWx0ZXIpID8gZmlsdGVyIDogKHZhbHVlLCBrZXksIHBhcmFtcykgPT4ge1xyXG4gICAgICAgICAgICByZXR1cm4gT2JqZWN0VXRpbHMuZXZhbHVhdGUoZmlsdGVyLCB7XHJcbiAgICAgICAgICAgICAgICB2YWx1ZTogdmFsdWUsXHJcbiAgICAgICAgICAgICAgICBrZXk6IGtleSxcclxuICAgICAgICAgICAgICAgIGl0ZW06IHZhbHVlLFxyXG4gICAgICAgICAgICAgICAgaW5kZXg6IGtleSxcclxuICAgICAgICAgICAgICAgIHBhcmFtczogcGFyYW1zXHJcbiAgICAgICAgICAgIH0pO1xyXG4gICAgICAgIH07XHJcbiAgICAgICAgaWYgKGlzT2JqZWN0KSB7XHJcbiAgICAgICAgICAgIHJldHVybiBPYmplY3Qua2V5cyh2YWx1ZXMpLmZpbHRlcihrZXkgPT4ge1xyXG4gICAgICAgICAgICAgICAgcmV0dXJuIGZpbHRlckZ1bmModmFsdWVzW2tleV0sIGtleSwgcGFyYW1zKTtcclxuICAgICAgICAgICAgfSkucmVkdWNlKChyZXN1bHQsIGtleSkgPT4ge1xyXG4gICAgICAgICAgICAgICAgcmVzdWx0W2tleV0gPSB2YWx1ZXNba2V5XTtcclxuICAgICAgICAgICAgICAgIHJldHVybiByZXN1bHQ7XHJcbiAgICAgICAgICAgIH0sIHt9KVxyXG4gICAgICAgIH1cclxuICAgICAgICByZXR1cm4gdmFsdWVzLmZpbHRlcigodmFsdWUsIGtleSkgPT4ge1xyXG4gICAgICAgICAgICByZXR1cm4gZmlsdGVyRnVuYyh2YWx1ZSwga2V5LCBwYXJhbXMpO1xyXG4gICAgICAgIH0pO1xyXG4gICAgfVxyXG59XHJcbiJdfQ==
@@ -0,0 +1,25 @@
1
+ import { Pipe } from "@angular/core";
2
+ import { ObjectUtils } from "../utils/object.utils";
3
+ export function defaultFilter() {
4
+ return true;
5
+ }
6
+ export class FindPipe {
7
+ transform(values, filter = defaultFilter, params = {}) {
8
+ if (!ObjectUtils.isArray(values))
9
+ return [];
10
+ const filterFunc = ObjectUtils.isFunction(filter) ? filter : (value, index, params) => {
11
+ return ObjectUtils.evaluate(filter, {
12
+ value: value,
13
+ index: index,
14
+ params: params
15
+ });
16
+ };
17
+ return values.find((value, index) => filterFunc(value, index, params));
18
+ }
19
+ }
20
+ FindPipe.decorators = [
21
+ { type: Pipe, args: [{
22
+ name: "find"
23
+ },] }
24
+ ];
25
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZmluZC5waXBlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vc3JjL25neC11dGlscy9waXBlcy9maW5kLnBpcGUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFDLElBQUksRUFBZ0IsTUFBTSxlQUFlLENBQUM7QUFDbEQsT0FBTyxFQUFDLFdBQVcsRUFBQyxNQUFNLHVCQUF1QixDQUFDO0FBRWxELE1BQU0sVUFBVSxhQUFhO0lBQ3pCLE9BQU8sSUFBSSxDQUFDO0FBQ2hCLENBQUM7QUFLRCxNQUFNLE9BQU8sUUFBUTtJQUNqQixTQUFTLENBQUMsTUFBYSxFQUFFLFNBQWMsYUFBYSxFQUFFLFNBQWMsRUFBRTtRQUNsRSxJQUFJLENBQUMsV0FBVyxDQUFDLE9BQU8sQ0FBQyxNQUFNLENBQUM7WUFBRSxPQUFPLEVBQUUsQ0FBQztRQUM1QyxNQUFNLFVBQVUsR0FBRyxXQUFXLENBQUMsVUFBVSxDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUMsQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDLENBQUMsS0FBSyxFQUFFLEtBQUssRUFBRSxNQUFNLEVBQUUsRUFBRTtZQUNsRixPQUFPLFdBQVcsQ0FBQyxRQUFRLENBQUMsTUFBTSxFQUFFO2dCQUNoQyxLQUFLLEVBQUUsS0FBSztnQkFDWixLQUFLLEVBQUUsS0FBSztnQkFDWixNQUFNLEVBQUUsTUFBTTthQUNqQixDQUFDLENBQUM7UUFDUCxDQUFDLENBQUM7UUFDRixPQUFPLE1BQU0sQ0FBQyxJQUFJLENBQUMsQ0FBQyxLQUFLLEVBQUUsS0FBSyxFQUFFLEVBQUUsQ0FBQyxVQUFVLENBQUMsS0FBSyxFQUFFLEtBQUssRUFBRSxNQUFNLENBQUMsQ0FBQyxDQUFDO0lBQzNFLENBQUM7OztZQWRKLElBQUksU0FBQztnQkFDRixJQUFJLEVBQUUsTUFBTTthQUNmIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtQaXBlLCBQaXBlVHJhbnNmb3JtfSBmcm9tIFwiQGFuZ3VsYXIvY29yZVwiO1xyXG5pbXBvcnQge09iamVjdFV0aWxzfSBmcm9tIFwiLi4vdXRpbHMvb2JqZWN0LnV0aWxzXCI7XHJcblxyXG5leHBvcnQgZnVuY3Rpb24gZGVmYXVsdEZpbHRlcigpIHtcclxuICAgIHJldHVybiB0cnVlO1xyXG59XHJcblxyXG5AUGlwZSh7XHJcbiAgICBuYW1lOiBcImZpbmRcIlxyXG59KVxyXG5leHBvcnQgY2xhc3MgRmluZFBpcGUgaW1wbGVtZW50cyBQaXBlVHJhbnNmb3JtIHtcclxuICAgIHRyYW5zZm9ybSh2YWx1ZXM6IGFueVtdLCBmaWx0ZXI6IGFueSA9IGRlZmF1bHRGaWx0ZXIsIHBhcmFtczogYW55ID0ge30pOiBhbnlbXSB7XHJcbiAgICAgICAgaWYgKCFPYmplY3RVdGlscy5pc0FycmF5KHZhbHVlcykpIHJldHVybiBbXTtcclxuICAgICAgICBjb25zdCBmaWx0ZXJGdW5jID0gT2JqZWN0VXRpbHMuaXNGdW5jdGlvbihmaWx0ZXIpID8gZmlsdGVyIDogKHZhbHVlLCBpbmRleCwgcGFyYW1zKSA9PiB7XHJcbiAgICAgICAgICAgIHJldHVybiBPYmplY3RVdGlscy5ldmFsdWF0ZShmaWx0ZXIsIHtcclxuICAgICAgICAgICAgICAgIHZhbHVlOiB2YWx1ZSxcclxuICAgICAgICAgICAgICAgIGluZGV4OiBpbmRleCxcclxuICAgICAgICAgICAgICAgIHBhcmFtczogcGFyYW1zXHJcbiAgICAgICAgICAgIH0pO1xyXG4gICAgICAgIH07XHJcbiAgICAgICAgcmV0dXJuIHZhbHVlcy5maW5kKCh2YWx1ZSwgaW5kZXgpID0+IGZpbHRlckZ1bmModmFsdWUsIGluZGV4LCBwYXJhbXMpKTtcclxuICAgIH1cclxufVxyXG4iXX0=
@@ -0,0 +1,19 @@
1
+ import { Pipe } from "@angular/core";
2
+ import { FormatterService } from "../services/formatter.service";
3
+ export class FormatNumberPipe {
4
+ constructor(formatter) {
5
+ this.formatter = formatter;
6
+ }
7
+ transform(value, format, precision, divider) {
8
+ return this.formatter.formatNumber(value, format, precision, divider);
9
+ }
10
+ }
11
+ FormatNumberPipe.decorators = [
12
+ { type: Pipe, args: [{
13
+ name: "formatNumber"
14
+ },] }
15
+ ];
16
+ FormatNumberPipe.ctorParameters = () => [
17
+ { type: FormatterService }
18
+ ];
19
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZm9ybWF0LW51bWJlci5waXBlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vc3JjL25neC11dGlscy9waXBlcy9mb3JtYXQtbnVtYmVyLnBpcGUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFDLElBQUksRUFBZ0IsTUFBTSxlQUFlLENBQUM7QUFDbEQsT0FBTyxFQUFDLGdCQUFnQixFQUFDLE1BQU0sK0JBQStCLENBQUM7QUFLL0QsTUFBTSxPQUFPLGdCQUFnQjtJQUV6QixZQUFvQixTQUEyQjtRQUEzQixjQUFTLEdBQVQsU0FBUyxDQUFrQjtJQUMvQyxDQUFDO0lBRUQsU0FBUyxDQUFDLEtBQWEsRUFBRSxNQUFlLEVBQUUsU0FBa0IsRUFBRSxPQUFnQjtRQUMxRSxPQUFPLElBQUksQ0FBQyxTQUFTLENBQUMsWUFBWSxDQUFDLEtBQUssRUFBRSxNQUFNLEVBQUUsU0FBUyxFQUFFLE9BQU8sQ0FBQyxDQUFDO0lBQzFFLENBQUM7OztZQVZKLElBQUksU0FBQztnQkFDRixJQUFJLEVBQUUsY0FBYzthQUN2Qjs7O1lBSk8sZ0JBQWdCIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtQaXBlLCBQaXBlVHJhbnNmb3JtfSBmcm9tIFwiQGFuZ3VsYXIvY29yZVwiO1xyXG5pbXBvcnQge0Zvcm1hdHRlclNlcnZpY2V9IGZyb20gXCIuLi9zZXJ2aWNlcy9mb3JtYXR0ZXIuc2VydmljZVwiO1xyXG5cclxuQFBpcGUoe1xyXG4gICAgbmFtZTogXCJmb3JtYXROdW1iZXJcIlxyXG59KVxyXG5leHBvcnQgY2xhc3MgRm9ybWF0TnVtYmVyUGlwZSBpbXBsZW1lbnRzIFBpcGVUcmFuc2Zvcm0ge1xyXG5cclxuICAgIGNvbnN0cnVjdG9yKHByaXZhdGUgZm9ybWF0dGVyOiBGb3JtYXR0ZXJTZXJ2aWNlKSB7XHJcbiAgICB9XHJcblxyXG4gICAgdHJhbnNmb3JtKHZhbHVlOiBudW1iZXIsIGZvcm1hdD86IHN0cmluZywgcHJlY2lzaW9uPzogbnVtYmVyLCBkaXZpZGVyPzogbnVtYmVyKTogc3RyaW5nIHtcclxuICAgICAgICByZXR1cm4gdGhpcy5mb3JtYXR0ZXIuZm9ybWF0TnVtYmVyKHZhbHVlLCBmb3JtYXQsIHByZWNpc2lvbiwgZGl2aWRlcik7XHJcbiAgICB9XHJcbn1cclxuIl19
@@ -0,0 +1,13 @@
1
+ import { Pipe } from "@angular/core";
2
+ import { ObjectUtils } from "../utils/object.utils";
3
+ export class GetOffsetPipe {
4
+ transform(value, offset) {
5
+ return value ? (ObjectUtils.isNullOrUndefined(offset) ? value : value[offset]) : null;
6
+ }
7
+ }
8
+ GetOffsetPipe.decorators = [
9
+ { type: Pipe, args: [{
10
+ name: "getOffset"
11
+ },] }
12
+ ];
13
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZ2V0LW9mZnNldC5waXBlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vc3JjL25neC11dGlscy9waXBlcy9nZXQtb2Zmc2V0LnBpcGUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFDLElBQUksRUFBZ0IsTUFBTSxlQUFlLENBQUM7QUFDbEQsT0FBTyxFQUFDLFdBQVcsRUFBQyxNQUFNLHVCQUF1QixDQUFDO0FBS2xELE1BQU0sT0FBTyxhQUFhO0lBQ3RCLFNBQVMsQ0FBQyxLQUFVLEVBQUUsTUFBVztRQUM3QixPQUFPLEtBQUssQ0FBQyxDQUFDLENBQUMsQ0FBQyxXQUFXLENBQUMsaUJBQWlCLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQyxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsS0FBSyxDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQztJQUMxRixDQUFDOzs7WUFOSixJQUFJLFNBQUM7Z0JBQ0YsSUFBSSxFQUFFLFdBQVc7YUFDcEIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge1BpcGUsIFBpcGVUcmFuc2Zvcm19IGZyb20gXCJAYW5ndWxhci9jb3JlXCI7XHJcbmltcG9ydCB7T2JqZWN0VXRpbHN9IGZyb20gXCIuLi91dGlscy9vYmplY3QudXRpbHNcIjtcclxuXHJcbkBQaXBlKHtcclxuICAgIG5hbWU6IFwiZ2V0T2Zmc2V0XCJcclxufSlcclxuZXhwb3J0IGNsYXNzIEdldE9mZnNldFBpcGUgaW1wbGVtZW50cyBQaXBlVHJhbnNmb3JtIHtcclxuICAgIHRyYW5zZm9ybSh2YWx1ZTogYW55LCBvZmZzZXQ6IGFueSk6IGFueSB7XHJcbiAgICAgICAgcmV0dXJuIHZhbHVlID8gKE9iamVjdFV0aWxzLmlzTnVsbE9yVW5kZWZpbmVkKG9mZnNldCkgPyB2YWx1ZSA6IHZhbHVlW29mZnNldF0pIDogbnVsbDtcclxuICAgIH1cclxufVxyXG4iXX0=
@@ -0,0 +1,12 @@
1
+ import { Pipe } from "@angular/core";
2
+ export class GetTypePipe {
3
+ transform(value) {
4
+ return typeof value;
5
+ }
6
+ }
7
+ GetTypePipe.decorators = [
8
+ { type: Pipe, args: [{
9
+ name: "getType"
10
+ },] }
11
+ ];
12
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZ2V0LXR5cGUucGlwZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3NyYy9uZ3gtdXRpbHMvcGlwZXMvZ2V0LXR5cGUucGlwZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUMsSUFBSSxFQUFnQixNQUFNLGVBQWUsQ0FBQztBQUtsRCxNQUFNLE9BQU8sV0FBVztJQUNwQixTQUFTLENBQUMsS0FBVTtRQUNoQixPQUFPLE9BQU8sS0FBSyxDQUFDO0lBQ3hCLENBQUM7OztZQU5KLElBQUksU0FBQztnQkFDRixJQUFJLEVBQUUsU0FBUzthQUNsQiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7UGlwZSwgUGlwZVRyYW5zZm9ybX0gZnJvbSBcIkBhbmd1bGFyL2NvcmVcIjtcclxuXHJcbkBQaXBlKHtcclxuICAgIG5hbWU6IFwiZ2V0VHlwZVwiXHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBHZXRUeXBlUGlwZSBpbXBsZW1lbnRzIFBpcGVUcmFuc2Zvcm0ge1xyXG4gICAgdHJhbnNmb3JtKHZhbHVlOiBhbnkpOiBhbnkge1xyXG4gICAgICAgIHJldHVybiB0eXBlb2YgdmFsdWU7XHJcbiAgICB9XHJcbn1cclxuIl19