barsa-tiles 2.2.1 → 2.2.3

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 (70) hide show
  1. package/esm2022/barsa-tiles.mjs +5 -0
  2. package/esm2022/lib/action-item/action-item.component.mjs +17 -0
  3. package/esm2022/lib/action-links.pipe.mjs +17 -0
  4. package/esm2022/lib/actions-link/actions-link.component.mjs +49 -0
  5. package/esm2022/lib/app-finder/app-finder.component.mjs +52 -0
  6. package/esm2022/lib/app-finder-app-list/app-finder-app-list.component.mjs +39 -0
  7. package/esm2022/lib/app-finder-group/app-finder-group.component.mjs +41 -0
  8. package/esm2022/lib/app-finder.service.mjs +121 -0
  9. package/esm2022/lib/barsa-pin-app/barsa-pin-app.component.mjs +34 -0
  10. package/esm2022/lib/barsa-shellbar/barsa-shellbar.component.mjs +183 -0
  11. package/esm2022/lib/barsa-tile-group-page/barsa-tile-group-page.component.mjs +71 -0
  12. package/esm2022/lib/barsa-tile-sidebar-page/barsa-tile-sidebar-page.component.mjs +45 -0
  13. package/esm2022/lib/barsa-tiles-routing.module.mjs +58 -0
  14. package/esm2022/lib/barsa-tiles.module.mjs +278 -0
  15. package/esm2022/lib/change-app-tile/change-app-tile.component.mjs +46 -0
  16. package/esm2022/lib/create-app-group/create-app-group.component.mjs +43 -0
  17. package/esm2022/lib/directives/emptylist.directive.mjs +37 -0
  18. package/esm2022/lib/feed-tile/feed-tile.component.mjs +31 -0
  19. package/esm2022/lib/footer-edit-tile/footer-edit-tile.component.mjs +13 -0
  20. package/esm2022/lib/footer-tile/footer-tile.component.mjs +22 -0
  21. package/esm2022/lib/form-app-finder/form-app-finder.component.mjs +95 -0
  22. package/esm2022/lib/form-tile/form-tile.component.mjs +34 -0
  23. package/esm2022/lib/logo-tile/logo-tile.component.mjs +23 -0
  24. package/esm2022/lib/micro-tile-chart-area/micro-tile-chart-area.component.mjs +40 -0
  25. package/esm2022/lib/micro-tile-chart-bar/micro-tile-chart-bar.component.mjs +16 -0
  26. package/esm2022/lib/micro-tile-chart-bullet/micro-tile-chart-bullet.component.mjs +26 -0
  27. package/esm2022/lib/micro-tile-chart-circular/micro-tile-chart-circular.component.mjs +20 -0
  28. package/esm2022/lib/micro-tile-chart-comparison/micro-tile-chart-comparison.component.mjs +31 -0
  29. package/esm2022/lib/micro-tile-chart-line/micro-tile-chart-line.component.mjs +32 -0
  30. package/esm2022/lib/micro-tile-chart-stackbar/micro-tile-chart-stackbar.component.mjs +27 -0
  31. package/esm2022/lib/models/app-tile-footer-section.mjs +2 -0
  32. package/esm2022/lib/models/app-tile-footer.mjs +2 -0
  33. package/esm2022/lib/models/app-tile-group-pin.mjs +2 -0
  34. package/esm2022/lib/models/base-bt-tile-component.mjs +27 -0
  35. package/esm2022/lib/models/base-tile-component.mjs +59 -0
  36. package/esm2022/lib/models/base-tile-setting.mjs +2 -0
  37. package/esm2022/lib/models/feed-tile-setting.mjs +2 -0
  38. package/esm2022/lib/models/index.mjs +14 -0
  39. package/esm2022/lib/models/logo-tile-setting.mjs +2 -0
  40. package/esm2022/lib/models/micro-tile-chart-bullet-setting.mjs +2 -0
  41. package/esm2022/lib/models/news-tile-setting.mjs +2 -0
  42. package/esm2022/lib/models/numeric-tile-setting.mjs +2 -0
  43. package/esm2022/lib/models/profile-tile-setting.mjs +2 -0
  44. package/esm2022/lib/models/tile-setting.mjs +2 -0
  45. package/esm2022/lib/models/user-portal-settings.mjs +2 -0
  46. package/esm2022/lib/news-tile/news-tile.component.mjs +53 -0
  47. package/esm2022/lib/notification-group/notification-group.component.mjs +111 -0
  48. package/esm2022/lib/notification-group-header/notification-group-header.component.mjs +38 -0
  49. package/esm2022/lib/numeric-tile/numeric-tile.component.mjs +64 -0
  50. package/esm2022/lib/pin-tile/pin-tile.component.mjs +110 -0
  51. package/esm2022/lib/pipes/group-tiles.pipe.mjs +32 -0
  52. package/esm2022/lib/pipes/home-group.pipe.mjs +18 -0
  53. package/esm2022/lib/pipes/tile-home-filter.pipe.mjs +29 -0
  54. package/esm2022/lib/pipes/tile-prop.pipe.mjs +51 -0
  55. package/esm2022/lib/popover-app-finder/filter-apps-grouped.pipe.mjs +36 -0
  56. package/esm2022/lib/popover-app-finder/popover-app-finder.component.mjs +102 -0
  57. package/esm2022/lib/profile-tile/profile-tile.component.mjs +34 -0
  58. package/esm2022/lib/shellbar/shellbar.component.mjs +237 -0
  59. package/esm2022/lib/simple-tile/simple-tile.component.mjs +27 -0
  60. package/esm2022/lib/tile/tile.component.mjs +95 -0
  61. package/esm2022/lib/tile-renderer.directive.mjs +83 -0
  62. package/esm2022/lib/tile-size.directive.mjs +31 -0
  63. package/esm2022/lib/tile-style.directive.mjs +30 -0
  64. package/esm2022/lib/tiles-viewer/tiles-viewer.component.mjs +188 -0
  65. package/esm2022/lib/tiles-viewer-container/tiles-viewer-container.component.mjs +173 -0
  66. package/esm2022/lib/tiles-viewer-group/tiles-viewer-group.component.mjs +89 -0
  67. package/esm2022/lib/tiles-viewer.service.mjs +130 -0
  68. package/esm2022/lib/tiles.service.mjs +614 -0
  69. package/esm2022/public-api.mjs +49 -0
  70. package/package.json +3 -1
