@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 @@
1
+ {"version":3,"file":"thescaffold-ngx-apps-capital-dashboard.module-lX-8-L9H.mjs","sources":["../../../projects/capital/src/lib/pages/dashboard/dashboard.component.ts","../../../projects/capital/src/lib/pages/dashboard/dashboard.module.ts"],"sourcesContent":["import { Component, inject, TemplateRef, ViewChild } from '@angular/core';\nimport {\n DefaultPeriodType,\n PaymentContract,\n PeriodService,\n} from '@thescaffold/ngx-common';\nimport {\n BaseDirective,\n ControlService,\n getEnv,\n navigateExternal,\n using,\n} from '@thescaffold/ngx-core';\nimport {\n FlyoutService,\n PickerItemContract,\n WizardContract,\n WizardService,\n} from '@thescaffold/ngx-ui';\nimport { forkJoin, map, Observable, of, switchMap, takeUntil } from 'rxjs';\n\n@Component({\n selector: 'app-dashboard',\n template: `\n <ng-template #beforeMetricsTemplate>\n <!-- verify payment -->\n <x-common-payment [data]=\"verifyPaymentData\"></x-common-payment>\n\n <div *ngIf=\"capital$ | async as capital; else loader\" class=\"\">\n <div class=\"row gx-5 d-flex flex-wrap\">\n <div class=\"col d-flex flex-column\">\n <div class=\"card card-body\">\n <div class=\"d-flex justify-content-between align-items-center\">\n <span class=\"fs-6\">\n {{\n 'apps.capital.component.dashboard.message.plan' | xTranslate\n }}\n </span>\n <span *ngIf=\"capital.plan?.type?.name\" class=\"fs-3\"\n >{{ capital.plan?.type?.name }}\n </span>\n <!-- <span *ngIf=\"capital.plan?.type?.name\" class=\"fs-3\"\n >{{\n capital.plan.type[capital.plan.periodType]\n | xMajor | number: '1.2-2'\n }}<span class=\"fs-6\">{{ capital.plan.type.currency }}</span>\n </span> -->\n <span *ngIf=\"!capital.plan?.type?.name\" class=\"fs-3\">\n ...\n </span>\n </div>\n <div\n *ngIf=\"\n capital.plan?.type?.name &&\n capital.plan?.type?.name?.toLowerCase() != 'pro'\n \"\n class=\"d-flex justify-content-end align-items-center\"\n >\n <button\n class=\"btn btn-outline-warning btn-sm small-text\"\n (click)=\"upgradePlan()\"\n >\n {{\n 'apps.capital.component.dashboard.button.upgrade-plan'\n | xTranslate\n }}\n </button>\n </div>\n <div\n *ngIf=\"!capital.plan?.type?.name\"\n class=\"d-flex justify-content-end align-items-center\"\n >\n <button\n class=\"btn btn-outline-warning btn-sm small-text\"\n (click)=\"upgradePlan()\"\n >\n {{\n 'apps.capital.component.dashboard.button.select-plan'\n | xTranslate\n }}\n </button>\n </div>\n </div>\n </div>\n <!-- <div class=\"col d-flex flex-column\">\n <div class=\"card card-body\">\n <div class=\"d-flex justify-content-between align-items-center\">\n <span class=\"fs-6\">{{\n 'apps.capital.component.dashboard.message.balance'\n | xTranslate\n }}</span>\n <span class=\"fs-3\"\n >{{ capital.wallet.availableBalance | xMajor | number: '1.2-2'\n }}<span class=\"fs-6\">{{\n capital.wallet.currency\n }}</span></span\n >\n </div>\n </div>\n </div> -->\n <div class=\"col d-flex flex-column\">\n <div class=\"card card-body\">\n <div class=\"d-flex justify-content-between align-items-center\">\n <span class=\"fs-6\">\n {{\n 'apps.capital.component.dashboard.message.pending'\n | xTranslate\n }}\n </span>\n <span\n class=\"fs-3\"\n [ngClass]=\"{ 'text-warning': capital.pending.debt }\"\n >{{ capital.pending.debt | xMajor | number: '1.2-2'\n }}<span class=\"fs-6\">{{ capital.wallet.currency }}</span>\n </span>\n </div>\n <div\n *ngIf=\"capital.pending.debt > 0\"\n class=\"d-flex justify-content-end align-items-center\"\n >\n <button\n class=\"btn btn-outline-warning btn-sm small-text\"\n (click)=\"payNow(capital.pending.debt)\"\n >\n {{\n 'apps.capital.component.dashboard.button.pay-now'\n | xTranslate\n }}\n </button>\n </div>\n </div>\n </div>\n <div class=\"col d-flex flex-column\">\n <div class=\"card card-body\">\n <div class=\"d-flex justify-content-between align-items-center\">\n <span class=\"fs-6\">{{\n 'apps.capital.component.dashboard.message.cost' | xTranslate\n }}</span>\n <span class=\"fs-3\"\n >{{ capital.estimate.cost | xMajor | number: '1.2-2'\n }}<span class=\"fs-6\">{{\n capital.wallet.currency\n }}</span></span\n >\n </div>\n </div>\n </div>\n </div>\n </div>\n </ng-template>\n\n <!-- upgrade plan flyout -->\n <ng-template #upgradePlanFlyout>\n <x-webget-flyout [data]=\"{ title: 'Upgrade Plan' }\">\n <x-webget-wizard [data]=\"wizardData\">\n <ng-template [xWizard]=\"'select-plan'\">\n <ng-container\n *ngIf=\"periodData$ | async as periodData; else loader\"\n >\n <div\n *ngIf=\"\n planTypes$ && planTypes$ | async as planTypes;\n else loader\n \"\n class=\"d-flex flex-column\"\n >\n <div class=\"d-flex flex-column my-3 align-items-center\">\n <p class=\"text-secondary text-center\">\n {{\n 'apps.capital.component.dashboard.message.select-plan'\n | xTranslate\n }}\n </p>\n </div>\n\n <div class=\"d-flex justify-content-end align-items-center my-3\">\n <x-picker\n [data]=\"periodData\"\n (select)=\"onPeriodSelect($event)\"\n ></x-picker>\n </div>\n\n <div\n *ngIf=\"planTypes.length; else empty\"\n class=\"accordion\"\n id=\"plan-accordion\"\n >\n <div\n *ngFor=\"let planType of planTypes; index as i\"\n class=\"accordion-item w-100\"\n >\n <div\n *ngIf=\"planType.id != currentPlan?.type?.id\"\n class=\"accordion-header\"\n >\n <button\n class=\"accordion-button d-flex justify-content-between align-items-center\"\n [ngClass]=\"{ collapsed: planType.type !== 'popular' }\"\n type=\"button\"\n data-bs-toggle=\"collapse\"\n [attr.data-bs-target]=\"'#collapse' + i\"\n >\n <div class=\"col-8\">\n <div class=\"h3\">{{ planType.name | titlecase }}</div>\n <div\n *ngIf=\"planType.desc\"\n class=\"h6 text-body-secondary\"\n >\n {{ planType.desc }}\n </div>\n </div>\n <div class=\"col-3\">\n <div class=\"fw-bolder fst-italic h3\">\n {{ planType.currency ?? '...' }}\n {{\n (planType[periodType]\n | xMajor\n | number: '1.2-2') ?? '...'\n }}\n </div>\n </div>\n </button>\n </div>\n <div\n [attr.id]=\"'collapse' + i\"\n class=\"accordion-collapse collapse\"\n [ngClass]=\"{ show: planType.type == 'popular' }\"\n data-bs-parent=\"#plan-accordion\"\n >\n <div class=\"accordion-body\">\n <div\n class=\"d-flex justify-content-start align-items-center\"\n >\n <p\n *ngIf=\"planType.detail\"\n class=\"text-body-secondary\"\n >\n {{ planType.detail }}\n </p>\n </div>\n <ul\n *ngIf=\"planType?.meta?.features?.length\"\n class=\"list-group list-group-flush\"\n >\n <li\n *ngFor=\"let feature of planType?.meta?.features\"\n class=\"list-group-item\"\n >\n {{ feature }}\n </li>\n </ul>\n <div\n class=\"d-flex justify-content-end align-items-center my-3\"\n >\n <button\n class=\"btn btn-primary\"\n (click)=\"selectPlanType(planType)\"\n >\n Choose {{ planType.name }}\n <i class=\"fa-solid fa-arrow-right-long\"></i>\n </button>\n </div>\n </div>\n </div>\n </div>\n </div>\n\n <div\n class=\"d-flex justify-content-center align-items-center my-3\"\n >\n <p class=\"text-center mb-1\">\n {{\n 'apps.capital.component.dashboard.message.terms'\n | xTranslate\n }}\n </p>\n </div>\n </div>\n </ng-container>\n </ng-template>\n <ng-template [xWizard]=\"'make-payment'\">\n <ng-container\n *ngIf=\"false; else makePaymentTemplate\"\n ></ng-container>\n </ng-template>\n </x-webget-wizard>\n </x-webget-flyout>\n </ng-template>\n\n <!-- pay now flyout -->\n <ng-template #payNowFlyout>\n <x-webget-flyout [data]=\"{ title: 'Pay Now' }\">\n <ng-container *ngIf=\"false; else makePaymentTemplate\"></ng-container>\n </x-webget-flyout>\n </ng-template>\n\n <!-- upgrade payment flyout -->\n <ng-template #makePaymentTemplate>\n <x-common-payment [data]=\"paymentData\"></x-common-payment>\n </ng-template>\n\n <!-- misc -->\n <ng-template #loader>\n <x-element-loader></x-element-loader>\n </ng-template>\n\n <ng-template #empty>\n <x-element-blank></x-element-blank>\n </ng-template>\n `,\n styles: [\n `\n .small-text {\n font-size: 0.7rem !important;\n }\n `,\n ],\n})\nexport class DashboardComponent extends BaseDirective {\n private readonly flyoutService = inject(FlyoutService);\n private readonly controlService = inject(ControlService);\n private readonly wizardService = inject(WizardService);\n private readonly periodService = inject(PeriodService);\n\n paymentMeta$ = () =>\n of({\n type: this.actionType,\n planTypeId: this.selectedPlanTypeId,\n periodType: this.periodType,\n });\n\n get paymentData(): PaymentContract {\n const amount = (\n this.actionType == 'apps.capital.dashboard.upgrade-plan'\n ? this.upgradePlanAmount\n : this.actionType == 'apps.capital.dashboard.pay-debt'\n ? this.payNowAmount\n : 0\n )!;\n return {\n mode: 'pay',\n appName: getEnv('APP_NAME'),\n amount: amount == 0 ? -1 : amount,\n hooks: {\n meta: () => this.paymentMeta$(),\n },\n options: ['card', 'provider', 'wallet'],\n redirect: (\n provider: string,\n amount: number,\n reference: string,\n currency: string,\n ) => {\n navigateExternal(\n `${getEnv('BASE_URL')}${this.router.url}?type=${provider}&reference=${reference}`,\n );\n },\n };\n }\n\n verifyPaymentData: PaymentContract = {\n mode: 'verify',\n appName: getEnv('APP_NAME'),\n amount: 0.0,\n hooks: {},\n options: [],\n };\n\n wizardData: WizardContract = {\n name: 'upgrade-plan',\n showProgress: true,\n showNav: false,\n };\n context = this.controlService.getContext();\n selectedPlanTypeId?: string;\n\n @ViewChild('beforeMetricsTemplate', {\n read: TemplateRef,\n static: true,\n })\n beforeMetricsTemplate!: TemplateRef<any>;\n\n @ViewChild('upgradePlanFlyout', { read: TemplateRef, static: true })\n upgradePlanFlyout!: TemplateRef<any>;\n\n @ViewChild('payNowFlyout', { read: TemplateRef, static: true })\n payNowFlyout!: TemplateRef<any>;\n\n planTypes$ = this.apiService\n .on('apps/capital/plan-type')\n .getMany({\n page: 1,\n perPage: 12,\n clientId: this.context?.clientId,\n currency: getEnv('X_PREFERENCE_CURRENCY'),\n })\n .pipe(\n takeUntil(this.$),\n map(({ data }) => data),\n );\n\n currentPlan: any = null;\n capital$: Observable<{\n plan: any;\n wallet: any;\n pending: any;\n estimate: any;\n }> = this.apiService.post('apps/capital/wallet/init').pipe(\n takeUntil(this.$),\n switchMap((wallet) =>\n forkJoin([\n this.apiService.get('apps/capital/user-plan'),\n of(wallet),\n this.apiService.get('apps/capital/debt'),\n this.apiService.get('apps/capital/cost', { type: 'current' }),\n ]),\n ),\n map(([plan, wallet, pending, estimate]) => {\n this.currentPlan = plan?.data;\n return {\n plan: plan?.data,\n wallet: wallet?.data,\n pending: pending?.data,\n estimate: estimate?.data,\n };\n }),\n );\n\n private actionType?:\n | 'apps.capital.dashboard.upgrade-plan'\n | 'apps.capital.dashboard.pay-debt';\n\n upgradePlanAmount?: number;\n payNowAmount?: number;\n\n periodType = DefaultPeriodType;\n\n periodData$ = this.periodService.list().pipe(\n map((list) => ({\n default: list.find((item) => item.value == DefaultPeriodType)!,\n list,\n size: 'btn-lg',\n showSearch: false,\n })),\n );\n\n onPeriodSelect({ value }: PickerItemContract) {\n this.periodType = value;\n }\n\n upgradePlan() {\n this.actionType = 'apps.capital.dashboard.upgrade-plan';\n this.flyoutService.open(this.upgradePlanFlyout);\n }\n\n payNow(payNowAmount: number) {\n this.actionType = 'apps.capital.dashboard.pay-debt';\n this.payNowAmount = payNowAmount;\n this.flyoutService.open(this.payNowFlyout);\n }\n\n selectPlanType(planType: any) {\n this.selectedPlanTypeId = planType.id;\n this.apiService\n .post('apps/capital/user-plan/compute-upgrade', {\n planTypeId: planType.id,\n periodType: this.periodType,\n })\n .pipe(takeUntil(this.$))\n .subscribe(\n using(({ data }: any) => {\n this.upgradePlanAmount = data.diff;\n this.wizardService.goto(this.wizardData.name, 'make-payment');\n }),\n );\n }\n}\n","import { NgModule } from '@angular/core';\nimport { PaymentModule } from '@thescaffold/ngx-common';\nimport { PipesModule, SharedModule } from '@thescaffold/ngx-core';\nimport {\n ElementsModule,\n DashboardModule as InnerDashboardModule,\n WebgetsModule,\n} from '@thescaffold/ngx-ui';\nimport { CardProvider } from '../card/card.provider';\nimport { PaymentProvider } from '../payment/payment.provider';\nimport { DashboardComponent } from './dashboard.component';\n\n@NgModule({\n declarations: [DashboardComponent],\n imports: [\n SharedModule,\n InnerDashboardModule.register({\n metrics: [],\n providers: [CardProvider, PaymentProvider],\n templateSource: DashboardComponent,\n }),\n WebgetsModule,\n ElementsModule,\n PipesModule,\n PaymentModule,\n ],\n})\nexport class DashboardModule {}\n"],"names":["i3","PaymentModule","InnerDashboardModule"],"mappings":";;;;;;;;;;;;;AA8TM,MAAO,kBAAmB,SAAQ,aAAa,CAAA;AAzSrD,IAAA,WAAA,GAAA;;AA0SmB,QAAA,IAAA,CAAA,aAAa,GAAG,MAAM,CAAC,aAAa,CAAC,CAAC;AACtC,QAAA,IAAA,CAAA,cAAc,GAAG,MAAM,CAAC,cAAc,CAAC,CAAC;AACxC,QAAA,IAAA,CAAA,aAAa,GAAG,MAAM,CAAC,aAAa,CAAC,CAAC;AACtC,QAAA,IAAA,CAAA,aAAa,GAAG,MAAM,CAAC,aAAa,CAAC,CAAC;AAEvD,QAAA,IAAA,CAAA,YAAY,GAAG,MACb,EAAE,CAAC;YACD,IAAI,EAAE,IAAI,CAAC,UAAU;YACrB,UAAU,EAAE,IAAI,CAAC,kBAAkB;YACnC,UAAU,EAAE,IAAI,CAAC,UAAU;AAC5B,SAAA,CAAC,CAAC;AA+BL,QAAA,IAAA,CAAA,iBAAiB,GAAoB;AACnC,YAAA,IAAI,EAAE,QAAQ;AACd,YAAA,OAAO,EAAE,MAAM,CAAC,UAAU,CAAC;AAC3B,YAAA,MAAM,EAAE,GAAG;AACX,YAAA,KAAK,EAAE,EAAE;AACT,YAAA,OAAO,EAAE,EAAE;SACZ,CAAC;AAEF,QAAA,IAAA,CAAA,UAAU,GAAmB;AAC3B,YAAA,IAAI,EAAE,cAAc;AACpB,YAAA,YAAY,EAAE,IAAI;AAClB,YAAA,OAAO,EAAE,KAAK;SACf,CAAC;AACF,QAAA,IAAA,CAAA,OAAO,GAAG,IAAI,CAAC,cAAc,CAAC,UAAU,EAAE,CAAC;QAe3C,IAAU,CAAA,UAAA,GAAG,IAAI,CAAC,UAAU;aACzB,EAAE,CAAC,wBAAwB,CAAC;AAC5B,aAAA,OAAO,CAAC;AACP,YAAA,IAAI,EAAE,CAAC;AACP,YAAA,OAAO,EAAE,EAAE;AACX,YAAA,QAAQ,EAAE,IAAI,CAAC,OAAO,EAAE,QAAQ;AAChC,YAAA,QAAQ,EAAE,MAAM,CAAC,uBAAuB,CAAC;SAC1C,CAAC;aACD,IAAI,CACH,SAAS,CAAC,IAAI,CAAC,CAAC,CAAC,EACjB,GAAG,CAAC,CAAC,EAAE,IAAI,EAAE,KAAK,IAAI,CAAC,CACxB,CAAC;QAEJ,IAAW,CAAA,WAAA,GAAQ,IAAI,CAAC;QACxB,IAAQ,CAAA,QAAA,GAKH,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,0BAA0B,CAAC,CAAC,IAAI,CACxD,SAAS,CAAC,IAAI,CAAC,CAAC,CAAC,EACjB,SAAS,CAAC,CAAC,MAAM,KACf,QAAQ,CAAC;AACP,YAAA,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,wBAAwB,CAAC;YAC7C,EAAE,CAAC,MAAM,CAAC;AACV,YAAA,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,mBAAmB,CAAC;AACxC,YAAA,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,mBAAmB,EAAE,EAAE,IAAI,EAAE,SAAS,EAAE,CAAC;AAC9D,SAAA,CAAC,CACH,EACD,GAAG,CAAC,CAAC,CAAC,IAAI,EAAE,MAAM,EAAE,OAAO,EAAE,QAAQ,CAAC,KAAI;AACxC,YAAA,IAAI,CAAC,WAAW,GAAG,IAAI,EAAE,IAAI,CAAC;YAC9B,OAAO;gBACL,IAAI,EAAE,IAAI,EAAE,IAAI;gBAChB,MAAM,EAAE,MAAM,EAAE,IAAI;gBACpB,OAAO,EAAE,OAAO,EAAE,IAAI;gBACtB,QAAQ,EAAE,QAAQ,EAAE,IAAI;aACzB,CAAC;SACH,CAAC,CACH,CAAC;QASF,IAAU,CAAA,UAAA,GAAG,iBAAiB,CAAC;AAE/B,QAAA,IAAA,CAAA,WAAW,GAAG,IAAI,CAAC,aAAa,CAAC,IAAI,EAAE,CAAC,IAAI,CAC1C,GAAG,CAAC,CAAC,IAAI,MAAM;AACb,YAAA,OAAO,EAAE,IAAI,CAAC,IAAI,CAAC,CAAC,IAAI,KAAK,IAAI,CAAC,KAAK,IAAI,iBAAiB,CAAE;YAC9D,IAAI;AACJ,YAAA,IAAI,EAAE,QAAQ;AACd,YAAA,UAAU,EAAE,KAAK;SAClB,CAAC,CAAC,CACJ,CAAC;AAgCH,KAAA;AAjJC,IAAA,IAAI,WAAW,GAAA;AACb,QAAA,MAAM,MAAM,IACV,IAAI,CAAC,UAAU,IAAI,qCAAqC;cACpD,IAAI,CAAC,iBAAiB;AACxB,cAAE,IAAI,CAAC,UAAU,IAAI,iCAAiC;kBAClD,IAAI,CAAC,YAAY;kBACjB,CAAC,CACP,CAAC;QACH,OAAO;AACL,YAAA,IAAI,EAAE,KAAK;AACX,YAAA,OAAO,EAAE,MAAM,CAAC,UAAU,CAAC;AAC3B,YAAA,MAAM,EAAE,MAAM,IAAI,CAAC,GAAG,CAAC,CAAC,GAAG,MAAM;AACjC,YAAA,KAAK,EAAE;AACL,gBAAA,IAAI,EAAE,MAAM,IAAI,CAAC,YAAY,EAAE;AAChC,aAAA;AACD,YAAA,OAAO,EAAE,CAAC,MAAM,EAAE,UAAU,EAAE,QAAQ,CAAC;YACvC,QAAQ,EAAE,CACR,QAAgB,EAChB,MAAc,EACd,SAAiB,EACjB,QAAgB,KACd;AACF,gBAAA,gBAAgB,CACd,CAAG,EAAA,MAAM,CAAC,UAAU,CAAC,GAAG,IAAI,CAAC,MAAM,CAAC,GAAG,CAAS,MAAA,EAAA,QAAQ,cAAc,SAAS,CAAA,CAAE,CAClF,CAAC;aACH;SACF,CAAC;KACH;IAwFD,cAAc,CAAC,EAAE,KAAK,EAAsB,EAAA;AAC1C,QAAA,IAAI,CAAC,UAAU,GAAG,KAAK,CAAC;KACzB;IAED,WAAW,GAAA;AACT,QAAA,IAAI,CAAC,UAAU,GAAG,qCAAqC,CAAC;QACxD,IAAI,CAAC,aAAa,CAAC,IAAI,CAAC,IAAI,CAAC,iBAAiB,CAAC,CAAC;KACjD;AAED,IAAA,MAAM,CAAC,YAAoB,EAAA;AACzB,QAAA,IAAI,CAAC,UAAU,GAAG,iCAAiC,CAAC;AACpD,QAAA,IAAI,CAAC,YAAY,GAAG,YAAY,CAAC;QACjC,IAAI,CAAC,aAAa,CAAC,IAAI,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC;KAC5C;AAED,IAAA,cAAc,CAAC,QAAa,EAAA;AAC1B,QAAA,IAAI,CAAC,kBAAkB,GAAG,QAAQ,CAAC,EAAE,CAAC;AACtC,QAAA,IAAI,CAAC,UAAU;aACZ,IAAI,CAAC,wCAAwC,EAAE;YAC9C,UAAU,EAAE,QAAQ,CAAC,EAAE;YACvB,UAAU,EAAE,IAAI,CAAC,UAAU;SAC5B,CAAC;AACD,aAAA,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;aACvB,SAAS,CACR,KAAK,CAAC,CAAC,EAAE,IAAI,EAAO,KAAI;AACtB,YAAA,IAAI,CAAC,iBAAiB,GAAG,IAAI,CAAC,IAAI,CAAC;AACnC,YAAA,IAAI,CAAC,aAAa,CAAC,IAAI,CAAC,IAAI,CAAC,UAAU,CAAC,IAAI,EAAE,cAAc,CAAC,CAAC;SAC/D,CAAC,CACH,CAAC;KACL;8GA7JU,kBAAkB,EAAA,IAAA,EAAA,IAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA,EAAA;AAAlB,IAAA,SAAA,IAAA,CAAA,IAAA,GAAA,EAAA,CAAA,oBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,QAAA,EAAA,IAAA,EAAA,kBAAkB,gKA2DrB,WAAW,EAAA,MAAA,EAAA,IAAA,EAAA,EAAA,EAAA,YAAA,EAAA,mBAAA,EAAA,KAAA,EAAA,IAAA,EAAA,SAAA,EAAA,CAAA,mBAAA,CAAA,EAAA,WAAA,EAAA,IAAA,EAAA,IAAA,EAKqB,WAAW,EAAA,MAAA,EAAA,IAAA,EAAA,EAAA,EAAA,YAAA,EAAA,cAAA,EAAA,KAAA,EAAA,IAAA,EAAA,SAAA,EAAA,CAAA,cAAA,CAAA,EAAA,WAAA,EAAA,IAAA,EAAA,IAAA,EAGhB,WAAW,EA1WpC,MAAA,EAAA,IAAA,EAAA,CAAA,EAAA,eAAA,EAAA,IAAA,EAAA,QAAA,EAAA,EAAA,EAAA,QAAA,EAAA,CAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AA8RT,EAAA,CAAA,EAAA,QAAA,EAAA,IAAA,EAAA,MAAA,EAAA,CAAA,0CAAA,CAAA,EAAA,YAAA,EAAA,CAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAA,EAAA,CAAA,OAAA,EAAA,QAAA,EAAA,WAAA,EAAA,MAAA,EAAA,CAAA,OAAA,EAAA,SAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAA,EAAA,CAAA,OAAA,EAAA,QAAA,EAAA,kBAAA,EAAA,MAAA,EAAA,CAAA,SAAA,EAAA,cAAA,EAAA,eAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAA,EAAA,CAAA,IAAA,EAAA,QAAA,EAAA,QAAA,EAAA,MAAA,EAAA,CAAA,MAAA,EAAA,UAAA,EAAA,UAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAA,EAAA,CAAA,eAAA,EAAA,QAAA,EAAA,iBAAA,EAAA,MAAA,EAAA,CAAA,MAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAA,EAAA,CAAA,eAAA,EAAA,QAAA,EAAA,iBAAA,EAAA,MAAA,EAAA,CAAA,MAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAA,EAAA,CAAA,eAAA,EAAA,QAAA,EAAA,sBAAA,EAAA,MAAA,EAAA,CAAA,SAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAA,EAAA,CAAA,cAAA,EAAA,QAAA,EAAA,iBAAA,EAAA,MAAA,EAAA,CAAA,OAAA,EAAA,MAAA,EAAA,MAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAA,EAAA,CAAA,eAAA,EAAA,QAAA,EAAA,kBAAA,EAAA,MAAA,EAAA,CAAA,MAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAA,EAAA,CAAA,eAAA,EAAA,QAAA,EAAA,UAAA,EAAA,MAAA,EAAA,CAAA,MAAA,CAAA,EAAA,OAAA,EAAA,CAAA,QAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAAA,IAAA,CAAA,gBAAA,EAAA,QAAA,EAAA,kBAAA,EAAA,MAAA,EAAA,CAAA,MAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,MAAA,EAAA,IAAA,EAAA,EAAA,CAAA,SAAA,EAAA,IAAA,EAAA,OAAA,EAAA,EAAA,EAAA,IAAA,EAAA,MAAA,EAAA,IAAA,EAAA,EAAA,CAAA,WAAA,EAAA,IAAA,EAAA,QAAA,EAAA,EAAA,EAAA,IAAA,EAAA,MAAA,EAAA,IAAA,EAAA,EAAA,CAAA,aAAA,EAAA,IAAA,EAAA,WAAA,EAAA,EAAA,EAAA,IAAA,EAAA,MAAA,EAAA,IAAA,EAAA,EAAA,CAAA,aAAA,EAAA,IAAA,EAAA,YAAA,EAAA,EAAA,EAAA,IAAA,EAAA,MAAA,EAAA,IAAA,EAAA,EAAA,CAAA,SAAA,EAAA,IAAA,EAAA,QAAA,EAAA,CAAA,EAAA,CAAA,CAAA,EAAA;;2FASU,kBAAkB,EAAA,UAAA,EAAA,CAAA;kBAzS9B,SAAS;AACE,YAAA,IAAA,EAAA,CAAA,EAAA,QAAA,EAAA,eAAe,EACf,QAAA,EAAA,CAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AA8RT,EAAA,CAAA,EAAA,MAAA,EAAA,CAAA,0CAAA,CAAA,EAAA,CAAA;8BAuED,qBAAqB,EAAA,CAAA;sBAJpB,SAAS;AAAC,gBAAA,IAAA,EAAA,CAAA,uBAAuB,EAAE;AAClC,wBAAA,IAAI,EAAE,WAAW;AACjB,wBAAA,MAAM,EAAE,IAAI;AACb,qBAAA,CAAA;gBAID,iBAAiB,EAAA,CAAA;sBADhB,SAAS;uBAAC,mBAAmB,EAAE,EAAE,IAAI,EAAE,WAAW,EAAE,MAAM,EAAE,IAAI,EAAE,CAAA;gBAInE,YAAY,EAAA,CAAA;sBADX,SAAS;uBAAC,cAAc,EAAE,EAAE,IAAI,EAAE,WAAW,EAAE,MAAM,EAAE,IAAI,EAAE,CAAA;;;MCtWnD,eAAe,CAAA;8GAAf,eAAe,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,QAAA,EAAA,CAAA,CAAA,EAAA;AAAf,IAAA,SAAA,IAAA,CAAA,IAAA,GAAA,EAAA,CAAA,mBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,QAAA,EAAA,QAAA,EAAA,EAAA,EAAA,IAAA,EAAA,eAAe,EAdX,YAAA,EAAA,CAAA,kBAAkB,CAE/B,EAAA,OAAA,EAAA,CAAA,YAAY,sBAMZ,aAAa;YACb,cAAc;YACd,WAAW;YACXC,eAAa,CAAA,EAAA,CAAA,CAAA,EAAA;AAGJ,IAAA,SAAA,IAAA,CAAA,IAAA,GAAA,EAAA,CAAA,mBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,QAAA,EAAA,QAAA,EAAA,EAAA,EAAA,IAAA,EAAA,eAAe,YAZxB,YAAY;YACZC,iBAAoB,CAAC,QAAQ,CAAC;AAC5B,gBAAA,OAAO,EAAE,EAAE;AACX,gBAAA,SAAS,EAAE,CAAC,YAAY,EAAE,eAAe,CAAC;AAC1C,gBAAA,cAAc,EAAE,kBAAkB;aACnC,CAAC;YACF,aAAa;YACb,cAAc;YACd,WAAW;YACXD,eAAa,CAAA,EAAA,CAAA,CAAA,EAAA;;2FAGJ,eAAe,EAAA,UAAA,EAAA,CAAA;kBAf3B,QAAQ;AAAC,YAAA,IAAA,EAAA,CAAA;oBACR,YAAY,EAAE,CAAC,kBAAkB,CAAC;AAClC,oBAAA,OAAO,EAAE;wBACP,YAAY;wBACZC,iBAAoB,CAAC,QAAQ,CAAC;AAC5B,4BAAA,OAAO,EAAE,EAAE;AACX,4BAAA,SAAS,EAAE,CAAC,YAAY,EAAE,eAAe,CAAC;AAC1C,4BAAA,cAAc,EAAE,kBAAkB;yBACnC,CAAC;wBACF,aAAa;wBACb,cAAc;wBACd,WAAW;wBACXD,eAAa;AACd,qBAAA;AACF,iBAAA,CAAA;;;;;"}
@@ -0,0 +1,35 @@
1
+ import * as i0 from '@angular/core';
2
+ import { NgModule } from '@angular/core';
3
+ import { PaymentModule as PaymentModule$1 } from '@thescaffold/ngx-common';
4
+ import { SharedModule, PipesModule } from '@thescaffold/ngx-core';
5
+ import { ElementsModule, CrudModule, CRUD_PROVIDER } from '@thescaffold/ngx-ui';
6
+ import { a as PaymentComponent, P as PaymentProvider } from './thescaffold-ngx-apps-capital-payment.provider-B1jZij0H.mjs';
7
+ import '@angular/common';
8
+
9
+ class PaymentModule {
10
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.0.5", ngImport: i0, type: PaymentModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule }); }
11
+ static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "18.0.5", ngImport: i0, type: PaymentModule, declarations: [PaymentComponent], imports: [SharedModule, PaymentModule$1, ElementsModule, PipesModule], exports: [CrudModule] }); }
12
+ static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "18.0.5", ngImport: i0, type: PaymentModule, providers: [
13
+ {
14
+ provide: CRUD_PROVIDER,
15
+ useClass: PaymentProvider,
16
+ },
17
+ ], imports: [SharedModule, PaymentModule$1, ElementsModule, PipesModule, CrudModule] }); }
18
+ }
19
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.0.5", ngImport: i0, type: PaymentModule, decorators: [{
20
+ type: NgModule,
21
+ args: [{
22
+ declarations: [PaymentComponent],
23
+ exports: [CrudModule],
24
+ providers: [
25
+ {
26
+ provide: CRUD_PROVIDER,
27
+ useClass: PaymentProvider,
28
+ },
29
+ ],
30
+ imports: [SharedModule, PaymentModule$1, ElementsModule, PipesModule],
31
+ }]
32
+ }] });
33
+
34
+ export { PaymentModule };
35
+ //# sourceMappingURL=thescaffold-ngx-apps-capital-payment.module-DmQlflfD.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"thescaffold-ngx-apps-capital-payment.module-DmQlflfD.mjs","sources":["../../../projects/capital/src/lib/pages/payment/payment.module.ts"],"sourcesContent":["import { NgModule } from '@angular/core';\nimport { PaymentModule as PkgPaymentModule } from '@thescaffold/ngx-common';\nimport { PipesModule, SharedModule } from '@thescaffold/ngx-core';\nimport { CRUD_PROVIDER, CrudModule, ElementsModule } from '@thescaffold/ngx-ui';\nimport { PaymentComponent } from './payment.component';\nimport { PaymentProvider } from './payment.provider';\n\n@NgModule({\n declarations: [PaymentComponent],\n exports: [CrudModule],\n providers: [\n {\n provide: CRUD_PROVIDER,\n useClass: PaymentProvider,\n },\n ],\n imports: [SharedModule, PkgPaymentModule, ElementsModule, PipesModule],\n})\nexport class PaymentModule {}\n"],"names":["PkgPaymentModule"],"mappings":";;;;;;;;MAkBa,aAAa,CAAA;8GAAb,aAAa,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,QAAA,EAAA,CAAA,CAAA,EAAA;+GAAb,aAAa,EAAA,YAAA,EAAA,CAVT,gBAAgB,CAAA,EAAA,OAAA,EAAA,CAQrB,YAAY,EAAEA,eAAgB,EAAE,cAAc,EAAE,WAAW,CAAA,EAAA,OAAA,EAAA,CAP3D,UAAU,CAAA,EAAA,CAAA,CAAA,EAAA;AAST,IAAA,SAAA,IAAA,CAAA,IAAA,GAAA,EAAA,CAAA,mBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,QAAA,EAAA,QAAA,EAAA,EAAA,EAAA,IAAA,EAAA,aAAa,EARb,SAAA,EAAA;AACT,YAAA;AACE,gBAAA,OAAO,EAAE,aAAa;AACtB,gBAAA,QAAQ,EAAE,eAAe;AAC1B,aAAA;SACF,EACS,OAAA,EAAA,CAAA,YAAY,EAAEA,eAAgB,EAAE,cAAc,EAAE,WAAW,EAP3D,UAAU,CAAA,EAAA,CAAA,CAAA,EAAA;;2FAST,aAAa,EAAA,UAAA,EAAA,CAAA;kBAXzB,QAAQ;AAAC,YAAA,IAAA,EAAA,CAAA;oBACR,YAAY,EAAE,CAAC,gBAAgB,CAAC;oBAChC,OAAO,EAAE,CAAC,UAAU,CAAC;AACrB,oBAAA,SAAS,EAAE;AACT,wBAAA;AACE,4BAAA,OAAO,EAAE,aAAa;AACtB,4BAAA,QAAQ,EAAE,eAAe;AAC1B,yBAAA;AACF,qBAAA;oBACD,OAAO,EAAE,CAAC,YAAY,EAAEA,eAAgB,EAAE,cAAc,EAAE,WAAW,CAAC;AACvE,iBAAA,CAAA;;;;;"}
@@ -0,0 +1,329 @@
1
+ import * as i0 from '@angular/core';
2
+ import { inject, TemplateRef, Component, ViewChild, Injectable } from '@angular/core';
3
+ import * as i4 from '@thescaffold/ngx-core';
4
+ import { getEnv, navigateExternal, toMajor } from '@thescaffold/ngx-core';
5
+ import * as i2$1 from '@thescaffold/ngx-ui';
6
+ import { CrudComponentDirective, FlyoutService, CrudProvider, CrudActionType } from '@thescaffold/ngx-ui';
7
+ import * as i1 from '@angular/common';
8
+ import * as i2 from '@thescaffold/ngx-common';
9
+
10
+ class PaymentComponent extends CrudComponentDirective {
11
+ constructor() {
12
+ super(...arguments);
13
+ this.flyoutService = inject(FlyoutService);
14
+ this.verifyPaymentData = {
15
+ mode: 'verify',
16
+ appName: getEnv('APP_NAME'),
17
+ amount: 0.0,
18
+ hooks: {},
19
+ options: [],
20
+ };
21
+ }
22
+ download(url) {
23
+ navigateExternal(url, true);
24
+ }
25
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.0.5", ngImport: i0, type: PaymentComponent, deps: null, target: i0.ɵɵFactoryTarget.Component }); }
26
+ 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: `
27
+ <!-- verify payment -->
28
+ <ng-template #beforeListTemplate>
29
+ <x-common-payment [data]="verifyPaymentData"></x-common-payment>
30
+ </ng-template>
31
+
32
+ <!-- show payment buttons -->
33
+ <ng-template #afterShowTemplate let-item="item">
34
+ <div
35
+ *ngIf="item"
36
+ class="d-flex justify-content-center align-items-center"
37
+ >
38
+ <div class="btn-toolbar">
39
+ <div class="btn-group">
40
+ <button
41
+ type="button"
42
+ class="btn btn-primary"
43
+ (click)="download(item.receiptUrl)"
44
+ [attr.disabled]="item.receiptUrl ? null : true"
45
+ >
46
+ {{
47
+ 'apps.capital.payment.collection.links.secondary.download-receipt.title'
48
+ | xTranslate
49
+ }}
50
+ </button>
51
+ </div>
52
+ </div>
53
+ </div>
54
+ </ng-template>
55
+
56
+ <!-- misc -->
57
+ <ng-template #loader>
58
+ <x-element-loader></x-element-loader>
59
+ </ng-template>
60
+
61
+ <ng-template #empty>
62
+ <x-element-blank></x-element-blank>
63
+ </ng-template>
64
+ `, 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: i2$1.BlankComponent, selector: "x-element-blank", inputs: ["image", "icon", "type"] }, { kind: "component", type: i2$1.LoaderComponent, selector: "x-element-loader", inputs: ["data"] }, { kind: "pipe", type: i4.TranslatePipe, name: "xTranslate" }] }); }
65
+ }
66
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.0.5", ngImport: i0, type: PaymentComponent, decorators: [{
67
+ type: Component,
68
+ args: [{ selector: 'app-payment', template: `
69
+ <!-- verify payment -->
70
+ <ng-template #beforeListTemplate>
71
+ <x-common-payment [data]="verifyPaymentData"></x-common-payment>
72
+ </ng-template>
73
+
74
+ <!-- show payment buttons -->
75
+ <ng-template #afterShowTemplate let-item="item">
76
+ <div
77
+ *ngIf="item"
78
+ class="d-flex justify-content-center align-items-center"
79
+ >
80
+ <div class="btn-toolbar">
81
+ <div class="btn-group">
82
+ <button
83
+ type="button"
84
+ class="btn btn-primary"
85
+ (click)="download(item.receiptUrl)"
86
+ [attr.disabled]="item.receiptUrl ? null : true"
87
+ >
88
+ {{
89
+ 'apps.capital.payment.collection.links.secondary.download-receipt.title'
90
+ | xTranslate
91
+ }}
92
+ </button>
93
+ </div>
94
+ </div>
95
+ </div>
96
+ </ng-template>
97
+
98
+ <!-- misc -->
99
+ <ng-template #loader>
100
+ <x-element-loader></x-element-loader>
101
+ </ng-template>
102
+
103
+ <ng-template #empty>
104
+ <x-element-blank></x-element-blank>
105
+ </ng-template>
106
+ ` }]
107
+ }], propDecorators: { beforeListTemplate: [{
108
+ type: ViewChild,
109
+ args: ['beforeListTemplate', {
110
+ read: TemplateRef,
111
+ static: true,
112
+ }]
113
+ }], afterShowTemplate: [{
114
+ type: ViewChild,
115
+ args: ['afterShowTemplate', {
116
+ read: TemplateRef,
117
+ static: true,
118
+ }]
119
+ }] } });
120
+
121
+ class PaymentProvider extends CrudProvider {
122
+ constructor() {
123
+ super(...arguments);
124
+ this.main = true;
125
+ this.name = this.translate('apps.capital.payment.name');
126
+ this.pluralName = this.translate('apps.capital.payment.plural');
127
+ this.dataSource = this.apiService.on('apps/capital/payment');
128
+ this.path = ['/', 'payments'];
129
+ this.columns = [
130
+ {
131
+ key: 'reference',
132
+ value: this.translate('apps.capital.payment.columns.reference.title'),
133
+ type: 'link',
134
+ links: (column, item) => [
135
+ {
136
+ title: `${item.reference?.slice(0, 10)}...${item.reference?.slice(-10)}`.toLowerCase(),
137
+ fn: (link) => {
138
+ this.show(item);
139
+ },
140
+ },
141
+ ],
142
+ },
143
+ {
144
+ key: 'currency',
145
+ value: this.translate('apps.capital.payment.columns.currency.title'),
146
+ },
147
+ {
148
+ key: 'cost',
149
+ value: this.translate('apps.capital.payment.columns.cost.title'),
150
+ },
151
+ {
152
+ key: 'createdAt',
153
+ value: '',
154
+ type: 'date',
155
+ },
156
+ {
157
+ key: 'status',
158
+ value: '',
159
+ type: 'class',
160
+ class: 'badge border text-primary',
161
+ },
162
+ ];
163
+ this.fields = [];
164
+ this.templateSource = PaymentComponent;
165
+ this.routes = {
166
+ // [CrudActionType.CloseCreate]: ['/', 'payments'],
167
+ // [CrudActionType.AfterSave]: ['/', 'payments'],
168
+ // [CrudActionType.CloseEdit]: ['/', 'payments'],
169
+ // [CrudActionType.AfterUpdate]: ['/', 'payments'],
170
+ // [CrudActionType.CloseShow]: ['/', 'payments'],
171
+ // [CrudActionType.CloseDelete]: ['/', 'payments'],
172
+ // [CrudActionType.AfterRemove]: ['/', 'payments'],
173
+ };
174
+ this.morphs = {
175
+ [CrudActionType.BeforeSave]: (payload) => {
176
+ return payload;
177
+ },
178
+ [CrudActionType.AfterSave]: (payload) => {
179
+ return payload;
180
+ },
181
+ [CrudActionType.BeforeEdit]: (payload) => {
182
+ return payload;
183
+ },
184
+ [CrudActionType.AfterEdit]: (payload) => {
185
+ return payload;
186
+ },
187
+ [CrudActionType.BeforeUpdate]: (payload) => {
188
+ return payload;
189
+ },
190
+ [CrudActionType.AfterUpdate]: (payload) => {
191
+ return payload;
192
+ },
193
+ [CrudActionType.BeforeShow]: (payload) => {
194
+ return {
195
+ list: [
196
+ {
197
+ title: this.translate('apps.capital.payment.columns.reference.title'),
198
+ value: payload.reference,
199
+ copyable: true,
200
+ },
201
+ {
202
+ title: this.translate('apps.capital.payment.columns.plan.title'),
203
+ value: payload.plan.type.name,
204
+ },
205
+ {
206
+ title: this.translate('apps.capital.payment.columns.period.title'),
207
+ value: payload.period,
208
+ },
209
+ {
210
+ title: this.translate('apps.capital.payment.columns.currency.title'),
211
+ value: payload.currency,
212
+ },
213
+ {
214
+ title: this.translate('apps.capital.payment.columns.cost.title'),
215
+ value: payload.cost,
216
+ },
217
+ {
218
+ title: this.translate('apps.capital.payment.columns.paid.title'),
219
+ value: payload.paid ? 'Paid' : 'Pending',
220
+ },
221
+ ],
222
+ ...payload,
223
+ };
224
+ },
225
+ [CrudActionType.AfterShow]: (payload) => {
226
+ return payload;
227
+ },
228
+ [CrudActionType.BeforeList]: (payload) => {
229
+ return {
230
+ page: payload.page,
231
+ perPage: payload.perPage,
232
+ relations: 'plan,plan.type',
233
+ };
234
+ },
235
+ [CrudActionType.AfterList]: (payload) => {
236
+ return payload;
237
+ },
238
+ [CrudActionType.BeforeDelete]: (payload) => {
239
+ return payload;
240
+ },
241
+ [CrudActionType.AfterDelete]: (payload) => {
242
+ return payload;
243
+ },
244
+ [CrudActionType.BeforeRemove]: (payload) => {
245
+ return payload;
246
+ },
247
+ [CrudActionType.AfterRemove]: (payload) => {
248
+ return payload;
249
+ },
250
+ };
251
+ this.hooks = {
252
+ [CrudActionType.BeforeCreate]: () => { },
253
+ [CrudActionType.AfterCreate]: () => { },
254
+ [CrudActionType.BeforeSave]: (payload) => { },
255
+ [CrudActionType.AfterSave]: (payload, data) => { },
256
+ [CrudActionType.BeforeEdit]: (payload) => { },
257
+ [CrudActionType.AfterEdit]: (payload) => { },
258
+ [CrudActionType.BeforeUpdate]: (payload) => { },
259
+ [CrudActionType.AfterUpdate]: (payload, data) => { },
260
+ [CrudActionType.BeforeShow]: (payload) => { },
261
+ [CrudActionType.AfterShow]: (payload) => { },
262
+ [CrudActionType.BeforeList]: (payload) => { },
263
+ [CrudActionType.AfterList]: (payload, data) => { },
264
+ [CrudActionType.BeforeDelete]: (payload) => { },
265
+ [CrudActionType.AfterDelete]: (payload) => { },
266
+ [CrudActionType.BeforeRemove]: (payload) => { },
267
+ [CrudActionType.AfterRemove]: (payload, data) => { },
268
+ };
269
+ this.toCollection = (response) => {
270
+ return {
271
+ title: this.pluralName,
272
+ columns: this.columns,
273
+ rows: response?.data?.map((row) => ({
274
+ ...row,
275
+ cost: toMajor(row.cost),
276
+ })),
277
+ links: {
278
+ primary: [],
279
+ secondary: [
280
+ {
281
+ title: this.translate('apps.capital.payment.collection.links.secondary.view.title'),
282
+ fn: (link, item) => {
283
+ this.show(item);
284
+ },
285
+ },
286
+ {
287
+ title: this.translate('apps.capital.payment.collection.links.secondary.download-receipt.title'),
288
+ fn: (link, item) => {
289
+ navigateExternal(item.receiptUrl, true);
290
+ },
291
+ enabled: (link, item) => {
292
+ return !!item.receiptUrl;
293
+ },
294
+ },
295
+ ],
296
+ tertiary: [],
297
+ empty: [
298
+ // {
299
+ // title: this.translate(
300
+ // 'apps.capital.payment.collection.links.empty.learn-more.title',
301
+ // ),
302
+ // fn: (link: any) => {
303
+ // navigateExternal(`${getEnv('DOCS_BASE_URL')}/payments`, true);
304
+ // },
305
+ // },
306
+ ],
307
+ },
308
+ hasTextFilter: true,
309
+ hasDateFilter: false,
310
+ selectable: false,
311
+ hasHeaders: true,
312
+ page: response?.meta?.current_page,
313
+ perPage: response?.meta?.per_page,
314
+ total: response?.meta?.total,
315
+ };
316
+ };
317
+ }
318
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.0.5", ngImport: i0, type: PaymentProvider, deps: null, target: i0.ɵɵFactoryTarget.Injectable }); }
319
+ static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "18.0.5", ngImport: i0, type: PaymentProvider, providedIn: 'root' }); }
320
+ }
321
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.0.5", ngImport: i0, type: PaymentProvider, decorators: [{
322
+ type: Injectable,
323
+ args: [{
324
+ providedIn: 'root',
325
+ }]
326
+ }] });
327
+
328
+ export { PaymentProvider as P, PaymentComponent as a };
329
+ //# sourceMappingURL=thescaffold-ngx-apps-capital-payment.provider-B1jZij0H.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"thescaffold-ngx-apps-capital-payment.provider-B1jZij0H.mjs","sources":["../../../projects/capital/src/lib/pages/payment/payment.component.ts","../../../projects/capital/src/lib/pages/payment/payment.provider.ts"],"sourcesContent":["import { Component, inject, TemplateRef, ViewChild } from '@angular/core';\nimport { PaymentContract } from '@thescaffold/ngx-common';\nimport { getEnv, navigateExternal } from '@thescaffold/ngx-core';\nimport { CrudComponentDirective, FlyoutService } from '@thescaffold/ngx-ui';\n\n@Component({\n selector: 'app-payment',\n template: `\n <!-- verify payment -->\n <ng-template #beforeListTemplate>\n <x-common-payment [data]=\"verifyPaymentData\"></x-common-payment>\n </ng-template>\n\n <!-- show payment buttons -->\n <ng-template #afterShowTemplate let-item=\"item\">\n <div\n *ngIf=\"item\"\n class=\"d-flex justify-content-center align-items-center\"\n >\n <div class=\"btn-toolbar\">\n <div class=\"btn-group\">\n <button\n type=\"button\"\n class=\"btn btn-primary\"\n (click)=\"download(item.receiptUrl)\"\n [attr.disabled]=\"item.receiptUrl ? null : true\"\n >\n {{\n 'apps.capital.payment.collection.links.secondary.download-receipt.title'\n | xTranslate\n }}\n </button>\n </div>\n </div>\n </div>\n </ng-template>\n\n <!-- misc -->\n <ng-template #loader>\n <x-element-loader></x-element-loader>\n </ng-template>\n\n <ng-template #empty>\n <x-element-blank></x-element-blank>\n </ng-template>\n `,\n styles: [],\n})\nexport class PaymentComponent extends CrudComponentDirective {\n readonly flyoutService = inject(FlyoutService);\n\n @ViewChild('beforeListTemplate', {\n read: TemplateRef,\n static: true,\n })\n beforeListTemplate!: TemplateRef<any>;\n\n @ViewChild('afterShowTemplate', {\n read: TemplateRef,\n static: true,\n })\n afterShowTemplate!: TemplateRef<any>;\n\n verifyPaymentData: PaymentContract = {\n mode: 'verify',\n appName: getEnv('APP_NAME'),\n amount: 0.0,\n hooks: {},\n options: [],\n };\n\n download(url: string) {\n navigateExternal(url, true);\n }\n}\n","import { Injectable } from '@angular/core';\nimport { navigateExternal, toMajor } from '@thescaffold/ngx-core';\nimport { CrudActionType, CrudProvider } from '@thescaffold/ngx-ui';\nimport { PaymentComponent } from './payment.component';\n\n@Injectable({\n providedIn: 'root',\n})\nexport class PaymentProvider extends CrudProvider {\n override main = true;\n override name = this.translate('apps.capital.payment.name');\n override pluralName = this.translate('apps.capital.payment.plural');\n override dataSource = this.apiService.on('apps/capital/payment');\n override path = ['/', 'payments'];\n override columns = [\n {\n key: 'reference',\n value: this.translate('apps.capital.payment.columns.reference.title'),\n type: 'link',\n links: (column: any, item: any) => [\n {\n title:\n `${item.reference?.slice(0, 10)}...${item.reference?.slice(-10)}`.toLowerCase(),\n fn: (link: any) => {\n this.show(item);\n },\n },\n ],\n },\n {\n key: 'currency',\n value: this.translate('apps.capital.payment.columns.currency.title'),\n },\n {\n key: 'cost',\n value: this.translate('apps.capital.payment.columns.cost.title'),\n },\n {\n key: 'createdAt',\n value: '',\n type: 'date',\n },\n {\n key: 'status',\n value: '',\n type: 'class',\n class: 'badge border text-primary',\n },\n ];\n override fields = [];\n\n override templateSource = PaymentComponent;\n\n override routes = {\n // [CrudActionType.CloseCreate]: ['/', 'payments'],\n // [CrudActionType.AfterSave]: ['/', 'payments'],\n // [CrudActionType.CloseEdit]: ['/', 'payments'],\n // [CrudActionType.AfterUpdate]: ['/', 'payments'],\n // [CrudActionType.CloseShow]: ['/', 'payments'],\n // [CrudActionType.CloseDelete]: ['/', 'payments'],\n // [CrudActionType.AfterRemove]: ['/', 'payments'],\n };\n\n override morphs = {\n [CrudActionType.BeforeSave]: (payload: any) => {\n return payload;\n },\n [CrudActionType.AfterSave]: (payload: any) => {\n return payload;\n },\n [CrudActionType.BeforeEdit]: (payload: any) => {\n return payload;\n },\n [CrudActionType.AfterEdit]: (payload: any) => {\n return payload;\n },\n [CrudActionType.BeforeUpdate]: (payload: any) => {\n return payload;\n },\n [CrudActionType.AfterUpdate]: (payload: any) => {\n return payload;\n },\n [CrudActionType.BeforeShow]: (payload: any) => {\n return {\n list: [\n {\n title: this.translate(\n 'apps.capital.payment.columns.reference.title',\n ),\n value: payload.reference,\n copyable: true,\n },\n {\n title: this.translate('apps.capital.payment.columns.plan.title'),\n value: payload.plan.type.name,\n },\n {\n title: this.translate('apps.capital.payment.columns.period.title'),\n value: payload.period,\n },\n {\n title: this.translate(\n 'apps.capital.payment.columns.currency.title',\n ),\n value: payload.currency,\n },\n {\n title: this.translate('apps.capital.payment.columns.cost.title'),\n value: payload.cost,\n },\n {\n title: this.translate('apps.capital.payment.columns.paid.title'),\n value: payload.paid ? 'Paid' : 'Pending',\n },\n ],\n ...payload,\n };\n },\n [CrudActionType.AfterShow]: (payload: any) => {\n return payload;\n },\n [CrudActionType.BeforeList]: (payload: any) => {\n return {\n page: payload.page,\n perPage: payload.perPage,\n relations: 'plan,plan.type',\n };\n },\n [CrudActionType.AfterList]: (payload: any) => {\n return payload;\n },\n [CrudActionType.BeforeDelete]: (payload: any) => {\n return payload;\n },\n [CrudActionType.AfterDelete]: (payload: any) => {\n return payload;\n },\n [CrudActionType.BeforeRemove]: (payload: any) => {\n return payload;\n },\n [CrudActionType.AfterRemove]: (payload: any) => {\n return payload;\n },\n };\n\n override hooks = {\n [CrudActionType.BeforeCreate]: () => {},\n [CrudActionType.AfterCreate]: () => {},\n [CrudActionType.BeforeSave]: (payload: any) => {},\n [CrudActionType.AfterSave]: (payload: any, data: any) => {},\n [CrudActionType.BeforeEdit]: (payload: any) => {},\n [CrudActionType.AfterEdit]: (payload: any) => {},\n [CrudActionType.BeforeUpdate]: (payload: any) => {},\n [CrudActionType.AfterUpdate]: (payload: any, data: any) => {},\n [CrudActionType.BeforeShow]: (payload: any) => {},\n [CrudActionType.AfterShow]: (payload: any) => {},\n [CrudActionType.BeforeList]: (payload: any) => {},\n [CrudActionType.AfterList]: (payload: any, data: any) => {},\n [CrudActionType.BeforeDelete]: (payload: any) => {},\n [CrudActionType.AfterDelete]: (payload: any) => {},\n [CrudActionType.BeforeRemove]: (payload: any) => {},\n [CrudActionType.AfterRemove]: (payload: any, data: any) => {},\n };\n\n override toCollection = (response: any) => {\n return {\n title: this.pluralName,\n columns: this.columns,\n rows: response?.data?.map((row: any) => ({\n ...row,\n cost: toMajor(row.cost),\n })),\n links: {\n primary: [],\n secondary: [\n {\n title: this.translate(\n 'apps.capital.payment.collection.links.secondary.view.title',\n ),\n fn: (link: any, item: any) => {\n this.show(item);\n },\n },\n {\n title: this.translate(\n 'apps.capital.payment.collection.links.secondary.download-receipt.title',\n ),\n fn: (link: any, item: any) => {\n navigateExternal(item.receiptUrl, true);\n },\n enabled: (link: any, item: any) => {\n return !!item.receiptUrl;\n },\n },\n ],\n tertiary: [],\n empty: [\n // {\n // title: this.translate(\n // 'apps.capital.payment.collection.links.empty.learn-more.title',\n // ),\n // fn: (link: any) => {\n // navigateExternal(`${getEnv('DOCS_BASE_URL')}/payments`, true);\n // },\n // },\n ],\n },\n hasTextFilter: true,\n hasDateFilter: false,\n selectable: false,\n hasHeaders: true,\n page: response?.meta?.current_page,\n perPage: response?.meta?.per_page,\n total: response?.meta?.total,\n };\n };\n}\n"],"names":["i3"],"mappings":"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"}