@thescaffold/ngx-apps-capital 0.0.10

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 (52) hide show
  1. package/README.md +25 -0
  2. package/esm2022/lib/app.config.mjs +81 -0
  3. package/esm2022/lib/app.module.mjs +17 -0
  4. package/esm2022/lib/index.mjs +11 -0
  5. package/esm2022/lib/pages/card/card.component.mjs +161 -0
  6. package/esm2022/lib/pages/card/card.module.mjs +32 -0
  7. package/esm2022/lib/pages/card/card.provider.mjs +249 -0
  8. package/esm2022/lib/pages/dashboard/dashboard.component.mjs +703 -0
  9. package/esm2022/lib/pages/dashboard/dashboard.module.mjs +45 -0
  10. package/esm2022/lib/pages/pages.component.mjs +49 -0
  11. package/esm2022/lib/pages/pages.module.mjs +107 -0
  12. package/esm2022/lib/pages/payment/payment.component.mjs +119 -0
  13. package/esm2022/lib/pages/payment/payment.module.mjs +32 -0
  14. package/esm2022/lib/pages/payment/payment.provider.mjs +212 -0
  15. package/esm2022/lib/pages/voucher/voucher.component.mjs +167 -0
  16. package/esm2022/lib/pages/voucher/voucher.module.mjs +46 -0
  17. package/esm2022/lib/pages/voucher/voucher.provider.mjs +201 -0
  18. package/esm2022/public-api.mjs +5 -0
  19. package/esm2022/thescaffold-ngx-apps-capital.mjs +5 -0
  20. package/fesm2022/thescaffold-ngx-apps-capital-card.module-Cl6xh18C.mjs +36 -0
  21. package/fesm2022/thescaffold-ngx-apps-capital-card.module-Cl6xh18C.mjs.map +1 -0
  22. package/fesm2022/thescaffold-ngx-apps-capital-card.provider-BcIUxmO1.mjs +409 -0
  23. package/fesm2022/thescaffold-ngx-apps-capital-card.provider-BcIUxmO1.mjs.map +1 -0
  24. package/fesm2022/thescaffold-ngx-apps-capital-dashboard.module-lX-8-L9H.mjs +744 -0
  25. package/fesm2022/thescaffold-ngx-apps-capital-dashboard.module-lX-8-L9H.mjs.map +1 -0
  26. package/fesm2022/thescaffold-ngx-apps-capital-payment.module-DmQlflfD.mjs +35 -0
  27. package/fesm2022/thescaffold-ngx-apps-capital-payment.module-DmQlflfD.mjs.map +1 -0
  28. package/fesm2022/thescaffold-ngx-apps-capital-payment.provider-B1jZij0H.mjs +329 -0
  29. package/fesm2022/thescaffold-ngx-apps-capital-payment.provider-B1jZij0H.mjs.map +1 -0
  30. package/fesm2022/thescaffold-ngx-apps-capital-voucher.module-DMt7Jj8o.mjs +406 -0
  31. package/fesm2022/thescaffold-ngx-apps-capital-voucher.module-DMt7Jj8o.mjs.map +1 -0
  32. package/fesm2022/thescaffold-ngx-apps-capital.mjs +263 -0
  33. package/fesm2022/thescaffold-ngx-apps-capital.mjs.map +1 -0
  34. package/index.d.ts +5 -0
  35. package/lib/app.config.d.ts +13 -0
  36. package/lib/app.module.d.ts +8 -0
  37. package/lib/index.d.ts +10 -0
  38. package/lib/pages/card/card.component.d.ts +18 -0
  39. package/lib/pages/card/card.module.d.ts +10 -0
  40. package/lib/pages/card/card.provider.d.ts +136 -0
  41. package/lib/pages/dashboard/dashboard.component.d.ts +49 -0
  42. package/lib/pages/dashboard/dashboard.module.d.ts +10 -0
  43. package/lib/pages/pages.component.d.ts +8 -0
  44. package/lib/pages/pages.module.d.ts +11 -0
  45. package/lib/pages/payment/payment.component.d.ts +13 -0
  46. package/lib/pages/payment/payment.module.d.ts +10 -0
  47. package/lib/pages/payment/payment.provider.d.ts +134 -0
  48. package/lib/pages/voucher/voucher.component.d.ts +11 -0
  49. package/lib/pages/voucher/voucher.module.d.ts +10 -0
  50. package/lib/pages/voucher/voucher.provider.d.ts +125 -0
  51. package/package.json +33 -0
  52. package/public-api.d.ts +1 -0