@@ -0,0 +1,59 @@
1
+ import { ChangeDetectionStrategy, Component } from '@angular/core';
2
+ import { TilePropsComponent } from 'barsa-novin-ray-core';
3
+ import * as i0 from "@angular/core";
4
+ import * as i1 from "../tiles.service";
5
+ export class BaseTileComponent extends TilePropsComponent {
6
+ constructor(el, _renderer2, _cdr, _tilesService) {
7
+ super(el, _renderer2, _cdr);
8
+ this.el = el;
9
+ this._renderer2 = _renderer2;
10
+ this._cdr = _cdr;
11
+ this._tilesService = _tilesService;
12
+ }
13
+ get settings() {
14
+ const data = this.data?.Component?.Settings;
15
+ return data ? data : this.parameters;
16
+ }
17
+ get backColor() {
18
+ return this.settings.TileSetting.BackColor;
19
+ }
20
+ get title() {
21
+ return this.data.TileTitle;
22
+ }
23
+ get subtitle() {
24
+ return this.data.Subtitle;
25
+ }
26
+ get double() {
27
+ return this.settings.TileSetting.IsDouble;
28
+ }
29
+ get badge() {
30
+ return this.settings.TileSetting.Badge;
31
+ }
32
+ get footer() {
33
+ return this.settings.TileSetting.Footer;
34
+ }
35
+ get tileSetting() {
36
+ return this.settings.TileSetting;
37
+ }
38
+ setEditHome(val) {
39
+ this.edit = val;
40
+ this._cdr.detectChanges();
41
+ }
42
+ onTileClick() {
43
+ if (this.context) {
44
+ this.context.FireEvent('click', this.context);
45
+ }
46
+ }
47
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: BaseTileComponent, deps: [{ token: i0.ElementRef }, { token: i0.Renderer2 }, { token: i0.ChangeDetectorRef }, { token: i1.TilesService }], target: i0.ɵɵFactoryTarget.Component }); }
48
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.13", type: BaseTileComponent, selector: "bt-base-tile", usesInheritance: true, ngImport: i0, template: '', isInline: true, changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
49
+ }
50
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: BaseTileComponent, decorators: [{
51
+ type: Component,
52
+ args: [{
53
+ selector: 'bt-base-tile',
54
+ template: '',
55
+ changeDetection: ChangeDetectionStrategy.OnPush,
56
+ standalone: false
57
+ }]
58
+ }], ctorParameters: () => [{ type: i0.ElementRef }, { type: i0.Renderer2 }, { type: i0.ChangeDetectorRef }, { type: i1.TilesService }] });
59
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYmFzZS10aWxlLWNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2JhcnNhLXRpbGVzL3NyYy9saWIvbW9kZWxzL2Jhc2UtdGlsZS1jb21wb25lbnQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLHVCQUF1QixFQUFxQixTQUFTLEVBQWlDLE1BQU0sZUFBZSxDQUFDO0FBS3JILE9BQU8sRUFBRSxrQkFBa0IsRUFBRSxNQUFNLHNCQUFzQixDQUFDOzs7QUFTMUQsTUFBTSxPQUFnQixpQkFBNkMsU0FBUSxrQkFBa0I7SUFDekYsWUFDVyxFQUFjLEVBQ1gsVUFBcUIsRUFDckIsSUFBdUIsRUFDdkIsYUFBMkI7UUFFckMsS0FBSyxDQUFDLEVBQUUsRUFBRSxVQUFVLEVBQUUsSUFBSSxDQUFDLENBQUM7UUFMckIsT0FBRSxHQUFGLEVBQUUsQ0FBWTtRQUNYLGVBQVUsR0FBVixVQUFVLENBQVc7UUFDckIsU0FBSSxHQUFKLElBQUksQ0FBbUI7UUFDdkIsa0JBQWEsR0FBYixhQUFhLENBQWM7SUFHekMsQ0FBQztJQUNELElBQUksUUFBUTtRQUNSLE1BQU0sSUFBSSxHQUFHLElBQUksQ0FBQyxJQUFJLEVBQUUsU0FBUyxFQUFFLFFBQVEsQ0FBQztRQUM1QyxPQUFPLElBQUksQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsVUFBVSxDQUFDO0lBQ3pDLENBQUM7SUFDRCxJQUFJLFNBQVM7UUFDVCxPQUFPLElBQUksQ0FBQyxRQUFRLENBQUMsV0FBVyxDQUFDLFNBQVMsQ0FBQztJQUMvQyxDQUFDO0lBQ0QsSUFBSSxLQUFLO1FBQ0wsT0FBTyxJQUFJLENBQUMsSUFBSSxDQUFDLFNBQVMsQ0FBQztJQUMvQixDQUFDO0lBQ0QsSUFBSSxRQUFRO1FBQ1IsT0FBTyxJQUFJLENBQUMsSUFBSSxDQUFDLFFBQVEsQ0FBQztJQUM5QixDQUFDO0lBQ0QsSUFBSSxNQUFNO1FBQ04sT0FBTyxJQUFJLENBQUMsUUFBUSxDQUFDLFdBQVcsQ0FBQyxRQUFRLENBQUM7SUFDOUMsQ0FBQztJQUNELElBQUksS0FBSztRQUNMLE9BQU8sSUFBSSxDQUFDLFFBQVEsQ0FBQyxXQUFXLENBQUMsS0FBSyxDQUFDO0lBQzNDLENBQUM7SUFDRCxJQUFJLE1BQU07UUFDTixPQUFPLElBQUksQ0FBQyxRQUFRLENBQUMsV0FBVyxDQUFDLE1BQU0sQ0FBQztJQUM1QyxDQUFDO0lBQ0QsSUFBSSxXQUFXO1FBQ1gsT0FBTyxJQUFJLENBQUMsUUFBUSxDQUFDLFdBQVcsQ0FBQztJQUNyQyxDQUFDO0lBQ0QsV0FBVyxDQUFDLEdBQVk7UUFDcEIsSUFBSSxDQUFDLElBQUksR0FBRyxHQUFHLENBQUM7UUFDaEIsSUFBSSxDQUFDLElBQUksQ0FBQyxhQUFhLEVBQUUsQ0FBQztJQUM5QixDQUFDO0lBQ0QsV0FBVztRQUNQLElBQUksSUFBSSxDQUFDLE9BQU8sRUFBRSxDQUFDO1lBQ2YsSUFBSSxDQUFDLE9BQU8sQ0FBQyxTQUFTLENBQUMsT0FBTyxFQUFFLElBQUksQ0FBQyxPQUFPLENBQUMsQ0FBQztRQUNsRCxDQUFDO0lBQ0wsQ0FBQzsrR0ExQ2lCLGlCQUFpQjttR0FBakIsaUJBQWlCLDJFQUp6QixFQUFFOzs0RkFJTSxpQkFBaUI7a0JBTnRDLFNBQVM7bUJBQUM7b0JBQ1AsUUFBUSxFQUFFLGNBQWM7b0JBQ3hCLFFBQVEsRUFBRSxFQUFFO29CQUNaLGVBQWUsRUFBRSx1QkFBdUIsQ0FBQyxNQUFNO29CQUMvQyxVQUFVLEVBQUUsS0FBSztpQkFDcEIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneSwgQ2hhbmdlRGV0ZWN0b3JSZWYsIENvbXBvbmVudCwgRWxlbWVudFJlZiwgT25Jbml0LCBSZW5kZXJlcjIgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuaW1wb3J0IHsgQXBwVGlsZUZvb3RlciB9IGZyb20gJy4vYXBwLXRpbGUtZm9vdGVyJztcclxuXHJcbmltcG9ydCB7IEJhc2VUaWxlU2V0dGluZyB9IGZyb20gJy4vYmFzZS10aWxlLXNldHRpbmcnO1xyXG5pbXBvcnQgeyBUaWxlU2V0dGluZyB9IGZyb20gJy4vdGlsZS1zZXR0aW5nJztcclxuaW1wb3J0IHsgVGlsZVByb3BzQ29tcG9uZW50IH0gZnJvbSAnYmFyc2Etbm92aW4tcmF5LWNvcmUnO1xyXG5pbXBvcnQgeyBUaWxlc1NlcnZpY2UgfSBmcm9tICcuLi90aWxlcy5zZXJ2aWNlJztcclxuXHJcbkBDb21wb25lbnQoe1xyXG4gICAgc2VsZWN0b3I6ICdidC1iYXNlLXRpbGUnLFxyXG4gICAgdGVtcGxhdGU6ICcnLFxyXG4gICAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2gsXHJcbiAgICBzdGFuZGFsb25lOiBmYWxzZVxyXG59KVxyXG5leHBvcnQgYWJzdHJhY3QgY2xhc3MgQmFzZVRpbGVDb21wb25lbnQ8VCBleHRlbmRzIEJhc2VUaWxlU2V0dGluZz4gZXh0ZW5kcyBUaWxlUHJvcHNDb21wb25lbnQgaW1wbGVtZW50cyBPbkluaXQge1xyXG4gICAgY29uc3RydWN0b3IoXHJcbiAgICAgICAgcHVibGljIGVsOiBFbGVtZW50UmVmLFxyXG4gICAgICAgIHByb3RlY3RlZCBfcmVuZGVyZXIyOiBSZW5kZXJlcjIsXHJcbiAgICAgICAgcHJvdGVjdGVkIF9jZHI6IENoYW5nZURldGVjdG9yUmVmLFxyXG4gICAgICAgIHByb3RlY3RlZCBfdGlsZXNTZXJ2aWNlOiBUaWxlc1NlcnZpY2VcclxuICAgICkge1xyXG4gICAgICAgIHN1cGVyKGVsLCBfcmVuZGVyZXIyLCBfY2RyKTtcclxuICAgIH1cclxuICAgIGdldCBzZXR0aW5ncygpOiBUIHtcclxuICAgICAgICBjb25zdCBkYXRhID0gdGhpcy5kYXRhPy5Db21wb25lbnQ/LlNldHRpbmdzO1xyXG4gICAgICAgIHJldHVybiBkYXRhID8gZGF0YSA6IHRoaXMucGFyYW1ldGVycztcclxuICAgIH1cclxuICAgIGdldCBiYWNrQ29sb3IoKTogc3RyaW5nIHtcclxuICAgICAgICByZXR1cm4gdGhpcy5zZXR0aW5ncy5UaWxlU2V0dGluZy5CYWNrQ29sb3I7XHJcbiAgICB9XHJcbiAgICBnZXQgdGl0bGUoKTogc3RyaW5nIHtcclxuICAgICAgICByZXR1cm4gdGhpcy5kYXRhLlRpbGVUaXRsZTtcclxuICAgIH1cclxuICAgIGdldCBzdWJ0aXRsZSgpOiBzdHJpbmcge1xyXG4gICAgICAgIHJldHVybiB0aGlzLmRhdGEuU3VidGl0bGU7XHJcbiAgICB9XHJcbiAgICBnZXQgZG91YmxlKCk6IGJvb2xlYW4ge1xyXG4gICAgICAgIHJldHVybiB0aGlzLnNldHRpbmdzLlRpbGVTZXR0aW5nLklzRG91YmxlO1xyXG4gICAgfVxyXG4gICAgZ2V0IGJhZGdlKCk6IHN0cmluZyB7XHJcbiAgICAgICAgcmV0dXJuIHRoaXMuc2V0dGluZ3MuVGlsZVNldHRpbmcuQmFkZ2U7XHJcbiAgICB9XHJcbiAgICBnZXQgZm9vdGVyKCk6IEFwcFRpbGVGb290ZXIge1xyXG4gICAgICAgIHJldHVybiB0aGlzLnNldHRpbmdzLlRpbGVTZXR0aW5nLkZvb3RlcjtcclxuICAgIH1cclxuICAgIGdldCB0aWxlU2V0dGluZygpOiBUaWxlU2V0dGluZyB7XHJcbiAgICAgICAgcmV0dXJuIHRoaXMuc2V0dGluZ3MuVGlsZVNldHRpbmc7XHJcbiAgICB9XHJcbiAgICBzZXRFZGl0SG9tZSh2YWw6IGJvb2xlYW4pOiB2b2lkIHtcclxuICAgICAgICB0aGlzLmVkaXQgPSB2YWw7XHJcbiAgICAgICAgdGhpcy5fY2RyLmRldGVjdENoYW5nZXMoKTtcclxuICAgIH1cclxuICAgIG9uVGlsZUNsaWNrKCk6IHZvaWQge1xyXG4gICAgICAgIGlmICh0aGlzLmNvbnRleHQpIHtcclxuICAgICAgICAgICAgdGhpcy5jb250ZXh0LkZpcmVFdmVudCgnY2xpY2snLCB0aGlzLmNvbnRleHQpO1xyXG4gICAgICAgIH1cclxuICAgIH1cclxufVxyXG4iXX0=
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYmFzZS10aWxlLXNldHRpbmcuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9iYXJzYS10aWxlcy9zcmMvbGliL21vZGVscy9iYXNlLXRpbGUtc2V0dGluZy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgTWV0YW9iamVjdERhdGFNb2RlbCB9IGZyb20gJ2JhcnNhLW5vdmluLXJheS1jb3JlJztcclxuaW1wb3J0IHsgVGlsZVNldHRpbmcgfSBmcm9tICcuL3RpbGUtc2V0dGluZyc7XHJcblxyXG5leHBvcnQgaW50ZXJmYWNlIEJhc2VUaWxlU2V0dGluZyBleHRlbmRzIE1ldGFvYmplY3REYXRhTW9kZWwge1xyXG4gICAgVGlsZVNldHRpbmc6IFRpbGVTZXR0aW5nO1xyXG59XHJcbmV4cG9ydCBpbnRlcmZhY2UgQ2hhcnRUaWxlU2V0dGluZyBleHRlbmRzIE1ldGFvYmplY3REYXRhTW9kZWwge1xyXG4gICAgVGlsZVNldHRpbmc6IFRpbGVTZXR0aW5nO1xyXG4gICAgQ2hhcnRJbnN0YW5jZTogTWV0YW9iamVjdERhdGFNb2RlbDtcclxufVxyXG4iXX0=
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZmVlZC10aWxlLXNldHRpbmcuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9iYXJzYS10aWxlcy9zcmMvbGliL21vZGVscy9mZWVkLXRpbGUtc2V0dGluZy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQmFzZVRpbGVTZXR0aW5nIH0gZnJvbSAnLi9iYXNlLXRpbGUtc2V0dGluZyc7XHJcblxyXG5leHBvcnQgaW50ZXJmYWNlIEZlZWRUaWxlU2V0dGluZyBleHRlbmRzIEJhc2VUaWxlU2V0dGluZyB7XHJcbiAgICBUd29Db2x1bW46IGJvb2xlYW47XHJcbiAgICBDb250ZW50VGV4dDogc3RyaW5nO1xyXG4gICAgQ29udGVudEJ5TGluZTogc3RyaW5nO1xyXG4gICAgQ29udGVudEtwaTogc3RyaW5nO1xyXG59XHJcbiJdfQ==
@@ -0,0 +1,14 @@
1
+ export * from './app-tile-footer';
2
+ export * from './app-tile-footer-section';
3
+ export * from './tile-setting';
4
+ export * from './base-tile-setting';
5
+ export * from './base-tile-component';
6
+ export * from './base-bt-tile-component';
7
+ export * from './feed-tile-setting';
8
+ export * from './profile-tile-setting';
9
+ export * from './logo-tile-setting';
10
+ export * from './numeric-tile-setting';
11
+ export * from './user-portal-settings';
12
+ export * from './news-tile-setting';
13
+ export * from './app-tile-group-pin';
14
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9iYXJzYS10aWxlcy9zcmMvbGliL21vZGVscy9pbmRleC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxjQUFjLG1CQUFtQixDQUFDO0FBQ2xDLGNBQWMsMkJBQTJCLENBQUM7QUFDMUMsY0FBYyxnQkFBZ0IsQ0FBQztBQUMvQixjQUFjLHFCQUFxQixDQUFDO0FBQ3BDLGNBQWMsdUJBQXVCLENBQUM7QUFDdEMsY0FBYywwQkFBMEIsQ0FBQztBQUN6QyxjQUFjLHFCQUFxQixDQUFDO0FBQ3BDLGNBQWMsd0JBQXdCLENBQUM7QUFDdkMsY0FBYyxxQkFBcUIsQ0FBQztBQUNwQyxjQUFjLHdCQUF3QixDQUFDO0FBQ3ZDLGNBQWMsd0JBQXdCLENBQUM7QUFDdkMsY0FBYyxxQkFBcUIsQ0FBQztBQUNwQyxjQUFjLHNCQUFzQixDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiZXhwb3J0ICogZnJvbSAnLi9hcHAtdGlsZS1mb290ZXInO1xyXG5leHBvcnQgKiBmcm9tICcuL2FwcC10aWxlLWZvb3Rlci1zZWN0aW9uJztcclxuZXhwb3J0ICogZnJvbSAnLi90aWxlLXNldHRpbmcnO1xyXG5leHBvcnQgKiBmcm9tICcuL2Jhc2UtdGlsZS1zZXR0aW5nJztcclxuZXhwb3J0ICogZnJvbSAnLi9iYXNlLXRpbGUtY29tcG9uZW50JztcclxuZXhwb3J0ICogZnJvbSAnLi9iYXNlLWJ0LXRpbGUtY29tcG9uZW50JztcclxuZXhwb3J0ICogZnJvbSAnLi9mZWVkLXRpbGUtc2V0dGluZyc7XHJcbmV4cG9ydCAqIGZyb20gJy4vcHJvZmlsZS10aWxlLXNldHRpbmcnO1xyXG5leHBvcnQgKiBmcm9tICcuL2xvZ28tdGlsZS1zZXR0aW5nJztcclxuZXhwb3J0ICogZnJvbSAnLi9udW1lcmljLXRpbGUtc2V0dGluZyc7XHJcbmV4cG9ydCAqIGZyb20gJy4vdXNlci1wb3J0YWwtc2V0dGluZ3MnO1xyXG5leHBvcnQgKiBmcm9tICcuL25ld3MtdGlsZS1zZXR0aW5nJztcclxuZXhwb3J0ICogZnJvbSAnLi9hcHAtdGlsZS1ncm91cC1waW4nO1xyXG4iXX0=
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibG9nby10aWxlLXNldHRpbmcuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9iYXJzYS10aWxlcy9zcmMvbGliL21vZGVscy9sb2dvLXRpbGUtc2V0dGluZy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgRmlsZVBpY3R1cmVJbmZvTW9kZWwgfSBmcm9tICdiYXJzYS1ub3Zpbi1yYXktY29yZSc7XHJcbmltcG9ydCB7IEJhc2VUaWxlU2V0dGluZyB9IGZyb20gJy4vYmFzZS10aWxlLXNldHRpbmcnO1xyXG5cclxuZXhwb3J0IGludGVyZmFjZSBMb2dvVGlsZVNldHRpbmcgZXh0ZW5kcyBCYXNlVGlsZVNldHRpbmcge1xyXG4gICAgTG9nbzogRmlsZVBpY3R1cmVJbmZvTW9kZWw7XHJcbiAgICBDYWxjTG9nbzogRmlsZVBpY3R1cmVJbmZvTW9kZWw7XHJcbn1cclxuIl19
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibWljcm8tdGlsZS1jaGFydC1idWxsZXQtc2V0dGluZy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2JhcnNhLXRpbGVzL3NyYy9saWIvbW9kZWxzL21pY3JvLXRpbGUtY2hhcnQtYnVsbGV0LXNldHRpbmcudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEJhc2VUaWxlU2V0dGluZyB9IGZyb20gJy4vYmFzZS10aWxlLXNldHRpbmcnO1xyXG5cclxuZXhwb3J0IGludGVyZmFjZSBNaWNyb1RpbGVDaGFydEJ1bGxldFNldHRpbmcgZXh0ZW5kcyBCYXNlVGlsZVNldHRpbmcge1xyXG4gICAgVGFyZ2V0OiBudW1iZXI7XHJcbiAgICBWYWx1ZTogbnVtYmVyO1xyXG4gICAgUmFuZ2U6IG51bWJlcjtcclxuICAgIEZvcmVjYXN0OiBudW1iZXI7XHJcbiAgICBTdWZmaXg6IHN0cmluZztcclxuICAgIFNlcGFyYXRvckxpbmVzOiBudW1iZXI7XHJcbiAgICBJc0RlbHRhOiBib29sZWFuO1xyXG59XHJcbiJdfQ==
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibmV3cy10aWxlLXNldHRpbmcuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9iYXJzYS10aWxlcy9zcmMvbGliL21vZGVscy9uZXdzLXRpbGUtc2V0dGluZy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQmFzZVRpbGVTZXR0aW5nIH0gZnJvbSAnLi9iYXNlLXRpbGUtc2V0dGluZyc7XHJcblxyXG5leHBvcnQgaW50ZXJmYWNlIE5ld3NUaWxlU2V0dGluZyBleHRlbmRzIEJhc2VUaWxlU2V0dGluZyB7XHJcbiAgICBSZXBvcnQ6IGFueTtcclxufVxyXG4iXX0=
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibnVtZXJpYy10aWxlLXNldHRpbmcuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9iYXJzYS10aWxlcy9zcmMvbGliL21vZGVscy9udW1lcmljLXRpbGUtc2V0dGluZy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQmFzZVRpbGVTZXR0aW5nIH0gZnJvbSAnLi9iYXNlLXRpbGUtc2V0dGluZyc7XHJcblxyXG5leHBvcnQgaW50ZXJmYWNlIE51bWVyaWNUaWxlU2V0dGluZyBleHRlbmRzIEJhc2VUaWxlU2V0dGluZyB7XHJcbiAgICBMYXVuY2hJY29uOiBzdHJpbmc7XHJcbiAgICBDb250ZW50S3BpOiBzdHJpbmc7XHJcbiAgICBDb250ZW50S3BpU3RhdGU6ICdwb3NpdGl2ZScgfCAnbmVnYXRpdmUnO1xyXG4gICAgU2NhbGVTdGF0ZTogJ3Bvc2l0aXZlJyB8ICduZWdhdGl2ZSc7XHJcbiAgICBTY2FsZVRleHQ6IHN0cmluZztcclxuICAgIFNjYWxlQXJyb3dJY29uOiBzdHJpbmc7XHJcbn1cclxuIl19
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHJvZmlsZS10aWxlLXNldHRpbmcuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9iYXJzYS10aWxlcy9zcmMvbGliL21vZGVscy9wcm9maWxlLXRpbGUtc2V0dGluZy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgRmlsZVBpY3R1cmVJbmZvTW9kZWwgfSBmcm9tICdiYXJzYS1ub3Zpbi1yYXktY29yZSc7XHJcbmltcG9ydCB7IEJhc2VUaWxlU2V0dGluZyB9IGZyb20gJy4vYmFzZS10aWxlLXNldHRpbmcnO1xyXG5cclxuZXhwb3J0IGludGVyZmFjZSBQcm9maWxlVGlsZVNldHRpbmcgZXh0ZW5kcyBCYXNlVGlsZVNldHRpbmcge1xyXG4gICAgSWNvbjogc3RyaW5nO1xyXG4gICAgSW1hZ2U6IEZpbGVQaWN0dXJlSW5mb01vZGVsO1xyXG4gICAgQ2FsY0ltYWdlOiBzdHJpbmc7XHJcbn1cclxuIl19
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGlsZS1zZXR0aW5nLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvYmFyc2EtdGlsZXMvc3JjL2xpYi9tb2RlbHMvdGlsZS1zZXR0aW5nLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBNZXRhb2JqZWN0RGF0YU1vZGVsIH0gZnJvbSAnYmFyc2Etbm92aW4tcmF5LWNvcmUnO1xyXG5pbXBvcnQgeyBBcHBUaWxlRm9vdGVyIH0gZnJvbSAnLi9hcHAtdGlsZS1mb290ZXInO1xyXG5cclxuZXhwb3J0IGludGVyZmFjZSBUaWxlU2V0dGluZyBleHRlbmRzIE1ldGFvYmplY3REYXRhTW9kZWwge1xyXG4gICAgVGl0bGU6IHN0cmluZztcclxuICAgIFN1YnRpdGxlOiBzdHJpbmc7XHJcbiAgICBJc0RvdWJsZTogYm9vbGVhbjtcclxuICAgIEJhZGdlOiBzdHJpbmc7XHJcbiAgICBCYWNrQ29sb3I6IHN0cmluZztcclxuICAgIEZvb3RlcjogQXBwVGlsZUZvb3RlcjtcclxufVxyXG4iXX0=
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidXNlci1wb3J0YWwtc2V0dGluZ3MuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9iYXJzYS10aWxlcy9zcmMvbGliL21vZGVscy91c2VyLXBvcnRhbC1zZXR0aW5ncy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29udGVudERlbnNpdHkgfSBmcm9tICdAZnVuZGFtZW50YWwtbmd4L2NvcmUnO1xyXG5pbXBvcnQgeyBNZXRhb2JqZWN0RGF0YU1vZGVsIH0gZnJvbSAnYmFyc2Etbm92aW4tcmF5LWNvcmUnO1xyXG5cclxuZXhwb3J0IGludGVyZmFjZSBVc2VyUG9ydGFsU2V0dGluZ3MgZXh0ZW5kcyBNZXRhb2JqZWN0RGF0YU1vZGVsIHtcclxuICAgIFRpbGVzU3RhY2tDb25lbnQ/OiBib29sZWFuO1xyXG4gICAgVGhlbWU/OiBudW1iZXI7XHJcbiAgICBUaGVtZSRDYXB0aW9uPzogc3RyaW5nO1xyXG4gICAgQ29udGVudERlbnNpdHk/OiBudW1iZXI7XHJcbiAgICBDb250ZW50RGVuc2l0eSRDYXB0aW9uPzogQ29udGVudERlbnNpdHk7XHJcbn1cclxuIl19
@@ -0,0 +1,53 @@
1
+ import { Component, ChangeDetectionStrategy, ViewChild } from '@angular/core';
2
+ import { interval } from 'rxjs';
3
+ import { tap, takeUntil } from 'rxjs/operators';
4
+ import { CarouselComponent } from '@fundamental-ngx/core';
5
+ import { BaseBtTileComponent } from '../models';
6
+ import * as i0 from "@angular/core";
7
+ import * as i1 from "@fundamental-ngx/core/button";
8
+ import * as i2 from "@fundamental-ngx/core/carousel";
9
+ import * as i3 from "@fundamental-ngx/core/tile";
10
+ import * as i4 from "barsa-novin-ray-core";
11
+ import * as i5 from "../tile/tile.component";
12
+ import * as i6 from "../pipes/tile-prop.pipe";
13
+ export class NewsTileComponent extends BaseBtTileComponent {
14
+ constructor() {
15
+ super(...arguments);
16
+ this.isStop = false;
17
+ }
18
+ get twoColumn() {
19
+ return this.footer.TwoColumn;
20
+ }
21
+ ngOnInit() {
22
+ super.ngOnInit();
23
+ const slides = this.settings.Report.MoDataList;
24
+ if (slides.length) {
25
+ this._updateTile(slides[0]);
26
+ interval(5000)
27
+ .pipe(takeUntil(this._onDestroy$), tap(() => {
28
+ if (!this.isStop) {
29
+ this.carouselComponent.next();
30
+ }
31
+ }))
32
+ .subscribe();
33
+ }
34
+ this.slides = slides;
35
+ }
36
+ slideChange(activeSlide) {
37
+ const currentSlide = activeSlide.activeItems[0].value;
38
+ this._updateTile(currentSlide);
39
+ }
40
+ _updateTile(newsMo) {
41
+ this.activeNews = newsMo;
42
+ }
43
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: NewsTileComponent, deps: null, target: i0.ɵɵFactoryTarget.Component }); }
44
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "18.2.13", type: NewsTileComponent, selector: "bt-news-tile", viewQueries: [{ propertyName: "carouselComponent", first: true, predicate: CarouselComponent, descendants: true }], usesInheritance: true, ngImport: i0, template: "<bt-tile\r\n [data]=\"data\"\r\n [type]=\"'launch'\"\r\n [footerTemplate]=\"newsFooter\"\r\n [edit]=\"edit\"\r\n [navigateBackOnClick]=\"navigateBackOnClick\"\r\n [setToStorage]=\"setToStorage\"\r\n [deviceSize]=\"deviceSize\"\r\n [listMode]=\"listMode\"\r\n [title]=\"data | tileProp: 'Title':parameters\"\r\n [subtitle]=\"data | tileProp: 'Subtitle':parameters\"\r\n [dynamicCommand]=\"data | tileProp: 'DynamicCommand':parameters\"\r\n [isDouble]=\"data | tileProp: 'IsDouble':parameters\"\r\n [footer]=\"data | tileProp: 'Footer':parameters\"\r\n (hideClick)=\"hideClick.emit()\"\r\n (renameClick)=\"renameClick.emit()\"\r\n (click)=\"onTileClick()\"\r\n>\r\n <div fd-tile-content style=\"align-items: center; padding-top: 1rem\">\r\n <span>\r\n {{ activeNews?.Text | bbbTranslate }}\r\n </span>\r\n\r\n <div class=\"wrapper-carousel\">\r\n <div class=\"cover\"></div>\r\n @if (slides.length > 1) {\r\n <button\r\n fd-button\r\n fdType=\"transparent\"\r\n [glyph]=\"isStop ? 'play' : 'pause'\"\r\n (click)=\"isStop = !isStop; $event.preventDefault(); $event.stopPropagation()\"\r\n ></button>\r\n }\r\n <fd-carousel\r\n carouselIndicatorsOrientation=\"top\"\r\n [slideTransitionDuration]=\"1000\"\r\n (slideChange)=\"slideChange($event)\"\r\n [loop]=\"true\"\r\n [navigation]=\"false\"\r\n [navigatorInPageIndicator]=\"false\"\r\n width=\"100%\"\r\n >\r\n @for (slide of slides; track slide) {\r\n <fd-carousel-item [value]=\"slide\">\r\n <img\r\n [src]=\"slide.Img ? (slide.Img.FileId | picFieldSrc: 'ID':null:slide.Img.FileId:335:170) : ''\"\r\n />\r\n </fd-carousel-item>\r\n }\r\n </fd-carousel>\r\n </div>\r\n </div>\r\n</bt-tile>\r\n\r\n<!-- tile footer-->\r\n<ng-template #newsFooter>\r\n <div fd-tile-footer [twoColumn]=\"twoColumn\" *untilInView=\"el\">\r\n @if (twoColumn) {\r\n <div fd-tile-section>\r\n <span fd-tile-footer-text>{{ activeNews?.Footer1 | bbbTranslate }}</span>\r\n </div>\r\n <div fd-tile-section>\r\n <span fd-tile-footer-text>{{ activeNews?.Footer2 | bbbTranslate }}</span>\r\n </div>\r\n } @else {\r\n <span fd-tile-footer-text>{{ activeNews?.Footer1 | bbbTranslate }}</span>\r\n }\r\n </div>\r\n</ng-template>\r\n", styles: [":host{position:relative;display:block}:host bt-tile{position:relative}:host bt-tile .wrapper-carousel{position:absolute;top:0;width:100%;height:100%;left:0;z-index:0}:host bt-tile .wrapper-carousel img{width:335px;height:165px;object-fit:cover}:host ::ng-deep span{z-index:3;color:#fff}:host ::ng-deep button{position:absolute;right:15px;top:15px;display:none}:host ::ng-deep button fd-icon{z-index:4;min-width:1.5rem!important;font-size:1.5rem!important;color:#fff!important}:host ::ng-deep .fd-carousel__content{z-index:3}:host ::ng-deep .fd-carousel__page-indicator-container{position:absolute;bottom:0;display:none;background-color:transparent}:host ::ng-deep .fd-carousel__page-indicator-container ol{z-index:5}:host ::ng-deep .fd-carousel__page-indicator-container ol li{background-color:#dad7d7}:host ::ng-deep .fd-carousel__page-indicator-container ol li.fd-carousel__page-indicator--active{background-color:#fff}:host .cover{background-color:#064079d9;position:absolute;bottom:0;left:0;right:0;height:50%;z-index:4;opacity:.6}:host:hover ::ng-deep .fd-carousel__page-indicator-container{display:inherit}:host:hover ::ng-deep button{display:inline-flex}\n"], dependencies: [{ kind: "component", type: i1.ButtonComponent, selector: "button[fd-button], a[fd-button], span[fd-button]", inputs: ["class"], exportAs: ["fd-button"] }, { kind: "component", type: i2.CarouselComponent, selector: "fd-carousel", inputs: ["id", "ariaLabel", "ariaLabelledBy", "ariaDescribedBy", "pageIndicatorsOrientation", "height", "width", "loop", "navigation", "navigatorInPageIndicator", "numericIndicator", "pageIndicatorContainer", "pageIndicator", "resourceStrings", "slideTransitionDuration", "swipeEnabled", "vertical", "noPaginationContainerBorder", "contentBackground", "pageIndicatorBackground", "visibleSlidesCount"], outputs: ["slideChange"] }, { kind: "component", type: i2.CarouselItemComponent, selector: "fd-carousel-item", inputs: ["id", "ariaLabel", "ariaLabelledBy", "ariaDescribedBy", "loading", "title", "initialHeight", "initialWidth", "value"] }, { kind: "directive", type: i3.TileContentDirective, selector: "[fdTileContent], [fd-tile-content]", inputs: ["twoColumn"] }, { kind: "directive", type: i3.TileFooterDirective, selector: "[fdTileFooter], [fd-tile-footer]", inputs: ["twoColumn"] }, { kind: "directive", type: i3.TileSectionDirective, selector: "[fdTileSection], [fd-tile-section]" }, { kind: "directive", type: i3.TileFooterTextDirective, selector: "[fdTileFooterText], [fd-tile-footer-text]" }, { kind: "directive", type: i4.UntilInViewDirective, selector: "[untilInView]", inputs: ["untilInView", "intersectionDebounce"] }, { kind: "component", type: i5.TileComponent, selector: "bt-tile", inputs: ["type", "footerTemplate", "footer", "disableClick", "title", "icon", "subtitle", "isDouble", "edit", "backColor", "dynamicCommand", "hideHeader", "setToStorage", "listMode", "navigateBackOnClick"] }, { kind: "pipe", type: i4.PictureFieldSourcePipe, name: "picFieldSrc" }, { kind: "pipe", type: i4.BbbTranslatePipe, name: "bbbTranslate" }, { kind: "pipe", type: i6.TilePropPipe, name: "tileProp" }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
45
+ }
46
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: NewsTileComponent, decorators: [{
47
+ type: Component,
48
+ args: [{ selector: 'bt-news-tile', changeDetection: ChangeDetectionStrategy.OnPush, standalone: false, template: "<bt-tile\r\n [data]=\"data\"\r\n [type]=\"'launch'\"\r\n [footerTemplate]=\"newsFooter\"\r\n [edit]=\"edit\"\r\n [navigateBackOnClick]=\"navigateBackOnClick\"\r\n [setToStorage]=\"setToStorage\"\r\n [deviceSize]=\"deviceSize\"\r\n [listMode]=\"listMode\"\r\n [title]=\"data | tileProp: 'Title':parameters\"\r\n [subtitle]=\"data | tileProp: 'Subtitle':parameters\"\r\n [dynamicCommand]=\"data | tileProp: 'DynamicCommand':parameters\"\r\n [isDouble]=\"data | tileProp: 'IsDouble':parameters\"\r\n [footer]=\"data | tileProp: 'Footer':parameters\"\r\n (hideClick)=\"hideClick.emit()\"\r\n (renameClick)=\"renameClick.emit()\"\r\n (click)=\"onTileClick()\"\r\n>\r\n <div fd-tile-content style=\"align-items: center; padding-top: 1rem\">\r\n <span>\r\n {{ activeNews?.Text | bbbTranslate }}\r\n </span>\r\n\r\n <div class=\"wrapper-carousel\">\r\n <div class=\"cover\"></div>\r\n @if (slides.length > 1) {\r\n <button\r\n fd-button\r\n fdType=\"transparent\"\r\n [glyph]=\"isStop ? 'play' : 'pause'\"\r\n (click)=\"isStop = !isStop; $event.preventDefault(); $event.stopPropagation()\"\r\n ></button>\r\n }\r\n <fd-carousel\r\n carouselIndicatorsOrientation=\"top\"\r\n [slideTransitionDuration]=\"1000\"\r\n (slideChange)=\"slideChange($event)\"\r\n [loop]=\"true\"\r\n [navigation]=\"false\"\r\n [navigatorInPageIndicator]=\"false\"\r\n width=\"100%\"\r\n >\r\n @for (slide of slides; track slide) {\r\n <fd-carousel-item [value]=\"slide\">\r\n <img\r\n [src]=\"slide.Img ? (slide.Img.FileId | picFieldSrc: 'ID':null:slide.Img.FileId:335:170) : ''\"\r\n />\r\n </fd-carousel-item>\r\n }\r\n </fd-carousel>\r\n </div>\r\n </div>\r\n</bt-tile>\r\n\r\n<!-- tile footer-->\r\n<ng-template #newsFooter>\r\n <div fd-tile-footer [twoColumn]=\"twoColumn\" *untilInView=\"el\">\r\n @if (twoColumn) {\r\n <div fd-tile-section>\r\n <span fd-tile-footer-text>{{ activeNews?.Footer1 | bbbTranslate }}</span>\r\n </div>\r\n <div fd-tile-section>\r\n <span fd-tile-footer-text>{{ activeNews?.Footer2 | bbbTranslate }}</span>\r\n </div>\r\n } @else {\r\n <span fd-tile-footer-text>{{ activeNews?.Footer1 | bbbTranslate }}</span>\r\n }\r\n </div>\r\n</ng-template>\r\n", styles: [":host{position:relative;display:block}:host bt-tile{position:relative}:host bt-tile .wrapper-carousel{position:absolute;top:0;width:100%;height:100%;left:0;z-index:0}:host bt-tile .wrapper-carousel img{width:335px;height:165px;object-fit:cover}:host ::ng-deep span{z-index:3;color:#fff}:host ::ng-deep button{position:absolute;right:15px;top:15px;display:none}:host ::ng-deep button fd-icon{z-index:4;min-width:1.5rem!important;font-size:1.5rem!important;color:#fff!important}:host ::ng-deep .fd-carousel__content{z-index:3}:host ::ng-deep .fd-carousel__page-indicator-container{position:absolute;bottom:0;display:none;background-color:transparent}:host ::ng-deep .fd-carousel__page-indicator-container ol{z-index:5}:host ::ng-deep .fd-carousel__page-indicator-container ol li{background-color:#dad7d7}:host ::ng-deep .fd-carousel__page-indicator-container ol li.fd-carousel__page-indicator--active{background-color:#fff}:host .cover{background-color:#064079d9;position:absolute;bottom:0;left:0;right:0;height:50%;z-index:4;opacity:.6}:host:hover ::ng-deep .fd-carousel__page-indicator-container{display:inherit}:host:hover ::ng-deep button{display:inline-flex}\n"] }]
49
+ }], propDecorators: { carouselComponent: [{
50
+ type: ViewChild,
51
+ args: [CarouselComponent]
52
+ }] } });
53
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibmV3cy10aWxlLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2JhcnNhLXRpbGVzL3NyYy9saWIvbmV3cy10aWxlL25ld3MtdGlsZS5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9iYXJzYS10aWxlcy9zcmMvbGliL25ld3MtdGlsZS9uZXdzLXRpbGUuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFNBQVMsRUFBRSx1QkFBdUIsRUFBRSxTQUFTLEVBQVUsTUFBTSxlQUFlLENBQUM7QUFDdEYsT0FBTyxFQUFFLFFBQVEsRUFBRSxNQUFNLE1BQU0sQ0FBQztBQUNoQyxPQUFPLEVBQUUsR0FBRyxFQUFFLFNBQVMsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBQ2hELE9BQU8sRUFBRSxpQkFBaUIsRUFBeUIsTUFBTSx1QkFBdUIsQ0FBQztBQUdqRixPQUFPLEVBQUUsbUJBQW1CLEVBQW1CLE1BQU0sV0FBVyxDQUFDOzs7Ozs7OztBQVNqRSxNQUFNLE9BQU8saUJBQWtCLFNBQVEsbUJBQW9DO0lBUDNFOztRQVdJLFdBQU0sR0FBRyxLQUFLLENBQUM7S0FpQ2xCO0lBL0JHLElBQUksU0FBUztRQUNULE9BQU8sSUFBSSxDQUFDLE1BQU0sQ0FBQyxTQUFTLENBQUM7SUFDakMsQ0FBQztJQUNELFFBQVE7UUFDSixLQUFLLENBQUMsUUFBUSxFQUFFLENBQUM7UUFDakIsTUFBTSxNQUFNLEdBQUcsSUFBSSxDQUFDLFFBQVEsQ0FBQyxNQUFNLENBQUMsVUFBVSxDQUFDO1FBRS9DLElBQUksTUFBTSxDQUFDLE1BQU0sRUFBRSxDQUFDO1lBQ2hCLElBQUksQ0FBQyxXQUFXLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUM7WUFDNUIsUUFBUSxDQUFDLElBQUksQ0FBQztpQkFDVCxJQUFJLENBQ0QsU0FBUyxDQUFDLElBQUksQ0FBQyxXQUFXLENBQUMsRUFDM0IsR0FBRyxDQUFDLEdBQUcsRUFBRTtnQkFDTCxJQUFJLENBQUMsSUFBSSxDQUFDLE1BQU0sRUFBRSxDQUFDO29CQUNmLElBQUksQ0FBQyxpQkFBaUIsQ0FBQyxJQUFJLEVBQUUsQ0FBQztnQkFDbEMsQ0FBQztZQUNMLENBQUMsQ0FBQyxDQUNMO2lCQUNBLFNBQVMsRUFBRSxDQUFDO1FBQ3JCLENBQUM7UUFDRCxJQUFJLENBQUMsTUFBTSxHQUFHLE1BQU0sQ0FBQztJQUN6QixDQUFDO0lBRUQsV0FBVyxDQUFDLFdBQXFEO1FBQzdELE1BQU0sWUFBWSxHQUFHLFdBQVcsQ0FBQyxXQUFXLENBQUMsQ0FBQyxDQUFDLENBQUMsS0FBSyxDQUFDO1FBQ3RELElBQUksQ0FBQyxXQUFXLENBQUMsWUFBWSxDQUFDLENBQUM7SUFDbkMsQ0FBQztJQUVPLFdBQVcsQ0FBQyxNQUEyQjtRQUMzQyxJQUFJLENBQUMsVUFBVSxHQUFHLE1BQU0sQ0FBQztJQUM3QixDQUFDOytHQXBDUSxpQkFBaUI7bUdBQWpCLGlCQUFpQix1R0FDZixpQkFBaUIsdUVDaEJoQywrb0ZBcUVBOzs0RkR0RGEsaUJBQWlCO2tCQVA3QixTQUFTOytCQUNJLGNBQWMsbUJBR1AsdUJBQXVCLENBQUMsTUFBTSxjQUNuQyxLQUFLOzhCQUdhLGlCQUFpQjtzQkFBOUMsU0FBUzt1QkFBQyxpQkFBaUIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb21wb25lbnQsIENoYW5nZURldGVjdGlvblN0cmF0ZWd5LCBWaWV3Q2hpbGQsIE9uSW5pdCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5pbXBvcnQgeyBpbnRlcnZhbCB9IGZyb20gJ3J4anMnO1xyXG5pbXBvcnQgeyB0YXAsIHRha2VVbnRpbCB9IGZyb20gJ3J4anMvb3BlcmF0b3JzJztcclxuaW1wb3J0IHsgQ2Fyb3VzZWxDb21wb25lbnQsIENhcm91c2VsSXRlbUNvbXBvbmVudCB9IGZyb20gJ0BmdW5kYW1lbnRhbC1uZ3gvY29yZSc7XHJcblxyXG5pbXBvcnQgeyBNZXRhb2JqZWN0RGF0YU1vZGVsIH0gZnJvbSAnYmFyc2Etbm92aW4tcmF5LWNvcmUnO1xyXG5pbXBvcnQgeyBCYXNlQnRUaWxlQ29tcG9uZW50LCBOZXdzVGlsZVNldHRpbmcgfSBmcm9tICcuLi9tb2RlbHMnO1xyXG5cclxuQENvbXBvbmVudCh7XHJcbiAgICBzZWxlY3RvcjogJ2J0LW5ld3MtdGlsZScsXHJcbiAgICB0ZW1wbGF0ZVVybDogJy4vbmV3cy10aWxlLmNvbXBvbmVudC5odG1sJyxcclxuICAgIHN0eWxlVXJsczogWycuL25ld3MtdGlsZS5jb21wb25lbnQuc2NzcyddLFxyXG4gICAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2gsXHJcbiAgICBzdGFuZGFsb25lOiBmYWxzZVxyXG59KVxyXG5leHBvcnQgY2xhc3MgTmV3c1RpbGVDb21wb25lbnQgZXh0ZW5kcyBCYXNlQnRUaWxlQ29tcG9uZW50PE5ld3NUaWxlU2V0dGluZz4gaW1wbGVtZW50cyBPbkluaXQge1xyXG4gICAgQFZpZXdDaGlsZChDYXJvdXNlbENvbXBvbmVudCkgY2Fyb3VzZWxDb21wb25lbnQ6IENhcm91c2VsQ29tcG9uZW50O1xyXG4gICAgc2xpZGVzOiBNZXRhb2JqZWN0RGF0YU1vZGVsW107XHJcbiAgICBhY3RpdmVOZXdzOiBNZXRhb2JqZWN0RGF0YU1vZGVsO1xyXG4gICAgaXNTdG9wID0gZmFsc2U7XHJcblxyXG4gICAgZ2V0IHR3b0NvbHVtbigpOiBib29sZWFuIHtcclxuICAgICAgICByZXR1cm4gdGhpcy5mb290ZXIuVHdvQ29sdW1uO1xyXG4gICAgfVxyXG4gICAgbmdPbkluaXQoKTogdm9pZCB7XHJcbiAgICAgICAgc3VwZXIubmdPbkluaXQoKTtcclxuICAgICAgICBjb25zdCBzbGlkZXMgPSB0aGlzLnNldHRpbmdzLlJlcG9ydC5Nb0RhdGFMaXN0O1xyXG5cclxuICAgICAgICBpZiAoc2xpZGVzLmxlbmd0aCkge1xyXG4gICAgICAgICAgICB0aGlzLl91cGRhdGVUaWxlKHNsaWRlc1swXSk7XHJcbiAgICAgICAgICAgIGludGVydmFsKDUwMDApXHJcbiAgICAgICAgICAgICAgICAucGlwZShcclxuICAgICAgICAgICAgICAgICAgICB0YWtlVW50aWwodGhpcy5fb25EZXN0cm95JCksXHJcbiAgICAgICAgICAgICAgICAgICAgdGFwKCgpID0+IHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgaWYgKCF0aGlzLmlzU3RvcCkge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgdGhpcy5jYXJvdXNlbENvbXBvbmVudC5uZXh0KCk7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgICAgICB9KVxyXG4gICAgICAgICAgICAgICAgKVxyXG4gICAgICAgICAgICAgICAgLnN1YnNjcmliZSgpO1xyXG4gICAgICAgIH1cclxuICAgICAgICB0aGlzLnNsaWRlcyA9IHNsaWRlcztcclxuICAgIH1cclxuXHJcbiAgICBzbGlkZUNoYW5nZShhY3RpdmVTbGlkZTogeyBhY3RpdmVJdGVtczogQ2Fyb3VzZWxJdGVtQ29tcG9uZW50W10gfSk6IHZvaWQge1xyXG4gICAgICAgIGNvbnN0IGN1cnJlbnRTbGlkZSA9IGFjdGl2ZVNsaWRlLmFjdGl2ZUl0ZW1zWzBdLnZhbHVlO1xyXG4gICAgICAgIHRoaXMuX3VwZGF0ZVRpbGUoY3VycmVudFNsaWRlKTtcclxuICAgIH1cclxuXHJcbiAgICBwcml2YXRlIF91cGRhdGVUaWxlKG5ld3NNbzogTWV0YW9iamVjdERhdGFNb2RlbCk6IHZvaWQge1xyXG4gICAgICAgIHRoaXMuYWN0aXZlTmV3cyA9IG5ld3NNbztcclxuICAgIH1cclxufVxyXG4iLCI8YnQtdGlsZVxyXG4gICAgW2RhdGFdPVwiZGF0YVwiXHJcbiAgICBbdHlwZV09XCInbGF1bmNoJ1wiXHJcbiAgICBbZm9vdGVyVGVtcGxhdGVdPVwibmV3c0Zvb3RlclwiXHJcbiAgICBbZWRpdF09XCJlZGl0XCJcclxuICAgIFtuYXZpZ2F0ZUJhY2tPbkNsaWNrXT1cIm5hdmlnYXRlQmFja09uQ2xpY2tcIlxyXG4gICAgW3NldFRvU3RvcmFnZV09XCJzZXRUb1N0b3JhZ2VcIlxyXG4gICAgW2RldmljZVNpemVdPVwiZGV2aWNlU2l6ZVwiXHJcbiAgICBbbGlzdE1vZGVdPVwibGlzdE1vZGVcIlxyXG4gICAgW3RpdGxlXT1cImRhdGEgfCB0aWxlUHJvcDogJ1RpdGxlJzpwYXJhbWV0ZXJzXCJcclxuICAgIFtzdWJ0aXRsZV09XCJkYXRhIHwgdGlsZVByb3A6ICdTdWJ0aXRsZSc6cGFyYW1ldGVyc1wiXHJcbiAgICBbZHluYW1pY0NvbW1hbmRdPVwiZGF0YSB8IHRpbGVQcm9wOiAnRHluYW1pY0NvbW1hbmQnOnBhcmFtZXRlcnNcIlxyXG4gICAgW2lzRG91YmxlXT1cImRhdGEgfCB0aWxlUHJvcDogJ0lzRG91YmxlJzpwYXJhbWV0ZXJzXCJcclxuICAgIFtmb290ZXJdPVwiZGF0YSB8IHRpbGVQcm9wOiAnRm9vdGVyJzpwYXJhbWV0ZXJzXCJcclxuICAgIChoaWRlQ2xpY2spPVwiaGlkZUNsaWNrLmVtaXQoKVwiXHJcbiAgICAocmVuYW1lQ2xpY2spPVwicmVuYW1lQ2xpY2suZW1pdCgpXCJcclxuICAgIChjbGljayk9XCJvblRpbGVDbGljaygpXCJcclxuPlxyXG4gICAgPGRpdiBmZC10aWxlLWNvbnRlbnQgc3R5bGU9XCJhbGlnbi1pdGVtczogY2VudGVyOyBwYWRkaW5nLXRvcDogMXJlbVwiPlxyXG4gICAgICAgIDxzcGFuPlxyXG4gICAgICAgICAgICB7eyBhY3RpdmVOZXdzPy5UZXh0IHwgYmJiVHJhbnNsYXRlIH19XHJcbiAgICAgICAgPC9zcGFuPlxyXG5cclxuICAgICAgICA8ZGl2IGNsYXNzPVwid3JhcHBlci1jYXJvdXNlbFwiPlxyXG4gICAgICAgICAgICA8ZGl2IGNsYXNzPVwiY292ZXJcIj48L2Rpdj5cclxuICAgICAgICAgICAgQGlmIChzbGlkZXMubGVuZ3RoID4gMSkge1xyXG4gICAgICAgICAgICA8YnV0dG9uXHJcbiAgICAgICAgICAgICAgICBmZC1idXR0b25cclxuICAgICAgICAgICAgICAgIGZkVHlwZT1cInRyYW5zcGFyZW50XCJcclxuICAgICAgICAgICAgICAgIFtnbHlwaF09XCJpc1N0b3AgPyAncGxheScgOiAncGF1c2UnXCJcclxuICAgICAgICAgICAgICAgIChjbGljayk9XCJpc1N0b3AgPSAhaXNTdG9wOyAkZXZlbnQucHJldmVudERlZmF1bHQoKTsgJGV2ZW50LnN0b3BQcm9wYWdhdGlvbigpXCJcclxuICAgICAgICAgICAgPjwvYnV0dG9uPlxyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIDxmZC1jYXJvdXNlbFxyXG4gICAgICAgICAgICAgICAgY2Fyb3VzZWxJbmRpY2F0b3JzT3JpZW50YXRpb249XCJ0b3BcIlxyXG4gICAgICAgICAgICAgICAgW3NsaWRlVHJhbnNpdGlvbkR1cmF0aW9uXT1cIjEwMDBcIlxyXG4gICAgICAgICAgICAgICAgKHNsaWRlQ2hhbmdlKT1cInNsaWRlQ2hhbmdlKCRldmVudClcIlxyXG4gICAgICAgICAgICAgICAgW2xvb3BdPVwidHJ1ZVwiXHJcbiAgICAgICAgICAgICAgICBbbmF2aWdhdGlvbl09XCJmYWxzZVwiXHJcbiAgICAgICAgICAgICAgICBbbmF2aWdhdG9ySW5QYWdlSW5kaWNhdG9yXT1cImZhbHNlXCJcclxuICAgICAgICAgICAgICAgIHdpZHRoPVwiMTAwJVwiXHJcbiAgICAgICAgICAgID5cclxuICAgICAgICAgICAgICAgIEBmb3IgKHNsaWRlIG9mIHNsaWRlczsgdHJhY2sgc2xpZGUpIHtcclxuICAgICAgICAgICAgICAgIDxmZC1jYXJvdXNlbC1pdGVtIFt2YWx1ZV09XCJzbGlkZVwiPlxyXG4gICAgICAgICAgICAgICAgICAgIDxpbWdcclxuICAgICAgICAgICAgICAgICAgICAgICAgW3NyY109XCJzbGlkZS5JbWcgPyAoc2xpZGUuSW1nLkZpbGVJZCB8IHBpY0ZpZWxkU3JjOiAnSUQnOm51bGw6c2xpZGUuSW1nLkZpbGVJZDozMzU6MTcwKSA6ICcnXCJcclxuICAgICAgICAgICAgICAgICAgICAvPlxyXG4gICAgICAgICAgICAgICAgPC9mZC1jYXJvdXNlbC1pdGVtPlxyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICA8L2ZkLWNhcm91c2VsPlxyXG4gICAgICAgIDwvZGl2PlxyXG4gICAgPC9kaXY+XHJcbjwvYnQtdGlsZT5cclxuXHJcbjwhLS0gIHRpbGUgZm9vdGVyLS0+XHJcbjxuZy10ZW1wbGF0ZSAjbmV3c0Zvb3Rlcj5cclxuICAgIDxkaXYgZmQtdGlsZS1mb290ZXIgW3R3b0NvbHVtbl09XCJ0d29Db2x1bW5cIiAqdW50aWxJblZpZXc9XCJlbFwiPlxyXG4gICAgICAgIEBpZiAodHdvQ29sdW1uKSB7XHJcbiAgICAgICAgPGRpdiBmZC10aWxlLXNlY3Rpb24+XHJcbiAgICAgICAgICAgIDxzcGFuIGZkLXRpbGUtZm9vdGVyLXRleHQ+e3sgYWN0aXZlTmV3cz8uRm9vdGVyMSB8IGJiYlRyYW5zbGF0ZSB9fTwvc3Bhbj5cclxuICAgICAgICA8L2Rpdj5cclxuICAgICAgICA8ZGl2IGZkLXRpbGUtc2VjdGlvbj5cclxuICAgICAgICAgICAgPHNwYW4gZmQtdGlsZS1mb290ZXItdGV4dD57eyBhY3RpdmVOZXdzPy5Gb290ZXIyIHwgYmJiVHJhbnNsYXRlIH19PC9zcGFuPlxyXG4gICAgICAgIDwvZGl2PlxyXG4gICAgICAgIH0gQGVsc2Uge1xyXG4gICAgICAgIDxzcGFuIGZkLXRpbGUtZm9vdGVyLXRleHQ+e3sgYWN0aXZlTmV3cz8uRm9vdGVyMSB8IGJiYlRyYW5zbGF0ZSB9fTwvc3Bhbj5cclxuICAgICAgICB9XHJcbiAgICA8L2Rpdj5cclxuPC9uZy10ZW1wbGF0ZT5cclxuIl19
@@ -0,0 +1,111 @@
1
+ import { ChangeDetectionStrategy, Component, EventEmitter, HostBinding, inject, Input, Output, signal } from '@angular/core';
2
+ import { BaseComponent, BarsaApi, GroupByService } from 'barsa-novin-ray-core';
3
+ import * as i0 from "@angular/core";
4
+ import * as i1 from "barsa-novin-ray-core";
5
+ import * as i2 from "@fundamental-ngx/platform";
6
+ export class NotificationGroupComponent extends BaseComponent {
7
+ constructor(_cdr) {
8
+ super();
9
+ this._cdr = _cdr;
10
+ this._deviceSize = '';
11
+ this.viewed = new EventEmitter();
12
+ this.remove = new EventEmitter();
13
+ this.actionClick = new EventEmitter();
14
+ this.showEvent = new EventEmitter();
15
+ this.loadMore = new EventEmitter();
16
+ this.expanded = {};
17
+ this.tabList = [
18
+ { label: 'By Date', title: 'CreationDateOnly' },
19
+ { label: 'By Type', title: 'Subject' },
20
+ { label: 'By Priority', title: 'Priority' }
21
+ ];
22
+ this.viewedNotifications = [];
23
+ this.reportSetting = signal({
24
+ RelatedReport: { Id: '0', $Caption: '' },
25
+ RowClick: '',
26
+ DataOnly: false
27
+ });
28
+ this._groupByServcie = inject(GroupByService);
29
+ this._selectedTab = this.tabList[0].title;
30
+ this._selectedTab = this.tabList[0].title;
31
+ this._setGroupBy();
32
+ }
33
+ ngOnInit() {
34
+ super.ngOnInit();
35
+ this._deviceSize = this.deviceSize;
36
+ this.reportSetting.set({
37
+ RelatedReport: { Id: this.notificationReport.Id, $Caption: '' },
38
+ RowClick: '',
39
+ DataOnly: false
40
+ });
41
+ }
42
+ onSelectedTabChange(selectedTab) {
43
+ if (this._selectedTab !== selectedTab.id) {
44
+ this._selectedTab = selectedTab.id;
45
+ this._setGroupBy();
46
+ }
47
+ }
48
+ ngOnChanges(changes) {
49
+ super.ngOnChanges(changes);
50
+ const { notifications } = changes;
51
+ if (notifications && !notifications.firstChange) {
52
+ this._cdr.detectChanges();
53
+ }
54
+ }
55
+ onWorkflowExecuteChoiceStatusChanged(e, mo) {
56
+ if (e.result && !e.error) {
57
+ this.remove.emit({ items: [mo], silent: true });
58
+ BarsaApi.Bw.Toast.Success(`${e.choice?.Title} ${BarsaApi.BBB.Action}`);
59
+ return;
60
+ }
61
+ mo.$ChoiceDefStatus = e;
62
+ this._cdr.detectChanges();
63
+ }
64
+ _setGroupBy() {
65
+ this._groupByServcie.setGroupBy([
66
+ {
67
+ IsGrouped: true,
68
+ Name: this._selectedTab,
69
+ SortDirection: 'desc'
70
+ },
71
+ {
72
+ IsGrouped: false,
73
+ Name: 'CreationDate',
74
+ SortDirection: 'desc'
75
+ }
76
+ ]);
77
+ }
78
+ _trackByTitle(_index, _) {
79
+ return _index;
80
+ }
81
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: NotificationGroupComponent, deps: [{ token: i0.ChangeDetectorRef }], target: i0.ɵɵFactoryTarget.Component }); }
82
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "18.2.13", type: NotificationGroupComponent, selector: "bt-notification-group", inputs: { notifications: "notifications", loading: "loading", deviceSize: "deviceSize", notificationCount: "notificationCount", notificationReport: "notificationReport" }, outputs: { viewed: "viewed", remove: "remove", actionClick: "actionClick", showEvent: "showEvent", loadMore: "loadMore" }, host: { properties: { "class": "this._deviceSize" } }, providers: [GroupByService], usesInheritance: true, usesOnChanges: true, ngImport: i0, template: "<fdp-icon-tab-bar size=\"s\" [expandOverflowText]=\"'More' | bbbTranslate\" (iconTabSelected)=\"onSelectedTabChange($event)\">\r\n @for (tab of tabList; track tab.label; let index = $index) {\r\n <fdp-icon-tab-bar-tab [label]=\"tab.label | bbbTranslate\" [title]=\"tab.label | bbbTranslate\" [id]=\"tab.title\">\r\n </fdp-icon-tab-bar-tab>\r\n }\r\n</fdp-icon-tab-bar>\r\n@if(reportSetting() !==null){\r\n<bnrc-report-container [settings]=\"reportSetting()\"> </bnrc-report-container>\r\n}\r\n\r\n<!-- \r\n<ng-template #notificationBody let-notifications let-exapanded=\"expanded\">\r\n <div style=\"max-height: 346px; overflow-y: auto; overflow-x: hidden\">\r\n @for (mo of notifications; track _trackMoById($index, mo); let first = $first; let last = $last) {\r\n <bsu-notification-item\r\n [notificationItem]=\"mo\"\r\n (viewed)=\"viewed.emit($event)\"\r\n (remove)=\"remove.emit($event)\"\r\n (showEvent)=\"showEvent.emit($event)\"\r\n (actionClick)=\"actionClick.emit($event)\"\r\n intersectionObserver\r\n [intersectionThreshold]=\"0.5\"\r\n [deviceSize]=\"deviceSize\"\r\n (visibilityChange)=\"onVisibilityChange($event, mo, last)\"\r\n ></bsu-notification-item>\r\n } @if (loading) {\r\n <ng-container *ngTemplateOutlet=\"loadingTpl\"></ng-container>\r\n }\r\n </div>\r\n</ng-template> -->\r\n<!-- @for (groupItem of tab.groupByItems; track _trackByKey(index2, groupItem); let index2 = $index) {\r\n <ul fd-notification-list>\r\n <fd-notification-group [expanded]=\"expanded[groupItem.Id]\" (click)=\"onExpanded(index2, groupItem)\">\r\n <fd-notification-group-header>\r\n <span fd-notification-group-header-title>\r\n @switch(index){ @case (0){\r\n {{ groupItem.CreationDate$Caption }}\r\n } @case(1){\r\n {{ groupItem.Subject }}\r\n\r\n } @case(2){\r\n {{ groupItem.Priority$Caption }}\r\n\r\n }}</span\r\n >\r\n </fd-notification-group-header>\r\n <fd-notification-group-list>\r\n <fd-notification>\r\n <fd-notification-body>\r\n <fd-avatar size=\"xs\" glyph=\"batch-payments\"></fd-avatar>\r\n <fd-notification-content>\r\n <fd-notification-header>\r\n <fd-icon glyph=\"error\" color=\"negative\"></fd-icon>\r\n <h4 fd-notification-title [unread]=\"true\">\r\n Notification Title (unread) lorem ipsum dolor sit amet, consectetur\r\n adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna\r\n aliqua. Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do\r\n eiusmod tempor incididunt ut labore et dolore magna aliqua.\r\n </h4>\r\n </fd-notification-header>\r\n <p fd-notification-paragraph>\r\n Description of notification topic lorem ipsum dolor sit amet, consectetur\r\n adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna\r\n aliqua.\r\n </p>\r\n <fd-notification-footer>\r\n <span fd-notification-footer-content>Product Name</span>\r\n <span fd-notification-separator></span>\r\n <span fd-notification-footer-content>Feature Name</span>\r\n <span fd-notification-separator></span>\r\n <span fd-notification-footer-content>11:11 AM</span>\r\n </fd-notification-footer>\r\n <span\r\n fd-object-status\r\n [indicationColor]=\"2\"\r\n [secondaryIndication]=\"true\"\r\n [inverted]=\"true\"\r\n label=\"Negative\"\r\n title=\"Negative\"\r\n glyph=\"high-priority\"\r\n aria-label=\"Object status Negative Inverted\"\r\n ></span>\r\n </fd-notification-content>\r\n <fd-notification-actions>\r\n <button\r\n fd-button\r\n fdType=\"transparent\"\r\n ariaLabel=\"Close\"\r\n glyph=\"decline\"\r\n title=\"close\"\r\n ></button>\r\n </fd-notification-actions>\r\n </fd-notification-body>\r\n </fd-notification>\r\n </fd-notification-group-list>\r\n </fd-notification-group>\r\n </ul>\r\n\r\n } -->\r\n", styles: [":host{display:block;min-width:600px}:host ::ng-deep .fd-tabs__content{overflow:hidden}:host ::ng-deep .fd-notification{padding:0;box-shadow:none}fd-notification{margin:0;padding-left:0rem!important;padding-right:0rem!important}fd-notification-body{position:relative}.noloading{visibility:hidden;height:0;width:0}.loading{visibility:visible;height:100%;width:100%}:host.s{min-width:auto}fdp-icon-tab-bar ::ng-deep>div>fdp-icon-tab-bar-text-type>ul{padding:0 .5rem}\n"], dependencies: [{ kind: "component", type: i1.ReportContainerComponent, selector: "bnrc-report-container", inputs: ["settings"] }, { kind: "component", type: i2.IconTabBarComponent, selector: "fdp-icon-tab-bar", inputs: ["stackContent", "iconTabType", "tabsConfig", "densityMode", "iconTabFont", "enableTabReordering", "showTotalTab", "multiClick", "layoutMode", "iconTabBackground", "iconTabSize", "colorAssociations", "maxContentHeight"], outputs: ["tabsConfigChange", "densityModeChange", "iconTabSelected", "iconTabReordered", "closeTab"] }, { kind: "component", type: i2.IconTabBarTabComponent, selector: "fdp-icon-tab-bar-tab", inputs: ["label", "color", "icon", "iconFont", "counter", "active", "badge", "closable", "id"] }, { kind: "pipe", type: i1.BbbTranslatePipe, name: "bbbTranslate" }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
83
+ }
84
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: NotificationGroupComponent, decorators: [{
85
+ type: Component,
86
+ args: [{ selector: 'bt-notification-group', changeDetection: ChangeDetectionStrategy.OnPush, standalone: false, providers: [GroupByService], template: "<fdp-icon-tab-bar size=\"s\" [expandOverflowText]=\"'More' | bbbTranslate\" (iconTabSelected)=\"onSelectedTabChange($event)\">\r\n @for (tab of tabList; track tab.label; let index = $index) {\r\n <fdp-icon-tab-bar-tab [label]=\"tab.label | bbbTranslate\" [title]=\"tab.label | bbbTranslate\" [id]=\"tab.title\">\r\n </fdp-icon-tab-bar-tab>\r\n }\r\n</fdp-icon-tab-bar>\r\n@if(reportSetting() !==null){\r\n<bnrc-report-container [settings]=\"reportSetting()\"> </bnrc-report-container>\r\n}\r\n\r\n<!-- \r\n<ng-template #notificationBody let-notifications let-exapanded=\"expanded\">\r\n <div style=\"max-height: 346px; overflow-y: auto; overflow-x: hidden\">\r\n @for (mo of notifications; track _trackMoById($index, mo); let first = $first; let last = $last) {\r\n <bsu-notification-item\r\n [notificationItem]=\"mo\"\r\n (viewed)=\"viewed.emit($event)\"\r\n (remove)=\"remove.emit($event)\"\r\n (showEvent)=\"showEvent.emit($event)\"\r\n (actionClick)=\"actionClick.emit($event)\"\r\n intersectionObserver\r\n [intersectionThreshold]=\"0.5\"\r\n [deviceSize]=\"deviceSize\"\r\n (visibilityChange)=\"onVisibilityChange($event, mo, last)\"\r\n ></bsu-notification-item>\r\n } @if (loading) {\r\n <ng-container *ngTemplateOutlet=\"loadingTpl\"></ng-container>\r\n }\r\n </div>\r\n</ng-template> -->\r\n<!-- @for (groupItem of tab.groupByItems; track _trackByKey(index2, groupItem); let index2 = $index) {\r\n <ul fd-notification-list>\r\n <fd-notification-group [expanded]=\"expanded[groupItem.Id]\" (click)=\"onExpanded(index2, groupItem)\">\r\n <fd-notification-group-header>\r\n <span fd-notification-group-header-title>\r\n @switch(index){ @case (0){\r\n {{ groupItem.CreationDate$Caption }}\r\n } @case(1){\r\n {{ groupItem.Subject }}\r\n\r\n } @case(2){\r\n {{ groupItem.Priority$Caption }}\r\n\r\n }}</span\r\n >\r\n </fd-notification-group-header>\r\n <fd-notification-group-list>\r\n <fd-notification>\r\n <fd-notification-body>\r\n <fd-avatar size=\"xs\" glyph=\"batch-payments\"></fd-avatar>\r\n <fd-notification-content>\r\n <fd-notification-header>\r\n <fd-icon glyph=\"error\" color=\"negative\"></fd-icon>\r\n <h4 fd-notification-title [unread]=\"true\">\r\n Notification Title (unread) lorem ipsum dolor sit amet, consectetur\r\n adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna\r\n aliqua. Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do\r\n eiusmod tempor incididunt ut labore et dolore magna aliqua.\r\n </h4>\r\n </fd-notification-header>\r\n <p fd-notification-paragraph>\r\n Description of notification topic lorem ipsum dolor sit amet, consectetur\r\n adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna\r\n aliqua.\r\n </p>\r\n <fd-notification-footer>\r\n <span fd-notification-footer-content>Product Name</span>\r\n <span fd-notification-separator></span>\r\n <span fd-notification-footer-content>Feature Name</span>\r\n <span fd-notification-separator></span>\r\n <span fd-notification-footer-content>11:11 AM</span>\r\n </fd-notification-footer>\r\n <span\r\n fd-object-status\r\n [indicationColor]=\"2\"\r\n [secondaryIndication]=\"true\"\r\n [inverted]=\"true\"\r\n label=\"Negative\"\r\n title=\"Negative\"\r\n glyph=\"high-priority\"\r\n aria-label=\"Object status Negative Inverted\"\r\n ></span>\r\n </fd-notification-content>\r\n <fd-notification-actions>\r\n <button\r\n fd-button\r\n fdType=\"transparent\"\r\n ariaLabel=\"Close\"\r\n glyph=\"decline\"\r\n title=\"close\"\r\n ></button>\r\n </fd-notification-actions>\r\n </fd-notification-body>\r\n </fd-notification>\r\n </fd-notification-group-list>\r\n </fd-notification-group>\r\n </ul>\r\n\r\n } -->\r\n", styles: [":host{display:block;min-width:600px}:host ::ng-deep .fd-tabs__content{overflow:hidden}:host ::ng-deep .fd-notification{padding:0;box-shadow:none}fd-notification{margin:0;padding-left:0rem!important;padding-right:0rem!important}fd-notification-body{position:relative}.noloading{visibility:hidden;height:0;width:0}.loading{visibility:visible;height:100%;width:100%}:host.s{min-width:auto}fdp-icon-tab-bar ::ng-deep>div>fdp-icon-tab-bar-text-type>ul{padding:0 .5rem}\n"] }]
87
+ }], ctorParameters: () => [{ type: i0.ChangeDetectorRef }], propDecorators: { notifications: [{
88
+ type: Input
89
+ }], loading: [{
90
+ type: Input
91
+ }], deviceSize: [{
92
+ type: Input
93
+ }], notificationCount: [{
94
+ type: Input
95
+ }], notificationReport: [{
96
+ type: Input
97
+ }], _deviceSize: [{
98
+ type: HostBinding,
99
+ args: ['class']
100
+ }], viewed: [{
101
+ type: Output
102
+ }], remove: [{
103
+ type: Output
104
+ }], actionClick: [{
105
+ type: Output
106
+ }], showEvent: [{
107
+ type: Output
108
+ }], loadMore: [{
109
+ type: Output
110
+ }] } });
111
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibm90aWZpY2F0aW9uLWdyb3VwLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2JhcnNhLXRpbGVzL3NyYy9saWIvbm90aWZpY2F0aW9uLWdyb3VwL25vdGlmaWNhdGlvbi1ncm91cC5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9iYXJzYS10aWxlcy9zcmMvbGliL25vdGlmaWNhdGlvbi1ncm91cC9ub3RpZmljYXRpb24tZ3JvdXAuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUNILHVCQUF1QixFQUV2QixTQUFTLEVBQ1QsWUFBWSxFQUNaLFdBQVcsRUFDWCxNQUFNLEVBQ04sS0FBSyxFQUdMLE1BQU0sRUFFTixNQUFNLEVBRVQsTUFBTSxlQUFlLENBQUM7QUFFdkIsT0FBTyxFQUNILGFBQWEsRUFHYixRQUFRLEVBS1IsY0FBYyxFQUNqQixNQUFNLHNCQUFzQixDQUFDOzs7O0FBVTlCLE1BQU0sT0FBTywwQkFBMkIsU0FBUSxhQUFhO0lBNkJ6RCxZQUFvQixJQUF1QjtRQUN2QyxLQUFLLEVBQUUsQ0FBQztRQURRLFNBQUksR0FBSixJQUFJLENBQW1CO1FBdEJyQixnQkFBVyxHQUFHLEVBQUUsQ0FBQztRQUU3QixXQUFNLEdBQUcsSUFBSSxZQUFZLEVBQW9CLENBQUM7UUFDOUMsV0FBTSxHQUFHLElBQUksWUFBWSxFQUFrRCxDQUFDO1FBQzVFLGdCQUFXLEdBQUcsSUFBSSxZQUFZLEVBQXVELENBQUM7UUFDdEYsY0FBUyxHQUFHLElBQUksWUFBWSxFQUEwRCxDQUFDO1FBQ3ZGLGFBQVEsR0FBRyxJQUFJLFlBQVksRUFBUSxDQUFDO1FBRTlDLGFBQVEsR0FBNEIsRUFBRSxDQUFDO1FBQ3ZDLFlBQU8sR0FBVTtZQUNiLEVBQUUsS0FBSyxFQUFFLFNBQVMsRUFBRSxLQUFLLEVBQUUsa0JBQWtCLEVBQUU7WUFDL0MsRUFBRSxLQUFLLEVBQUUsU0FBUyxFQUFFLEtBQUssRUFBRSxTQUFTLEVBQUU7WUFDdEMsRUFBRSxLQUFLLEVBQUUsYUFBYSxFQUFFLEtBQUssRUFBRSxVQUFVLEVBQUU7U0FDOUMsQ0FBQztRQUNGLHdCQUFtQixHQUF1QixFQUFFLENBQUM7UUFDN0Msa0JBQWEsR0FBMkMsTUFBTSxDQUFDO1lBQzNELGFBQWEsRUFBRSxFQUFFLEVBQUUsRUFBRSxHQUFHLEVBQUUsUUFBUSxFQUFFLEVBQUUsRUFBRTtZQUN4QyxRQUFRLEVBQUUsRUFBRTtZQUNaLFFBQVEsRUFBRSxLQUFLO1NBQ2xCLENBQUMsQ0FBQztRQUNLLG9CQUFlLEdBQUcsTUFBTSxDQUFDLGNBQWMsQ0FBQyxDQUFDO1FBQ3pDLGlCQUFZLEdBQUcsSUFBSSxDQUFDLE9BQU8sQ0FBQyxDQUFDLENBQUMsQ0FBQyxLQUFLLENBQUM7UUFHekMsSUFBSSxDQUFDLFlBQVksR0FBRyxJQUFJLENBQUMsT0FBTyxDQUFDLENBQUMsQ0FBQyxDQUFDLEtBQUssQ0FBQztRQUMxQyxJQUFJLENBQUMsV0FBVyxFQUFFLENBQUM7SUFDdkIsQ0FBQztJQUVELFFBQVE7UUFDSixLQUFLLENBQUMsUUFBUSxFQUFFLENBQUM7UUFDakIsSUFBSSxDQUFDLFdBQVcsR0FBRyxJQUFJLENBQUMsVUFBVSxDQUFDO1FBQ25DLElBQUksQ0FBQyxhQUFhLENBQUMsR0FBRyxDQUFDO1lBQ25CLGFBQWEsRUFBRSxFQUFFLEVBQUUsRUFBRSxJQUFJLENBQUMsa0JBQWtCLENBQUMsRUFBRSxFQUFFLFFBQVEsRUFBRSxFQUFFLEVBQUU7WUFDL0QsUUFBUSxFQUFFLEVBQUU7WUFDWixRQUFRLEVBQUUsS0FBSztTQUNsQixDQUFDLENBQUM7SUFDUCxDQUFDO0lBQ0QsbUJBQW1CLENBQUMsV0FBMkI7UUFDM0MsSUFBSSxJQUFJLENBQUMsWUFBWSxLQUFLLFdBQVcsQ0FBQyxFQUFFLEVBQUUsQ0FBQztZQUN2QyxJQUFJLENBQUMsWUFBWSxHQUFHLFdBQVcsQ0FBQyxFQUFFLENBQUM7WUFDbkMsSUFBSSxDQUFDLFdBQVcsRUFBRSxDQUFDO1FBQ3ZCLENBQUM7SUFDTCxDQUFDO0lBQ0QsV0FBVyxDQUFDLE9BQXNCO1FBQzlCLEtBQUssQ0FBQyxXQUFXLENBQUMsT0FBTyxDQUFDLENBQUM7UUFDM0IsTUFBTSxFQUFFLGFBQWEsRUFBRSxHQUFHLE9BQU8sQ0FBQztRQUNsQyxJQUFJLGFBQWEsSUFBSSxDQUFDLGFBQWEsQ0FBQyxXQUFXLEVBQUUsQ0FBQztZQUM5QyxJQUFJLENBQUMsSUFBSSxDQUFDLGFBQWEsRUFBRSxDQUFDO1FBQzlCLENBQUM7SUFDTCxDQUFDO0lBQ0Qsb0NBQW9DLENBQUMsQ0FBOEIsRUFBRSxFQUFvQjtRQUNyRixJQUFJLENBQUMsQ0FBQyxNQUFNLElBQUksQ0FBQyxDQUFDLENBQUMsS0FBSyxFQUFFLENBQUM7WUFDdkIsSUFBSSxDQUFDLE1BQU0sQ0FBQyxJQUFJLENBQUMsRUFBRSxLQUFLLEVBQUUsQ0FBQyxFQUFFLENBQUMsRUFBRSxNQUFNLEVBQUUsSUFBSSxFQUFFLENBQUMsQ0FBQztZQUNoRCxRQUFRLENBQUMsRUFBRSxDQUFDLEtBQUssQ0FBQyxPQUFPLENBQUMsR0FBRyxDQUFDLENBQUMsTUFBTSxFQUFFLEtBQUssSUFBSSxRQUFRLENBQUMsR0FBRyxDQUFDLE1BQU0sRUFBRSxDQUFDLENBQUM7WUFDdkUsT0FBTztRQUNYLENBQUM7UUFDRCxFQUFFLENBQUMsZ0JBQWdCLEdBQUcsQ0FBQyxDQUFDO1FBQ3hCLElBQUksQ0FBQyxJQUFJLENBQUMsYUFBYSxFQUFFLENBQUM7SUFDOUIsQ0FBQztJQUNELFdBQVc7UUFDUCxJQUFJLENBQUMsZUFBZSxDQUFDLFVBQVUsQ0FBQztZQUM1QjtnQkFDSSxTQUFTLEVBQUUsSUFBSTtnQkFDZixJQUFJLEVBQUUsSUFBSSxDQUFDLFlBQVk7Z0JBQ3ZCLGFBQWEsRUFBRSxNQUFNO2FBQ3hCO1lBQ0Q7Z0JBQ0ksU0FBUyxFQUFFLEtBQUs7Z0JBQ2hCLElBQUksRUFBRSxjQUFjO2dCQUNwQixhQUFhLEVBQUUsTUFBTTthQUN4QjtTQUNKLENBQUMsQ0FBQztJQUNQLENBQUM7SUFFRCxhQUFhLENBQUMsTUFBYyxFQUFFLENBQVM7UUFDbkMsT0FBTyxNQUFNLENBQUM7SUFDbEIsQ0FBQzsrR0FuRlEsMEJBQTBCO21HQUExQiwwQkFBMEIsOFlBRnhCLENBQUMsY0FBYyxDQUFDLHNFQ2xDL0IsK3dLQW1HQTs7NEZEL0RhLDBCQUEwQjtrQkFSdEMsU0FBUzsrQkFDSSx1QkFBdUIsbUJBR2hCLHVCQUF1QixDQUFDLE1BQU0sY0FDbkMsS0FBSyxhQUNOLENBQUMsY0FBYyxDQUFDO3NGQUdsQixhQUFhO3NCQUFyQixLQUFLO2dCQUNHLE9BQU87c0JBQWYsS0FBSztnQkFDRyxVQUFVO3NCQUFsQixLQUFLO2dCQUNHLGlCQUFpQjtzQkFBekIsS0FBSztnQkFDRyxrQkFBa0I7c0JBQTFCLEtBQUs7Z0JBRWdCLFdBQVc7c0JBQWhDLFdBQVc7dUJBQUMsT0FBTztnQkFFVixNQUFNO3NCQUFmLE1BQU07Z0JBQ0csTUFBTTtzQkFBZixNQUFNO2dCQUNHLFdBQVc7c0JBQXBCLE1BQU07Z0JBQ0csU0FBUztzQkFBbEIsTUFBTTtnQkFDRyxRQUFRO3NCQUFqQixNQUFNIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtcclxuICAgIENoYW5nZURldGVjdGlvblN0cmF0ZWd5LFxyXG4gICAgQ2hhbmdlRGV0ZWN0b3JSZWYsXHJcbiAgICBDb21wb25lbnQsXHJcbiAgICBFdmVudEVtaXR0ZXIsXHJcbiAgICBIb3N0QmluZGluZyxcclxuICAgIGluamVjdCxcclxuICAgIElucHV0LFxyXG4gICAgT25DaGFuZ2VzLFxyXG4gICAgT25Jbml0LFxyXG4gICAgT3V0cHV0LFxyXG4gICAgU2ltcGxlQ2hhbmdlcyxcclxuICAgIHNpZ25hbCxcclxuICAgIFdyaXRhYmxlU2lnbmFsXHJcbn0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcbmltcG9ydCB7IEljb25UYWJCYXJJdGVtIH0gZnJvbSAnQGZ1bmRhbWVudGFsLW5neC9wbGF0Zm9ybSc7XHJcbmltcG9ydCB7XHJcbiAgICBCYXNlQ29tcG9uZW50LFxyXG4gICAgTWV0YW9iamVjdERhdGFNb2RlbCxcclxuICAgIFdvcmtmbG93RXhlY3V0ZUNob2ljZVN0YXR1cyxcclxuICAgIEJhcnNhQXBpLFxyXG4gICAgTm90aWZpY2F0aW9uSXRlbSxcclxuICAgIE5vdGlmaWNhdGlvbkFjdGlvbixcclxuICAgIEFiYnJldmF0aW9uRGV2aWNlU2l6ZSxcclxuICAgIENvbnRhaW5lclJlcG9ydFNldHRpbmcsXHJcbiAgICBHcm91cEJ5U2VydmljZVxyXG59IGZyb20gJ2JhcnNhLW5vdmluLXJheS1jb3JlJztcclxuXHJcbkBDb21wb25lbnQoe1xyXG4gICAgc2VsZWN0b3I6ICdidC1ub3RpZmljYXRpb24tZ3JvdXAnLFxyXG4gICAgdGVtcGxhdGVVcmw6ICcuL25vdGlmaWNhdGlvbi1ncm91cC5jb21wb25lbnQuaHRtbCcsXHJcbiAgICBzdHlsZVVybHM6IFsnLi9ub3RpZmljYXRpb24tZ3JvdXAuY29tcG9uZW50LnNjc3MnXSxcclxuICAgIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoLFxyXG4gICAgc3RhbmRhbG9uZTogZmFsc2UsXHJcbiAgICBwcm92aWRlcnM6IFtHcm91cEJ5U2VydmljZV1cclxufSlcclxuZXhwb3J0IGNsYXNzIE5vdGlmaWNhdGlvbkdyb3VwQ29tcG9uZW50IGV4dGVuZHMgQmFzZUNvbXBvbmVudCBpbXBsZW1lbnRzIE9uSW5pdCwgT25DaGFuZ2VzIHtcclxuICAgIEBJbnB1dCgpIG5vdGlmaWNhdGlvbnM6IE5vdGlmaWNhdGlvbkl0ZW1bXSB8IG51bGw7XHJcbiAgICBASW5wdXQoKSBsb2FkaW5nOiBib29sZWFuO1xyXG4gICAgQElucHV0KCkgZGV2aWNlU2l6ZTogQWJicmV2YXRpb25EZXZpY2VTaXplO1xyXG4gICAgQElucHV0KCkgbm90aWZpY2F0aW9uQ291bnQ6IHsgdW5yZWFkOiBudW1iZXI7IGFsbDogbnVtYmVyIH07XHJcbiAgICBASW5wdXQoKSBub3RpZmljYXRpb25SZXBvcnQ6IE1ldGFvYmplY3REYXRhTW9kZWw7XHJcblxyXG4gICAgQEhvc3RCaW5kaW5nKCdjbGFzcycpIF9kZXZpY2VTaXplID0gJyc7XHJcblxyXG4gICAgQE91dHB1dCgpIHZpZXdlZCA9IG5ldyBFdmVudEVtaXR0ZXI8Tm90aWZpY2F0aW9uSXRlbT4oKTtcclxuICAgIEBPdXRwdXQoKSByZW1vdmUgPSBuZXcgRXZlbnRFbWl0dGVyPHsgaXRlbXM6IE5vdGlmaWNhdGlvbkl0ZW1bXTsgc2lsZW50OiBib29sZWFuIH0+KCk7XHJcbiAgICBAT3V0cHV0KCkgYWN0aW9uQ2xpY2sgPSBuZXcgRXZlbnRFbWl0dGVyPHsgaXRlbTogTm90aWZpY2F0aW9uSXRlbTsgYnRuOiBOb3RpZmljYXRpb25BY3Rpb24gfT4oKTtcclxuICAgIEBPdXRwdXQoKSBzaG93RXZlbnQgPSBuZXcgRXZlbnRFbWl0dGVyPHsgdGFnOiBzdHJpbmc7IG1vOiBNZXRhb2JqZWN0RGF0YU1vZGVsOyBuYW1hOiBzdHJpbmcgfT4oKTtcclxuICAgIEBPdXRwdXQoKSBsb2FkTW9yZSA9IG5ldyBFdmVudEVtaXR0ZXI8dm9pZD4oKTtcclxuXHJcbiAgICBleHBhbmRlZDogUmVjb3JkPHN0cmluZywgYm9vbGVhbj4gPSB7fTtcclxuICAgIHRhYkxpc3Q6IGFueVtdID0gW1xyXG4gICAgICAgIHsgbGFiZWw6ICdCeSBEYXRlJywgdGl0bGU6ICdDcmVhdGlvbkRhdGVPbmx5JyB9LFxyXG4gICAgICAgIHsgbGFiZWw6ICdCeSBUeXBlJywgdGl0bGU6ICdTdWJqZWN0JyB9LFxyXG4gICAgICAgIHsgbGFiZWw6ICdCeSBQcmlvcml0eScsIHRpdGxlOiAnUHJpb3JpdHknIH1cclxuICAgIF07XHJcbiAgICB2aWV3ZWROb3RpZmljYXRpb25zOiBOb3RpZmljYXRpb25JdGVtW10gPSBbXTtcclxuICAgIHJlcG9ydFNldHRpbmc6IFdyaXRhYmxlU2lnbmFsPENvbnRhaW5lclJlcG9ydFNldHRpbmc+ID0gc2lnbmFsKHtcclxuICAgICAgICBSZWxhdGVkUmVwb3J0OiB7IElkOiAnMCcsICRDYXB0aW9uOiAnJyB9LFxyXG4gICAgICAgIFJvd0NsaWNrOiAnJyxcclxuICAgICAgICBEYXRhT25seTogZmFsc2VcclxuICAgIH0pO1xyXG4gICAgcHJpdmF0ZSBfZ3JvdXBCeVNlcnZjaWUgPSBpbmplY3QoR3JvdXBCeVNlcnZpY2UpO1xyXG4gICAgcHJpdmF0ZSBfc2VsZWN0ZWRUYWIgPSB0aGlzLnRhYkxpc3RbMF0udGl0bGU7XHJcbiAgICBjb25zdHJ1Y3Rvcihwcml2YXRlIF9jZHI6IENoYW5nZURldGVjdG9yUmVmKSB7XHJcbiAgICAgICAgc3VwZXIoKTtcclxuICAgICAgICB0aGlzLl9zZWxlY3RlZFRhYiA9IHRoaXMudGFiTGlzdFswXS50aXRsZTtcclxuICAgICAgICB0aGlzLl9zZXRHcm91cEJ5KCk7XHJcbiAgICB9XHJcblxyXG4gICAgbmdPbkluaXQoKTogdm9pZCB7XHJcbiAgICAgICAgc3VwZXIubmdPbkluaXQoKTtcclxuICAgICAgICB0aGlzLl9kZXZpY2VTaXplID0gdGhpcy5kZXZpY2VTaXplO1xyXG4gICAgICAgIHRoaXMucmVwb3J0U2V0dGluZy5zZXQoe1xyXG4gICAgICAgICAgICBSZWxhdGVkUmVwb3J0OiB7IElkOiB0aGlzLm5vdGlmaWNhdGlvblJlcG9ydC5JZCwgJENhcHRpb246ICcnIH0sXHJcbiAgICAgICAgICAgIFJvd0NsaWNrOiAnJyxcclxuICAgICAgICAgICAgRGF0YU9ubHk6IGZhbHNlXHJcbiAgICAgICAgfSk7XHJcbiAgICB9XHJcbiAgICBvblNlbGVjdGVkVGFiQ2hhbmdlKHNlbGVjdGVkVGFiOiBJY29uVGFiQmFySXRlbSk6IHZvaWQge1xyXG4gICAgICAgIGlmICh0aGlzLl9zZWxlY3RlZFRhYiAhPT0gc2VsZWN0ZWRUYWIuaWQpIHtcclxuICAgICAgICAgICAgdGhpcy5fc2VsZWN0ZWRUYWIgPSBzZWxlY3RlZFRhYi5pZDtcclxuICAgICAgICAgICAgdGhpcy5fc2V0R3JvdXBCeSgpO1xyXG4gICAgICAgIH1cclxuICAgIH1cclxuICAgIG5nT25DaGFuZ2VzKGNoYW5nZXM6IFNpbXBsZUNoYW5nZXMpOiB2b2lkIHtcclxuICAgICAgICBzdXBlci5uZ09uQ2hhbmdlcyhjaGFuZ2VzKTtcclxuICAgICAgICBjb25zdCB7IG5vdGlmaWNhdGlvbnMgfSA9IGNoYW5nZXM7XHJcbiAgICAgICAgaWYgKG5vdGlmaWNhdGlvbnMgJiYgIW5vdGlmaWNhdGlvbnMuZmlyc3RDaGFuZ2UpIHtcclxuICAgICAgICAgICAgdGhpcy5fY2RyLmRldGVjdENoYW5nZXMoKTtcclxuICAgICAgICB9XHJcbiAgICB9XHJcbiAgICBvbldvcmtmbG93RXhlY3V0ZUNob2ljZVN0YXR1c0NoYW5nZWQoZTogV29ya2Zsb3dFeGVjdXRlQ2hvaWNlU3RhdHVzLCBtbzogTm90aWZpY2F0aW9uSXRlbSk6IHZvaWQge1xyXG4gICAgICAgIGlmIChlLnJlc3VsdCAmJiAhZS5lcnJvcikge1xyXG4gICAgICAgICAgICB0aGlzLnJlbW92ZS5lbWl0KHsgaXRlbXM6IFttb10sIHNpbGVudDogdHJ1ZSB9KTtcclxuICAgICAgICAgICAgQmFyc2FBcGkuQncuVG9hc3QuU3VjY2VzcyhgJHtlLmNob2ljZT8uVGl0bGV9ICR7QmFyc2FBcGkuQkJCLkFjdGlvbn1gKTtcclxuICAgICAgICAgICAgcmV0dXJuO1xyXG4gICAgICAgIH1cclxuICAgICAgICBtby4kQ2hvaWNlRGVmU3RhdHVzID0gZTtcclxuICAgICAgICB0aGlzLl9jZHIuZGV0ZWN0Q2hhbmdlcygpO1xyXG4gICAgfVxyXG4gICAgX3NldEdyb3VwQnkoKTogdm9pZCB7XHJcbiAgICAgICAgdGhpcy5fZ3JvdXBCeVNlcnZjaWUuc2V0R3JvdXBCeShbXHJcbiAgICAgICAgICAgIHtcclxuICAgICAgICAgICAgICAgIElzR3JvdXBlZDogdHJ1ZSxcclxuICAgICAgICAgICAgICAgIE5hbWU6IHRoaXMuX3NlbGVjdGVkVGFiLFxyXG4gICAgICAgICAgICAgICAgU29ydERpcmVjdGlvbjogJ2Rlc2MnXHJcbiAgICAgICAgICAgIH0sXHJcbiAgICAgICAgICAgIHtcclxuICAgICAgICAgICAgICAgIElzR3JvdXBlZDogZmFsc2UsXHJcbiAgICAgICAgICAgICAgICBOYW1lOiAnQ3JlYXRpb25EYXRlJyxcclxuICAgICAgICAgICAgICAgIFNvcnREaXJlY3Rpb246ICdkZXNjJ1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgXSk7XHJcbiAgICB9XHJcblxyXG4gICAgX3RyYWNrQnlUaXRsZShfaW5kZXg6IG51bWJlciwgXzogc3RyaW5nKTogbnVtYmVyIHwgc3RyaW5nIHtcclxuICAgICAgICByZXR1cm4gX2luZGV4O1xyXG4gICAgfVxyXG59XHJcbiIsIjxmZHAtaWNvbi10YWItYmFyIHNpemU9XCJzXCIgW2V4cGFuZE92ZXJmbG93VGV4dF09XCInTW9yZScgfCBiYmJUcmFuc2xhdGVcIiAoaWNvblRhYlNlbGVjdGVkKT1cIm9uU2VsZWN0ZWRUYWJDaGFuZ2UoJGV2ZW50KVwiPlxyXG4gICAgQGZvciAodGFiIG9mIHRhYkxpc3Q7IHRyYWNrIHRhYi5sYWJlbDsgbGV0IGluZGV4ID0gJGluZGV4KSB7XHJcbiAgICA8ZmRwLWljb24tdGFiLWJhci10YWIgW2xhYmVsXT1cInRhYi5sYWJlbCB8IGJiYlRyYW5zbGF0ZVwiIFt0aXRsZV09XCJ0YWIubGFiZWwgfCBiYmJUcmFuc2xhdGVcIiBbaWRdPVwidGFiLnRpdGxlXCI+XHJcbiAgICA8L2ZkcC1pY29uLXRhYi1iYXItdGFiPlxyXG4gICAgfVxyXG48L2ZkcC1pY29uLXRhYi1iYXI+XHJcbkBpZihyZXBvcnRTZXR0aW5nKCkgIT09bnVsbCl7XHJcbjxibnJjLXJlcG9ydC1jb250YWluZXIgW3NldHRpbmdzXT1cInJlcG9ydFNldHRpbmcoKVwiPiA8L2JucmMtcmVwb3J0LWNvbnRhaW5lcj5cclxufVxyXG5cclxuPCEtLSBcclxuPG5nLXRlbXBsYXRlICNub3RpZmljYXRpb25Cb2R5IGxldC1ub3RpZmljYXRpb25zIGxldC1leGFwYW5kZWQ9XCJleHBhbmRlZFwiPlxyXG4gICAgPGRpdiBzdHlsZT1cIm1heC1oZWlnaHQ6IDM0NnB4OyBvdmVyZmxvdy15OiBhdXRvOyBvdmVyZmxvdy14OiBoaWRkZW5cIj5cclxuICAgICAgICBAZm9yIChtbyBvZiBub3RpZmljYXRpb25zOyB0cmFjayBfdHJhY2tNb0J5SWQoJGluZGV4LCBtbyk7IGxldCBmaXJzdCA9ICRmaXJzdDsgbGV0IGxhc3QgPSAkbGFzdCkge1xyXG4gICAgICAgIDxic3Utbm90aWZpY2F0aW9uLWl0ZW1cclxuICAgICAgICAgICAgW25vdGlmaWNhdGlvbkl0ZW1dPVwibW9cIlxyXG4gICAgICAgICAgICAodmlld2VkKT1cInZpZXdlZC5lbWl0KCRldmVudClcIlxyXG4gICAgICAgICAgICAocmVtb3ZlKT1cInJlbW92ZS5lbWl0KCRldmVudClcIlxyXG4gICAgICAgICAgICAoc2hvd0V2ZW50KT1cInNob3dFdmVudC5lbWl0KCRldmVudClcIlxyXG4gICAgICAgICAgICAoYWN0aW9uQ2xpY2spPVwiYWN0aW9uQ2xpY2suZW1pdCgkZXZlbnQpXCJcclxuICAgICAgICAgICAgaW50ZXJzZWN0aW9uT2JzZXJ2ZXJcclxuICAgICAgICAgICAgW2ludGVyc2VjdGlvblRocmVzaG9sZF09XCIwLjVcIlxyXG4gICAgICAgICAgICBbZGV2aWNlU2l6ZV09XCJkZXZpY2VTaXplXCJcclxuICAgICAgICAgICAgKHZpc2liaWxpdHlDaGFuZ2UpPVwib25WaXNpYmlsaXR5Q2hhbmdlKCRldmVudCwgbW8sIGxhc3QpXCJcclxuICAgICAgICA+PC9ic3Utbm90aWZpY2F0aW9uLWl0ZW0+XHJcbiAgICAgICAgfSBAaWYgKGxvYWRpbmcpIHtcclxuICAgICAgICA8bmctY29udGFpbmVyICpuZ1RlbXBsYXRlT3V0bGV0PVwibG9hZGluZ1RwbFwiPjwvbmctY29udGFpbmVyPlxyXG4gICAgICAgIH1cclxuICAgIDwvZGl2PlxyXG48L25nLXRlbXBsYXRlPiAtLT5cclxuPCEtLSBAZm9yIChncm91cEl0ZW0gb2YgdGFiLmdyb3VwQnlJdGVtczsgdHJhY2sgX3RyYWNrQnlLZXkoaW5kZXgyLCBncm91cEl0ZW0pOyBsZXQgaW5kZXgyID0gJGluZGV4KSB7XHJcbiAgICA8dWwgZmQtbm90aWZpY2F0aW9uLWxpc3Q+XHJcbiAgICAgICAgPGZkLW5vdGlmaWNhdGlvbi1ncm91cCBbZXhwYW5kZWRdPVwiZXhwYW5kZWRbZ3JvdXBJdGVtLklkXVwiIChjbGljayk9XCJvbkV4cGFuZGVkKGluZGV4MiwgZ3JvdXBJdGVtKVwiPlxyXG4gICAgICAgICAgICA8ZmQtbm90aWZpY2F0aW9uLWdyb3VwLWhlYWRlcj5cclxuICAgICAgICAgICAgICAgIDxzcGFuIGZkLW5vdGlmaWNhdGlvbi1ncm91cC1oZWFkZXItdGl0bGU+XHJcbiAgICAgICAgICAgICAgICAgICAgQHN3aXRjaChpbmRleCl7IEBjYXNlICgwKXtcclxuICAgICAgICAgICAgICAgICAgICB7eyBncm91cEl0ZW0uQ3JlYXRpb25EYXRlJENhcHRpb24gfX1cclxuICAgICAgICAgICAgICAgICAgICB9IEBjYXNlKDEpe1xyXG4gICAgICAgICAgICAgICAgICAgIHt7IGdyb3VwSXRlbS5TdWJqZWN0IH19XHJcblxyXG4gICAgICAgICAgICAgICAgICAgIH0gQGNhc2UoMil7XHJcbiAgICAgICAgICAgICAgICAgICAge3sgZ3JvdXBJdGVtLlByaW9yaXR5JENhcHRpb24gfX1cclxuXHJcbiAgICAgICAgICAgICAgICAgICAgfX08L3NwYW5cclxuICAgICAgICAgICAgICAgID5cclxuICAgICAgICAgICAgPC9mZC1ub3RpZmljYXRpb24tZ3JvdXAtaGVhZGVyPlxyXG4gICAgICAgICAgICA8ZmQtbm90aWZpY2F0aW9uLWdyb3VwLWxpc3Q+XHJcbiAgICAgICAgICAgICAgICA8ZmQtbm90aWZpY2F0aW9uPlxyXG4gICAgICAgICAgICAgICAgICAgIDxmZC1ub3RpZmljYXRpb24tYm9keT5cclxuICAgICAgICAgICAgICAgICAgICAgICAgPGZkLWF2YXRhciBzaXplPVwieHNcIiBnbHlwaD1cImJhdGNoLXBheW1lbnRzXCI+PC9mZC1hdmF0YXI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIDxmZC1ub3RpZmljYXRpb24tY29udGVudD5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxmZC1ub3RpZmljYXRpb24taGVhZGVyPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxmZC1pY29uIGdseXBoPVwiZXJyb3JcIiBjb2xvcj1cIm5lZ2F0aXZlXCI+PC9mZC1pY29uPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxoNCBmZC1ub3RpZmljYXRpb24tdGl0bGUgW3VucmVhZF09XCJ0cnVlXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIE5vdGlmaWNhdGlvbiBUaXRsZSAodW5yZWFkKSBsb3JlbSBpcHN1bSBkb2xvciBzaXQgYW1ldCwgY29uc2VjdGV0dXJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgYWRpcGlzY2luZyBlbGl0LCBzZWQgZG8gZWl1c21vZCB0ZW1wb3IgaW5jaWRpZHVudCB1dCBsYWJvcmUgZXQgZG9sb3JlIG1hZ25hXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGFsaXF1YS4gTG9yZW0gaXBzdW0gZG9sb3Igc2l0IGFtZXQsIGNvbnNlY3RldHVyIGFkaXBpc2NpbmcgZWxpdCwgc2VkIGRvXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGVpdXNtb2QgdGVtcG9yIGluY2lkaWR1bnQgdXQgbGFib3JlIGV0IGRvbG9yZSBtYWduYSBhbGlxdWEuXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9oND5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZmQtbm90aWZpY2F0aW9uLWhlYWRlcj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxwIGZkLW5vdGlmaWNhdGlvbi1wYXJhZ3JhcGg+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgRGVzY3JpcHRpb24gb2Ygbm90aWZpY2F0aW9uIHRvcGljIGxvcmVtIGlwc3VtIGRvbG9yIHNpdCBhbWV0LCBjb25zZWN0ZXR1clxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGFkaXBpc2NpbmcgZWxpdCwgc2VkIGRvIGVpdXNtb2QgdGVtcG9yIGluY2lkaWR1bnQgdXQgbGFib3JlIGV0IGRvbG9yZSBtYWduYVxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGFsaXF1YS5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvcD5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxmZC1ub3RpZmljYXRpb24tZm9vdGVyPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzcGFuIGZkLW5vdGlmaWNhdGlvbi1mb290ZXItY29udGVudD5Qcm9kdWN0IE5hbWU8L3NwYW4+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHNwYW4gZmQtbm90aWZpY2F0aW9uLXNlcGFyYXRvcj48L3NwYW4+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHNwYW4gZmQtbm90aWZpY2F0aW9uLWZvb3Rlci1jb250ZW50PkZlYXR1cmUgTmFtZTwvc3Bhbj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8c3BhbiBmZC1ub3RpZmljYXRpb24tc2VwYXJhdG9yPjwvc3Bhbj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8c3BhbiBmZC1ub3RpZmljYXRpb24tZm9vdGVyLWNvbnRlbnQ+MTE6MTEgQU08L3NwYW4+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2ZkLW5vdGlmaWNhdGlvbi1mb290ZXI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8c3BhblxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGZkLW9iamVjdC1zdGF0dXNcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbaW5kaWNhdGlvbkNvbG9yXT1cIjJcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFtzZWNvbmRhcnlJbmRpY2F0aW9uXT1cInRydWVcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFtpbnZlcnRlZF09XCJ0cnVlXCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBsYWJlbD1cIk5lZ2F0aXZlXCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB0aXRsZT1cIk5lZ2F0aXZlXCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBnbHlwaD1cImhpZ2gtcHJpb3JpdHlcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGFyaWEtbGFiZWw9XCJPYmplY3Qgc3RhdHVzIE5lZ2F0aXZlIEludmVydGVkXCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgID48L3NwYW4+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIDwvZmQtbm90aWZpY2F0aW9uLWNvbnRlbnQ+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIDxmZC1ub3RpZmljYXRpb24tYWN0aW9ucz5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxidXR0b25cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBmZC1idXR0b25cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBmZFR5cGU9XCJ0cmFuc3BhcmVudFwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgYXJpYUxhYmVsPVwiQ2xvc2VcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGdseXBoPVwiZGVjbGluZVwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdGl0bGU9XCJjbG9zZVwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA+PC9idXR0b24+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIDwvZmQtbm90aWZpY2F0aW9uLWFjdGlvbnM+XHJcbiAgICAgICAgICAgICAgICAgICAgPC9mZC1ub3RpZmljYXRpb24tYm9keT5cclxuICAgICAgICAgICAgICAgIDwvZmQtbm90aWZpY2F0aW9uPlxyXG4gICAgICAgICAgICA8L2ZkLW5vdGlmaWNhdGlvbi1ncm91cC1saXN0PlxyXG4gICAgICAgIDwvZmQtbm90aWZpY2F0aW9uLWdyb3VwPlxyXG4gICAgPC91bD5cclxuXHJcbiAgICB9IC0tPlxyXG4iXX0=
@@ -0,0 +1,38 @@
1
+ import { ChangeDetectionStrategy, Component, Input } from '@angular/core';
2
+ import { BaseComponent } from 'barsa-novin-ray-core';
3
+ import * as i0 from "@angular/core";
4
+ import * as i1 from "@fundamental-ngx/core/notification";
5
+ import * as i2 from "barsa-novin-ray-core";
6
+ export class NotificationGroupHeaderComponent extends BaseComponent {
7
+ constructor(_cdr) {
8
+ super();
9
+ this._cdr = _cdr;
10
+ this.unreadCount = 0;
11
+ }
12
+ ngOnInit() {
13
+ super.ngOnInit();
14
+ this.setUnreadCount(this.notifications);
15
+ }
16
+ ngOnChanges(changes) {
17
+ super.ngOnChanges(changes);
18
+ const { notifications } = changes;
19
+ if (notifications && !notifications.firstChange) {
20
+ this.setUnreadCount(notifications.currentValue);
21
+ this._cdr.detectChanges();
22
+ }
23
+ }
24
+ setUnreadCount(notifications) {
25
+ this.unreadCount = notifications.filter((c) => c.Unread).length;
26
+ }
27
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: NotificationGroupHeaderComponent, deps: [{ token: i0.ChangeDetectorRef }], target: i0.ɵɵFactoryTarget.Component }); }
28
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "18.2.13", type: NotificationGroupHeaderComponent, selector: "bt-notification-group-header", inputs: { notifications: "notifications", title: "title" }, usesInheritance: true, usesOnChanges: true, ngImport: i0, template: "<h2 fd-notification-title [unread]=\"false\">\r\n {{ title | bbbTranslate }} ({{ notifications.length }}) @if (unreadCount !== 0) {\r\n <strong>{{ 'New' | bbbTranslate }} ({{ unreadCount }})</strong>\r\n }\r\n</h2>\r\n", styles: [""], dependencies: [{ kind: "directive", type: i1.NotificationTitleDirective, selector: "[fdNotificationTitle], [fd-notification-title]", inputs: ["unread", "id"] }, { kind: "pipe", type: i2.BbbTranslatePipe, name: "bbbTranslate" }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
29
+ }
30
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: NotificationGroupHeaderComponent, decorators: [{
31
+ type: Component,
32
+ args: [{ selector: 'bt-notification-group-header', changeDetection: ChangeDetectionStrategy.OnPush, standalone: false, template: "<h2 fd-notification-title [unread]=\"false\">\r\n {{ title | bbbTranslate }} ({{ notifications.length }}) @if (unreadCount !== 0) {\r\n <strong>{{ 'New' | bbbTranslate }} ({{ unreadCount }})</strong>\r\n }\r\n</h2>\r\n" }]
33
+ }], ctorParameters: () => [{ type: i0.ChangeDetectorRef }], propDecorators: { notifications: [{
34
+ type: Input
35
+ }], title: [{
36
+ type: Input
37
+ }] } });
38
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibm90aWZpY2F0aW9uLWdyb3VwLWhlYWRlci5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9iYXJzYS10aWxlcy9zcmMvbGliL25vdGlmaWNhdGlvbi1ncm91cC1oZWFkZXIvbm90aWZpY2F0aW9uLWdyb3VwLWhlYWRlci5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9iYXJzYS10aWxlcy9zcmMvbGliL25vdGlmaWNhdGlvbi1ncm91cC1oZWFkZXIvbm90aWZpY2F0aW9uLWdyb3VwLWhlYWRlci5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQ0gsdUJBQXVCLEVBRXZCLFNBQVMsRUFDVCxLQUFLLEVBSVIsTUFBTSxlQUFlLENBQUM7QUFDdkIsT0FBTyxFQUFFLGFBQWEsRUFBb0IsTUFBTSxzQkFBc0IsQ0FBQzs7OztBQVN2RSxNQUFNLE9BQU8sZ0NBQWlDLFNBQVEsYUFBYTtJQUkvRCxZQUFvQixJQUF1QjtRQUN2QyxLQUFLLEVBQUUsQ0FBQztRQURRLFNBQUksR0FBSixJQUFJLENBQW1CO1FBRDNDLGdCQUFXLEdBQUcsQ0FBQyxDQUFDO0lBR2hCLENBQUM7SUFFRCxRQUFRO1FBQ0osS0FBSyxDQUFDLFFBQVEsRUFBRSxDQUFDO1FBQ2pCLElBQUksQ0FBQyxjQUFjLENBQUMsSUFBSSxDQUFDLGFBQWEsQ0FBQyxDQUFDO0lBQzVDLENBQUM7SUFDRCxXQUFXLENBQUMsT0FBc0I7UUFDOUIsS0FBSyxDQUFDLFdBQVcsQ0FBQyxPQUFPLENBQUMsQ0FBQztRQUMzQixNQUFNLEVBQUUsYUFBYSxFQUFFLEdBQUcsT0FBTyxDQUFDO1FBQ2xDLElBQUksYUFBYSxJQUFJLENBQUMsYUFBYSxDQUFDLFdBQVcsRUFBRSxDQUFDO1lBQzlDLElBQUksQ0FBQyxjQUFjLENBQUMsYUFBYSxDQUFDLFlBQVksQ0FBQyxDQUFDO1lBQ2hELElBQUksQ0FBQyxJQUFJLENBQUMsYUFBYSxFQUFFLENBQUM7UUFDOUIsQ0FBQztJQUNMLENBQUM7SUFDTyxjQUFjLENBQUMsYUFBaUM7UUFDcEQsSUFBSSxDQUFDLFdBQVcsR0FBRyxhQUFhLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQyxFQUFFLEVBQUUsQ0FBQyxDQUFDLENBQUMsTUFBTSxDQUFDLENBQUMsTUFBTSxDQUFDO0lBQ3BFLENBQUM7K0dBdEJRLGdDQUFnQzttR0FBaEMsZ0NBQWdDLDRLQ2xCN0MscU9BS0E7OzRGRGFhLGdDQUFnQztrQkFQNUMsU0FBUzsrQkFDSSw4QkFBOEIsbUJBR3ZCLHVCQUF1QixDQUFDLE1BQU0sY0FDbkMsS0FBSztzRkFHUixhQUFhO3NCQUFyQixLQUFLO2dCQUNHLEtBQUs7c0JBQWIsS0FBSyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7XHJcbiAgICBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneSxcclxuICAgIENoYW5nZURldGVjdG9yUmVmLFxyXG4gICAgQ29tcG9uZW50LFxyXG4gICAgSW5wdXQsXHJcbiAgICBPbkNoYW5nZXMsXHJcbiAgICBPbkluaXQsXHJcbiAgICBTaW1wbGVDaGFuZ2VzXHJcbn0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcbmltcG9ydCB7IEJhc2VDb21wb25lbnQsIE5vdGlmaWNhdGlvbkl0ZW0gfSBmcm9tICdiYXJzYS1ub3Zpbi1yYXktY29yZSc7XHJcblxyXG5AQ29tcG9uZW50KHtcclxuICAgIHNlbGVjdG9yOiAnYnQtbm90aWZpY2F0aW9uLWdyb3VwLWhlYWRlcicsXHJcbiAgICB0ZW1wbGF0ZVVybDogJy4vbm90aWZpY2F0aW9uLWdyb3VwLWhlYWRlci5jb21wb25lbnQuaHRtbCcsXHJcbiAgICBzdHlsZVVybHM6IFsnLi9ub3RpZmljYXRpb24tZ3JvdXAtaGVhZGVyLmNvbXBvbmVudC5zY3NzJ10sXHJcbiAgICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaCxcclxuICAgIHN0YW5kYWxvbmU6IGZhbHNlXHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBOb3RpZmljYXRpb25Hcm91cEhlYWRlckNvbXBvbmVudCBleHRlbmRzIEJhc2VDb21wb25lbnQgaW1wbGVtZW50cyBPbkluaXQsIE9uQ2hhbmdlcyB7XHJcbiAgICBASW5wdXQoKSBub3RpZmljYXRpb25zOiBOb3RpZmljYXRpb25JdGVtW107XHJcbiAgICBASW5wdXQoKSB0aXRsZTogc3RyaW5nO1xyXG4gICAgdW5yZWFkQ291bnQgPSAwO1xyXG4gICAgY29uc3RydWN0b3IocHJpdmF0ZSBfY2RyOiBDaGFuZ2VEZXRlY3RvclJlZikge1xyXG4gICAgICAgIHN1cGVyKCk7XHJcbiAgICB9XHJcblxyXG4gICAgbmdPbkluaXQoKTogdm9pZCB7XHJcbiAgICAgICAgc3VwZXIubmdPbkluaXQoKTtcclxuICAgICAgICB0aGlzLnNldFVucmVhZENvdW50KHRoaXMubm90aWZpY2F0aW9ucyk7XHJcbiAgICB9XHJcbiAgICBuZ09uQ2hhbmdlcyhjaGFuZ2VzOiBTaW1wbGVDaGFuZ2VzKTogdm9pZCB7XHJcbiAgICAgICAgc3VwZXIubmdPbkNoYW5nZXMoY2hhbmdlcyk7XHJcbiAgICAgICAgY29uc3QgeyBub3RpZmljYXRpb25zIH0gPSBjaGFuZ2VzO1xyXG4gICAgICAgIGlmIChub3RpZmljYXRpb25zICYmICFub3RpZmljYXRpb25zLmZpcnN0Q2hhbmdlKSB7XHJcbiAgICAgICAgICAgIHRoaXMuc2V0VW5yZWFkQ291bnQobm90aWZpY2F0aW9ucy5jdXJyZW50VmFsdWUpO1xyXG4gICAgICAgICAgICB0aGlzLl9jZHIuZGV0ZWN0Q2hhbmdlcygpO1xyXG4gICAgICAgIH1cclxuICAgIH1cclxuICAgIHByaXZhdGUgc2V0VW5yZWFkQ291bnQobm90aWZpY2F0aW9uczogTm90aWZpY2F0aW9uSXRlbVtdKTogdm9pZCB7XHJcbiAgICAgICAgdGhpcy51bnJlYWRDb3VudCA9IG5vdGlmaWNhdGlvbnMuZmlsdGVyKChjKSA9PiBjLlVucmVhZCkubGVuZ3RoO1xyXG4gICAgfVxyXG59XHJcbiIsIjxoMiBmZC1ub3RpZmljYXRpb24tdGl0bGUgW3VucmVhZF09XCJmYWxzZVwiPlxyXG4gICAge3sgdGl0bGUgfCBiYmJUcmFuc2xhdGUgfX0gKHt7IG5vdGlmaWNhdGlvbnMubGVuZ3RoIH19KSBAaWYgKHVucmVhZENvdW50ICE9PSAwKSB7XHJcbiAgICA8c3Ryb25nPnt7ICdOZXcnIHwgYmJiVHJhbnNsYXRlIH19ICh7eyB1bnJlYWRDb3VudCB9fSk8L3N0cm9uZz5cclxuICAgIH1cclxuPC9oMj5cclxuIl19
@@ -0,0 +1,64 @@
1
+ import { ChangeDetectionStrategy, Component } from '@angular/core';
2
+ import { BaseBtTileComponent } from '../models';
3
+ import * as i0 from "@angular/core";
4
+ import * as i1 from "@fundamental-ngx/core/tile";
5
+ import * as i2 from "../tile/tile.component";
6
+ import * as i3 from "barsa-sap-ui";
7
+ import * as i4 from "../pipes/tile-prop.pipe";
8
+ export class NumericTileComponent extends BaseBtTileComponent {
9
+ constructor() {
10
+ super(...arguments);
11
+ this.kpiStateIsColor = false;
12
+ this.scalseStateIsColor = false;
13
+ }
14
+ ngOnInit() {
15
+ super.ngOnInit();
16
+ switch (this.kpiState) {
17
+ case 'positive':
18
+ case 'negative':
19
+ case 'informative':
20
+ case 'critical':
21
+ case 'neutral':
22
+ break;
23
+ default:
24
+ this.kpiStateIsColor = this.kpiState !== '';
25
+ break;
26
+ }
27
+ switch (this.scaleState) {
28
+ case 'positive':
29
+ case 'negative':
30
+ case 'informative':
31
+ case 'critical':
32
+ case 'neutral':
33
+ break;
34
+ default:
35
+ this.scalseStateIsColor = this.scaleState !== '';
36
+ break;
37
+ }
38
+ }
39
+ get launchIcon() {
40
+ return this.settings.LaunchIcon;
41
+ }
42
+ get kpiState() {
43
+ return this.settings.ContentKpiState;
44
+ }
45
+ get kpi() {
46
+ return this.settings.ContentKpi;
47
+ }
48
+ get scaleState() {
49
+ return this.settings.ScaleState;
50
+ }
51
+ get scaleText() {
52
+ return this.settings.ScaleText;
53
+ }
54
+ get scaleArrowIcon() {
55
+ return this.settings.ScaleArrowIcon;
56
+ }
57
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: NumericTileComponent, deps: null, target: i0.ɵɵFactoryTarget.Component }); }
58
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.13", type: NumericTileComponent, selector: "bt-numeric-tile", usesInheritance: true, ngImport: i0, template: "<bt-tile\r\n [data]=\"data\"\r\n [type]=\"'launch'\"\r\n [edit]=\"edit\"\r\n [backColor]=\"backColor\"\r\n [setToStorage]=\"setToStorage\"\r\n [listMode]=\"listMode\"\r\n [deviceSize]=\"deviceSize\"\r\n [navigateBackOnClick]=\"navigateBackOnClick\"\r\n [title]=\"data | tileProp: 'Title':parameters\"\r\n [subtitle]=\"data | tileProp: 'Subtitle':parameters\"\r\n [dynamicCommand]=\"data | tileProp: 'DynamicCommand':parameters\"\r\n [isDouble]=\"data | tileProp: 'IsDouble':parameters\"\r\n [footer]=\"data | tileProp: 'Footer':parameters\"\r\n (hideClick)=\"hideClick.emit()\"\r\n (renameClick)=\"renameClick.emit()\"\r\n (click)=\"onTileClick()\"\r\n>\r\n <div fd-tile-content>\r\n <div fd-numeric-content>\r\n <div fd-numeric-content-launch-icon-container>\r\n <i fd-numeric-content-launch-icon [glyph]=\"launchIcon\" [class]=\"launchIcon | sapFontClass\"></i>\r\n </div>\r\n <div fd-numeric-content-kpi-container>\r\n <div fd-numeric-content-kpi [state]=\"kpiState\" [style.color]=\"kpiStateIsColor ? kpiState : null\">\r\n {{ kpi }}\r\n </div>\r\n </div>\r\n <div fd-numeric-content-scale-container style=\"padding-top: 0.2rem\">\r\n <div\r\n fd-numeric-content-scale\r\n [state]=\"scaleState\"\r\n [style.color]=\"scalseStateIsColor ? scaleState : null\"\r\n >\r\n <span\r\n fd-numeric-content-scale-arrow\r\n [glyph]=\"scaleArrowIcon\"\r\n [class]=\"scaleArrowIcon | sapFontClass\"\r\n [style.color]=\"scalseStateIsColor ? scaleState : null\"\r\n ></span>\r\n <span fd-numeric-content-scale-text [style.color]=\"scalseStateIsColor ? scaleState : null\">{{\r\n scaleText\r\n }}</span>\r\n </div>\r\n </div>\r\n </div>\r\n </div>\r\n</bt-tile>\r\n", styles: [""], dependencies: [{ kind: "directive", type: i1.TileContentDirective, selector: "[fdTileContent], [fd-tile-content]", inputs: ["twoColumn"] }, { kind: "directive", type: i1.NumericContentDirective, selector: "[fd-numeric-content]", inputs: ["class", "size"] }, { kind: "directive", type: i1.NumericContentKpiContainerDirective, selector: "[fd-numeric-content-kpi-container]" }, { kind: "directive", type: i1.NumericContentKpiDirective, selector: "[fd-numeric-content-kpi]", inputs: ["state", "class", "glyph"] }, { kind: "directive", type: i1.NumericContentLaunchIconContainerDirective, selector: "[fd-numeric-content-launch-icon-container]" }, { kind: "directive", type: i1.NumericContentLaunchIconDirective, selector: "[fd-numeric-content-launch-icon]", inputs: ["class", "glyph", "glyphFont"] }, { kind: "directive", type: i1.NumericContentScaleArrowDirective, selector: "[fd-numeric-content-scale-arrow]", inputs: ["class", "glyph", "glyphFont"] }, { kind: "directive", type: i1.NumericContentScaleContainerDirective, selector: "[fd-numeric-content-scale-container]" }, { kind: "directive", type: i1.NumericContentScaleDirective, selector: "[fd-numeric-content-scale]", inputs: ["state", "class"] }, { kind: "directive", type: i1.NumericContentScaleTextDirective, selector: "[fd-numeric-content-scale-text]" }, { kind: "component", type: i2.TileComponent, selector: "bt-tile", inputs: ["type", "footerTemplate", "footer", "disableClick", "title", "icon", "subtitle", "isDouble", "edit", "backColor", "dynamicCommand", "hideHeader", "setToStorage", "listMode", "navigateBackOnClick"] }, { kind: "pipe", type: i3.SapFontClassPipe, name: "sapFontClass" }, { kind: "pipe", type: i4.TilePropPipe, name: "tileProp" }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
59
+ }
60
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: NumericTileComponent, decorators: [{
61
+ type: Component,
62
+ args: [{ selector: 'bt-numeric-tile', changeDetection: ChangeDetectionStrategy.OnPush, standalone: false, template: "<bt-tile\r\n [data]=\"data\"\r\n [type]=\"'launch'\"\r\n [edit]=\"edit\"\r\n [backColor]=\"backColor\"\r\n [setToStorage]=\"setToStorage\"\r\n [listMode]=\"listMode\"\r\n [deviceSize]=\"deviceSize\"\r\n [navigateBackOnClick]=\"navigateBackOnClick\"\r\n [title]=\"data | tileProp: 'Title':parameters\"\r\n [subtitle]=\"data | tileProp: 'Subtitle':parameters\"\r\n [dynamicCommand]=\"data | tileProp: 'DynamicCommand':parameters\"\r\n [isDouble]=\"data | tileProp: 'IsDouble':parameters\"\r\n [footer]=\"data | tileProp: 'Footer':parameters\"\r\n (hideClick)=\"hideClick.emit()\"\r\n (renameClick)=\"renameClick.emit()\"\r\n (click)=\"onTileClick()\"\r\n>\r\n <div fd-tile-content>\r\n <div fd-numeric-content>\r\n <div fd-numeric-content-launch-icon-container>\r\n <i fd-numeric-content-launch-icon [glyph]=\"launchIcon\" [class]=\"launchIcon | sapFontClass\"></i>\r\n </div>\r\n <div fd-numeric-content-kpi-container>\r\n <div fd-numeric-content-kpi [state]=\"kpiState\" [style.color]=\"kpiStateIsColor ? kpiState : null\">\r\n {{ kpi }}\r\n </div>\r\n </div>\r\n <div fd-numeric-content-scale-container style=\"padding-top: 0.2rem\">\r\n <div\r\n fd-numeric-content-scale\r\n [state]=\"scaleState\"\r\n [style.color]=\"scalseStateIsColor ? scaleState : null\"\r\n >\r\n <span\r\n fd-numeric-content-scale-arrow\r\n [glyph]=\"scaleArrowIcon\"\r\n [class]=\"scaleArrowIcon | sapFontClass\"\r\n [style.color]=\"scalseStateIsColor ? scaleState : null\"\r\n ></span>\r\n <span fd-numeric-content-scale-text [style.color]=\"scalseStateIsColor ? scaleState : null\">{{\r\n scaleText\r\n }}</span>\r\n </div>\r\n </div>\r\n </div>\r\n </div>\r\n</bt-tile>\r\n" }]
63
+ }] });
64
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibnVtZXJpYy10aWxlLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2JhcnNhLXRpbGVzL3NyYy9saWIvbnVtZXJpYy10aWxlL251bWVyaWMtdGlsZS5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9iYXJzYS10aWxlcy9zcmMvbGliL251bWVyaWMtdGlsZS9udW1lcmljLXRpbGUuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLHVCQUF1QixFQUFFLFNBQVMsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUNuRSxPQUFPLEVBQUUsbUJBQW1CLEVBQXNCLE1BQU0sV0FBVyxDQUFDOzs7Ozs7QUFTcEUsTUFBTSxPQUFPLG9CQUFxQixTQUFRLG1CQUF1QztJQVBqRjs7UUFRSSxvQkFBZSxHQUFHLEtBQUssQ0FBQztRQUN4Qix1QkFBa0IsR0FBRyxLQUFLLENBQUM7S0E0QzlCO0lBM0NHLFFBQVE7UUFDSixLQUFLLENBQUMsUUFBUSxFQUFFLENBQUM7UUFDakIsUUFBUSxJQUFJLENBQUMsUUFBUSxFQUFFLENBQUM7WUFDcEIsS0FBSyxVQUFVLENBQUM7WUFDaEIsS0FBSyxVQUFVLENBQUM7WUFDaEIsS0FBSyxhQUFhLENBQUM7WUFDbkIsS0FBSyxVQUFVLENBQUM7WUFDaEIsS0FBSyxTQUFTO2dCQUNWLE1BQU07WUFDVjtnQkFDSSxJQUFJLENBQUMsZUFBZSxHQUFHLElBQUksQ0FBQyxRQUFRLEtBQUssRUFBRSxDQUFDO2dCQUM1QyxNQUFNO1FBQ2QsQ0FBQztRQUNELFFBQVEsSUFBSSxDQUFDLFVBQVUsRUFBRSxDQUFDO1lBQ3RCLEtBQUssVUFBVSxDQUFDO1lBQ2hCLEtBQUssVUFBVSxDQUFDO1lBQ2hCLEtBQUssYUFBYSxDQUFDO1lBQ25CLEtBQUssVUFBVSxDQUFDO1lBQ2hCLEtBQUssU0FBUztnQkFDVixNQUFNO1lBQ1Y7Z0JBQ0ksSUFBSSxDQUFDLGtCQUFrQixHQUFHLElBQUksQ0FBQyxVQUFVLEtBQUssRUFBRSxDQUFDO2dCQUNqRCxNQUFNO1FBQ2QsQ0FBQztJQUNMLENBQUM7SUFDRCxJQUFJLFVBQVU7UUFDVixPQUFPLElBQUksQ0FBQyxRQUFRLENBQUMsVUFBVSxDQUFDO0lBQ3BDLENBQUM7SUFDRCxJQUFJLFFBQVE7UUFDUixPQUFPLElBQUksQ0FBQyxRQUFRLENBQUMsZUFBZSxDQUFDO0lBQ3pDLENBQUM7SUFDRCxJQUFJLEdBQUc7UUFDSCxPQUFPLElBQUksQ0FBQyxRQUFRLENBQUMsVUFBVSxDQUFDO0lBQ3BDLENBQUM7SUFDRCxJQUFJLFVBQVU7UUFDVixPQUFPLElBQUksQ0FBQyxRQUFRLENBQUMsVUFBVSxDQUFDO0lBQ3BDLENBQUM7SUFDRCxJQUFJLFNBQVM7UUFDVCxPQUFPLElBQUksQ0FBQyxRQUFRLENBQUMsU0FBUyxDQUFDO0lBQ25DLENBQUM7SUFDRCxJQUFJLGNBQWM7UUFDZCxPQUFPLElBQUksQ0FBQyxRQUFRLENBQUMsY0FBYyxDQUFDO0lBQ3hDLENBQUM7K0dBN0NRLG9CQUFvQjttR0FBcEIsb0JBQW9CLDhFQ1ZqQyxpbUVBZ0RBOzs0RkR0Q2Esb0JBQW9CO2tCQVBoQyxTQUFTOytCQUNJLGlCQUFpQixtQkFHVix1QkFBdUIsQ0FBQyxNQUFNLGNBQ25DLEtBQUsiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneSwgQ29tcG9uZW50IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcbmltcG9ydCB7IEJhc2VCdFRpbGVDb21wb25lbnQsIE51bWVyaWNUaWxlU2V0dGluZyB9IGZyb20gJy4uL21vZGVscyc7XHJcbmltcG9ydCB7IE51bWVyaWNDb250ZW50U3RhdGUgfSBmcm9tICdAZnVuZGFtZW50YWwtbmd4L2NvcmUnO1xyXG5AQ29tcG9uZW50KHtcclxuICAgIHNlbGVjdG9yOiAnYnQtbnVtZXJpYy10aWxlJyxcclxuICAgIHRlbXBsYXRlVXJsOiAnLi9udW1lcmljLXRpbGUuY29tcG9uZW50Lmh0bWwnLFxyXG4gICAgc3R5bGVVcmxzOiBbJy4vbnVtZXJpYy10aWxlLmNvbXBvbmVudC5zY3NzJ10sXHJcbiAgICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaCxcclxuICAgIHN0YW5kYWxvbmU6IGZhbHNlXHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBOdW1lcmljVGlsZUNvbXBvbmVudCBleHRlbmRzIEJhc2VCdFRpbGVDb21wb25lbnQ8TnVtZXJpY1RpbGVTZXR0aW5nPiB7XHJcbiAgICBrcGlTdGF0ZUlzQ29sb3IgPSBmYWxzZTtcclxuICAgIHNjYWxzZVN0YXRlSXNDb2xvciA9IGZhbHNlO1xyXG4gICAgbmdPbkluaXQoKTogdm9pZCB7XHJcbiAgICAgICAgc3VwZXIubmdPbkluaXQoKTtcclxuICAgICAgICBzd2l0Y2ggKHRoaXMua3BpU3RhdGUpIHtcclxuICAgICAgICAgICAgY2FzZSAncG9zaXRpdmUnOlxyXG4gICAgICAgICAgICBjYXNlICduZWdhdGl2ZSc6XHJcbiAgICAgICAgICAgIGNhc2UgJ2luZm9ybWF0aXZlJzpcclxuICAgICAgICAgICAgY2FzZSAnY3JpdGljYWwnOlxyXG4gICAgICAgICAgICBjYXNlICduZXV0cmFsJzpcclxuICAgICAgICAgICAgICAgIGJyZWFrO1xyXG4gICAgICAgICAgICBkZWZhdWx0OlxyXG4gICAgICAgICAgICAgICAgdGhpcy5rcGlTdGF0ZUlzQ29sb3IgPSB0aGlzLmtwaVN0YXRlICE9PSAnJztcclxuICAgICAgICAgICAgICAgIGJyZWFrO1xyXG4gICAgICAgIH1cclxuICAgICAgICBzd2l0Y2ggKHRoaXMuc2NhbGVTdGF0ZSkge1xyXG4gICAgICAgICAgICBjYXNlICdwb3NpdGl2ZSc6XHJcbiAgICAgICAgICAgIGNhc2UgJ25lZ2F0aXZlJzpcclxuICAgICAgICAgICAgY2FzZSAnaW5mb3JtYXRpdmUnOlxyXG4gICAgICAgICAgICBjYXNlICdjcml0aWNhbCc6XHJcbiAgICAgICAgICAgIGNhc2UgJ25ldXRyYWwnOlxyXG4gICAgICAgICAgICAgICAgYnJlYWs7XHJcbiAgICAgICAgICAgIGRlZmF1bHQ6XHJcbiAgICAgICAgICAgICAgICB0aGlzLnNjYWxzZVN0YXRlSXNDb2xvciA9IHRoaXMuc2NhbGVTdGF0ZSAhPT0gJyc7XHJcbiAgICAgICAgICAgICAgICBicmVhaztcclxuICAgICAgICB9XHJcbiAgICB9XHJcbiAgICBnZXQgbGF1bmNoSWNvbigpOiBzdHJpbmcge1xyXG4gICAgICAgIHJldHVybiB0aGlzLnNldHRpbmdzLkxhdW5jaEljb247XHJcbiAgICB9XHJcbiAgICBnZXQga3BpU3RhdGUoKTogTnVtZXJpY0NvbnRlbnRTdGF0ZSB7XHJcbiAgICAgICAgcmV0dXJuIHRoaXMuc2V0dGluZ3MuQ29udGVudEtwaVN0YXRlO1xyXG4gICAgfVxyXG4gICAgZ2V0IGtwaSgpOiBzdHJpbmcge1xyXG4gICAgICAgIHJldHVybiB0aGlzLnNldHRpbmdzLkNvbnRlbnRLcGk7XHJcbiAgICB9XHJcbiAgICBnZXQgc2NhbGVTdGF0ZSgpOiBOdW1lcmljQ29udGVudFN0YXRlIHtcclxuICAgICAgICByZXR1cm4gdGhpcy5zZXR0aW5ncy5TY2FsZVN0YXRlO1xyXG4gICAgfVxyXG4gICAgZ2V0IHNjYWxlVGV4dCgpOiBzdHJpbmcge1xyXG4gICAgICAgIHJldHVybiB0aGlzLnNldHRpbmdzLlNjYWxlVGV4dDtcclxuICAgIH1cclxuICAgIGdldCBzY2FsZUFycm93SWNvbigpOiBzdHJpbmcge1xyXG4gICAgICAgIHJldHVybiB0aGlzLnNldHRpbmdzLlNjYWxlQXJyb3dJY29uO1xyXG4gICAgfVxyXG59XHJcbiIsIjxidC10aWxlXHJcbiAgICBbZGF0YV09XCJkYXRhXCJcclxuICAgIFt0eXBlXT1cIidsYXVuY2gnXCJcclxuICAgIFtlZGl0XT1cImVkaXRcIlxyXG4gICAgW2JhY2tDb2xvcl09XCJiYWNrQ29sb3JcIlxyXG4gICAgW3NldFRvU3RvcmFnZV09XCJzZXRUb1N0b3JhZ2VcIlxyXG4gICAgW2xpc3RNb2RlXT1cImxpc3RNb2RlXCJcclxuICAgIFtkZXZpY2VTaXplXT1cImRldmljZVNpemVcIlxyXG4gICAgW25hdmlnYXRlQmFja09uQ2xpY2tdPVwibmF2aWdhdGVCYWNrT25DbGlja1wiXHJcbiAgICBbdGl0bGVdPVwiZGF0YSB8IHRpbGVQcm9wOiAnVGl0bGUnOnBhcmFtZXRlcnNcIlxyXG4gICAgW3N1YnRpdGxlXT1cImRhdGEgfCB0aWxlUHJvcDogJ1N1YnRpdGxlJzpwYXJhbWV0ZXJzXCJcclxuICAgIFtkeW5hbWljQ29tbWFuZF09XCJkYXRhIHwgdGlsZVByb3A6ICdEeW5hbWljQ29tbWFuZCc6cGFyYW1ldGVyc1wiXHJcbiAgICBbaXNEb3VibGVdPVwiZGF0YSB8IHRpbGVQcm9wOiAnSXNEb3VibGUnOnBhcmFtZXRlcnNcIlxyXG4gICAgW2Zvb3Rlcl09XCJkYXRhIHwgdGlsZVByb3A6ICdGb290ZXInOnBhcmFtZXRlcnNcIlxyXG4gICAgKGhpZGVDbGljayk9XCJoaWRlQ2xpY2suZW1pdCgpXCJcclxuICAgIChyZW5hbWVDbGljayk9XCJyZW5hbWVDbGljay5lbWl0KClcIlxyXG4gICAgKGNsaWNrKT1cIm9uVGlsZUNsaWNrKClcIlxyXG4+XHJcbiAgICA8ZGl2IGZkLXRpbGUtY29udGVudD5cclxuICAgICAgICA8ZGl2IGZkLW51bWVyaWMtY29udGVudD5cclxuICAgICAgICAgICAgPGRpdiBmZC1udW1lcmljLWNvbnRlbnQtbGF1bmNoLWljb24tY29udGFpbmVyPlxyXG4gICAgICAgICAgICAgICAgPGkgZmQtbnVtZXJpYy1jb250ZW50LWxhdW5jaC1pY29uIFtnbHlwaF09XCJsYXVuY2hJY29uXCIgW2NsYXNzXT1cImxhdW5jaEljb24gfCBzYXBGb250Q2xhc3NcIj48L2k+XHJcbiAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICA8ZGl2IGZkLW51bWVyaWMtY29udGVudC1rcGktY29udGFpbmVyPlxyXG4gICAgICAgICAgICAgICAgPGRpdiBmZC1udW1lcmljLWNvbnRlbnQta3BpIFtzdGF0ZV09XCJrcGlTdGF0ZVwiIFtzdHlsZS5jb2xvcl09XCJrcGlTdGF0ZUlzQ29sb3IgPyBrcGlTdGF0ZSA6IG51bGxcIj5cclxuICAgICAgICAgICAgICAgICAgICB7eyBrcGkgfX1cclxuICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgPGRpdiBmZC1udW1lcmljLWNvbnRlbnQtc2NhbGUtY29udGFpbmVyIHN0eWxlPVwicGFkZGluZy10b3A6IDAuMnJlbVwiPlxyXG4gICAgICAgICAgICAgICAgPGRpdlxyXG4gICAgICAgICAgICAgICAgICAgIGZkLW51bWVyaWMtY29udGVudC1zY2FsZVxyXG4gICAgICAgICAgICAgICAgICAgIFtzdGF0ZV09XCJzY2FsZVN0YXRlXCJcclxuICAgICAgICAgICAgICAgICAgICBbc3R5bGUuY29sb3JdPVwic2NhbHNlU3RhdGVJc0NvbG9yID8gc2NhbGVTdGF0ZSA6IG51bGxcIlxyXG4gICAgICAgICAgICAgICAgPlxyXG4gICAgICAgICAgICAgICAgICAgIDxzcGFuXHJcbiAgICAgICAgICAgICAgICAgICAgICAgIGZkLW51bWVyaWMtY29udGVudC1zY2FsZS1hcnJvd1xyXG4gICAgICAgICAgICAgICAgICAgICAgICBbZ2x5cGhdPVwic2NhbGVBcnJvd0ljb25cIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICBbY2xhc3NdPVwic2NhbGVBcnJvd0ljb24gfCBzYXBGb250Q2xhc3NcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICBbc3R5bGUuY29sb3JdPVwic2NhbHNlU3RhdGVJc0NvbG9yID8gc2NhbGVTdGF0ZSA6IG51bGxcIlxyXG4gICAgICAgICAgICAgICAgICAgID48L3NwYW4+XHJcbiAgICAgICAgICAgICAgICAgICAgPHNwYW4gZmQtbnVtZXJpYy1jb250ZW50LXNjYWxlLXRleHQgW3N0eWxlLmNvbG9yXT1cInNjYWxzZVN0YXRlSXNDb2xvciA/IHNjYWxlU3RhdGUgOiBudWxsXCI+e3tcclxuICAgICAgICAgICAgICAgICAgICAgICAgc2NhbGVUZXh0XHJcbiAgICAgICAgICAgICAgICAgICAgfX08L3NwYW4+XHJcbiAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgPC9kaXY+XHJcbiAgICA8L2Rpdj5cclxuPC9idC10aWxlPlxyXG4iXX0=