@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,406 @@
1
+ import * as i0 from '@angular/core';
2
+ import { inject, TemplateRef, Component, ViewChild, Injectable, NgModule } from '@angular/core';
3
+ import { PaymentModule as PaymentModule$1 } from '@thescaffold/ngx-common';
4
+ import * as i4 from '@thescaffold/ngx-core';
5
+ import { BaseDirective, toMajor, SharedModule, PipesModule } from '@thescaffold/ngx-core';
6
+ import * as i2 from '@thescaffold/ngx-ui';
7
+ import { ItemService, CrudProvider, CrudActionType, ElementsModule, NavsModule, CrudModule, CRUD_PROVIDER } from '@thescaffold/ngx-ui';
8
+ import { takeUntil, map } from 'rxjs';
9
+ import * as i1 from '@angular/common';
10
+
11
+ class VoucherComponent extends BaseDirective {
12
+ constructor() {
13
+ super(...arguments);
14
+ this.itemService = inject(ItemService);
15
+ this.vouchers$ = this.apiService.get('apps/capital/voucher/list').pipe(takeUntil(this.$), map(({ data }) => data));
16
+ }
17
+ copy(value) {
18
+ this.itemService.copy(value ?? '');
19
+ }
20
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.0.5", ngImport: i0, type: VoucherComponent, deps: null, target: i0.ɵɵFactoryTarget.Component }); }
21
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.0.5", type: VoucherComponent, selector: "app-voucher", viewQueries: [{ propertyName: "beforeListTemplate", first: true, predicate: ["beforeListTemplate"], descendants: true, read: TemplateRef, static: true }], usesInheritance: true, ngImport: i0, template: `
22
+ <ng-template #beforeListTemplate>
23
+ <ng-container *ngIf="vouchers$ | async as vouchers; else loader">
24
+ <div class="mb-5" *ngIf="vouchers.length">
25
+ <x-nav-toolbar
26
+ [data]="{
27
+ title: ('apps.capital.voucher.available.title' | xTranslate),
28
+ }"
29
+ ></x-nav-toolbar>
30
+ <div class="mb-3 row row-cols-3 g-4">
31
+ <div *ngFor="let voucher of vouchers" class="col">
32
+ <div class="card">
33
+ <div class="card-body">
34
+ <h5 class="card-title d-flex justify-content-between">
35
+ {{ voucher.name | titlecase }}
36
+ <span class="border rounded p-2 fs-3">
37
+ {{ voucher.token?.toUpperCase() }}
38
+ <button
39
+ type="button"
40
+ class="btn btn-link p-0"
41
+ (click)="copy(voucher.token)"
42
+ >
43
+ <i class="fa-solid fa-copy"></i>
44
+ </button>
45
+ </span>
46
+ </h5>
47
+ <p class="card-text text-end">
48
+ <span class="badge text-bg-primary"
49
+ >{{ voucher.currency }}
50
+ {{ voucher.amount | xMajor | number: '1.2-2' }}
51
+ monthly</span
52
+ >
53
+ </p>
54
+ <ul
55
+ *ngIf="voucher.rules?.startAt || voucher.rules?.endAt"
56
+ class="list-group list-group-flush"
57
+ >
58
+ <li
59
+ *ngIf="voucher.rules.startAt"
60
+ class="list-group-item d-flex justify-content-between"
61
+ >
62
+ <span>Usable From</span>
63
+ <span>{{ voucher.rules?.startAt | date: 'medium' }}</span>
64
+ </li>
65
+ <li
66
+ *ngIf="voucher.rules?.endAt"
67
+ class="list-group-item d-flex justify-content-between"
68
+ >
69
+ <span>Expire On</span>
70
+ <span>{{ voucher.rules.endAt | date: 'medium' }}</span>
71
+ </li>
72
+ </ul>
73
+ </div>
74
+ </div>
75
+ </div>
76
+ </div>
77
+ </div>
78
+ </ng-container>
79
+ </ng-template>
80
+
81
+ <!-- misc -->
82
+ <ng-template #loader>
83
+ <x-element-loader></x-element-loader>
84
+ </ng-template>
85
+
86
+ <ng-template #empty>
87
+ <x-element-blank></x-element-blank>
88
+ </ng-template>
89
+ `, isInline: true, dependencies: [{ kind: "directive", type: i1.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: i2.BlankComponent, selector: "x-element-blank", inputs: ["image", "icon", "type"] }, { kind: "component", type: i2.LoaderComponent, selector: "x-element-loader", inputs: ["data"] }, { kind: "component", type: i2.ToolbarComponent, selector: "x-nav-toolbar", inputs: ["data"] }, { kind: "pipe", type: i1.AsyncPipe, name: "async" }, { kind: "pipe", type: i1.DecimalPipe, name: "number" }, { kind: "pipe", type: i1.TitleCasePipe, name: "titlecase" }, { kind: "pipe", type: i1.DatePipe, name: "date" }, { kind: "pipe", type: i4.TranslatePipe, name: "xTranslate" }, { kind: "pipe", type: i4.MajorPipe, name: "xMajor" }] }); }
90
+ }
91
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.0.5", ngImport: i0, type: VoucherComponent, decorators: [{
92
+ type: Component,
93
+ args: [{ selector: 'app-voucher', template: `
94
+ <ng-template #beforeListTemplate>
95
+ <ng-container *ngIf="vouchers$ | async as vouchers; else loader">
96
+ <div class="mb-5" *ngIf="vouchers.length">
97
+ <x-nav-toolbar
98
+ [data]="{
99
+ title: ('apps.capital.voucher.available.title' | xTranslate),
100
+ }"
101
+ ></x-nav-toolbar>
102
+ <div class="mb-3 row row-cols-3 g-4">
103
+ <div *ngFor="let voucher of vouchers" class="col">
104
+ <div class="card">
105
+ <div class="card-body">
106
+ <h5 class="card-title d-flex justify-content-between">
107
+ {{ voucher.name | titlecase }}
108
+ <span class="border rounded p-2 fs-3">
109
+ {{ voucher.token?.toUpperCase() }}
110
+ <button
111
+ type="button"
112
+ class="btn btn-link p-0"
113
+ (click)="copy(voucher.token)"
114
+ >
115
+ <i class="fa-solid fa-copy"></i>
116
+ </button>
117
+ </span>
118
+ </h5>
119
+ <p class="card-text text-end">
120
+ <span class="badge text-bg-primary"
121
+ >{{ voucher.currency }}
122
+ {{ voucher.amount | xMajor | number: '1.2-2' }}
123
+ monthly</span
124
+ >
125
+ </p>
126
+ <ul
127
+ *ngIf="voucher.rules?.startAt || voucher.rules?.endAt"
128
+ class="list-group list-group-flush"
129
+ >
130
+ <li
131
+ *ngIf="voucher.rules.startAt"
132
+ class="list-group-item d-flex justify-content-between"
133
+ >
134
+ <span>Usable From</span>
135
+ <span>{{ voucher.rules?.startAt | date: 'medium' }}</span>
136
+ </li>
137
+ <li
138
+ *ngIf="voucher.rules?.endAt"
139
+ class="list-group-item d-flex justify-content-between"
140
+ >
141
+ <span>Expire On</span>
142
+ <span>{{ voucher.rules.endAt | date: 'medium' }}</span>
143
+ </li>
144
+ </ul>
145
+ </div>
146
+ </div>
147
+ </div>
148
+ </div>
149
+ </div>
150
+ </ng-container>
151
+ </ng-template>
152
+
153
+ <!-- misc -->
154
+ <ng-template #loader>
155
+ <x-element-loader></x-element-loader>
156
+ </ng-template>
157
+
158
+ <ng-template #empty>
159
+ <x-element-blank></x-element-blank>
160
+ </ng-template>
161
+ ` }]
162
+ }], propDecorators: { beforeListTemplate: [{
163
+ type: ViewChild,
164
+ args: ['beforeListTemplate', {
165
+ read: TemplateRef,
166
+ static: true,
167
+ }]
168
+ }] } });
169
+
170
+ class VoucherProvider extends CrudProvider {
171
+ constructor() {
172
+ super(...arguments);
173
+ this.main = true;
174
+ this.name = this.translate('apps.capital.voucher.name');
175
+ this.pluralName = this.translate('apps.capital.voucher.plural');
176
+ this.dataSource = this.apiService.on('apps/capital/voucher');
177
+ this.path = ['/', 'payments', 'voucher'];
178
+ this.columns = [
179
+ {
180
+ key: 'voucherType.name',
181
+ value: this.translate('apps.capital.voucher.columns.name.title'),
182
+ type: 'link',
183
+ links: (column, item) => [
184
+ {
185
+ title: item.voucherType.name,
186
+ fn: (link) => {
187
+ this.show(item);
188
+ },
189
+ },
190
+ ],
191
+ },
192
+ {
193
+ key: 'voucherType.currency',
194
+ value: this.translate('apps.capital.voucher.columns.currency.title'),
195
+ },
196
+ {
197
+ key: 'voucherType.amount',
198
+ value: this.translate('apps.capital.voucher.columns.amount.title'),
199
+ },
200
+ {
201
+ key: 'voucherType.token',
202
+ value: '', // this.translate('apps.capital.voucher.columns.token.title')
203
+ type: 'class',
204
+ class: 'badge border text-primary',
205
+ },
206
+ {
207
+ key: 'createdAt',
208
+ value: '', // this.translate('apps.capital.voucher.columns.created-at.title')
209
+ type: 'date',
210
+ },
211
+ ];
212
+ this.fields = [];
213
+ this.templateSource = VoucherComponent;
214
+ this.routes = {
215
+ // [CrudActionType.CloseCreate]: ['/', 'payments', 'voucher'],
216
+ // [CrudActionType.AfterSave]: ['/', 'payments', 'voucher'],
217
+ // [CrudActionType.CloseEdit]: ['/', 'payments', 'voucher'],
218
+ // [CrudActionType.AfterUpdate]: ['/', 'payments', 'voucher'],
219
+ // [CrudActionType.CloseShow]: ['/', 'payments', 'voucher'],
220
+ // [CrudActionType.CloseDelete]: ['/', 'payments', 'voucher'],
221
+ // [CrudActionType.AfterRemove]: ['/', 'payments', 'voucher'],
222
+ };
223
+ this.morphs = {
224
+ [CrudActionType.BeforeSave]: (payload) => {
225
+ return payload;
226
+ },
227
+ [CrudActionType.AfterSave]: (payload) => {
228
+ return payload;
229
+ },
230
+ [CrudActionType.BeforeEdit]: (payload) => {
231
+ return payload;
232
+ },
233
+ [CrudActionType.AfterEdit]: (payload) => {
234
+ return payload;
235
+ },
236
+ [CrudActionType.BeforeUpdate]: (payload) => {
237
+ return payload;
238
+ },
239
+ [CrudActionType.AfterUpdate]: (payload) => {
240
+ return payload;
241
+ },
242
+ [CrudActionType.BeforeShow]: (payload) => {
243
+ return {
244
+ list: [
245
+ {
246
+ title: this.translate('apps.capital.voucher.show.list.name.title'),
247
+ value: payload.voucherType.name,
248
+ },
249
+ {
250
+ title: this.translate('apps.capital.voucher.show.list.currency.title'),
251
+ value: payload.voucherType.currency,
252
+ },
253
+ {
254
+ title: this.translate('apps.capital.voucher.show.list.amount.title'),
255
+ value: payload.voucherType.amount,
256
+ },
257
+ {
258
+ title: this.translate('apps.capital.voucher.show.list.token.title'),
259
+ value: payload.voucherType.token,
260
+ copyable: true,
261
+ },
262
+ {
263
+ title: this.translate('apps.capital.voucher.show.list.created-at.title'),
264
+ value: payload.createdAt,
265
+ },
266
+ ],
267
+ ...payload,
268
+ };
269
+ },
270
+ [CrudActionType.AfterShow]: (payload) => {
271
+ return payload;
272
+ },
273
+ [CrudActionType.BeforeList]: (payload) => {
274
+ return {
275
+ ...payload,
276
+ relations: 'voucherType',
277
+ };
278
+ },
279
+ [CrudActionType.AfterList]: (payload) => {
280
+ return payload;
281
+ },
282
+ [CrudActionType.BeforeDelete]: (payload) => {
283
+ return payload;
284
+ },
285
+ [CrudActionType.AfterDelete]: (payload) => {
286
+ return payload;
287
+ },
288
+ [CrudActionType.BeforeRemove]: (payload) => {
289
+ return payload;
290
+ },
291
+ [CrudActionType.AfterRemove]: (payload) => {
292
+ return payload;
293
+ },
294
+ };
295
+ this.hooks = {
296
+ [CrudActionType.BeforeCreate]: () => { },
297
+ [CrudActionType.AfterCreate]: () => { },
298
+ [CrudActionType.BeforeSave]: (payload) => { },
299
+ [CrudActionType.AfterSave]: (payload, data) => { },
300
+ [CrudActionType.BeforeEdit]: (payload) => { },
301
+ [CrudActionType.AfterEdit]: (payload) => { },
302
+ [CrudActionType.BeforeUpdate]: (payload) => { },
303
+ [CrudActionType.AfterUpdate]: (payload, data) => { },
304
+ [CrudActionType.BeforeShow]: (payload) => { },
305
+ [CrudActionType.AfterShow]: (payload) => { },
306
+ [CrudActionType.BeforeList]: (payload) => { },
307
+ [CrudActionType.AfterList]: (payload, data) => { },
308
+ [CrudActionType.BeforeDelete]: (payload) => { },
309
+ [CrudActionType.AfterDelete]: (payload) => { },
310
+ [CrudActionType.BeforeRemove]: (payload) => { },
311
+ [CrudActionType.AfterRemove]: (payload, data) => { },
312
+ };
313
+ this.toCollection = (response) => {
314
+ return {
315
+ title: this.pluralName,
316
+ columns: this.columns,
317
+ rows: response?.data?.map((row) => ({
318
+ ...row,
319
+ voucherType: {
320
+ ...row.voucherType,
321
+ amount: toMajor(row.voucherType.amount),
322
+ },
323
+ })),
324
+ links: {
325
+ primary: [],
326
+ secondary: [
327
+ {
328
+ title: this.translate('apps.capital.voucher.collection.links.secondary.view.title'),
329
+ fn: (link, item) => {
330
+ this.show(item);
331
+ },
332
+ },
333
+ ],
334
+ tertiary: [],
335
+ empty: [
336
+ // {
337
+ // title: this.translate(
338
+ // 'apps.capital.voucher.collection.links.empty.learn-more.title',
339
+ // ),
340
+ // fn: (link: any) => {
341
+ // navigateExternal(`${getEnv('DOCS_BASE_URL')}/vouchers`, true);
342
+ // },
343
+ // },
344
+ ],
345
+ },
346
+ hasTextFilter: true,
347
+ hasDateFilter: false,
348
+ selectable: false,
349
+ hasHeaders: true,
350
+ page: response?.meta?.current_page,
351
+ perPage: response?.meta?.per_page,
352
+ total: response?.meta?.total,
353
+ };
354
+ };
355
+ }
356
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.0.5", ngImport: i0, type: VoucherProvider, deps: null, target: i0.ɵɵFactoryTarget.Injectable }); }
357
+ static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "18.0.5", ngImport: i0, type: VoucherProvider, providedIn: 'root' }); }
358
+ }
359
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.0.5", ngImport: i0, type: VoucherProvider, decorators: [{
360
+ type: Injectable,
361
+ args: [{
362
+ providedIn: 'root',
363
+ }]
364
+ }] });
365
+
366
+ class VoucherModule {
367
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.0.5", ngImport: i0, type: VoucherModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule }); }
368
+ static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "18.0.5", ngImport: i0, type: VoucherModule, declarations: [VoucherComponent], imports: [SharedModule,
369
+ PaymentModule$1,
370
+ ElementsModule,
371
+ PipesModule,
372
+ NavsModule], exports: [CrudModule] }); }
373
+ static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "18.0.5", ngImport: i0, type: VoucherModule, providers: [
374
+ {
375
+ provide: CRUD_PROVIDER,
376
+ useClass: VoucherProvider,
377
+ },
378
+ ], imports: [SharedModule,
379
+ PaymentModule$1,
380
+ ElementsModule,
381
+ PipesModule,
382
+ NavsModule, CrudModule] }); }
383
+ }
384
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.0.5", ngImport: i0, type: VoucherModule, decorators: [{
385
+ type: NgModule,
386
+ args: [{
387
+ declarations: [VoucherComponent],
388
+ exports: [CrudModule],
389
+ providers: [
390
+ {
391
+ provide: CRUD_PROVIDER,
392
+ useClass: VoucherProvider,
393
+ },
394
+ ],
395
+ imports: [
396
+ SharedModule,
397
+ PaymentModule$1,
398
+ ElementsModule,
399
+ PipesModule,
400
+ NavsModule,
401
+ ],
402
+ }]
403
+ }] });
404
+
405
+ export { VoucherModule };
406
+ //# sourceMappingURL=thescaffold-ngx-apps-capital-voucher.module-DMt7Jj8o.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"thescaffold-ngx-apps-capital-voucher.module-DMt7Jj8o.mjs","sources":["../../../projects/capital/src/lib/pages/voucher/voucher.component.ts","../../../projects/capital/src/lib/pages/voucher/voucher.provider.ts","../../../projects/capital/src/lib/pages/voucher/voucher.module.ts"],"sourcesContent":["import { Component, inject, TemplateRef, ViewChild } from '@angular/core';\nimport { BaseDirective } from '@thescaffold/ngx-core';\nimport { ItemService } from '@thescaffold/ngx-ui';\nimport { map, takeUntil } from 'rxjs';\n\n@Component({\n selector: 'app-voucher',\n template: `\n <ng-template #beforeListTemplate>\n <ng-container *ngIf=\"vouchers$ | async as vouchers; else loader\">\n <div class=\"mb-5\" *ngIf=\"vouchers.length\">\n <x-nav-toolbar\n [data]=\"{\n title: ('apps.capital.voucher.available.title' | xTranslate),\n }\"\n ></x-nav-toolbar>\n <div class=\"mb-3 row row-cols-3 g-4\">\n <div *ngFor=\"let voucher of vouchers\" class=\"col\">\n <div class=\"card\">\n <div class=\"card-body\">\n <h5 class=\"card-title d-flex justify-content-between\">\n {{ voucher.name | titlecase }}\n <span class=\"border rounded p-2 fs-3\">\n {{ voucher.token?.toUpperCase() }}\n <button\n type=\"button\"\n class=\"btn btn-link p-0\"\n (click)=\"copy(voucher.token)\"\n >\n <i class=\"fa-solid fa-copy\"></i>\n </button>\n </span>\n </h5>\n <p class=\"card-text text-end\">\n <span class=\"badge text-bg-primary\"\n >{{ voucher.currency }}\n {{ voucher.amount | xMajor | number: '1.2-2' }}\n monthly</span\n >\n </p>\n <ul\n *ngIf=\"voucher.rules?.startAt || voucher.rules?.endAt\"\n class=\"list-group list-group-flush\"\n >\n <li\n *ngIf=\"voucher.rules.startAt\"\n class=\"list-group-item d-flex justify-content-between\"\n >\n <span>Usable From</span>\n <span>{{ voucher.rules?.startAt | date: 'medium' }}</span>\n </li>\n <li\n *ngIf=\"voucher.rules?.endAt\"\n class=\"list-group-item d-flex justify-content-between\"\n >\n <span>Expire On</span>\n <span>{{ voucher.rules.endAt | date: 'medium' }}</span>\n </li>\n </ul>\n </div>\n </div>\n </div>\n </div>\n </div>\n </ng-container>\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 VoucherComponent extends BaseDirective {\n private readonly itemService = inject(ItemService);\n\n vouchers$ = this.apiService.get('apps/capital/voucher/list').pipe(\n takeUntil(this.$),\n map(({ data }) => data),\n );\n\n @ViewChild('beforeListTemplate', {\n read: TemplateRef,\n static: true,\n })\n beforeListTemplate!: TemplateRef<any>;\n\n copy(value: string) {\n this.itemService.copy(value ?? '');\n }\n}\n","import { Injectable } from '@angular/core';\nimport { toMajor } from '@thescaffold/ngx-core';\nimport { CrudActionType, CrudProvider } from '@thescaffold/ngx-ui';\nimport { VoucherComponent } from './voucher.component';\n\n@Injectable({\n providedIn: 'root',\n})\nexport class VoucherProvider extends CrudProvider {\n override main = true;\n override name = this.translate('apps.capital.voucher.name');\n override pluralName = this.translate('apps.capital.voucher.plural');\n override dataSource = this.apiService.on('apps/capital/voucher');\n override path = ['/', 'payments', 'voucher'];\n override columns = [\n {\n key: 'voucherType.name',\n value: this.translate('apps.capital.voucher.columns.name.title'),\n type: 'link',\n links: (column: any, item: any) => [\n {\n title: item.voucherType.name,\n fn: (link: any) => {\n this.show(item);\n },\n },\n ],\n },\n {\n key: 'voucherType.currency',\n value: this.translate('apps.capital.voucher.columns.currency.title'),\n },\n {\n key: 'voucherType.amount',\n value: this.translate('apps.capital.voucher.columns.amount.title'),\n },\n {\n key: 'voucherType.token',\n value: '', // this.translate('apps.capital.voucher.columns.token.title')\n type: 'class',\n class: 'badge border text-primary',\n },\n {\n key: 'createdAt',\n value: '', // this.translate('apps.capital.voucher.columns.created-at.title')\n type: 'date',\n },\n ];\n override fields = [];\n\n override templateSource = VoucherComponent;\n\n override routes = {\n // [CrudActionType.CloseCreate]: ['/', 'payments', 'voucher'],\n // [CrudActionType.AfterSave]: ['/', 'payments', 'voucher'],\n // [CrudActionType.CloseEdit]: ['/', 'payments', 'voucher'],\n // [CrudActionType.AfterUpdate]: ['/', 'payments', 'voucher'],\n // [CrudActionType.CloseShow]: ['/', 'payments', 'voucher'],\n // [CrudActionType.CloseDelete]: ['/', 'payments', 'voucher'],\n // [CrudActionType.AfterRemove]: ['/', 'payments', 'voucher'],\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('apps.capital.voucher.show.list.name.title'),\n value: payload.voucherType.name,\n },\n {\n title: this.translate(\n 'apps.capital.voucher.show.list.currency.title',\n ),\n value: payload.voucherType.currency,\n },\n {\n title: this.translate(\n 'apps.capital.voucher.show.list.amount.title',\n ),\n value: payload.voucherType.amount,\n },\n {\n title: this.translate('apps.capital.voucher.show.list.token.title'),\n value: payload.voucherType.token,\n copyable: true,\n },\n {\n title: this.translate(\n 'apps.capital.voucher.show.list.created-at.title',\n ),\n value: payload.createdAt,\n },\n ],\n ...payload,\n };\n },\n [CrudActionType.AfterShow]: (payload: any) => {\n return payload;\n },\n [CrudActionType.BeforeList]: (payload: any) => {\n return {\n ...payload,\n relations: 'voucherType',\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 voucherType: {\n ...row.voucherType,\n amount: toMajor(row.voucherType.amount),\n },\n })),\n links: {\n primary: [],\n secondary: [\n {\n title: this.translate(\n 'apps.capital.voucher.collection.links.secondary.view.title',\n ),\n fn: (link: any, item: any) => {\n this.show(item);\n },\n },\n ],\n tertiary: [],\n empty: [\n // {\n // title: this.translate(\n // 'apps.capital.voucher.collection.links.empty.learn-more.title',\n // ),\n // fn: (link: any) => {\n // navigateExternal(`${getEnv('DOCS_BASE_URL')}/vouchers`, 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","import { NgModule } from '@angular/core';\nimport { PaymentModule } from '@thescaffold/ngx-common';\nimport { PipesModule, SharedModule } from '@thescaffold/ngx-core';\nimport {\n CRUD_PROVIDER,\n CrudModule,\n ElementsModule,\n NavsModule,\n} from '@thescaffold/ngx-ui';\nimport { VoucherComponent } from './voucher.component';\nimport { VoucherProvider } from './voucher.provider';\n\n@NgModule({\n declarations: [VoucherComponent],\n exports: [CrudModule],\n providers: [\n {\n provide: CRUD_PROVIDER,\n useClass: VoucherProvider,\n },\n ],\n imports: [\n SharedModule,\n PaymentModule,\n ElementsModule,\n PipesModule,\n NavsModule,\n ],\n})\nexport class VoucherModule {}\n"],"names":["i3","PaymentModule"],"mappings":"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"}