@@ -0,0 +1,45 @@
1
+ import { NgModule } from '@angular/core';
2
+ import { PaymentModule } from '@thescaffold/ngx-common';
3
+ import { PipesModule, SharedModule } from '@thescaffold/ngx-core';
4
+ import { ElementsModule, DashboardModule as InnerDashboardModule, WebgetsModule, } from '@thescaffold/ngx-ui';
5
+ import { CardProvider } from '../card/card.provider';
6
+ import { PaymentProvider } from '../payment/payment.provider';
7
+ import { DashboardComponent } from './dashboard.component';
8
+ import * as i0 from "@angular/core";
9
+ import * as i1 from "@thescaffold/ngx-ui";
10
+ export class DashboardModule {
11
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.0.5", ngImport: i0, type: DashboardModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule }); }
12
+ static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "18.0.5", ngImport: i0, type: DashboardModule, declarations: [DashboardComponent], imports: [SharedModule, i1.DashboardModule, WebgetsModule,
13
+ ElementsModule,
14
+ PipesModule,
15
+ PaymentModule] }); }
16
+ static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "18.0.5", ngImport: i0, type: DashboardModule, imports: [SharedModule,
17
+ InnerDashboardModule.register({
18
+ metrics: [],
19
+ providers: [CardProvider, PaymentProvider],
20
+ templateSource: DashboardComponent,
21
+ }),
22
+ WebgetsModule,
23
+ ElementsModule,
24
+ PipesModule,
25
+ PaymentModule] }); }
26
+ }
27
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.0.5", ngImport: i0, type: DashboardModule, decorators: [{
28
+ type: NgModule,
29
+ args: [{
30
+ declarations: [DashboardComponent],
31
+ imports: [
32
+ SharedModule,
33
+ InnerDashboardModule.register({
34
+ metrics: [],
35
+ providers: [CardProvider, PaymentProvider],
36
+ templateSource: DashboardComponent,
37
+ }),
38
+ WebgetsModule,
39
+ ElementsModule,
40
+ PipesModule,
41
+ PaymentModule,
42
+ ],
43
+ }]
44
+ }] });
45
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGFzaGJvYXJkLm1vZHVsZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2NhcGl0YWwvc3JjL2xpYi9wYWdlcy9kYXNoYm9hcmQvZGFzaGJvYXJkLm1vZHVsZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsUUFBUSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQ3pDLE9BQU8sRUFBRSxhQUFhLEVBQUUsTUFBTSx5QkFBeUIsQ0FBQztBQUN4RCxPQUFPLEVBQUUsV0FBVyxFQUFFLFlBQVksRUFBRSxNQUFNLHVCQUF1QixDQUFDO0FBQ2xFLE9BQU8sRUFDTCxjQUFjLEVBQ2QsZUFBZSxJQUFJLG9CQUFvQixFQUN2QyxhQUFhLEdBQ2QsTUFBTSxxQkFBcUIsQ0FBQztBQUM3QixPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0sdUJBQXVCLENBQUM7QUFDckQsT0FBTyxFQUFFLGVBQWUsRUFBRSxNQUFNLDZCQUE2QixDQUFDO0FBQzlELE9BQU8sRUFBRSxrQkFBa0IsRUFBRSxNQUFNLHVCQUF1QixDQUFDOzs7QUFpQjNELE1BQU0sT0FBTyxlQUFlOzhHQUFmLGVBQWU7K0dBQWYsZUFBZSxpQkFkWCxrQkFBa0IsYUFFL0IsWUFBWSxzQkFNWixhQUFhO1lBQ2IsY0FBYztZQUNkLFdBQVc7WUFDWCxhQUFhOytHQUdKLGVBQWUsWUFaeEIsWUFBWTtZQUNaLG9CQUFvQixDQUFDLFFBQVEsQ0FBQztnQkFDNUIsT0FBTyxFQUFFLEVBQUU7Z0JBQ1gsU0FBUyxFQUFFLENBQUMsWUFBWSxFQUFFLGVBQWUsQ0FBQztnQkFDMUMsY0FBYyxFQUFFLGtCQUFrQjthQUNuQyxDQUFDO1lBQ0YsYUFBYTtZQUNiLGNBQWM7WUFDZCxXQUFXO1lBQ1gsYUFBYTs7MkZBR0osZUFBZTtrQkFmM0IsUUFBUTttQkFBQztvQkFDUixZQUFZLEVBQUUsQ0FBQyxrQkFBa0IsQ0FBQztvQkFDbEMsT0FBTyxFQUFFO3dCQUNQLFlBQVk7d0JBQ1osb0JBQW9CLENBQUMsUUFBUSxDQUFDOzRCQUM1QixPQUFPLEVBQUUsRUFBRTs0QkFDWCxTQUFTLEVBQUUsQ0FBQyxZQUFZLEVBQUUsZUFBZSxDQUFDOzRCQUMxQyxjQUFjLEVBQUUsa0JBQWtCO3lCQUNuQyxDQUFDO3dCQUNGLGFBQWE7d0JBQ2IsY0FBYzt3QkFDZCxXQUFXO3dCQUNYLGFBQWE7cUJBQ2Q7aUJBQ0YiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBOZ01vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgUGF5bWVudE1vZHVsZSB9IGZyb20gJ0B0aGVzY2FmZm9sZC9uZ3gtY29tbW9uJztcbmltcG9ydCB7IFBpcGVzTW9kdWxlLCBTaGFyZWRNb2R1bGUgfSBmcm9tICdAdGhlc2NhZmZvbGQvbmd4LWNvcmUnO1xuaW1wb3J0IHtcbiAgRWxlbWVudHNNb2R1bGUsXG4gIERhc2hib2FyZE1vZHVsZSBhcyBJbm5lckRhc2hib2FyZE1vZHVsZSxcbiAgV2ViZ2V0c01vZHVsZSxcbn0gZnJvbSAnQHRoZXNjYWZmb2xkL25neC11aSc7XG5pbXBvcnQgeyBDYXJkUHJvdmlkZXIgfSBmcm9tICcuLi9jYXJkL2NhcmQucHJvdmlkZXInO1xuaW1wb3J0IHsgUGF5bWVudFByb3ZpZGVyIH0gZnJvbSAnLi4vcGF5bWVudC9wYXltZW50LnByb3ZpZGVyJztcbmltcG9ydCB7IERhc2hib2FyZENvbXBvbmVudCB9IGZyb20gJy4vZGFzaGJvYXJkLmNvbXBvbmVudCc7XG5cbkBOZ01vZHVsZSh7XG4gIGRlY2xhcmF0aW9uczogW0Rhc2hib2FyZENvbXBvbmVudF0sXG4gIGltcG9ydHM6IFtcbiAgICBTaGFyZWRNb2R1bGUsXG4gICAgSW5uZXJEYXNoYm9hcmRNb2R1bGUucmVnaXN0ZXIoe1xuICAgICAgbWV0cmljczogW10sXG4gICAgICBwcm92aWRlcnM6IFtDYXJkUHJvdmlkZXIsIFBheW1lbnRQcm92aWRlcl0sXG4gICAgICB0ZW1wbGF0ZVNvdXJjZTogRGFzaGJvYXJkQ29tcG9uZW50LFxuICAgIH0pLFxuICAgIFdlYmdldHNNb2R1bGUsXG4gICAgRWxlbWVudHNNb2R1bGUsXG4gICAgUGlwZXNNb2R1bGUsXG4gICAgUGF5bWVudE1vZHVsZSxcbiAgXSxcbn0pXG5leHBvcnQgY2xhc3MgRGFzaGJvYXJkTW9kdWxlIHt9XG4iXX0=
@@ -0,0 +1,49 @@
1
+ import { Component, inject } from '@angular/core';
2
+ import { BaseDirective, CommonActionType, StateService, } from '@thescaffold/ngx-core';
3
+ import { config } from '../app.config';
4
+ import * as i0 from "@angular/core";
5
+ import * as i1 from "@angular/router";
6
+ import * as i2 from "@thescaffold/ngx-ui";
7
+ export class PagesComponent extends BaseDirective {
8
+ constructor() {
9
+ super(...arguments);
10
+ this.stateService = inject(StateService);
11
+ this.init = () => {
12
+ this.stateService.dispatch({
13
+ type: CommonActionType.APP_CONFIG,
14
+ payload: {
15
+ ...config(),
16
+ },
17
+ });
18
+ };
19
+ }
20
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.0.5", ngImport: i0, type: PagesComponent, deps: null, target: i0.ɵɵFactoryTarget.Component }); }
21
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.0.5", type: PagesComponent, selector: "x-pages", host: { properties: { "attr.x-pages-app-name": "capital" } }, usesInheritance: true, ngImport: i0, template: `
22
+ <router-outlet></router-outlet>
23
+
24
+ <!-- misc -->
25
+ <ng-template #loader>
26
+ <x-element-loader></x-element-loader>
27
+ </ng-template>
28
+
29
+ <ng-template #empty>
30
+ <x-element-blank></x-element-blank>
31
+ </ng-template>
32
+ `, isInline: true, dependencies: [{ kind: "directive", type: i1.RouterOutlet, selector: "router-outlet", inputs: ["name"], outputs: ["activate", "deactivate", "attach", "detach"], exportAs: ["outlet"] }, { kind: "component", type: i2.BlankComponent, selector: "x-element-blank", inputs: ["image", "icon", "type"] }, { kind: "component", type: i2.LoaderComponent, selector: "x-element-loader", inputs: ["data"] }] }); }
33
+ }
34
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.0.5", ngImport: i0, type: PagesComponent, decorators: [{
35
+ type: Component,
36
+ args: [{ selector: 'x-pages', template: `
37
+ <router-outlet></router-outlet>
38
+
39
+ <!-- misc -->
40
+ <ng-template #loader>
41
+ <x-element-loader></x-element-loader>
42
+ </ng-template>
43
+
44
+ <ng-template #empty>
45
+ <x-element-blank></x-element-blank>
46
+ </ng-template>
47
+ `, host: { '[attr.x-pages-app-name]': 'capital' } }]
48
+ }] });
49
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicGFnZXMuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvY2FwaXRhbC9zcmMvbGliL3BhZ2VzL3BhZ2VzLmNvbXBvbmVudC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFFLE1BQU0sRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUNsRCxPQUFPLEVBQ0wsYUFBYSxFQUNiLGdCQUFnQixFQUNoQixZQUFZLEdBQ2IsTUFBTSx1QkFBdUIsQ0FBQztBQUMvQixPQUFPLEVBQUUsTUFBTSxFQUFFLE1BQU0sZUFBZSxDQUFDOzs7O0FBbUJ2QyxNQUFNLE9BQU8sY0FBZSxTQUFRLGFBQWE7SUFqQmpEOztRQWtCbUIsaUJBQVksR0FBRyxNQUFNLENBQUMsWUFBWSxDQUFDLENBQUM7UUFFNUMsU0FBSSxHQUFHLEdBQUcsRUFBRTtZQUNuQixJQUFJLENBQUMsWUFBWSxDQUFDLFFBQVEsQ0FBQztnQkFDekIsSUFBSSxFQUFFLGdCQUFnQixDQUFDLFVBQVU7Z0JBQ2pDLE9BQU8sRUFBRTtvQkFDUCxHQUFHLE1BQU0sRUFBRTtpQkFDWjthQUNGLENBQUMsQ0FBQztRQUNMLENBQUMsQ0FBQztLQUNIOzhHQVhZLGNBQWM7a0dBQWQsY0FBYyxvSUFmZjs7Ozs7Ozs7Ozs7R0FXVDs7MkZBSVUsY0FBYztrQkFqQjFCLFNBQVM7K0JBQ0UsU0FBUyxZQUNUOzs7Ozs7Ozs7OztHQVdULFFBRUssRUFBRSx5QkFBeUIsRUFBRSxTQUFTLEVBQUUiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb21wb25lbnQsIGluamVjdCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHtcbiAgQmFzZURpcmVjdGl2ZSxcbiAgQ29tbW9uQWN0aW9uVHlwZSxcbiAgU3RhdGVTZXJ2aWNlLFxufSBmcm9tICdAdGhlc2NhZmZvbGQvbmd4LWNvcmUnO1xuaW1wb3J0IHsgY29uZmlnIH0gZnJvbSAnLi4vYXBwLmNvbmZpZyc7XG5cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ3gtcGFnZXMnLFxuICB0ZW1wbGF0ZTogYFxuICAgIDxyb3V0ZXItb3V0bGV0Pjwvcm91dGVyLW91dGxldD5cblxuICAgIDwhLS0gbWlzYyAtLT5cbiAgICA8bmctdGVtcGxhdGUgI2xvYWRlcj5cbiAgICAgIDx4LWVsZW1lbnQtbG9hZGVyPjwveC1lbGVtZW50LWxvYWRlcj5cbiAgICA8L25nLXRlbXBsYXRlPlxuXG4gICAgPG5nLXRlbXBsYXRlICNlbXB0eT5cbiAgICAgIDx4LWVsZW1lbnQtYmxhbms+PC94LWVsZW1lbnQtYmxhbms+XG4gICAgPC9uZy10ZW1wbGF0ZT5cbiAgYCxcbiAgc3R5bGVzOiBbXSxcbiAgaG9zdDogeyAnW2F0dHIueC1wYWdlcy1hcHAtbmFtZV0nOiAnY2FwaXRhbCcgfSxcbn0pXG5leHBvcnQgY2xhc3MgUGFnZXNDb21wb25lbnQgZXh0ZW5kcyBCYXNlRGlyZWN0aXZlIHtcbiAgcHJpdmF0ZSByZWFkb25seSBzdGF0ZVNlcnZpY2UgPSBpbmplY3QoU3RhdGVTZXJ2aWNlKTtcblxuICBvdmVycmlkZSBpbml0ID0gKCkgPT4ge1xuICAgIHRoaXMuc3RhdGVTZXJ2aWNlLmRpc3BhdGNoKHtcbiAgICAgIHR5cGU6IENvbW1vbkFjdGlvblR5cGUuQVBQX0NPTkZJRyxcbiAgICAgIHBheWxvYWQ6IHtcbiAgICAgICAgLi4uY29uZmlnKCksXG4gICAgICB9LFxuICAgIH0pO1xuICB9O1xufVxuIl19
@@ -0,0 +1,107 @@
1
+ import { NgModule } from '@angular/core';
2
+ import { RouterModule } from '@angular/router';
3
+ import { AlertDropdownModule, ConsentBarModule, SearchModule, StatusBarModule, ThemeModule, } from '@thescaffold/ngx-common';
4
+ import { SharedModule } from '@thescaffold/ngx-core';
5
+ import { ElementsModule, LayoutsModule, ProgressModule, WebgetsModule, } from '@thescaffold/ngx-ui';
6
+ import { PagesComponent } from './pages.component';
7
+ import * as i0 from "@angular/core";
8
+ import * as i1 from "@angular/router";
9
+ export class PagesModule {
10
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.0.5", ngImport: i0, type: PagesModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule }); }
11
+ static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "18.0.5", ngImport: i0, type: PagesModule, declarations: [PagesComponent], imports: [SharedModule, i1.RouterModule, LayoutsModule,
12
+ WebgetsModule,
13
+ ThemeModule,
14
+ ElementsModule,
15
+ ProgressModule,
16
+ ConsentBarModule,
17
+ StatusBarModule,
18
+ SearchModule,
19
+ AlertDropdownModule] }); }
20
+ static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "18.0.5", ngImport: i0, type: PagesModule, imports: [SharedModule,
21
+ RouterModule.forChild([
22
+ {
23
+ path: '',
24
+ component: PagesComponent,
25
+ children: [
26
+ {
27
+ path: '',
28
+ redirectTo: 'dashboard',
29
+ pathMatch: 'full',
30
+ },
31
+ {
32
+ path: 'dashboard',
33
+ loadChildren: () => import('./dashboard/dashboard.module').then((m) => m.DashboardModule),
34
+ },
35
+ {
36
+ path: 'card',
37
+ loadChildren: () => import('./card/card.module').then((m) => m.CardModule),
38
+ },
39
+ {
40
+ path: 'payment',
41
+ loadChildren: () => import('./payment/payment.module').then((m) => m.PaymentModule),
42
+ },
43
+ {
44
+ path: 'voucher',
45
+ loadChildren: () => import('./voucher/voucher.module').then((m) => m.VoucherModule),
46
+ },
47
+ ],
48
+ },
49
+ ]),
50
+ LayoutsModule,
51
+ WebgetsModule,
52
+ ThemeModule,
53
+ ElementsModule,
54
+ ProgressModule,
55
+ ConsentBarModule,
56
+ StatusBarModule,
57
+ SearchModule,
58
+ AlertDropdownModule] }); }
59
+ }
60
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.0.5", ngImport: i0, type: PagesModule, decorators: [{
61
+ type: NgModule,
62
+ args: [{
63
+ declarations: [PagesComponent],
64
+ imports: [
65
+ SharedModule,
66
+ RouterModule.forChild([
67
+ {
68
+ path: '',
69
+ component: PagesComponent,
70
+ children: [
71
+ {
72
+ path: '',
73
+ redirectTo: 'dashboard',
74
+ pathMatch: 'full',
75
+ },
76
+ {
77
+ path: 'dashboard',
78
+ loadChildren: () => import('./dashboard/dashboard.module').then((m) => m.DashboardModule),
79
+ },
80
+ {
81
+ path: 'card',
82
+ loadChildren: () => import('./card/card.module').then((m) => m.CardModule),
83
+ },
84
+ {
85
+ path: 'payment',
86
+ loadChildren: () => import('./payment/payment.module').then((m) => m.PaymentModule),
87
+ },
88
+ {
89
+ path: 'voucher',
90
+ loadChildren: () => import('./voucher/voucher.module').then((m) => m.VoucherModule),
91
+ },
92
+ ],
93
+ },
94
+ ]),
95
+ LayoutsModule,
96
+ WebgetsModule,
97
+ ThemeModule,
98
+ ElementsModule,
99
+ ProgressModule,
100
+ ConsentBarModule,
101
+ StatusBarModule,
102
+ SearchModule,
103
+ AlertDropdownModule,
104
+ ],
105
+ }]
106
+ }] });
107
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicGFnZXMubW9kdWxlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvY2FwaXRhbC9zcmMvbGliL3BhZ2VzL3BhZ2VzLm1vZHVsZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsUUFBUSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQ3pDLE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUMvQyxPQUFPLEVBQ0wsbUJBQW1CLEVBQ25CLGdCQUFnQixFQUNoQixZQUFZLEVBQ1osZUFBZSxFQUNmLFdBQVcsR0FDWixNQUFNLHlCQUF5QixDQUFDO0FBQ2pDLE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSx1QkFBdUIsQ0FBQztBQUNyRCxPQUFPLEVBQ0wsY0FBYyxFQUNkLGFBQWEsRUFDYixjQUFjLEVBQ2QsYUFBYSxHQUNkLE1BQU0scUJBQXFCLENBQUM7QUFDN0IsT0FBTyxFQUFFLGNBQWMsRUFBRSxNQUFNLG1CQUFtQixDQUFDOzs7QUFxRG5ELE1BQU0sT0FBTyxXQUFXOzhHQUFYLFdBQVc7K0dBQVgsV0FBVyxpQkFsRFAsY0FBYyxhQUUzQixZQUFZLG1CQW9DWixhQUFhO1lBQ2IsYUFBYTtZQUNiLFdBQVc7WUFDWCxjQUFjO1lBQ2QsY0FBYztZQUNkLGdCQUFnQjtZQUNoQixlQUFlO1lBRWYsWUFBWTtZQUNaLG1CQUFtQjsrR0FHVixXQUFXLFlBaERwQixZQUFZO1lBQ1osWUFBWSxDQUFDLFFBQVEsQ0FBQztnQkFDcEI7b0JBQ0UsSUFBSSxFQUFFLEVBQUU7b0JBQ1IsU0FBUyxFQUFFLGNBQWM7b0JBQ3pCLFFBQVEsRUFBRTt3QkFDUjs0QkFDRSxJQUFJLEVBQUUsRUFBRTs0QkFDUixVQUFVLEVBQUUsV0FBVzs0QkFDdkIsU0FBUyxFQUFFLE1BQU07eUJBQ2xCO3dCQUNEOzRCQUNFLElBQUksRUFBRSxXQUFXOzRCQUNqQixZQUFZLEVBQUUsR0FBRyxFQUFFLENBQ2pCLE1BQU0sQ0FBQyw4QkFBOEIsQ0FBQyxDQUFDLElBQUksQ0FDekMsQ0FBQyxDQUFDLEVBQUUsRUFBRSxDQUFDLENBQUMsQ0FBQyxlQUFlLENBQ3pCO3lCQUNKO3dCQUNEOzRCQUNFLElBQUksRUFBRSxNQUFNOzRCQUNaLFlBQVksRUFBRSxHQUFHLEVBQUUsQ0FDakIsTUFBTSxDQUFDLG9CQUFvQixDQUFDLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxFQUFFLEVBQUUsQ0FBQyxDQUFDLENBQUMsVUFBVSxDQUFDO3lCQUN6RDt3QkFDRDs0QkFDRSxJQUFJLEVBQUUsU0FBUzs0QkFDZixZQUFZLEVBQUUsR0FBRyxFQUFFLENBQ2pCLE1BQU0sQ0FBQywwQkFBMEIsQ0FBQyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsRUFBRSxFQUFFLENBQUMsQ0FBQyxDQUFDLGFBQWEsQ0FBQzt5QkFDbEU7d0JBQ0Q7NEJBQ0UsSUFBSSxFQUFFLFNBQVM7NEJBQ2YsWUFBWSxFQUFFLEdBQUcsRUFBRSxDQUNqQixNQUFNLENBQUMsMEJBQTBCLENBQUMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLEVBQUUsRUFBRSxDQUFDLENBQUMsQ0FBQyxhQUFhLENBQUM7eUJBQ2xFO3FCQUNGO2lCQUNGO2FBQ0YsQ0FBQztZQUNGLGFBQWE7WUFDYixhQUFhO1lBQ2IsV0FBVztZQUNYLGNBQWM7WUFDZCxjQUFjO1lBQ2QsZ0JBQWdCO1lBQ2hCLGVBQWU7WUFFZixZQUFZO1lBQ1osbUJBQW1COzsyRkFHVixXQUFXO2tCQW5EdkIsUUFBUTttQkFBQztvQkFDUixZQUFZLEVBQUUsQ0FBQyxjQUFjLENBQUM7b0JBQzlCLE9BQU8sRUFBRTt3QkFDUCxZQUFZO3dCQUNaLFlBQVksQ0FBQyxRQUFRLENBQUM7NEJBQ3BCO2dDQUNFLElBQUksRUFBRSxFQUFFO2dDQUNSLFNBQVMsRUFBRSxjQUFjO2dDQUN6QixRQUFRLEVBQUU7b0NBQ1I7d0NBQ0UsSUFBSSxFQUFFLEVBQUU7d0NBQ1IsVUFBVSxFQUFFLFdBQVc7d0NBQ3ZCLFNBQVMsRUFBRSxNQUFNO3FDQUNsQjtvQ0FDRDt3Q0FDRSxJQUFJLEVBQUUsV0FBVzt3Q0FDakIsWUFBWSxFQUFFLEdBQUcsRUFBRSxDQUNqQixNQUFNLENBQUMsOEJBQThCLENBQUMsQ0FBQyxJQUFJLENBQ3pDLENBQUMsQ0FBQyxFQUFFLEVBQUUsQ0FBQyxDQUFDLENBQUMsZUFBZSxDQUN6QjtxQ0FDSjtvQ0FDRDt3Q0FDRSxJQUFJLEVBQUUsTUFBTTt3Q0FDWixZQUFZLEVBQUUsR0FBRyxFQUFFLENBQ2pCLE1BQU0sQ0FBQyxvQkFBb0IsQ0FBQyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsRUFBRSxFQUFFLENBQUMsQ0FBQyxDQUFDLFVBQVUsQ0FBQztxQ0FDekQ7b0NBQ0Q7d0NBQ0UsSUFBSSxFQUFFLFNBQVM7d0NBQ2YsWUFBWSxFQUFFLEdBQUcsRUFBRSxDQUNqQixNQUFNLENBQUMsMEJBQTBCLENBQUMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLEVBQUUsRUFBRSxDQUFDLENBQUMsQ0FBQyxhQUFhLENBQUM7cUNBQ2xFO29DQUNEO3dDQUNFLElBQUksRUFBRSxTQUFTO3dDQUNmLFlBQVksRUFBRSxHQUFHLEVBQUUsQ0FDakIsTUFBTSxDQUFDLDBCQUEwQixDQUFDLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxFQUFFLEVBQUUsQ0FBQyxDQUFDLENBQUMsYUFBYSxDQUFDO3FDQUNsRTtpQ0FDRjs2QkFDRjt5QkFDRixDQUFDO3dCQUNGLGFBQWE7d0JBQ2IsYUFBYTt3QkFDYixXQUFXO3dCQUNYLGNBQWM7d0JBQ2QsY0FBYzt3QkFDZCxnQkFBZ0I7d0JBQ2hCLGVBQWU7d0JBRWYsWUFBWTt3QkFDWixtQkFBbUI7cUJBQ3BCO2lCQUNGIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgTmdNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IFJvdXRlck1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL3JvdXRlcic7XG5pbXBvcnQge1xuICBBbGVydERyb3Bkb3duTW9kdWxlLFxuICBDb25zZW50QmFyTW9kdWxlLFxuICBTZWFyY2hNb2R1bGUsXG4gIFN0YXR1c0Jhck1vZHVsZSxcbiAgVGhlbWVNb2R1bGUsXG59IGZyb20gJ0B0aGVzY2FmZm9sZC9uZ3gtY29tbW9uJztcbmltcG9ydCB7IFNoYXJlZE1vZHVsZSB9IGZyb20gJ0B0aGVzY2FmZm9sZC9uZ3gtY29yZSc7XG5pbXBvcnQge1xuICBFbGVtZW50c01vZHVsZSxcbiAgTGF5b3V0c01vZHVsZSxcbiAgUHJvZ3Jlc3NNb2R1bGUsXG4gIFdlYmdldHNNb2R1bGUsXG59IGZyb20gJ0B0aGVzY2FmZm9sZC9uZ3gtdWknO1xuaW1wb3J0IHsgUGFnZXNDb21wb25lbnQgfSBmcm9tICcuL3BhZ2VzLmNvbXBvbmVudCc7XG5cbkBOZ01vZHVsZSh7XG4gIGRlY2xhcmF0aW9uczogW1BhZ2VzQ29tcG9uZW50XSxcbiAgaW1wb3J0czogW1xuICAgIFNoYXJlZE1vZHVsZSxcbiAgICBSb3V0ZXJNb2R1bGUuZm9yQ2hpbGQoW1xuICAgICAge1xuICAgICAgICBwYXRoOiAnJyxcbiAgICAgICAgY29tcG9uZW50OiBQYWdlc0NvbXBvbmVudCxcbiAgICAgICAgY2hpbGRyZW46IFtcbiAgICAgICAgICB7XG4gICAgICAgICAgICBwYXRoOiAnJyxcbiAgICAgICAgICAgIHJlZGlyZWN0VG86ICdkYXNoYm9hcmQnLFxuICAgICAgICAgICAgcGF0aE1hdGNoOiAnZnVsbCcsXG4gICAgICAgICAgfSxcbiAgICAgICAgICB7XG4gICAgICAgICAgICBwYXRoOiAnZGFzaGJvYXJkJyxcbiAgICAgICAgICAgIGxvYWRDaGlsZHJlbjogKCkgPT5cbiAgICAgICAgICAgICAgaW1wb3J0KCcuL2Rhc2hib2FyZC9kYXNoYm9hcmQubW9kdWxlJykudGhlbihcbiAgICAgICAgICAgICAgICAobSkgPT4gbS5EYXNoYm9hcmRNb2R1bGUsXG4gICAgICAgICAgICAgICksXG4gICAgICAgICAgfSxcbiAgICAgICAgICB7XG4gICAgICAgICAgICBwYXRoOiAnY2FyZCcsXG4gICAgICAgICAgICBsb2FkQ2hpbGRyZW46ICgpID0+XG4gICAgICAgICAgICAgIGltcG9ydCgnLi9jYXJkL2NhcmQubW9kdWxlJykudGhlbigobSkgPT4gbS5DYXJkTW9kdWxlKSxcbiAgICAgICAgICB9LFxuICAgICAgICAgIHtcbiAgICAgICAgICAgIHBhdGg6ICdwYXltZW50JyxcbiAgICAgICAgICAgIGxvYWRDaGlsZHJlbjogKCkgPT5cbiAgICAgICAgICAgICAgaW1wb3J0KCcuL3BheW1lbnQvcGF5bWVudC5tb2R1bGUnKS50aGVuKChtKSA9PiBtLlBheW1lbnRNb2R1bGUpLFxuICAgICAgICAgIH0sXG4gICAgICAgICAge1xuICAgICAgICAgICAgcGF0aDogJ3ZvdWNoZXInLFxuICAgICAgICAgICAgbG9hZENoaWxkcmVuOiAoKSA9PlxuICAgICAgICAgICAgICBpbXBvcnQoJy4vdm91Y2hlci92b3VjaGVyLm1vZHVsZScpLnRoZW4oKG0pID0+IG0uVm91Y2hlck1vZHVsZSksXG4gICAgICAgICAgfSxcbiAgICAgICAgXSxcbiAgICAgIH0sXG4gICAgXSksXG4gICAgTGF5b3V0c01vZHVsZSxcbiAgICBXZWJnZXRzTW9kdWxlLFxuICAgIFRoZW1lTW9kdWxlLFxuICAgIEVsZW1lbnRzTW9kdWxlLFxuICAgIFByb2dyZXNzTW9kdWxlLFxuICAgIENvbnNlbnRCYXJNb2R1bGUsXG4gICAgU3RhdHVzQmFyTW9kdWxlLFxuXG4gICAgU2VhcmNoTW9kdWxlLFxuICAgIEFsZXJ0RHJvcGRvd25Nb2R1bGUsXG4gIF0sXG59KVxuZXhwb3J0IGNsYXNzIFBhZ2VzTW9kdWxlIHt9XG4iXX0=
@@ -0,0 +1,119 @@
1
+ import { Component, inject, TemplateRef, ViewChild } from '@angular/core';
2
+ import { getEnv, navigateExternal } from '@thescaffold/ngx-core';
3
+ import { CrudComponentDirective, FlyoutService } from '@thescaffold/ngx-ui';
4
+ import * as i0 from "@angular/core";
5
+ import * as i1 from "@angular/common";
6
+ import * as i2 from "@thescaffold/ngx-common";
7
+ import * as i3 from "@thescaffold/ngx-ui";
8
+ import * as i4 from "@thescaffold/ngx-core";
9
+ export class PaymentComponent extends CrudComponentDirective {
10
+ constructor() {
11
+ super(...arguments);
12
+ this.flyoutService = inject(FlyoutService);
13
+ this.verifyPaymentData = {
14
+ mode: 'verify',
15
+ appName: getEnv('APP_NAME'),
16
+ amount: 0.0,
17
+ hooks: {},
18
+ options: [],
19
+ };
20
+ }
21
+ download(url) {
22
+ navigateExternal(url, true);
23
+ }
24
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.0.5", ngImport: i0, type: PaymentComponent, deps: null, target: i0.ɵɵFactoryTarget.Component }); }
25
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.0.5", type: PaymentComponent, selector: "app-payment", viewQueries: [{ propertyName: "beforeListTemplate", first: true, predicate: ["beforeListTemplate"], descendants: true, read: TemplateRef, static: true }, { propertyName: "afterShowTemplate", first: true, predicate: ["afterShowTemplate"], descendants: true, read: TemplateRef, static: true }], usesInheritance: true, ngImport: i0, template: `
26
+ <!-- verify payment -->
27
+ <ng-template #beforeListTemplate>
28
+ <x-common-payment [data]="verifyPaymentData"></x-common-payment>
29
+ </ng-template>
30
+
31
+ <!-- show payment buttons -->
32
+ <ng-template #afterShowTemplate let-item="item">
33
+ <div
34
+ *ngIf="item"
35
+ class="d-flex justify-content-center align-items-center"
36
+ >
37
+ <div class="btn-toolbar">
38
+ <div class="btn-group">
39
+ <button
40
+ type="button"
41
+ class="btn btn-primary"
42
+ (click)="download(item.receiptUrl)"
43
+ [attr.disabled]="item.receiptUrl ? null : true"
44
+ >
45
+ {{
46
+ 'apps.capital.payment.collection.links.secondary.download-receipt.title'
47
+ | xTranslate
48
+ }}
49
+ </button>
50
+ </div>
51
+ </div>
52
+ </div>
53
+ </ng-template>
54
+
55
+ <!-- misc -->
56
+ <ng-template #loader>
57
+ <x-element-loader></x-element-loader>
58
+ </ng-template>
59
+
60
+ <ng-template #empty>
61
+ <x-element-blank></x-element-blank>
62
+ </ng-template>
63
+ `, isInline: true, dependencies: [{ kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: i2.PaymentComponent, selector: "x-common-payment", inputs: ["data"] }, { kind: "component", type: i3.BlankComponent, selector: "x-element-blank", inputs: ["image", "icon", "type"] }, { kind: "component", type: i3.LoaderComponent, selector: "x-element-loader", inputs: ["data"] }, { kind: "pipe", type: i4.TranslatePipe, name: "xTranslate" }] }); }
64
+ }
65
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.0.5", ngImport: i0, type: PaymentComponent, decorators: [{
66
+ type: Component,
67
+ args: [{ selector: 'app-payment', template: `
68
+ <!-- verify payment -->
69
+ <ng-template #beforeListTemplate>
70
+ <x-common-payment [data]="verifyPaymentData"></x-common-payment>
71
+ </ng-template>
72
+
73
+ <!-- show payment buttons -->
74
+ <ng-template #afterShowTemplate let-item="item">
75
+ <div
76
+ *ngIf="item"
77
+ class="d-flex justify-content-center align-items-center"
78
+ >
79
+ <div class="btn-toolbar">
80
+ <div class="btn-group">
81
+ <button
82
+ type="button"
83
+ class="btn btn-primary"
84
+ (click)="download(item.receiptUrl)"
85
+ [attr.disabled]="item.receiptUrl ? null : true"
86
+ >
87
+ {{
88
+ 'apps.capital.payment.collection.links.secondary.download-receipt.title'
89
+ | xTranslate
90
+ }}
91
+ </button>
92
+ </div>
93
+ </div>
94
+ </div>
95
+ </ng-template>
96
+
97
+ <!-- misc -->
98
+ <ng-template #loader>
99
+ <x-element-loader></x-element-loader>
100
+ </ng-template>
101
+
102
+ <ng-template #empty>
103
+ <x-element-blank></x-element-blank>
104
+ </ng-template>
105
+ ` }]
106
+ }], propDecorators: { beforeListTemplate: [{
107
+ type: ViewChild,
108
+ args: ['beforeListTemplate', {
109
+ read: TemplateRef,
110
+ static: true,
111
+ }]
112
+ }], afterShowTemplate: [{
113
+ type: ViewChild,
114
+ args: ['afterShowTemplate', {
115
+ read: TemplateRef,
116
+ static: true,
117
+ }]
118
+ }] } });
119
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicGF5bWVudC5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9jYXBpdGFsL3NyYy9saWIvcGFnZXMvcGF5bWVudC9wYXltZW50LmNvbXBvbmVudC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFFLE1BQU0sRUFBRSxXQUFXLEVBQUUsU0FBUyxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBRTFFLE9BQU8sRUFBRSxNQUFNLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSx1QkFBdUIsQ0FBQztBQUNqRSxPQUFPLEVBQUUsc0JBQXNCLEVBQUUsYUFBYSxFQUFFLE1BQU0scUJBQXFCLENBQUM7Ozs7OztBQTZDNUUsTUFBTSxPQUFPLGdCQUFpQixTQUFRLHNCQUFzQjtJQTNDNUQ7O1FBNENXLGtCQUFhLEdBQUcsTUFBTSxDQUFDLGFBQWEsQ0FBQyxDQUFDO1FBYy9DLHNCQUFpQixHQUFvQjtZQUNuQyxJQUFJLEVBQUUsUUFBUTtZQUNkLE9BQU8sRUFBRSxNQUFNLENBQUMsVUFBVSxDQUFDO1lBQzNCLE1BQU0sRUFBRSxHQUFHO1lBQ1gsS0FBSyxFQUFFLEVBQUU7WUFDVCxPQUFPLEVBQUUsRUFBRTtTQUNaLENBQUM7S0FLSDtJQUhDLFFBQVEsQ0FBQyxHQUFXO1FBQ2xCLGdCQUFnQixDQUFDLEdBQUcsRUFBRSxJQUFJLENBQUMsQ0FBQztJQUM5QixDQUFDOzhHQXpCVSxnQkFBZ0I7a0dBQWhCLGdCQUFnQix3SkFJbkIsV0FBVywrSEFNWCxXQUFXLGtFQW5EVDs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7R0FzQ1Q7OzJGQUdVLGdCQUFnQjtrQkEzQzVCLFNBQVM7K0JBQ0UsYUFBYSxZQUNiOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztHQXNDVDs4QkFVRCxrQkFBa0I7c0JBSmpCLFNBQVM7dUJBQUMsb0JBQW9CLEVBQUU7d0JBQy9CLElBQUksRUFBRSxXQUFXO3dCQUNqQixNQUFNLEVBQUUsSUFBSTtxQkFDYjtnQkFPRCxpQkFBaUI7c0JBSmhCLFNBQVM7dUJBQUMsbUJBQW1CLEVBQUU7d0JBQzlCLElBQUksRUFBRSxXQUFXO3dCQUNqQixNQUFNLEVBQUUsSUFBSTtxQkFDYiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbXBvbmVudCwgaW5qZWN0LCBUZW1wbGF0ZVJlZiwgVmlld0NoaWxkIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBQYXltZW50Q29udHJhY3QgfSBmcm9tICdAdGhlc2NhZmZvbGQvbmd4LWNvbW1vbic7XG5pbXBvcnQgeyBnZXRFbnYsIG5hdmlnYXRlRXh0ZXJuYWwgfSBmcm9tICdAdGhlc2NhZmZvbGQvbmd4LWNvcmUnO1xuaW1wb3J0IHsgQ3J1ZENvbXBvbmVudERpcmVjdGl2ZSwgRmx5b3V0U2VydmljZSB9IGZyb20gJ0B0aGVzY2FmZm9sZC9uZ3gtdWknO1xuXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdhcHAtcGF5bWVudCcsXG4gIHRlbXBsYXRlOiBgXG4gICAgPCEtLSB2ZXJpZnkgcGF5bWVudCAtLT5cbiAgICA8bmctdGVtcGxhdGUgI2JlZm9yZUxpc3RUZW1wbGF0ZT5cbiAgICAgIDx4LWNvbW1vbi1wYXltZW50IFtkYXRhXT1cInZlcmlmeVBheW1lbnREYXRhXCI+PC94LWNvbW1vbi1wYXltZW50PlxuICAgIDwvbmctdGVtcGxhdGU+XG5cbiAgICA8IS0tIHNob3cgcGF5bWVudCBidXR0b25zIC0tPlxuICAgIDxuZy10ZW1wbGF0ZSAjYWZ0ZXJTaG93VGVtcGxhdGUgbGV0LWl0ZW09XCJpdGVtXCI+XG4gICAgICA8ZGl2XG4gICAgICAgICpuZ0lmPVwiaXRlbVwiXG4gICAgICAgIGNsYXNzPVwiZC1mbGV4IGp1c3RpZnktY29udGVudC1jZW50ZXIgYWxpZ24taXRlbXMtY2VudGVyXCJcbiAgICAgID5cbiAgICAgICAgPGRpdiBjbGFzcz1cImJ0bi10b29sYmFyXCI+XG4gICAgICAgICAgPGRpdiBjbGFzcz1cImJ0bi1ncm91cFwiPlxuICAgICAgICAgICAgPGJ1dHRvblxuICAgICAgICAgICAgICB0eXBlPVwiYnV0dG9uXCJcbiAgICAgICAgICAgICAgY2xhc3M9XCJidG4gYnRuLXByaW1hcnlcIlxuICAgICAgICAgICAgICAoY2xpY2spPVwiZG93bmxvYWQoaXRlbS5yZWNlaXB0VXJsKVwiXG4gICAgICAgICAgICAgIFthdHRyLmRpc2FibGVkXT1cIml0ZW0ucmVjZWlwdFVybCA/IG51bGwgOiB0cnVlXCJcbiAgICAgICAgICAgID5cbiAgICAgICAgICAgICAge3tcbiAgICAgICAgICAgICAgICAnYXBwcy5jYXBpdGFsLnBheW1lbnQuY29sbGVjdGlvbi5saW5rcy5zZWNvbmRhcnkuZG93bmxvYWQtcmVjZWlwdC50aXRsZSdcbiAgICAgICAgICAgICAgICAgIHwgeFRyYW5zbGF0ZVxuICAgICAgICAgICAgICB9fVxuICAgICAgICAgICAgPC9idXR0b24+XG4gICAgICAgICAgPC9kaXY+XG4gICAgICAgIDwvZGl2PlxuICAgICAgPC9kaXY+XG4gICAgPC9uZy10ZW1wbGF0ZT5cblxuICAgIDwhLS0gbWlzYyAtLT5cbiAgICA8bmctdGVtcGxhdGUgI2xvYWRlcj5cbiAgICAgIDx4LWVsZW1lbnQtbG9hZGVyPjwveC1lbGVtZW50LWxvYWRlcj5cbiAgICA8L25nLXRlbXBsYXRlPlxuXG4gICAgPG5nLXRlbXBsYXRlICNlbXB0eT5cbiAgICAgIDx4LWVsZW1lbnQtYmxhbms+PC94LWVsZW1lbnQtYmxhbms+XG4gICAgPC9uZy10ZW1wbGF0ZT5cbiAgYCxcbiAgc3R5bGVzOiBbXSxcbn0pXG5leHBvcnQgY2xhc3MgUGF5bWVudENvbXBvbmVudCBleHRlbmRzIENydWRDb21wb25lbnREaXJlY3RpdmUge1xuICByZWFkb25seSBmbHlvdXRTZXJ2aWNlID0gaW5qZWN0KEZseW91dFNlcnZpY2UpO1xuXG4gIEBWaWV3Q2hpbGQoJ2JlZm9yZUxpc3RUZW1wbGF0ZScsIHtcbiAgICByZWFkOiBUZW1wbGF0ZVJlZixcbiAgICBzdGF0aWM6IHRydWUsXG4gIH0pXG4gIGJlZm9yZUxpc3RUZW1wbGF0ZSE6IFRlbXBsYXRlUmVmPGFueT47XG5cbiAgQFZpZXdDaGlsZCgnYWZ0ZXJTaG93VGVtcGxhdGUnLCB7XG4gICAgcmVhZDogVGVtcGxhdGVSZWYsXG4gICAgc3RhdGljOiB0cnVlLFxuICB9KVxuICBhZnRlclNob3dUZW1wbGF0ZSE6IFRlbXBsYXRlUmVmPGFueT47XG5cbiAgdmVyaWZ5UGF5bWVudERhdGE6IFBheW1lbnRDb250cmFjdCA9IHtcbiAgICBtb2RlOiAndmVyaWZ5JyxcbiAgICBhcHBOYW1lOiBnZXRFbnYoJ0FQUF9OQU1FJyksXG4gICAgYW1vdW50OiAwLjAsXG4gICAgaG9va3M6IHt9LFxuICAgIG9wdGlvbnM6IFtdLFxuICB9O1xuXG4gIGRvd25sb2FkKHVybDogc3RyaW5nKSB7XG4gICAgbmF2aWdhdGVFeHRlcm5hbCh1cmwsIHRydWUpO1xuICB9XG59XG4iXX0=
@@ -0,0 +1,32 @@
1
+ import { NgModule } from '@angular/core';
2
+ import { PaymentModule as PkgPaymentModule } from '@thescaffold/ngx-common';
3
+ import { PipesModule, SharedModule } from '@thescaffold/ngx-core';
4
+ import { CRUD_PROVIDER, CrudModule, ElementsModule } from '@thescaffold/ngx-ui';
5
+ import { PaymentComponent } from './payment.component';
6
+ import { PaymentProvider } from './payment.provider';
7
+ import * as i0 from "@angular/core";
8
+ export class PaymentModule {
9
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.0.5", ngImport: i0, type: PaymentModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule }); }
10
+ static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "18.0.5", ngImport: i0, type: PaymentModule, declarations: [PaymentComponent], imports: [SharedModule, PkgPaymentModule, ElementsModule, PipesModule], exports: [CrudModule] }); }
11
+ static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "18.0.5", ngImport: i0, type: PaymentModule, providers: [
12
+ {
13
+ provide: CRUD_PROVIDER,
14
+ useClass: PaymentProvider,
15
+ },
16
+ ], imports: [SharedModule, PkgPaymentModule, ElementsModule, PipesModule, CrudModule] }); }
17
+ }
18
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.0.5", ngImport: i0, type: PaymentModule, decorators: [{
19
+ type: NgModule,
20
+ args: [{
21
+ declarations: [PaymentComponent],
22
+ exports: [CrudModule],
23
+ providers: [
24
+ {
25
+ provide: CRUD_PROVIDER,
26
+ useClass: PaymentProvider,
27
+ },
28
+ ],
29
+ imports: [SharedModule, PkgPaymentModule, ElementsModule, PipesModule],
30
+ }]
31
+ }] });
32
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicGF5bWVudC5tb2R1bGUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9jYXBpdGFsL3NyYy9saWIvcGFnZXMvcGF5bWVudC9wYXltZW50Lm1vZHVsZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsUUFBUSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQ3pDLE9BQU8sRUFBRSxhQUFhLElBQUksZ0JBQWdCLEVBQUUsTUFBTSx5QkFBeUIsQ0FBQztBQUM1RSxPQUFPLEVBQUUsV0FBVyxFQUFFLFlBQVksRUFBRSxNQUFNLHVCQUF1QixDQUFDO0FBQ2xFLE9BQU8sRUFBRSxhQUFhLEVBQUUsVUFBVSxFQUFFLGNBQWMsRUFBRSxNQUFNLHFCQUFxQixDQUFDO0FBQ2hGLE9BQU8sRUFBRSxnQkFBZ0IsRUFBRSxNQUFNLHFCQUFxQixDQUFDO0FBQ3ZELE9BQU8sRUFBRSxlQUFlLEVBQUUsTUFBTSxvQkFBb0IsQ0FBQzs7QUFhckQsTUFBTSxPQUFPLGFBQWE7OEdBQWIsYUFBYTsrR0FBYixhQUFhLGlCQVZULGdCQUFnQixhQVFyQixZQUFZLEVBQUUsZ0JBQWdCLEVBQUUsY0FBYyxFQUFFLFdBQVcsYUFQM0QsVUFBVTsrR0FTVCxhQUFhLGFBUmI7WUFDVDtnQkFDRSxPQUFPLEVBQUUsYUFBYTtnQkFDdEIsUUFBUSxFQUFFLGVBQWU7YUFDMUI7U0FDRixZQUNTLFlBQVksRUFBRSxnQkFBZ0IsRUFBRSxjQUFjLEVBQUUsV0FBVyxFQVAzRCxVQUFVOzsyRkFTVCxhQUFhO2tCQVh6QixRQUFRO21CQUFDO29CQUNSLFlBQVksRUFBRSxDQUFDLGdCQUFnQixDQUFDO29CQUNoQyxPQUFPLEVBQUUsQ0FBQyxVQUFVLENBQUM7b0JBQ3JCLFNBQVMsRUFBRTt3QkFDVDs0QkFDRSxPQUFPLEVBQUUsYUFBYTs0QkFDdEIsUUFBUSxFQUFFLGVBQWU7eUJBQzFCO3FCQUNGO29CQUNELE9BQU8sRUFBRSxDQUFDLFlBQVksRUFBRSxnQkFBZ0IsRUFBRSxjQUFjLEVBQUUsV0FBVyxDQUFDO2lCQUN2RSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IE5nTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBQYXltZW50TW9kdWxlIGFzIFBrZ1BheW1lbnRNb2R1bGUgfSBmcm9tICdAdGhlc2NhZmZvbGQvbmd4LWNvbW1vbic7XG5pbXBvcnQgeyBQaXBlc01vZHVsZSwgU2hhcmVkTW9kdWxlIH0gZnJvbSAnQHRoZXNjYWZmb2xkL25neC1jb3JlJztcbmltcG9ydCB7IENSVURfUFJPVklERVIsIENydWRNb2R1bGUsIEVsZW1lbnRzTW9kdWxlIH0gZnJvbSAnQHRoZXNjYWZmb2xkL25neC11aSc7XG5pbXBvcnQgeyBQYXltZW50Q29tcG9uZW50IH0gZnJvbSAnLi9wYXltZW50LmNvbXBvbmVudCc7XG5pbXBvcnQgeyBQYXltZW50UHJvdmlkZXIgfSBmcm9tICcuL3BheW1lbnQucHJvdmlkZXInO1xuXG5ATmdNb2R1bGUoe1xuICBkZWNsYXJhdGlvbnM6IFtQYXltZW50Q29tcG9uZW50XSxcbiAgZXhwb3J0czogW0NydWRNb2R1bGVdLFxuICBwcm92aWRlcnM6IFtcbiAgICB7XG4gICAgICBwcm92aWRlOiBDUlVEX1BST1ZJREVSLFxuICAgICAgdXNlQ2xhc3M6IFBheW1lbnRQcm92aWRlcixcbiAgICB9LFxuICBdLFxuICBpbXBvcnRzOiBbU2hhcmVkTW9kdWxlLCBQa2dQYXltZW50TW9kdWxlLCBFbGVtZW50c01vZHVsZSwgUGlwZXNNb2R1bGVdLFxufSlcbmV4cG9ydCBjbGFzcyBQYXltZW50TW9kdWxlIHt9XG4iXX0=
@@ -0,0 +1,212 @@
1
+ import { Injectable } from '@angular/core';
2
+ import { navigateExternal, toMajor } from '@thescaffold/ngx-core';
3
+ import { CrudActionType, CrudProvider } from '@thescaffold/ngx-ui';
4
+ import { PaymentComponent } from './payment.component';
5
+ import * as i0 from "@angular/core";
6
+ export class PaymentProvider extends CrudProvider {
7
+ constructor() {
8
+ super(...arguments);
9
+ this.main = true;
10
+ this.name = this.translate('apps.capital.payment.name');
11
+ this.pluralName = this.translate('apps.capital.payment.plural');
12
+ this.dataSource = this.apiService.on('apps/capital/payment');
13
+ this.path = ['/', 'payments'];
14
+ this.columns = [
15
+ {
16
+ key: 'reference',
17
+ value: this.translate('apps.capital.payment.columns.reference.title'),
18
+ type: 'link',
19
+ links: (column, item) => [
20
+ {
21
+ title: `${item.reference?.slice(0, 10)}...${item.reference?.slice(-10)}`.toLowerCase(),
22
+ fn: (link) => {
23
+ this.show(item);
24
+ },
25
+ },
26
+ ],
27
+ },
28
+ {
29
+ key: 'currency',
30
+ value: this.translate('apps.capital.payment.columns.currency.title'),
31
+ },
32
+ {
33
+ key: 'cost',
34
+ value: this.translate('apps.capital.payment.columns.cost.title'),
35
+ },
36
+ {
37
+ key: 'createdAt',
38
+ value: '',
39
+ type: 'date',
40
+ },
41
+ {
42
+ key: 'status',
43
+ value: '',
44
+ type: 'class',
45
+ class: 'badge border text-primary',
46
+ },
47
+ ];
48
+ this.fields = [];
49
+ this.templateSource = PaymentComponent;
50
+ this.routes = {
51
+ // [CrudActionType.CloseCreate]: ['/', 'payments'],
52
+ // [CrudActionType.AfterSave]: ['/', 'payments'],
53
+ // [CrudActionType.CloseEdit]: ['/', 'payments'],
54
+ // [CrudActionType.AfterUpdate]: ['/', 'payments'],
55
+ // [CrudActionType.CloseShow]: ['/', 'payments'],
56
+ // [CrudActionType.CloseDelete]: ['/', 'payments'],
57
+ // [CrudActionType.AfterRemove]: ['/', 'payments'],
58
+ };
59
+ this.morphs = {
60
+ [CrudActionType.BeforeSave]: (payload) => {
61
+ return payload;
62
+ },
63
+ [CrudActionType.AfterSave]: (payload) => {
64
+ return payload;
65
+ },
66
+ [CrudActionType.BeforeEdit]: (payload) => {
67
+ return payload;
68
+ },
69
+ [CrudActionType.AfterEdit]: (payload) => {
70
+ return payload;
71
+ },
72
+ [CrudActionType.BeforeUpdate]: (payload) => {
73
+ return payload;
74
+ },
75
+ [CrudActionType.AfterUpdate]: (payload) => {
76
+ return payload;
77
+ },
78
+ [CrudActionType.BeforeShow]: (payload) => {
79
+ return {
80
+ list: [
81
+ {
82
+ title: this.translate('apps.capital.payment.columns.reference.title'),
83
+ value: payload.reference,
84
+ copyable: true,
85
+ },
86
+ {
87
+ title: this.translate('apps.capital.payment.columns.plan.title'),
88
+ value: payload.plan.type.name,
89
+ },
90
+ {
91
+ title: this.translate('apps.capital.payment.columns.period.title'),
92
+ value: payload.period,
93
+ },
94
+ {
95
+ title: this.translate('apps.capital.payment.columns.currency.title'),
96
+ value: payload.currency,
97
+ },
98
+ {
99
+ title: this.translate('apps.capital.payment.columns.cost.title'),
100
+ value: payload.cost,
101
+ },
102
+ {
103
+ title: this.translate('apps.capital.payment.columns.paid.title'),
104
+ value: payload.paid ? 'Paid' : 'Pending',
105
+ },
106
+ ],
107
+ ...payload,
108
+ };
109
+ },
110
+ [CrudActionType.AfterShow]: (payload) => {
111
+ return payload;
112
+ },
113
+ [CrudActionType.BeforeList]: (payload) => {
114
+ return {
115
+ page: payload.page,
116
+ perPage: payload.perPage,
117
+ relations: 'plan,plan.type',
118
+ };
119
+ },
120
+ [CrudActionType.AfterList]: (payload) => {
121
+ return payload;
122
+ },
123
+ [CrudActionType.BeforeDelete]: (payload) => {
124
+ return payload;
125
+ },
126
+ [CrudActionType.AfterDelete]: (payload) => {
127
+ return payload;
128
+ },
129
+ [CrudActionType.BeforeRemove]: (payload) => {
130
+ return payload;
131
+ },
132
+ [CrudActionType.AfterRemove]: (payload) => {
133
+ return payload;
134
+ },
135
+ };
136
+ this.hooks = {
137
+ [CrudActionType.BeforeCreate]: () => { },
138
+ [CrudActionType.AfterCreate]: () => { },
139
+ [CrudActionType.BeforeSave]: (payload) => { },
140
+ [CrudActionType.AfterSave]: (payload, data) => { },
141
+ [CrudActionType.BeforeEdit]: (payload) => { },
142
+ [CrudActionType.AfterEdit]: (payload) => { },
143
+ [CrudActionType.BeforeUpdate]: (payload) => { },
144
+ [CrudActionType.AfterUpdate]: (payload, data) => { },
145
+ [CrudActionType.BeforeShow]: (payload) => { },
146
+ [CrudActionType.AfterShow]: (payload) => { },
147
+ [CrudActionType.BeforeList]: (payload) => { },
148
+ [CrudActionType.AfterList]: (payload, data) => { },
149
+ [CrudActionType.BeforeDelete]: (payload) => { },
150
+ [CrudActionType.AfterDelete]: (payload) => { },
151
+ [CrudActionType.BeforeRemove]: (payload) => { },
152
+ [CrudActionType.AfterRemove]: (payload, data) => { },
153
+ };
154
+ this.toCollection = (response) => {
155
+ return {
156
+ title: this.pluralName,
157
+ columns: this.columns,
158
+ rows: response?.data?.map((row) => ({
159
+ ...row,
160
+ cost: toMajor(row.cost),
161
+ })),
162
+ links: {
163
+ primary: [],
164
+ secondary: [
165
+ {
166
+ title: this.translate('apps.capital.payment.collection.links.secondary.view.title'),
167
+ fn: (link, item) => {
168
+ this.show(item);
169
+ },
170
+ },
171
+ {
172
+ title: this.translate('apps.capital.payment.collection.links.secondary.download-receipt.title'),
173
+ fn: (link, item) => {
174
+ navigateExternal(item.receiptUrl, true);
175
+ },
176
+ enabled: (link, item) => {
177
+ return !!item.receiptUrl;
178
+ },
179
+ },
180
+ ],
181
+ tertiary: [],
182
+ empty: [
183
+ // {
184
+ // title: this.translate(
185
+ // 'apps.capital.payment.collection.links.empty.learn-more.title',
186
+ // ),
187
+ // fn: (link: any) => {
188
+ // navigateExternal(`${getEnv('DOCS_BASE_URL')}/payments`, true);
189
+ // },
190
+ // },
191
+ ],
192
+ },
193
+ hasTextFilter: true,
194
+ hasDateFilter: false,
195
+ selectable: false,
196
+ hasHeaders: true,
197
+ page: response?.meta?.current_page,
198
+ perPage: response?.meta?.per_page,
199
+ total: response?.meta?.total,
200
+ };
201
+ };
202
+ }
203
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.0.5", ngImport: i0, type: PaymentProvider, deps: null, target: i0.ɵɵFactoryTarget.Injectable }); }
204
+ static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "18.0.5", ngImport: i0, type: PaymentProvider, providedIn: 'root' }); }
205
+ }
206
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.0.5", ngImport: i0, type: PaymentProvider, decorators: [{
207
+ type: Injectable,
208
+ args: [{
209
+ providedIn: 'root',
210
+ }]
211
+ }] });
212
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicGF5bWVudC5wcm92aWRlci5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2NhcGl0YWwvc3JjL2xpYi9wYWdlcy9wYXltZW50L3BheW1lbnQucHJvdmlkZXIudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUMzQyxPQUFPLEVBQUUsZ0JBQWdCLEVBQUUsT0FBTyxFQUFFLE1BQU0sdUJBQXVCLENBQUM7QUFDbEUsT0FBTyxFQUFFLGNBQWMsRUFBRSxZQUFZLEVBQUUsTUFBTSxxQkFBcUIsQ0FBQztBQUNuRSxPQUFPLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSxxQkFBcUIsQ0FBQzs7QUFLdkQsTUFBTSxPQUFPLGVBQWdCLFNBQVEsWUFBWTtJQUhqRDs7UUFJVyxTQUFJLEdBQUcsSUFBSSxDQUFDO1FBQ1osU0FBSSxHQUFHLElBQUksQ0FBQyxTQUFTLENBQUMsMkJBQTJCLENBQUMsQ0FBQztRQUNuRCxlQUFVLEdBQUcsSUFBSSxDQUFDLFNBQVMsQ0FBQyw2QkFBNkIsQ0FBQyxDQUFDO1FBQzNELGVBQVUsR0FBRyxJQUFJLENBQUMsVUFBVSxDQUFDLEVBQUUsQ0FBQyxzQkFBc0IsQ0FBQyxDQUFDO1FBQ3hELFNBQUksR0FBRyxDQUFDLEdBQUcsRUFBRSxVQUFVLENBQUMsQ0FBQztRQUN6QixZQUFPLEdBQUc7WUFDakI7Z0JBQ0UsR0FBRyxFQUFFLFdBQVc7Z0JBQ2hCLEtBQUssRUFBRSxJQUFJLENBQUMsU0FBUyxDQUFDLDhDQUE4QyxDQUFDO2dCQUNyRSxJQUFJLEVBQUUsTUFBTTtnQkFDWixLQUFLLEVBQUUsQ0FBQyxNQUFXLEVBQUUsSUFBUyxFQUFFLEVBQUUsQ0FBQztvQkFDakM7d0JBQ0UsS0FBSyxFQUNILEdBQUcsSUFBSSxDQUFDLFNBQVMsRUFBRSxLQUFLLENBQUMsQ0FBQyxFQUFFLEVBQUUsQ0FBQyxNQUFNLElBQUksQ0FB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Q0FDaEMsT0FBTyxDQUFDLENBQUMsSUFBSSxDQUFDLFVBQVUsQ0FBQzs0QkFDM0IsQ0FBQzt5QkFDRjtxQkFDRjtvQkFDRCxRQUFRLEVBQUUsRUFBRTtvQkFDWixLQUFLLEVBQUU7b0JBQ0wsSUFBSTtvQkFDSiwyQkFBMkI7b0JBQzNCLHNFQUFzRTtvQkFDdEUsT0FBTztvQkFDUCx5QkFBeUI7b0JBQ3pCLHFFQUFxRTtvQkFDckUsT0FBTztvQkFDUCxLQUFLO3FCQUNOO2lCQUNGO2dCQUNELGFBQWEsRUFBRSxJQUFJO2dCQUNuQixhQUFhLEVBQUUsS0FBSztnQkFDcEIsVUFBVSxFQUFFLEtBQUs7Z0JBQ2pCLFVBQVUsRUFBRSxJQUFJO2dCQUNoQixJQUFJLEVBQUUsUUFBUSxFQUFFLElBQUksRUFBRSxZQUFZO2dCQUNsQyxPQUFPLEVBQUUsUUFBUSxFQUFFLElBQUksRUFBRSxRQUFRO2dCQUNqQyxLQUFLLEVBQUUsUUFBUSxFQUFFLElBQUksRUFBRSxLQUFLO2FBQzdCLENBQUM7UUFDSixDQUFDLENBQUM7S0FDSDs4R0FoTlksZUFBZTtrSEFBZixlQUFlLGNBRmQsTUFBTTs7MkZBRVAsZUFBZTtrQkFIM0IsVUFBVTttQkFBQztvQkFDVixVQUFVLEVBQUUsTUFBTTtpQkFDbkIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBJbmplY3RhYmxlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBuYXZpZ2F0ZUV4dGVybmFsLCB0b01ham9yIH0gZnJvbSAnQHRoZXNjYWZmb2xkL25neC1jb3JlJztcbmltcG9ydCB7IENydWRBY3Rpb25UeXBlLCBDcnVkUHJvdmlkZXIgfSBmcm9tICdAdGhlc2NhZmZvbGQvbmd4LXVpJztcbmltcG9ydCB7IFBheW1lbnRDb21wb25lbnQgfSBmcm9tICcuL3BheW1lbnQuY29tcG9uZW50JztcblxuQEluamVjdGFibGUoe1xuICBwcm92aWRlZEluOiAncm9vdCcsXG59KVxuZXhwb3J0IGNsYXNzIFBheW1lbnRQcm92aWRlciBleHRlbmRzIENydWRQcm92aWRlciB7XG4gIG92ZXJyaWRlIG1haW4gPSB0cnVlO1xuICBvdmVycmlkZSBuYW1lID0gdGhpcy50cmFuc2xhdGUoJ2FwcHMuY2FwaXRhbC5wYXltZW50Lm5hbWUnKTtcbiAgb3ZlcnJpZGUgcGx1cmFsTmFtZSA9IHRoaXMudHJhbnNsYXRlKCdhcHBzLmNhcGl0YWwucGF5bWVudC5wbHVyYWwnKTtcbiAgb3ZlcnJpZGUgZGF0YVNvdXJjZSA9IHRoaXMuYXBpU2VydmljZS5vbignYXBwcy9jYXBpdGFsL3BheW1lbnQnKTtcbiAgb3ZlcnJpZGUgcGF0aCA9IFsnLycsICdwYXltZW50cyddO1xuICBvdmVycmlkZSBjb2x1bW5zID0gW1xuICAgIHtcbiAgICAgIGtleTogJ3JlZmVyZW5jZScsXG4gICAgICB2YWx1ZTogdGhpcy50cmFuc2xhdGUoJ2FwcHMuY2FwaXRhbC5wYXltZW50LmNvbHVtbnMucmVmZXJlbmNlLnRpdGxlJyksXG4gICAgICB0eXBlOiAnbGluaycsXG4gICAgICBsaW5rczogKGNvbHVtbjogYW55LCBpdGVtOiBhbnkpID0+IFtcbiAgICAgICAge1xuICAgICAgICAgIHRpdGxlOlxuICAgICAgICAgICAgYCR7aXRlbS5yZWZlcmVuY2U/LnNsaWNlKDAsIDEwKX0uLi4ke2l0ZW0ucmVmZXJlbmNlPy5zbGljZSgtMTApfWAudG9Mb3dlckNhc2UoKSxcbiAgICAgICAgICBmbjogKGxpbms6IGFueSkgPT4ge1xuICAgICAgICAgICAgdGhpcy5zaG93KGl0ZW0pO1xuICAgICAgICAgIH0sXG4gICAgICAgIH0sXG4gICAgICBdLFxuICAgIH0sXG4gICAge1xuICAgICAga2V5OiAnY3VycmVuY3knLFxuICAgICAgdmFsdWU6IHRoaXMudHJhbnNsYXRlKCdhcHBzLmNhcGl0YWwucGF5bWVudC5jb2x1bW5zLmN1cnJlbmN5LnRpdGxlJyksXG4gICAgfSxcbiAgICB7XG4gICAgICBrZXk6ICdjb3N0JyxcbiAgICAgIHZhbHVlOiB0aGlzLnRyYW5zbGF0ZSgnYXBwcy5jYXBpdGFsLnBheW1lbnQuY29sdW1ucy5jb3N0LnRpdGxlJyksXG4gICAgfSxcbiAgICB7XG4gICAgICBrZXk6ICdjcmVhdGVkQXQnLFxuICAgICAgdmFsdWU6ICcnLFxuICAgICAgdHlwZTogJ2RhdGUnLFxuICAgIH0sXG4gICAge1xuICAgICAga2V5OiAnc3RhdHVzJyxcbiAgICAgIHZhbHVlOiAnJyxcbiAgICAgIHR5cGU6ICdjbGFzcycsXG4gICAgICBjbGFzczogJ2JhZGdlIGJvcmRlciB0ZXh0LXByaW1hcnknLFxuICAgIH0sXG4gIF07XG4gIG92ZXJyaWRlIGZpZWxkcyA9IFtdO1xuXG4gIG92ZXJyaWRlIHRlbXBsYXRlU291cmNlID0gUGF5bWVudENvbXBvbmVudDtcblxuICBvdmVycmlkZSByb3V0ZXMgPSB7XG4gICAgLy8gW0NydWRBY3Rpb25UeXBlLkNsb3NlQ3JlYXRlXTogWycvJywgJ3BheW1lbnRzJ10sXG4gICAgLy8gW0NydWRBY3Rpb25UeXBlLkFmdGVyU2F2ZV06IFsnLycsICdwYXltZW50cyddLFxuICAgIC8vIFtDcnVkQWN0aW9uVHlwZS5DbG9zZUVkaXRdOiBbJy8nLCAncGF5bWVudHMnXSxcbiAgICAvLyBbQ3J1ZEFjdGlvblR5cGUuQWZ0ZXJVcGRhdGVdOiBbJy8nLCAncGF5bWVudHMnXSxcbiAgICAvLyBbQ3J1ZEFjdGlvblR5cGUuQ2xvc2VTaG93XTogWycvJywgJ3BheW1lbnRzJ10sXG4gICAgLy8gW0NydWRBY3Rpb25UeXBlLkNsb3NlRGVsZXRlXTogWycvJywgJ3BheW1lbnRzJ10sXG4gICAgLy8gW0NydWRBY3Rpb25UeXBlLkFmdGVyUmVtb3ZlXTogWycvJywgJ3BheW1lbnRzJ10sXG4gIH07XG5cbiAgb3ZlcnJpZGUgbW9ycGhzID0ge1xuICAgIFtDcnVkQWN0aW9uVHlwZS5CZWZvcmVTYXZlXTogKHBheWxvYWQ6IGFueSkgPT4ge1xuICAgICAgcmV0dXJuIHBheWxvYWQ7XG4gICAgfSxcbiAgICBbQ3J1ZEFjdGlvblR5cGUuQWZ0ZXJTYXZlXTogKHBheWxvYWQ6IGFueSkgPT4ge1xuICAgICAgcmV0dXJuIHBheWxvYWQ7XG4gICAgfSxcbiAgICBbQ3J1ZEFjdGlvblR5cGUuQmVmb3JlRWRpdF06IChwYXlsb2FkOiBhbnkpID0+IHtcbiAgICAgIHJldHVybiBwYXlsb2FkO1xuICAgIH0sXG4gICAgW0NydWRBY3Rpb25UeXBlLkFmdGVyRWRpdF06IChwYXlsb2FkOiBhbnkpID0+IHtcbiAgICAgIHJldHVybiBwYXlsb2FkO1xuICAgIH0sXG4gICAgW0NydWRBY3Rpb25UeXBlLkJlZm9yZVVwZGF0ZV06IChwYXlsb2FkOiBhbnkpID0+IHtcbiAgICAgIHJldHVybiBwYXlsb2FkO1xuICAgIH0sXG4gICAgW0NydWRBY3Rpb25UeXBlLkFmdGVyVXBkYXRlXTogKHBheWxvYWQ6IGFueSkgPT4ge1xuICAgICAgcmV0dXJuIHBheWxvYWQ7XG4gICAgfSxcbiAgICBbQ3J1ZEFjdGlvblR5cGUuQmVmb3JlU2hvd106IChwYXlsb2FkOiBhbnkpID0+IHtcbiAgICAgIHJldHVybiB7XG4gICAgICAgIGxpc3Q6IFtcbiAgICAgICAgICB7XG4gICAgICAgICAgICB0aXRsZTogdGhpcy50cmFuc2xhdGUoXG4gICAgICAgICAgICAgICdhcHBzLmNhcGl0YWwucGF5bWVudC5jb2x1bW5zLnJlZmVyZW5jZS50aXRsZScsXG4gICAgICAgICAgICApLFxuICAgICAgICAgICAgdmFsdWU6IHBheWxvYWQucmVmZXJlbmNlLFxuICAgICAgICAgICAgY29weWFibGU6IHRydWUsXG4gICAgICAgICAgfSxcbiAgICAgICAgICB7XG4gICAgICAgICAgICB0aXRsZTogdGhpcy50cmFuc2xhdGUoJ2FwcHMuY2FwaXRhbC5wYXltZW50LmNvbHVtbnMucGxhbi50aXRsZScpLFxuICAgICAgICAgICAgdmFsdWU6IHBheWxvYWQucGxhbi50eXBlLm5hbWUsXG4gICAgICAgICAgfSxcbiAgICAgICAgICB7XG4gICAgICAgICAgICB0aXRsZTogdGhpcy50cmFuc2xhdGUoJ2FwcHMuY2FwaXRhbC5wYXltZW50LmNvbHVtbnMucGVyaW9kLnRpdGxlJyksXG4gICAgICAgICAgICB2YWx1ZTogcGF5bG9hZC5wZXJpb2QsXG4gICAgICAgICAgfSxcbiAgICAgICAgICB7XG4gICAgICAgICAgICB0aXRsZTogdGhpcy50cmFuc2xhdGUoXG4gICAgICAgICAgICAgICdhcHBzLmNhcGl0YWwucGF5bWVudC5jb2x1bW5zLmN1cnJlbmN5LnRpdGxlJyxcbiAgICAgICAgICAgICksXG4gICAgICAgICAgICB2YWx1ZTogcGF5bG9hZC5jdXJyZW5jeSxcbiAgICAgICAgICB9LFxuICAgICAgICAgIHtcbiAgICAgICAgICAgIHRpdGxlOiB0aGlzLnRyYW5zbGF0ZSgnYXBwcy5jYXBpdGFsLnBheW1lbnQuY29sdW1ucy5jb3N0LnRpdGxlJyksXG4gICAgICAgICAgICB2YWx1ZTogcGF5bG9hZC5jb3N0LFxuICAgICAgICAgIH0sXG4gICAgICAgICAge1xuICAgICAgICAgICAgdGl0bGU6IHRoaXMudHJhbnNsYXRlKCdhcHBzLmNhcGl0YWwucGF5bWVudC5jb2x1bW5zLnBhaWQudGl0bGUnKSxcbiAgICAgICAgICAgIHZhbHVlOiBwYXlsb2FkLnBhaWQgPyAnUGFpZCcgOiAnUGVuZGluZycsXG4gICAgICAgICAgfSxcbiAgICAgICAgXSxcbiAgICAgICAgLi4ucGF5bG9hZCxcbiAgICAgIH07XG4gICAgfSxcbiAgICBbQ3J1ZEFjdGlvblR5cGUuQWZ0ZXJTaG93XTogKHBheWxvYWQ6IGFueSkgPT4ge1xuICAgICAgcmV0dXJuIHBheWxvYWQ7XG4gICAgfSxcbiAgICBbQ3J1ZEFjdGlvblR5cGUuQmVmb3JlTGlzdF06IChwYXlsb2FkOiBhbnkpID0+IHtcbiAgICAgIHJldHVybiB7XG4gICAgICAgIHBhZ2U6IHBheWxvYWQucGFnZSxcbiAgICAgICAgcGVyUGFnZTogcGF5bG9hZC5wZXJQYWdlLFxuICAgICAgICByZWxhdGlvbnM6ICdwbGFuLHBsYW4udHlwZScsXG4gICAgICB9O1xuICAgIH0sXG4gICAgW0NydWRBY3Rpb25UeXBlLkFmdGVyTGlzdF06IChwYXlsb2FkOiBhbnkpID0+IHtcbiAgICAgIHJldHVybiBwYXlsb2FkO1xuICAgIH0sXG4gICAgW0NydWRBY3Rpb25UeXBlLkJlZm9yZURlbGV0ZV06IChwYXlsb2FkOiBhbnkpID0+IHtcbiAgICAgIHJldHVybiBwYXlsb2FkO1xuICAgIH0sXG4gICAgW0NydWRBY3Rpb25UeXBlLkFmdGVyRGVsZXRlXTogKHBheWxvYWQ6IGFueSkgPT4ge1xuICAgICAgcmV0dXJuIHBheWxvYWQ7XG4gICAgfSxcbiAgICBbQ3J1ZEFjdGlvblR5cGUuQmVmb3JlUmVtb3ZlXTogKHBheWxvYWQ6IGFueSkgPT4ge1xuICAgICAgcmV0dXJuIHBheWxvYWQ7XG4gICAgfSxcbiAgICBbQ3J1ZEFjdGlvblR5cGUuQWZ0ZXJSZW1vdmVdOiAocGF5bG9hZDogYW55KSA9PiB7XG4gICAgICByZXR1cm4gcGF5bG9hZDtcbiAgICB9LFxuICB9O1xuXG4gIG92ZXJyaWRlIGhvb2tzID0ge1xuICAgIFtDcnVkQWN0aW9uVHlwZS5CZWZvcmVDcmVhdGVdOiAoKSA9PiB7fSxcbiAgICBbQ3J1ZEFjdGlvblR5cGUuQWZ0ZXJDcmVhdGVdOiAoKSA9PiB7fSxcbiAgICBbQ3J1ZEFjdGlvblR5cGUuQmVmb3JlU2F2ZV06IChwYXlsb2FkOiBhbnkpID0+IHt9LFxuICAgIFtDcnVkQWN0aW9uVHlwZS5BZnRlclNhdmVdOiAocGF5bG9hZDogYW55LCBkYXRhOiBhbnkpID0+IHt9LFxuICAgIFtDcnVkQWN0aW9uVHlwZS5CZWZvcmVFZGl0XTogKHBheWxvYWQ6IGFueSkgPT4ge30sXG4gICAgW0NydWRBY3Rpb25UeXBlLkFmdGVyRWRpdF06IChwYXlsb2FkOiBhbnkpID0+IHt9LFxuICAgIFtDcnVkQWN0aW9uVHlwZS5CZWZvcmVVcGRhdGVdOiAocGF5bG9hZDogYW55KSA9PiB7fSxcbiAgICBbQ3J1ZEFjdGlvblR5cGUuQWZ0ZXJVcGRhdGVdOiAocGF5bG9hZDogYW55LCBkYXRhOiBhbnkpID0+IHt9LFxuICAgIFtDcnVkQWN0aW9uVHlwZS5CZWZvcmVTaG93XTogKHBheWxvYWQ6IGFueSkgPT4ge30sXG4gICAgW0NydWRBY3Rpb25UeXBlLkFmdGVyU2hvd106IChwYXlsb2FkOiBhbnkpID0+IHt9LFxuICAgIFtDcnVkQWN0aW9uVHlwZS5CZWZvcmVMaXN0XTogKHBheWxvYWQ6IGFueSkgPT4ge30sXG4gICAgW0NydWRBY3Rpb25UeXBlLkFmdGVyTGlzdF06IChwYXlsb2FkOiBhbnksIGRhdGE6IGFueSkgPT4ge30sXG4gICAgW0NydWRBY3Rpb25UeXBlLkJlZm9yZURlbGV0ZV06IChwYXlsb2FkOiBhbnkpID0+IHt9LFxuICAgIFtDcnVkQWN0aW9uVHlwZS5BZnRlckRlbGV0ZV06IChwYXlsb2FkOiBhbnkpID0+IHt9LFxuICAgIFtDcnVkQWN0aW9uVHlwZS5CZWZvcmVSZW1vdmVdOiAocGF5bG9hZDogYW55KSA9PiB7fSxcbiAgICBbQ3J1ZEFjdGlvblR5cGUuQWZ0ZXJSZW1vdmVdOiAocGF5bG9hZDogYW55LCBkYXRhOiBhbnkpID0+IHt9LFxuICB9O1xuXG4gIG92ZXJyaWRlIHRvQ29sbGVjdGlvbiA9IChyZXNwb25zZTogYW55KSA9PiB7XG4gICAgcmV0dXJuIHtcbiAgICAgIHRpdGxlOiB0aGlzLnBsdXJhbE5hbWUsXG4gICAgICBjb2x1bW5zOiB0aGlzLmNvbHVtbnMsXG4gICAgICByb3dzOiByZXNwb25zZT8uZGF0YT8ubWFwKChyb3c6IGFueSkgPT4gKHtcbiAgICAgICAgLi4ucm93LFxuICAgICAgICBjb3N0OiB0b01ham9yKHJvdy5jb3N0KSxcbiAgICAgIH0pKSxcbiAgICAgIGxpbmtzOiB7XG4gICAgICAgIHByaW1hcnk6IFtdLFxuICAgICAgICBzZWNvbmRhcnk6IFtcbiAgICAgICAgICB7XG4gICAgICAgICAgICB0aXRsZTogdGhpcy50cmFuc2xhdGUoXG4gICAgICAgICAgICAgICdhcHBzLmNhcGl0YWwucGF5bWVudC5jb2xsZWN0aW9uLmxpbmtzLnNlY29uZGFyeS52aWV3LnRpdGxlJyxcbiAgICAgICAgICAgICksXG4gICAgICAgICAgICBmbjogKGxpbms6IGFueSwgaXRlbTogYW55KSA9PiB7XG4gICAgICAgICAgICAgIHRoaXMuc2hvdyhpdGVtKTtcbiAgICAgICAgICAgIH0sXG4gICAgICAgICAgfSxcbiAgICAgICAgICB7XG4gICAgICAgICAgICB0aXRsZTogdGhpcy50cmFuc2xhdGUoXG4gICAgICAgICAgICAgICdhcHBzLmNhcGl0YWwucGF5bWVudC5jb2xsZWN0aW9uLmxpbmtzLnNlY29uZGFyeS5kb3dubG9hZC1yZWNlaXB0LnRpdGxlJyxcbiAgICAgICAgICAgICksXG4gICAgICAgICAgICBmbjogKGxpbms6IGFueSwgaXRlbTogYW55KSA9PiB7XG4gICAgICAgICAgICAgIG5hdmlnYXRlRXh0ZXJuYWwoaXRlbS5yZWNlaXB0VXJsLCB0cnVlKTtcbiAgICAgICAgICAgIH0sXG4gICAgICAgICAgICBlbmFibGVkOiAobGluazogYW55LCBpdGVtOiBhbnkpID0+IHtcbiAgICAgICAgICAgICAgcmV0dXJuICEhaXRlbS5yZWNlaXB0VXJsO1xuICAgICAgICAgICAgfSxcbiAgICAgICAgICB9LFxuICAgICAgICBdLFxuICAgICAgICB0ZXJ0aWFyeTogW10sXG4gICAgICAgIGVtcHR5OiBbXG4gICAgICAgICAgLy8ge1xuICAgICAgICAgIC8vICAgdGl0bGU6IHRoaXMudHJhbnNsYXRlKFxuICAgICAgICAgIC8vICAgICAnYXBwcy5jYXBpdGFsLnBheW1lbnQuY29sbGVjdGlvbi5saW5rcy5lbXB0eS5sZWFybi1tb3JlLnRpdGxlJyxcbiAgICAgICAgICAvLyAgICksXG4gICAgICAgICAgLy8gICBmbjogKGxpbms6IGFueSkgPT4ge1xuICAgICAgICAgIC8vICAgICBuYXZpZ2F0ZUV4dGVybmFsKGAke2dldEVudignRE9DU19CQVNFX1VSTCcpfS9wYXltZW50c2AsIHRydWUpO1xuICAgICAgICAgIC8vICAgfSxcbiAgICAgICAgICAvLyB9LFxuICAgICAgICBdLFxuICAgICAgfSxcbiAgICAgIGhhc1RleHRGaWx0ZXI6IHRydWUsXG4gICAgICBoYXNEYXRlRmlsdGVyOiBmYWxzZSxcbiAgICAgIHNlbGVjdGFibGU6IGZhbHNlLFxuICAgICAgaGFzSGVhZGVyczogdHJ1ZSxcbiAgICAgIHBhZ2U6IHJlc3BvbnNlPy5tZXRhPy5jdXJyZW50X3BhZ2UsXG4gICAgICBwZXJQYWdlOiByZXNwb25zZT8ubWV0YT8ucGVyX3BhZ2UsXG4gICAgICB0b3RhbDogcmVzcG9uc2U/Lm1ldGE/LnRvdGFsLFxuICAgIH07XG4gIH07XG59XG4iXX0=