@posiwise/admin-module 0.0.255 → 0.0.257
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.
|
@@ -11,16 +11,18 @@ import { AdminDataService, AdminService, AppAdmin, DEFAULT_PAYOUT_PROVIDER, ONBO
|
|
|
11
11
|
import { AppConfigService } from "@posiwise/app-config-service";
|
|
12
12
|
import * as i4$3 from "@posiwise/app-loader";
|
|
13
13
|
import { AppLoaderModule } from "@posiwise/app-loader";
|
|
14
|
-
import * as i2$
|
|
14
|
+
import * as i2$1 from "@posiwise/common-services";
|
|
15
15
|
import { FormHelperService, PermissionService, PrimeNgHelper, SubscriptionService, ValidationService } from "@posiwise/common-services";
|
|
16
|
+
import * as i9 from "@posiwise/core-guards";
|
|
17
|
+
import { PageAccessGuard, TrackDirtyFormDirective } from "@posiwise/core-guards";
|
|
16
18
|
import { CoreTranslocoModule } from "@posiwise/core-transloco";
|
|
17
19
|
import * as i8 from "@posiwise/directives";
|
|
18
20
|
import { DirectivesModule } from "@posiwise/directives";
|
|
19
|
-
import * as i9 from "@posiwise/pipes";
|
|
21
|
+
import * as i9$1 from "@posiwise/pipes";
|
|
20
22
|
import { PipesModule } from "@posiwise/pipes";
|
|
21
23
|
import * as i6$2 from "@posiwise/shared-components";
|
|
22
24
|
import { CollapsibleSidebarTriggerDirective, SharedComponentsModule } from "@posiwise/shared-components";
|
|
23
|
-
import * as i12 from "@posiwise/utils";
|
|
25
|
+
import * as i12$1 from "@posiwise/utils";
|
|
24
26
|
import { CustomUploaderComponent, QuillHelper, ValidateForm, appendQueryParam, handleDateRangeSelection } from "@posiwise/utils";
|
|
25
27
|
import * as i2 from "angular-plotly.js";
|
|
26
28
|
import { PlotlyViaCDNModule } from "angular-plotly.js";
|
|
@@ -29,7 +31,7 @@ import { NgxDaterangepickerMd } from "ngx-daterangepicker-material";
|
|
|
29
31
|
import * as i3$1 from "ngx-json-viewer";
|
|
30
32
|
import { NgxJsonViewerModule } from "ngx-json-viewer";
|
|
31
33
|
import { NgxPaginationModule } from "ngx-pagination";
|
|
32
|
-
import * as
|
|
34
|
+
import * as i12 from "ngx-quill";
|
|
33
35
|
import { QuillModule } from "ngx-quill";
|
|
34
36
|
import * as i5 from "ngx-ui-switch";
|
|
35
37
|
import { UiSwitchModule } from "ngx-ui-switch";
|
|
@@ -50,9 +52,9 @@ import * as i5$1 from "primeng/inputtext";
|
|
|
50
52
|
import { InputTextModule } from "primeng/inputtext";
|
|
51
53
|
import * as i4$2 from "primeng/multiselect";
|
|
52
54
|
import { MultiSelectModule } from "primeng/multiselect";
|
|
53
|
-
import * as i2$
|
|
55
|
+
import * as i2$2 from "primeng/select";
|
|
54
56
|
import { SelectModule } from "primeng/select";
|
|
55
|
-
import * as i2$
|
|
57
|
+
import * as i2$3 from "primeng/table";
|
|
56
58
|
import { TableModule } from "primeng/table";
|
|
57
59
|
import * as i3$3 from "primeng/tooltip";
|
|
58
60
|
import { TooltipModule } from "primeng/tooltip";
|
|
@@ -61,13 +63,11 @@ import * as i3$2 from "@ng-bootstrap/ng-bootstrap";
|
|
|
61
63
|
import { NgbActiveModal, NgbDatepickerModule, NgbModalModule, NgbNavModule, NgbTooltipModule } from "@ng-bootstrap/ng-bootstrap";
|
|
62
64
|
import * as i7$2 from "@angular/router";
|
|
63
65
|
import { RouterModule } from "@angular/router";
|
|
64
|
-
import * as i2$1 from "@posiwise/core-guards";
|
|
65
|
-
import { PageAccessGuard, unsavedChangesGuard } from "@posiwise/core-guards";
|
|
66
66
|
import { AppBaseComponent } from "@posiwise/app-base-component";
|
|
67
67
|
import * as i8$2 from "@jsverse/transloco";
|
|
68
68
|
import { ADMIN_ROUTERS, PAGE_SIZE, PERMISSION_NAMES, SUBSCRIPTION_ANALYTICS_TYPES, TAG_ENTITY, TOKEN_HEADER_KEY } from "@posiwise/common-utilities";
|
|
69
69
|
import { HelperService } from "@posiwise/helper-service";
|
|
70
|
-
import * as i11
|
|
70
|
+
import * as i11 from "primeng/progressspinner";
|
|
71
71
|
import { __decorate } from "tslib";
|
|
72
72
|
import * as i14 from "@angular/cdk/drag-drop";
|
|
73
73
|
import { moveItemInArray } from "@angular/cdk/drag-drop";
|
|
@@ -195,7 +195,7 @@ var AmbassadorPayoutDetailsComponent = class AmbassadorPayoutDetailsComponent ex
|
|
|
195
195
|
dependencies: [
|
|
196
196
|
{
|
|
197
197
|
kind: "component",
|
|
198
|
-
type: i2$
|
|
198
|
+
type: i2$3.Table,
|
|
199
199
|
selector: "p-table",
|
|
200
200
|
inputs: [
|
|
201
201
|
"frozenColumns",
|
|
@@ -308,7 +308,7 @@ var AmbassadorPayoutDetailsComponent = class AmbassadorPayoutDetailsComponent ex
|
|
|
308
308
|
},
|
|
309
309
|
{
|
|
310
310
|
kind: "directive",
|
|
311
|
-
type: i2$
|
|
311
|
+
type: i2$3.ResizableColumn,
|
|
312
312
|
selector: "[pResizableColumn]",
|
|
313
313
|
inputs: ["pResizableColumnDisabled"]
|
|
314
314
|
},
|
|
@@ -397,7 +397,7 @@ var AmbassadorPayoutDetailsComponent = class AmbassadorPayoutDetailsComponent ex
|
|
|
397
397
|
},
|
|
398
398
|
{
|
|
399
399
|
kind: "pipe",
|
|
400
|
-
type: i9.DateFormatPipe,
|
|
400
|
+
type: i9$1.DateFormatPipe,
|
|
401
401
|
name: "dateFormat"
|
|
402
402
|
}
|
|
403
403
|
]
|
|
@@ -570,7 +570,7 @@ var AmbassadorPayoutsListComponent = class AmbassadorPayoutsListComponent extend
|
|
|
570
570
|
dependencies: [
|
|
571
571
|
{
|
|
572
572
|
kind: "component",
|
|
573
|
-
type: i2$
|
|
573
|
+
type: i2$3.Table,
|
|
574
574
|
selector: "p-table",
|
|
575
575
|
inputs: [
|
|
576
576
|
"frozenColumns",
|
|
@@ -683,19 +683,19 @@ var AmbassadorPayoutsListComponent = class AmbassadorPayoutsListComponent extend
|
|
|
683
683
|
},
|
|
684
684
|
{
|
|
685
685
|
kind: "directive",
|
|
686
|
-
type: i2$
|
|
686
|
+
type: i2$3.SortableColumn,
|
|
687
687
|
selector: "[pSortableColumn]",
|
|
688
688
|
inputs: ["pSortableColumn", "pSortableColumnDisabled"]
|
|
689
689
|
},
|
|
690
690
|
{
|
|
691
691
|
kind: "directive",
|
|
692
|
-
type: i2$
|
|
692
|
+
type: i2$3.ResizableColumn,
|
|
693
693
|
selector: "[pResizableColumn]",
|
|
694
694
|
inputs: ["pResizableColumnDisabled"]
|
|
695
695
|
},
|
|
696
696
|
{
|
|
697
697
|
kind: "component",
|
|
698
|
-
type: i2$
|
|
698
|
+
type: i2$3.SortIcon,
|
|
699
699
|
selector: "p-sort-icon, p-sorticon",
|
|
700
700
|
inputs: ["field"]
|
|
701
701
|
},
|
|
@@ -947,7 +947,7 @@ var AmbassadorPayoutsListComponent = class AmbassadorPayoutsListComponent extend
|
|
|
947
947
|
},
|
|
948
948
|
{
|
|
949
949
|
kind: "component",
|
|
950
|
-
type: i11
|
|
950
|
+
type: i11.ProgressSpinner,
|
|
951
951
|
selector: "p-progress-spinner, p-progressspinner",
|
|
952
952
|
inputs: [
|
|
953
953
|
"value",
|
|
@@ -1006,7 +1006,7 @@ var AmbassadorPayoutsListComponent = class AmbassadorPayoutsListComponent extend
|
|
|
1006
1006
|
},
|
|
1007
1007
|
{
|
|
1008
1008
|
kind: "pipe",
|
|
1009
|
-
type: i9.DateFormatPipe,
|
|
1009
|
+
type: i9$1.DateFormatPipe,
|
|
1010
1010
|
name: "dateFormat"
|
|
1011
1011
|
}
|
|
1012
1012
|
]
|
|
@@ -1117,6 +1117,7 @@ var GlobalConfigDetailsComponent = class GlobalConfigDetailsComponent extends Ap
|
|
|
1117
1117
|
this.buttonBusy = true;
|
|
1118
1118
|
const data = this.form.value;
|
|
1119
1119
|
(this.id ? this.adminService.editGlobalConfig(this.id, data) : this.adminService.postGlobalConfig(data)).subscribe(() => {
|
|
1120
|
+
this.form.markAsPristine();
|
|
1120
1121
|
this.toast.success(this.translation.translate("Admin.GlobalConfigMessage.UpdatedMessage"));
|
|
1121
1122
|
this.back();
|
|
1122
1123
|
this.cdr.markForCheck();
|
|
@@ -1164,7 +1165,7 @@ var GlobalConfigDetailsComponent = class GlobalConfigDetailsComponent extends Ap
|
|
|
1164
1165
|
dependencies: [
|
|
1165
1166
|
{
|
|
1166
1167
|
kind: "component",
|
|
1167
|
-
type: i2$
|
|
1168
|
+
type: i2$2.Select,
|
|
1168
1169
|
selector: "p-select",
|
|
1169
1170
|
inputs: [
|
|
1170
1171
|
"id",
|
|
@@ -1288,7 +1289,7 @@ var GlobalConfigDetailsComponent = class GlobalConfigDetailsComponent extends Ap
|
|
|
1288
1289
|
},
|
|
1289
1290
|
{
|
|
1290
1291
|
kind: "component",
|
|
1291
|
-
type: i11
|
|
1292
|
+
type: i11.ProgressSpinner,
|
|
1292
1293
|
selector: "p-progress-spinner, p-progressspinner",
|
|
1293
1294
|
inputs: [
|
|
1294
1295
|
"value",
|
|
@@ -1354,6 +1355,11 @@ var GlobalConfigDetailsComponent = class GlobalConfigDetailsComponent extends Ap
|
|
|
1354
1355
|
],
|
|
1355
1356
|
outputs: ["ngModelChange"]
|
|
1356
1357
|
},
|
|
1358
|
+
{
|
|
1359
|
+
kind: "directive",
|
|
1360
|
+
type: i9.TrackDirtyFormDirective,
|
|
1361
|
+
selector: "[formGroup]:not([formGroupSkipDirty])"
|
|
1362
|
+
},
|
|
1357
1363
|
{
|
|
1358
1364
|
kind: "pipe",
|
|
1359
1365
|
type: i8$2.TranslocoPipe,
|
|
@@ -1478,7 +1484,7 @@ var GlobalConfigListComponent = class GlobalConfigListComponent extends AppBaseC
|
|
|
1478
1484
|
dependencies: [
|
|
1479
1485
|
{
|
|
1480
1486
|
kind: "component",
|
|
1481
|
-
type: i2$
|
|
1487
|
+
type: i2$3.Table,
|
|
1482
1488
|
selector: "p-table",
|
|
1483
1489
|
inputs: [
|
|
1484
1490
|
"frozenColumns",
|
|
@@ -1591,19 +1597,19 @@ var GlobalConfigListComponent = class GlobalConfigListComponent extends AppBaseC
|
|
|
1591
1597
|
},
|
|
1592
1598
|
{
|
|
1593
1599
|
kind: "directive",
|
|
1594
|
-
type: i2$
|
|
1600
|
+
type: i2$3.SortableColumn,
|
|
1595
1601
|
selector: "[pSortableColumn]",
|
|
1596
1602
|
inputs: ["pSortableColumn", "pSortableColumnDisabled"]
|
|
1597
1603
|
},
|
|
1598
1604
|
{
|
|
1599
1605
|
kind: "directive",
|
|
1600
|
-
type: i2$
|
|
1606
|
+
type: i2$3.ResizableColumn,
|
|
1601
1607
|
selector: "[pResizableColumn]",
|
|
1602
1608
|
inputs: ["pResizableColumnDisabled"]
|
|
1603
1609
|
},
|
|
1604
1610
|
{
|
|
1605
1611
|
kind: "component",
|
|
1606
|
-
type: i2$
|
|
1612
|
+
type: i2$3.SortIcon,
|
|
1607
1613
|
selector: "p-sort-icon, p-sorticon",
|
|
1608
1614
|
inputs: ["field"]
|
|
1609
1615
|
},
|
|
@@ -1686,7 +1692,7 @@ var GlobalConfigListComponent = class GlobalConfigListComponent extends AppBaseC
|
|
|
1686
1692
|
},
|
|
1687
1693
|
{
|
|
1688
1694
|
kind: "component",
|
|
1689
|
-
type: i11
|
|
1695
|
+
type: i11.ProgressSpinner,
|
|
1690
1696
|
selector: "p-progress-spinner, p-progressspinner",
|
|
1691
1697
|
inputs: [
|
|
1692
1698
|
"value",
|
|
@@ -1926,7 +1932,7 @@ var ContactUsListComponent = class ContactUsListComponent extends AppBaseCompone
|
|
|
1926
1932
|
dependencies: [
|
|
1927
1933
|
{
|
|
1928
1934
|
kind: "component",
|
|
1929
|
-
type: i2$
|
|
1935
|
+
type: i2$3.Table,
|
|
1930
1936
|
selector: "p-table",
|
|
1931
1937
|
inputs: [
|
|
1932
1938
|
"frozenColumns",
|
|
@@ -2039,19 +2045,19 @@ var ContactUsListComponent = class ContactUsListComponent extends AppBaseCompone
|
|
|
2039
2045
|
},
|
|
2040
2046
|
{
|
|
2041
2047
|
kind: "directive",
|
|
2042
|
-
type: i2$
|
|
2048
|
+
type: i2$3.SortableColumn,
|
|
2043
2049
|
selector: "[pSortableColumn]",
|
|
2044
2050
|
inputs: ["pSortableColumn", "pSortableColumnDisabled"]
|
|
2045
2051
|
},
|
|
2046
2052
|
{
|
|
2047
2053
|
kind: "directive",
|
|
2048
|
-
type: i2$
|
|
2054
|
+
type: i2$3.ResizableColumn,
|
|
2049
2055
|
selector: "[pResizableColumn]",
|
|
2050
2056
|
inputs: ["pResizableColumnDisabled"]
|
|
2051
2057
|
},
|
|
2052
2058
|
{
|
|
2053
2059
|
kind: "component",
|
|
2054
|
-
type: i2$
|
|
2060
|
+
type: i2$3.SortIcon,
|
|
2055
2061
|
selector: "p-sort-icon, p-sorticon",
|
|
2056
2062
|
inputs: ["field"]
|
|
2057
2063
|
},
|
|
@@ -2085,7 +2091,7 @@ var ContactUsListComponent = class ContactUsListComponent extends AppBaseCompone
|
|
|
2085
2091
|
},
|
|
2086
2092
|
{
|
|
2087
2093
|
kind: "component",
|
|
2088
|
-
type: i2$
|
|
2094
|
+
type: i2$2.Select,
|
|
2089
2095
|
selector: "p-select",
|
|
2090
2096
|
inputs: [
|
|
2091
2097
|
"id",
|
|
@@ -2204,7 +2210,7 @@ var ContactUsListComponent = class ContactUsListComponent extends AppBaseCompone
|
|
|
2204
2210
|
},
|
|
2205
2211
|
{
|
|
2206
2212
|
kind: "component",
|
|
2207
|
-
type: i11
|
|
2213
|
+
type: i11.ProgressSpinner,
|
|
2208
2214
|
selector: "p-progress-spinner, p-progressspinner",
|
|
2209
2215
|
inputs: [
|
|
2210
2216
|
"value",
|
|
@@ -2239,12 +2245,12 @@ var ContactUsListComponent = class ContactUsListComponent extends AppBaseCompone
|
|
|
2239
2245
|
},
|
|
2240
2246
|
{
|
|
2241
2247
|
kind: "pipe",
|
|
2242
|
-
type: i9.DateFormatPipe,
|
|
2248
|
+
type: i9$1.DateFormatPipe,
|
|
2243
2249
|
name: "dateFormat"
|
|
2244
2250
|
},
|
|
2245
2251
|
{
|
|
2246
2252
|
kind: "pipe",
|
|
2247
|
-
type: i9.TextTruncatePipe,
|
|
2253
|
+
type: i9$1.TextTruncatePipe,
|
|
2248
2254
|
name: "textTruncate"
|
|
2249
2255
|
}
|
|
2250
2256
|
]
|
|
@@ -2410,7 +2416,7 @@ var CredentialsComponent = class CredentialsComponent extends AppBaseComponent {
|
|
|
2410
2416
|
dependencies: [
|
|
2411
2417
|
{
|
|
2412
2418
|
kind: "component",
|
|
2413
|
-
type: i2$
|
|
2419
|
+
type: i2$3.Table,
|
|
2414
2420
|
selector: "p-table",
|
|
2415
2421
|
inputs: [
|
|
2416
2422
|
"frozenColumns",
|
|
@@ -2523,19 +2529,19 @@ var CredentialsComponent = class CredentialsComponent extends AppBaseComponent {
|
|
|
2523
2529
|
},
|
|
2524
2530
|
{
|
|
2525
2531
|
kind: "directive",
|
|
2526
|
-
type: i2$
|
|
2532
|
+
type: i2$3.SortableColumn,
|
|
2527
2533
|
selector: "[pSortableColumn]",
|
|
2528
2534
|
inputs: ["pSortableColumn", "pSortableColumnDisabled"]
|
|
2529
2535
|
},
|
|
2530
2536
|
{
|
|
2531
2537
|
kind: "directive",
|
|
2532
|
-
type: i2$
|
|
2538
|
+
type: i2$3.ResizableColumn,
|
|
2533
2539
|
selector: "[pResizableColumn]",
|
|
2534
2540
|
inputs: ["pResizableColumnDisabled"]
|
|
2535
2541
|
},
|
|
2536
2542
|
{
|
|
2537
2543
|
kind: "component",
|
|
2538
|
-
type: i2$
|
|
2544
|
+
type: i2$3.SortIcon,
|
|
2539
2545
|
selector: "p-sort-icon, p-sorticon",
|
|
2540
2546
|
inputs: ["field"]
|
|
2541
2547
|
},
|
|
@@ -2618,7 +2624,7 @@ var CredentialsComponent = class CredentialsComponent extends AppBaseComponent {
|
|
|
2618
2624
|
},
|
|
2619
2625
|
{
|
|
2620
2626
|
kind: "component",
|
|
2621
|
-
type: i11
|
|
2627
|
+
type: i11.ProgressSpinner,
|
|
2622
2628
|
selector: "p-progress-spinner, p-progressspinner",
|
|
2623
2629
|
inputs: [
|
|
2624
2630
|
"value",
|
|
@@ -2739,6 +2745,7 @@ var CredentialsDetailsComponent = class CredentialsDetailsComponent extends AppB
|
|
|
2739
2745
|
this.submitted = true;
|
|
2740
2746
|
(this.id ? this.adminService.updateCredentials(this.id, this.form.value) : this.adminService.saveCredentials(this.form.value)).subscribe((response) => {
|
|
2741
2747
|
this.form.patchValue(response);
|
|
2748
|
+
this.form.markAsPristine();
|
|
2742
2749
|
this.toast.success(this.translation.translate("Credentials.UpdatedMessage"));
|
|
2743
2750
|
this.back();
|
|
2744
2751
|
this.cdr.markForCheck();
|
|
@@ -2832,7 +2839,7 @@ var CredentialsDetailsComponent = class CredentialsDetailsComponent extends AppB
|
|
|
2832
2839
|
},
|
|
2833
2840
|
{
|
|
2834
2841
|
kind: "component",
|
|
2835
|
-
type: i11
|
|
2842
|
+
type: i11.ProgressSpinner,
|
|
2836
2843
|
selector: "p-progress-spinner, p-progressspinner",
|
|
2837
2844
|
inputs: [
|
|
2838
2845
|
"value",
|
|
@@ -2917,6 +2924,11 @@ var CredentialsDetailsComponent = class CredentialsDetailsComponent extends AppB
|
|
|
2917
2924
|
],
|
|
2918
2925
|
outputs: ["ngModelChange"]
|
|
2919
2926
|
},
|
|
2927
|
+
{
|
|
2928
|
+
kind: "directive",
|
|
2929
|
+
type: i9.TrackDirtyFormDirective,
|
|
2930
|
+
selector: "[formGroup]:not([formGroupSkipDirty])"
|
|
2931
|
+
},
|
|
2920
2932
|
{
|
|
2921
2933
|
kind: "pipe",
|
|
2922
2934
|
type: i8$2.TranslocoPipe,
|
|
@@ -3130,7 +3142,7 @@ var SubscriptionCredentialsComponent = class SubscriptionCredentialsComponent ex
|
|
|
3130
3142
|
dependencies: [
|
|
3131
3143
|
{
|
|
3132
3144
|
kind: "component",
|
|
3133
|
-
type: i2$
|
|
3145
|
+
type: i2$3.Table,
|
|
3134
3146
|
selector: "p-table",
|
|
3135
3147
|
inputs: [
|
|
3136
3148
|
"frozenColumns",
|
|
@@ -3243,19 +3255,19 @@ var SubscriptionCredentialsComponent = class SubscriptionCredentialsComponent ex
|
|
|
3243
3255
|
},
|
|
3244
3256
|
{
|
|
3245
3257
|
kind: "directive",
|
|
3246
|
-
type: i2$
|
|
3258
|
+
type: i2$3.SortableColumn,
|
|
3247
3259
|
selector: "[pSortableColumn]",
|
|
3248
3260
|
inputs: ["pSortableColumn", "pSortableColumnDisabled"]
|
|
3249
3261
|
},
|
|
3250
3262
|
{
|
|
3251
3263
|
kind: "directive",
|
|
3252
|
-
type: i2$
|
|
3264
|
+
type: i2$3.ResizableColumn,
|
|
3253
3265
|
selector: "[pResizableColumn]",
|
|
3254
3266
|
inputs: ["pResizableColumnDisabled"]
|
|
3255
3267
|
},
|
|
3256
3268
|
{
|
|
3257
3269
|
kind: "component",
|
|
3258
|
-
type: i2$
|
|
3270
|
+
type: i2$3.SortIcon,
|
|
3259
3271
|
selector: "p-sort-icon, p-sorticon",
|
|
3260
3272
|
inputs: ["field"]
|
|
3261
3273
|
},
|
|
@@ -3289,7 +3301,7 @@ var SubscriptionCredentialsComponent = class SubscriptionCredentialsComponent ex
|
|
|
3289
3301
|
},
|
|
3290
3302
|
{
|
|
3291
3303
|
kind: "component",
|
|
3292
|
-
type: i2$
|
|
3304
|
+
type: i2$2.Select,
|
|
3293
3305
|
selector: "p-select",
|
|
3294
3306
|
inputs: [
|
|
3295
3307
|
"id",
|
|
@@ -3408,7 +3420,7 @@ var SubscriptionCredentialsComponent = class SubscriptionCredentialsComponent ex
|
|
|
3408
3420
|
},
|
|
3409
3421
|
{
|
|
3410
3422
|
kind: "component",
|
|
3411
|
-
type: i11
|
|
3423
|
+
type: i11.ProgressSpinner,
|
|
3412
3424
|
selector: "p-progress-spinner, p-progressspinner",
|
|
3413
3425
|
inputs: [
|
|
3414
3426
|
"value",
|
|
@@ -3533,6 +3545,7 @@ var SubscriptionCredentialsDetailsComponent = class SubscriptionCredentialsDetai
|
|
|
3533
3545
|
this.submitted = true;
|
|
3534
3546
|
const data = this.form.value;
|
|
3535
3547
|
(this.id ? this.adminService.editSubscriptionCredential(this.id, data) : this.adminService.postSubscriptionCredential(data)).subscribe(() => {
|
|
3548
|
+
this.form.markAsPristine();
|
|
3536
3549
|
this.toast.success(this.translation.translate("Credentials.UpdatedMessage"));
|
|
3537
3550
|
this.back();
|
|
3538
3551
|
this.cdr.markForCheck();
|
|
@@ -3580,7 +3593,7 @@ var SubscriptionCredentialsDetailsComponent = class SubscriptionCredentialsDetai
|
|
|
3580
3593
|
dependencies: [
|
|
3581
3594
|
{
|
|
3582
3595
|
kind: "component",
|
|
3583
|
-
type: i2$
|
|
3596
|
+
type: i2$2.Select,
|
|
3584
3597
|
selector: "p-select",
|
|
3585
3598
|
inputs: [
|
|
3586
3599
|
"id",
|
|
@@ -3676,7 +3689,7 @@ var SubscriptionCredentialsDetailsComponent = class SubscriptionCredentialsDetai
|
|
|
3676
3689
|
},
|
|
3677
3690
|
{
|
|
3678
3691
|
kind: "component",
|
|
3679
|
-
type: i11
|
|
3692
|
+
type: i11.ProgressSpinner,
|
|
3680
3693
|
selector: "p-progress-spinner, p-progressspinner",
|
|
3681
3694
|
inputs: [
|
|
3682
3695
|
"value",
|
|
@@ -3742,6 +3755,11 @@ var SubscriptionCredentialsDetailsComponent = class SubscriptionCredentialsDetai
|
|
|
3742
3755
|
],
|
|
3743
3756
|
outputs: ["ngModelChange"]
|
|
3744
3757
|
},
|
|
3758
|
+
{
|
|
3759
|
+
kind: "directive",
|
|
3760
|
+
type: i9.TrackDirtyFormDirective,
|
|
3761
|
+
selector: "[formGroup]:not([formGroupSkipDirty])"
|
|
3762
|
+
},
|
|
3745
3763
|
{
|
|
3746
3764
|
kind: "pipe",
|
|
3747
3765
|
type: i8$2.TranslocoPipe,
|
|
@@ -4394,6 +4412,7 @@ var DomainConfigBuildComponent = class DomainConfigBuildComponent extends AppBas
|
|
|
4394
4412
|
data["cs_cta_iframe"] = this.form.value?.cs_cta_iframe ?? "";
|
|
4395
4413
|
data["trial_cta_iframe"] = this.form.value?.trial_cta_iframe ?? "";
|
|
4396
4414
|
(this.id ? this.adminService.updateDomainConfig(this.id, data) : this.adminService.createDomainConfig(data)).subscribe({ next: () => {
|
|
4415
|
+
this.form.markAsPristine();
|
|
4397
4416
|
this.toast.success(this.translation.translate("Admin.DomainConfig.UpdatedMessage"));
|
|
4398
4417
|
this.cdr.markForCheck();
|
|
4399
4418
|
} }).add(() => {
|
|
@@ -4411,7 +4430,7 @@ var DomainConfigBuildComponent = class DomainConfigBuildComponent extends AppBas
|
|
|
4411
4430
|
deps: [
|
|
4412
4431
|
{ token: i0.Injector },
|
|
4413
4432
|
{ token: i1$1.AdminService },
|
|
4414
|
-
{ token: i2$
|
|
4433
|
+
{ token: i2$1.ProductService },
|
|
4415
4434
|
{ token: i3$2.NgbModal },
|
|
4416
4435
|
{ token: i0.ChangeDetectorRef },
|
|
4417
4436
|
{ token: i10.FormBuilder }
|
|
@@ -4584,7 +4603,7 @@ var DomainConfigBuildComponent = class DomainConfigBuildComponent extends AppBas
|
|
|
4584
4603
|
},
|
|
4585
4604
|
{
|
|
4586
4605
|
kind: "component",
|
|
4587
|
-
type: i2$
|
|
4606
|
+
type: i2$2.Select,
|
|
4588
4607
|
selector: "p-select",
|
|
4589
4608
|
inputs: [
|
|
4590
4609
|
"id",
|
|
@@ -4708,7 +4727,7 @@ var DomainConfigBuildComponent = class DomainConfigBuildComponent extends AppBas
|
|
|
4708
4727
|
},
|
|
4709
4728
|
{
|
|
4710
4729
|
kind: "component",
|
|
4711
|
-
type: i11
|
|
4730
|
+
type: i11.ProgressSpinner,
|
|
4712
4731
|
selector: "p-progress-spinner, p-progressspinner",
|
|
4713
4732
|
inputs: [
|
|
4714
4733
|
"value",
|
|
@@ -4722,7 +4741,7 @@ var DomainConfigBuildComponent = class DomainConfigBuildComponent extends AppBas
|
|
|
4722
4741
|
},
|
|
4723
4742
|
{
|
|
4724
4743
|
kind: "component",
|
|
4725
|
-
type: i12.ProfileImageCropperComponent,
|
|
4744
|
+
type: i12$1.ProfileImageCropperComponent,
|
|
4726
4745
|
selector: "pw-image-cropper",
|
|
4727
4746
|
inputs: ["aspectRatio", "dynamicData"],
|
|
4728
4747
|
outputs: [
|
|
@@ -4733,7 +4752,7 @@ var DomainConfigBuildComponent = class DomainConfigBuildComponent extends AppBas
|
|
|
4733
4752
|
},
|
|
4734
4753
|
{
|
|
4735
4754
|
kind: "component",
|
|
4736
|
-
type: i12.CustomUploaderComponent,
|
|
4755
|
+
type: i12$1.CustomUploaderComponent,
|
|
4737
4756
|
selector: "pw-custom-uploader",
|
|
4738
4757
|
inputs: [
|
|
4739
4758
|
"controlName",
|
|
@@ -4874,6 +4893,11 @@ var DomainConfigBuildComponent = class DomainConfigBuildComponent extends AppBas
|
|
|
4874
4893
|
selector: "[formArrayName]",
|
|
4875
4894
|
inputs: ["formArrayName"]
|
|
4876
4895
|
},
|
|
4896
|
+
{
|
|
4897
|
+
kind: "directive",
|
|
4898
|
+
type: i9.TrackDirtyFormDirective,
|
|
4899
|
+
selector: "[formGroup]:not([formGroupSkipDirty])"
|
|
4900
|
+
},
|
|
4877
4901
|
{
|
|
4878
4902
|
kind: "pipe",
|
|
4879
4903
|
type: i8$2.TranslocoPipe,
|
|
@@ -4900,7 +4924,7 @@ i0.ɵɵngDeclareClassMetadata({
|
|
|
4900
4924
|
ctorParameters: () => [
|
|
4901
4925
|
{ type: i0.Injector },
|
|
4902
4926
|
{ type: i1$1.AdminService },
|
|
4903
|
-
{ type: i2$
|
|
4927
|
+
{ type: i2$1.ProductService },
|
|
4904
4928
|
{ type: i3$2.NgbModal },
|
|
4905
4929
|
{ type: i0.ChangeDetectorRef },
|
|
4906
4930
|
{ type: i10.FormBuilder }
|
|
@@ -4988,6 +5012,7 @@ var DomainConfigCoreComponent = class DomainConfigCoreComponent extends AppBaseC
|
|
|
4988
5012
|
};
|
|
4989
5013
|
if (!this.id) data.master_subscription_id = this.appConfig?.master_subscription?.subscription_id;
|
|
4990
5014
|
(this.id ? this.adminService.updateDomainConfig(this.id, data) : this.adminService.createDomainConfig(data)).subscribe({ next: (res) => {
|
|
5015
|
+
this.form.markAsPristine();
|
|
4991
5016
|
this.toast.success(this.translation.translate("Admin.DomainConfig.UpdatedMessage"));
|
|
4992
5017
|
this.router.navigate([`${this.routers.domainConfigDetails}${this.id ? this.id : res.id}`], { queryParams: {
|
|
4993
5018
|
tabId: "Organization",
|
|
@@ -5027,7 +5052,7 @@ var DomainConfigCoreComponent = class DomainConfigCoreComponent extends AppBaseC
|
|
|
5027
5052
|
dependencies: [
|
|
5028
5053
|
{
|
|
5029
5054
|
kind: "component",
|
|
5030
|
-
type: i2$
|
|
5055
|
+
type: i2$2.Select,
|
|
5031
5056
|
selector: "p-select",
|
|
5032
5057
|
inputs: [
|
|
5033
5058
|
"id",
|
|
@@ -5123,7 +5148,7 @@ var DomainConfigCoreComponent = class DomainConfigCoreComponent extends AppBaseC
|
|
|
5123
5148
|
},
|
|
5124
5149
|
{
|
|
5125
5150
|
kind: "component",
|
|
5126
|
-
type: i11
|
|
5151
|
+
type: i11.ProgressSpinner,
|
|
5127
5152
|
selector: "p-progress-spinner, p-progressspinner",
|
|
5128
5153
|
inputs: [
|
|
5129
5154
|
"value",
|
|
@@ -5189,6 +5214,11 @@ var DomainConfigCoreComponent = class DomainConfigCoreComponent extends AppBaseC
|
|
|
5189
5214
|
],
|
|
5190
5215
|
outputs: ["ngModelChange"]
|
|
5191
5216
|
},
|
|
5217
|
+
{
|
|
5218
|
+
kind: "directive",
|
|
5219
|
+
type: i9.TrackDirtyFormDirective,
|
|
5220
|
+
selector: "[formGroup]:not([formGroupSkipDirty])"
|
|
5221
|
+
},
|
|
5192
5222
|
{
|
|
5193
5223
|
kind: "pipe",
|
|
5194
5224
|
type: i8$2.TranslocoPipe,
|
|
@@ -5260,6 +5290,7 @@ var BaseDomainConfigComponent = class BaseDomainConfigComponent extends AppBaseC
|
|
|
5260
5290
|
subscription_id: this.subscriptionId
|
|
5261
5291
|
};
|
|
5262
5292
|
(this.id ? this.adminService.updateDomainConfig(this.id, data) : this.adminService.createDomainConfig(data)).subscribe({ next: (res) => {
|
|
5293
|
+
this.form.markAsPristine();
|
|
5263
5294
|
this.toast.success(this.translation.translate("Admin.DomainConfig.UpdatedMessage"));
|
|
5264
5295
|
this.router.navigate([`${this.routers.domainConfigDetails}${this.id ? this.id : res.id}`], { queryParams: {
|
|
5265
5296
|
tabId: this.getTabId(),
|
|
@@ -5384,7 +5415,7 @@ var DomainConfigOrganizationComponent = class DomainConfigOrganizationComponent
|
|
|
5384
5415
|
},
|
|
5385
5416
|
{
|
|
5386
5417
|
kind: "component",
|
|
5387
|
-
type: i11
|
|
5418
|
+
type: i11.ProgressSpinner,
|
|
5388
5419
|
selector: "p-progress-spinner, p-progressspinner",
|
|
5389
5420
|
inputs: [
|
|
5390
5421
|
"value",
|
|
@@ -5454,6 +5485,11 @@ var DomainConfigOrganizationComponent = class DomainConfigOrganizationComponent
|
|
|
5454
5485
|
],
|
|
5455
5486
|
outputs: ["ngModelChange"]
|
|
5456
5487
|
},
|
|
5488
|
+
{
|
|
5489
|
+
kind: "directive",
|
|
5490
|
+
type: i9.TrackDirtyFormDirective,
|
|
5491
|
+
selector: "[formGroup]:not([formGroupSkipDirty])"
|
|
5492
|
+
},
|
|
5457
5493
|
{
|
|
5458
5494
|
kind: "pipe",
|
|
5459
5495
|
type: i8$2.TranslocoPipe,
|
|
@@ -5581,7 +5617,7 @@ var DomainConfigSecurityComponent = class DomainConfigSecurityComponent extends
|
|
|
5581
5617
|
},
|
|
5582
5618
|
{
|
|
5583
5619
|
kind: "component",
|
|
5584
|
-
type: i11
|
|
5620
|
+
type: i11.ProgressSpinner,
|
|
5585
5621
|
selector: "p-progress-spinner, p-progressspinner",
|
|
5586
5622
|
inputs: [
|
|
5587
5623
|
"value",
|
|
@@ -5651,6 +5687,11 @@ var DomainConfigSecurityComponent = class DomainConfigSecurityComponent extends
|
|
|
5651
5687
|
],
|
|
5652
5688
|
outputs: ["ngModelChange"]
|
|
5653
5689
|
},
|
|
5690
|
+
{
|
|
5691
|
+
kind: "directive",
|
|
5692
|
+
type: i9.TrackDirtyFormDirective,
|
|
5693
|
+
selector: "[formGroup]:not([formGroupSkipDirty])"
|
|
5694
|
+
},
|
|
5654
5695
|
{
|
|
5655
5696
|
kind: "pipe",
|
|
5656
5697
|
type: i8$2.TranslocoPipe,
|
|
@@ -5743,7 +5784,7 @@ var DomainConfigSocialComponent = class DomainConfigSocialComponent extends Base
|
|
|
5743
5784
|
},
|
|
5744
5785
|
{
|
|
5745
5786
|
kind: "component",
|
|
5746
|
-
type: i11
|
|
5787
|
+
type: i11.ProgressSpinner,
|
|
5747
5788
|
selector: "p-progress-spinner, p-progressspinner",
|
|
5748
5789
|
inputs: [
|
|
5749
5790
|
"value",
|
|
@@ -5813,6 +5854,11 @@ var DomainConfigSocialComponent = class DomainConfigSocialComponent extends Base
|
|
|
5813
5854
|
],
|
|
5814
5855
|
outputs: ["ngModelChange"]
|
|
5815
5856
|
},
|
|
5857
|
+
{
|
|
5858
|
+
kind: "directive",
|
|
5859
|
+
type: i9.TrackDirtyFormDirective,
|
|
5860
|
+
selector: "[formGroup]:not([formGroupSkipDirty])"
|
|
5861
|
+
},
|
|
5816
5862
|
{
|
|
5817
5863
|
kind: "pipe",
|
|
5818
5864
|
type: i8$2.TranslocoPipe,
|
|
@@ -5882,6 +5928,7 @@ var DomainConfigIntegrationsComponent = class DomainConfigIntegrationsComponent
|
|
|
5882
5928
|
subscription_id: this.subscriptionId
|
|
5883
5929
|
};
|
|
5884
5930
|
(this.id ? this.adminService.updateDomainConfig(this.id, data) : this.adminService.createDomainConfig(data)).subscribe({ next: (res) => {
|
|
5931
|
+
this.form.markAsPristine();
|
|
5885
5932
|
this.toast.success(this.translation.translate("Admin.DomainConfig.UpdatedMessage"));
|
|
5886
5933
|
this.router.navigate([`${this.routers.domainConfigDetails}${this.id ? this.id : res.id}`], { queryParams: {
|
|
5887
5934
|
tabId: "Login & SSO",
|
|
@@ -5947,7 +5994,7 @@ var DomainConfigIntegrationsComponent = class DomainConfigIntegrationsComponent
|
|
|
5947
5994
|
},
|
|
5948
5995
|
{
|
|
5949
5996
|
kind: "component",
|
|
5950
|
-
type: i11
|
|
5997
|
+
type: i11.ProgressSpinner,
|
|
5951
5998
|
selector: "p-progress-spinner, p-progressspinner",
|
|
5952
5999
|
inputs: [
|
|
5953
6000
|
"value",
|
|
@@ -6017,6 +6064,11 @@ var DomainConfigIntegrationsComponent = class DomainConfigIntegrationsComponent
|
|
|
6017
6064
|
],
|
|
6018
6065
|
outputs: ["ngModelChange"]
|
|
6019
6066
|
},
|
|
6067
|
+
{
|
|
6068
|
+
kind: "directive",
|
|
6069
|
+
type: i9.TrackDirtyFormDirective,
|
|
6070
|
+
selector: "[formGroup]:not([formGroupSkipDirty])"
|
|
6071
|
+
},
|
|
6020
6072
|
{
|
|
6021
6073
|
kind: "pipe",
|
|
6022
6074
|
type: i8$2.TranslocoPipe,
|
|
@@ -6236,6 +6288,7 @@ var DomainConfigInterfaceComponent = class DomainConfigInterfaceComponent extend
|
|
|
6236
6288
|
};
|
|
6237
6289
|
const filteredData = Object.fromEntries(Object.entries(data).filter(([_key, value]) => value !== null && value !== ""));
|
|
6238
6290
|
(this.id ? this.adminService.updateDomainConfig(this.id, filteredData) : this.adminService.createDomainConfig(filteredData)).subscribe({ next: (res) => {
|
|
6291
|
+
this.form.markAsPristine();
|
|
6239
6292
|
this.toast.success(this.translation.translate("Admin.DomainConfig.UpdatedMessage"));
|
|
6240
6293
|
this.router.navigate([`${this.routers.domainConfigDetails}${this.id ? this.id : res.id}`], { queryParams: {
|
|
6241
6294
|
tabId: "Public Pages",
|
|
@@ -6307,7 +6360,7 @@ var DomainConfigInterfaceComponent = class DomainConfigInterfaceComponent extend
|
|
|
6307
6360
|
},
|
|
6308
6361
|
{
|
|
6309
6362
|
kind: "component",
|
|
6310
|
-
type: i11
|
|
6363
|
+
type: i11.ProgressSpinner,
|
|
6311
6364
|
selector: "p-progress-spinner, p-progressspinner",
|
|
6312
6365
|
inputs: [
|
|
6313
6366
|
"value",
|
|
@@ -6321,7 +6374,7 @@ var DomainConfigInterfaceComponent = class DomainConfigInterfaceComponent extend
|
|
|
6321
6374
|
},
|
|
6322
6375
|
{
|
|
6323
6376
|
kind: "component",
|
|
6324
|
-
type: i12.CustomUploaderComponent,
|
|
6377
|
+
type: i12$1.CustomUploaderComponent,
|
|
6325
6378
|
selector: "pw-custom-uploader",
|
|
6326
6379
|
inputs: [
|
|
6327
6380
|
"controlName",
|
|
@@ -6389,6 +6442,11 @@ var DomainConfigInterfaceComponent = class DomainConfigInterfaceComponent extend
|
|
|
6389
6442
|
],
|
|
6390
6443
|
outputs: ["ngModelChange"]
|
|
6391
6444
|
},
|
|
6445
|
+
{
|
|
6446
|
+
kind: "directive",
|
|
6447
|
+
type: i9.TrackDirtyFormDirective,
|
|
6448
|
+
selector: "[formGroup]:not([formGroupSkipDirty])"
|
|
6449
|
+
},
|
|
6392
6450
|
{
|
|
6393
6451
|
kind: "pipe",
|
|
6394
6452
|
type: i8$2.TranslocoPipe,
|
|
@@ -6820,7 +6878,7 @@ var DomainConfigListComponent = class DomainConfigListComponent extends AppBaseC
|
|
|
6820
6878
|
dependencies: [
|
|
6821
6879
|
{
|
|
6822
6880
|
kind: "component",
|
|
6823
|
-
type: i2$
|
|
6881
|
+
type: i2$3.Table,
|
|
6824
6882
|
selector: "p-table",
|
|
6825
6883
|
inputs: [
|
|
6826
6884
|
"frozenColumns",
|
|
@@ -6933,19 +6991,19 @@ var DomainConfigListComponent = class DomainConfigListComponent extends AppBaseC
|
|
|
6933
6991
|
},
|
|
6934
6992
|
{
|
|
6935
6993
|
kind: "directive",
|
|
6936
|
-
type: i2$
|
|
6994
|
+
type: i2$3.SortableColumn,
|
|
6937
6995
|
selector: "[pSortableColumn]",
|
|
6938
6996
|
inputs: ["pSortableColumn", "pSortableColumnDisabled"]
|
|
6939
6997
|
},
|
|
6940
6998
|
{
|
|
6941
6999
|
kind: "directive",
|
|
6942
|
-
type: i2$
|
|
7000
|
+
type: i2$3.ResizableColumn,
|
|
6943
7001
|
selector: "[pResizableColumn]",
|
|
6944
7002
|
inputs: ["pResizableColumnDisabled"]
|
|
6945
7003
|
},
|
|
6946
7004
|
{
|
|
6947
7005
|
kind: "component",
|
|
6948
|
-
type: i2$
|
|
7006
|
+
type: i2$3.SortIcon,
|
|
6949
7007
|
selector: "p-sort-icon, p-sorticon",
|
|
6950
7008
|
inputs: ["field"]
|
|
6951
7009
|
},
|
|
@@ -7028,7 +7086,7 @@ var DomainConfigListComponent = class DomainConfigListComponent extends AppBaseC
|
|
|
7028
7086
|
},
|
|
7029
7087
|
{
|
|
7030
7088
|
kind: "component",
|
|
7031
|
-
type: i11
|
|
7089
|
+
type: i11.ProgressSpinner,
|
|
7032
7090
|
selector: "p-progress-spinner, p-progressspinner",
|
|
7033
7091
|
inputs: [
|
|
7034
7092
|
"value",
|
|
@@ -7253,6 +7311,7 @@ var AddEditFaqComponent = class AddEditFaqComponent extends AppBaseComponent {
|
|
|
7253
7311
|
(this.isEdit ? this.adminService.putFaq({ ...payload }, this.subscriptionId) : this.adminService.postFaq(payload, this.subscriptionId)).subscribe(() => {
|
|
7254
7312
|
const key = this.isEdit ? "Admin.Faq.UpdatedMessage" : "Admin.Faq.AddMessage";
|
|
7255
7313
|
this.toast.success(this.translation.translate(key));
|
|
7314
|
+
this.form.markAsPristine();
|
|
7256
7315
|
this.router.navigate([`${this.routers.faqConfig}`]);
|
|
7257
7316
|
}).add(() => {
|
|
7258
7317
|
this.buttonBusy = false;
|
|
@@ -7302,9 +7361,9 @@ var AddEditFaqComponent = class AddEditFaqComponent extends AppBaseComponent {
|
|
|
7302
7361
|
ngImport: i0,
|
|
7303
7362
|
type: AddEditFaqComponent,
|
|
7304
7363
|
deps: [
|
|
7305
|
-
{ token: i2$
|
|
7364
|
+
{ token: i2$1.CommonService },
|
|
7306
7365
|
{ token: i1$1.AdminService },
|
|
7307
|
-
{ token: i2$
|
|
7366
|
+
{ token: i2$1.ProductService },
|
|
7308
7367
|
{ token: i0.Injector },
|
|
7309
7368
|
{ token: i0.ChangeDetectorRef }
|
|
7310
7369
|
],
|
|
@@ -7331,7 +7390,7 @@ var AddEditFaqComponent = class AddEditFaqComponent extends AppBaseComponent {
|
|
|
7331
7390
|
dependencies: [
|
|
7332
7391
|
{
|
|
7333
7392
|
kind: "component",
|
|
7334
|
-
type: i2$
|
|
7393
|
+
type: i2$2.Select,
|
|
7335
7394
|
selector: "p-select",
|
|
7336
7395
|
inputs: [
|
|
7337
7396
|
"id",
|
|
@@ -7551,7 +7610,7 @@ var AddEditFaqComponent = class AddEditFaqComponent extends AppBaseComponent {
|
|
|
7551
7610
|
},
|
|
7552
7611
|
{
|
|
7553
7612
|
kind: "component",
|
|
7554
|
-
type: i11
|
|
7613
|
+
type: i11.ProgressSpinner,
|
|
7555
7614
|
selector: "p-progress-spinner, p-progressspinner",
|
|
7556
7615
|
inputs: [
|
|
7557
7616
|
"value",
|
|
@@ -7617,9 +7676,14 @@ var AddEditFaqComponent = class AddEditFaqComponent extends AppBaseComponent {
|
|
|
7617
7676
|
],
|
|
7618
7677
|
outputs: ["ngModelChange"]
|
|
7619
7678
|
},
|
|
7679
|
+
{
|
|
7680
|
+
kind: "directive",
|
|
7681
|
+
type: i9.TrackDirtyFormDirective,
|
|
7682
|
+
selector: "[formGroup]:not([formGroupSkipDirty])"
|
|
7683
|
+
},
|
|
7620
7684
|
{
|
|
7621
7685
|
kind: "component",
|
|
7622
|
-
type:
|
|
7686
|
+
type: i12.QuillEditorComponent,
|
|
7623
7687
|
selector: "quill-editor"
|
|
7624
7688
|
},
|
|
7625
7689
|
{
|
|
@@ -7646,9 +7710,9 @@ i0.ɵɵngDeclareClassMetadata({
|
|
|
7646
7710
|
}]
|
|
7647
7711
|
}],
|
|
7648
7712
|
ctorParameters: () => [
|
|
7649
|
-
{ type: i2$
|
|
7713
|
+
{ type: i2$1.CommonService },
|
|
7650
7714
|
{ type: i1$1.AdminService },
|
|
7651
|
-
{ type: i2$
|
|
7715
|
+
{ type: i2$1.ProductService },
|
|
7652
7716
|
{ type: i0.Injector },
|
|
7653
7717
|
{ type: i0.ChangeDetectorRef }
|
|
7654
7718
|
],
|
|
@@ -7881,9 +7945,9 @@ var FaqListComponent = class FaqListComponent extends AppBaseComponent {
|
|
|
7881
7945
|
ngImport: i0,
|
|
7882
7946
|
type: FaqListComponent,
|
|
7883
7947
|
deps: [
|
|
7884
|
-
{ token: i2$
|
|
7948
|
+
{ token: i2$1.CommonService },
|
|
7885
7949
|
{ token: i1$1.AdminService },
|
|
7886
|
-
{ token: i2$
|
|
7950
|
+
{ token: i2$1.ProductService },
|
|
7887
7951
|
{ token: i0.Injector },
|
|
7888
7952
|
{ token: i0.ChangeDetectorRef },
|
|
7889
7953
|
{ token: i6$2.ConfirmDialogService }
|
|
@@ -7911,7 +7975,7 @@ var FaqListComponent = class FaqListComponent extends AppBaseComponent {
|
|
|
7911
7975
|
dependencies: [
|
|
7912
7976
|
{
|
|
7913
7977
|
kind: "component",
|
|
7914
|
-
type: i2$
|
|
7978
|
+
type: i2$3.Table,
|
|
7915
7979
|
selector: "p-table",
|
|
7916
7980
|
inputs: [
|
|
7917
7981
|
"frozenColumns",
|
|
@@ -8024,7 +8088,7 @@ var FaqListComponent = class FaqListComponent extends AppBaseComponent {
|
|
|
8024
8088
|
},
|
|
8025
8089
|
{
|
|
8026
8090
|
kind: "directive",
|
|
8027
|
-
type: i2$
|
|
8091
|
+
type: i2$3.ResizableColumn,
|
|
8028
8092
|
selector: "[pResizableColumn]",
|
|
8029
8093
|
inputs: ["pResizableColumnDisabled"]
|
|
8030
8094
|
},
|
|
@@ -8192,7 +8256,7 @@ var FaqListComponent = class FaqListComponent extends AppBaseComponent {
|
|
|
8192
8256
|
},
|
|
8193
8257
|
{
|
|
8194
8258
|
kind: "component",
|
|
8195
|
-
type: i11
|
|
8259
|
+
type: i11.ProgressSpinner,
|
|
8196
8260
|
selector: "p-progress-spinner, p-progressspinner",
|
|
8197
8261
|
inputs: [
|
|
8198
8262
|
"value",
|
|
@@ -8257,12 +8321,12 @@ var FaqListComponent = class FaqListComponent extends AppBaseComponent {
|
|
|
8257
8321
|
},
|
|
8258
8322
|
{
|
|
8259
8323
|
kind: "pipe",
|
|
8260
|
-
type: i9.RemoveHtmlPipe,
|
|
8324
|
+
type: i9$1.RemoveHtmlPipe,
|
|
8261
8325
|
name: "removeHtml"
|
|
8262
8326
|
},
|
|
8263
8327
|
{
|
|
8264
8328
|
kind: "pipe",
|
|
8265
|
-
type: i9.TextTruncatePipe,
|
|
8329
|
+
type: i9$1.TextTruncatePipe,
|
|
8266
8330
|
name: "textTruncate"
|
|
8267
8331
|
}
|
|
8268
8332
|
]
|
|
@@ -8284,9 +8348,9 @@ i0.ɵɵngDeclareClassMetadata({
|
|
|
8284
8348
|
}]
|
|
8285
8349
|
}],
|
|
8286
8350
|
ctorParameters: () => [
|
|
8287
|
-
{ type: i2$
|
|
8351
|
+
{ type: i2$1.CommonService },
|
|
8288
8352
|
{ type: i1$1.AdminService },
|
|
8289
|
-
{ type: i2$
|
|
8353
|
+
{ type: i2$1.ProductService },
|
|
8290
8354
|
{ type: i0.Injector },
|
|
8291
8355
|
{ type: i0.ChangeDetectorRef },
|
|
8292
8356
|
{ type: i6$2.ConfirmDialogService }
|
|
@@ -8349,22 +8413,19 @@ i0.ɵɵngDeclareClassMetadata({
|
|
|
8349
8413
|
}]
|
|
8350
8414
|
});
|
|
8351
8415
|
var FeatureFlagDetailsComponent = class FeatureFlagDetailsComponent extends AppBaseComponent {
|
|
8352
|
-
constructor(injector, adminService
|
|
8416
|
+
constructor(injector, adminService) {
|
|
8353
8417
|
super(injector);
|
|
8354
8418
|
this.adminService = adminService;
|
|
8355
|
-
this.unsavedChanges = unsavedChanges;
|
|
8356
8419
|
this.form = AppAdmin.getFeatureFlagForm();
|
|
8357
8420
|
this.routers = ROUTERS;
|
|
8358
8421
|
this.id = 0;
|
|
8359
8422
|
this.isLoading = true;
|
|
8360
8423
|
this.submitted = false;
|
|
8361
8424
|
this.buttonBusy = false;
|
|
8362
|
-
this.saved = false;
|
|
8363
8425
|
this.flagTypeOptions = [];
|
|
8364
8426
|
this.statusOptions = [];
|
|
8365
8427
|
this.allUsers = [];
|
|
8366
8428
|
this.filteredUsers = [];
|
|
8367
|
-
this.unregisterUnsaved = null;
|
|
8368
8429
|
}
|
|
8369
8430
|
ngOnInit() {
|
|
8370
8431
|
this.subscriptionId = PermissionService.selectedSubscription?.id;
|
|
@@ -8375,14 +8436,6 @@ var FeatureFlagDetailsComponent = class FeatureFlagDetailsComponent extends AppB
|
|
|
8375
8436
|
if (this.id) this.getFeatureFlag();
|
|
8376
8437
|
else this.isLoading = false;
|
|
8377
8438
|
});
|
|
8378
|
-
this.unregisterUnsaved = this.unsavedChanges.watch(() => this.hasUnsavedChanges());
|
|
8379
|
-
}
|
|
8380
|
-
ngOnDestroy() {
|
|
8381
|
-
this.unregisterUnsaved?.();
|
|
8382
|
-
super.ngOnDestroy();
|
|
8383
|
-
}
|
|
8384
|
-
hasUnsavedChanges() {
|
|
8385
|
-
return this.form.dirty && !this.saved;
|
|
8386
8439
|
}
|
|
8387
8440
|
loadSupportedOptions() {
|
|
8388
8441
|
this.adminService.getSupportedFeatureFlagOptions().subscribe((response) => {
|
|
@@ -8444,7 +8497,6 @@ var FeatureFlagDetailsComponent = class FeatureFlagDetailsComponent extends AppB
|
|
|
8444
8497
|
next: () => {
|
|
8445
8498
|
this.toast.success(this.id ? "Feature flag updated successfully." : "Feature flag created successfully.");
|
|
8446
8499
|
this.form.markAsPristine();
|
|
8447
|
-
this.saved = true;
|
|
8448
8500
|
this.router.navigate([this.routers.featureFlagsConfig]);
|
|
8449
8501
|
},
|
|
8450
8502
|
complete: () => {
|
|
@@ -8461,11 +8513,7 @@ var FeatureFlagDetailsComponent = class FeatureFlagDetailsComponent extends AppB
|
|
|
8461
8513
|
version: "22.2.0",
|
|
8462
8514
|
ngImport: i0,
|
|
8463
8515
|
type: FeatureFlagDetailsComponent,
|
|
8464
|
-
deps: [
|
|
8465
|
-
{ token: i0.Injector },
|
|
8466
|
-
{ token: i1$1.AdminService },
|
|
8467
|
-
{ token: i2$1.UnsavedChangesService }
|
|
8468
|
-
],
|
|
8516
|
+
deps: [{ token: i0.Injector }, { token: i1$1.AdminService }],
|
|
8469
8517
|
target: i0.ɵɵFactoryTarget.Component
|
|
8470
8518
|
});
|
|
8471
8519
|
}
|
|
@@ -8561,7 +8609,7 @@ var FeatureFlagDetailsComponent = class FeatureFlagDetailsComponent extends AppB
|
|
|
8561
8609
|
},
|
|
8562
8610
|
{
|
|
8563
8611
|
kind: "component",
|
|
8564
|
-
type: i2$
|
|
8612
|
+
type: i2$2.Select,
|
|
8565
8613
|
selector: "p-select",
|
|
8566
8614
|
inputs: [
|
|
8567
8615
|
"id",
|
|
@@ -8735,7 +8783,7 @@ var FeatureFlagDetailsComponent = class FeatureFlagDetailsComponent extends AppB
|
|
|
8735
8783
|
},
|
|
8736
8784
|
{
|
|
8737
8785
|
kind: "component",
|
|
8738
|
-
type: i11
|
|
8786
|
+
type: i11.ProgressSpinner,
|
|
8739
8787
|
selector: "p-progress-spinner, p-progressspinner",
|
|
8740
8788
|
inputs: [
|
|
8741
8789
|
"value",
|
|
@@ -8814,6 +8862,11 @@ var FeatureFlagDetailsComponent = class FeatureFlagDetailsComponent extends AppB
|
|
|
8814
8862
|
],
|
|
8815
8863
|
outputs: ["ngModelChange"]
|
|
8816
8864
|
},
|
|
8865
|
+
{
|
|
8866
|
+
kind: "directive",
|
|
8867
|
+
type: i9.TrackDirtyFormDirective,
|
|
8868
|
+
selector: "[formGroup]:not([formGroupSkipDirty])"
|
|
8869
|
+
},
|
|
8817
8870
|
{
|
|
8818
8871
|
kind: "pipe",
|
|
8819
8872
|
type: i8$2.TranslocoPipe,
|
|
@@ -8836,11 +8889,7 @@ i0.ɵɵngDeclareClassMetadata({
|
|
|
8836
8889
|
template: "<div class=\"container-fluid pw-tab\">\n <div class=\"dashboard\">\n <div class=\"dashboard-body\">\n <div class=\"me-auto col-xs-6 mt-4\">\n <a routerLink=\"/admin/feature-flags/list\" class=\"previous\" aria-label=\"Back to feature flags list\">\n <i class=\"fa fa-arrow-alt-circle-left\" aria-hidden=\"true\"></i>\n </a>\n <h3 class=\"mt-3\">{{ id ? 'Edit' : 'Add New' }} Feature Flag</h3>\n </div>\n\n @if (isLoading) {\n <div class=\"w-100 text-center mt-3\">\n <p-progress-spinner strokeWidth=\"2\"></p-progress-spinner>\n </div>\n }\n\n <div class=\"p-2 mt-3\">\n @if (!isLoading) {\n <form (ngSubmit)=\"onSubmit()\" [formGroup]=\"form\">\n <div class=\"row\">\n <pw-input-container class=\"col-lg-6\" label=\"Key\" name=\"key\" controlId=\"feature-flag-key\" errorMsg=\"Key is required\"\n [showTooltip]=\"true\" [tooltipText]=\"'FeatureFlag.Tooltip.Key' | transloco\">\n <input type=\"text\" id=\"feature-flag-key\" formControlName=\"key\" class=\"form-control\" [placeholder]=\"'FeatureFlag.Placeholder.Key' | transloco\" [ngClass]=\"{ 'is-invalid': submitted && f['key'].errors }\"\n aria-label=\"Key\" />\n </pw-input-container>\n\n <pw-input-container class=\"col-lg-6\" label=\"Name\" name=\"name\" controlId=\"feature-flag-name\" errorMsg=\"Name is required\"\n [showTooltip]=\"true\" [tooltipText]=\"'FeatureFlag.Tooltip.Name' | transloco\">\n <input type=\"text\" id=\"feature-flag-name\" formControlName=\"name\" class=\"form-control\" [placeholder]=\"'FeatureFlag.Placeholder.Name' | transloco\" [ngClass]=\"{ 'is-invalid': submitted && f['name'].errors }\"\n aria-label=\"Name\" />\n </pw-input-container>\n\n <pw-input-container class=\"col-lg-12\" label=\"Description\" name=\"description\" controlId=\"feature-flag-description\">\n <textarea id=\"feature-flag-description\" formControlName=\"description\" rows=\"4\" class=\"form-control\" [placeholder]=\"'FeatureFlag.Placeholder.Description' | transloco\"\n aria-label=\"Description\"></textarea>\n </pw-input-container>\n\n <pw-input-container class=\"col-lg-3\" label=\"Type\" name=\"flag_type\" controlId=\"feature-flag-type\" [useAriaLabelledbyOnly]=\"true\">\n <p-select [options]=\"flagTypeOptions\" [attr.aria-labelledby]=\"'feature-flag-type-label'\" formControlName=\"flag_type\" class=\"dropdown-bg-transparent\" [placeholder]=\"'FeatureFlag.Placeholder.Type' | transloco\"></p-select>\n </pw-input-container>\n\n <pw-input-container class=\"col-lg-3\" label=\"Status\" name=\"status\" controlId=\"feature-flag-status\" [useAriaLabelledbyOnly]=\"true\">\n <p-select [options]=\"statusOptions\" [attr.aria-labelledby]=\"'feature-flag-status-label'\" formControlName=\"status\" class=\"dropdown-bg-transparent\" [placeholder]=\"'FeatureFlag.Placeholder.Status' | transloco\"></p-select>\n </pw-input-container>\n\n <pw-input-container class=\"col-lg-3\" label=\"Owner\" name=\"owner\" controlId=\"feature-flag-owner\" [useAriaLabelledbyOnly]=\"true\">\n <p-auto-complete class=\"w-100\" appendTo=\"body\"\n [suggestions]=\"filteredUsers\"\n [attr.aria-labelledby]=\"'feature-flag-owner-label'\"\n formControlName=\"owner\"\n dataKey=\"id\"\n optionLabel=\"displayName\"\n [dropdown]=\"true\"\n (completeMethod)=\"searchOwners($event)\"\n [placeholder]=\"'FeatureFlag.Placeholder.Owner' | transloco\"\n [multiple]=\"false\"\n autocomplete=\"off\">\n <ng-template let-item #item>\n <span [title]=\"item.displayName\">{{ item.displayName }}</span>\n </ng-template>\n </p-auto-complete>\n </pw-input-container>\n\n <pw-input-container class=\"col-lg-3\" label=\"Expires At\" name=\"expires_at\" controlId=\"feature-flag-expires_at\" [useAriaLabelledbyOnly]=\"true\">\n <p-datepicker inputId=\"feature-flag-expires_at\" formControlName=\"expires_at\" [showIcon]=\"true\" [showTime]=\"true\" [appendTo]=\"'body'\" dateFormat=\"dd-M-yy\" [placeholder]=\"'FeatureFlag.Placeholder.ExpiresAt' | transloco\"></p-datepicker>\n </pw-input-container>\n </div>\n\n <div class=\"row\">\n <div class=\"col-12 mt-4\">\n <div class=\"mb-3 text-end\">\n <button type=\"button\" class=\"btn btn-outline-default me-2\" (click)=\"onCancel()\">{{ 'Button.Cancel' | transloco }}</button>\n <button class=\"btn btn-primary\" [buttonBusy]=\"buttonBusy\">{{ 'Button.Save' | transloco }}</button>\n </div>\n </div>\n </div>\n </form>\n }\n </div>\n </div>\n </div>\n</div>"
|
|
8837
8890
|
}]
|
|
8838
8891
|
}],
|
|
8839
|
-
ctorParameters: () => [
|
|
8840
|
-
{ type: i0.Injector },
|
|
8841
|
-
{ type: i1$1.AdminService },
|
|
8842
|
-
{ type: i2$1.UnsavedChangesService }
|
|
8843
|
-
]
|
|
8892
|
+
ctorParameters: () => [{ type: i0.Injector }, { type: i1$1.AdminService }]
|
|
8844
8893
|
});
|
|
8845
8894
|
var FeatureFlagRulesComponent = class FeatureFlagRulesComponent extends AppBaseComponent {
|
|
8846
8895
|
constructor(injector, adminService, cdr, confirmDialog) {
|
|
@@ -9004,7 +9053,7 @@ var FeatureFlagRulesComponent = class FeatureFlagRulesComponent extends AppBaseC
|
|
|
9004
9053
|
dependencies: [
|
|
9005
9054
|
{
|
|
9006
9055
|
kind: "component",
|
|
9007
|
-
type: i2$
|
|
9056
|
+
type: i2$3.Table,
|
|
9008
9057
|
selector: "p-table",
|
|
9009
9058
|
inputs: [
|
|
9010
9059
|
"frozenColumns",
|
|
@@ -9117,7 +9166,7 @@ var FeatureFlagRulesComponent = class FeatureFlagRulesComponent extends AppBaseC
|
|
|
9117
9166
|
},
|
|
9118
9167
|
{
|
|
9119
9168
|
kind: "directive",
|
|
9120
|
-
type: i2$
|
|
9169
|
+
type: i2$3.ResizableColumn,
|
|
9121
9170
|
selector: "[pResizableColumn]",
|
|
9122
9171
|
inputs: ["pResizableColumnDisabled"]
|
|
9123
9172
|
},
|
|
@@ -9151,7 +9200,7 @@ var FeatureFlagRulesComponent = class FeatureFlagRulesComponent extends AppBaseC
|
|
|
9151
9200
|
},
|
|
9152
9201
|
{
|
|
9153
9202
|
kind: "component",
|
|
9154
|
-
type: i2$
|
|
9203
|
+
type: i2$2.Select,
|
|
9155
9204
|
selector: "p-select",
|
|
9156
9205
|
inputs: [
|
|
9157
9206
|
"id",
|
|
@@ -9292,7 +9341,7 @@ var FeatureFlagRulesComponent = class FeatureFlagRulesComponent extends AppBaseC
|
|
|
9292
9341
|
},
|
|
9293
9342
|
{
|
|
9294
9343
|
kind: "component",
|
|
9295
|
-
type: i11
|
|
9344
|
+
type: i11.ProgressSpinner,
|
|
9296
9345
|
selector: "p-progress-spinner, p-progressspinner",
|
|
9297
9346
|
inputs: [
|
|
9298
9347
|
"value",
|
|
@@ -9381,6 +9430,11 @@ var FeatureFlagRulesComponent = class FeatureFlagRulesComponent extends AppBaseC
|
|
|
9381
9430
|
],
|
|
9382
9431
|
outputs: ["ngModelChange"]
|
|
9383
9432
|
},
|
|
9433
|
+
{
|
|
9434
|
+
kind: "directive",
|
|
9435
|
+
type: i9.TrackDirtyFormDirective,
|
|
9436
|
+
selector: "[formGroup]:not([formGroupSkipDirty])"
|
|
9437
|
+
},
|
|
9384
9438
|
{
|
|
9385
9439
|
kind: "pipe",
|
|
9386
9440
|
type: i8$2.TranslocoPipe,
|
|
@@ -9516,7 +9570,7 @@ var FeatureFlagsListComponent = class FeatureFlagsListComponent extends AppBaseC
|
|
|
9516
9570
|
dependencies: [
|
|
9517
9571
|
{
|
|
9518
9572
|
kind: "component",
|
|
9519
|
-
type: i2$
|
|
9573
|
+
type: i2$3.Table,
|
|
9520
9574
|
selector: "p-table",
|
|
9521
9575
|
inputs: [
|
|
9522
9576
|
"frozenColumns",
|
|
@@ -9629,7 +9683,7 @@ var FeatureFlagsListComponent = class FeatureFlagsListComponent extends AppBaseC
|
|
|
9629
9683
|
},
|
|
9630
9684
|
{
|
|
9631
9685
|
kind: "directive",
|
|
9632
|
-
type: i2$
|
|
9686
|
+
type: i2$3.ResizableColumn,
|
|
9633
9687
|
selector: "[pResizableColumn]",
|
|
9634
9688
|
inputs: ["pResizableColumnDisabled"]
|
|
9635
9689
|
},
|
|
@@ -9718,7 +9772,7 @@ var FeatureFlagsListComponent = class FeatureFlagsListComponent extends AppBaseC
|
|
|
9718
9772
|
},
|
|
9719
9773
|
{
|
|
9720
9774
|
kind: "component",
|
|
9721
|
-
type: i11
|
|
9775
|
+
type: i11.ProgressSpinner,
|
|
9722
9776
|
selector: "p-progress-spinner, p-progressspinner",
|
|
9723
9777
|
inputs: [
|
|
9724
9778
|
"value",
|
|
@@ -9887,6 +9941,7 @@ var FeedbackQuestionsDetailsComponent = class FeedbackQuestionsDetailsComponent
|
|
|
9887
9941
|
this.submitted = true;
|
|
9888
9942
|
const data = { ...this.form.value };
|
|
9889
9943
|
(this.id ? this.adminService.updateFeedbackQuestion(this.id, data) : this.adminService.createFeedbackQuestion(data)).subscribe({ next: () => {
|
|
9944
|
+
this.form.markAsPristine();
|
|
9890
9945
|
this.toast.success(this.translation.translate("Admin.FeedbackQuestions.UpdatedMessage"));
|
|
9891
9946
|
this.back();
|
|
9892
9947
|
this.cdr.markForCheck();
|
|
@@ -9905,7 +9960,7 @@ var FeedbackQuestionsDetailsComponent = class FeedbackQuestionsDetailsComponent
|
|
|
9905
9960
|
{ token: i0.Injector },
|
|
9906
9961
|
{ token: i0.ChangeDetectorRef },
|
|
9907
9962
|
{ token: i1$1.AdminService },
|
|
9908
|
-
{ token: i2$
|
|
9963
|
+
{ token: i2$1.ProductService }
|
|
9909
9964
|
],
|
|
9910
9965
|
target: i0.ɵɵFactoryTarget.Component
|
|
9911
9966
|
});
|
|
@@ -9989,6 +10044,11 @@ var FeedbackQuestionsDetailsComponent = class FeedbackQuestionsDetailsComponent
|
|
|
9989
10044
|
],
|
|
9990
10045
|
outputs: ["ngModelChange"]
|
|
9991
10046
|
},
|
|
10047
|
+
{
|
|
10048
|
+
kind: "directive",
|
|
10049
|
+
type: i9.TrackDirtyFormDirective,
|
|
10050
|
+
selector: "[formGroup]:not([formGroupSkipDirty])"
|
|
10051
|
+
},
|
|
9992
10052
|
{
|
|
9993
10053
|
kind: "pipe",
|
|
9994
10054
|
type: i8$2.TranslocoPipe,
|
|
@@ -10016,7 +10076,7 @@ i0.ɵɵngDeclareClassMetadata({
|
|
|
10016
10076
|
{ type: i0.Injector },
|
|
10017
10077
|
{ type: i0.ChangeDetectorRef },
|
|
10018
10078
|
{ type: i1$1.AdminService },
|
|
10019
|
-
{ type: i2$
|
|
10079
|
+
{ type: i2$1.ProductService }
|
|
10020
10080
|
],
|
|
10021
10081
|
propDecorators: { onSave: [] }
|
|
10022
10082
|
});
|
|
@@ -10097,7 +10157,7 @@ var FeedbackQuestionsListComponent = class FeedbackQuestionsListComponent extend
|
|
|
10097
10157
|
deps: [
|
|
10098
10158
|
{ token: i0.Injector },
|
|
10099
10159
|
{ token: i1$1.AdminService },
|
|
10100
|
-
{ token: i2$
|
|
10160
|
+
{ token: i2$1.ProductService },
|
|
10101
10161
|
{ token: i0.ChangeDetectorRef },
|
|
10102
10162
|
{ token: i6$2.ConfirmDialogService }
|
|
10103
10163
|
],
|
|
@@ -10118,7 +10178,7 @@ var FeedbackQuestionsListComponent = class FeedbackQuestionsListComponent extend
|
|
|
10118
10178
|
dependencies: [
|
|
10119
10179
|
{
|
|
10120
10180
|
kind: "component",
|
|
10121
|
-
type: i2$
|
|
10181
|
+
type: i2$3.Table,
|
|
10122
10182
|
selector: "p-table",
|
|
10123
10183
|
inputs: [
|
|
10124
10184
|
"frozenColumns",
|
|
@@ -10231,19 +10291,19 @@ var FeedbackQuestionsListComponent = class FeedbackQuestionsListComponent extend
|
|
|
10231
10291
|
},
|
|
10232
10292
|
{
|
|
10233
10293
|
kind: "directive",
|
|
10234
|
-
type: i2$
|
|
10294
|
+
type: i2$3.SortableColumn,
|
|
10235
10295
|
selector: "[pSortableColumn]",
|
|
10236
10296
|
inputs: ["pSortableColumn", "pSortableColumnDisabled"]
|
|
10237
10297
|
},
|
|
10238
10298
|
{
|
|
10239
10299
|
kind: "directive",
|
|
10240
|
-
type: i2$
|
|
10300
|
+
type: i2$3.ResizableColumn,
|
|
10241
10301
|
selector: "[pResizableColumn]",
|
|
10242
10302
|
inputs: ["pResizableColumnDisabled"]
|
|
10243
10303
|
},
|
|
10244
10304
|
{
|
|
10245
10305
|
kind: "component",
|
|
10246
|
-
type: i2$
|
|
10306
|
+
type: i2$3.SortIcon,
|
|
10247
10307
|
selector: "p-sort-icon, p-sorticon",
|
|
10248
10308
|
inputs: ["field"]
|
|
10249
10309
|
},
|
|
@@ -10326,7 +10386,7 @@ var FeedbackQuestionsListComponent = class FeedbackQuestionsListComponent extend
|
|
|
10326
10386
|
},
|
|
10327
10387
|
{
|
|
10328
10388
|
kind: "component",
|
|
10329
|
-
type: i11
|
|
10389
|
+
type: i11.ProgressSpinner,
|
|
10330
10390
|
selector: "p-progress-spinner, p-progressspinner",
|
|
10331
10391
|
inputs: [
|
|
10332
10392
|
"value",
|
|
@@ -10399,7 +10459,7 @@ i0.ɵɵngDeclareClassMetadata({
|
|
|
10399
10459
|
ctorParameters: () => [
|
|
10400
10460
|
{ type: i0.Injector },
|
|
10401
10461
|
{ type: i1$1.AdminService },
|
|
10402
|
-
{ type: i2$
|
|
10462
|
+
{ type: i2$1.ProductService },
|
|
10403
10463
|
{ type: i0.ChangeDetectorRef },
|
|
10404
10464
|
{ type: i6$2.ConfirmDialogService }
|
|
10405
10465
|
]
|
|
@@ -10755,6 +10815,7 @@ var AddEditIncidentComponent = class AddEditIncidentComponent extends AppBaseCom
|
|
|
10755
10815
|
subscription_id: this.subscriptionId
|
|
10756
10816
|
};
|
|
10757
10817
|
this.commonService.addIncident(data).subscribe(() => {
|
|
10818
|
+
this.form.markAsPristine();
|
|
10758
10819
|
this.toast.success(this.translation.translate("Admin.Incident.AddMessage"));
|
|
10759
10820
|
this.router.navigate([`${this.routers.incidentConfig}`]);
|
|
10760
10821
|
this.cdr.markForCheck();
|
|
@@ -10774,6 +10835,7 @@ var AddEditIncidentComponent = class AddEditIncidentComponent extends AppBaseCom
|
|
|
10774
10835
|
subscription_id: this.subscriptionId
|
|
10775
10836
|
};
|
|
10776
10837
|
this.commonService.editIncident(this.id, data).subscribe(() => {
|
|
10838
|
+
this.form.markAsPristine();
|
|
10777
10839
|
this.toast.success(this.translation.translate("Admin.Incident.UpdateMessage"));
|
|
10778
10840
|
this.router.navigate([`${this.routers.incidentConfig}`]);
|
|
10779
10841
|
this.cdr.markForCheck();
|
|
@@ -10797,7 +10859,7 @@ var AddEditIncidentComponent = class AddEditIncidentComponent extends AppBaseCom
|
|
|
10797
10859
|
deps: [
|
|
10798
10860
|
{ token: i0.Injector },
|
|
10799
10861
|
{ token: i0.ChangeDetectorRef },
|
|
10800
|
-
{ token: i2$
|
|
10862
|
+
{ token: i2$1.CommonService }
|
|
10801
10863
|
],
|
|
10802
10864
|
target: i0.ɵɵFactoryTarget.Component
|
|
10803
10865
|
});
|
|
@@ -10926,7 +10988,7 @@ var AddEditIncidentComponent = class AddEditIncidentComponent extends AppBaseCom
|
|
|
10926
10988
|
},
|
|
10927
10989
|
{
|
|
10928
10990
|
kind: "component",
|
|
10929
|
-
type: i11
|
|
10991
|
+
type: i11.ProgressSpinner,
|
|
10930
10992
|
selector: "p-progress-spinner, p-progressspinner",
|
|
10931
10993
|
inputs: [
|
|
10932
10994
|
"value",
|
|
@@ -11005,9 +11067,14 @@ var AddEditIncidentComponent = class AddEditIncidentComponent extends AppBaseCom
|
|
|
11005
11067
|
],
|
|
11006
11068
|
outputs: ["ngModelChange"]
|
|
11007
11069
|
},
|
|
11070
|
+
{
|
|
11071
|
+
kind: "directive",
|
|
11072
|
+
type: i9.TrackDirtyFormDirective,
|
|
11073
|
+
selector: "[formGroup]:not([formGroupSkipDirty])"
|
|
11074
|
+
},
|
|
11008
11075
|
{
|
|
11009
11076
|
kind: "component",
|
|
11010
|
-
type:
|
|
11077
|
+
type: i12.QuillEditorComponent,
|
|
11011
11078
|
selector: "quill-editor"
|
|
11012
11079
|
},
|
|
11013
11080
|
{
|
|
@@ -11036,7 +11103,7 @@ i0.ɵɵngDeclareClassMetadata({
|
|
|
11036
11103
|
ctorParameters: () => [
|
|
11037
11104
|
{ type: i0.Injector },
|
|
11038
11105
|
{ type: i0.ChangeDetectorRef },
|
|
11039
|
-
{ type: i2$
|
|
11106
|
+
{ type: i2$1.CommonService }
|
|
11040
11107
|
],
|
|
11041
11108
|
propDecorators: { editForm: [{
|
|
11042
11109
|
type: ViewChild,
|
|
@@ -11126,7 +11193,7 @@ var IncidentListComponent = class IncidentListComponent extends AppBaseComponent
|
|
|
11126
11193
|
type: IncidentListComponent,
|
|
11127
11194
|
deps: [
|
|
11128
11195
|
{ token: i0.Injector },
|
|
11129
|
-
{ token: i2$
|
|
11196
|
+
{ token: i2$1.CommonService },
|
|
11130
11197
|
{ token: i0.ChangeDetectorRef },
|
|
11131
11198
|
{ token: i6$2.ConfirmDialogService }
|
|
11132
11199
|
],
|
|
@@ -11147,7 +11214,7 @@ var IncidentListComponent = class IncidentListComponent extends AppBaseComponent
|
|
|
11147
11214
|
dependencies: [
|
|
11148
11215
|
{
|
|
11149
11216
|
kind: "component",
|
|
11150
|
-
type: i2$
|
|
11217
|
+
type: i2$3.Table,
|
|
11151
11218
|
selector: "p-table",
|
|
11152
11219
|
inputs: [
|
|
11153
11220
|
"frozenColumns",
|
|
@@ -11260,19 +11327,19 @@ var IncidentListComponent = class IncidentListComponent extends AppBaseComponent
|
|
|
11260
11327
|
},
|
|
11261
11328
|
{
|
|
11262
11329
|
kind: "directive",
|
|
11263
|
-
type: i2$
|
|
11330
|
+
type: i2$3.SortableColumn,
|
|
11264
11331
|
selector: "[pSortableColumn]",
|
|
11265
11332
|
inputs: ["pSortableColumn", "pSortableColumnDisabled"]
|
|
11266
11333
|
},
|
|
11267
11334
|
{
|
|
11268
11335
|
kind: "directive",
|
|
11269
|
-
type: i2$
|
|
11336
|
+
type: i2$3.ResizableColumn,
|
|
11270
11337
|
selector: "[pResizableColumn]",
|
|
11271
11338
|
inputs: ["pResizableColumnDisabled"]
|
|
11272
11339
|
},
|
|
11273
11340
|
{
|
|
11274
11341
|
kind: "component",
|
|
11275
|
-
type: i2$
|
|
11342
|
+
type: i2$3.SortIcon,
|
|
11276
11343
|
selector: "p-sort-icon, p-sorticon",
|
|
11277
11344
|
inputs: ["field"]
|
|
11278
11345
|
},
|
|
@@ -11355,7 +11422,7 @@ var IncidentListComponent = class IncidentListComponent extends AppBaseComponent
|
|
|
11355
11422
|
},
|
|
11356
11423
|
{
|
|
11357
11424
|
kind: "component",
|
|
11358
|
-
type: i11
|
|
11425
|
+
type: i11.ProgressSpinner,
|
|
11359
11426
|
selector: "p-progress-spinner, p-progressspinner",
|
|
11360
11427
|
inputs: [
|
|
11361
11428
|
"value",
|
|
@@ -11420,12 +11487,12 @@ var IncidentListComponent = class IncidentListComponent extends AppBaseComponent
|
|
|
11420
11487
|
},
|
|
11421
11488
|
{
|
|
11422
11489
|
kind: "pipe",
|
|
11423
|
-
type: i9.RemoveHtmlPipe,
|
|
11490
|
+
type: i9$1.RemoveHtmlPipe,
|
|
11424
11491
|
name: "removeHtml"
|
|
11425
11492
|
},
|
|
11426
11493
|
{
|
|
11427
11494
|
kind: "pipe",
|
|
11428
|
-
type: i9.TextTruncatePipe,
|
|
11495
|
+
type: i9$1.TextTruncatePipe,
|
|
11429
11496
|
name: "textTruncate"
|
|
11430
11497
|
}
|
|
11431
11498
|
]
|
|
@@ -11448,7 +11515,7 @@ i0.ɵɵngDeclareClassMetadata({
|
|
|
11448
11515
|
}],
|
|
11449
11516
|
ctorParameters: () => [
|
|
11450
11517
|
{ type: i0.Injector },
|
|
11451
|
-
{ type: i2$
|
|
11518
|
+
{ type: i2$1.CommonService },
|
|
11452
11519
|
{ type: i0.ChangeDetectorRef },
|
|
11453
11520
|
{ type: i6$2.ConfirmDialogService }
|
|
11454
11521
|
]
|
|
@@ -11506,19 +11573,16 @@ i0.ɵɵngDeclareClassMetadata({
|
|
|
11506
11573
|
}]
|
|
11507
11574
|
});
|
|
11508
11575
|
var LoginNotificationDetailsComponent = class LoginNotificationDetailsComponent extends AppBaseComponent {
|
|
11509
|
-
constructor(injector, cdr, adminService, productService
|
|
11576
|
+
constructor(injector, cdr, adminService, productService) {
|
|
11510
11577
|
super(injector);
|
|
11511
11578
|
this.cdr = cdr;
|
|
11512
11579
|
this.adminService = adminService;
|
|
11513
11580
|
this.productService = productService;
|
|
11514
|
-
this.unsavedChanges = unsavedChanges;
|
|
11515
11581
|
this.submitted = false;
|
|
11516
11582
|
this.buttonBusy = false;
|
|
11517
|
-
this.saved = false;
|
|
11518
11583
|
this.routers = ROUTERS;
|
|
11519
11584
|
this.isLoading = true;
|
|
11520
11585
|
this.featureKeys = [];
|
|
11521
|
-
this.unregisterUnsaved = null;
|
|
11522
11586
|
this.form = AppAdmin.loginNotificationForm();
|
|
11523
11587
|
}
|
|
11524
11588
|
ngOnInit() {
|
|
@@ -11531,14 +11595,6 @@ var LoginNotificationDetailsComponent = class LoginNotificationDetailsComponent
|
|
|
11531
11595
|
else this.isLoading = false;
|
|
11532
11596
|
this.cdr.markForCheck();
|
|
11533
11597
|
});
|
|
11534
|
-
this.unregisterUnsaved = this.unsavedChanges.watch(() => this.hasUnsavedChanges());
|
|
11535
|
-
}
|
|
11536
|
-
ngOnDestroy() {
|
|
11537
|
-
this.unregisterUnsaved?.();
|
|
11538
|
-
super.ngOnDestroy();
|
|
11539
|
-
}
|
|
11540
|
-
hasUnsavedChanges() {
|
|
11541
|
-
return this.form.dirty && !this.saved;
|
|
11542
11598
|
}
|
|
11543
11599
|
get f() {
|
|
11544
11600
|
return this.form.controls;
|
|
@@ -11580,7 +11636,6 @@ var LoginNotificationDetailsComponent = class LoginNotificationDetailsComponent
|
|
|
11580
11636
|
(this.id ? this.adminService.updateLoginNotification(this.id, data) : this.adminService.createLoginNotification(data)).subscribe({ next: () => {
|
|
11581
11637
|
this.toast.success(this.translation.translate("Admin.LoginNotification.UpdatedMessage"));
|
|
11582
11638
|
this.form.markAsPristine();
|
|
11583
|
-
this.saved = true;
|
|
11584
11639
|
this.back();
|
|
11585
11640
|
this.cdr.markForCheck();
|
|
11586
11641
|
} }).add(() => {
|
|
@@ -11599,8 +11654,7 @@ var LoginNotificationDetailsComponent = class LoginNotificationDetailsComponent
|
|
|
11599
11654
|
{ token: i0.Injector },
|
|
11600
11655
|
{ token: i0.ChangeDetectorRef },
|
|
11601
11656
|
{ token: i1$1.AdminService },
|
|
11602
|
-
{ token: i2$
|
|
11603
|
-
{ token: i2$1.UnsavedChangesService }
|
|
11657
|
+
{ token: i2$1.ProductService }
|
|
11604
11658
|
],
|
|
11605
11659
|
target: i0.ɵɵFactoryTarget.Component
|
|
11606
11660
|
});
|
|
@@ -11619,7 +11673,7 @@ var LoginNotificationDetailsComponent = class LoginNotificationDetailsComponent
|
|
|
11619
11673
|
dependencies: [
|
|
11620
11674
|
{
|
|
11621
11675
|
kind: "component",
|
|
11622
|
-
type: i2$
|
|
11676
|
+
type: i2$2.Select,
|
|
11623
11677
|
selector: "p-select",
|
|
11624
11678
|
inputs: [
|
|
11625
11679
|
"id",
|
|
@@ -11906,7 +11960,7 @@ var LoginNotificationDetailsComponent = class LoginNotificationDetailsComponent
|
|
|
11906
11960
|
},
|
|
11907
11961
|
{
|
|
11908
11962
|
kind: "component",
|
|
11909
|
-
type: i11
|
|
11963
|
+
type: i11.ProgressSpinner,
|
|
11910
11964
|
selector: "p-progress-spinner, p-progressspinner",
|
|
11911
11965
|
inputs: [
|
|
11912
11966
|
"value",
|
|
@@ -11985,6 +12039,11 @@ var LoginNotificationDetailsComponent = class LoginNotificationDetailsComponent
|
|
|
11985
12039
|
],
|
|
11986
12040
|
outputs: ["ngModelChange"]
|
|
11987
12041
|
},
|
|
12042
|
+
{
|
|
12043
|
+
kind: "directive",
|
|
12044
|
+
type: i9.TrackDirtyFormDirective,
|
|
12045
|
+
selector: "[formGroup]:not([formGroupSkipDirty])"
|
|
12046
|
+
},
|
|
11988
12047
|
{
|
|
11989
12048
|
kind: "pipe",
|
|
11990
12049
|
type: i5$2.AsyncPipe,
|
|
@@ -12018,8 +12077,7 @@ i0.ɵɵngDeclareClassMetadata({
|
|
|
12018
12077
|
{ type: i0.Injector },
|
|
12019
12078
|
{ type: i0.ChangeDetectorRef },
|
|
12020
12079
|
{ type: i1$1.AdminService },
|
|
12021
|
-
{ type: i2$
|
|
12022
|
-
{ type: i2$1.UnsavedChangesService }
|
|
12080
|
+
{ type: i2$1.ProductService }
|
|
12023
12081
|
],
|
|
12024
12082
|
propDecorators: { onSave: [] }
|
|
12025
12083
|
});
|
|
@@ -12193,7 +12251,7 @@ var LoginNotificationsListComponent = class LoginNotificationsListComponent exte
|
|
|
12193
12251
|
dependencies: [
|
|
12194
12252
|
{
|
|
12195
12253
|
kind: "component",
|
|
12196
|
-
type: i2$
|
|
12254
|
+
type: i2$3.Table,
|
|
12197
12255
|
selector: "p-table",
|
|
12198
12256
|
inputs: [
|
|
12199
12257
|
"frozenColumns",
|
|
@@ -12306,19 +12364,19 @@ var LoginNotificationsListComponent = class LoginNotificationsListComponent exte
|
|
|
12306
12364
|
},
|
|
12307
12365
|
{
|
|
12308
12366
|
kind: "directive",
|
|
12309
|
-
type: i2$
|
|
12367
|
+
type: i2$3.SortableColumn,
|
|
12310
12368
|
selector: "[pSortableColumn]",
|
|
12311
12369
|
inputs: ["pSortableColumn", "pSortableColumnDisabled"]
|
|
12312
12370
|
},
|
|
12313
12371
|
{
|
|
12314
12372
|
kind: "directive",
|
|
12315
|
-
type: i2$
|
|
12373
|
+
type: i2$3.ResizableColumn,
|
|
12316
12374
|
selector: "[pResizableColumn]",
|
|
12317
12375
|
inputs: ["pResizableColumnDisabled"]
|
|
12318
12376
|
},
|
|
12319
12377
|
{
|
|
12320
12378
|
kind: "component",
|
|
12321
|
-
type: i2$
|
|
12379
|
+
type: i2$3.SortIcon,
|
|
12322
12380
|
selector: "p-sort-icon, p-sorticon",
|
|
12323
12381
|
inputs: ["field"]
|
|
12324
12382
|
},
|
|
@@ -12407,7 +12465,7 @@ var LoginNotificationsListComponent = class LoginNotificationsListComponent exte
|
|
|
12407
12465
|
},
|
|
12408
12466
|
{
|
|
12409
12467
|
kind: "component",
|
|
12410
|
-
type: i11
|
|
12468
|
+
type: i11.ProgressSpinner,
|
|
12411
12469
|
selector: "p-progress-spinner, p-progressspinner",
|
|
12412
12470
|
inputs: [
|
|
12413
12471
|
"value",
|
|
@@ -12472,12 +12530,12 @@ var LoginNotificationsListComponent = class LoginNotificationsListComponent exte
|
|
|
12472
12530
|
},
|
|
12473
12531
|
{
|
|
12474
12532
|
kind: "pipe",
|
|
12475
|
-
type: i9.DateFormatPipe,
|
|
12533
|
+
type: i9$1.DateFormatPipe,
|
|
12476
12534
|
name: "dateFormat"
|
|
12477
12535
|
},
|
|
12478
12536
|
{
|
|
12479
12537
|
kind: "pipe",
|
|
12480
|
-
type: i9.TextTruncatePipe,
|
|
12538
|
+
type: i9$1.TextTruncatePipe,
|
|
12481
12539
|
name: "textTruncate"
|
|
12482
12540
|
}
|
|
12483
12541
|
]
|
|
@@ -12571,6 +12629,7 @@ var MailerDetailsComponent = class MailerDetailsComponent extends AppBaseCompone
|
|
|
12571
12629
|
subscription_id: this.subscriptionId
|
|
12572
12630
|
};
|
|
12573
12631
|
(this.id ? this.adminService.updateMailer(data, this.id) : this.adminService.addMailer(data)).subscribe({ next: (_) => {
|
|
12632
|
+
this.form.markAsPristine();
|
|
12574
12633
|
this.id ? this.toast.success(this.translation.translate("Admin.Mailer.UpdatedMessage")) : this.toast.success(this.translation.translate("Admin.Mailer.AddedMessage"));
|
|
12575
12634
|
this.back();
|
|
12576
12635
|
this.cdr.markForCheck();
|
|
@@ -12610,7 +12669,7 @@ var MailerDetailsComponent = class MailerDetailsComponent extends AppBaseCompone
|
|
|
12610
12669
|
dependencies: [
|
|
12611
12670
|
{
|
|
12612
12671
|
kind: "component",
|
|
12613
|
-
type: i2$
|
|
12672
|
+
type: i2$2.Select,
|
|
12614
12673
|
selector: "p-select",
|
|
12615
12674
|
inputs: [
|
|
12616
12675
|
"id",
|
|
@@ -12706,7 +12765,7 @@ var MailerDetailsComponent = class MailerDetailsComponent extends AppBaseCompone
|
|
|
12706
12765
|
},
|
|
12707
12766
|
{
|
|
12708
12767
|
kind: "component",
|
|
12709
|
-
type: i11
|
|
12768
|
+
type: i11.ProgressSpinner,
|
|
12710
12769
|
selector: "p-progress-spinner, p-progressspinner",
|
|
12711
12770
|
inputs: [
|
|
12712
12771
|
"value",
|
|
@@ -12785,9 +12844,14 @@ var MailerDetailsComponent = class MailerDetailsComponent extends AppBaseCompone
|
|
|
12785
12844
|
],
|
|
12786
12845
|
outputs: ["ngModelChange"]
|
|
12787
12846
|
},
|
|
12847
|
+
{
|
|
12848
|
+
kind: "directive",
|
|
12849
|
+
type: i9.TrackDirtyFormDirective,
|
|
12850
|
+
selector: "[formGroup]:not([formGroupSkipDirty])"
|
|
12851
|
+
},
|
|
12788
12852
|
{
|
|
12789
12853
|
kind: "component",
|
|
12790
|
-
type:
|
|
12854
|
+
type: i12.QuillEditorComponent,
|
|
12791
12855
|
selector: "quill-editor"
|
|
12792
12856
|
},
|
|
12793
12857
|
{
|
|
@@ -12902,7 +12966,7 @@ var MailerListComponent = class MailerListComponent extends AppBaseComponent {
|
|
|
12902
12966
|
type: MailerListComponent,
|
|
12903
12967
|
deps: [
|
|
12904
12968
|
{ token: i1$1.AdminService },
|
|
12905
|
-
{ token: i2$
|
|
12969
|
+
{ token: i2$1.AuthService },
|
|
12906
12970
|
{ token: i0.Injector },
|
|
12907
12971
|
{ token: i0.ChangeDetectorRef },
|
|
12908
12972
|
{ token: i6$2.ConfirmDialogService }
|
|
@@ -12923,7 +12987,7 @@ var MailerListComponent = class MailerListComponent extends AppBaseComponent {
|
|
|
12923
12987
|
dependencies: [
|
|
12924
12988
|
{
|
|
12925
12989
|
kind: "component",
|
|
12926
|
-
type: i2$
|
|
12990
|
+
type: i2$3.Table,
|
|
12927
12991
|
selector: "p-table",
|
|
12928
12992
|
inputs: [
|
|
12929
12993
|
"frozenColumns",
|
|
@@ -13036,13 +13100,13 @@ var MailerListComponent = class MailerListComponent extends AppBaseComponent {
|
|
|
13036
13100
|
},
|
|
13037
13101
|
{
|
|
13038
13102
|
kind: "directive",
|
|
13039
|
-
type: i2$
|
|
13103
|
+
type: i2$3.SortableColumn,
|
|
13040
13104
|
selector: "[pSortableColumn]",
|
|
13041
13105
|
inputs: ["pSortableColumn", "pSortableColumnDisabled"]
|
|
13042
13106
|
},
|
|
13043
13107
|
{
|
|
13044
13108
|
kind: "directive",
|
|
13045
|
-
type: i2$
|
|
13109
|
+
type: i2$3.ResizableColumn,
|
|
13046
13110
|
selector: "[pResizableColumn]",
|
|
13047
13111
|
inputs: ["pResizableColumnDisabled"]
|
|
13048
13112
|
},
|
|
@@ -13125,7 +13189,7 @@ var MailerListComponent = class MailerListComponent extends AppBaseComponent {
|
|
|
13125
13189
|
},
|
|
13126
13190
|
{
|
|
13127
13191
|
kind: "component",
|
|
13128
|
-
type: i11
|
|
13192
|
+
type: i11.ProgressSpinner,
|
|
13129
13193
|
selector: "p-progress-spinner, p-progressspinner",
|
|
13130
13194
|
inputs: [
|
|
13131
13195
|
"value",
|
|
@@ -13196,12 +13260,12 @@ var MailerListComponent = class MailerListComponent extends AppBaseComponent {
|
|
|
13196
13260
|
},
|
|
13197
13261
|
{
|
|
13198
13262
|
kind: "pipe",
|
|
13199
|
-
type: i9.RemoveHtmlPipe,
|
|
13263
|
+
type: i9$1.RemoveHtmlPipe,
|
|
13200
13264
|
name: "removeHtml"
|
|
13201
13265
|
},
|
|
13202
13266
|
{
|
|
13203
13267
|
kind: "pipe",
|
|
13204
|
-
type: i9.TextTruncatePipe,
|
|
13268
|
+
type: i9$1.TextTruncatePipe,
|
|
13205
13269
|
name: "textTruncate"
|
|
13206
13270
|
}
|
|
13207
13271
|
]
|
|
@@ -13223,7 +13287,7 @@ i0.ɵɵngDeclareClassMetadata({
|
|
|
13223
13287
|
}],
|
|
13224
13288
|
ctorParameters: () => [
|
|
13225
13289
|
{ type: i1$1.AdminService },
|
|
13226
|
-
{ type: i2$
|
|
13290
|
+
{ type: i2$1.AuthService },
|
|
13227
13291
|
{ type: i0.Injector },
|
|
13228
13292
|
{ type: i0.ChangeDetectorRef },
|
|
13229
13293
|
{ type: i6$2.ConfirmDialogService }
|
|
@@ -13326,6 +13390,7 @@ var NewsletterDetailsComponent = class NewsletterDetailsComponent extends AppBas
|
|
|
13326
13390
|
};
|
|
13327
13391
|
(this.id ? this.adminService.updateNewsletter(data, this.id) : this.adminService.addNewsletter(data)).subscribe({ next: (response) => {
|
|
13328
13392
|
this.form.patchValue(response);
|
|
13393
|
+
this.form.markAsPristine();
|
|
13329
13394
|
this.toast.success(this.translation.translate("Admin.Newsletter.UpdatedMessage"));
|
|
13330
13395
|
this.back();
|
|
13331
13396
|
this.cdr.markForCheck();
|
|
@@ -13420,7 +13485,7 @@ var NewsletterDetailsComponent = class NewsletterDetailsComponent extends AppBas
|
|
|
13420
13485
|
},
|
|
13421
13486
|
{
|
|
13422
13487
|
kind: "component",
|
|
13423
|
-
type: i11
|
|
13488
|
+
type: i11.ProgressSpinner,
|
|
13424
13489
|
selector: "p-progress-spinner, p-progressspinner",
|
|
13425
13490
|
inputs: [
|
|
13426
13491
|
"value",
|
|
@@ -13499,6 +13564,11 @@ var NewsletterDetailsComponent = class NewsletterDetailsComponent extends AppBas
|
|
|
13499
13564
|
],
|
|
13500
13565
|
outputs: ["ngModelChange"]
|
|
13501
13566
|
},
|
|
13567
|
+
{
|
|
13568
|
+
kind: "directive",
|
|
13569
|
+
type: i9.TrackDirtyFormDirective,
|
|
13570
|
+
selector: "[formGroup]:not([formGroupSkipDirty])"
|
|
13571
|
+
},
|
|
13502
13572
|
{
|
|
13503
13573
|
kind: "pipe",
|
|
13504
13574
|
type: i8$2.TranslocoPipe,
|
|
@@ -13664,6 +13734,7 @@ var NewsletterItemDetailsComponent = class NewsletterItemDetailsComponent extend
|
|
|
13664
13734
|
this.adminService.addNewsletterItem(data).subscribe((response) => {
|
|
13665
13735
|
this.data = response;
|
|
13666
13736
|
this.postTags();
|
|
13737
|
+
this.form.markAsPristine();
|
|
13667
13738
|
this.toast.success(this.translation.translate("Admin.Newsletter.AddedMessage"));
|
|
13668
13739
|
this.back();
|
|
13669
13740
|
this.cdr.markForCheck();
|
|
@@ -13680,6 +13751,7 @@ var NewsletterItemDetailsComponent = class NewsletterItemDetailsComponent extend
|
|
|
13680
13751
|
this.adminService.updateNewsletterItem(data, this.id).subscribe((response) => {
|
|
13681
13752
|
this.data = response;
|
|
13682
13753
|
this.postTags();
|
|
13754
|
+
this.form.markAsPristine();
|
|
13683
13755
|
this.toast.success(this.translation.translate("Admin.Newsletter.UpdatedMessage"));
|
|
13684
13756
|
this.back();
|
|
13685
13757
|
this.cdr.markForCheck();
|
|
@@ -13746,9 +13818,9 @@ var NewsletterItemDetailsComponent = class NewsletterItemDetailsComponent extend
|
|
|
13746
13818
|
type: NewsletterItemDetailsComponent,
|
|
13747
13819
|
deps: [
|
|
13748
13820
|
{ token: i1$1.AdminService },
|
|
13749
|
-
{ token: i2$
|
|
13750
|
-
{ token: i2$
|
|
13751
|
-
{ token: i2$
|
|
13821
|
+
{ token: i2$1.TagService },
|
|
13822
|
+
{ token: i2$1.ProductService },
|
|
13823
|
+
{ token: i2$1.AuthService },
|
|
13752
13824
|
{ token: i0.Injector },
|
|
13753
13825
|
{ token: i0.ChangeDetectorRef },
|
|
13754
13826
|
{ token: i3.DomSanitizer }
|
|
@@ -13854,7 +13926,7 @@ var NewsletterItemDetailsComponent = class NewsletterItemDetailsComponent extend
|
|
|
13854
13926
|
},
|
|
13855
13927
|
{
|
|
13856
13928
|
kind: "component",
|
|
13857
|
-
type: i2$
|
|
13929
|
+
type: i2$2.Select,
|
|
13858
13930
|
selector: "p-select",
|
|
13859
13931
|
inputs: [
|
|
13860
13932
|
"id",
|
|
@@ -14165,7 +14237,7 @@ var NewsletterItemDetailsComponent = class NewsletterItemDetailsComponent extend
|
|
|
14165
14237
|
},
|
|
14166
14238
|
{
|
|
14167
14239
|
kind: "component",
|
|
14168
|
-
type: i11
|
|
14240
|
+
type: i11.ProgressSpinner,
|
|
14169
14241
|
selector: "p-progress-spinner, p-progressspinner",
|
|
14170
14242
|
inputs: [
|
|
14171
14243
|
"value",
|
|
@@ -14252,9 +14324,14 @@ var NewsletterItemDetailsComponent = class NewsletterItemDetailsComponent extend
|
|
|
14252
14324
|
],
|
|
14253
14325
|
outputs: ["ngModelChange"]
|
|
14254
14326
|
},
|
|
14327
|
+
{
|
|
14328
|
+
kind: "directive",
|
|
14329
|
+
type: i9.TrackDirtyFormDirective,
|
|
14330
|
+
selector: "[formGroup]:not([formGroupSkipDirty])"
|
|
14331
|
+
},
|
|
14255
14332
|
{
|
|
14256
14333
|
kind: "component",
|
|
14257
|
-
type:
|
|
14334
|
+
type: i12.QuillEditorComponent,
|
|
14258
14335
|
selector: "quill-editor"
|
|
14259
14336
|
},
|
|
14260
14337
|
{
|
|
@@ -14282,9 +14359,9 @@ i0.ɵɵngDeclareClassMetadata({
|
|
|
14282
14359
|
}],
|
|
14283
14360
|
ctorParameters: () => [
|
|
14284
14361
|
{ type: i1$1.AdminService },
|
|
14285
|
-
{ type: i2$
|
|
14286
|
-
{ type: i2$
|
|
14287
|
-
{ type: i2$
|
|
14362
|
+
{ type: i2$1.TagService },
|
|
14363
|
+
{ type: i2$1.ProductService },
|
|
14364
|
+
{ type: i2$1.AuthService },
|
|
14288
14365
|
{ type: i0.Injector },
|
|
14289
14366
|
{ type: i0.ChangeDetectorRef },
|
|
14290
14367
|
{ type: i3.DomSanitizer }
|
|
@@ -14369,7 +14446,7 @@ var NewsletterUsersListComponent = class NewsletterUsersListComponent extends Ap
|
|
|
14369
14446
|
dependencies: [
|
|
14370
14447
|
{
|
|
14371
14448
|
kind: "component",
|
|
14372
|
-
type: i2$
|
|
14449
|
+
type: i2$3.Table,
|
|
14373
14450
|
selector: "p-table",
|
|
14374
14451
|
inputs: [
|
|
14375
14452
|
"frozenColumns",
|
|
@@ -14482,19 +14559,19 @@ var NewsletterUsersListComponent = class NewsletterUsersListComponent extends Ap
|
|
|
14482
14559
|
},
|
|
14483
14560
|
{
|
|
14484
14561
|
kind: "directive",
|
|
14485
|
-
type: i2$
|
|
14562
|
+
type: i2$3.SortableColumn,
|
|
14486
14563
|
selector: "[pSortableColumn]",
|
|
14487
14564
|
inputs: ["pSortableColumn", "pSortableColumnDisabled"]
|
|
14488
14565
|
},
|
|
14489
14566
|
{
|
|
14490
14567
|
kind: "directive",
|
|
14491
|
-
type: i2$
|
|
14568
|
+
type: i2$3.ResizableColumn,
|
|
14492
14569
|
selector: "[pResizableColumn]",
|
|
14493
14570
|
inputs: ["pResizableColumnDisabled"]
|
|
14494
14571
|
},
|
|
14495
14572
|
{
|
|
14496
14573
|
kind: "component",
|
|
14497
|
-
type: i2$
|
|
14574
|
+
type: i2$3.SortIcon,
|
|
14498
14575
|
selector: "p-sort-icon, p-sorticon",
|
|
14499
14576
|
inputs: ["field"]
|
|
14500
14577
|
},
|
|
@@ -14549,7 +14626,7 @@ var NewsletterUsersListComponent = class NewsletterUsersListComponent extends Ap
|
|
|
14549
14626
|
},
|
|
14550
14627
|
{
|
|
14551
14628
|
kind: "component",
|
|
14552
|
-
type: i11
|
|
14629
|
+
type: i11.ProgressSpinner,
|
|
14553
14630
|
selector: "p-progress-spinner, p-progressspinner",
|
|
14554
14631
|
inputs: [
|
|
14555
14632
|
"value",
|
|
@@ -14609,12 +14686,12 @@ var NewsletterUsersListComponent = class NewsletterUsersListComponent extends Ap
|
|
|
14609
14686
|
},
|
|
14610
14687
|
{
|
|
14611
14688
|
kind: "pipe",
|
|
14612
|
-
type: i9.DateFormatPipe,
|
|
14689
|
+
type: i9$1.DateFormatPipe,
|
|
14613
14690
|
name: "dateFormat"
|
|
14614
14691
|
},
|
|
14615
14692
|
{
|
|
14616
14693
|
kind: "pipe",
|
|
14617
|
-
type: i9.IsOnlinePipe,
|
|
14694
|
+
type: i9$1.IsOnlinePipe,
|
|
14618
14695
|
name: "isOnline"
|
|
14619
14696
|
}
|
|
14620
14697
|
]
|
|
@@ -14769,7 +14846,7 @@ var NewsletterInsightComponent = class NewsletterInsightComponent extends AppBas
|
|
|
14769
14846
|
},
|
|
14770
14847
|
{
|
|
14771
14848
|
kind: "component",
|
|
14772
|
-
type: i11
|
|
14849
|
+
type: i11.ProgressSpinner,
|
|
14773
14850
|
selector: "p-progress-spinner, p-progressspinner",
|
|
14774
14851
|
inputs: [
|
|
14775
14852
|
"value",
|
|
@@ -14945,7 +15022,7 @@ var NewslettersItemsComponent = class NewslettersItemsComponent extends AppBaseC
|
|
|
14945
15022
|
type: NewslettersItemsComponent,
|
|
14946
15023
|
deps: [
|
|
14947
15024
|
{ token: i1$1.AdminService },
|
|
14948
|
-
{ token: i2$
|
|
15025
|
+
{ token: i2$1.AuthService },
|
|
14949
15026
|
{ token: i0.Injector },
|
|
14950
15027
|
{ token: i0.ChangeDetectorRef },
|
|
14951
15028
|
{ token: i6$2.ConfirmDialogService }
|
|
@@ -14967,7 +15044,7 @@ var NewslettersItemsComponent = class NewslettersItemsComponent extends AppBaseC
|
|
|
14967
15044
|
dependencies: [
|
|
14968
15045
|
{
|
|
14969
15046
|
kind: "component",
|
|
14970
|
-
type: i2$
|
|
15047
|
+
type: i2$3.Table,
|
|
14971
15048
|
selector: "p-table",
|
|
14972
15049
|
inputs: [
|
|
14973
15050
|
"frozenColumns",
|
|
@@ -15080,19 +15157,19 @@ var NewslettersItemsComponent = class NewslettersItemsComponent extends AppBaseC
|
|
|
15080
15157
|
},
|
|
15081
15158
|
{
|
|
15082
15159
|
kind: "directive",
|
|
15083
|
-
type: i2$
|
|
15160
|
+
type: i2$3.SortableColumn,
|
|
15084
15161
|
selector: "[pSortableColumn]",
|
|
15085
15162
|
inputs: ["pSortableColumn", "pSortableColumnDisabled"]
|
|
15086
15163
|
},
|
|
15087
15164
|
{
|
|
15088
15165
|
kind: "directive",
|
|
15089
|
-
type: i2$
|
|
15166
|
+
type: i2$3.ResizableColumn,
|
|
15090
15167
|
selector: "[pResizableColumn]",
|
|
15091
15168
|
inputs: ["pResizableColumnDisabled"]
|
|
15092
15169
|
},
|
|
15093
15170
|
{
|
|
15094
15171
|
kind: "component",
|
|
15095
|
-
type: i2$
|
|
15172
|
+
type: i2$3.SortIcon,
|
|
15096
15173
|
selector: "p-sort-icon, p-sorticon",
|
|
15097
15174
|
inputs: ["field"]
|
|
15098
15175
|
},
|
|
@@ -15266,7 +15343,7 @@ var NewslettersItemsComponent = class NewslettersItemsComponent extends AppBaseC
|
|
|
15266
15343
|
},
|
|
15267
15344
|
{
|
|
15268
15345
|
kind: "component",
|
|
15269
|
-
type: i11
|
|
15346
|
+
type: i11.ProgressSpinner,
|
|
15270
15347
|
selector: "p-progress-spinner, p-progressspinner",
|
|
15271
15348
|
inputs: [
|
|
15272
15349
|
"value",
|
|
@@ -15337,17 +15414,17 @@ var NewslettersItemsComponent = class NewslettersItemsComponent extends AppBaseC
|
|
|
15337
15414
|
},
|
|
15338
15415
|
{
|
|
15339
15416
|
kind: "pipe",
|
|
15340
|
-
type: i9.DateFormatPipe,
|
|
15417
|
+
type: i9$1.DateFormatPipe,
|
|
15341
15418
|
name: "dateFormat"
|
|
15342
15419
|
},
|
|
15343
15420
|
{
|
|
15344
15421
|
kind: "pipe",
|
|
15345
|
-
type: i9.RemoveHtmlPipe,
|
|
15422
|
+
type: i9$1.RemoveHtmlPipe,
|
|
15346
15423
|
name: "removeHtml"
|
|
15347
15424
|
},
|
|
15348
15425
|
{
|
|
15349
15426
|
kind: "pipe",
|
|
15350
|
-
type: i9.TextTruncatePipe,
|
|
15427
|
+
type: i9$1.TextTruncatePipe,
|
|
15351
15428
|
name: "textTruncate"
|
|
15352
15429
|
}
|
|
15353
15430
|
]
|
|
@@ -15370,7 +15447,7 @@ i0.ɵɵngDeclareClassMetadata({
|
|
|
15370
15447
|
}],
|
|
15371
15448
|
ctorParameters: () => [
|
|
15372
15449
|
{ type: i1$1.AdminService },
|
|
15373
|
-
{ type: i2$
|
|
15450
|
+
{ type: i2$1.AuthService },
|
|
15374
15451
|
{ type: i0.Injector },
|
|
15375
15452
|
{ type: i0.ChangeDetectorRef },
|
|
15376
15453
|
{ type: i6$2.ConfirmDialogService }
|
|
@@ -15449,7 +15526,7 @@ var NewsLetterItemViewComponent = class NewsLetterItemViewComponent extends AppB
|
|
|
15449
15526
|
},
|
|
15450
15527
|
{
|
|
15451
15528
|
kind: "component",
|
|
15452
|
-
type: i11
|
|
15529
|
+
type: i11.ProgressSpinner,
|
|
15453
15530
|
selector: "p-progress-spinner, p-progressspinner",
|
|
15454
15531
|
inputs: [
|
|
15455
15532
|
"value",
|
|
@@ -15568,7 +15645,7 @@ var NewslettersListComponent = class NewslettersListComponent extends AppBaseCom
|
|
|
15568
15645
|
type: NewslettersListComponent,
|
|
15569
15646
|
deps: [
|
|
15570
15647
|
{ token: i1$1.AdminService },
|
|
15571
|
-
{ token: i2$
|
|
15648
|
+
{ token: i2$1.AuthService },
|
|
15572
15649
|
{ token: i0.Injector },
|
|
15573
15650
|
{ token: i0.ChangeDetectorRef },
|
|
15574
15651
|
{ token: i6$2.ConfirmDialogService }
|
|
@@ -15589,7 +15666,7 @@ var NewslettersListComponent = class NewslettersListComponent extends AppBaseCom
|
|
|
15589
15666
|
dependencies: [
|
|
15590
15667
|
{
|
|
15591
15668
|
kind: "component",
|
|
15592
|
-
type: i2$
|
|
15669
|
+
type: i2$3.Table,
|
|
15593
15670
|
selector: "p-table",
|
|
15594
15671
|
inputs: [
|
|
15595
15672
|
"frozenColumns",
|
|
@@ -15702,19 +15779,19 @@ var NewslettersListComponent = class NewslettersListComponent extends AppBaseCom
|
|
|
15702
15779
|
},
|
|
15703
15780
|
{
|
|
15704
15781
|
kind: "directive",
|
|
15705
|
-
type: i2$
|
|
15782
|
+
type: i2$3.SortableColumn,
|
|
15706
15783
|
selector: "[pSortableColumn]",
|
|
15707
15784
|
inputs: ["pSortableColumn", "pSortableColumnDisabled"]
|
|
15708
15785
|
},
|
|
15709
15786
|
{
|
|
15710
15787
|
kind: "directive",
|
|
15711
|
-
type: i2$
|
|
15788
|
+
type: i2$3.ResizableColumn,
|
|
15712
15789
|
selector: "[pResizableColumn]",
|
|
15713
15790
|
inputs: ["pResizableColumnDisabled"]
|
|
15714
15791
|
},
|
|
15715
15792
|
{
|
|
15716
15793
|
kind: "component",
|
|
15717
|
-
type: i2$
|
|
15794
|
+
type: i2$3.SortIcon,
|
|
15718
15795
|
selector: "p-sort-icon, p-sorticon",
|
|
15719
15796
|
inputs: ["field"]
|
|
15720
15797
|
},
|
|
@@ -15797,7 +15874,7 @@ var NewslettersListComponent = class NewslettersListComponent extends AppBaseCom
|
|
|
15797
15874
|
},
|
|
15798
15875
|
{
|
|
15799
15876
|
kind: "component",
|
|
15800
|
-
type: i11
|
|
15877
|
+
type: i11.ProgressSpinner,
|
|
15801
15878
|
selector: "p-progress-spinner, p-progressspinner",
|
|
15802
15879
|
inputs: [
|
|
15803
15880
|
"value",
|
|
@@ -15879,7 +15956,7 @@ i0.ɵɵngDeclareClassMetadata({
|
|
|
15879
15956
|
}],
|
|
15880
15957
|
ctorParameters: () => [
|
|
15881
15958
|
{ type: i1$1.AdminService },
|
|
15882
|
-
{ type: i2$
|
|
15959
|
+
{ type: i2$1.AuthService },
|
|
15883
15960
|
{ type: i0.Injector },
|
|
15884
15961
|
{ type: i0.ChangeDetectorRef },
|
|
15885
15962
|
{ type: i6$2.ConfirmDialogService }
|
|
@@ -16022,7 +16099,7 @@ var OauthClientsComponent = class OauthClientsComponent extends AppBaseComponent
|
|
|
16022
16099
|
dependencies: [
|
|
16023
16100
|
{
|
|
16024
16101
|
kind: "component",
|
|
16025
|
-
type: i2$
|
|
16102
|
+
type: i2$3.Table,
|
|
16026
16103
|
selector: "p-table",
|
|
16027
16104
|
inputs: [
|
|
16028
16105
|
"frozenColumns",
|
|
@@ -16135,7 +16212,7 @@ var OauthClientsComponent = class OauthClientsComponent extends AppBaseComponent
|
|
|
16135
16212
|
},
|
|
16136
16213
|
{
|
|
16137
16214
|
kind: "directive",
|
|
16138
|
-
type: i2$
|
|
16215
|
+
type: i2$3.ResizableColumn,
|
|
16139
16216
|
selector: "[pResizableColumn]",
|
|
16140
16217
|
inputs: ["pResizableColumnDisabled"]
|
|
16141
16218
|
},
|
|
@@ -16169,7 +16246,7 @@ var OauthClientsComponent = class OauthClientsComponent extends AppBaseComponent
|
|
|
16169
16246
|
},
|
|
16170
16247
|
{
|
|
16171
16248
|
kind: "component",
|
|
16172
|
-
type: i11
|
|
16249
|
+
type: i11.ProgressSpinner,
|
|
16173
16250
|
selector: "p-progress-spinner, p-progressspinner",
|
|
16174
16251
|
inputs: [
|
|
16175
16252
|
"value",
|
|
@@ -16240,19 +16317,16 @@ i0.ɵɵngDeclareClassMetadata({
|
|
|
16240
16317
|
]
|
|
16241
16318
|
});
|
|
16242
16319
|
var OauthClientsDetailsComponent = class OauthClientsDetailsComponent extends AppBaseComponent {
|
|
16243
|
-
constructor(fb, oauthClientService, injector, cdr
|
|
16320
|
+
constructor(fb, oauthClientService, injector, cdr) {
|
|
16244
16321
|
super(injector);
|
|
16245
16322
|
this.fb = fb;
|
|
16246
16323
|
this.oauthClientService = oauthClientService;
|
|
16247
16324
|
this.cdr = cdr;
|
|
16248
|
-
this.unsavedChanges = unsavedChanges;
|
|
16249
16325
|
this.submitting = false;
|
|
16250
|
-
this.saved = false;
|
|
16251
16326
|
this.editId = null;
|
|
16252
16327
|
this.loading = false;
|
|
16253
16328
|
this.createdClient = null;
|
|
16254
16329
|
this.routers = ROUTERS;
|
|
16255
|
-
this.unregisterUnsaved = null;
|
|
16256
16330
|
this.form = this.fb.group({
|
|
16257
16331
|
name: ["", Validators.required],
|
|
16258
16332
|
redirect_uris: ["", Validators.required],
|
|
@@ -16266,14 +16340,6 @@ var OauthClientsDetailsComponent = class OauthClientsDetailsComponent extends Ap
|
|
|
16266
16340
|
this.editId = Number(id);
|
|
16267
16341
|
this.loadClient(this.editId);
|
|
16268
16342
|
}
|
|
16269
|
-
this.unregisterUnsaved = this.unsavedChanges.watch(() => this.hasUnsavedChanges());
|
|
16270
|
-
}
|
|
16271
|
-
ngOnDestroy() {
|
|
16272
|
-
this.unregisterUnsaved?.();
|
|
16273
|
-
super.ngOnDestroy();
|
|
16274
|
-
}
|
|
16275
|
-
hasUnsavedChanges() {
|
|
16276
|
-
return this.form.dirty && !this.saved;
|
|
16277
16343
|
}
|
|
16278
16344
|
loadClient(id) {
|
|
16279
16345
|
this.loading = true;
|
|
@@ -16338,7 +16404,6 @@ var OauthClientsDetailsComponent = class OauthClientsDetailsComponent extends Ap
|
|
|
16338
16404
|
}
|
|
16339
16405
|
markClean() {
|
|
16340
16406
|
this.form.markAsPristine();
|
|
16341
|
-
this.saved = true;
|
|
16342
16407
|
}
|
|
16343
16408
|
static {
|
|
16344
16409
|
this.ɵfac = i0.ɵɵngDeclareFactory({
|
|
@@ -16350,8 +16415,7 @@ var OauthClientsDetailsComponent = class OauthClientsDetailsComponent extends Ap
|
|
|
16350
16415
|
{ token: i10.FormBuilder },
|
|
16351
16416
|
{ token: i1$1.McpOauthClientService },
|
|
16352
16417
|
{ token: i0.Injector },
|
|
16353
|
-
{ token: i0.ChangeDetectorRef }
|
|
16354
|
-
{ token: i2$1.UnsavedChangesService }
|
|
16418
|
+
{ token: i0.ChangeDetectorRef }
|
|
16355
16419
|
],
|
|
16356
16420
|
target: i0.ɵɵFactoryTarget.Component
|
|
16357
16421
|
});
|
|
@@ -16477,6 +16541,11 @@ var OauthClientsDetailsComponent = class OauthClientsDetailsComponent extends Ap
|
|
|
16477
16541
|
],
|
|
16478
16542
|
outputs: ["ngModelChange"]
|
|
16479
16543
|
},
|
|
16544
|
+
{
|
|
16545
|
+
kind: "directive",
|
|
16546
|
+
type: i9.TrackDirtyFormDirective,
|
|
16547
|
+
selector: "[formGroup]:not([formGroupSkipDirty])"
|
|
16548
|
+
},
|
|
16480
16549
|
{
|
|
16481
16550
|
kind: "pipe",
|
|
16482
16551
|
type: i8$2.TranslocoPipe,
|
|
@@ -16503,8 +16572,7 @@ i0.ɵɵngDeclareClassMetadata({
|
|
|
16503
16572
|
{ type: i10.FormBuilder },
|
|
16504
16573
|
{ type: i1$1.McpOauthClientService },
|
|
16505
16574
|
{ type: i0.Injector },
|
|
16506
|
-
{ type: i0.ChangeDetectorRef }
|
|
16507
|
-
{ type: i2$1.UnsavedChangesService }
|
|
16575
|
+
{ type: i0.ChangeDetectorRef }
|
|
16508
16576
|
]
|
|
16509
16577
|
});
|
|
16510
16578
|
var OauthClientsTabsComponent = class OauthClientsTabsComponent {
|
|
@@ -16712,7 +16780,7 @@ var PermissionsDetailsComponent = class PermissionsDetailsComponent extends AppB
|
|
|
16712
16780
|
},
|
|
16713
16781
|
{
|
|
16714
16782
|
kind: "component",
|
|
16715
|
-
type: i11
|
|
16783
|
+
type: i11.ProgressSpinner,
|
|
16716
16784
|
selector: "p-progress-spinner, p-progressspinner",
|
|
16717
16785
|
inputs: [
|
|
16718
16786
|
"value",
|
|
@@ -16797,6 +16865,11 @@ var PermissionsDetailsComponent = class PermissionsDetailsComponent extends AppB
|
|
|
16797
16865
|
],
|
|
16798
16866
|
outputs: ["ngModelChange"]
|
|
16799
16867
|
},
|
|
16868
|
+
{
|
|
16869
|
+
kind: "directive",
|
|
16870
|
+
type: i9.TrackDirtyFormDirective,
|
|
16871
|
+
selector: "[formGroup]:not([formGroupSkipDirty])"
|
|
16872
|
+
},
|
|
16800
16873
|
{
|
|
16801
16874
|
kind: "pipe",
|
|
16802
16875
|
type: i8$2.TranslocoPipe,
|
|
@@ -16925,7 +16998,7 @@ var PermissionsListComponent = class PermissionsListComponent extends AppBaseCom
|
|
|
16925
16998
|
dependencies: [
|
|
16926
16999
|
{
|
|
16927
17000
|
kind: "component",
|
|
16928
|
-
type: i2$
|
|
17001
|
+
type: i2$3.Table,
|
|
16929
17002
|
selector: "p-table",
|
|
16930
17003
|
inputs: [
|
|
16931
17004
|
"frozenColumns",
|
|
@@ -17038,19 +17111,19 @@ var PermissionsListComponent = class PermissionsListComponent extends AppBaseCom
|
|
|
17038
17111
|
},
|
|
17039
17112
|
{
|
|
17040
17113
|
kind: "directive",
|
|
17041
|
-
type: i2$
|
|
17114
|
+
type: i2$3.SortableColumn,
|
|
17042
17115
|
selector: "[pSortableColumn]",
|
|
17043
17116
|
inputs: ["pSortableColumn", "pSortableColumnDisabled"]
|
|
17044
17117
|
},
|
|
17045
17118
|
{
|
|
17046
17119
|
kind: "directive",
|
|
17047
|
-
type: i2$
|
|
17120
|
+
type: i2$3.ResizableColumn,
|
|
17048
17121
|
selector: "[pResizableColumn]",
|
|
17049
17122
|
inputs: ["pResizableColumnDisabled"]
|
|
17050
17123
|
},
|
|
17051
17124
|
{
|
|
17052
17125
|
kind: "component",
|
|
17053
|
-
type: i2$
|
|
17126
|
+
type: i2$3.SortIcon,
|
|
17054
17127
|
selector: "p-sort-icon, p-sorticon",
|
|
17055
17128
|
inputs: ["field"]
|
|
17056
17129
|
},
|
|
@@ -17133,7 +17206,7 @@ var PermissionsListComponent = class PermissionsListComponent extends AppBaseCom
|
|
|
17133
17206
|
},
|
|
17134
17207
|
{
|
|
17135
17208
|
kind: "component",
|
|
17136
|
-
type: i11
|
|
17209
|
+
type: i11.ProgressSpinner,
|
|
17137
17210
|
selector: "p-progress-spinner, p-progressspinner",
|
|
17138
17211
|
inputs: [
|
|
17139
17212
|
"value",
|
|
@@ -17491,7 +17564,7 @@ var RoleDetailsComponent = class RoleDetailsComponent extends AppBaseComponent {
|
|
|
17491
17564
|
},
|
|
17492
17565
|
{
|
|
17493
17566
|
kind: "component",
|
|
17494
|
-
type: i11
|
|
17567
|
+
type: i11.ProgressSpinner,
|
|
17495
17568
|
selector: "p-progress-spinner, p-progressspinner",
|
|
17496
17569
|
inputs: [
|
|
17497
17570
|
"value",
|
|
@@ -17563,6 +17636,11 @@ var RoleDetailsComponent = class RoleDetailsComponent extends AppBaseComponent {
|
|
|
17563
17636
|
],
|
|
17564
17637
|
outputs: ["ngModelChange"]
|
|
17565
17638
|
},
|
|
17639
|
+
{
|
|
17640
|
+
kind: "directive",
|
|
17641
|
+
type: i9.TrackDirtyFormDirective,
|
|
17642
|
+
selector: "[formGroup]:not([formGroupSkipDirty])"
|
|
17643
|
+
},
|
|
17566
17644
|
{
|
|
17567
17645
|
kind: "pipe",
|
|
17568
17646
|
type: i8$2.TranslocoPipe,
|
|
@@ -17691,7 +17769,7 @@ var RolesListComponent = class RolesListComponent extends AppBaseComponent {
|
|
|
17691
17769
|
dependencies: [
|
|
17692
17770
|
{
|
|
17693
17771
|
kind: "component",
|
|
17694
|
-
type: i2$
|
|
17772
|
+
type: i2$3.Table,
|
|
17695
17773
|
selector: "p-table",
|
|
17696
17774
|
inputs: [
|
|
17697
17775
|
"frozenColumns",
|
|
@@ -17804,19 +17882,19 @@ var RolesListComponent = class RolesListComponent extends AppBaseComponent {
|
|
|
17804
17882
|
},
|
|
17805
17883
|
{
|
|
17806
17884
|
kind: "directive",
|
|
17807
|
-
type: i2$
|
|
17885
|
+
type: i2$3.SortableColumn,
|
|
17808
17886
|
selector: "[pSortableColumn]",
|
|
17809
17887
|
inputs: ["pSortableColumn", "pSortableColumnDisabled"]
|
|
17810
17888
|
},
|
|
17811
17889
|
{
|
|
17812
17890
|
kind: "directive",
|
|
17813
|
-
type: i2$
|
|
17891
|
+
type: i2$3.ResizableColumn,
|
|
17814
17892
|
selector: "[pResizableColumn]",
|
|
17815
17893
|
inputs: ["pResizableColumnDisabled"]
|
|
17816
17894
|
},
|
|
17817
17895
|
{
|
|
17818
17896
|
kind: "component",
|
|
17819
|
-
type: i2$
|
|
17897
|
+
type: i2$3.SortIcon,
|
|
17820
17898
|
selector: "p-sort-icon, p-sorticon",
|
|
17821
17899
|
inputs: ["field"]
|
|
17822
17900
|
},
|
|
@@ -17899,7 +17977,7 @@ var RolesListComponent = class RolesListComponent extends AppBaseComponent {
|
|
|
17899
17977
|
},
|
|
17900
17978
|
{
|
|
17901
17979
|
kind: "component",
|
|
17902
|
-
type: i11
|
|
17980
|
+
type: i11.ProgressSpinner,
|
|
17903
17981
|
selector: "p-progress-spinner, p-progressspinner",
|
|
17904
17982
|
inputs: [
|
|
17905
17983
|
"value",
|
|
@@ -18073,7 +18151,7 @@ var OnboardingStepFormComponent = class OnboardingStepFormComponent {
|
|
|
18073
18151
|
isStandalone: false,
|
|
18074
18152
|
selector: "pw-onboarding-step-form",
|
|
18075
18153
|
ngImport: i0,
|
|
18076
|
-
template: "<div class=\"modal-header\">\n <h4 class=\"modal-title\" id=\"onboarding-step-form-title\">\n {{ (step ? 'Admin.Onboarding.Form.EditTitle' : 'Admin.Onboarding.Form.AddTitle') | transloco }}\n </h4>\n <button type=\"button\" class=\"btn-close float-end\" [attr.aria-label]=\"'Button.Cancel' | transloco\" (click)=\"modal.dismiss()\"></button>\n</div>\n\n<form [formGroup]=\"form\" (ngSubmit)=\"save()\" aria-labelledby=\"onboarding-step-form-title\">\n <div class=\"modal-body\">\n <h3>{{ 'Admin.Onboarding.Form.Section.Step' | transloco }}</h3>\n <div class=\"row\">\n <pw-input-container class=\"col-12 col-md-8\" [label]=\"'Admin.Onboarding.Form.Title' | transloco\" name=\"title\"\n controlId=\"onboarding-step-title\" [required]=\"true\" errorMsg=\"Admin.Onboarding.Error.Title\">\n <input type=\"text\" id=\"onboarding-step-title\" class=\"form-control\" formControlName=\"title\" maxlength=\"120\"\n [ngClass]=\"{ 'is-invalid': submitted && form.controls.title.invalid }\"\n [placeholder]=\"'Admin.Onboarding.Placeholder.Title' | transloco\" />\n </pw-input-container>\n <pw-input-container class=\"col-12 col-md-4\" [label]=\"'Admin.Onboarding.Form.Kind' | transloco\" name=\"kind\"\n controlId=\"onboarding-step-kind\">\n <p-select inputId=\"onboarding-step-kind\" formControlName=\"kind\" [options]=\"kinds\" appendTo=\"body\"\n [placeholder]=\"'Admin.Onboarding.Placeholder.Kind' | transloco\">\n <ng-template #selectedItem let-kind>{{ 'Admin.Onboarding.Kind.' + kind | transloco }}</ng-template>\n <ng-template #item let-kind>{{ 'Admin.Onboarding.Kind.' + kind | transloco }}</ng-template>\n </p-select>\n </pw-input-container>\n <pw-input-container class=\"col-12\" [label]=\"'Admin.Onboarding.Form.Description' | transloco\" name=\"description\"\n controlId=\"onboarding-step-description\">\n <textarea id=\"onboarding-step-description\" class=\"form-control\" rows=\"2\" maxlength=\"500\" formControlName=\"description\"\n [placeholder]=\"'Admin.Onboarding.Placeholder.Description' | transloco\"></textarea>\n </pw-input-container>\n </div>\n\n <h3>{{ 'Admin.Onboarding.Form.Section.Completion' | transloco }}</h3>\n <div class=\"row\">\n <pw-input-container class=\"col-12 col-md-6\" [label]=\"'Admin.Onboarding.Form.Check' | transloco\" name=\"check_key\"\n controlId=\"onboarding-step-check\" [showTooltip]=\"true\" [tooltipText]=\"'Admin.Onboarding.Tooltip.Check' | transloco\">\n <p-select inputId=\"onboarding-step-check\" formControlName=\"check_key\" [options]=\"checkOptions\" optionValue=\"check_key\"\n appendTo=\"body\" [placeholder]=\"'Admin.Onboarding.Placeholder.Check' | transloco\">\n <ng-template #selectedItem let-check>{{ check?.title ?? ('Admin.Onboarding.Manual' | transloco) }}</ng-template>\n <ng-template #item let-check>{{ check.title ?? ('Admin.Onboarding.Manual' | transloco) }}</ng-template>\n </p-select>\n </pw-input-container>\n <pw-input-container class=\"col-12 col-md-6\" [label]=\"'Admin.Onboarding.Form.Plans' | transloco\" name=\"feature_keys\"\n controlId=\"onboarding-step-plans\" [showTooltip]=\"true\" [tooltipText]=\"'Admin.Onboarding.Tooltip.Plans' | transloco\">\n <p-multiselect inputId=\"onboarding-step-plans\" formControlName=\"feature_keys\" [options]=\"plans\" optionLabel=\"name\"\n optionValue=\"feature_key\" display=\"chip\" appendTo=\"body\" [placeholder]=\"'Admin.Onboarding.Placeholder.Plans' | transloco\">\n </p-multiselect>\n </pw-input-container>\n <pw-input-container class=\"col-12 col-md-6\" [label]=\"'Admin.Onboarding.Form.DependsOn' | transloco\" name=\"depends_on\"\n controlId=\"onboarding-step-depends\">\n <p-multiselect inputId=\"onboarding-step-depends\" formControlName=\"depends_on\" [options]=\"otherSteps\" optionLabel=\"title\"\n optionValue=\"key\" display=\"chip\" appendTo=\"body\" [placeholder]=\"'Admin.Onboarding.Placeholder.DependsOn' | transloco\">\n </p-multiselect>\n </pw-input-container>\n </div>\n <div class=\"row pw-onboarding-step-form__toggles\">\n <div class=\"col-12 d-flex align-items-center gap-2\">\n <ui-switch size=\"small\" formControlName=\"activation\" id=\"onboarding-step-activation\"></ui-switch>\n <label for=\"onboarding-step-activation\" class=\"mb-0\">\n {{ 'Admin.Onboarding.Form.Activation' | transloco }}\n <span class=\"info-circle tooltip-wrap ms-1\" [pTooltip]=\"'Admin.Onboarding.Tooltip.Activation' | transloco\"\n tooltipPosition=\"top\" appendTo=\"body\"></span>\n </label>\n </div>\n <div class=\"col-12 d-flex align-items-center gap-2\">\n <ui-switch size=\"small\" formControlName=\"admin_only\" id=\"onboarding-step-admin-only\"></ui-switch>\n <label for=\"onboarding-step-admin-only\" class=\"mb-0\">{{ 'Admin.Onboarding.Form.AdminOnly' | transloco }}</label>\n </div>\n <div class=\"col-12 d-flex align-items-center gap-2\">\n <ui-switch size=\"small\" formControlName=\"enabled\" id=\"onboarding-step-enabled\"></ui-switch>\n <label for=\"onboarding-step-enabled\" class=\"mb-0\">{{ 'Admin.Onboarding.Form.Enabled' | transloco }}</label>\n </div>\n </div>\n @if (submitted && form.errors?.['systemNeedsCheck']) {\n <p class=\"text-danger mt-2 mb-0\" role=\"alert\">{{ 'Admin.Onboarding.Error.SystemNeedsCheck' | transloco }}</p>\n }\n\n <h3>{{ 'Admin.Onboarding.Form.Section.Where' | transloco }}</h3>\n <div class=\"row\">\n <pw-input-container class=\"col-12 col-md-6\" [label]=\"'Admin.Onboarding.Form.Route' | transloco\" name=\"route\"\n controlId=\"onboarding-step-route\" [showTooltip]=\"true\" [tooltipText]=\"'Admin.Onboarding.Tooltip.Route' | transloco\">\n <input type=\"text\" id=\"onboarding-step-route\" class=\"form-control\" formControlName=\"route\"\n [placeholder]=\"'Admin.Onboarding.Placeholder.Route' | transloco\" />\n </pw-input-container>\n <pw-input-container class=\"col-12 col-md-6\" [label]=\"'Admin.Onboarding.Form.Faq' | transloco\" name=\"faq_slug\"\n controlId=\"onboarding-step-faq\">\n <p-select inputId=\"onboarding-step-faq\" formControlName=\"faq_slug\" [options]=\"faqs\" optionLabel=\"question\"\n optionValue=\"slug\" [filter]=\"true\" [showClear]=\"true\" appendTo=\"body\"\n [placeholder]=\"'Admin.Onboarding.Placeholder.Faq' | transloco\"></p-select>\n </pw-input-container>\n </div>\n </div>\n\n <div class=\"modal-footer\">\n <button type=\"button\" class=\"btn btn-outline-default\" (click)=\"modal.dismiss()\">{{ 'Button.Cancel' | transloco }}</button>\n <button type=\"submit\" class=\"btn btn-primary\">{{ 'Button.Save' | transloco }}</button>\n </div>\n</form>\n",
|
|
18154
|
+
template: "<div class=\"modal-header\">\n <h4 class=\"modal-title\" id=\"onboarding-step-form-title\">\n {{ (step ? 'Admin.Onboarding.Form.EditTitle' : 'Admin.Onboarding.Form.AddTitle') | transloco }}\n </h4>\n <button type=\"button\" class=\"btn-close float-end\" [attr.aria-label]=\"'Button.Cancel' | transloco\" (click)=\"modal.dismiss()\"></button>\n</div>\n\n<form [formGroup]=\"form\" (ngSubmit)=\"save()\" aria-labelledby=\"onboarding-step-form-title\">\n <div class=\"modal-body\">\n <h3>{{ 'Admin.Onboarding.Form.Section.Step' | transloco }}</h3>\n <div class=\"row\">\n <pw-input-container class=\"col-12 col-md-8\" [label]=\"'Admin.Onboarding.Form.Title' | transloco\" name=\"title\"\n controlId=\"onboarding-step-title\" [required]=\"true\" errorMsg=\"Admin.Onboarding.Error.Title\">\n <input type=\"text\" id=\"onboarding-step-title\" class=\"form-control\" formControlName=\"title\" maxlength=\"120\"\n [ngClass]=\"{ 'is-invalid': submitted && form.controls.title.invalid }\"\n [placeholder]=\"'Admin.Onboarding.Placeholder.Title' | transloco\"\n [attr.aria-label]=\"'Admin.Onboarding.Form.Title' | transloco\" />\n </pw-input-container>\n <pw-input-container class=\"col-12 col-md-4\" [label]=\"'Admin.Onboarding.Form.Kind' | transloco\" name=\"kind\"\n controlId=\"onboarding-step-kind\">\n <p-select inputId=\"onboarding-step-kind\" formControlName=\"kind\" [options]=\"kinds\" appendTo=\"body\"\n [placeholder]=\"'Admin.Onboarding.Placeholder.Kind' | transloco\">\n <ng-template #selectedItem let-kind>{{ 'Admin.Onboarding.Kind.' + kind | transloco }}</ng-template>\n <ng-template #item let-kind>{{ 'Admin.Onboarding.Kind.' + kind | transloco }}</ng-template>\n </p-select>\n </pw-input-container>\n <pw-input-container class=\"col-12\" [label]=\"'Admin.Onboarding.Form.Description' | transloco\" name=\"description\"\n controlId=\"onboarding-step-description\">\n <textarea id=\"onboarding-step-description\" class=\"form-control\" rows=\"2\" maxlength=\"500\" formControlName=\"description\"\n [placeholder]=\"'Admin.Onboarding.Placeholder.Description' | transloco\"\n [attr.aria-label]=\"'Admin.Onboarding.Form.Description' | transloco\"></textarea>\n </pw-input-container>\n </div>\n\n <h3>{{ 'Admin.Onboarding.Form.Section.Completion' | transloco }}</h3>\n <div class=\"row\">\n <pw-input-container class=\"col-12 col-md-6\" [label]=\"'Admin.Onboarding.Form.Check' | transloco\" name=\"check_key\"\n controlId=\"onboarding-step-check\" [showTooltip]=\"true\" [tooltipText]=\"'Admin.Onboarding.Tooltip.Check' | transloco\">\n <p-select inputId=\"onboarding-step-check\" formControlName=\"check_key\" [options]=\"checkOptions\" optionValue=\"check_key\"\n appendTo=\"body\" [placeholder]=\"'Admin.Onboarding.Placeholder.Check' | transloco\">\n <ng-template #selectedItem let-check>{{ check?.title ?? ('Admin.Onboarding.Manual' | transloco) }}</ng-template>\n <ng-template #item let-check>{{ check.title ?? ('Admin.Onboarding.Manual' | transloco) }}</ng-template>\n </p-select>\n </pw-input-container>\n <pw-input-container class=\"col-12 col-md-6\" [label]=\"'Admin.Onboarding.Form.Plans' | transloco\" name=\"feature_keys\"\n controlId=\"onboarding-step-plans\" [showTooltip]=\"true\" [tooltipText]=\"'Admin.Onboarding.Tooltip.Plans' | transloco\">\n <p-multiselect inputId=\"onboarding-step-plans\" formControlName=\"feature_keys\" [options]=\"plans\" optionLabel=\"name\"\n optionValue=\"feature_key\" display=\"chip\" appendTo=\"body\" [placeholder]=\"'Admin.Onboarding.Placeholder.Plans' | transloco\">\n </p-multiselect>\n </pw-input-container>\n <pw-input-container class=\"col-12 col-md-6\" [label]=\"'Admin.Onboarding.Form.DependsOn' | transloco\" name=\"depends_on\"\n controlId=\"onboarding-step-depends\">\n <p-multiselect inputId=\"onboarding-step-depends\" formControlName=\"depends_on\" [options]=\"otherSteps\" optionLabel=\"title\"\n optionValue=\"key\" display=\"chip\" appendTo=\"body\" [placeholder]=\"'Admin.Onboarding.Placeholder.DependsOn' | transloco\">\n </p-multiselect>\n </pw-input-container>\n </div>\n <div class=\"row pw-onboarding-step-form__toggles\">\n <div class=\"col-12 d-flex align-items-center gap-2\">\n <ui-switch size=\"small\" formControlName=\"activation\" id=\"onboarding-step-activation\"></ui-switch>\n <label for=\"onboarding-step-activation\" class=\"mb-0\">\n {{ 'Admin.Onboarding.Form.Activation' | transloco }}\n <span class=\"info-circle tooltip-wrap ms-1\" [pTooltip]=\"'Admin.Onboarding.Tooltip.Activation' | transloco\"\n tooltipPosition=\"top\" appendTo=\"body\"></span>\n </label>\n </div>\n <div class=\"col-12 d-flex align-items-center gap-2\">\n <ui-switch size=\"small\" formControlName=\"admin_only\" id=\"onboarding-step-admin-only\"></ui-switch>\n <label for=\"onboarding-step-admin-only\" class=\"mb-0\">{{ 'Admin.Onboarding.Form.AdminOnly' | transloco }}</label>\n </div>\n <div class=\"col-12 d-flex align-items-center gap-2\">\n <ui-switch size=\"small\" formControlName=\"enabled\" id=\"onboarding-step-enabled\"></ui-switch>\n <label for=\"onboarding-step-enabled\" class=\"mb-0\">{{ 'Admin.Onboarding.Form.Enabled' | transloco }}</label>\n </div>\n </div>\n @if (submitted && form.errors?.['systemNeedsCheck']) {\n <p class=\"text-danger mt-2 mb-0\" role=\"alert\">{{ 'Admin.Onboarding.Error.SystemNeedsCheck' | transloco }}</p>\n }\n\n <h3>{{ 'Admin.Onboarding.Form.Section.Where' | transloco }}</h3>\n <div class=\"row\">\n <pw-input-container class=\"col-12 col-md-6\" [label]=\"'Admin.Onboarding.Form.Route' | transloco\" name=\"route\"\n controlId=\"onboarding-step-route\" [showTooltip]=\"true\" [tooltipText]=\"'Admin.Onboarding.Tooltip.Route' | transloco\">\n <input type=\"text\" id=\"onboarding-step-route\" class=\"form-control\" formControlName=\"route\"\n [placeholder]=\"'Admin.Onboarding.Placeholder.Route' | transloco\"\n [attr.aria-label]=\"'Admin.Onboarding.Form.Route' | transloco\" />\n </pw-input-container>\n <pw-input-container class=\"col-12 col-md-6\" [label]=\"'Admin.Onboarding.Form.Faq' | transloco\" name=\"faq_slug\"\n controlId=\"onboarding-step-faq\">\n <p-select inputId=\"onboarding-step-faq\" formControlName=\"faq_slug\" [options]=\"faqs\" optionLabel=\"question\"\n optionValue=\"slug\" [filter]=\"true\" [showClear]=\"true\" appendTo=\"body\"\n [placeholder]=\"'Admin.Onboarding.Placeholder.Faq' | transloco\"></p-select>\n </pw-input-container>\n </div>\n </div>\n\n <div class=\"modal-footer\">\n <button type=\"button\" class=\"btn btn-outline-default\" (click)=\"modal.dismiss()\">{{ 'Button.Cancel' | transloco }}</button>\n <button type=\"submit\" class=\"btn btn-primary\">{{ 'Button.Save' | transloco }}</button>\n </div>\n</form>\n",
|
|
18077
18155
|
styles: [":host form h3{display:block;border-top:1px solid #e2e5ea;margin-top:1.5rem;padding-top:1rem}:host form .modal-body>h3:first-child{border-top:0;margin-top:0;padding-top:0}.pw-onboarding-step-form__toggles{row-gap:10px}.pw-onboarding-step-form__toggles .info-circle{margin-right:20px}\n"],
|
|
18078
18156
|
dependencies: [
|
|
18079
18157
|
{
|
|
@@ -18106,7 +18184,7 @@ var OnboardingStepFormComponent = class OnboardingStepFormComponent {
|
|
|
18106
18184
|
},
|
|
18107
18185
|
{
|
|
18108
18186
|
kind: "component",
|
|
18109
|
-
type: i2$
|
|
18187
|
+
type: i2$2.Select,
|
|
18110
18188
|
selector: "p-select",
|
|
18111
18189
|
inputs: [
|
|
18112
18190
|
"id",
|
|
@@ -18361,6 +18439,11 @@ var OnboardingStepFormComponent = class OnboardingStepFormComponent {
|
|
|
18361
18439
|
],
|
|
18362
18440
|
outputs: ["ngModelChange"]
|
|
18363
18441
|
},
|
|
18442
|
+
{
|
|
18443
|
+
kind: "directive",
|
|
18444
|
+
type: i9.TrackDirtyFormDirective,
|
|
18445
|
+
selector: "[formGroup]:not([formGroupSkipDirty])"
|
|
18446
|
+
},
|
|
18364
18447
|
{
|
|
18365
18448
|
kind: "pipe",
|
|
18366
18449
|
type: i8$2.TranslocoPipe,
|
|
@@ -18380,7 +18463,7 @@ i0.ɵɵngDeclareClassMetadata({
|
|
|
18380
18463
|
args: [{
|
|
18381
18464
|
selector: "pw-onboarding-step-form",
|
|
18382
18465
|
standalone: false,
|
|
18383
|
-
template: "<div class=\"modal-header\">\n <h4 class=\"modal-title\" id=\"onboarding-step-form-title\">\n {{ (step ? 'Admin.Onboarding.Form.EditTitle' : 'Admin.Onboarding.Form.AddTitle') | transloco }}\n </h4>\n <button type=\"button\" class=\"btn-close float-end\" [attr.aria-label]=\"'Button.Cancel' | transloco\" (click)=\"modal.dismiss()\"></button>\n</div>\n\n<form [formGroup]=\"form\" (ngSubmit)=\"save()\" aria-labelledby=\"onboarding-step-form-title\">\n <div class=\"modal-body\">\n <h3>{{ 'Admin.Onboarding.Form.Section.Step' | transloco }}</h3>\n <div class=\"row\">\n <pw-input-container class=\"col-12 col-md-8\" [label]=\"'Admin.Onboarding.Form.Title' | transloco\" name=\"title\"\n controlId=\"onboarding-step-title\" [required]=\"true\" errorMsg=\"Admin.Onboarding.Error.Title\">\n <input type=\"text\" id=\"onboarding-step-title\" class=\"form-control\" formControlName=\"title\" maxlength=\"120\"\n [ngClass]=\"{ 'is-invalid': submitted && form.controls.title.invalid }\"\n [placeholder]=\"'Admin.Onboarding.Placeholder.Title' | transloco\" />\n </pw-input-container>\n <pw-input-container class=\"col-12 col-md-4\" [label]=\"'Admin.Onboarding.Form.Kind' | transloco\" name=\"kind\"\n controlId=\"onboarding-step-kind\">\n <p-select inputId=\"onboarding-step-kind\" formControlName=\"kind\" [options]=\"kinds\" appendTo=\"body\"\n [placeholder]=\"'Admin.Onboarding.Placeholder.Kind' | transloco\">\n <ng-template #selectedItem let-kind>{{ 'Admin.Onboarding.Kind.' + kind | transloco }}</ng-template>\n <ng-template #item let-kind>{{ 'Admin.Onboarding.Kind.' + kind | transloco }}</ng-template>\n </p-select>\n </pw-input-container>\n <pw-input-container class=\"col-12\" [label]=\"'Admin.Onboarding.Form.Description' | transloco\" name=\"description\"\n controlId=\"onboarding-step-description\">\n <textarea id=\"onboarding-step-description\" class=\"form-control\" rows=\"2\" maxlength=\"500\" formControlName=\"description\"\n [placeholder]=\"'Admin.Onboarding.Placeholder.Description' | transloco\"></textarea>\n </pw-input-container>\n </div>\n\n <h3>{{ 'Admin.Onboarding.Form.Section.Completion' | transloco }}</h3>\n <div class=\"row\">\n <pw-input-container class=\"col-12 col-md-6\" [label]=\"'Admin.Onboarding.Form.Check' | transloco\" name=\"check_key\"\n controlId=\"onboarding-step-check\" [showTooltip]=\"true\" [tooltipText]=\"'Admin.Onboarding.Tooltip.Check' | transloco\">\n <p-select inputId=\"onboarding-step-check\" formControlName=\"check_key\" [options]=\"checkOptions\" optionValue=\"check_key\"\n appendTo=\"body\" [placeholder]=\"'Admin.Onboarding.Placeholder.Check' | transloco\">\n <ng-template #selectedItem let-check>{{ check?.title ?? ('Admin.Onboarding.Manual' | transloco) }}</ng-template>\n <ng-template #item let-check>{{ check.title ?? ('Admin.Onboarding.Manual' | transloco) }}</ng-template>\n </p-select>\n </pw-input-container>\n <pw-input-container class=\"col-12 col-md-6\" [label]=\"'Admin.Onboarding.Form.Plans' | transloco\" name=\"feature_keys\"\n controlId=\"onboarding-step-plans\" [showTooltip]=\"true\" [tooltipText]=\"'Admin.Onboarding.Tooltip.Plans' | transloco\">\n <p-multiselect inputId=\"onboarding-step-plans\" formControlName=\"feature_keys\" [options]=\"plans\" optionLabel=\"name\"\n optionValue=\"feature_key\" display=\"chip\" appendTo=\"body\" [placeholder]=\"'Admin.Onboarding.Placeholder.Plans' | transloco\">\n </p-multiselect>\n </pw-input-container>\n <pw-input-container class=\"col-12 col-md-6\" [label]=\"'Admin.Onboarding.Form.DependsOn' | transloco\" name=\"depends_on\"\n controlId=\"onboarding-step-depends\">\n <p-multiselect inputId=\"onboarding-step-depends\" formControlName=\"depends_on\" [options]=\"otherSteps\" optionLabel=\"title\"\n optionValue=\"key\" display=\"chip\" appendTo=\"body\" [placeholder]=\"'Admin.Onboarding.Placeholder.DependsOn' | transloco\">\n </p-multiselect>\n </pw-input-container>\n </div>\n <div class=\"row pw-onboarding-step-form__toggles\">\n <div class=\"col-12 d-flex align-items-center gap-2\">\n <ui-switch size=\"small\" formControlName=\"activation\" id=\"onboarding-step-activation\"></ui-switch>\n <label for=\"onboarding-step-activation\" class=\"mb-0\">\n {{ 'Admin.Onboarding.Form.Activation' | transloco }}\n <span class=\"info-circle tooltip-wrap ms-1\" [pTooltip]=\"'Admin.Onboarding.Tooltip.Activation' | transloco\"\n tooltipPosition=\"top\" appendTo=\"body\"></span>\n </label>\n </div>\n <div class=\"col-12 d-flex align-items-center gap-2\">\n <ui-switch size=\"small\" formControlName=\"admin_only\" id=\"onboarding-step-admin-only\"></ui-switch>\n <label for=\"onboarding-step-admin-only\" class=\"mb-0\">{{ 'Admin.Onboarding.Form.AdminOnly' | transloco }}</label>\n </div>\n <div class=\"col-12 d-flex align-items-center gap-2\">\n <ui-switch size=\"small\" formControlName=\"enabled\" id=\"onboarding-step-enabled\"></ui-switch>\n <label for=\"onboarding-step-enabled\" class=\"mb-0\">{{ 'Admin.Onboarding.Form.Enabled' | transloco }}</label>\n </div>\n </div>\n @if (submitted && form.errors?.['systemNeedsCheck']) {\n <p class=\"text-danger mt-2 mb-0\" role=\"alert\">{{ 'Admin.Onboarding.Error.SystemNeedsCheck' | transloco }}</p>\n }\n\n <h3>{{ 'Admin.Onboarding.Form.Section.Where' | transloco }}</h3>\n <div class=\"row\">\n <pw-input-container class=\"col-12 col-md-6\" [label]=\"'Admin.Onboarding.Form.Route' | transloco\" name=\"route\"\n controlId=\"onboarding-step-route\" [showTooltip]=\"true\" [tooltipText]=\"'Admin.Onboarding.Tooltip.Route' | transloco\">\n <input type=\"text\" id=\"onboarding-step-route\" class=\"form-control\" formControlName=\"route\"\n [placeholder]=\"'Admin.Onboarding.Placeholder.Route' | transloco\" />\n </pw-input-container>\n <pw-input-container class=\"col-12 col-md-6\" [label]=\"'Admin.Onboarding.Form.Faq' | transloco\" name=\"faq_slug\"\n controlId=\"onboarding-step-faq\">\n <p-select inputId=\"onboarding-step-faq\" formControlName=\"faq_slug\" [options]=\"faqs\" optionLabel=\"question\"\n optionValue=\"slug\" [filter]=\"true\" [showClear]=\"true\" appendTo=\"body\"\n [placeholder]=\"'Admin.Onboarding.Placeholder.Faq' | transloco\"></p-select>\n </pw-input-container>\n </div>\n </div>\n\n <div class=\"modal-footer\">\n <button type=\"button\" class=\"btn btn-outline-default\" (click)=\"modal.dismiss()\">{{ 'Button.Cancel' | transloco }}</button>\n <button type=\"submit\" class=\"btn btn-primary\">{{ 'Button.Save' | transloco }}</button>\n </div>\n</form>\n",
|
|
18466
|
+
template: "<div class=\"modal-header\">\n <h4 class=\"modal-title\" id=\"onboarding-step-form-title\">\n {{ (step ? 'Admin.Onboarding.Form.EditTitle' : 'Admin.Onboarding.Form.AddTitle') | transloco }}\n </h4>\n <button type=\"button\" class=\"btn-close float-end\" [attr.aria-label]=\"'Button.Cancel' | transloco\" (click)=\"modal.dismiss()\"></button>\n</div>\n\n<form [formGroup]=\"form\" (ngSubmit)=\"save()\" aria-labelledby=\"onboarding-step-form-title\">\n <div class=\"modal-body\">\n <h3>{{ 'Admin.Onboarding.Form.Section.Step' | transloco }}</h3>\n <div class=\"row\">\n <pw-input-container class=\"col-12 col-md-8\" [label]=\"'Admin.Onboarding.Form.Title' | transloco\" name=\"title\"\n controlId=\"onboarding-step-title\" [required]=\"true\" errorMsg=\"Admin.Onboarding.Error.Title\">\n <input type=\"text\" id=\"onboarding-step-title\" class=\"form-control\" formControlName=\"title\" maxlength=\"120\"\n [ngClass]=\"{ 'is-invalid': submitted && form.controls.title.invalid }\"\n [placeholder]=\"'Admin.Onboarding.Placeholder.Title' | transloco\"\n [attr.aria-label]=\"'Admin.Onboarding.Form.Title' | transloco\" />\n </pw-input-container>\n <pw-input-container class=\"col-12 col-md-4\" [label]=\"'Admin.Onboarding.Form.Kind' | transloco\" name=\"kind\"\n controlId=\"onboarding-step-kind\">\n <p-select inputId=\"onboarding-step-kind\" formControlName=\"kind\" [options]=\"kinds\" appendTo=\"body\"\n [placeholder]=\"'Admin.Onboarding.Placeholder.Kind' | transloco\">\n <ng-template #selectedItem let-kind>{{ 'Admin.Onboarding.Kind.' + kind | transloco }}</ng-template>\n <ng-template #item let-kind>{{ 'Admin.Onboarding.Kind.' + kind | transloco }}</ng-template>\n </p-select>\n </pw-input-container>\n <pw-input-container class=\"col-12\" [label]=\"'Admin.Onboarding.Form.Description' | transloco\" name=\"description\"\n controlId=\"onboarding-step-description\">\n <textarea id=\"onboarding-step-description\" class=\"form-control\" rows=\"2\" maxlength=\"500\" formControlName=\"description\"\n [placeholder]=\"'Admin.Onboarding.Placeholder.Description' | transloco\"\n [attr.aria-label]=\"'Admin.Onboarding.Form.Description' | transloco\"></textarea>\n </pw-input-container>\n </div>\n\n <h3>{{ 'Admin.Onboarding.Form.Section.Completion' | transloco }}</h3>\n <div class=\"row\">\n <pw-input-container class=\"col-12 col-md-6\" [label]=\"'Admin.Onboarding.Form.Check' | transloco\" name=\"check_key\"\n controlId=\"onboarding-step-check\" [showTooltip]=\"true\" [tooltipText]=\"'Admin.Onboarding.Tooltip.Check' | transloco\">\n <p-select inputId=\"onboarding-step-check\" formControlName=\"check_key\" [options]=\"checkOptions\" optionValue=\"check_key\"\n appendTo=\"body\" [placeholder]=\"'Admin.Onboarding.Placeholder.Check' | transloco\">\n <ng-template #selectedItem let-check>{{ check?.title ?? ('Admin.Onboarding.Manual' | transloco) }}</ng-template>\n <ng-template #item let-check>{{ check.title ?? ('Admin.Onboarding.Manual' | transloco) }}</ng-template>\n </p-select>\n </pw-input-container>\n <pw-input-container class=\"col-12 col-md-6\" [label]=\"'Admin.Onboarding.Form.Plans' | transloco\" name=\"feature_keys\"\n controlId=\"onboarding-step-plans\" [showTooltip]=\"true\" [tooltipText]=\"'Admin.Onboarding.Tooltip.Plans' | transloco\">\n <p-multiselect inputId=\"onboarding-step-plans\" formControlName=\"feature_keys\" [options]=\"plans\" optionLabel=\"name\"\n optionValue=\"feature_key\" display=\"chip\" appendTo=\"body\" [placeholder]=\"'Admin.Onboarding.Placeholder.Plans' | transloco\">\n </p-multiselect>\n </pw-input-container>\n <pw-input-container class=\"col-12 col-md-6\" [label]=\"'Admin.Onboarding.Form.DependsOn' | transloco\" name=\"depends_on\"\n controlId=\"onboarding-step-depends\">\n <p-multiselect inputId=\"onboarding-step-depends\" formControlName=\"depends_on\" [options]=\"otherSteps\" optionLabel=\"title\"\n optionValue=\"key\" display=\"chip\" appendTo=\"body\" [placeholder]=\"'Admin.Onboarding.Placeholder.DependsOn' | transloco\">\n </p-multiselect>\n </pw-input-container>\n </div>\n <div class=\"row pw-onboarding-step-form__toggles\">\n <div class=\"col-12 d-flex align-items-center gap-2\">\n <ui-switch size=\"small\" formControlName=\"activation\" id=\"onboarding-step-activation\"></ui-switch>\n <label for=\"onboarding-step-activation\" class=\"mb-0\">\n {{ 'Admin.Onboarding.Form.Activation' | transloco }}\n <span class=\"info-circle tooltip-wrap ms-1\" [pTooltip]=\"'Admin.Onboarding.Tooltip.Activation' | transloco\"\n tooltipPosition=\"top\" appendTo=\"body\"></span>\n </label>\n </div>\n <div class=\"col-12 d-flex align-items-center gap-2\">\n <ui-switch size=\"small\" formControlName=\"admin_only\" id=\"onboarding-step-admin-only\"></ui-switch>\n <label for=\"onboarding-step-admin-only\" class=\"mb-0\">{{ 'Admin.Onboarding.Form.AdminOnly' | transloco }}</label>\n </div>\n <div class=\"col-12 d-flex align-items-center gap-2\">\n <ui-switch size=\"small\" formControlName=\"enabled\" id=\"onboarding-step-enabled\"></ui-switch>\n <label for=\"onboarding-step-enabled\" class=\"mb-0\">{{ 'Admin.Onboarding.Form.Enabled' | transloco }}</label>\n </div>\n </div>\n @if (submitted && form.errors?.['systemNeedsCheck']) {\n <p class=\"text-danger mt-2 mb-0\" role=\"alert\">{{ 'Admin.Onboarding.Error.SystemNeedsCheck' | transloco }}</p>\n }\n\n <h3>{{ 'Admin.Onboarding.Form.Section.Where' | transloco }}</h3>\n <div class=\"row\">\n <pw-input-container class=\"col-12 col-md-6\" [label]=\"'Admin.Onboarding.Form.Route' | transloco\" name=\"route\"\n controlId=\"onboarding-step-route\" [showTooltip]=\"true\" [tooltipText]=\"'Admin.Onboarding.Tooltip.Route' | transloco\">\n <input type=\"text\" id=\"onboarding-step-route\" class=\"form-control\" formControlName=\"route\"\n [placeholder]=\"'Admin.Onboarding.Placeholder.Route' | transloco\"\n [attr.aria-label]=\"'Admin.Onboarding.Form.Route' | transloco\" />\n </pw-input-container>\n <pw-input-container class=\"col-12 col-md-6\" [label]=\"'Admin.Onboarding.Form.Faq' | transloco\" name=\"faq_slug\"\n controlId=\"onboarding-step-faq\">\n <p-select inputId=\"onboarding-step-faq\" formControlName=\"faq_slug\" [options]=\"faqs\" optionLabel=\"question\"\n optionValue=\"slug\" [filter]=\"true\" [showClear]=\"true\" appendTo=\"body\"\n [placeholder]=\"'Admin.Onboarding.Placeholder.Faq' | transloco\"></p-select>\n </pw-input-container>\n </div>\n </div>\n\n <div class=\"modal-footer\">\n <button type=\"button\" class=\"btn btn-outline-default\" (click)=\"modal.dismiss()\">{{ 'Button.Cancel' | transloco }}</button>\n <button type=\"submit\" class=\"btn btn-primary\">{{ 'Button.Save' | transloco }}</button>\n </div>\n</form>\n",
|
|
18384
18467
|
styles: [":host form h3{display:block;border-top:1px solid #e2e5ea;margin-top:1.5rem;padding-top:1rem}:host form .modal-body>h3:first-child{border-top:0;margin-top:0;padding-top:0}.pw-onboarding-step-form__toggles{row-gap:10px}.pw-onboarding-step-form__toggles .info-circle{margin-right:20px}\n"]
|
|
18385
18468
|
}]
|
|
18386
18469
|
}]
|
|
@@ -18410,6 +18493,16 @@ function loadFaqs(commonService, subscriptionId) {
|
|
|
18410
18493
|
};
|
|
18411
18494
|
return commonService.getFaq(params).pipe(map((response) => response?.faqs ?? []), catchError(() => of([])));
|
|
18412
18495
|
}
|
|
18496
|
+
function labelledFamilies(families, sources) {
|
|
18497
|
+
const labelOf = (key) => sources?.find((source) => source.permissionKey === key)?.label;
|
|
18498
|
+
return families.map((family) => ({
|
|
18499
|
+
...family,
|
|
18500
|
+
label: labelOf(family.permission_key) ?? ""
|
|
18501
|
+
})).filter((family) => !!family.label);
|
|
18502
|
+
}
|
|
18503
|
+
function stepsIn(response) {
|
|
18504
|
+
return response?.onboarding_steps;
|
|
18505
|
+
}
|
|
18413
18506
|
var OnboardingStepsComponent = class OnboardingStepsComponent extends AppBaseComponent {
|
|
18414
18507
|
constructor(injector, onboarding, commonService, confirmDialog, modal, cdr, sources) {
|
|
18415
18508
|
super(injector);
|
|
@@ -18436,19 +18529,16 @@ var OnboardingStepsComponent = class OnboardingStepsComponent extends AppBaseCom
|
|
|
18436
18529
|
return PermissionService.selectedSubscription?.id;
|
|
18437
18530
|
}
|
|
18438
18531
|
ngOnInit() {
|
|
18439
|
-
this.onboarding.getFamilies(this.subscriptionId).pipe(finalize(() => this.
|
|
18532
|
+
this.onboarding.getFamilies(this.subscriptionId).pipe(finalize(() => this.cdr.markForCheck())).subscribe({
|
|
18440
18533
|
next: ({ families }) => {
|
|
18441
|
-
this.families = families.
|
|
18442
|
-
...family,
|
|
18443
|
-
label: this.source(family.permission_key)?.label ?? ""
|
|
18444
|
-
})).filter((family) => !!family.label);
|
|
18534
|
+
this.families = labelledFamilies(families, this.sources);
|
|
18445
18535
|
this.selectFamily(this.families[0]?.permission_key ?? null);
|
|
18446
18536
|
},
|
|
18447
18537
|
error: () => this.loadFailed = true
|
|
18448
18538
|
});
|
|
18449
18539
|
}
|
|
18450
18540
|
get plans() {
|
|
18451
|
-
return this.families.find((
|
|
18541
|
+
return this.families.find((item) => item.permission_key === this.permissionKey)?.plans ?? [];
|
|
18452
18542
|
}
|
|
18453
18543
|
get visibleSteps() {
|
|
18454
18544
|
return stepsForPlan(this.steps, this.planFilter);
|
|
@@ -18466,7 +18556,7 @@ var OnboardingStepsComponent = class OnboardingStepsComponent extends AppBaseCom
|
|
|
18466
18556
|
steps: this.onboarding.getSteps(this.subscriptionId, permissionKey),
|
|
18467
18557
|
catalogue: this.source(permissionKey).load(),
|
|
18468
18558
|
faqs: loadFaqs(this.commonService, this.subscriptionId)
|
|
18469
|
-
}).pipe(finalize(() =>
|
|
18559
|
+
}).pipe(finalize(() => this.settle("loading"))).subscribe({
|
|
18470
18560
|
next: ({ steps, catalogue, faqs }) => {
|
|
18471
18561
|
this.steps = steps.onboarding_steps;
|
|
18472
18562
|
this.catalogue = catalogue;
|
|
@@ -18516,15 +18606,17 @@ var OnboardingStepsComponent = class OnboardingStepsComponent extends AppBaseCom
|
|
|
18516
18606
|
}
|
|
18517
18607
|
run(request) {
|
|
18518
18608
|
this.busy = true;
|
|
18519
|
-
request.pipe(finalize(() =>
|
|
18520
|
-
const steps = response
|
|
18521
|
-
|
|
18522
|
-
|
|
18609
|
+
request.pipe(finalize(() => this.settle("busy"))).subscribe((response) => {
|
|
18610
|
+
const steps = stepsIn(response);
|
|
18611
|
+
if (steps) this.steps = steps;
|
|
18612
|
+
else this.selectFamily(this.permissionKey);
|
|
18613
|
+
});
|
|
18523
18614
|
}
|
|
18524
18615
|
source(permissionKey) {
|
|
18525
18616
|
return (this.sources ?? []).find((source) => source.permissionKey === permissionKey);
|
|
18526
18617
|
}
|
|
18527
|
-
|
|
18618
|
+
settle(flag) {
|
|
18619
|
+
this[flag] = false;
|
|
18528
18620
|
this.cdr.markForCheck();
|
|
18529
18621
|
}
|
|
18530
18622
|
static {
|
|
@@ -18536,7 +18628,7 @@ var OnboardingStepsComponent = class OnboardingStepsComponent extends AppBaseCom
|
|
|
18536
18628
|
deps: [
|
|
18537
18629
|
{ token: i0.Injector },
|
|
18538
18630
|
{ token: i1$1.OnboardingAdminService },
|
|
18539
|
-
{ token: i2$
|
|
18631
|
+
{ token: i2$1.CommonService },
|
|
18540
18632
|
{ token: i6$2.ConfirmDialogService },
|
|
18541
18633
|
{ token: i3$2.NgbModal },
|
|
18542
18634
|
{ token: i0.ChangeDetectorRef },
|
|
@@ -18557,12 +18649,12 @@ var OnboardingStepsComponent = class OnboardingStepsComponent extends AppBaseCom
|
|
|
18557
18649
|
selector: "pw-onboarding-steps",
|
|
18558
18650
|
usesInheritance: true,
|
|
18559
18651
|
ngImport: i0,
|
|
18560
|
-
template: "<div class=\"row\">\n <div class=\"col-12 d-flex flex-wrap justify-content-between align-items-baseline gap-2\">\n <h2 class=\"card-title p-0\">{{ 'Admin.Onboarding.Title' | transloco }}</h2>\n @if (!loading && !loadFailed && permissionKey && steps.length) {\n <button type=\"button\" class=\"btn btn-sm btn-outline-primary\" [disabled]=\"busy\" (click)=\"edit(null)\">\n <i class=\"fa fa-plus-circle\" aria-hidden=\"true\"></i> {{ 'Admin.Onboarding.Button.AddStep' | transloco }}\n </button>\n }\n </div>\n</div>\n<p class=\"pw-onboarding-admin__intro\">{{ 'Admin.Onboarding.Intro' | transloco }}</p>\n\n<pw-loader [isVisible]=\"loading\"></pw-loader>\n\n@if (!loading) {\n @if (loadFailed) {\n <pw-no-data [withImage]=\"true\" [message]=\"'Admin.Onboarding.LoadFailed' | transloco\"></pw-no-data>\n } @else if (!families.length) {\n <pw-no-data [withImage]=\"true\" [message]=\"'Admin.Onboarding.NoFamilies' | transloco\"></pw-no-data>\n } @else {\n <div class=\"row pw-onboarding-admin__filters\">\n @if (families.length > 1) {\n <pw-input-container class=\"col-12 col-sm-6 col-lg-4\" [label]=\"'Admin.Onboarding.Family' | transloco\"\n controlId=\"onboarding-family\">\n <p-select inputId=\"onboarding-family\" [options]=\"families\" optionLabel=\"label\" optionValue=\"permission_key\"\n [ngModel]=\"permissionKey\" (ngModelChange)=\"selectFamily($event)\" appendTo=\"body\"\n [placeholder]=\"'Admin.Onboarding.Placeholder.Family' | transloco\"></p-select>\n </pw-input-container>\n }\n @if (steps.length) {\n <div class=\"col-12 col-sm-6 col-lg-4 align-self-end mb-3\">\n <p-select inputId=\"onboarding-plan-filter\" [options]=\"plans\" optionLabel=\"name\" optionValue=\"feature_key\"\n [(ngModel)]=\"planFilter\" [showClear]=\"true\" appendTo=\"body\"\n [ariaLabel]=\"'Admin.Onboarding.Filter.Product' | transloco\"\n [placeholder]=\"'Admin.Onboarding.Placeholder.Product' | transloco\"></p-select>\n </div>\n }\n </div>\n\n @if (!steps.length) {\n <pw-no-data [withImage]=\"true\" [message]=\"'Admin.Onboarding.Empty.Message' | transloco\"\n [description]=\"'Admin.Onboarding.Empty.Description' | transloco\">\n <div #content class=\"d-flex flex-wrap justify-content-center gap-2\">\n @if (catalogue.recommended.length) {\n <button type=\"button\" class=\"btn btn-primary\" [buttonBusy]=\"busy\" (click)=\"install()\">\n {{ 'Admin.Onboarding.Button.Install' | transloco }}\n </button>\n }\n <button type=\"button\" class=\"btn btn-outline-primary\" [disabled]=\"busy\" (click)=\"edit(null)\">\n {{ 'Admin.Onboarding.Button.AddStep' | transloco }}\n </button>\n </div>\n </pw-no-data>\n } @else {\n <div class=\"primeng-datatable-container table-responsive mt-0 pw-onboarding-admin__table\">\n <p-table [value]=\"visibleSteps\" dataKey=\"id\">\n <ng-template #header>\n <tr>\n <th scope=\"col\" class=\"pw-onboarding-admin__order\">#</th>\n <th scope=\"col\">{{ 'Admin.Onboarding.Column.Step' | transloco }}</th>\n <th scope=\"col\">{{ 'Admin.Onboarding.Column.Type' | transloco }}</th>\n <th scope=\"col\">{{ 'Admin.Onboarding.Column.CompletedBy' | transloco }}</th>\n <th scope=\"col\">{{ 'Admin.Onboarding.Column.Plans' | transloco }}</th>\n <th scope=\"col\">{{ 'Admin.Onboarding.Column.Enabled' | transloco }}</th>\n <th scope=\"col\" class=\"actions-list-four\">{{ 'Label.Actions' | transloco }}</th>\n </tr>\n </ng-template>\n <ng-template #body let-step let-index=\"rowIndex\">\n <tr [class.pw-onboarding-admin__off]=\"!step.enabled\">\n <td data-head=\"#\" class=\"pw-onboarding-admin__order\">{{ index + 1 }}</td>\n <td [attr.data-head]=\"'Admin.Onboarding.Column.Step' | transloco\">\n <span class=\"pw-onboarding-admin__title\">{{ step.title }}</span>\n @if (step.description) {\n <span class=\"pw-onboarding-admin__muted\">{{ step.description }}</span>\n }\n </td>\n <td [attr.data-head]=\"'Admin.Onboarding.Column.Type' | transloco\">\n <span class=\"badge\" [class.bg-cyan]=\"step.kind === 'required'\" [class.bg-blue-grey]=\"step.kind === 'optional'\"\n [class.bg-warning]=\"step.kind === 'system'\">{{ 'Admin.Onboarding.Kind.' + step.kind | transloco }}</span>\n </td>\n <td [attr.data-head]=\"'Admin.Onboarding.Column.CompletedBy' | transloco\">{{ completedBy(step) ?? ('Admin.Onboarding.Manual' | transloco) }}</td>\n <td [attr.data-head]=\"'Admin.Onboarding.Column.Plans' | transloco\">{{ planNames(step) ?? ('Admin.Onboarding.AllPlans' | transloco) }}</td>\n <td [attr.data-head]=\"'Admin.Onboarding.Column.Enabled' | transloco\">\n <ui-switch size=\"small\" [checked]=\"step.enabled\" [disabled]=\"busy\" (change)=\"toggle(step, $event)\"\n [attr.aria-label]=\"('Admin.Onboarding.Form.Enabled' | transloco) + ': ' + step.title\"></ui-switch>\n </td>\n <td [attr.data-head]=\"'Label.Actions' | transloco\">\n <ul class=\"list-unstyled list-inline list-action mb-0\">\n <li class=\"me-2\" [class.invisible]=\"index === 0\" [pTooltip]=\"'Admin.Onboarding.Action.MoveUp' | transloco\"\n
|
|
18561
|
-
styles: [".pw-onboarding-admin__intro{max-width:720px;margin-bottom:16px}.pw-onboarding-admin__filters{margin-bottom:8px}.pw-onboarding-admin__order{width:40px;font-variant-numeric:tabular-nums}.pw-onboarding-admin__title,.pw-onboarding-admin__muted{display:block}.pw-onboarding-admin__muted{color:var(--text-muted, #6c757d)}.pw-onboarding-admin__off td:not(:last-child):not(:nth-last-child(2)){opacity:.55}.pw-onboarding-admin__table td{word-break:normal;overflow-wrap:break-word}\n"],
|
|
18652
|
+
template: "<div class=\"row\">\n <div class=\"col-12 d-flex flex-wrap justify-content-between align-items-baseline gap-2\">\n <h2 class=\"card-title p-0\">{{ 'Admin.Onboarding.Title' | transloco }}</h2>\n @if (!loading && !loadFailed && permissionKey && steps.length) {\n <button type=\"button\" class=\"btn btn-sm btn-outline-primary\" [disabled]=\"busy\" (click)=\"edit(null)\">\n <i class=\"fa fa-plus-circle\" aria-hidden=\"true\"></i> {{ 'Admin.Onboarding.Button.AddStep' | transloco }}\n </button>\n }\n </div>\n</div>\n<p class=\"pw-onboarding-admin__intro\">{{ 'Admin.Onboarding.Intro' | transloco }}</p>\n\n<pw-loader [isVisible]=\"loading\"></pw-loader>\n\n@if (!loading) {\n @if (loadFailed) {\n <pw-no-data [withImage]=\"true\" [message]=\"'Admin.Onboarding.LoadFailed' | transloco\"></pw-no-data>\n } @else if (!families.length) {\n <pw-no-data [withImage]=\"true\" [message]=\"'Admin.Onboarding.NoFamilies' | transloco\"></pw-no-data>\n } @else {\n <div class=\"row pw-onboarding-admin__filters\">\n @if (families.length > 1) {\n <pw-input-container class=\"col-12 col-sm-6 col-lg-4\" [label]=\"'Admin.Onboarding.Family' | transloco\"\n controlId=\"onboarding-family\">\n <p-select inputId=\"onboarding-family\" [options]=\"families\" optionLabel=\"label\" optionValue=\"permission_key\"\n [ngModel]=\"permissionKey\" (ngModelChange)=\"selectFamily($event)\" appendTo=\"body\"\n [placeholder]=\"'Admin.Onboarding.Placeholder.Family' | transloco\"></p-select>\n </pw-input-container>\n }\n @if (steps.length) {\n <div class=\"col-12 col-sm-6 col-lg-4 align-self-end mb-3\">\n <p-select inputId=\"onboarding-plan-filter\" [options]=\"plans\" optionLabel=\"name\" optionValue=\"feature_key\"\n [(ngModel)]=\"planFilter\" [showClear]=\"true\" appendTo=\"body\"\n [ariaLabel]=\"'Admin.Onboarding.Filter.Product' | transloco\"\n [placeholder]=\"'Admin.Onboarding.Placeholder.Product' | transloco\"></p-select>\n </div>\n }\n </div>\n\n @if (!steps.length) {\n <pw-no-data [withImage]=\"true\" [message]=\"'Admin.Onboarding.Empty.Message' | transloco\"\n [description]=\"'Admin.Onboarding.Empty.Description' | transloco\">\n <div #content class=\"d-flex flex-wrap justify-content-center gap-2\">\n @if (catalogue.recommended.length) {\n <button type=\"button\" class=\"btn btn-primary\" [buttonBusy]=\"busy\" (click)=\"install()\">\n {{ 'Admin.Onboarding.Button.Install' | transloco }}\n </button>\n }\n <button type=\"button\" class=\"btn btn-outline-primary\" [disabled]=\"busy\" (click)=\"edit(null)\">\n {{ 'Admin.Onboarding.Button.AddStep' | transloco }}\n </button>\n </div>\n </pw-no-data>\n } @else {\n <div class=\"primeng-datatable-container table-responsive mt-0 pw-onboarding-admin__table\">\n <p-table [value]=\"visibleSteps\" dataKey=\"id\">\n <ng-template #header>\n <tr>\n <th scope=\"col\" class=\"pw-onboarding-admin__order\">#</th>\n <th scope=\"col\">{{ 'Admin.Onboarding.Column.Step' | transloco }}</th>\n <th scope=\"col\">{{ 'Admin.Onboarding.Column.Type' | transloco }}</th>\n <th scope=\"col\">{{ 'Admin.Onboarding.Column.CompletedBy' | transloco }}</th>\n <th scope=\"col\">{{ 'Admin.Onboarding.Column.Plans' | transloco }}</th>\n <th scope=\"col\">{{ 'Admin.Onboarding.Column.Enabled' | transloco }}</th>\n <th scope=\"col\" class=\"actions-list-four\">{{ 'Label.Actions' | transloco }}</th>\n </tr>\n </ng-template>\n <ng-template #body let-step let-index=\"rowIndex\">\n <tr [class.pw-onboarding-admin__off]=\"!step.enabled\">\n <td data-head=\"#\" class=\"pw-onboarding-admin__order\">{{ index + 1 }}</td>\n <td [attr.data-head]=\"'Admin.Onboarding.Column.Step' | transloco\">\n <span class=\"pw-onboarding-admin__title\">{{ step.title }}</span>\n @if (step.description) {\n <span class=\"pw-onboarding-admin__muted\">{{ step.description }}</span>\n }\n </td>\n <td [attr.data-head]=\"'Admin.Onboarding.Column.Type' | transloco\">\n <span class=\"badge\" [class.bg-cyan]=\"step.kind === 'required'\" [class.bg-blue-grey]=\"step.kind === 'optional'\"\n [class.bg-warning]=\"step.kind === 'system'\">{{ 'Admin.Onboarding.Kind.' + step.kind | transloco }}</span>\n </td>\n <td [attr.data-head]=\"'Admin.Onboarding.Column.CompletedBy' | transloco\">{{ completedBy(step) ?? ('Admin.Onboarding.Manual' | transloco) }}</td>\n <td [attr.data-head]=\"'Admin.Onboarding.Column.Plans' | transloco\">{{ planNames(step) ?? ('Admin.Onboarding.AllPlans' | transloco) }}</td>\n <td [attr.data-head]=\"'Admin.Onboarding.Column.Enabled' | transloco\">\n <ui-switch size=\"small\" [checked]=\"step.enabled\" [disabled]=\"busy\" (change)=\"toggle(step, $event)\"\n [attr.aria-label]=\"('Admin.Onboarding.Form.Enabled' | transloco) + ': ' + step.title\"></ui-switch>\n </td>\n <td [attr.data-head]=\"'Label.Actions' | transloco\">\n <ul class=\"list-unstyled list-inline list-action mb-0\">\n <li class=\"me-2\" [class.invisible]=\"index === 0\">\n <button type=\"button\" class=\"pw-onboarding-admin__action\" [pTooltip]=\"'Admin.Onboarding.Action.MoveUp' | transloco\"\n tooltipPosition=\"top\" appendTo=\"body\" [attr.aria-label]=\"'Admin.Onboarding.Action.MoveUp' | transloco\"\n (click)=\"move(index, -1)\">\n <i class=\"fa fa-arrow-up\" aria-hidden=\"true\"></i>\n </button>\n </li>\n <li class=\"me-2\" [class.invisible]=\"index === visibleSteps.length - 1\">\n <button type=\"button\" class=\"pw-onboarding-admin__action\" [pTooltip]=\"'Admin.Onboarding.Action.MoveDown' | transloco\"\n tooltipPosition=\"top\" appendTo=\"body\" [attr.aria-label]=\"'Admin.Onboarding.Action.MoveDown' | transloco\"\n (click)=\"move(index, 1)\">\n <i class=\"fa fa-arrow-down\" aria-hidden=\"true\"></i>\n </button>\n </li>\n <li class=\"me-2\">\n <button type=\"button\" class=\"pw-onboarding-admin__action\" [pTooltip]=\"'Button.Edit' | transloco\"\n tooltipPosition=\"top\" appendTo=\"body\" [attr.aria-label]=\"'Button.Edit' | transloco\" (click)=\"edit(step)\">\n <i class=\"fa fa-edit edit-icon\" aria-hidden=\"true\"></i>\n </button>\n </li>\n <li>\n <button type=\"button\" class=\"pw-onboarding-admin__action\" [pTooltip]=\"'Button.Delete' | transloco\"\n tooltipPosition=\"top\" appendTo=\"body\" [attr.aria-label]=\"'Button.Delete' | transloco\" (click)=\"remove(step)\">\n <i class=\"fa fa-trash delete-icon\" aria-hidden=\"true\"></i>\n </button>\n </li>\n </ul>\n </td>\n </tr>\n </ng-template>\n </p-table>\n <pw-records-summary [showing]=\"visibleSteps.length\" [total]=\"steps.length\" />\n </div>\n }\n }\n}\n",
|
|
18653
|
+
styles: [".pw-onboarding-admin__intro{max-width:720px;margin-bottom:16px}.pw-onboarding-admin__filters{margin-bottom:8px}.pw-onboarding-admin__order{width:40px;font-variant-numeric:tabular-nums}.pw-onboarding-admin__title,.pw-onboarding-admin__muted{display:block}.pw-onboarding-admin__muted{color:var(--text-muted, #6c757d)}.pw-onboarding-admin__off td:not(:last-child):not(:nth-last-child(2)){opacity:.55}.pw-onboarding-admin__table td{word-break:normal;overflow-wrap:break-word}.pw-onboarding-admin__action{padding:0;border:0;background:none;color:inherit;font-size:inherit;line-height:inherit}\n"],
|
|
18562
18654
|
dependencies: [
|
|
18563
18655
|
{
|
|
18564
18656
|
kind: "component",
|
|
18565
|
-
type: i2$
|
|
18657
|
+
type: i2$3.Table,
|
|
18566
18658
|
selector: "p-table",
|
|
18567
18659
|
inputs: [
|
|
18568
18660
|
"frozenColumns",
|
|
@@ -18703,7 +18795,7 @@ var OnboardingStepsComponent = class OnboardingStepsComponent extends AppBaseCom
|
|
|
18703
18795
|
},
|
|
18704
18796
|
{
|
|
18705
18797
|
kind: "component",
|
|
18706
|
-
type: i2$
|
|
18798
|
+
type: i2$2.Select,
|
|
18707
18799
|
selector: "p-select",
|
|
18708
18800
|
inputs: [
|
|
18709
18801
|
"id",
|
|
@@ -18891,14 +18983,14 @@ i0.ɵɵngDeclareClassMetadata({
|
|
|
18891
18983
|
args: [{
|
|
18892
18984
|
selector: "pw-onboarding-steps",
|
|
18893
18985
|
standalone: false,
|
|
18894
|
-
template: "<div class=\"row\">\n <div class=\"col-12 d-flex flex-wrap justify-content-between align-items-baseline gap-2\">\n <h2 class=\"card-title p-0\">{{ 'Admin.Onboarding.Title' | transloco }}</h2>\n @if (!loading && !loadFailed && permissionKey && steps.length) {\n <button type=\"button\" class=\"btn btn-sm btn-outline-primary\" [disabled]=\"busy\" (click)=\"edit(null)\">\n <i class=\"fa fa-plus-circle\" aria-hidden=\"true\"></i> {{ 'Admin.Onboarding.Button.AddStep' | transloco }}\n </button>\n }\n </div>\n</div>\n<p class=\"pw-onboarding-admin__intro\">{{ 'Admin.Onboarding.Intro' | transloco }}</p>\n\n<pw-loader [isVisible]=\"loading\"></pw-loader>\n\n@if (!loading) {\n @if (loadFailed) {\n <pw-no-data [withImage]=\"true\" [message]=\"'Admin.Onboarding.LoadFailed' | transloco\"></pw-no-data>\n } @else if (!families.length) {\n <pw-no-data [withImage]=\"true\" [message]=\"'Admin.Onboarding.NoFamilies' | transloco\"></pw-no-data>\n } @else {\n <div class=\"row pw-onboarding-admin__filters\">\n @if (families.length > 1) {\n <pw-input-container class=\"col-12 col-sm-6 col-lg-4\" [label]=\"'Admin.Onboarding.Family' | transloco\"\n controlId=\"onboarding-family\">\n <p-select inputId=\"onboarding-family\" [options]=\"families\" optionLabel=\"label\" optionValue=\"permission_key\"\n [ngModel]=\"permissionKey\" (ngModelChange)=\"selectFamily($event)\" appendTo=\"body\"\n [placeholder]=\"'Admin.Onboarding.Placeholder.Family' | transloco\"></p-select>\n </pw-input-container>\n }\n @if (steps.length) {\n <div class=\"col-12 col-sm-6 col-lg-4 align-self-end mb-3\">\n <p-select inputId=\"onboarding-plan-filter\" [options]=\"plans\" optionLabel=\"name\" optionValue=\"feature_key\"\n [(ngModel)]=\"planFilter\" [showClear]=\"true\" appendTo=\"body\"\n [ariaLabel]=\"'Admin.Onboarding.Filter.Product' | transloco\"\n [placeholder]=\"'Admin.Onboarding.Placeholder.Product' | transloco\"></p-select>\n </div>\n }\n </div>\n\n @if (!steps.length) {\n <pw-no-data [withImage]=\"true\" [message]=\"'Admin.Onboarding.Empty.Message' | transloco\"\n [description]=\"'Admin.Onboarding.Empty.Description' | transloco\">\n <div #content class=\"d-flex flex-wrap justify-content-center gap-2\">\n @if (catalogue.recommended.length) {\n <button type=\"button\" class=\"btn btn-primary\" [buttonBusy]=\"busy\" (click)=\"install()\">\n {{ 'Admin.Onboarding.Button.Install' | transloco }}\n </button>\n }\n <button type=\"button\" class=\"btn btn-outline-primary\" [disabled]=\"busy\" (click)=\"edit(null)\">\n {{ 'Admin.Onboarding.Button.AddStep' | transloco }}\n </button>\n </div>\n </pw-no-data>\n } @else {\n <div class=\"primeng-datatable-container table-responsive mt-0 pw-onboarding-admin__table\">\n <p-table [value]=\"visibleSteps\" dataKey=\"id\">\n <ng-template #header>\n <tr>\n <th scope=\"col\" class=\"pw-onboarding-admin__order\">#</th>\n <th scope=\"col\">{{ 'Admin.Onboarding.Column.Step' | transloco }}</th>\n <th scope=\"col\">{{ 'Admin.Onboarding.Column.Type' | transloco }}</th>\n <th scope=\"col\">{{ 'Admin.Onboarding.Column.CompletedBy' | transloco }}</th>\n <th scope=\"col\">{{ 'Admin.Onboarding.Column.Plans' | transloco }}</th>\n <th scope=\"col\">{{ 'Admin.Onboarding.Column.Enabled' | transloco }}</th>\n <th scope=\"col\" class=\"actions-list-four\">{{ 'Label.Actions' | transloco }}</th>\n </tr>\n </ng-template>\n <ng-template #body let-step let-index=\"rowIndex\">\n <tr [class.pw-onboarding-admin__off]=\"!step.enabled\">\n <td data-head=\"#\" class=\"pw-onboarding-admin__order\">{{ index + 1 }}</td>\n <td [attr.data-head]=\"'Admin.Onboarding.Column.Step' | transloco\">\n <span class=\"pw-onboarding-admin__title\">{{ step.title }}</span>\n @if (step.description) {\n <span class=\"pw-onboarding-admin__muted\">{{ step.description }}</span>\n }\n </td>\n <td [attr.data-head]=\"'Admin.Onboarding.Column.Type' | transloco\">\n <span class=\"badge\" [class.bg-cyan]=\"step.kind === 'required'\" [class.bg-blue-grey]=\"step.kind === 'optional'\"\n [class.bg-warning]=\"step.kind === 'system'\">{{ 'Admin.Onboarding.Kind.' + step.kind | transloco }}</span>\n </td>\n <td [attr.data-head]=\"'Admin.Onboarding.Column.CompletedBy' | transloco\">{{ completedBy(step) ?? ('Admin.Onboarding.Manual' | transloco) }}</td>\n <td [attr.data-head]=\"'Admin.Onboarding.Column.Plans' | transloco\">{{ planNames(step) ?? ('Admin.Onboarding.AllPlans' | transloco) }}</td>\n <td [attr.data-head]=\"'Admin.Onboarding.Column.Enabled' | transloco\">\n <ui-switch size=\"small\" [checked]=\"step.enabled\" [disabled]=\"busy\" (change)=\"toggle(step, $event)\"\n [attr.aria-label]=\"('Admin.Onboarding.Form.Enabled' | transloco) + ': ' + step.title\"></ui-switch>\n </td>\n <td [attr.data-head]=\"'Label.Actions' | transloco\">\n <ul class=\"list-unstyled list-inline list-action mb-0\">\n <li class=\"me-2\" [class.invisible]=\"index === 0\" [pTooltip]=\"'Admin.Onboarding.Action.MoveUp' | transloco\"\n
|
|
18895
|
-
styles: [".pw-onboarding-admin__intro{max-width:720px;margin-bottom:16px}.pw-onboarding-admin__filters{margin-bottom:8px}.pw-onboarding-admin__order{width:40px;font-variant-numeric:tabular-nums}.pw-onboarding-admin__title,.pw-onboarding-admin__muted{display:block}.pw-onboarding-admin__muted{color:var(--text-muted, #6c757d)}.pw-onboarding-admin__off td:not(:last-child):not(:nth-last-child(2)){opacity:.55}.pw-onboarding-admin__table td{word-break:normal;overflow-wrap:break-word}\n"]
|
|
18986
|
+
template: "<div class=\"row\">\n <div class=\"col-12 d-flex flex-wrap justify-content-between align-items-baseline gap-2\">\n <h2 class=\"card-title p-0\">{{ 'Admin.Onboarding.Title' | transloco }}</h2>\n @if (!loading && !loadFailed && permissionKey && steps.length) {\n <button type=\"button\" class=\"btn btn-sm btn-outline-primary\" [disabled]=\"busy\" (click)=\"edit(null)\">\n <i class=\"fa fa-plus-circle\" aria-hidden=\"true\"></i> {{ 'Admin.Onboarding.Button.AddStep' | transloco }}\n </button>\n }\n </div>\n</div>\n<p class=\"pw-onboarding-admin__intro\">{{ 'Admin.Onboarding.Intro' | transloco }}</p>\n\n<pw-loader [isVisible]=\"loading\"></pw-loader>\n\n@if (!loading) {\n @if (loadFailed) {\n <pw-no-data [withImage]=\"true\" [message]=\"'Admin.Onboarding.LoadFailed' | transloco\"></pw-no-data>\n } @else if (!families.length) {\n <pw-no-data [withImage]=\"true\" [message]=\"'Admin.Onboarding.NoFamilies' | transloco\"></pw-no-data>\n } @else {\n <div class=\"row pw-onboarding-admin__filters\">\n @if (families.length > 1) {\n <pw-input-container class=\"col-12 col-sm-6 col-lg-4\" [label]=\"'Admin.Onboarding.Family' | transloco\"\n controlId=\"onboarding-family\">\n <p-select inputId=\"onboarding-family\" [options]=\"families\" optionLabel=\"label\" optionValue=\"permission_key\"\n [ngModel]=\"permissionKey\" (ngModelChange)=\"selectFamily($event)\" appendTo=\"body\"\n [placeholder]=\"'Admin.Onboarding.Placeholder.Family' | transloco\"></p-select>\n </pw-input-container>\n }\n @if (steps.length) {\n <div class=\"col-12 col-sm-6 col-lg-4 align-self-end mb-3\">\n <p-select inputId=\"onboarding-plan-filter\" [options]=\"plans\" optionLabel=\"name\" optionValue=\"feature_key\"\n [(ngModel)]=\"planFilter\" [showClear]=\"true\" appendTo=\"body\"\n [ariaLabel]=\"'Admin.Onboarding.Filter.Product' | transloco\"\n [placeholder]=\"'Admin.Onboarding.Placeholder.Product' | transloco\"></p-select>\n </div>\n }\n </div>\n\n @if (!steps.length) {\n <pw-no-data [withImage]=\"true\" [message]=\"'Admin.Onboarding.Empty.Message' | transloco\"\n [description]=\"'Admin.Onboarding.Empty.Description' | transloco\">\n <div #content class=\"d-flex flex-wrap justify-content-center gap-2\">\n @if (catalogue.recommended.length) {\n <button type=\"button\" class=\"btn btn-primary\" [buttonBusy]=\"busy\" (click)=\"install()\">\n {{ 'Admin.Onboarding.Button.Install' | transloco }}\n </button>\n }\n <button type=\"button\" class=\"btn btn-outline-primary\" [disabled]=\"busy\" (click)=\"edit(null)\">\n {{ 'Admin.Onboarding.Button.AddStep' | transloco }}\n </button>\n </div>\n </pw-no-data>\n } @else {\n <div class=\"primeng-datatable-container table-responsive mt-0 pw-onboarding-admin__table\">\n <p-table [value]=\"visibleSteps\" dataKey=\"id\">\n <ng-template #header>\n <tr>\n <th scope=\"col\" class=\"pw-onboarding-admin__order\">#</th>\n <th scope=\"col\">{{ 'Admin.Onboarding.Column.Step' | transloco }}</th>\n <th scope=\"col\">{{ 'Admin.Onboarding.Column.Type' | transloco }}</th>\n <th scope=\"col\">{{ 'Admin.Onboarding.Column.CompletedBy' | transloco }}</th>\n <th scope=\"col\">{{ 'Admin.Onboarding.Column.Plans' | transloco }}</th>\n <th scope=\"col\">{{ 'Admin.Onboarding.Column.Enabled' | transloco }}</th>\n <th scope=\"col\" class=\"actions-list-four\">{{ 'Label.Actions' | transloco }}</th>\n </tr>\n </ng-template>\n <ng-template #body let-step let-index=\"rowIndex\">\n <tr [class.pw-onboarding-admin__off]=\"!step.enabled\">\n <td data-head=\"#\" class=\"pw-onboarding-admin__order\">{{ index + 1 }}</td>\n <td [attr.data-head]=\"'Admin.Onboarding.Column.Step' | transloco\">\n <span class=\"pw-onboarding-admin__title\">{{ step.title }}</span>\n @if (step.description) {\n <span class=\"pw-onboarding-admin__muted\">{{ step.description }}</span>\n }\n </td>\n <td [attr.data-head]=\"'Admin.Onboarding.Column.Type' | transloco\">\n <span class=\"badge\" [class.bg-cyan]=\"step.kind === 'required'\" [class.bg-blue-grey]=\"step.kind === 'optional'\"\n [class.bg-warning]=\"step.kind === 'system'\">{{ 'Admin.Onboarding.Kind.' + step.kind | transloco }}</span>\n </td>\n <td [attr.data-head]=\"'Admin.Onboarding.Column.CompletedBy' | transloco\">{{ completedBy(step) ?? ('Admin.Onboarding.Manual' | transloco) }}</td>\n <td [attr.data-head]=\"'Admin.Onboarding.Column.Plans' | transloco\">{{ planNames(step) ?? ('Admin.Onboarding.AllPlans' | transloco) }}</td>\n <td [attr.data-head]=\"'Admin.Onboarding.Column.Enabled' | transloco\">\n <ui-switch size=\"small\" [checked]=\"step.enabled\" [disabled]=\"busy\" (change)=\"toggle(step, $event)\"\n [attr.aria-label]=\"('Admin.Onboarding.Form.Enabled' | transloco) + ': ' + step.title\"></ui-switch>\n </td>\n <td [attr.data-head]=\"'Label.Actions' | transloco\">\n <ul class=\"list-unstyled list-inline list-action mb-0\">\n <li class=\"me-2\" [class.invisible]=\"index === 0\">\n <button type=\"button\" class=\"pw-onboarding-admin__action\" [pTooltip]=\"'Admin.Onboarding.Action.MoveUp' | transloco\"\n tooltipPosition=\"top\" appendTo=\"body\" [attr.aria-label]=\"'Admin.Onboarding.Action.MoveUp' | transloco\"\n (click)=\"move(index, -1)\">\n <i class=\"fa fa-arrow-up\" aria-hidden=\"true\"></i>\n </button>\n </li>\n <li class=\"me-2\" [class.invisible]=\"index === visibleSteps.length - 1\">\n <button type=\"button\" class=\"pw-onboarding-admin__action\" [pTooltip]=\"'Admin.Onboarding.Action.MoveDown' | transloco\"\n tooltipPosition=\"top\" appendTo=\"body\" [attr.aria-label]=\"'Admin.Onboarding.Action.MoveDown' | transloco\"\n (click)=\"move(index, 1)\">\n <i class=\"fa fa-arrow-down\" aria-hidden=\"true\"></i>\n </button>\n </li>\n <li class=\"me-2\">\n <button type=\"button\" class=\"pw-onboarding-admin__action\" [pTooltip]=\"'Button.Edit' | transloco\"\n tooltipPosition=\"top\" appendTo=\"body\" [attr.aria-label]=\"'Button.Edit' | transloco\" (click)=\"edit(step)\">\n <i class=\"fa fa-edit edit-icon\" aria-hidden=\"true\"></i>\n </button>\n </li>\n <li>\n <button type=\"button\" class=\"pw-onboarding-admin__action\" [pTooltip]=\"'Button.Delete' | transloco\"\n tooltipPosition=\"top\" appendTo=\"body\" [attr.aria-label]=\"'Button.Delete' | transloco\" (click)=\"remove(step)\">\n <i class=\"fa fa-trash delete-icon\" aria-hidden=\"true\"></i>\n </button>\n </li>\n </ul>\n </td>\n </tr>\n </ng-template>\n </p-table>\n <pw-records-summary [showing]=\"visibleSteps.length\" [total]=\"steps.length\" />\n </div>\n }\n }\n}\n",
|
|
18987
|
+
styles: [".pw-onboarding-admin__intro{max-width:720px;margin-bottom:16px}.pw-onboarding-admin__filters{margin-bottom:8px}.pw-onboarding-admin__order{width:40px;font-variant-numeric:tabular-nums}.pw-onboarding-admin__title,.pw-onboarding-admin__muted{display:block}.pw-onboarding-admin__muted{color:var(--text-muted, #6c757d)}.pw-onboarding-admin__off td:not(:last-child):not(:nth-last-child(2)){opacity:.55}.pw-onboarding-admin__table td{word-break:normal;overflow-wrap:break-word}.pw-onboarding-admin__action{padding:0;border:0;background:none;color:inherit;font-size:inherit;line-height:inherit}\n"]
|
|
18896
18988
|
}]
|
|
18897
18989
|
}],
|
|
18898
18990
|
ctorParameters: () => [
|
|
18899
18991
|
{ type: i0.Injector },
|
|
18900
18992
|
{ type: i1$1.OnboardingAdminService },
|
|
18901
|
-
{ type: i2$
|
|
18993
|
+
{ type: i2$1.CommonService },
|
|
18902
18994
|
{ type: i6$2.ConfirmDialogService },
|
|
18903
18995
|
{ type: i3$2.NgbModal },
|
|
18904
18996
|
{ type: i0.ChangeDetectorRef },
|
|
@@ -18963,7 +19055,7 @@ var ProductBackupCardComponent = class ProductBackupCardComponent {
|
|
|
18963
19055
|
dependencies: [
|
|
18964
19056
|
{
|
|
18965
19057
|
kind: "component",
|
|
18966
|
-
type: i2$
|
|
19058
|
+
type: i2$2.Select,
|
|
18967
19059
|
selector: "p-select",
|
|
18968
19060
|
inputs: [
|
|
18969
19061
|
"id",
|
|
@@ -19117,6 +19209,11 @@ var ProductBackupCardComponent = class ProductBackupCardComponent {
|
|
|
19117
19209
|
],
|
|
19118
19210
|
outputs: ["ngModelChange"]
|
|
19119
19211
|
},
|
|
19212
|
+
{
|
|
19213
|
+
kind: "directive",
|
|
19214
|
+
type: i9.TrackDirtyFormDirective,
|
|
19215
|
+
selector: "[formGroup]:not([formGroupSkipDirty])"
|
|
19216
|
+
},
|
|
19120
19217
|
{
|
|
19121
19218
|
kind: "pipe",
|
|
19122
19219
|
type: i8$2.TranslocoPipe,
|
|
@@ -19329,6 +19426,7 @@ var ProductDetailsComponent = class ProductDetailsComponent extends AppBaseCompo
|
|
|
19329
19426
|
};
|
|
19330
19427
|
this.adminService.saveProductRoles(this.subscriptionsRolesData).subscribe();
|
|
19331
19428
|
}
|
|
19429
|
+
this.form.markAsPristine();
|
|
19332
19430
|
this.back();
|
|
19333
19431
|
}
|
|
19334
19432
|
this.cdr.markForCheck();
|
|
@@ -19348,6 +19446,7 @@ var ProductDetailsComponent = class ProductDetailsComponent extends AppBaseCompo
|
|
|
19348
19446
|
this.productService.updateProduct(data, this.id).subscribe((response) => {
|
|
19349
19447
|
if (!response.error) {
|
|
19350
19448
|
this.form.patchValue(response);
|
|
19449
|
+
this.form.markAsPristine();
|
|
19351
19450
|
this.back();
|
|
19352
19451
|
}
|
|
19353
19452
|
this.cdr.markForCheck();
|
|
@@ -19472,7 +19571,7 @@ var ProductDetailsComponent = class ProductDetailsComponent extends AppBaseCompo
|
|
|
19472
19571
|
deps: [
|
|
19473
19572
|
{ token: i0.Injector },
|
|
19474
19573
|
{ token: i0.ChangeDetectorRef },
|
|
19475
|
-
{ token: i2$
|
|
19574
|
+
{ token: i2$1.ProductService },
|
|
19476
19575
|
{ token: i3$2.NgbModal },
|
|
19477
19576
|
{ token: i1$1.AdminService }
|
|
19478
19577
|
],
|
|
@@ -19556,7 +19655,7 @@ var ProductDetailsComponent = class ProductDetailsComponent extends AppBaseCompo
|
|
|
19556
19655
|
},
|
|
19557
19656
|
{
|
|
19558
19657
|
kind: "component",
|
|
19559
|
-
type: i2$
|
|
19658
|
+
type: i2$2.Select,
|
|
19560
19659
|
selector: "p-select",
|
|
19561
19660
|
inputs: [
|
|
19562
19661
|
"id",
|
|
@@ -19795,7 +19894,7 @@ var ProductDetailsComponent = class ProductDetailsComponent extends AppBaseCompo
|
|
|
19795
19894
|
},
|
|
19796
19895
|
{
|
|
19797
19896
|
kind: "component",
|
|
19798
|
-
type: i11
|
|
19897
|
+
type: i11.ProgressSpinner,
|
|
19799
19898
|
selector: "p-progress-spinner, p-progressspinner",
|
|
19800
19899
|
inputs: [
|
|
19801
19900
|
"value",
|
|
@@ -19809,7 +19908,7 @@ var ProductDetailsComponent = class ProductDetailsComponent extends AppBaseCompo
|
|
|
19809
19908
|
},
|
|
19810
19909
|
{
|
|
19811
19910
|
kind: "component",
|
|
19812
|
-
type: i12.ProfileImageCropperComponent,
|
|
19911
|
+
type: i12$1.ProfileImageCropperComponent,
|
|
19813
19912
|
selector: "pw-image-cropper",
|
|
19814
19913
|
inputs: ["aspectRatio", "dynamicData"],
|
|
19815
19914
|
outputs: [
|
|
@@ -19882,9 +19981,14 @@ var ProductDetailsComponent = class ProductDetailsComponent extends AppBaseCompo
|
|
|
19882
19981
|
],
|
|
19883
19982
|
outputs: ["ngModelChange"]
|
|
19884
19983
|
},
|
|
19984
|
+
{
|
|
19985
|
+
kind: "directive",
|
|
19986
|
+
type: i9.TrackDirtyFormDirective,
|
|
19987
|
+
selector: "[formGroup]:not([formGroupSkipDirty])"
|
|
19988
|
+
},
|
|
19885
19989
|
{
|
|
19886
19990
|
kind: "component",
|
|
19887
|
-
type:
|
|
19991
|
+
type: i12.QuillEditorComponent,
|
|
19888
19992
|
selector: "quill-editor"
|
|
19889
19993
|
},
|
|
19890
19994
|
{
|
|
@@ -19929,7 +20033,7 @@ i0.ɵɵngDeclareClassMetadata({
|
|
|
19929
20033
|
ctorParameters: () => [
|
|
19930
20034
|
{ type: i0.Injector },
|
|
19931
20035
|
{ type: i0.ChangeDetectorRef },
|
|
19932
|
-
{ type: i2$
|
|
20036
|
+
{ type: i2$1.ProductService },
|
|
19933
20037
|
{ type: i3$2.NgbModal },
|
|
19934
20038
|
{ type: i1$1.AdminService }
|
|
19935
20039
|
],
|
|
@@ -19971,7 +20075,7 @@ var ProductInsightComponent = class ProductInsightComponent extends AppBaseCompo
|
|
|
19971
20075
|
ngImport: i0,
|
|
19972
20076
|
type: ProductInsightComponent,
|
|
19973
20077
|
deps: [
|
|
19974
|
-
{ token: i2$
|
|
20078
|
+
{ token: i2$1.ProductService },
|
|
19975
20079
|
{ token: i0.Injector },
|
|
19976
20080
|
{ token: i0.ChangeDetectorRef }
|
|
19977
20081
|
],
|
|
@@ -20064,7 +20168,7 @@ var ProductInsightComponent = class ProductInsightComponent extends AppBaseCompo
|
|
|
20064
20168
|
},
|
|
20065
20169
|
{
|
|
20066
20170
|
kind: "component",
|
|
20067
|
-
type: i11
|
|
20171
|
+
type: i11.ProgressSpinner,
|
|
20068
20172
|
selector: "p-progress-spinner, p-progressspinner",
|
|
20069
20173
|
inputs: [
|
|
20070
20174
|
"value",
|
|
@@ -20095,7 +20199,7 @@ i0.ɵɵngDeclareClassMetadata({
|
|
|
20095
20199
|
}]
|
|
20096
20200
|
}],
|
|
20097
20201
|
ctorParameters: () => [
|
|
20098
|
-
{ type: i2$
|
|
20202
|
+
{ type: i2$1.ProductService },
|
|
20099
20203
|
{ type: i0.Injector },
|
|
20100
20204
|
{ type: i0.ChangeDetectorRef }
|
|
20101
20205
|
]
|
|
@@ -20214,8 +20318,8 @@ var ProductsListComponent = class ProductsListComponent extends AppBaseComponent
|
|
|
20214
20318
|
ngImport: i0,
|
|
20215
20319
|
type: ProductsListComponent,
|
|
20216
20320
|
deps: [
|
|
20217
|
-
{ token: i2$
|
|
20218
|
-
{ token: i2$
|
|
20321
|
+
{ token: i2$1.ProductService },
|
|
20322
|
+
{ token: i2$1.AuthService },
|
|
20219
20323
|
{ token: i0.Injector },
|
|
20220
20324
|
{ token: i0.ChangeDetectorRef }
|
|
20221
20325
|
],
|
|
@@ -20242,7 +20346,7 @@ var ProductsListComponent = class ProductsListComponent extends AppBaseComponent
|
|
|
20242
20346
|
dependencies: [
|
|
20243
20347
|
{
|
|
20244
20348
|
kind: "component",
|
|
20245
|
-
type: i2$
|
|
20349
|
+
type: i2$3.Table,
|
|
20246
20350
|
selector: "p-table",
|
|
20247
20351
|
inputs: [
|
|
20248
20352
|
"frozenColumns",
|
|
@@ -20355,19 +20459,19 @@ var ProductsListComponent = class ProductsListComponent extends AppBaseComponent
|
|
|
20355
20459
|
},
|
|
20356
20460
|
{
|
|
20357
20461
|
kind: "directive",
|
|
20358
|
-
type: i2$
|
|
20462
|
+
type: i2$3.SortableColumn,
|
|
20359
20463
|
selector: "[pSortableColumn]",
|
|
20360
20464
|
inputs: ["pSortableColumn", "pSortableColumnDisabled"]
|
|
20361
20465
|
},
|
|
20362
20466
|
{
|
|
20363
20467
|
kind: "directive",
|
|
20364
|
-
type: i2$
|
|
20468
|
+
type: i2$3.ResizableColumn,
|
|
20365
20469
|
selector: "[pResizableColumn]",
|
|
20366
20470
|
inputs: ["pResizableColumnDisabled"]
|
|
20367
20471
|
},
|
|
20368
20472
|
{
|
|
20369
20473
|
kind: "component",
|
|
20370
|
-
type: i2$
|
|
20474
|
+
type: i2$3.SortIcon,
|
|
20371
20475
|
selector: "p-sort-icon, p-sorticon",
|
|
20372
20476
|
inputs: ["field"]
|
|
20373
20477
|
},
|
|
@@ -20542,7 +20646,7 @@ var ProductsListComponent = class ProductsListComponent extends AppBaseComponent
|
|
|
20542
20646
|
},
|
|
20543
20647
|
{
|
|
20544
20648
|
kind: "component",
|
|
20545
|
-
type: i11
|
|
20649
|
+
type: i11.ProgressSpinner,
|
|
20546
20650
|
selector: "p-progress-spinner, p-progressspinner",
|
|
20547
20651
|
inputs: [
|
|
20548
20652
|
"value",
|
|
@@ -20630,8 +20734,8 @@ i0.ɵɵngDeclareClassMetadata({
|
|
|
20630
20734
|
}]
|
|
20631
20735
|
}],
|
|
20632
20736
|
ctorParameters: () => [
|
|
20633
|
-
{ type: i2$
|
|
20634
|
-
{ type: i2$
|
|
20737
|
+
{ type: i2$1.ProductService },
|
|
20738
|
+
{ type: i2$1.AuthService },
|
|
20635
20739
|
{ type: i0.Injector },
|
|
20636
20740
|
{ type: i0.ChangeDetectorRef }
|
|
20637
20741
|
],
|
|
@@ -20754,7 +20858,7 @@ var UsersListForProductComponent = class UsersListForProductComponent extends Ap
|
|
|
20754
20858
|
ngImport: i0,
|
|
20755
20859
|
type: UsersListForProductComponent,
|
|
20756
20860
|
deps: [
|
|
20757
|
-
{ token: i2$
|
|
20861
|
+
{ token: i2$1.ProductService },
|
|
20758
20862
|
{ token: i0.Injector },
|
|
20759
20863
|
{ token: i0.ChangeDetectorRef }
|
|
20760
20864
|
],
|
|
@@ -20774,7 +20878,7 @@ var UsersListForProductComponent = class UsersListForProductComponent extends Ap
|
|
|
20774
20878
|
dependencies: [
|
|
20775
20879
|
{
|
|
20776
20880
|
kind: "component",
|
|
20777
|
-
type: i2$
|
|
20881
|
+
type: i2$3.Table,
|
|
20778
20882
|
selector: "p-table",
|
|
20779
20883
|
inputs: [
|
|
20780
20884
|
"frozenColumns",
|
|
@@ -20887,19 +20991,19 @@ var UsersListForProductComponent = class UsersListForProductComponent extends Ap
|
|
|
20887
20991
|
},
|
|
20888
20992
|
{
|
|
20889
20993
|
kind: "directive",
|
|
20890
|
-
type: i2$
|
|
20994
|
+
type: i2$3.SortableColumn,
|
|
20891
20995
|
selector: "[pSortableColumn]",
|
|
20892
20996
|
inputs: ["pSortableColumn", "pSortableColumnDisabled"]
|
|
20893
20997
|
},
|
|
20894
20998
|
{
|
|
20895
20999
|
kind: "directive",
|
|
20896
|
-
type: i2$
|
|
21000
|
+
type: i2$3.ResizableColumn,
|
|
20897
21001
|
selector: "[pResizableColumn]",
|
|
20898
21002
|
inputs: ["pResizableColumnDisabled"]
|
|
20899
21003
|
},
|
|
20900
21004
|
{
|
|
20901
21005
|
kind: "component",
|
|
20902
|
-
type: i2$
|
|
21006
|
+
type: i2$3.SortIcon,
|
|
20903
21007
|
selector: "p-sort-icon, p-sorticon",
|
|
20904
21008
|
inputs: ["field"]
|
|
20905
21009
|
},
|
|
@@ -21034,12 +21138,12 @@ var UsersListForProductComponent = class UsersListForProductComponent extends Ap
|
|
|
21034
21138
|
},
|
|
21035
21139
|
{
|
|
21036
21140
|
kind: "pipe",
|
|
21037
|
-
type: i9.DateFormatPipe,
|
|
21141
|
+
type: i9$1.DateFormatPipe,
|
|
21038
21142
|
name: "dateFormat"
|
|
21039
21143
|
},
|
|
21040
21144
|
{
|
|
21041
21145
|
kind: "pipe",
|
|
21042
|
-
type: i9.IsOnlinePipe,
|
|
21146
|
+
type: i9$1.IsOnlinePipe,
|
|
21043
21147
|
name: "isOnline"
|
|
21044
21148
|
}
|
|
21045
21149
|
]
|
|
@@ -21060,7 +21164,7 @@ i0.ɵɵngDeclareClassMetadata({
|
|
|
21060
21164
|
}]
|
|
21061
21165
|
}],
|
|
21062
21166
|
ctorParameters: () => [
|
|
21063
|
-
{ type: i2$
|
|
21167
|
+
{ type: i2$1.ProductService },
|
|
21064
21168
|
{ type: i0.Injector },
|
|
21065
21169
|
{ type: i0.ChangeDetectorRef }
|
|
21066
21170
|
]
|
|
@@ -21110,7 +21214,7 @@ var ResourceAdminDetailsComponent = class ResourceAdminDetailsComponent extends
|
|
|
21110
21214
|
}
|
|
21111
21215
|
ngOnInit() {
|
|
21112
21216
|
this.filterData = history.state;
|
|
21113
|
-
this.isBlogAdmin = this.permissionService.evaluatePermissions(
|
|
21217
|
+
this.isBlogAdmin = this.permissionService.evaluatePermissions(PermissionService.productPermission("Blog", "Admin"));
|
|
21114
21218
|
this.isSubscriptionSuperAdmin = this.permissionService.isUserSubscriptionSuperAdmin();
|
|
21115
21219
|
if (!this.isSubscriptionSuperAdmin) this.form.get("author_id").disable();
|
|
21116
21220
|
if (!this.isBlogAdmin) this.form.get("accepted_at").disable();
|
|
@@ -21213,6 +21317,7 @@ var ResourceAdminDetailsComponent = class ResourceAdminDetailsComponent extends
|
|
|
21213
21317
|
if (!data.rectangular_picture) delete data.rectangular_picture;
|
|
21214
21318
|
delete data.id;
|
|
21215
21319
|
this.adminService.addPost(data).pipe(switchMap((response) => this.postTags(response.id))).subscribe(() => {
|
|
21320
|
+
this.form.markAsPristine();
|
|
21216
21321
|
this.toast.success(this.translation.translate("Resource.AddedMessage"));
|
|
21217
21322
|
this.back();
|
|
21218
21323
|
this.cdr.markForCheck();
|
|
@@ -21262,6 +21367,7 @@ var ResourceAdminDetailsComponent = class ResourceAdminDetailsComponent extends
|
|
|
21262
21367
|
}
|
|
21263
21368
|
updatePost(data) {
|
|
21264
21369
|
this.adminService.updatePost(data, this.id).pipe(switchMap(() => this.postTags(this.blog.id))).subscribe(() => {
|
|
21370
|
+
this.form.markAsPristine();
|
|
21265
21371
|
this.toast.success(this.translation.translate("Resource.UpdatedMessage"));
|
|
21266
21372
|
this.navigateToResourceList({ resetSearch: true });
|
|
21267
21373
|
this.cdr.markForCheck();
|
|
@@ -21351,8 +21457,8 @@ var ResourceAdminDetailsComponent = class ResourceAdminDetailsComponent extends
|
|
|
21351
21457
|
{ token: i1$1.AdminService },
|
|
21352
21458
|
{ token: i0.Injector },
|
|
21353
21459
|
{ token: i0.ChangeDetectorRef },
|
|
21354
|
-
{ token: i2$
|
|
21355
|
-
{ token: i2$
|
|
21460
|
+
{ token: i2$1.TagService },
|
|
21461
|
+
{ token: i2$1.SubscriptionService }
|
|
21356
21462
|
],
|
|
21357
21463
|
target: i0.ɵɵFactoryTarget.Component
|
|
21358
21464
|
});
|
|
@@ -21450,7 +21556,7 @@ var ResourceAdminDetailsComponent = class ResourceAdminDetailsComponent extends
|
|
|
21450
21556
|
},
|
|
21451
21557
|
{
|
|
21452
21558
|
kind: "component",
|
|
21453
|
-
type: i2$
|
|
21559
|
+
type: i2$2.Select,
|
|
21454
21560
|
selector: "p-select",
|
|
21455
21561
|
inputs: [
|
|
21456
21562
|
"id",
|
|
@@ -21671,7 +21777,7 @@ var ResourceAdminDetailsComponent = class ResourceAdminDetailsComponent extends
|
|
|
21671
21777
|
},
|
|
21672
21778
|
{
|
|
21673
21779
|
kind: "component",
|
|
21674
|
-
type: i11
|
|
21780
|
+
type: i11.ProgressSpinner,
|
|
21675
21781
|
selector: "p-progress-spinner, p-progressspinner",
|
|
21676
21782
|
inputs: [
|
|
21677
21783
|
"value",
|
|
@@ -21685,7 +21791,7 @@ var ResourceAdminDetailsComponent = class ResourceAdminDetailsComponent extends
|
|
|
21685
21791
|
},
|
|
21686
21792
|
{
|
|
21687
21793
|
kind: "component",
|
|
21688
|
-
type: i12.ProfileImageCropperComponent,
|
|
21794
|
+
type: i12$1.ProfileImageCropperComponent,
|
|
21689
21795
|
selector: "pw-image-cropper",
|
|
21690
21796
|
inputs: ["aspectRatio", "dynamicData"],
|
|
21691
21797
|
outputs: [
|
|
@@ -21747,9 +21853,14 @@ var ResourceAdminDetailsComponent = class ResourceAdminDetailsComponent extends
|
|
|
21747
21853
|
],
|
|
21748
21854
|
outputs: ["ngModelChange"]
|
|
21749
21855
|
},
|
|
21856
|
+
{
|
|
21857
|
+
kind: "directive",
|
|
21858
|
+
type: i9.TrackDirtyFormDirective,
|
|
21859
|
+
selector: "[formGroup]:not([formGroupSkipDirty])"
|
|
21860
|
+
},
|
|
21750
21861
|
{
|
|
21751
21862
|
kind: "component",
|
|
21752
|
-
type:
|
|
21863
|
+
type: i12.QuillEditorComponent,
|
|
21753
21864
|
selector: "quill-editor"
|
|
21754
21865
|
},
|
|
21755
21866
|
{
|
|
@@ -21783,8 +21894,8 @@ i0.ɵɵngDeclareClassMetadata({
|
|
|
21783
21894
|
{ type: i1$1.AdminService },
|
|
21784
21895
|
{ type: i0.Injector },
|
|
21785
21896
|
{ type: i0.ChangeDetectorRef },
|
|
21786
|
-
{ type: i2$
|
|
21787
|
-
{ type: i2$
|
|
21897
|
+
{ type: i2$1.TagService },
|
|
21898
|
+
{ type: i2$1.SubscriptionService }
|
|
21788
21899
|
],
|
|
21789
21900
|
propDecorators: { onSave: [] }
|
|
21790
21901
|
});
|
|
@@ -21849,6 +21960,12 @@ i0.ɵɵngDeclareClassMetadata({
|
|
|
21849
21960
|
ctorParameters: () => [{ type: i0.Injector }]
|
|
21850
21961
|
});
|
|
21851
21962
|
var ResourcesIndexComponent = class ResourcesIndexComponent extends AppBaseComponent {
|
|
21963
|
+
get blogPermission() {
|
|
21964
|
+
return PermissionService.productPermission("Blog");
|
|
21965
|
+
}
|
|
21966
|
+
get isBlogAdmin() {
|
|
21967
|
+
return PermissionService.productPermission("Blog", "Admin");
|
|
21968
|
+
}
|
|
21852
21969
|
constructor(adminService, tagService, injector, cdr, confirmDialog) {
|
|
21853
21970
|
super(injector);
|
|
21854
21971
|
this.adminService = adminService;
|
|
@@ -21876,8 +21993,6 @@ var ResourcesIndexComponent = class ResourcesIndexComponent extends AppBaseCompo
|
|
|
21876
21993
|
this.searchTextItems = typeof state.searchTextItems === "string" ? state.searchTextItems : "";
|
|
21877
21994
|
}
|
|
21878
21995
|
this.getUserSubscriptionId().subscribe((_) => {
|
|
21879
|
-
this.blogPermission = `${PermissionService.selectedProduct?.permission}.${PermissionService.selectedProduct?.feature_key}.Blog`;
|
|
21880
|
-
this.isBlogAdmin = `${PermissionService.selectedProduct?.permission}.${PermissionService.selectedProduct?.feature_key}.Blog.Admin`;
|
|
21881
21996
|
this.cdr.markForCheck();
|
|
21882
21997
|
});
|
|
21883
21998
|
this.getUserSubscription().subscribe((response) => {
|
|
@@ -21970,7 +22085,7 @@ var ResourcesIndexComponent = class ResourcesIndexComponent extends AppBaseCompo
|
|
|
21970
22085
|
type: ResourcesIndexComponent,
|
|
21971
22086
|
deps: [
|
|
21972
22087
|
{ token: i1$1.AdminService },
|
|
21973
|
-
{ token: i2$
|
|
22088
|
+
{ token: i2$1.TagService },
|
|
21974
22089
|
{ token: i0.Injector },
|
|
21975
22090
|
{ token: i0.ChangeDetectorRef },
|
|
21976
22091
|
{ token: i6$2.ConfirmDialogService }
|
|
@@ -21992,7 +22107,7 @@ var ResourcesIndexComponent = class ResourcesIndexComponent extends AppBaseCompo
|
|
|
21992
22107
|
dependencies: [
|
|
21993
22108
|
{
|
|
21994
22109
|
kind: "component",
|
|
21995
|
-
type: i2$
|
|
22110
|
+
type: i2$3.Table,
|
|
21996
22111
|
selector: "p-table",
|
|
21997
22112
|
inputs: [
|
|
21998
22113
|
"frozenColumns",
|
|
@@ -22105,19 +22220,19 @@ var ResourcesIndexComponent = class ResourcesIndexComponent extends AppBaseCompo
|
|
|
22105
22220
|
},
|
|
22106
22221
|
{
|
|
22107
22222
|
kind: "directive",
|
|
22108
|
-
type: i2$
|
|
22223
|
+
type: i2$3.SortableColumn,
|
|
22109
22224
|
selector: "[pSortableColumn]",
|
|
22110
22225
|
inputs: ["pSortableColumn", "pSortableColumnDisabled"]
|
|
22111
22226
|
},
|
|
22112
22227
|
{
|
|
22113
22228
|
kind: "directive",
|
|
22114
|
-
type: i2$
|
|
22229
|
+
type: i2$3.ResizableColumn,
|
|
22115
22230
|
selector: "[pResizableColumn]",
|
|
22116
22231
|
inputs: ["pResizableColumnDisabled"]
|
|
22117
22232
|
},
|
|
22118
22233
|
{
|
|
22119
22234
|
kind: "component",
|
|
22120
|
-
type: i2$
|
|
22235
|
+
type: i2$3.SortIcon,
|
|
22121
22236
|
selector: "p-sort-icon, p-sorticon",
|
|
22122
22237
|
inputs: ["field"]
|
|
22123
22238
|
},
|
|
@@ -22291,7 +22406,7 @@ var ResourcesIndexComponent = class ResourcesIndexComponent extends AppBaseCompo
|
|
|
22291
22406
|
},
|
|
22292
22407
|
{
|
|
22293
22408
|
kind: "component",
|
|
22294
|
-
type: i11
|
|
22409
|
+
type: i11.ProgressSpinner,
|
|
22295
22410
|
selector: "p-progress-spinner, p-progressspinner",
|
|
22296
22411
|
inputs: [
|
|
22297
22412
|
"value",
|
|
@@ -22367,12 +22482,12 @@ var ResourcesIndexComponent = class ResourcesIndexComponent extends AppBaseCompo
|
|
|
22367
22482
|
},
|
|
22368
22483
|
{
|
|
22369
22484
|
kind: "pipe",
|
|
22370
|
-
type: i9.DateFormatPipe,
|
|
22485
|
+
type: i9$1.DateFormatPipe,
|
|
22371
22486
|
name: "dateFormat"
|
|
22372
22487
|
},
|
|
22373
22488
|
{
|
|
22374
22489
|
kind: "pipe",
|
|
22375
|
-
type: i9.IfNameNullShowEmailPipe,
|
|
22490
|
+
type: i9$1.IfNameNullShowEmailPipe,
|
|
22376
22491
|
name: "ifNameNullShowEmail"
|
|
22377
22492
|
}
|
|
22378
22493
|
]
|
|
@@ -22395,7 +22510,7 @@ i0.ɵɵngDeclareClassMetadata({
|
|
|
22395
22510
|
}],
|
|
22396
22511
|
ctorParameters: () => [
|
|
22397
22512
|
{ type: i1$1.AdminService },
|
|
22398
|
-
{ type: i2$
|
|
22513
|
+
{ type: i2$1.TagService },
|
|
22399
22514
|
{ type: i0.Injector },
|
|
22400
22515
|
{ type: i0.ChangeDetectorRef },
|
|
22401
22516
|
{ type: i6$2.ConfirmDialogService }
|
|
@@ -22529,7 +22644,7 @@ var ResourcesInsightComponent = class ResourcesInsightComponent extends AppBaseC
|
|
|
22529
22644
|
},
|
|
22530
22645
|
{
|
|
22531
22646
|
kind: "component",
|
|
22532
|
-
type: i11
|
|
22647
|
+
type: i11.ProgressSpinner,
|
|
22533
22648
|
selector: "p-progress-spinner, p-progressspinner",
|
|
22534
22649
|
inputs: [
|
|
22535
22650
|
"value",
|
|
@@ -22631,7 +22746,7 @@ var ResourcesListsInsightComponent = class ResourcesListsInsightComponent extend
|
|
|
22631
22746
|
dependencies: [
|
|
22632
22747
|
{
|
|
22633
22748
|
kind: "component",
|
|
22634
|
-
type: i2$
|
|
22749
|
+
type: i2$3.Table,
|
|
22635
22750
|
selector: "p-table",
|
|
22636
22751
|
inputs: [
|
|
22637
22752
|
"frozenColumns",
|
|
@@ -22744,7 +22859,7 @@ var ResourcesListsInsightComponent = class ResourcesListsInsightComponent extend
|
|
|
22744
22859
|
},
|
|
22745
22860
|
{
|
|
22746
22861
|
kind: "directive",
|
|
22747
|
-
type: i2$
|
|
22862
|
+
type: i2$3.ResizableColumn,
|
|
22748
22863
|
selector: "[pResizableColumn]",
|
|
22749
22864
|
inputs: ["pResizableColumnDisabled"]
|
|
22750
22865
|
},
|
|
@@ -22799,7 +22914,7 @@ var ResourcesListsInsightComponent = class ResourcesListsInsightComponent extend
|
|
|
22799
22914
|
},
|
|
22800
22915
|
{
|
|
22801
22916
|
kind: "component",
|
|
22802
|
-
type: i11
|
|
22917
|
+
type: i11.ProgressSpinner,
|
|
22803
22918
|
selector: "p-progress-spinner, p-progressspinner",
|
|
22804
22919
|
inputs: [
|
|
22805
22920
|
"value",
|
|
@@ -22963,6 +23078,7 @@ var AgentDetailsComponent = class AgentDetailsComponent extends AppBaseComponent
|
|
|
22963
23078
|
...Object.keys(details).length ? { payout_details: details } : {}
|
|
22964
23079
|
};
|
|
22965
23080
|
this.groupService.updateAgent(this.subscriptionId, this.agentId, data).subscribe(() => {
|
|
23081
|
+
this.form.markAsPristine();
|
|
22966
23082
|
this.toast.success(this.translation.translate("User.Subscriptions.UpdatedMessage"));
|
|
22967
23083
|
this.back();
|
|
22968
23084
|
this.cdr.markForCheck();
|
|
@@ -23001,7 +23117,7 @@ var AgentDetailsComponent = class AgentDetailsComponent extends AppBaseComponent
|
|
|
23001
23117
|
type: AgentDetailsComponent,
|
|
23002
23118
|
deps: [
|
|
23003
23119
|
{ token: i1$1.AdminService },
|
|
23004
|
-
{ token: i2$
|
|
23120
|
+
{ token: i2$1.GroupService },
|
|
23005
23121
|
{ token: i3$2.NgbDatepickerConfig },
|
|
23006
23122
|
{ token: i0.Injector },
|
|
23007
23123
|
{ token: i0.ChangeDetectorRef }
|
|
@@ -23102,7 +23218,7 @@ var AgentDetailsComponent = class AgentDetailsComponent extends AppBaseComponent
|
|
|
23102
23218
|
},
|
|
23103
23219
|
{
|
|
23104
23220
|
kind: "component",
|
|
23105
|
-
type: i2$
|
|
23221
|
+
type: i2$2.Select,
|
|
23106
23222
|
selector: "p-select",
|
|
23107
23223
|
inputs: [
|
|
23108
23224
|
"id",
|
|
@@ -23226,7 +23342,7 @@ var AgentDetailsComponent = class AgentDetailsComponent extends AppBaseComponent
|
|
|
23226
23342
|
},
|
|
23227
23343
|
{
|
|
23228
23344
|
kind: "component",
|
|
23229
|
-
type: i11
|
|
23345
|
+
type: i11.ProgressSpinner,
|
|
23230
23346
|
selector: "p-progress-spinner, p-progressspinner",
|
|
23231
23347
|
inputs: [
|
|
23232
23348
|
"value",
|
|
@@ -23322,6 +23438,11 @@ var AgentDetailsComponent = class AgentDetailsComponent extends AppBaseComponent
|
|
|
23322
23438
|
],
|
|
23323
23439
|
outputs: ["ngModelChange"]
|
|
23324
23440
|
},
|
|
23441
|
+
{
|
|
23442
|
+
kind: "directive",
|
|
23443
|
+
type: i9.TrackDirtyFormDirective,
|
|
23444
|
+
selector: "[formGroup]:not([formGroupSkipDirty])"
|
|
23445
|
+
},
|
|
23325
23446
|
{
|
|
23326
23447
|
kind: "directive",
|
|
23327
23448
|
type: i3$2.NgbInputDatepicker,
|
|
@@ -23383,7 +23504,7 @@ i0.ɵɵngDeclareClassMetadata({
|
|
|
23383
23504
|
}],
|
|
23384
23505
|
ctorParameters: () => [
|
|
23385
23506
|
{ type: i1$1.AdminService },
|
|
23386
|
-
{ type: i2$
|
|
23507
|
+
{ type: i2$1.GroupService },
|
|
23387
23508
|
{ type: i3$2.NgbDatepickerConfig },
|
|
23388
23509
|
{ type: i0.Injector },
|
|
23389
23510
|
{ type: i0.ChangeDetectorRef }
|
|
@@ -23445,10 +23566,10 @@ var SubscriptionProductsComponent = class SubscriptionProductsComponent extends
|
|
|
23445
23566
|
ngImport: i0,
|
|
23446
23567
|
type: SubscriptionProductsComponent,
|
|
23447
23568
|
deps: [
|
|
23448
|
-
{ token: i2$
|
|
23569
|
+
{ token: i2$1.SubscriptionService },
|
|
23449
23570
|
{ token: i0.Injector },
|
|
23450
23571
|
{ token: i0.ChangeDetectorRef },
|
|
23451
|
-
{ token: i2$
|
|
23572
|
+
{ token: i2$1.ProductService }
|
|
23452
23573
|
],
|
|
23453
23574
|
target: i0.ɵɵFactoryTarget.Component
|
|
23454
23575
|
});
|
|
@@ -23466,7 +23587,7 @@ var SubscriptionProductsComponent = class SubscriptionProductsComponent extends
|
|
|
23466
23587
|
dependencies: [
|
|
23467
23588
|
{
|
|
23468
23589
|
kind: "component",
|
|
23469
|
-
type: i2$
|
|
23590
|
+
type: i2$3.Table,
|
|
23470
23591
|
selector: "p-table",
|
|
23471
23592
|
inputs: [
|
|
23472
23593
|
"frozenColumns",
|
|
@@ -23579,7 +23700,7 @@ var SubscriptionProductsComponent = class SubscriptionProductsComponent extends
|
|
|
23579
23700
|
},
|
|
23580
23701
|
{
|
|
23581
23702
|
kind: "directive",
|
|
23582
|
-
type: i2$
|
|
23703
|
+
type: i2$3.ResizableColumn,
|
|
23583
23704
|
selector: "[pResizableColumn]",
|
|
23584
23705
|
inputs: ["pResizableColumnDisabled"]
|
|
23585
23706
|
},
|
|
@@ -23662,7 +23783,7 @@ var SubscriptionProductsComponent = class SubscriptionProductsComponent extends
|
|
|
23662
23783
|
},
|
|
23663
23784
|
{
|
|
23664
23785
|
kind: "component",
|
|
23665
|
-
type: i11
|
|
23786
|
+
type: i11.ProgressSpinner,
|
|
23666
23787
|
selector: "p-progress-spinner, p-progressspinner",
|
|
23667
23788
|
inputs: [
|
|
23668
23789
|
"value",
|
|
@@ -23753,10 +23874,10 @@ i0.ɵɵngDeclareClassMetadata({
|
|
|
23753
23874
|
}]
|
|
23754
23875
|
}],
|
|
23755
23876
|
ctorParameters: () => [
|
|
23756
|
-
{ type: i2$
|
|
23877
|
+
{ type: i2$1.SubscriptionService },
|
|
23757
23878
|
{ type: i0.Injector },
|
|
23758
23879
|
{ type: i0.ChangeDetectorRef },
|
|
23759
|
-
{ type: i2$
|
|
23880
|
+
{ type: i2$1.ProductService }
|
|
23760
23881
|
]
|
|
23761
23882
|
});
|
|
23762
23883
|
var AddMembersComponent = class AddMembersComponent extends AppBaseComponent {
|
|
@@ -23872,6 +23993,7 @@ var AddMembersComponent = class AddMembersComponent extends AppBaseComponent {
|
|
|
23872
23993
|
this.subscriptionService.addMembersToSubscription(this.id, data).subscribe((response) => {
|
|
23873
23994
|
if (response?.status === StatusCodes.OK) {
|
|
23874
23995
|
this.membersAdded.emit();
|
|
23996
|
+
this.form.markAsPristine();
|
|
23875
23997
|
this.toast.success(response.message);
|
|
23876
23998
|
this.form.setControl("emailsFormArray", this.formBuilder.array([this.createItem()]));
|
|
23877
23999
|
} else this.toast.error(response.error.message);
|
|
@@ -23894,8 +24016,8 @@ var AddMembersComponent = class AddMembersComponent extends AppBaseComponent {
|
|
|
23894
24016
|
{ token: i0.Injector },
|
|
23895
24017
|
{ token: i0.ChangeDetectorRef },
|
|
23896
24018
|
{ token: i10.UntypedFormBuilder },
|
|
23897
|
-
{ token: i2$
|
|
23898
|
-
{ token: i2$
|
|
24019
|
+
{ token: i2$1.SubscriptionService },
|
|
24020
|
+
{ token: i2$1.AuthService },
|
|
23899
24021
|
{ token: i6$2.ConfirmDialogService }
|
|
23900
24022
|
],
|
|
23901
24023
|
target: i0.ɵɵFactoryTarget.Component
|
|
@@ -23984,6 +24106,11 @@ var AddMembersComponent = class AddMembersComponent extends AppBaseComponent {
|
|
|
23984
24106
|
selector: "[formArrayName]",
|
|
23985
24107
|
inputs: ["formArrayName"]
|
|
23986
24108
|
},
|
|
24109
|
+
{
|
|
24110
|
+
kind: "directive",
|
|
24111
|
+
type: i9.TrackDirtyFormDirective,
|
|
24112
|
+
selector: "[formGroup]:not([formGroupSkipDirty])"
|
|
24113
|
+
},
|
|
23987
24114
|
{
|
|
23988
24115
|
kind: "pipe",
|
|
23989
24116
|
type: i8$2.TranslocoPipe,
|
|
@@ -24011,8 +24138,8 @@ i0.ɵɵngDeclareClassMetadata({
|
|
|
24011
24138
|
{ type: i0.Injector },
|
|
24012
24139
|
{ type: i0.ChangeDetectorRef },
|
|
24013
24140
|
{ type: i10.UntypedFormBuilder },
|
|
24014
|
-
{ type: i2$
|
|
24015
|
-
{ type: i2$
|
|
24141
|
+
{ type: i2$1.SubscriptionService },
|
|
24142
|
+
{ type: i2$1.AuthService },
|
|
24016
24143
|
{ type: i6$2.ConfirmDialogService }
|
|
24017
24144
|
],
|
|
24018
24145
|
propDecorators: {
|
|
@@ -24198,13 +24325,13 @@ var SubscriptionUsersComponent = class SubscriptionUsersComponent extends AppBas
|
|
|
24198
24325
|
ngImport: i0,
|
|
24199
24326
|
type: SubscriptionUsersComponent,
|
|
24200
24327
|
deps: [
|
|
24201
|
-
{ token: i2$
|
|
24328
|
+
{ token: i2$1.SubscriptionService },
|
|
24202
24329
|
{ token: i0.Injector },
|
|
24203
24330
|
{ token: i0.ChangeDetectorRef },
|
|
24204
|
-
{ token: i2$
|
|
24205
|
-
{ token: i2$
|
|
24331
|
+
{ token: i2$1.AuthService },
|
|
24332
|
+
{ token: i2$1.WindowService },
|
|
24206
24333
|
{ token: i1$1.AdminService },
|
|
24207
|
-
{ token: i2$
|
|
24334
|
+
{ token: i2$1.CustomToastService },
|
|
24208
24335
|
{ token: i6$2.ConfirmDialogService }
|
|
24209
24336
|
],
|
|
24210
24337
|
target: i0.ɵɵFactoryTarget.Component
|
|
@@ -24239,12 +24366,12 @@ var SubscriptionUsersComponent = class SubscriptionUsersComponent extends AppBas
|
|
|
24239
24366
|
],
|
|
24240
24367
|
usesInheritance: true,
|
|
24241
24368
|
ngImport: i0,
|
|
24242
|
-
template: "<div class=\"w-100 text-center mt-3\">\n @if (!isLoaded) {\n <p-progress-spinner></p-progress-spinner>\n }\n</div>\n@if (!isAddEnabled && canShowSubscriptionActions && isUserSubscriptionSuperAdmin) {\n <div class=\"text-end mb-2\">\n <button class=\"btn btn-sm btn-outline-primary\" (click)=\"isAddEnabled = true\">\n <i class=\"fa fa-plus-circle\" aria-hidden=\"true\"></i> Add Members\n </button>\n </div>\n}\n@if (!isAddEnabled) {\n <section id=\"members\"\n >\n <div [class.hideTable]=\"totalUnfilteredCount === 0\"\n class=\"primeng-datatable-container actions-collapsed table-responsive mt-0\">\n <p-table #dt\n stateKey=\"pw-table.admin-subscription-users\"\n stateStorage=\"session\"\n [resizableColumns]=\"true\"\n columnResizeMode=\"expand\"\n [value]=\"subscriptionMembers\"\n [paginator]=\"totalRecords !== 0\"\n [rows]=\"PAGE_SIZE\"\n [lazy]=\"true\"\n [totalRecords]=\"totalRecords\"\n [loading]=\"loading\"\n [filterDelay]=\"1000\"\n [customSort]=\"true\"\n (onLazyLoad)=\"onLazyLoad($event)\">\n <ng-template #caption>\n <div class=\"text-end\">\n <label for=\"subscription-users-search\" class=\"visually-hidden\">Search subscription users</label>\n <p-iconfield iconPosition=\"left\">\n <p-inputicon><i class=\"fa fa-search\" aria-hidden=\"true\"></i></p-inputicon>\n <input id=\"subscription-users-search\"\n name=\"subscription-users-search\"\n [(ngModel)]=\"searchText\"\n (input)=\"dt.filterGlobal($event.target.value, 'contains')\"\n type=\"text\"\n pInputText\n placeholder=\"Search subscription users...\"\n aria-label=\"Search subscription users...\" />\n </p-iconfield>\n </div>\n </ng-template>\n <ng-template #header>\n <tr>\n <th pResizableColumn scope=\"true\"\n pSortableColumn=\"id\">\n {{ 'Admin.Users.Id' | transloco }}\n <p-sort-icon field=\"id\"></p-sort-icon>\n </th>\n <th pResizableColumn scope=\"true\"\n pSortableColumn=\"first_name\">\n {{ 'Label.FirstName' | transloco }}\n </th>\n <th pResizableColumn scope=\"true\"\n pSortableColumn=\"last_name\">\n {{ 'Label.LastName' | transloco }}\n <p-sort-icon field=\"last_name\"></p-sort-icon>\n </th>\n <th pResizableColumn scope=\"true\"\n pSortableColumn=\"email\">\n {{ 'Label.Email' | transloco }}\n <p-sort-icon field=\"email\"></p-sort-icon>\n </th>\n <th pResizableColumn scope=\"true\"\n pSortableColumn=\"slug\">\n {{ 'Admin.Subscriptions.NickName' | transloco }}\n <p-sort-icon field=\"slug\"></p-sort-icon>\n </th>\n <th pResizableColumn scope=\"true\"\n pSortableColumn=\"has_password\">\n {{ 'Admin.Subscriptions.EmailConfirmed' | transloco }}\n <p-sort-icon field=\"has_password\"></p-sort-icon>\n </th>\n <th pResizableColumn scope=\"true\"\n pSortableColumn=\"last_sign_in_at\">\n {{ 'Admin.Subscriptions.LastLogin' | transloco }}\n <p-sort-icon field=\"last_sign_in_at\"></p-sort-icon>\n </th>\n <th scope=\"true\" class=\"actions-list-two\">\n {{ 'Label.Actions' | transloco }}\n </th>\n </tr>\n </ng-template>\n <ng-template #body\n let-user>\n <tr>\n <td data-head=\"Id\">{{ user.id }}</td>\n <td data-head=\"First Name\">\n <span class=\"first-name\">{{ user.first_name }}</span>\n @if (subscriptionOwnerUserId === user.id) {\n <span *rbacAllow=\"'Pages.Alpha'\" class=\"badge bg-primary mx-1\"> Owner </span>\n }\n @if (subscriptionAdmins?.includes(user?.id)) {\n <span class=\"badge bg-success mx-1 admin-badge\"> Admin </span>\n }\n \n </td>\n <td data-head=\"Last Name\">\n {{ user.last_name }}\n @if (user?.alpha) {\n <span\n [pTooltip]=\"'Admin.Users.Tooltip.AlphaIcon'|transloco\"\n tooltipPosition=\"top\"\n appendTo=\"body\">\n <i class=\"fa-regular fa-square-a alpha-beta text-warning\"></i>\n </span>\n }\n @if (user?.beta) {\n <span\n [pTooltip]=\"'Admin.Users.Tooltip.BetaIcon'|transloco\"\n class=\"ms-2\"\n tooltipPosition=\"top\"\n appendTo=\"body\">\n <i class=\"fa-regular fa-square-b alpha-beta text-primary\"></i>\n </span>\n }\n @if (user?.cognito_sso_activated) {\n <span\n class=\"ms-2\"\n [pTooltip]=\"'Admin.Users.Tooltip.Cognito' | transloco\"\n tooltipPosition=\"top\"\n appendTo=\"body\">\n <i class=\"fa fa-cloud success\" ></i>\n </span>\n }\n </td>\n <td data-head=\"Email\">{{ user.email }}</td>\n <td data-head=\"Nick Name\">\n <a [routerLink]=\"['/members', user.slug]\">{{ user.slug }}</a>\n </td>\n <td data-head=\"Email Confirm\">\n <span [appDynamicBadge]=\"{ itemsArray: [true, false], item: user?.has_password }\"\n color=\"success-danger\"\n class=\"badge\">\n {{ user?.has_password ? 'Yes' : 'No' }}\n </span>\n @if (user?.blocked) {\n <span\n [pTooltip]=\"'This user has been blocked'\"\n class=\"ms-2\"\n tooltipPosition=\"top\"\n appendTo=\"body\">\n <i class=\"fa-solid fa-hexagon-exclamation text-danger hexa-warning\"></i>\n </span>\n }\n </td>\n <td data-head=\"Last Login\">\n @if (user?.current_sign_in_at | isOnline) {\n <pw-online-indicator [lastSeen]=\"user.current_sign_in_at\" />\n } @else if (user?.current_sign_in_at) {\n <span>\n <span>\n {{ user.current_sign_in_at | dateFormat }}\n </span>\n <span>\n ({{ user.current_sign_in_at | sinceAgo }})\n </span>\n </span>\n } @else {\n <span>\n <span>\n {{ user.last_sign_in_at | dateFormat }}\n </span>\n @if (user.last_sign_in_at) {\n <span>\n ({{ user.last_sign_in_at | sinceAgo }})\n </span>\n }\n </span>\n }\n </td>\n <td data-head=\"Action\">\n <ul class=\"list-unstyled list-inline list-action\">\n <li *rbacAllow=\"'Pages.Alpha'\" pTooltip=\"Impersonate this user\" tooltipPosition=\"top\" appendTo=\"body\" class=\"me-2 me-sm-3\">\n <i (click)=\"onImpersonate(user)\" (keydown.enter)=\"onImpersonate(user)\" class=\"fas fa-people-arrows fa-lg\" aria-hidden=\"true\"></i>\n </li>\n @if (subscriptionOwnerUserId !== user.id) {\n <li *rbacAllow=\"'Pages.Alpha'\" pTooltip=\"Set this user as new owner\" tooltipPosition=\"top\" appendTo=\"body\" class=\"me-2 me-sm-3\">\n <i (click)=\"onChangeOwner(user)\" (keydown.enter)=\"onChangeOwner(user)\" class=\"fa fa-key warning fa-lg\" aria-hidden=\"true\"></i>\n </li>\n }\n @if (user?.enable_two_factor_authenticator) {\n <li *rbacAllow=\"'Pages.Alpha'\"\n (click)=\"disable2fa(user?.id)\"\n (keydown.enter)=\"disable2fa(user?.id)\"\n pTooltip=\"Disable 2FA\"\n tooltipPosition=\"top\"\n appendTo=\"body\"\n class=\"me-2 me-sm-3 success\">\n <i class=\"fa fa-lock\"\n aria-hidden=\"true\"></i>\n </li>\n }\n @if (canShowSubscriptionActions && isUserSubscriptionSuperAdmin) {\n <!-- Make Admin -->\n @if (!subscriptionAdmins?.includes(user.id)) {\n <li pTooltip=\"Make Admin\"\n tooltipPosition=\"top\"\n appendTo=\"body\"\n class=\"me-2 me-sm-3 mx-2\"\n >\n <i\n class=\"fa fa-user-crown fa-lg success\"\n (click)=\"makeAdmin(user, true)\"\n (keydown.enter)=\"makeAdmin(users, true)\"\n aria-hidden=\"true\"\n ></i>\n </li>\n }\n <li></li>\n <!-- Remove Admin -->\n @if (subscriptionAdmins?.includes(user.id)) {\n <li pTooltip=\"Remove Admin\"\n tooltipPosition=\"top\"\n appendTo=\"body\"\n class=\"me-2 me-sm-3 mx-2\"\n >\n <i\n class=\"fa fa-ban warning fa-lg\"\n (keydown.enter)=\"makeAdmin(user, false)\"\n (click)=\"makeAdmin(user, false)\"\n aria-hidden=\"true\"\n ></i>\n </li>\n }\n } @else {\n <li class=\"mx-3\"></li>\n }\n @if (canShowSubscriptionActions) {\n <li\n [routerLink]=\"[routers.usersDetails + user.id]\"\n pTooltip=\"Edit\"\n tooltipPosition=\"top\"\n appendTo=\"body\"\n class=\"me-2 me-sm-3\">\n <i class=\"fa fa-edit edit-icon\"\n aria-hidden=\"true\"></i>\n </li>\n }\n @if (canShowSubscriptionActions && isGranted('Pages.Admin.Users.Delete')) {\n <li\n pTooltip=\"Remove user from subscription\"\n tooltipPosition=\"top\"\n appendTo=\"body\"\n class=\"me-2 me-sm-3\">\n <i (click)=\"onDelete(user)\"\n (keydown.enter)=\"onDelete(user)\"\n class=\"fa fa-trash delete-icon\"\n aria-hidden=\"true\"></i>\n </li>\n }\n </ul>\n </td>\n </tr>\n </ng-template>\n </p-table>\n @if (totalRecords === 0 && totalUnfilteredCount !== 0) {\n <div>\n <pw-no-data [withImage]=\"true\" [message]=\"'Search.NoDataMessage' | transloco\" [description]=\"'Search.NoDataDescription' | transloco\" >\n </pw-no-data>\n </div>\n }\n @if (totalRecords !== 0) {\n <pw-records-summary [showing]=\"dt?.value?.length ?? 0\" [total]=\"totalRecords\" />\n }\n </div>\n @if (totalUnfilteredCount === 0 && isLoaded) {\n <div>\n <pw-no-data [withImage]=\"true\" [message]=\"'Admin.Subscriptions.NoSubscriptionUsersMessage' | transloco\">\n </pw-no-data>\n </div>\n }\n </section>\n}\n\n@if (isAddEnabled) {\n <section id=\"manage-members\"\n >\n <pw-add-members (membersAdded)=\"onMembersAdded()\"\n ></pw-add-members>\n </section>\n}\n\n<!-- password validation modal for impersonate -->\n<pw-password-validation #passwordValidationModalForImpersonate\n (successEvent)=\"onUserImpersonation($event)\">\n</pw-password-validation>\n<!-- password validation modal for delete user -->\n\n<!-- password validation modal for remove2fa -->\n<pw-password-validation #passwordValidationModalForRemove2fa\n (successEvent)=\"remove2fa($event)\">\n</pw-password-validation>\n",
|
|
24369
|
+
template: "<div class=\"w-100 text-center mt-3\">\n @if (!isLoaded) {\n <p-progress-spinner></p-progress-spinner>\n }\n</div>\n@if (!isAddEnabled && canShowSubscriptionActions && isUserSubscriptionSuperAdmin) {\n <div class=\"text-end mb-2\">\n <button class=\"btn btn-sm btn-outline-primary\" (click)=\"isAddEnabled = true\">\n <i class=\"fa fa-plus-circle\" aria-hidden=\"true\"></i> Add Members\n </button>\n </div>\n}\n@if (!isAddEnabled) {\n <section id=\"members\"\n >\n <div [class.hideTable]=\"totalUnfilteredCount === 0\"\n class=\"primeng-datatable-container actions-collapsed table-responsive mt-0\">\n <p-table #dt\n stateKey=\"pw-table.admin-subscription-users\"\n stateStorage=\"session\"\n [resizableColumns]=\"true\"\n columnResizeMode=\"expand\"\n [value]=\"subscriptionMembers\"\n [paginator]=\"totalRecords !== 0\"\n [rows]=\"PAGE_SIZE\"\n [lazy]=\"true\"\n [totalRecords]=\"totalRecords\"\n [loading]=\"loading\"\n [filterDelay]=\"1000\"\n [customSort]=\"true\"\n (onLazyLoad)=\"onLazyLoad($event)\">\n <ng-template #caption>\n <div class=\"text-end\">\n <label for=\"subscription-users-search\" class=\"visually-hidden\">Search subscription users</label>\n <p-iconfield iconPosition=\"left\">\n <p-inputicon><i class=\"fa fa-search\" aria-hidden=\"true\"></i></p-inputicon>\n <input id=\"subscription-users-search\"\n name=\"subscription-users-search\"\n [(ngModel)]=\"searchText\"\n (input)=\"dt.filterGlobal($event.target.value, 'contains')\"\n type=\"text\"\n pInputText\n placeholder=\"Search subscription users...\"\n aria-label=\"Search subscription users...\" />\n </p-iconfield>\n </div>\n </ng-template>\n <ng-template #header>\n <tr>\n <th pResizableColumn scope=\"true\"\n pSortableColumn=\"id\">\n {{ 'Admin.Users.Id' | transloco }}\n <p-sort-icon field=\"id\"></p-sort-icon>\n </th>\n <th pResizableColumn scope=\"true\"\n pSortableColumn=\"first_name\">\n {{ 'Label.FirstName' | transloco }}\n </th>\n <th pResizableColumn scope=\"true\"\n pSortableColumn=\"last_name\">\n {{ 'Label.LastName' | transloco }}\n <p-sort-icon field=\"last_name\"></p-sort-icon>\n </th>\n <th pResizableColumn scope=\"true\"\n pSortableColumn=\"email\">\n {{ 'Label.Email' | transloco }}\n <p-sort-icon field=\"email\"></p-sort-icon>\n </th>\n <th pResizableColumn scope=\"true\"\n pSortableColumn=\"slug\">\n {{ 'Admin.Subscriptions.NickName' | transloco }}\n <p-sort-icon field=\"slug\"></p-sort-icon>\n </th>\n <th pResizableColumn scope=\"true\"\n pSortableColumn=\"has_password\">\n {{ 'Admin.Subscriptions.EmailConfirmed' | transloco }}\n <p-sort-icon field=\"has_password\"></p-sort-icon>\n </th>\n <th pResizableColumn scope=\"true\"\n pSortableColumn=\"last_sign_in_at\">\n {{ 'Admin.Subscriptions.LastLogin' | transloco }}\n <p-sort-icon field=\"last_sign_in_at\"></p-sort-icon>\n </th>\n <th scope=\"true\" class=\"actions-list-two\">\n {{ 'Label.Actions' | transloco }}\n </th>\n </tr>\n </ng-template>\n <ng-template #body\n let-user>\n <tr>\n <td data-head=\"Id\">{{ user.id }}</td>\n <td data-head=\"First Name\">\n <span class=\"first-name\">{{ user.first_name }}</span>\n @if (subscriptionOwnerUserId === user.id) {\n <span *rbacAllow=\"'Pages.Alpha'\" class=\"badge bg-primary mx-1\"> Owner </span>\n }\n @if (subscriptionAdmins?.includes(user?.id)) {\n <span class=\"badge bg-success mx-1 admin-badge\"> Admin </span>\n }\n \n </td>\n <td data-head=\"Last Name\">\n {{ user.last_name }}\n @if (user?.alpha) {\n <span\n [pTooltip]=\"'Admin.Users.Tooltip.AlphaIcon'|transloco\"\n tooltipPosition=\"top\"\n appendTo=\"body\">\n <i class=\"fa-regular fa-square-a alpha-beta text-warning\"></i>\n </span>\n }\n @if (user?.beta) {\n <span\n [pTooltip]=\"'Admin.Users.Tooltip.BetaIcon'|transloco\"\n class=\"ms-2\"\n tooltipPosition=\"top\"\n appendTo=\"body\">\n <i class=\"fa-regular fa-square-b alpha-beta text-primary\"></i>\n </span>\n }\n @if (user?.cognito_sso_activated) {\n <span\n class=\"ms-2\"\n [pTooltip]=\"'Admin.Users.Tooltip.Cognito' | transloco\"\n tooltipPosition=\"top\"\n appendTo=\"body\">\n <i class=\"fa fa-cloud success\" ></i>\n </span>\n }\n </td>\n <td data-head=\"Email\">{{ user.email }}</td>\n <td data-head=\"Nick Name\">\n <a [routerLink]=\"['/members', user.slug]\">{{ user.slug }}</a>\n </td>\n <td data-head=\"Email Confirm\">\n <span [appDynamicBadge]=\"{ itemsArray: [true, false], item: user?.has_password }\"\n color=\"success-danger\"\n class=\"badge\">\n {{ user?.has_password ? 'Yes' : 'No' }}\n </span>\n @if (user?.blocked) {\n <span\n [pTooltip]=\"'This user has been blocked'\"\n class=\"ms-2\"\n tooltipPosition=\"top\"\n appendTo=\"body\">\n <i class=\"fa-solid fa-hexagon-exclamation text-danger hexa-warning\"></i>\n </span>\n }\n </td>\n <td data-head=\"Last Login\">\n @if (user?.current_sign_in_at | isOnline) {\n <pw-online-indicator [lastSeen]=\"user.current_sign_in_at\" />\n } @else if (user?.current_sign_in_at) {\n <span>\n <span>\n {{ user.current_sign_in_at | dateFormat }}\n </span>\n <span>\n ({{ user.current_sign_in_at | sinceAgo }})\n </span>\n </span>\n } @else {\n <span>\n <span>\n {{ user.last_sign_in_at | dateFormat }}\n </span>\n @if (user.last_sign_in_at) {\n <span>\n ({{ user.last_sign_in_at | sinceAgo }})\n </span>\n }\n </span>\n }\n </td>\n <td data-head=\"Action\">\n <ul class=\"list-unstyled list-inline list-action\">\n <li *rbacAllow=\"'Pages.Alpha'\" pTooltip=\"Impersonate this user\" tooltipPosition=\"top\" appendTo=\"body\" class=\"me-2 me-sm-3\">\n <i (click)=\"onImpersonate(user)\" (keydown.enter)=\"onImpersonate(user)\" class=\"fas fa-people-arrows fa-lg\" aria-hidden=\"true\"></i>\n </li>\n @if (subscriptionOwnerUserId !== user.id) {\n <li *rbacAllow=\"'Pages.Alpha'\" pTooltip=\"Set this user as new owner\" tooltipPosition=\"top\" appendTo=\"body\" class=\"me-2 me-sm-3\">\n <i (click)=\"onChangeOwner(user)\" (keydown.enter)=\"onChangeOwner(user)\" class=\"fa fa-key warning fa-lg\" aria-hidden=\"true\"></i>\n </li>\n }\n @if (user?.enable_two_factor_authenticator) {\n <li *rbacAllow=\"'Pages.Alpha'\"\n (click)=\"disable2fa(user?.id)\"\n (keydown.enter)=\"disable2fa(user?.id)\"\n pTooltip=\"Disable 2FA\"\n tooltipPosition=\"top\"\n appendTo=\"body\"\n class=\"me-2 me-sm-3 success\">\n <i class=\"fa fa-lock\"\n aria-hidden=\"true\"></i>\n </li>\n }\n @if (canShowSubscriptionActions && isUserSubscriptionSuperAdmin) {\n <!-- Make Admin -->\n @if (!subscriptionAdmins?.includes(user.id)) {\n <li pTooltip=\"Make Admin\"\n tooltipPosition=\"top\"\n appendTo=\"body\"\n class=\"me-2 me-sm-3 mx-2\"\n >\n <i\n class=\"fa fa-user-crown fa-lg success\"\n (click)=\"makeAdmin(user, true)\"\n (keydown.enter)=\"makeAdmin(users, true)\"\n aria-hidden=\"true\"\n ></i>\n </li>\n }\n <!-- Remove Admin -->\n @if (subscriptionAdmins?.includes(user.id)) {\n <li pTooltip=\"Remove Admin\"\n tooltipPosition=\"top\"\n appendTo=\"body\"\n class=\"me-2 me-sm-3 mx-2\"\n >\n <i\n class=\"fa fa-ban warning fa-lg\"\n (keydown.enter)=\"makeAdmin(user, false)\"\n (click)=\"makeAdmin(user, false)\"\n aria-hidden=\"true\"\n ></i>\n </li>\n }\n }\n @if (canShowSubscriptionActions) {\n <li\n [routerLink]=\"[routers.usersDetails + user.id]\"\n pTooltip=\"Edit\"\n tooltipPosition=\"top\"\n appendTo=\"body\"\n class=\"me-2 me-sm-3\">\n <i class=\"fa fa-edit edit-icon\"\n aria-hidden=\"true\"></i>\n </li>\n }\n @if (canShowSubscriptionActions && isGranted('Pages.Admin.Users.Delete')) {\n <li\n pTooltip=\"Remove user from subscription\"\n tooltipPosition=\"top\"\n appendTo=\"body\"\n class=\"me-2 me-sm-3\">\n <i (click)=\"onDelete(user)\"\n (keydown.enter)=\"onDelete(user)\"\n class=\"fa fa-trash delete-icon\"\n aria-hidden=\"true\"></i>\n </li>\n }\n </ul>\n </td>\n </tr>\n </ng-template>\n </p-table>\n @if (totalRecords === 0 && totalUnfilteredCount !== 0) {\n <div>\n <pw-no-data [withImage]=\"true\" [message]=\"'Search.NoDataMessage' | transloco\" [description]=\"'Search.NoDataDescription' | transloco\" >\n </pw-no-data>\n </div>\n }\n @if (totalRecords !== 0) {\n <pw-records-summary [showing]=\"dt?.value?.length ?? 0\" [total]=\"totalRecords\" />\n }\n </div>\n @if (totalUnfilteredCount === 0 && isLoaded) {\n <div>\n <pw-no-data [withImage]=\"true\" [message]=\"'Admin.Subscriptions.NoSubscriptionUsersMessage' | transloco\">\n </pw-no-data>\n </div>\n }\n </section>\n}\n\n@if (isAddEnabled) {\n <section id=\"manage-members\"\n >\n <pw-add-members (membersAdded)=\"onMembersAdded()\"\n ></pw-add-members>\n </section>\n}\n\n<!-- password validation modal for impersonate -->\n<pw-password-validation #passwordValidationModalForImpersonate\n (successEvent)=\"onUserImpersonation($event)\">\n</pw-password-validation>\n<!-- password validation modal for delete user -->\n\n<!-- password validation modal for remove2fa -->\n<pw-password-validation #passwordValidationModalForRemove2fa\n (successEvent)=\"remove2fa($event)\">\n</pw-password-validation>\n",
|
|
24243
24370
|
styles: [".hexa-warning{font-size:18px;vertical-align:middle}.alpha-beta{font-size:14px}.info-icon{vertical-align:middle;margin-left:5px}.first-name{margin-right:5px}\n"],
|
|
24244
24371
|
dependencies: [
|
|
24245
24372
|
{
|
|
24246
24373
|
kind: "component",
|
|
24247
|
-
type: i2$
|
|
24374
|
+
type: i2$3.Table,
|
|
24248
24375
|
selector: "p-table",
|
|
24249
24376
|
inputs: [
|
|
24250
24377
|
"frozenColumns",
|
|
@@ -24357,19 +24484,19 @@ var SubscriptionUsersComponent = class SubscriptionUsersComponent extends AppBas
|
|
|
24357
24484
|
},
|
|
24358
24485
|
{
|
|
24359
24486
|
kind: "directive",
|
|
24360
|
-
type: i2$
|
|
24487
|
+
type: i2$3.SortableColumn,
|
|
24361
24488
|
selector: "[pSortableColumn]",
|
|
24362
24489
|
inputs: ["pSortableColumn", "pSortableColumnDisabled"]
|
|
24363
24490
|
},
|
|
24364
24491
|
{
|
|
24365
24492
|
kind: "directive",
|
|
24366
|
-
type: i2$
|
|
24493
|
+
type: i2$3.ResizableColumn,
|
|
24367
24494
|
selector: "[pResizableColumn]",
|
|
24368
24495
|
inputs: ["pResizableColumnDisabled"]
|
|
24369
24496
|
},
|
|
24370
24497
|
{
|
|
24371
24498
|
kind: "component",
|
|
24372
|
-
type: i2$
|
|
24499
|
+
type: i2$3.SortIcon,
|
|
24373
24500
|
selector: "p-sort-icon, p-sorticon",
|
|
24374
24501
|
inputs: ["field"]
|
|
24375
24502
|
},
|
|
@@ -24459,7 +24586,7 @@ var SubscriptionUsersComponent = class SubscriptionUsersComponent extends AppBas
|
|
|
24459
24586
|
},
|
|
24460
24587
|
{
|
|
24461
24588
|
kind: "component",
|
|
24462
|
-
type: i11
|
|
24589
|
+
type: i11.ProgressSpinner,
|
|
24463
24590
|
selector: "p-progress-spinner, p-progressspinner",
|
|
24464
24591
|
inputs: [
|
|
24465
24592
|
"value",
|
|
@@ -24542,17 +24669,17 @@ var SubscriptionUsersComponent = class SubscriptionUsersComponent extends AppBas
|
|
|
24542
24669
|
},
|
|
24543
24670
|
{
|
|
24544
24671
|
kind: "pipe",
|
|
24545
|
-
type: i9.DateFormatPipe,
|
|
24672
|
+
type: i9$1.DateFormatPipe,
|
|
24546
24673
|
name: "dateFormat"
|
|
24547
24674
|
},
|
|
24548
24675
|
{
|
|
24549
24676
|
kind: "pipe",
|
|
24550
|
-
type: i9.SinceAgoPipe,
|
|
24677
|
+
type: i9$1.SinceAgoPipe,
|
|
24551
24678
|
name: "sinceAgo"
|
|
24552
24679
|
},
|
|
24553
24680
|
{
|
|
24554
24681
|
kind: "pipe",
|
|
24555
|
-
type: i9.IsOnlinePipe,
|
|
24682
|
+
type: i9$1.IsOnlinePipe,
|
|
24556
24683
|
name: "isOnline"
|
|
24557
24684
|
}
|
|
24558
24685
|
]
|
|
@@ -24569,18 +24696,18 @@ i0.ɵɵngDeclareClassMetadata({
|
|
|
24569
24696
|
args: [{
|
|
24570
24697
|
selector: "pw-subscription-users",
|
|
24571
24698
|
standalone: false,
|
|
24572
|
-
template: "<div class=\"w-100 text-center mt-3\">\n @if (!isLoaded) {\n <p-progress-spinner></p-progress-spinner>\n }\n</div>\n@if (!isAddEnabled && canShowSubscriptionActions && isUserSubscriptionSuperAdmin) {\n <div class=\"text-end mb-2\">\n <button class=\"btn btn-sm btn-outline-primary\" (click)=\"isAddEnabled = true\">\n <i class=\"fa fa-plus-circle\" aria-hidden=\"true\"></i> Add Members\n </button>\n </div>\n}\n@if (!isAddEnabled) {\n <section id=\"members\"\n >\n <div [class.hideTable]=\"totalUnfilteredCount === 0\"\n class=\"primeng-datatable-container actions-collapsed table-responsive mt-0\">\n <p-table #dt\n stateKey=\"pw-table.admin-subscription-users\"\n stateStorage=\"session\"\n [resizableColumns]=\"true\"\n columnResizeMode=\"expand\"\n [value]=\"subscriptionMembers\"\n [paginator]=\"totalRecords !== 0\"\n [rows]=\"PAGE_SIZE\"\n [lazy]=\"true\"\n [totalRecords]=\"totalRecords\"\n [loading]=\"loading\"\n [filterDelay]=\"1000\"\n [customSort]=\"true\"\n (onLazyLoad)=\"onLazyLoad($event)\">\n <ng-template #caption>\n <div class=\"text-end\">\n <label for=\"subscription-users-search\" class=\"visually-hidden\">Search subscription users</label>\n <p-iconfield iconPosition=\"left\">\n <p-inputicon><i class=\"fa fa-search\" aria-hidden=\"true\"></i></p-inputicon>\n <input id=\"subscription-users-search\"\n name=\"subscription-users-search\"\n [(ngModel)]=\"searchText\"\n (input)=\"dt.filterGlobal($event.target.value, 'contains')\"\n type=\"text\"\n pInputText\n placeholder=\"Search subscription users...\"\n aria-label=\"Search subscription users...\" />\n </p-iconfield>\n </div>\n </ng-template>\n <ng-template #header>\n <tr>\n <th pResizableColumn scope=\"true\"\n pSortableColumn=\"id\">\n {{ 'Admin.Users.Id' | transloco }}\n <p-sort-icon field=\"id\"></p-sort-icon>\n </th>\n <th pResizableColumn scope=\"true\"\n pSortableColumn=\"first_name\">\n {{ 'Label.FirstName' | transloco }}\n </th>\n <th pResizableColumn scope=\"true\"\n pSortableColumn=\"last_name\">\n {{ 'Label.LastName' | transloco }}\n <p-sort-icon field=\"last_name\"></p-sort-icon>\n </th>\n <th pResizableColumn scope=\"true\"\n pSortableColumn=\"email\">\n {{ 'Label.Email' | transloco }}\n <p-sort-icon field=\"email\"></p-sort-icon>\n </th>\n <th pResizableColumn scope=\"true\"\n pSortableColumn=\"slug\">\n {{ 'Admin.Subscriptions.NickName' | transloco }}\n <p-sort-icon field=\"slug\"></p-sort-icon>\n </th>\n <th pResizableColumn scope=\"true\"\n pSortableColumn=\"has_password\">\n {{ 'Admin.Subscriptions.EmailConfirmed' | transloco }}\n <p-sort-icon field=\"has_password\"></p-sort-icon>\n </th>\n <th pResizableColumn scope=\"true\"\n pSortableColumn=\"last_sign_in_at\">\n {{ 'Admin.Subscriptions.LastLogin' | transloco }}\n <p-sort-icon field=\"last_sign_in_at\"></p-sort-icon>\n </th>\n <th scope=\"true\" class=\"actions-list-two\">\n {{ 'Label.Actions' | transloco }}\n </th>\n </tr>\n </ng-template>\n <ng-template #body\n let-user>\n <tr>\n <td data-head=\"Id\">{{ user.id }}</td>\n <td data-head=\"First Name\">\n <span class=\"first-name\">{{ user.first_name }}</span>\n @if (subscriptionOwnerUserId === user.id) {\n <span *rbacAllow=\"'Pages.Alpha'\" class=\"badge bg-primary mx-1\"> Owner </span>\n }\n @if (subscriptionAdmins?.includes(user?.id)) {\n <span class=\"badge bg-success mx-1 admin-badge\"> Admin </span>\n }\n \n </td>\n <td data-head=\"Last Name\">\n {{ user.last_name }}\n @if (user?.alpha) {\n <span\n [pTooltip]=\"'Admin.Users.Tooltip.AlphaIcon'|transloco\"\n tooltipPosition=\"top\"\n appendTo=\"body\">\n <i class=\"fa-regular fa-square-a alpha-beta text-warning\"></i>\n </span>\n }\n @if (user?.beta) {\n <span\n [pTooltip]=\"'Admin.Users.Tooltip.BetaIcon'|transloco\"\n class=\"ms-2\"\n tooltipPosition=\"top\"\n appendTo=\"body\">\n <i class=\"fa-regular fa-square-b alpha-beta text-primary\"></i>\n </span>\n }\n @if (user?.cognito_sso_activated) {\n <span\n class=\"ms-2\"\n [pTooltip]=\"'Admin.Users.Tooltip.Cognito' | transloco\"\n tooltipPosition=\"top\"\n appendTo=\"body\">\n <i class=\"fa fa-cloud success\" ></i>\n </span>\n }\n </td>\n <td data-head=\"Email\">{{ user.email }}</td>\n <td data-head=\"Nick Name\">\n <a [routerLink]=\"['/members', user.slug]\">{{ user.slug }}</a>\n </td>\n <td data-head=\"Email Confirm\">\n <span [appDynamicBadge]=\"{ itemsArray: [true, false], item: user?.has_password }\"\n color=\"success-danger\"\n class=\"badge\">\n {{ user?.has_password ? 'Yes' : 'No' }}\n </span>\n @if (user?.blocked) {\n <span\n [pTooltip]=\"'This user has been blocked'\"\n class=\"ms-2\"\n tooltipPosition=\"top\"\n appendTo=\"body\">\n <i class=\"fa-solid fa-hexagon-exclamation text-danger hexa-warning\"></i>\n </span>\n }\n </td>\n <td data-head=\"Last Login\">\n @if (user?.current_sign_in_at | isOnline) {\n <pw-online-indicator [lastSeen]=\"user.current_sign_in_at\" />\n } @else if (user?.current_sign_in_at) {\n <span>\n <span>\n {{ user.current_sign_in_at | dateFormat }}\n </span>\n <span>\n ({{ user.current_sign_in_at | sinceAgo }})\n </span>\n </span>\n } @else {\n <span>\n <span>\n {{ user.last_sign_in_at | dateFormat }}\n </span>\n @if (user.last_sign_in_at) {\n <span>\n ({{ user.last_sign_in_at | sinceAgo }})\n </span>\n }\n </span>\n }\n </td>\n <td data-head=\"Action\">\n <ul class=\"list-unstyled list-inline list-action\">\n <li *rbacAllow=\"'Pages.Alpha'\" pTooltip=\"Impersonate this user\" tooltipPosition=\"top\" appendTo=\"body\" class=\"me-2 me-sm-3\">\n <i (click)=\"onImpersonate(user)\" (keydown.enter)=\"onImpersonate(user)\" class=\"fas fa-people-arrows fa-lg\" aria-hidden=\"true\"></i>\n </li>\n @if (subscriptionOwnerUserId !== user.id) {\n <li *rbacAllow=\"'Pages.Alpha'\" pTooltip=\"Set this user as new owner\" tooltipPosition=\"top\" appendTo=\"body\" class=\"me-2 me-sm-3\">\n <i (click)=\"onChangeOwner(user)\" (keydown.enter)=\"onChangeOwner(user)\" class=\"fa fa-key warning fa-lg\" aria-hidden=\"true\"></i>\n </li>\n }\n @if (user?.enable_two_factor_authenticator) {\n <li *rbacAllow=\"'Pages.Alpha'\"\n (click)=\"disable2fa(user?.id)\"\n (keydown.enter)=\"disable2fa(user?.id)\"\n pTooltip=\"Disable 2FA\"\n tooltipPosition=\"top\"\n appendTo=\"body\"\n class=\"me-2 me-sm-3 success\">\n <i class=\"fa fa-lock\"\n aria-hidden=\"true\"></i>\n </li>\n }\n @if (canShowSubscriptionActions && isUserSubscriptionSuperAdmin) {\n <!-- Make Admin -->\n @if (!subscriptionAdmins?.includes(user.id)) {\n <li pTooltip=\"Make Admin\"\n tooltipPosition=\"top\"\n appendTo=\"body\"\n class=\"me-2 me-sm-3 mx-2\"\n >\n <i\n class=\"fa fa-user-crown fa-lg success\"\n (click)=\"makeAdmin(user, true)\"\n (keydown.enter)=\"makeAdmin(users, true)\"\n aria-hidden=\"true\"\n ></i>\n </li>\n }\n <li></li>\n <!-- Remove Admin -->\n @if (subscriptionAdmins?.includes(user.id)) {\n <li pTooltip=\"Remove Admin\"\n tooltipPosition=\"top\"\n appendTo=\"body\"\n class=\"me-2 me-sm-3 mx-2\"\n >\n <i\n class=\"fa fa-ban warning fa-lg\"\n (keydown.enter)=\"makeAdmin(user, false)\"\n (click)=\"makeAdmin(user, false)\"\n aria-hidden=\"true\"\n ></i>\n </li>\n }\n } @else {\n <li class=\"mx-3\"></li>\n }\n @if (canShowSubscriptionActions) {\n <li\n [routerLink]=\"[routers.usersDetails + user.id]\"\n pTooltip=\"Edit\"\n tooltipPosition=\"top\"\n appendTo=\"body\"\n class=\"me-2 me-sm-3\">\n <i class=\"fa fa-edit edit-icon\"\n aria-hidden=\"true\"></i>\n </li>\n }\n @if (canShowSubscriptionActions && isGranted('Pages.Admin.Users.Delete')) {\n <li\n pTooltip=\"Remove user from subscription\"\n tooltipPosition=\"top\"\n appendTo=\"body\"\n class=\"me-2 me-sm-3\">\n <i (click)=\"onDelete(user)\"\n (keydown.enter)=\"onDelete(user)\"\n class=\"fa fa-trash delete-icon\"\n aria-hidden=\"true\"></i>\n </li>\n }\n </ul>\n </td>\n </tr>\n </ng-template>\n </p-table>\n @if (totalRecords === 0 && totalUnfilteredCount !== 0) {\n <div>\n <pw-no-data [withImage]=\"true\" [message]=\"'Search.NoDataMessage' | transloco\" [description]=\"'Search.NoDataDescription' | transloco\" >\n </pw-no-data>\n </div>\n }\n @if (totalRecords !== 0) {\n <pw-records-summary [showing]=\"dt?.value?.length ?? 0\" [total]=\"totalRecords\" />\n }\n </div>\n @if (totalUnfilteredCount === 0 && isLoaded) {\n <div>\n <pw-no-data [withImage]=\"true\" [message]=\"'Admin.Subscriptions.NoSubscriptionUsersMessage' | transloco\">\n </pw-no-data>\n </div>\n }\n </section>\n}\n\n@if (isAddEnabled) {\n <section id=\"manage-members\"\n >\n <pw-add-members (membersAdded)=\"onMembersAdded()\"\n ></pw-add-members>\n </section>\n}\n\n<!-- password validation modal for impersonate -->\n<pw-password-validation #passwordValidationModalForImpersonate\n (successEvent)=\"onUserImpersonation($event)\">\n</pw-password-validation>\n<!-- password validation modal for delete user -->\n\n<!-- password validation modal for remove2fa -->\n<pw-password-validation #passwordValidationModalForRemove2fa\n (successEvent)=\"remove2fa($event)\">\n</pw-password-validation>\n",
|
|
24699
|
+
template: "<div class=\"w-100 text-center mt-3\">\n @if (!isLoaded) {\n <p-progress-spinner></p-progress-spinner>\n }\n</div>\n@if (!isAddEnabled && canShowSubscriptionActions && isUserSubscriptionSuperAdmin) {\n <div class=\"text-end mb-2\">\n <button class=\"btn btn-sm btn-outline-primary\" (click)=\"isAddEnabled = true\">\n <i class=\"fa fa-plus-circle\" aria-hidden=\"true\"></i> Add Members\n </button>\n </div>\n}\n@if (!isAddEnabled) {\n <section id=\"members\"\n >\n <div [class.hideTable]=\"totalUnfilteredCount === 0\"\n class=\"primeng-datatable-container actions-collapsed table-responsive mt-0\">\n <p-table #dt\n stateKey=\"pw-table.admin-subscription-users\"\n stateStorage=\"session\"\n [resizableColumns]=\"true\"\n columnResizeMode=\"expand\"\n [value]=\"subscriptionMembers\"\n [paginator]=\"totalRecords !== 0\"\n [rows]=\"PAGE_SIZE\"\n [lazy]=\"true\"\n [totalRecords]=\"totalRecords\"\n [loading]=\"loading\"\n [filterDelay]=\"1000\"\n [customSort]=\"true\"\n (onLazyLoad)=\"onLazyLoad($event)\">\n <ng-template #caption>\n <div class=\"text-end\">\n <label for=\"subscription-users-search\" class=\"visually-hidden\">Search subscription users</label>\n <p-iconfield iconPosition=\"left\">\n <p-inputicon><i class=\"fa fa-search\" aria-hidden=\"true\"></i></p-inputicon>\n <input id=\"subscription-users-search\"\n name=\"subscription-users-search\"\n [(ngModel)]=\"searchText\"\n (input)=\"dt.filterGlobal($event.target.value, 'contains')\"\n type=\"text\"\n pInputText\n placeholder=\"Search subscription users...\"\n aria-label=\"Search subscription users...\" />\n </p-iconfield>\n </div>\n </ng-template>\n <ng-template #header>\n <tr>\n <th pResizableColumn scope=\"true\"\n pSortableColumn=\"id\">\n {{ 'Admin.Users.Id' | transloco }}\n <p-sort-icon field=\"id\"></p-sort-icon>\n </th>\n <th pResizableColumn scope=\"true\"\n pSortableColumn=\"first_name\">\n {{ 'Label.FirstName' | transloco }}\n </th>\n <th pResizableColumn scope=\"true\"\n pSortableColumn=\"last_name\">\n {{ 'Label.LastName' | transloco }}\n <p-sort-icon field=\"last_name\"></p-sort-icon>\n </th>\n <th pResizableColumn scope=\"true\"\n pSortableColumn=\"email\">\n {{ 'Label.Email' | transloco }}\n <p-sort-icon field=\"email\"></p-sort-icon>\n </th>\n <th pResizableColumn scope=\"true\"\n pSortableColumn=\"slug\">\n {{ 'Admin.Subscriptions.NickName' | transloco }}\n <p-sort-icon field=\"slug\"></p-sort-icon>\n </th>\n <th pResizableColumn scope=\"true\"\n pSortableColumn=\"has_password\">\n {{ 'Admin.Subscriptions.EmailConfirmed' | transloco }}\n <p-sort-icon field=\"has_password\"></p-sort-icon>\n </th>\n <th pResizableColumn scope=\"true\"\n pSortableColumn=\"last_sign_in_at\">\n {{ 'Admin.Subscriptions.LastLogin' | transloco }}\n <p-sort-icon field=\"last_sign_in_at\"></p-sort-icon>\n </th>\n <th scope=\"true\" class=\"actions-list-two\">\n {{ 'Label.Actions' | transloco }}\n </th>\n </tr>\n </ng-template>\n <ng-template #body\n let-user>\n <tr>\n <td data-head=\"Id\">{{ user.id }}</td>\n <td data-head=\"First Name\">\n <span class=\"first-name\">{{ user.first_name }}</span>\n @if (subscriptionOwnerUserId === user.id) {\n <span *rbacAllow=\"'Pages.Alpha'\" class=\"badge bg-primary mx-1\"> Owner </span>\n }\n @if (subscriptionAdmins?.includes(user?.id)) {\n <span class=\"badge bg-success mx-1 admin-badge\"> Admin </span>\n }\n \n </td>\n <td data-head=\"Last Name\">\n {{ user.last_name }}\n @if (user?.alpha) {\n <span\n [pTooltip]=\"'Admin.Users.Tooltip.AlphaIcon'|transloco\"\n tooltipPosition=\"top\"\n appendTo=\"body\">\n <i class=\"fa-regular fa-square-a alpha-beta text-warning\"></i>\n </span>\n }\n @if (user?.beta) {\n <span\n [pTooltip]=\"'Admin.Users.Tooltip.BetaIcon'|transloco\"\n class=\"ms-2\"\n tooltipPosition=\"top\"\n appendTo=\"body\">\n <i class=\"fa-regular fa-square-b alpha-beta text-primary\"></i>\n </span>\n }\n @if (user?.cognito_sso_activated) {\n <span\n class=\"ms-2\"\n [pTooltip]=\"'Admin.Users.Tooltip.Cognito' | transloco\"\n tooltipPosition=\"top\"\n appendTo=\"body\">\n <i class=\"fa fa-cloud success\" ></i>\n </span>\n }\n </td>\n <td data-head=\"Email\">{{ user.email }}</td>\n <td data-head=\"Nick Name\">\n <a [routerLink]=\"['/members', user.slug]\">{{ user.slug }}</a>\n </td>\n <td data-head=\"Email Confirm\">\n <span [appDynamicBadge]=\"{ itemsArray: [true, false], item: user?.has_password }\"\n color=\"success-danger\"\n class=\"badge\">\n {{ user?.has_password ? 'Yes' : 'No' }}\n </span>\n @if (user?.blocked) {\n <span\n [pTooltip]=\"'This user has been blocked'\"\n class=\"ms-2\"\n tooltipPosition=\"top\"\n appendTo=\"body\">\n <i class=\"fa-solid fa-hexagon-exclamation text-danger hexa-warning\"></i>\n </span>\n }\n </td>\n <td data-head=\"Last Login\">\n @if (user?.current_sign_in_at | isOnline) {\n <pw-online-indicator [lastSeen]=\"user.current_sign_in_at\" />\n } @else if (user?.current_sign_in_at) {\n <span>\n <span>\n {{ user.current_sign_in_at | dateFormat }}\n </span>\n <span>\n ({{ user.current_sign_in_at | sinceAgo }})\n </span>\n </span>\n } @else {\n <span>\n <span>\n {{ user.last_sign_in_at | dateFormat }}\n </span>\n @if (user.last_sign_in_at) {\n <span>\n ({{ user.last_sign_in_at | sinceAgo }})\n </span>\n }\n </span>\n }\n </td>\n <td data-head=\"Action\">\n <ul class=\"list-unstyled list-inline list-action\">\n <li *rbacAllow=\"'Pages.Alpha'\" pTooltip=\"Impersonate this user\" tooltipPosition=\"top\" appendTo=\"body\" class=\"me-2 me-sm-3\">\n <i (click)=\"onImpersonate(user)\" (keydown.enter)=\"onImpersonate(user)\" class=\"fas fa-people-arrows fa-lg\" aria-hidden=\"true\"></i>\n </li>\n @if (subscriptionOwnerUserId !== user.id) {\n <li *rbacAllow=\"'Pages.Alpha'\" pTooltip=\"Set this user as new owner\" tooltipPosition=\"top\" appendTo=\"body\" class=\"me-2 me-sm-3\">\n <i (click)=\"onChangeOwner(user)\" (keydown.enter)=\"onChangeOwner(user)\" class=\"fa fa-key warning fa-lg\" aria-hidden=\"true\"></i>\n </li>\n }\n @if (user?.enable_two_factor_authenticator) {\n <li *rbacAllow=\"'Pages.Alpha'\"\n (click)=\"disable2fa(user?.id)\"\n (keydown.enter)=\"disable2fa(user?.id)\"\n pTooltip=\"Disable 2FA\"\n tooltipPosition=\"top\"\n appendTo=\"body\"\n class=\"me-2 me-sm-3 success\">\n <i class=\"fa fa-lock\"\n aria-hidden=\"true\"></i>\n </li>\n }\n @if (canShowSubscriptionActions && isUserSubscriptionSuperAdmin) {\n <!-- Make Admin -->\n @if (!subscriptionAdmins?.includes(user.id)) {\n <li pTooltip=\"Make Admin\"\n tooltipPosition=\"top\"\n appendTo=\"body\"\n class=\"me-2 me-sm-3 mx-2\"\n >\n <i\n class=\"fa fa-user-crown fa-lg success\"\n (click)=\"makeAdmin(user, true)\"\n (keydown.enter)=\"makeAdmin(users, true)\"\n aria-hidden=\"true\"\n ></i>\n </li>\n }\n <!-- Remove Admin -->\n @if (subscriptionAdmins?.includes(user.id)) {\n <li pTooltip=\"Remove Admin\"\n tooltipPosition=\"top\"\n appendTo=\"body\"\n class=\"me-2 me-sm-3 mx-2\"\n >\n <i\n class=\"fa fa-ban warning fa-lg\"\n (keydown.enter)=\"makeAdmin(user, false)\"\n (click)=\"makeAdmin(user, false)\"\n aria-hidden=\"true\"\n ></i>\n </li>\n }\n }\n @if (canShowSubscriptionActions) {\n <li\n [routerLink]=\"[routers.usersDetails + user.id]\"\n pTooltip=\"Edit\"\n tooltipPosition=\"top\"\n appendTo=\"body\"\n class=\"me-2 me-sm-3\">\n <i class=\"fa fa-edit edit-icon\"\n aria-hidden=\"true\"></i>\n </li>\n }\n @if (canShowSubscriptionActions && isGranted('Pages.Admin.Users.Delete')) {\n <li\n pTooltip=\"Remove user from subscription\"\n tooltipPosition=\"top\"\n appendTo=\"body\"\n class=\"me-2 me-sm-3\">\n <i (click)=\"onDelete(user)\"\n (keydown.enter)=\"onDelete(user)\"\n class=\"fa fa-trash delete-icon\"\n aria-hidden=\"true\"></i>\n </li>\n }\n </ul>\n </td>\n </tr>\n </ng-template>\n </p-table>\n @if (totalRecords === 0 && totalUnfilteredCount !== 0) {\n <div>\n <pw-no-data [withImage]=\"true\" [message]=\"'Search.NoDataMessage' | transloco\" [description]=\"'Search.NoDataDescription' | transloco\" >\n </pw-no-data>\n </div>\n }\n @if (totalRecords !== 0) {\n <pw-records-summary [showing]=\"dt?.value?.length ?? 0\" [total]=\"totalRecords\" />\n }\n </div>\n @if (totalUnfilteredCount === 0 && isLoaded) {\n <div>\n <pw-no-data [withImage]=\"true\" [message]=\"'Admin.Subscriptions.NoSubscriptionUsersMessage' | transloco\">\n </pw-no-data>\n </div>\n }\n </section>\n}\n\n@if (isAddEnabled) {\n <section id=\"manage-members\"\n >\n <pw-add-members (membersAdded)=\"onMembersAdded()\"\n ></pw-add-members>\n </section>\n}\n\n<!-- password validation modal for impersonate -->\n<pw-password-validation #passwordValidationModalForImpersonate\n (successEvent)=\"onUserImpersonation($event)\">\n</pw-password-validation>\n<!-- password validation modal for delete user -->\n\n<!-- password validation modal for remove2fa -->\n<pw-password-validation #passwordValidationModalForRemove2fa\n (successEvent)=\"remove2fa($event)\">\n</pw-password-validation>\n",
|
|
24573
24700
|
styles: [".hexa-warning{font-size:18px;vertical-align:middle}.alpha-beta{font-size:14px}.info-icon{vertical-align:middle;margin-left:5px}.first-name{margin-right:5px}\n"]
|
|
24574
24701
|
}]
|
|
24575
24702
|
}],
|
|
24576
24703
|
ctorParameters: () => [
|
|
24577
|
-
{ type: i2$
|
|
24704
|
+
{ type: i2$1.SubscriptionService },
|
|
24578
24705
|
{ type: i0.Injector },
|
|
24579
24706
|
{ type: i0.ChangeDetectorRef },
|
|
24580
|
-
{ type: i2$
|
|
24581
|
-
{ type: i2$
|
|
24707
|
+
{ type: i2$1.AuthService },
|
|
24708
|
+
{ type: i2$1.WindowService },
|
|
24582
24709
|
{ type: i1$1.AdminService },
|
|
24583
|
-
{ type: i2$
|
|
24710
|
+
{ type: i2$1.CustomToastService },
|
|
24584
24711
|
{ type: i6$2.ConfirmDialogService }
|
|
24585
24712
|
],
|
|
24586
24713
|
propDecorators: {
|
|
@@ -24750,7 +24877,7 @@ var SubscriptionAgentsListComponent = class SubscriptionAgentsListComponent exte
|
|
|
24750
24877
|
dependencies: [
|
|
24751
24878
|
{
|
|
24752
24879
|
kind: "component",
|
|
24753
|
-
type: i2$
|
|
24880
|
+
type: i2$3.Table,
|
|
24754
24881
|
selector: "p-table",
|
|
24755
24882
|
inputs: [
|
|
24756
24883
|
"frozenColumns",
|
|
@@ -24863,7 +24990,7 @@ var SubscriptionAgentsListComponent = class SubscriptionAgentsListComponent exte
|
|
|
24863
24990
|
},
|
|
24864
24991
|
{
|
|
24865
24992
|
kind: "directive",
|
|
24866
|
-
type: i2$
|
|
24993
|
+
type: i2$3.ResizableColumn,
|
|
24867
24994
|
selector: "[pResizableColumn]",
|
|
24868
24995
|
inputs: ["pResizableColumnDisabled"]
|
|
24869
24996
|
},
|
|
@@ -24976,7 +25103,7 @@ var SubscriptionAgentsListComponent = class SubscriptionAgentsListComponent exte
|
|
|
24976
25103
|
},
|
|
24977
25104
|
{
|
|
24978
25105
|
kind: "component",
|
|
24979
|
-
type: i2$
|
|
25106
|
+
type: i2$2.Select,
|
|
24980
25107
|
selector: "p-select",
|
|
24981
25108
|
inputs: [
|
|
24982
25109
|
"id",
|
|
@@ -25110,7 +25237,7 @@ var SubscriptionAgentsListComponent = class SubscriptionAgentsListComponent exte
|
|
|
25110
25237
|
},
|
|
25111
25238
|
{
|
|
25112
25239
|
kind: "component",
|
|
25113
|
-
type: i11
|
|
25240
|
+
type: i11.ProgressSpinner,
|
|
25114
25241
|
selector: "p-progress-spinner, p-progressspinner",
|
|
25115
25242
|
inputs: [
|
|
25116
25243
|
"value",
|
|
@@ -25216,6 +25343,11 @@ var SubscriptionAgentsListComponent = class SubscriptionAgentsListComponent exte
|
|
|
25216
25343
|
],
|
|
25217
25344
|
outputs: ["ngModelChange"]
|
|
25218
25345
|
},
|
|
25346
|
+
{
|
|
25347
|
+
kind: "directive",
|
|
25348
|
+
type: i9.TrackDirtyFormDirective,
|
|
25349
|
+
selector: "[formGroup]:not([formGroupSkipDirty])"
|
|
25350
|
+
},
|
|
25219
25351
|
{
|
|
25220
25352
|
kind: "directive",
|
|
25221
25353
|
type: i3$2.NgbInputDatepicker,
|
|
@@ -25258,7 +25390,7 @@ var SubscriptionAgentsListComponent = class SubscriptionAgentsListComponent exte
|
|
|
25258
25390
|
},
|
|
25259
25391
|
{
|
|
25260
25392
|
kind: "pipe",
|
|
25261
|
-
type: i9.DateFormatPipe,
|
|
25393
|
+
type: i9$1.DateFormatPipe,
|
|
25262
25394
|
name: "dateFormat"
|
|
25263
25395
|
}
|
|
25264
25396
|
]
|
|
@@ -25397,7 +25529,7 @@ var SubscriptionInvoicesComponent = class SubscriptionInvoicesComponent extends
|
|
|
25397
25529
|
dependencies: [
|
|
25398
25530
|
{
|
|
25399
25531
|
kind: "component",
|
|
25400
|
-
type: i2$
|
|
25532
|
+
type: i2$3.Table,
|
|
25401
25533
|
selector: "p-table",
|
|
25402
25534
|
inputs: [
|
|
25403
25535
|
"frozenColumns",
|
|
@@ -25510,7 +25642,7 @@ var SubscriptionInvoicesComponent = class SubscriptionInvoicesComponent extends
|
|
|
25510
25642
|
},
|
|
25511
25643
|
{
|
|
25512
25644
|
kind: "directive",
|
|
25513
|
-
type: i2$
|
|
25645
|
+
type: i2$3.ResizableColumn,
|
|
25514
25646
|
selector: "[pResizableColumn]",
|
|
25515
25647
|
inputs: ["pResizableColumnDisabled"]
|
|
25516
25648
|
},
|
|
@@ -25544,7 +25676,7 @@ var SubscriptionInvoicesComponent = class SubscriptionInvoicesComponent extends
|
|
|
25544
25676
|
},
|
|
25545
25677
|
{
|
|
25546
25678
|
kind: "component",
|
|
25547
|
-
type: i2$
|
|
25679
|
+
type: i2$2.Select,
|
|
25548
25680
|
selector: "p-select",
|
|
25549
25681
|
inputs: [
|
|
25550
25682
|
"id",
|
|
@@ -25693,7 +25825,7 @@ var SubscriptionInvoicesComponent = class SubscriptionInvoicesComponent extends
|
|
|
25693
25825
|
},
|
|
25694
25826
|
{
|
|
25695
25827
|
kind: "pipe",
|
|
25696
|
-
type: i9.DateFormatPipe,
|
|
25828
|
+
type: i9$1.DateFormatPipe,
|
|
25697
25829
|
name: "dateFormat"
|
|
25698
25830
|
}
|
|
25699
25831
|
]
|
|
@@ -25876,6 +26008,7 @@ var SubscriptionDetailsComponent = class SubscriptionDetailsComponent extends Ap
|
|
|
25876
26008
|
company_url: formValue.company_url
|
|
25877
26009
|
};
|
|
25878
26010
|
this.subscriptionService.updateSubscription(this.id, data).subscribe(() => {
|
|
26011
|
+
this.form.markAsPristine();
|
|
25879
26012
|
this.router.navigate(["/admin/subscriptions/list"]);
|
|
25880
26013
|
this.toast.success(this.translation.translate("Admin.Subscriptions.UpdatedMessage"));
|
|
25881
26014
|
this.getAgentsDetails(this.id);
|
|
@@ -25924,11 +26057,11 @@ var SubscriptionDetailsComponent = class SubscriptionDetailsComponent extends Ap
|
|
|
25924
26057
|
ngImport: i0,
|
|
25925
26058
|
type: SubscriptionDetailsComponent,
|
|
25926
26059
|
deps: [
|
|
25927
|
-
{ token: i2$
|
|
26060
|
+
{ token: i2$1.SubscriptionService },
|
|
25928
26061
|
{ token: i1$1.AdminService },
|
|
25929
26062
|
{ token: i5$2.DatePipe },
|
|
25930
|
-
{ token: i2$
|
|
25931
|
-
{ token: i2$
|
|
26063
|
+
{ token: i2$1.CommonService },
|
|
26064
|
+
{ token: i2$1.NgbDateCustomParserFormatter },
|
|
25932
26065
|
{ token: i0.Injector },
|
|
25933
26066
|
{ token: i0.ChangeDetectorRef }
|
|
25934
26067
|
],
|
|
@@ -25977,7 +26110,7 @@ var SubscriptionDetailsComponent = class SubscriptionDetailsComponent extends Ap
|
|
|
25977
26110
|
},
|
|
25978
26111
|
{
|
|
25979
26112
|
kind: "component",
|
|
25980
|
-
type: i2$
|
|
26113
|
+
type: i2$2.Select,
|
|
25981
26114
|
selector: "p-select",
|
|
25982
26115
|
inputs: [
|
|
25983
26116
|
"id",
|
|
@@ -26256,7 +26389,7 @@ var SubscriptionDetailsComponent = class SubscriptionDetailsComponent extends Ap
|
|
|
26256
26389
|
},
|
|
26257
26390
|
{
|
|
26258
26391
|
kind: "component",
|
|
26259
|
-
type: i11
|
|
26392
|
+
type: i11.ProgressSpinner,
|
|
26260
26393
|
selector: "p-progress-spinner, p-progressspinner",
|
|
26261
26394
|
inputs: [
|
|
26262
26395
|
"value",
|
|
@@ -26341,6 +26474,11 @@ var SubscriptionDetailsComponent = class SubscriptionDetailsComponent extends Ap
|
|
|
26341
26474
|
],
|
|
26342
26475
|
outputs: ["ngModelChange"]
|
|
26343
26476
|
},
|
|
26477
|
+
{
|
|
26478
|
+
kind: "directive",
|
|
26479
|
+
type: i9.TrackDirtyFormDirective,
|
|
26480
|
+
selector: "[formGroup]:not([formGroupSkipDirty])"
|
|
26481
|
+
},
|
|
26344
26482
|
{
|
|
26345
26483
|
kind: "directive",
|
|
26346
26484
|
type: i3$2.NgbInputDatepicker,
|
|
@@ -26425,11 +26563,11 @@ i0.ɵɵngDeclareClassMetadata({
|
|
|
26425
26563
|
}]
|
|
26426
26564
|
}],
|
|
26427
26565
|
ctorParameters: () => [
|
|
26428
|
-
{ type: i2$
|
|
26566
|
+
{ type: i2$1.SubscriptionService },
|
|
26429
26567
|
{ type: i1$1.AdminService },
|
|
26430
26568
|
{ type: i5$2.DatePipe },
|
|
26431
|
-
{ type: i2$
|
|
26432
|
-
{ type: i2$
|
|
26569
|
+
{ type: i2$1.CommonService },
|
|
26570
|
+
{ type: i2$1.NgbDateCustomParserFormatter },
|
|
26433
26571
|
{ type: i0.Injector },
|
|
26434
26572
|
{ type: i0.ChangeDetectorRef }
|
|
26435
26573
|
]
|
|
@@ -26555,6 +26693,7 @@ var SubscriptionProductDetailsComponent = class SubscriptionProductDetailsCompon
|
|
|
26555
26693
|
if (this.form.value?.new_product_id) data["new_product_id"] = this.form.value?.new_product_id?.id ?? null;
|
|
26556
26694
|
if (this.form.value.purchased_units) data["purchased_units"] = this.form.value.purchased_units;
|
|
26557
26695
|
this.adminService.updateSubscriptionProduct(data).subscribe({ next: () => {
|
|
26696
|
+
this.form.markAsPristine();
|
|
26558
26697
|
this.toast.success(this.translation.translate("Admin.Subscriptions.UpdatedMessage"));
|
|
26559
26698
|
this.back();
|
|
26560
26699
|
this.cdr.markForCheck();
|
|
@@ -26587,8 +26726,8 @@ var SubscriptionProductDetailsComponent = class SubscriptionProductDetailsCompon
|
|
|
26587
26726
|
{ token: i0.Injector },
|
|
26588
26727
|
{ token: i0.ChangeDetectorRef },
|
|
26589
26728
|
{ token: i1$1.AdminService },
|
|
26590
|
-
{ token: i2$
|
|
26591
|
-
{ token: i2$
|
|
26729
|
+
{ token: i2$1.ProductService },
|
|
26730
|
+
{ token: i2$1.NgbDateCustomParserFormatter },
|
|
26592
26731
|
{ token: i5$2.DatePipe }
|
|
26593
26732
|
],
|
|
26594
26733
|
target: i0.ɵɵFactoryTarget.Component
|
|
@@ -26757,7 +26896,7 @@ var SubscriptionProductDetailsComponent = class SubscriptionProductDetailsCompon
|
|
|
26757
26896
|
},
|
|
26758
26897
|
{
|
|
26759
26898
|
kind: "component",
|
|
26760
|
-
type: i11
|
|
26899
|
+
type: i11.ProgressSpinner,
|
|
26761
26900
|
selector: "p-progress-spinner, p-progressspinner",
|
|
26762
26901
|
inputs: [
|
|
26763
26902
|
"value",
|
|
@@ -26817,6 +26956,11 @@ var SubscriptionProductDetailsComponent = class SubscriptionProductDetailsCompon
|
|
|
26817
26956
|
],
|
|
26818
26957
|
outputs: ["ngModelChange"]
|
|
26819
26958
|
},
|
|
26959
|
+
{
|
|
26960
|
+
kind: "directive",
|
|
26961
|
+
type: i9.TrackDirtyFormDirective,
|
|
26962
|
+
selector: "[formGroup]:not([formGroupSkipDirty])"
|
|
26963
|
+
},
|
|
26820
26964
|
{
|
|
26821
26965
|
kind: "directive",
|
|
26822
26966
|
type: i3$2.NgbInputDatepicker,
|
|
@@ -26879,8 +27023,8 @@ i0.ɵɵngDeclareClassMetadata({
|
|
|
26879
27023
|
{ type: i0.Injector },
|
|
26880
27024
|
{ type: i0.ChangeDetectorRef },
|
|
26881
27025
|
{ type: i1$1.AdminService },
|
|
26882
|
-
{ type: i2$
|
|
26883
|
-
{ type: i2$
|
|
27026
|
+
{ type: i2$1.ProductService },
|
|
27027
|
+
{ type: i2$1.NgbDateCustomParserFormatter },
|
|
26884
27028
|
{ type: i5$2.DatePipe }
|
|
26885
27029
|
],
|
|
26886
27030
|
propDecorators: {
|
|
@@ -27020,7 +27164,7 @@ var InsightComponent = class InsightComponent extends AppBaseComponent {
|
|
|
27020
27164
|
},
|
|
27021
27165
|
{
|
|
27022
27166
|
kind: "component",
|
|
27023
|
-
type: i11
|
|
27167
|
+
type: i11.ProgressSpinner,
|
|
27024
27168
|
selector: "p-progress-spinner, p-progressspinner",
|
|
27025
27169
|
inputs: [
|
|
27026
27170
|
"value",
|
|
@@ -27132,7 +27276,7 @@ var SubscriptionInsightNpsComponent = class SubscriptionInsightNpsComponent exte
|
|
|
27132
27276
|
deps: [
|
|
27133
27277
|
{ token: i1$1.AdminService },
|
|
27134
27278
|
{ token: i0.Injector },
|
|
27135
|
-
{ token: i2$
|
|
27279
|
+
{ token: i2$1.CommonService },
|
|
27136
27280
|
{ token: i3$2.NgbModal },
|
|
27137
27281
|
{ token: i0.ChangeDetectorRef }
|
|
27138
27282
|
],
|
|
@@ -27159,7 +27303,7 @@ var SubscriptionInsightNpsComponent = class SubscriptionInsightNpsComponent exte
|
|
|
27159
27303
|
dependencies: [
|
|
27160
27304
|
{
|
|
27161
27305
|
kind: "component",
|
|
27162
|
-
type: i2$
|
|
27306
|
+
type: i2$3.Table,
|
|
27163
27307
|
selector: "p-table",
|
|
27164
27308
|
inputs: [
|
|
27165
27309
|
"frozenColumns",
|
|
@@ -27272,19 +27416,19 @@ var SubscriptionInsightNpsComponent = class SubscriptionInsightNpsComponent exte
|
|
|
27272
27416
|
},
|
|
27273
27417
|
{
|
|
27274
27418
|
kind: "directive",
|
|
27275
|
-
type: i2$
|
|
27419
|
+
type: i2$3.SortableColumn,
|
|
27276
27420
|
selector: "[pSortableColumn]",
|
|
27277
27421
|
inputs: ["pSortableColumn", "pSortableColumnDisabled"]
|
|
27278
27422
|
},
|
|
27279
27423
|
{
|
|
27280
27424
|
kind: "directive",
|
|
27281
|
-
type: i2$
|
|
27425
|
+
type: i2$3.ResizableColumn,
|
|
27282
27426
|
selector: "[pResizableColumn]",
|
|
27283
27427
|
inputs: ["pResizableColumnDisabled"]
|
|
27284
27428
|
},
|
|
27285
27429
|
{
|
|
27286
27430
|
kind: "component",
|
|
27287
|
-
type: i2$
|
|
27431
|
+
type: i2$3.SortIcon,
|
|
27288
27432
|
selector: "p-sort-icon, p-sorticon",
|
|
27289
27433
|
inputs: ["field"]
|
|
27290
27434
|
},
|
|
@@ -27396,7 +27540,7 @@ var SubscriptionInsightNpsComponent = class SubscriptionInsightNpsComponent exte
|
|
|
27396
27540
|
},
|
|
27397
27541
|
{
|
|
27398
27542
|
kind: "component",
|
|
27399
|
-
type: i11
|
|
27543
|
+
type: i11.ProgressSpinner,
|
|
27400
27544
|
selector: "p-progress-spinner, p-progressspinner",
|
|
27401
27545
|
inputs: [
|
|
27402
27546
|
"value",
|
|
@@ -27451,7 +27595,7 @@ var SubscriptionInsightNpsComponent = class SubscriptionInsightNpsComponent exte
|
|
|
27451
27595
|
},
|
|
27452
27596
|
{
|
|
27453
27597
|
kind: "pipe",
|
|
27454
|
-
type: i9.DateFormatPipe,
|
|
27598
|
+
type: i9$1.DateFormatPipe,
|
|
27455
27599
|
name: "dateFormat"
|
|
27456
27600
|
}
|
|
27457
27601
|
]
|
|
@@ -27474,7 +27618,7 @@ i0.ɵɵngDeclareClassMetadata({
|
|
|
27474
27618
|
ctorParameters: () => [
|
|
27475
27619
|
{ type: i1$1.AdminService },
|
|
27476
27620
|
{ type: i0.Injector },
|
|
27477
|
-
{ type: i2$
|
|
27621
|
+
{ type: i2$1.CommonService },
|
|
27478
27622
|
{ type: i3$2.NgbModal },
|
|
27479
27623
|
{ type: i0.ChangeDetectorRef }
|
|
27480
27624
|
],
|
|
@@ -27672,7 +27816,7 @@ var SubscriptionInsightAveragePriceComponent = class SubscriptionInsightAverageP
|
|
|
27672
27816
|
},
|
|
27673
27817
|
{
|
|
27674
27818
|
kind: "component",
|
|
27675
|
-
type: i11
|
|
27819
|
+
type: i11.ProgressSpinner,
|
|
27676
27820
|
selector: "p-progress-spinner, p-progressspinner",
|
|
27677
27821
|
inputs: [
|
|
27678
27822
|
"value",
|
|
@@ -27821,7 +27965,7 @@ var SubscriptionInsightProcuctSessionComponent = class SubscriptionInsightProcuc
|
|
|
27821
27965
|
},
|
|
27822
27966
|
{
|
|
27823
27967
|
kind: "component",
|
|
27824
|
-
type: i11
|
|
27968
|
+
type: i11.ProgressSpinner,
|
|
27825
27969
|
selector: "p-progress-spinner, p-progressspinner",
|
|
27826
27970
|
inputs: [
|
|
27827
27971
|
"value",
|
|
@@ -27970,7 +28114,7 @@ var SubscriptionInsightUserSessionComponent = class SubscriptionInsightUserSessi
|
|
|
27970
28114
|
},
|
|
27971
28115
|
{
|
|
27972
28116
|
kind: "component",
|
|
27973
|
-
type: i11
|
|
28117
|
+
type: i11.ProgressSpinner,
|
|
27974
28118
|
selector: "p-progress-spinner, p-progressspinner",
|
|
27975
28119
|
inputs: [
|
|
27976
28120
|
"value",
|
|
@@ -28119,7 +28263,7 @@ var SubscriptionInsightAverageUserComponent = class SubscriptionInsightAverageUs
|
|
|
28119
28263
|
},
|
|
28120
28264
|
{
|
|
28121
28265
|
kind: "component",
|
|
28122
|
-
type: i11
|
|
28266
|
+
type: i11.ProgressSpinner,
|
|
28123
28267
|
selector: "p-progress-spinner, p-progressspinner",
|
|
28124
28268
|
inputs: [
|
|
28125
28269
|
"value",
|
|
@@ -28282,7 +28426,7 @@ var SubscriptionInsightRevenueComponent = class SubscriptionInsightRevenueCompon
|
|
|
28282
28426
|
},
|
|
28283
28427
|
{
|
|
28284
28428
|
kind: "component",
|
|
28285
|
-
type: i11
|
|
28429
|
+
type: i11.ProgressSpinner,
|
|
28286
28430
|
selector: "p-progress-spinner, p-progressspinner",
|
|
28287
28431
|
inputs: [
|
|
28288
28432
|
"value",
|
|
@@ -28445,7 +28589,7 @@ var SubscriptionInsightChurnComponent = class SubscriptionInsightChurnComponent
|
|
|
28445
28589
|
},
|
|
28446
28590
|
{
|
|
28447
28591
|
kind: "component",
|
|
28448
|
-
type: i11
|
|
28592
|
+
type: i11.ProgressSpinner,
|
|
28449
28593
|
selector: "p-progress-spinner, p-progressspinner",
|
|
28450
28594
|
inputs: [
|
|
28451
28595
|
"value",
|
|
@@ -28812,9 +28956,9 @@ var InviteUsersComponent = class InviteUsersComponent extends AppBaseComponent {
|
|
|
28812
28956
|
deps: [
|
|
28813
28957
|
{ token: i10.UntypedFormBuilder },
|
|
28814
28958
|
{ token: i1$1.AdminService },
|
|
28815
|
-
{ token: i2$
|
|
28959
|
+
{ token: i2$1.ProductService },
|
|
28816
28960
|
{ token: i0.Injector },
|
|
28817
|
-
{ token: i2$
|
|
28961
|
+
{ token: i2$1.CommonService },
|
|
28818
28962
|
{ token: i0.ChangeDetectorRef }
|
|
28819
28963
|
],
|
|
28820
28964
|
target: i0.ɵɵFactoryTarget.Component
|
|
@@ -28919,7 +29063,7 @@ var InviteUsersComponent = class InviteUsersComponent extends AppBaseComponent {
|
|
|
28919
29063
|
},
|
|
28920
29064
|
{
|
|
28921
29065
|
kind: "component",
|
|
28922
|
-
type: i2$
|
|
29066
|
+
type: i2$2.Select,
|
|
28923
29067
|
selector: "p-select",
|
|
28924
29068
|
inputs: [
|
|
28925
29069
|
"id",
|
|
@@ -29078,6 +29222,11 @@ var InviteUsersComponent = class InviteUsersComponent extends AppBaseComponent {
|
|
|
29078
29222
|
],
|
|
29079
29223
|
outputs: ["ngModelChange"]
|
|
29080
29224
|
},
|
|
29225
|
+
{
|
|
29226
|
+
kind: "directive",
|
|
29227
|
+
type: i9.TrackDirtyFormDirective,
|
|
29228
|
+
selector: "[formGroup]:not([formGroupSkipDirty])"
|
|
29229
|
+
},
|
|
29081
29230
|
{
|
|
29082
29231
|
kind: "pipe",
|
|
29083
29232
|
type: i5$2.AsyncPipe,
|
|
@@ -29109,9 +29258,9 @@ i0.ɵɵngDeclareClassMetadata({
|
|
|
29109
29258
|
ctorParameters: () => [
|
|
29110
29259
|
{ type: i10.UntypedFormBuilder },
|
|
29111
29260
|
{ type: i1$1.AdminService },
|
|
29112
|
-
{ type: i2$
|
|
29261
|
+
{ type: i2$1.ProductService },
|
|
29113
29262
|
{ type: i0.Injector },
|
|
29114
|
-
{ type: i2$
|
|
29263
|
+
{ type: i2$1.CommonService },
|
|
29115
29264
|
{ type: i0.ChangeDetectorRef }
|
|
29116
29265
|
],
|
|
29117
29266
|
propDecorators: { refProduct: [{
|
|
@@ -29406,12 +29555,12 @@ var SubscriptionsListComponent = class SubscriptionsListComponent extends AppBas
|
|
|
29406
29555
|
ngImport: i0,
|
|
29407
29556
|
type: SubscriptionsListComponent,
|
|
29408
29557
|
deps: [
|
|
29409
|
-
{ token: i2$
|
|
29558
|
+
{ token: i2$1.ProductService },
|
|
29410
29559
|
{ token: i1$1.AdminService },
|
|
29411
29560
|
{ token: i10.UntypedFormBuilder },
|
|
29412
29561
|
{ token: i0.Injector },
|
|
29413
29562
|
{ token: i0.ChangeDetectorRef },
|
|
29414
|
-
{ token: i2$
|
|
29563
|
+
{ token: i2$1.CommonService },
|
|
29415
29564
|
{ token: i6$2.ConfirmDialogService }
|
|
29416
29565
|
],
|
|
29417
29566
|
target: i0.ɵɵFactoryTarget.Component
|
|
@@ -29442,7 +29591,7 @@ var SubscriptionsListComponent = class SubscriptionsListComponent extends AppBas
|
|
|
29442
29591
|
dependencies: [
|
|
29443
29592
|
{
|
|
29444
29593
|
kind: "component",
|
|
29445
|
-
type: i2$
|
|
29594
|
+
type: i2$3.Table,
|
|
29446
29595
|
selector: "p-table",
|
|
29447
29596
|
inputs: [
|
|
29448
29597
|
"frozenColumns",
|
|
@@ -29555,19 +29704,19 @@ var SubscriptionsListComponent = class SubscriptionsListComponent extends AppBas
|
|
|
29555
29704
|
},
|
|
29556
29705
|
{
|
|
29557
29706
|
kind: "directive",
|
|
29558
|
-
type: i2$
|
|
29707
|
+
type: i2$3.SortableColumn,
|
|
29559
29708
|
selector: "[pSortableColumn]",
|
|
29560
29709
|
inputs: ["pSortableColumn", "pSortableColumnDisabled"]
|
|
29561
29710
|
},
|
|
29562
29711
|
{
|
|
29563
29712
|
kind: "directive",
|
|
29564
|
-
type: i2$
|
|
29713
|
+
type: i2$3.ResizableColumn,
|
|
29565
29714
|
selector: "[pResizableColumn]",
|
|
29566
29715
|
inputs: ["pResizableColumnDisabled"]
|
|
29567
29716
|
},
|
|
29568
29717
|
{
|
|
29569
29718
|
kind: "component",
|
|
29570
|
-
type: i2$
|
|
29719
|
+
type: i2$3.SortIcon,
|
|
29571
29720
|
selector: "p-sort-icon, p-sorticon",
|
|
29572
29721
|
inputs: ["field"]
|
|
29573
29722
|
},
|
|
@@ -29601,7 +29750,7 @@ var SubscriptionsListComponent = class SubscriptionsListComponent extends AppBas
|
|
|
29601
29750
|
},
|
|
29602
29751
|
{
|
|
29603
29752
|
kind: "component",
|
|
29604
|
-
type: i2$
|
|
29753
|
+
type: i2$2.Select,
|
|
29605
29754
|
selector: "p-select",
|
|
29606
29755
|
inputs: [
|
|
29607
29756
|
"id",
|
|
@@ -29818,7 +29967,7 @@ var SubscriptionsListComponent = class SubscriptionsListComponent extends AppBas
|
|
|
29818
29967
|
},
|
|
29819
29968
|
{
|
|
29820
29969
|
kind: "component",
|
|
29821
|
-
type: i11
|
|
29970
|
+
type: i11.ProgressSpinner,
|
|
29822
29971
|
selector: "p-progress-spinner, p-progressspinner",
|
|
29823
29972
|
inputs: [
|
|
29824
29973
|
"value",
|
|
@@ -29899,17 +30048,17 @@ var SubscriptionsListComponent = class SubscriptionsListComponent extends AppBas
|
|
|
29899
30048
|
},
|
|
29900
30049
|
{
|
|
29901
30050
|
kind: "pipe",
|
|
29902
|
-
type: i9.DateFormatPipe,
|
|
30051
|
+
type: i9$1.DateFormatPipe,
|
|
29903
30052
|
name: "dateFormat"
|
|
29904
30053
|
},
|
|
29905
30054
|
{
|
|
29906
30055
|
kind: "pipe",
|
|
29907
|
-
type: i9.SinceAgoPipe,
|
|
30056
|
+
type: i9$1.SinceAgoPipe,
|
|
29908
30057
|
name: "sinceAgo"
|
|
29909
30058
|
},
|
|
29910
30059
|
{
|
|
29911
30060
|
kind: "pipe",
|
|
29912
|
-
type: i9.TextTruncatePipe,
|
|
30061
|
+
type: i9$1.TextTruncatePipe,
|
|
29913
30062
|
name: "textTruncate"
|
|
29914
30063
|
},
|
|
29915
30064
|
{
|
|
@@ -29936,12 +30085,12 @@ i0.ɵɵngDeclareClassMetadata({
|
|
|
29936
30085
|
}]
|
|
29937
30086
|
}],
|
|
29938
30087
|
ctorParameters: () => [
|
|
29939
|
-
{ type: i2$
|
|
30088
|
+
{ type: i2$1.ProductService },
|
|
29940
30089
|
{ type: i1$1.AdminService },
|
|
29941
30090
|
{ type: i10.UntypedFormBuilder },
|
|
29942
30091
|
{ type: i0.Injector },
|
|
29943
30092
|
{ type: i0.ChangeDetectorRef },
|
|
29944
|
-
{ type: i2$
|
|
30093
|
+
{ type: i2$1.CommonService },
|
|
29945
30094
|
{ type: i6$2.ConfirmDialogService }
|
|
29946
30095
|
],
|
|
29947
30096
|
propDecorators: {
|
|
@@ -30139,8 +30288,8 @@ var TagsCategoryComponent = class TagsCategoryComponent extends AppBaseComponent
|
|
|
30139
30288
|
type: TagsCategoryComponent,
|
|
30140
30289
|
deps: [
|
|
30141
30290
|
{ token: i0.Injector },
|
|
30142
|
-
{ token: i2$
|
|
30143
|
-
{ token: i2$
|
|
30291
|
+
{ token: i2$1.TagService },
|
|
30292
|
+
{ token: i2$1.CustomToastService },
|
|
30144
30293
|
{ token: i3$2.NgbModal },
|
|
30145
30294
|
{ token: i0.ChangeDetectorRef },
|
|
30146
30295
|
{ token: i6$2.ConfirmDialogService }
|
|
@@ -30162,7 +30311,7 @@ var TagsCategoryComponent = class TagsCategoryComponent extends AppBaseComponent
|
|
|
30162
30311
|
dependencies: [
|
|
30163
30312
|
{
|
|
30164
30313
|
kind: "component",
|
|
30165
|
-
type: i2$
|
|
30314
|
+
type: i2$3.Table,
|
|
30166
30315
|
selector: "p-table",
|
|
30167
30316
|
inputs: [
|
|
30168
30317
|
"frozenColumns",
|
|
@@ -30275,19 +30424,19 @@ var TagsCategoryComponent = class TagsCategoryComponent extends AppBaseComponent
|
|
|
30275
30424
|
},
|
|
30276
30425
|
{
|
|
30277
30426
|
kind: "directive",
|
|
30278
|
-
type: i2$
|
|
30427
|
+
type: i2$3.SortableColumn,
|
|
30279
30428
|
selector: "[pSortableColumn]",
|
|
30280
30429
|
inputs: ["pSortableColumn", "pSortableColumnDisabled"]
|
|
30281
30430
|
},
|
|
30282
30431
|
{
|
|
30283
30432
|
kind: "directive",
|
|
30284
|
-
type: i2$
|
|
30433
|
+
type: i2$3.ResizableColumn,
|
|
30285
30434
|
selector: "[pResizableColumn]",
|
|
30286
30435
|
inputs: ["pResizableColumnDisabled"]
|
|
30287
30436
|
},
|
|
30288
30437
|
{
|
|
30289
30438
|
kind: "component",
|
|
30290
|
-
type: i2$
|
|
30439
|
+
type: i2$3.SortIcon,
|
|
30291
30440
|
selector: "p-sort-icon, p-sorticon",
|
|
30292
30441
|
inputs: ["field"]
|
|
30293
30442
|
},
|
|
@@ -30394,7 +30543,7 @@ var TagsCategoryComponent = class TagsCategoryComponent extends AppBaseComponent
|
|
|
30394
30543
|
},
|
|
30395
30544
|
{
|
|
30396
30545
|
kind: "component",
|
|
30397
|
-
type: i11
|
|
30546
|
+
type: i11.ProgressSpinner,
|
|
30398
30547
|
selector: "p-progress-spinner, p-progressspinner",
|
|
30399
30548
|
inputs: [
|
|
30400
30549
|
"value",
|
|
@@ -30459,8 +30608,8 @@ i0.ɵɵngDeclareClassMetadata({
|
|
|
30459
30608
|
}],
|
|
30460
30609
|
ctorParameters: () => [
|
|
30461
30610
|
{ type: i0.Injector },
|
|
30462
|
-
{ type: i2$
|
|
30463
|
-
{ type: i2$
|
|
30611
|
+
{ type: i2$1.TagService },
|
|
30612
|
+
{ type: i2$1.CustomToastService },
|
|
30464
30613
|
{ type: i3$2.NgbModal },
|
|
30465
30614
|
{ type: i0.ChangeDetectorRef },
|
|
30466
30615
|
{ type: i6$2.ConfirmDialogService }
|
|
@@ -30585,7 +30734,7 @@ var TagDetailsComponent = class TagDetailsComponent extends AppBaseComponent {
|
|
|
30585
30734
|
type: TagDetailsComponent,
|
|
30586
30735
|
deps: [
|
|
30587
30736
|
{ token: i0.Injector },
|
|
30588
|
-
{ token: i2$
|
|
30737
|
+
{ token: i2$1.TagService },
|
|
30589
30738
|
{ token: i0.ChangeDetectorRef },
|
|
30590
30739
|
{ token: i3$2.NgbModal }
|
|
30591
30740
|
],
|
|
@@ -30605,7 +30754,7 @@ var TagDetailsComponent = class TagDetailsComponent extends AppBaseComponent {
|
|
|
30605
30754
|
dependencies: [
|
|
30606
30755
|
{
|
|
30607
30756
|
kind: "component",
|
|
30608
|
-
type: i2$
|
|
30757
|
+
type: i2$2.Select,
|
|
30609
30758
|
selector: "p-select",
|
|
30610
30759
|
inputs: [
|
|
30611
30760
|
"id",
|
|
@@ -30729,7 +30878,7 @@ var TagDetailsComponent = class TagDetailsComponent extends AppBaseComponent {
|
|
|
30729
30878
|
},
|
|
30730
30879
|
{
|
|
30731
30880
|
kind: "component",
|
|
30732
|
-
type: i12.ProfileImageCropperComponent,
|
|
30881
|
+
type: i12$1.ProfileImageCropperComponent,
|
|
30733
30882
|
selector: "pw-image-cropper",
|
|
30734
30883
|
inputs: ["aspectRatio", "dynamicData"],
|
|
30735
30884
|
outputs: [
|
|
@@ -30791,6 +30940,11 @@ var TagDetailsComponent = class TagDetailsComponent extends AppBaseComponent {
|
|
|
30791
30940
|
],
|
|
30792
30941
|
outputs: ["ngModelChange"]
|
|
30793
30942
|
},
|
|
30943
|
+
{
|
|
30944
|
+
kind: "directive",
|
|
30945
|
+
type: i9.TrackDirtyFormDirective,
|
|
30946
|
+
selector: "[formGroup]:not([formGroupSkipDirty])"
|
|
30947
|
+
},
|
|
30794
30948
|
{
|
|
30795
30949
|
kind: "pipe",
|
|
30796
30950
|
type: i8$2.TranslocoPipe,
|
|
@@ -30817,7 +30971,7 @@ i0.ɵɵngDeclareClassMetadata({
|
|
|
30817
30971
|
}],
|
|
30818
30972
|
ctorParameters: () => [
|
|
30819
30973
|
{ type: i0.Injector },
|
|
30820
|
-
{ type: i2$
|
|
30974
|
+
{ type: i2$1.TagService },
|
|
30821
30975
|
{ type: i0.ChangeDetectorRef },
|
|
30822
30976
|
{ type: i3$2.NgbModal }
|
|
30823
30977
|
]
|
|
@@ -30935,7 +31089,7 @@ var TagsListComponent = class TagsListComponent extends AppBaseComponent {
|
|
|
30935
31089
|
deps: [
|
|
30936
31090
|
{ token: i0.Injector },
|
|
30937
31091
|
{ token: i3$2.NgbModal },
|
|
30938
|
-
{ token: i2$
|
|
31092
|
+
{ token: i2$1.TagService },
|
|
30939
31093
|
{ token: i0.ChangeDetectorRef },
|
|
30940
31094
|
{ token: i6$2.ConfirmDialogService }
|
|
30941
31095
|
],
|
|
@@ -30956,7 +31110,7 @@ var TagsListComponent = class TagsListComponent extends AppBaseComponent {
|
|
|
30956
31110
|
dependencies: [
|
|
30957
31111
|
{
|
|
30958
31112
|
kind: "component",
|
|
30959
|
-
type: i2$
|
|
31113
|
+
type: i2$3.Table,
|
|
30960
31114
|
selector: "p-table",
|
|
30961
31115
|
inputs: [
|
|
30962
31116
|
"frozenColumns",
|
|
@@ -31069,19 +31223,19 @@ var TagsListComponent = class TagsListComponent extends AppBaseComponent {
|
|
|
31069
31223
|
},
|
|
31070
31224
|
{
|
|
31071
31225
|
kind: "directive",
|
|
31072
|
-
type: i2$
|
|
31226
|
+
type: i2$3.SortableColumn,
|
|
31073
31227
|
selector: "[pSortableColumn]",
|
|
31074
31228
|
inputs: ["pSortableColumn", "pSortableColumnDisabled"]
|
|
31075
31229
|
},
|
|
31076
31230
|
{
|
|
31077
31231
|
kind: "directive",
|
|
31078
|
-
type: i2$
|
|
31232
|
+
type: i2$3.ResizableColumn,
|
|
31079
31233
|
selector: "[pResizableColumn]",
|
|
31080
31234
|
inputs: ["pResizableColumnDisabled"]
|
|
31081
31235
|
},
|
|
31082
31236
|
{
|
|
31083
31237
|
kind: "component",
|
|
31084
|
-
type: i2$
|
|
31238
|
+
type: i2$3.SortIcon,
|
|
31085
31239
|
selector: "p-sort-icon, p-sorticon",
|
|
31086
31240
|
inputs: ["field"]
|
|
31087
31241
|
},
|
|
@@ -31164,7 +31318,7 @@ var TagsListComponent = class TagsListComponent extends AppBaseComponent {
|
|
|
31164
31318
|
},
|
|
31165
31319
|
{
|
|
31166
31320
|
kind: "component",
|
|
31167
|
-
type: i11
|
|
31321
|
+
type: i11.ProgressSpinner,
|
|
31168
31322
|
selector: "p-progress-spinner, p-progressspinner",
|
|
31169
31323
|
inputs: [
|
|
31170
31324
|
"value",
|
|
@@ -31254,7 +31408,7 @@ i0.ɵɵngDeclareClassMetadata({
|
|
|
31254
31408
|
ctorParameters: () => [
|
|
31255
31409
|
{ type: i0.Injector },
|
|
31256
31410
|
{ type: i3$2.NgbModal },
|
|
31257
|
-
{ type: i2$
|
|
31411
|
+
{ type: i2$1.TagService },
|
|
31258
31412
|
{ type: i0.ChangeDetectorRef },
|
|
31259
31413
|
{ type: i6$2.ConfirmDialogService }
|
|
31260
31414
|
]
|
|
@@ -31364,6 +31518,7 @@ var TipComponent = class TipComponent extends AppBaseComponent {
|
|
|
31364
31518
|
onSave() {
|
|
31365
31519
|
this.buttonBusy = true;
|
|
31366
31520
|
(this.id ? this.tipService.saveTips(this.id, this.form.value, this.subscriptionId) : this.tipService.addTips(this.form.value, this.subscriptionId)).subscribe(() => {
|
|
31521
|
+
this.form.markAsPristine();
|
|
31367
31522
|
this.router.navigate(["../list"], { relativeTo: this.route });
|
|
31368
31523
|
this.toast.success(this.translation.translate("Admin.Tips.UpdatedMessage"));
|
|
31369
31524
|
this.cdr.markForCheck();
|
|
@@ -31382,7 +31537,7 @@ var TipComponent = class TipComponent extends AppBaseComponent {
|
|
|
31382
31537
|
ngImport: i0,
|
|
31383
31538
|
type: TipComponent,
|
|
31384
31539
|
deps: [
|
|
31385
|
-
{ token: i2$
|
|
31540
|
+
{ token: i2$1.TipsService },
|
|
31386
31541
|
{ token: i0.Injector },
|
|
31387
31542
|
{ token: i0.ChangeDetectorRef }
|
|
31388
31543
|
],
|
|
@@ -31451,7 +31606,7 @@ var TipComponent = class TipComponent extends AppBaseComponent {
|
|
|
31451
31606
|
},
|
|
31452
31607
|
{
|
|
31453
31608
|
kind: "component",
|
|
31454
|
-
type: i11
|
|
31609
|
+
type: i11.ProgressSpinner,
|
|
31455
31610
|
selector: "p-progress-spinner, p-progressspinner",
|
|
31456
31611
|
inputs: [
|
|
31457
31612
|
"value",
|
|
@@ -31517,6 +31672,11 @@ var TipComponent = class TipComponent extends AppBaseComponent {
|
|
|
31517
31672
|
],
|
|
31518
31673
|
outputs: ["ngModelChange"]
|
|
31519
31674
|
},
|
|
31675
|
+
{
|
|
31676
|
+
kind: "directive",
|
|
31677
|
+
type: i9.TrackDirtyFormDirective,
|
|
31678
|
+
selector: "[formGroup]:not([formGroupSkipDirty])"
|
|
31679
|
+
},
|
|
31520
31680
|
{
|
|
31521
31681
|
kind: "pipe",
|
|
31522
31682
|
type: i8$2.TranslocoPipe,
|
|
@@ -31542,7 +31702,7 @@ i0.ɵɵngDeclareClassMetadata({
|
|
|
31542
31702
|
}]
|
|
31543
31703
|
}],
|
|
31544
31704
|
ctorParameters: () => [
|
|
31545
|
-
{ type: i2$
|
|
31705
|
+
{ type: i2$1.TipsService },
|
|
31546
31706
|
{ type: i0.Injector },
|
|
31547
31707
|
{ type: i0.ChangeDetectorRef }
|
|
31548
31708
|
],
|
|
@@ -31583,7 +31743,7 @@ var TipsComponent = class TipsComponent extends AppBaseComponent {
|
|
|
31583
31743
|
ngImport: i0,
|
|
31584
31744
|
type: TipsComponent,
|
|
31585
31745
|
deps: [
|
|
31586
|
-
{ token: i2$
|
|
31746
|
+
{ token: i2$1.TipsService },
|
|
31587
31747
|
{ token: i0.ChangeDetectorRef },
|
|
31588
31748
|
{ token: i0.Injector }
|
|
31589
31749
|
],
|
|
@@ -31603,7 +31763,7 @@ var TipsComponent = class TipsComponent extends AppBaseComponent {
|
|
|
31603
31763
|
dependencies: [
|
|
31604
31764
|
{
|
|
31605
31765
|
kind: "component",
|
|
31606
|
-
type: i2$
|
|
31766
|
+
type: i2$3.Table,
|
|
31607
31767
|
selector: "p-table",
|
|
31608
31768
|
inputs: [
|
|
31609
31769
|
"frozenColumns",
|
|
@@ -31716,7 +31876,7 @@ var TipsComponent = class TipsComponent extends AppBaseComponent {
|
|
|
31716
31876
|
},
|
|
31717
31877
|
{
|
|
31718
31878
|
kind: "directive",
|
|
31719
|
-
type: i2$
|
|
31879
|
+
type: i2$3.ResizableColumn,
|
|
31720
31880
|
selector: "[pResizableColumn]",
|
|
31721
31881
|
inputs: ["pResizableColumnDisabled"]
|
|
31722
31882
|
},
|
|
@@ -31750,7 +31910,7 @@ var TipsComponent = class TipsComponent extends AppBaseComponent {
|
|
|
31750
31910
|
},
|
|
31751
31911
|
{
|
|
31752
31912
|
kind: "component",
|
|
31753
|
-
type: i11
|
|
31913
|
+
type: i11.ProgressSpinner,
|
|
31754
31914
|
selector: "p-progress-spinner, p-progressspinner",
|
|
31755
31915
|
inputs: [
|
|
31756
31916
|
"value",
|
|
@@ -31815,7 +31975,7 @@ var TipsComponent = class TipsComponent extends AppBaseComponent {
|
|
|
31815
31975
|
},
|
|
31816
31976
|
{
|
|
31817
31977
|
kind: "pipe",
|
|
31818
|
-
type: i9.DateFormatPipe,
|
|
31978
|
+
type: i9$1.DateFormatPipe,
|
|
31819
31979
|
name: "dateFormat"
|
|
31820
31980
|
}
|
|
31821
31981
|
]
|
|
@@ -31836,7 +31996,7 @@ i0.ɵɵngDeclareClassMetadata({
|
|
|
31836
31996
|
}]
|
|
31837
31997
|
}],
|
|
31838
31998
|
ctorParameters: () => [
|
|
31839
|
-
{ type: i2$
|
|
31999
|
+
{ type: i2$1.TipsService },
|
|
31840
32000
|
{ type: i0.ChangeDetectorRef },
|
|
31841
32001
|
{ type: i0.Injector }
|
|
31842
32002
|
]
|
|
@@ -31983,7 +32143,7 @@ var TermsOfServiceComponent = class TermsOfServiceComponent extends AppBaseCompo
|
|
|
31983
32143
|
dependencies: [
|
|
31984
32144
|
{
|
|
31985
32145
|
kind: "component",
|
|
31986
|
-
type: i2$
|
|
32146
|
+
type: i2$3.Table,
|
|
31987
32147
|
selector: "p-table",
|
|
31988
32148
|
inputs: [
|
|
31989
32149
|
"frozenColumns",
|
|
@@ -32096,19 +32256,19 @@ var TermsOfServiceComponent = class TermsOfServiceComponent extends AppBaseCompo
|
|
|
32096
32256
|
},
|
|
32097
32257
|
{
|
|
32098
32258
|
kind: "directive",
|
|
32099
|
-
type: i2$
|
|
32259
|
+
type: i2$3.SortableColumn,
|
|
32100
32260
|
selector: "[pSortableColumn]",
|
|
32101
32261
|
inputs: ["pSortableColumn", "pSortableColumnDisabled"]
|
|
32102
32262
|
},
|
|
32103
32263
|
{
|
|
32104
32264
|
kind: "directive",
|
|
32105
|
-
type: i2$
|
|
32265
|
+
type: i2$3.ResizableColumn,
|
|
32106
32266
|
selector: "[pResizableColumn]",
|
|
32107
32267
|
inputs: ["pResizableColumnDisabled"]
|
|
32108
32268
|
},
|
|
32109
32269
|
{
|
|
32110
32270
|
kind: "component",
|
|
32111
|
-
type: i2$
|
|
32271
|
+
type: i2$3.SortIcon,
|
|
32112
32272
|
selector: "p-sort-icon, p-sorticon",
|
|
32113
32273
|
inputs: ["field"]
|
|
32114
32274
|
},
|
|
@@ -32191,7 +32351,7 @@ var TermsOfServiceComponent = class TermsOfServiceComponent extends AppBaseCompo
|
|
|
32191
32351
|
},
|
|
32192
32352
|
{
|
|
32193
32353
|
kind: "component",
|
|
32194
|
-
type: i11
|
|
32354
|
+
type: i11.ProgressSpinner,
|
|
32195
32355
|
selector: "p-progress-spinner, p-progressspinner",
|
|
32196
32356
|
inputs: [
|
|
32197
32357
|
"value",
|
|
@@ -32251,12 +32411,12 @@ var TermsOfServiceComponent = class TermsOfServiceComponent extends AppBaseCompo
|
|
|
32251
32411
|
},
|
|
32252
32412
|
{
|
|
32253
32413
|
kind: "pipe",
|
|
32254
|
-
type: i9.RemoveHtmlPipe,
|
|
32414
|
+
type: i9$1.RemoveHtmlPipe,
|
|
32255
32415
|
name: "removeHtml"
|
|
32256
32416
|
},
|
|
32257
32417
|
{
|
|
32258
32418
|
kind: "pipe",
|
|
32259
|
-
type: i9.TextTruncatePipe,
|
|
32419
|
+
type: i9$1.TextTruncatePipe,
|
|
32260
32420
|
name: "textTruncate"
|
|
32261
32421
|
}
|
|
32262
32422
|
]
|
|
@@ -32285,15 +32445,12 @@ i0.ɵɵngDeclareClassMetadata({
|
|
|
32285
32445
|
]
|
|
32286
32446
|
});
|
|
32287
32447
|
var TermsOfServiceDetailsComponent = class TermsOfServiceDetailsComponent extends AppBaseComponent {
|
|
32288
|
-
constructor(adminService, injector, cdr
|
|
32448
|
+
constructor(adminService, injector, cdr) {
|
|
32289
32449
|
super(injector);
|
|
32290
32450
|
this.adminService = adminService;
|
|
32291
32451
|
this.cdr = cdr;
|
|
32292
|
-
this.unsavedChanges = unsavedChanges;
|
|
32293
32452
|
this.isLoading = true;
|
|
32294
32453
|
this.submitted = false;
|
|
32295
|
-
this.saved = false;
|
|
32296
|
-
this.unregisterUnsaved = null;
|
|
32297
32454
|
QuillHelper.init();
|
|
32298
32455
|
this.editorConfig = QuillHelper.getEditorConfig();
|
|
32299
32456
|
this.form = AppAdmin.getTosForm();
|
|
@@ -32305,10 +32462,6 @@ var TermsOfServiceDetailsComponent = class TermsOfServiceDetailsComponent extend
|
|
|
32305
32462
|
else this.isLoading = false;
|
|
32306
32463
|
this.cdr.markForCheck();
|
|
32307
32464
|
});
|
|
32308
|
-
this.unregisterUnsaved = this.unsavedChanges.watch(() => this.hasUnsavedChanges());
|
|
32309
|
-
}
|
|
32310
|
-
hasUnsavedChanges() {
|
|
32311
|
-
return this.form.dirty && !this.saved;
|
|
32312
32465
|
}
|
|
32313
32466
|
ngAfterViewInit() {
|
|
32314
32467
|
HelperService.subscribeToEditorChanges(this.form, "privacy");
|
|
@@ -32334,7 +32487,6 @@ var TermsOfServiceDetailsComponent = class TermsOfServiceDetailsComponent extend
|
|
|
32334
32487
|
(this.id ? this.adminService.updateTos(this.id, data) : this.adminService.postTos(data)).subscribe((response) => {
|
|
32335
32488
|
this.form.patchValue(response);
|
|
32336
32489
|
this.form.markAsPristine();
|
|
32337
|
-
this.saved = true;
|
|
32338
32490
|
this.toast.success(this.translation.translate("Tos.UpdatedMessage"));
|
|
32339
32491
|
this.back();
|
|
32340
32492
|
this.cdr.markForCheck();
|
|
@@ -32357,10 +32509,6 @@ var TermsOfServiceDetailsComponent = class TermsOfServiceDetailsComponent extend
|
|
|
32357
32509
|
this.cdr.markForCheck();
|
|
32358
32510
|
});
|
|
32359
32511
|
}
|
|
32360
|
-
ngOnDestroy() {
|
|
32361
|
-
this.unregisterUnsaved?.();
|
|
32362
|
-
super.ngOnDestroy();
|
|
32363
|
-
}
|
|
32364
32512
|
static {
|
|
32365
32513
|
this.ɵfac = i0.ɵɵngDeclareFactory({
|
|
32366
32514
|
minVersion: "12.0.0",
|
|
@@ -32370,8 +32518,7 @@ var TermsOfServiceDetailsComponent = class TermsOfServiceDetailsComponent extend
|
|
|
32370
32518
|
deps: [
|
|
32371
32519
|
{ token: i1$1.AdminService },
|
|
32372
32520
|
{ token: i0.Injector },
|
|
32373
|
-
{ token: i0.ChangeDetectorRef }
|
|
32374
|
-
{ token: i2$1.UnsavedChangesService }
|
|
32521
|
+
{ token: i0.ChangeDetectorRef }
|
|
32375
32522
|
],
|
|
32376
32523
|
target: i0.ɵɵFactoryTarget.Component
|
|
32377
32524
|
});
|
|
@@ -32494,7 +32641,7 @@ var TermsOfServiceDetailsComponent = class TermsOfServiceDetailsComponent extend
|
|
|
32494
32641
|
},
|
|
32495
32642
|
{
|
|
32496
32643
|
kind: "component",
|
|
32497
|
-
type: i11
|
|
32644
|
+
type: i11.ProgressSpinner,
|
|
32498
32645
|
selector: "p-progress-spinner, p-progressspinner",
|
|
32499
32646
|
inputs: [
|
|
32500
32647
|
"value",
|
|
@@ -32573,9 +32720,14 @@ var TermsOfServiceDetailsComponent = class TermsOfServiceDetailsComponent extend
|
|
|
32573
32720
|
],
|
|
32574
32721
|
outputs: ["ngModelChange"]
|
|
32575
32722
|
},
|
|
32723
|
+
{
|
|
32724
|
+
kind: "directive",
|
|
32725
|
+
type: i9.TrackDirtyFormDirective,
|
|
32726
|
+
selector: "[formGroup]:not([formGroupSkipDirty])"
|
|
32727
|
+
},
|
|
32576
32728
|
{
|
|
32577
32729
|
kind: "component",
|
|
32578
|
-
type:
|
|
32730
|
+
type: i12.QuillEditorComponent,
|
|
32579
32731
|
selector: "quill-editor"
|
|
32580
32732
|
},
|
|
32581
32733
|
{
|
|
@@ -32605,8 +32757,7 @@ i0.ɵɵngDeclareClassMetadata({
|
|
|
32605
32757
|
ctorParameters: () => [
|
|
32606
32758
|
{ type: i1$1.AdminService },
|
|
32607
32759
|
{ type: i0.Injector },
|
|
32608
|
-
{ type: i0.ChangeDetectorRef }
|
|
32609
|
-
{ type: i2$1.UnsavedChangesService }
|
|
32760
|
+
{ type: i0.ChangeDetectorRef }
|
|
32610
32761
|
],
|
|
32611
32762
|
propDecorators: { onSave: [] }
|
|
32612
32763
|
});
|
|
@@ -32824,7 +32975,7 @@ var AhoyEventsComponent = class AhoyEventsComponent extends AppBaseComponent {
|
|
|
32824
32975
|
deps: [
|
|
32825
32976
|
{ token: i0.Injector },
|
|
32826
32977
|
{ token: i3$2.NgbModal },
|
|
32827
|
-
{ token: i2$
|
|
32978
|
+
{ token: i2$1.AhoyService },
|
|
32828
32979
|
{ token: i1$1.AdminDataService },
|
|
32829
32980
|
{ token: i0.ChangeDetectorRef }
|
|
32830
32981
|
],
|
|
@@ -32851,7 +33002,7 @@ var AhoyEventsComponent = class AhoyEventsComponent extends AppBaseComponent {
|
|
|
32851
33002
|
dependencies: [
|
|
32852
33003
|
{
|
|
32853
33004
|
kind: "component",
|
|
32854
|
-
type: i2$
|
|
33005
|
+
type: i2$3.Table,
|
|
32855
33006
|
selector: "p-table",
|
|
32856
33007
|
inputs: [
|
|
32857
33008
|
"frozenColumns",
|
|
@@ -32964,25 +33115,25 @@ var AhoyEventsComponent = class AhoyEventsComponent extends AppBaseComponent {
|
|
|
32964
33115
|
},
|
|
32965
33116
|
{
|
|
32966
33117
|
kind: "directive",
|
|
32967
|
-
type: i2$
|
|
33118
|
+
type: i2$3.SortableColumn,
|
|
32968
33119
|
selector: "[pSortableColumn]",
|
|
32969
33120
|
inputs: ["pSortableColumn", "pSortableColumnDisabled"]
|
|
32970
33121
|
},
|
|
32971
33122
|
{
|
|
32972
33123
|
kind: "directive",
|
|
32973
|
-
type: i2$
|
|
33124
|
+
type: i2$3.ResizableColumn,
|
|
32974
33125
|
selector: "[pResizableColumn]",
|
|
32975
33126
|
inputs: ["pResizableColumnDisabled"]
|
|
32976
33127
|
},
|
|
32977
33128
|
{
|
|
32978
33129
|
kind: "component",
|
|
32979
|
-
type: i2$
|
|
33130
|
+
type: i2$3.SortIcon,
|
|
32980
33131
|
selector: "p-sort-icon, p-sorticon",
|
|
32981
33132
|
inputs: ["field"]
|
|
32982
33133
|
},
|
|
32983
33134
|
{
|
|
32984
33135
|
kind: "component",
|
|
32985
|
-
type: i2$
|
|
33136
|
+
type: i2$2.Select,
|
|
32986
33137
|
selector: "p-select",
|
|
32987
33138
|
inputs: [
|
|
32988
33139
|
"id",
|
|
@@ -33275,7 +33426,7 @@ var AhoyEventsComponent = class AhoyEventsComponent extends AppBaseComponent {
|
|
|
33275
33426
|
},
|
|
33276
33427
|
{
|
|
33277
33428
|
kind: "component",
|
|
33278
|
-
type: i11
|
|
33429
|
+
type: i11.ProgressSpinner,
|
|
33279
33430
|
selector: "p-progress-spinner, p-progressspinner",
|
|
33280
33431
|
inputs: [
|
|
33281
33432
|
"value",
|
|
@@ -33340,7 +33491,7 @@ var AhoyEventsComponent = class AhoyEventsComponent extends AppBaseComponent {
|
|
|
33340
33491
|
},
|
|
33341
33492
|
{
|
|
33342
33493
|
kind: "pipe",
|
|
33343
|
-
type: i9.DateFormatPipe,
|
|
33494
|
+
type: i9$1.DateFormatPipe,
|
|
33344
33495
|
name: "dateFormat"
|
|
33345
33496
|
}
|
|
33346
33497
|
]
|
|
@@ -33364,7 +33515,7 @@ i0.ɵɵngDeclareClassMetadata({
|
|
|
33364
33515
|
ctorParameters: () => [
|
|
33365
33516
|
{ type: i0.Injector },
|
|
33366
33517
|
{ type: i3$2.NgbModal },
|
|
33367
|
-
{ type: i2$
|
|
33518
|
+
{ type: i2$1.AhoyService },
|
|
33368
33519
|
{ type: i1$1.AdminDataService },
|
|
33369
33520
|
{ type: i0.ChangeDetectorRef }
|
|
33370
33521
|
],
|
|
@@ -33520,7 +33671,7 @@ var AhoyMessagesComponent = class AhoyMessagesComponent extends AppBaseComponent
|
|
|
33520
33671
|
type: AhoyMessagesComponent,
|
|
33521
33672
|
deps: [
|
|
33522
33673
|
{ token: i0.Injector },
|
|
33523
|
-
{ token: i2$
|
|
33674
|
+
{ token: i2$1.AhoyService },
|
|
33524
33675
|
{ token: i0.ChangeDetectorRef },
|
|
33525
33676
|
{ token: i1$1.AdminDataService }
|
|
33526
33677
|
],
|
|
@@ -33541,7 +33692,7 @@ var AhoyMessagesComponent = class AhoyMessagesComponent extends AppBaseComponent
|
|
|
33541
33692
|
dependencies: [
|
|
33542
33693
|
{
|
|
33543
33694
|
kind: "component",
|
|
33544
|
-
type: i2$
|
|
33695
|
+
type: i2$3.Table,
|
|
33545
33696
|
selector: "p-table",
|
|
33546
33697
|
inputs: [
|
|
33547
33698
|
"frozenColumns",
|
|
@@ -33654,25 +33805,25 @@ var AhoyMessagesComponent = class AhoyMessagesComponent extends AppBaseComponent
|
|
|
33654
33805
|
},
|
|
33655
33806
|
{
|
|
33656
33807
|
kind: "directive",
|
|
33657
|
-
type: i2$
|
|
33808
|
+
type: i2$3.SortableColumn,
|
|
33658
33809
|
selector: "[pSortableColumn]",
|
|
33659
33810
|
inputs: ["pSortableColumn", "pSortableColumnDisabled"]
|
|
33660
33811
|
},
|
|
33661
33812
|
{
|
|
33662
33813
|
kind: "directive",
|
|
33663
|
-
type: i2$
|
|
33814
|
+
type: i2$3.ResizableColumn,
|
|
33664
33815
|
selector: "[pResizableColumn]",
|
|
33665
33816
|
inputs: ["pResizableColumnDisabled"]
|
|
33666
33817
|
},
|
|
33667
33818
|
{
|
|
33668
33819
|
kind: "component",
|
|
33669
|
-
type: i2$
|
|
33820
|
+
type: i2$3.SortIcon,
|
|
33670
33821
|
selector: "p-sort-icon, p-sorticon",
|
|
33671
33822
|
inputs: ["field"]
|
|
33672
33823
|
},
|
|
33673
33824
|
{
|
|
33674
33825
|
kind: "component",
|
|
33675
|
-
type: i2$
|
|
33826
|
+
type: i2$2.Select,
|
|
33676
33827
|
selector: "p-select",
|
|
33677
33828
|
inputs: [
|
|
33678
33829
|
"id",
|
|
@@ -33954,7 +34105,7 @@ var AhoyMessagesComponent = class AhoyMessagesComponent extends AppBaseComponent
|
|
|
33954
34105
|
},
|
|
33955
34106
|
{
|
|
33956
34107
|
kind: "component",
|
|
33957
|
-
type: i11
|
|
34108
|
+
type: i11.ProgressSpinner,
|
|
33958
34109
|
selector: "p-progress-spinner, p-progressspinner",
|
|
33959
34110
|
inputs: [
|
|
33960
34111
|
"value",
|
|
@@ -34014,12 +34165,12 @@ var AhoyMessagesComponent = class AhoyMessagesComponent extends AppBaseComponent
|
|
|
34014
34165
|
},
|
|
34015
34166
|
{
|
|
34016
34167
|
kind: "pipe",
|
|
34017
|
-
type: i9.DateFormatPipe,
|
|
34168
|
+
type: i9$1.DateFormatPipe,
|
|
34018
34169
|
name: "dateFormat"
|
|
34019
34170
|
},
|
|
34020
34171
|
{
|
|
34021
34172
|
kind: "pipe",
|
|
34022
|
-
type: i9.TextTruncatePipe,
|
|
34173
|
+
type: i9$1.TextTruncatePipe,
|
|
34023
34174
|
name: "textTruncate"
|
|
34024
34175
|
}
|
|
34025
34176
|
]
|
|
@@ -34042,7 +34193,7 @@ i0.ɵɵngDeclareClassMetadata({
|
|
|
34042
34193
|
}],
|
|
34043
34194
|
ctorParameters: () => [
|
|
34044
34195
|
{ type: i0.Injector },
|
|
34045
|
-
{ type: i2$
|
|
34196
|
+
{ type: i2$1.AhoyService },
|
|
34046
34197
|
{ type: i0.ChangeDetectorRef },
|
|
34047
34198
|
{ type: i1$1.AdminDataService }
|
|
34048
34199
|
]
|
|
@@ -34194,7 +34345,7 @@ var AhoyVisitsComponent = class AhoyVisitsComponent extends AppBaseComponent {
|
|
|
34194
34345
|
type: AhoyVisitsComponent,
|
|
34195
34346
|
deps: [
|
|
34196
34347
|
{ token: i0.Injector },
|
|
34197
|
-
{ token: i2$
|
|
34348
|
+
{ token: i2$1.AhoyService },
|
|
34198
34349
|
{ token: i1$1.AdminDataService },
|
|
34199
34350
|
{ token: i0.ChangeDetectorRef }
|
|
34200
34351
|
],
|
|
@@ -34215,7 +34366,7 @@ var AhoyVisitsComponent = class AhoyVisitsComponent extends AppBaseComponent {
|
|
|
34215
34366
|
dependencies: [
|
|
34216
34367
|
{
|
|
34217
34368
|
kind: "component",
|
|
34218
|
-
type: i2$
|
|
34369
|
+
type: i2$3.Table,
|
|
34219
34370
|
selector: "p-table",
|
|
34220
34371
|
inputs: [
|
|
34221
34372
|
"frozenColumns",
|
|
@@ -34328,19 +34479,19 @@ var AhoyVisitsComponent = class AhoyVisitsComponent extends AppBaseComponent {
|
|
|
34328
34479
|
},
|
|
34329
34480
|
{
|
|
34330
34481
|
kind: "directive",
|
|
34331
|
-
type: i2$
|
|
34482
|
+
type: i2$3.SortableColumn,
|
|
34332
34483
|
selector: "[pSortableColumn]",
|
|
34333
34484
|
inputs: ["pSortableColumn", "pSortableColumnDisabled"]
|
|
34334
34485
|
},
|
|
34335
34486
|
{
|
|
34336
34487
|
kind: "directive",
|
|
34337
|
-
type: i2$
|
|
34488
|
+
type: i2$3.ResizableColumn,
|
|
34338
34489
|
selector: "[pResizableColumn]",
|
|
34339
34490
|
inputs: ["pResizableColumnDisabled"]
|
|
34340
34491
|
},
|
|
34341
34492
|
{
|
|
34342
34493
|
kind: "component",
|
|
34343
|
-
type: i2$
|
|
34494
|
+
type: i2$3.SortIcon,
|
|
34344
34495
|
selector: "p-sort-icon, p-sorticon",
|
|
34345
34496
|
inputs: ["field"]
|
|
34346
34497
|
},
|
|
@@ -34374,7 +34525,7 @@ var AhoyVisitsComponent = class AhoyVisitsComponent extends AppBaseComponent {
|
|
|
34374
34525
|
},
|
|
34375
34526
|
{
|
|
34376
34527
|
kind: "component",
|
|
34377
|
-
type: i2$
|
|
34528
|
+
type: i2$2.Select,
|
|
34378
34529
|
selector: "p-select",
|
|
34379
34530
|
inputs: [
|
|
34380
34531
|
"id",
|
|
@@ -34656,7 +34807,7 @@ var AhoyVisitsComponent = class AhoyVisitsComponent extends AppBaseComponent {
|
|
|
34656
34807
|
},
|
|
34657
34808
|
{
|
|
34658
34809
|
kind: "component",
|
|
34659
|
-
type: i11
|
|
34810
|
+
type: i11.ProgressSpinner,
|
|
34660
34811
|
selector: "p-progress-spinner, p-progressspinner",
|
|
34661
34812
|
inputs: [
|
|
34662
34813
|
"value",
|
|
@@ -34716,12 +34867,12 @@ var AhoyVisitsComponent = class AhoyVisitsComponent extends AppBaseComponent {
|
|
|
34716
34867
|
},
|
|
34717
34868
|
{
|
|
34718
34869
|
kind: "pipe",
|
|
34719
|
-
type: i9.DateFormatPipe,
|
|
34870
|
+
type: i9$1.DateFormatPipe,
|
|
34720
34871
|
name: "dateFormat"
|
|
34721
34872
|
},
|
|
34722
34873
|
{
|
|
34723
34874
|
kind: "pipe",
|
|
34724
|
-
type: i9.TextTruncatePipe,
|
|
34875
|
+
type: i9$1.TextTruncatePipe,
|
|
34725
34876
|
name: "textTruncate"
|
|
34726
34877
|
}
|
|
34727
34878
|
]
|
|
@@ -34744,7 +34895,7 @@ i0.ɵɵngDeclareClassMetadata({
|
|
|
34744
34895
|
}],
|
|
34745
34896
|
ctorParameters: () => [
|
|
34746
34897
|
{ type: i0.Injector },
|
|
34747
|
-
{ type: i2$
|
|
34898
|
+
{ type: i2$1.AhoyService },
|
|
34748
34899
|
{ type: i1$1.AdminDataService },
|
|
34749
34900
|
{ type: i0.ChangeDetectorRef }
|
|
34750
34901
|
]
|
|
@@ -34898,7 +35049,7 @@ var EventsComponent = class EventsComponent extends AppBaseComponent {
|
|
|
34898
35049
|
deps: [
|
|
34899
35050
|
{ token: i0.Injector },
|
|
34900
35051
|
{ token: i0.ChangeDetectorRef },
|
|
34901
|
-
{ token: i2$
|
|
35052
|
+
{ token: i2$1.AhoyService },
|
|
34902
35053
|
{ token: i1$1.AdminDataService }
|
|
34903
35054
|
],
|
|
34904
35055
|
target: i0.ɵɵFactoryTarget.Component
|
|
@@ -34918,7 +35069,7 @@ var EventsComponent = class EventsComponent extends AppBaseComponent {
|
|
|
34918
35069
|
dependencies: [
|
|
34919
35070
|
{
|
|
34920
35071
|
kind: "component",
|
|
34921
|
-
type: i2$
|
|
35072
|
+
type: i2$3.Table,
|
|
34922
35073
|
selector: "p-table",
|
|
34923
35074
|
inputs: [
|
|
34924
35075
|
"frozenColumns",
|
|
@@ -35031,25 +35182,25 @@ var EventsComponent = class EventsComponent extends AppBaseComponent {
|
|
|
35031
35182
|
},
|
|
35032
35183
|
{
|
|
35033
35184
|
kind: "directive",
|
|
35034
|
-
type: i2$
|
|
35185
|
+
type: i2$3.SortableColumn,
|
|
35035
35186
|
selector: "[pSortableColumn]",
|
|
35036
35187
|
inputs: ["pSortableColumn", "pSortableColumnDisabled"]
|
|
35037
35188
|
},
|
|
35038
35189
|
{
|
|
35039
35190
|
kind: "directive",
|
|
35040
|
-
type: i2$
|
|
35191
|
+
type: i2$3.ResizableColumn,
|
|
35041
35192
|
selector: "[pResizableColumn]",
|
|
35042
35193
|
inputs: ["pResizableColumnDisabled"]
|
|
35043
35194
|
},
|
|
35044
35195
|
{
|
|
35045
35196
|
kind: "component",
|
|
35046
|
-
type: i2$
|
|
35197
|
+
type: i2$3.SortIcon,
|
|
35047
35198
|
selector: "p-sort-icon, p-sorticon",
|
|
35048
35199
|
inputs: ["field"]
|
|
35049
35200
|
},
|
|
35050
35201
|
{
|
|
35051
35202
|
kind: "component",
|
|
35052
|
-
type: i2$
|
|
35203
|
+
type: i2$2.Select,
|
|
35053
35204
|
selector: "p-select",
|
|
35054
35205
|
inputs: [
|
|
35055
35206
|
"id",
|
|
@@ -35331,7 +35482,7 @@ var EventsComponent = class EventsComponent extends AppBaseComponent {
|
|
|
35331
35482
|
},
|
|
35332
35483
|
{
|
|
35333
35484
|
kind: "component",
|
|
35334
|
-
type: i11
|
|
35485
|
+
type: i11.ProgressSpinner,
|
|
35335
35486
|
selector: "p-progress-spinner, p-progressspinner",
|
|
35336
35487
|
inputs: [
|
|
35337
35488
|
"value",
|
|
@@ -35391,7 +35542,7 @@ var EventsComponent = class EventsComponent extends AppBaseComponent {
|
|
|
35391
35542
|
},
|
|
35392
35543
|
{
|
|
35393
35544
|
kind: "pipe",
|
|
35394
|
-
type: i9.DateFormatPipe,
|
|
35545
|
+
type: i9$1.DateFormatPipe,
|
|
35395
35546
|
name: "dateFormat"
|
|
35396
35547
|
}
|
|
35397
35548
|
]
|
|
@@ -35415,7 +35566,7 @@ i0.ɵɵngDeclareClassMetadata({
|
|
|
35415
35566
|
ctorParameters: () => [
|
|
35416
35567
|
{ type: i0.Injector },
|
|
35417
35568
|
{ type: i0.ChangeDetectorRef },
|
|
35418
|
-
{ type: i2$
|
|
35569
|
+
{ type: i2$1.AhoyService },
|
|
35419
35570
|
{ type: i1$1.AdminDataService }
|
|
35420
35571
|
]
|
|
35421
35572
|
});
|
|
@@ -35659,7 +35810,7 @@ var VersionsComponent = class VersionsComponent extends AppBaseComponent {
|
|
|
35659
35810
|
type: VersionsComponent,
|
|
35660
35811
|
deps: [
|
|
35661
35812
|
{ token: i0.Injector },
|
|
35662
|
-
{ token: i2$
|
|
35813
|
+
{ token: i2$1.AhoyService },
|
|
35663
35814
|
{ token: i3$2.NgbModal },
|
|
35664
35815
|
{ token: i1$1.AdminDataService },
|
|
35665
35816
|
{ token: i0.ChangeDetectorRef }
|
|
@@ -35681,7 +35832,7 @@ var VersionsComponent = class VersionsComponent extends AppBaseComponent {
|
|
|
35681
35832
|
dependencies: [
|
|
35682
35833
|
{
|
|
35683
35834
|
kind: "component",
|
|
35684
|
-
type: i2$
|
|
35835
|
+
type: i2$3.Table,
|
|
35685
35836
|
selector: "p-table",
|
|
35686
35837
|
inputs: [
|
|
35687
35838
|
"frozenColumns",
|
|
@@ -35794,25 +35945,25 @@ var VersionsComponent = class VersionsComponent extends AppBaseComponent {
|
|
|
35794
35945
|
},
|
|
35795
35946
|
{
|
|
35796
35947
|
kind: "directive",
|
|
35797
|
-
type: i2$
|
|
35948
|
+
type: i2$3.SortableColumn,
|
|
35798
35949
|
selector: "[pSortableColumn]",
|
|
35799
35950
|
inputs: ["pSortableColumn", "pSortableColumnDisabled"]
|
|
35800
35951
|
},
|
|
35801
35952
|
{
|
|
35802
35953
|
kind: "directive",
|
|
35803
|
-
type: i2$
|
|
35954
|
+
type: i2$3.ResizableColumn,
|
|
35804
35955
|
selector: "[pResizableColumn]",
|
|
35805
35956
|
inputs: ["pResizableColumnDisabled"]
|
|
35806
35957
|
},
|
|
35807
35958
|
{
|
|
35808
35959
|
kind: "component",
|
|
35809
|
-
type: i2$
|
|
35960
|
+
type: i2$3.SortIcon,
|
|
35810
35961
|
selector: "p-sort-icon, p-sorticon",
|
|
35811
35962
|
inputs: ["field"]
|
|
35812
35963
|
},
|
|
35813
35964
|
{
|
|
35814
35965
|
kind: "component",
|
|
35815
|
-
type: i2$
|
|
35966
|
+
type: i2$2.Select,
|
|
35816
35967
|
selector: "p-select",
|
|
35817
35968
|
inputs: [
|
|
35818
35969
|
"id",
|
|
@@ -36105,7 +36256,7 @@ var VersionsComponent = class VersionsComponent extends AppBaseComponent {
|
|
|
36105
36256
|
},
|
|
36106
36257
|
{
|
|
36107
36258
|
kind: "component",
|
|
36108
|
-
type: i11
|
|
36259
|
+
type: i11.ProgressSpinner,
|
|
36109
36260
|
selector: "p-progress-spinner, p-progressspinner",
|
|
36110
36261
|
inputs: [
|
|
36111
36262
|
"value",
|
|
@@ -36176,7 +36327,7 @@ var VersionsComponent = class VersionsComponent extends AppBaseComponent {
|
|
|
36176
36327
|
},
|
|
36177
36328
|
{
|
|
36178
36329
|
kind: "pipe",
|
|
36179
|
-
type: i9.DateFormatPipe,
|
|
36330
|
+
type: i9$1.DateFormatPipe,
|
|
36180
36331
|
name: "dateFormat"
|
|
36181
36332
|
}
|
|
36182
36333
|
]
|
|
@@ -36199,7 +36350,7 @@ i0.ɵɵngDeclareClassMetadata({
|
|
|
36199
36350
|
}],
|
|
36200
36351
|
ctorParameters: () => [
|
|
36201
36352
|
{ type: i0.Injector },
|
|
36202
|
-
{ type: i2$
|
|
36353
|
+
{ type: i2$1.AhoyService },
|
|
36203
36354
|
{ type: i3$2.NgbModal },
|
|
36204
36355
|
{ type: i1$1.AdminDataService },
|
|
36205
36356
|
{ type: i0.ChangeDetectorRef }
|
|
@@ -36373,7 +36524,7 @@ var UserDetailsComponent = class UserDetailsComponent extends AppBaseComponent {
|
|
|
36373
36524
|
dependencies: [
|
|
36374
36525
|
{
|
|
36375
36526
|
kind: "component",
|
|
36376
|
-
type: i2$
|
|
36527
|
+
type: i2$3.Table,
|
|
36377
36528
|
selector: "p-table",
|
|
36378
36529
|
inputs: [
|
|
36379
36530
|
"frozenColumns",
|
|
@@ -36486,7 +36637,7 @@ var UserDetailsComponent = class UserDetailsComponent extends AppBaseComponent {
|
|
|
36486
36637
|
},
|
|
36487
36638
|
{
|
|
36488
36639
|
kind: "directive",
|
|
36489
|
-
type: i2$
|
|
36640
|
+
type: i2$3.ResizableColumn,
|
|
36490
36641
|
selector: "[pResizableColumn]",
|
|
36491
36642
|
inputs: ["pResizableColumnDisabled"]
|
|
36492
36643
|
},
|
|
@@ -36574,7 +36725,7 @@ var UserDetailsComponent = class UserDetailsComponent extends AppBaseComponent {
|
|
|
36574
36725
|
},
|
|
36575
36726
|
{
|
|
36576
36727
|
kind: "component",
|
|
36577
|
-
type: i11
|
|
36728
|
+
type: i11.ProgressSpinner,
|
|
36578
36729
|
selector: "p-progress-spinner, p-progressspinner",
|
|
36579
36730
|
inputs: [
|
|
36580
36731
|
"value",
|
|
@@ -36670,6 +36821,11 @@ var UserDetailsComponent = class UserDetailsComponent extends AppBaseComponent {
|
|
|
36670
36821
|
],
|
|
36671
36822
|
outputs: ["ngModelChange"]
|
|
36672
36823
|
},
|
|
36824
|
+
{
|
|
36825
|
+
kind: "directive",
|
|
36826
|
+
type: i9.TrackDirtyFormDirective,
|
|
36827
|
+
selector: "[formGroup]:not([formGroupSkipDirty])"
|
|
36828
|
+
},
|
|
36673
36829
|
{
|
|
36674
36830
|
kind: "pipe",
|
|
36675
36831
|
type: i5$2.CurrencyPipe,
|
|
@@ -36682,7 +36838,7 @@ var UserDetailsComponent = class UserDetailsComponent extends AppBaseComponent {
|
|
|
36682
36838
|
},
|
|
36683
36839
|
{
|
|
36684
36840
|
kind: "pipe",
|
|
36685
|
-
type: i9.DateFormatPipe,
|
|
36841
|
+
type: i9$1.DateFormatPipe,
|
|
36686
36842
|
name: "dateFormat"
|
|
36687
36843
|
}
|
|
36688
36844
|
]
|
|
@@ -36838,7 +36994,7 @@ var UserInsightComponent = class UserInsightComponent extends AppBaseComponent {
|
|
|
36838
36994
|
},
|
|
36839
36995
|
{
|
|
36840
36996
|
kind: "component",
|
|
36841
|
-
type: i11
|
|
36997
|
+
type: i11.ProgressSpinner,
|
|
36842
36998
|
selector: "p-progress-spinner, p-progressspinner",
|
|
36843
36999
|
inputs: [
|
|
36844
37000
|
"value",
|
|
@@ -37037,7 +37193,7 @@ var UsersListBaseComponent = class extends AppBaseComponent {
|
|
|
37037
37193
|
});
|
|
37038
37194
|
}
|
|
37039
37195
|
getUsers(paging) {
|
|
37040
|
-
this.
|
|
37196
|
+
this.loading = true;
|
|
37041
37197
|
const params = {
|
|
37042
37198
|
product_ids: this.filterByProducts.join() || "",
|
|
37043
37199
|
role_ids: this.filterByRoles.join() || "",
|
|
@@ -37047,18 +37203,22 @@ var UsersListBaseComponent = class extends AppBaseComponent {
|
|
|
37047
37203
|
if (this.filterByAlphaBeta.includes("alpha")) params.alpha = true;
|
|
37048
37204
|
if (this.filterByAlphaBeta.includes("beta")) params.beta = true;
|
|
37049
37205
|
if (this.showAmbassadorsOnly) params.is_ambassador = true;
|
|
37050
|
-
this.adminService.getUsers(paging, params).
|
|
37206
|
+
this.adminService.getUsers(paging, params).pipe(finalize(() => {
|
|
37207
|
+
this.loading = false;
|
|
37208
|
+
this.isLoaded = true;
|
|
37209
|
+
this.cdr.markForCheck();
|
|
37210
|
+
})).subscribe((response) => {
|
|
37051
37211
|
this.users = response.users;
|
|
37052
37212
|
this.allUsers = [...this.users];
|
|
37053
37213
|
this.totalRecords = response.object_count;
|
|
37054
37214
|
this.totalRecordsUnFiltered = response?.unfiltered_count;
|
|
37055
|
-
this.loading = false;
|
|
37056
|
-
this.isLoaded = true;
|
|
37057
|
-
this.cdr.markForCheck();
|
|
37058
37215
|
});
|
|
37059
37216
|
}
|
|
37060
37217
|
};
|
|
37061
37218
|
var UserListComponent = class UserListComponent extends UsersListBaseComponent {
|
|
37219
|
+
get chatPermission() {
|
|
37220
|
+
return PermissionService.productPermission("Chat");
|
|
37221
|
+
}
|
|
37062
37222
|
constructor(adminService, toaster, productService, injector, authService, cdr, windowService, sidebarService) {
|
|
37063
37223
|
super(adminService, productService, injector, cdr, sidebarService);
|
|
37064
37224
|
this.toaster = toaster;
|
|
@@ -37068,7 +37228,6 @@ var UserListComponent = class UserListComponent extends UsersListBaseComponent {
|
|
|
37068
37228
|
}
|
|
37069
37229
|
ngOnInit() {
|
|
37070
37230
|
this.subscriptionId = PermissionService.selectedSubscription?.id;
|
|
37071
|
-
this.chatPermission = `${PermissionService.selectedProduct?.permission}.${PermissionService.selectedProduct?.feature_key}`;
|
|
37072
37231
|
this.getRoles();
|
|
37073
37232
|
this.getProducts();
|
|
37074
37233
|
this.userStore().subscribe((response) => {
|
|
@@ -37183,12 +37342,12 @@ var UserListComponent = class UserListComponent extends UsersListBaseComponent {
|
|
|
37183
37342
|
type: UserListComponent,
|
|
37184
37343
|
deps: [
|
|
37185
37344
|
{ token: i1$1.AdminService },
|
|
37186
|
-
{ token: i2$
|
|
37187
|
-
{ token: i2$
|
|
37345
|
+
{ token: i2$1.CustomToastService },
|
|
37346
|
+
{ token: i2$1.ProductService },
|
|
37188
37347
|
{ token: i0.Injector },
|
|
37189
|
-
{ token: i2$
|
|
37348
|
+
{ token: i2$1.AuthService },
|
|
37190
37349
|
{ token: i0.ChangeDetectorRef },
|
|
37191
|
-
{ token: i2$
|
|
37350
|
+
{ token: i2$1.WindowService },
|
|
37192
37351
|
{ token: i6$2.CollapsibleSidebarService }
|
|
37193
37352
|
],
|
|
37194
37353
|
target: i0.ɵɵFactoryTarget.Component
|
|
@@ -37223,12 +37382,12 @@ var UserListComponent = class UserListComponent extends UsersListBaseComponent {
|
|
|
37223
37382
|
],
|
|
37224
37383
|
usesInheritance: true,
|
|
37225
37384
|
ngImport: i0,
|
|
37226
|
-
template: "<div class=\"row\">\n <div class=\"col-12 d-flex flex-wrap justify-content-between align-items-baseline\">\n <h2 class=\"card-title p-0\">Users</h2>\n <a class=\"btn btn-sm btn-outline-primary\"\n id=\"btn-create\"\n *rbacAllow=\"'SuperAdmin'\"\n [routerLink]=\"[routers.usersDetails + 'add']\">\n <i class=\"fa fa-plus-circle\" aria-hidden=\"true\"></i> Add User\n </a>\n </div>\n</div>\n<div class=\"w-100 text-center mt-3\">\n @if (!isLoaded) {\n <p-progress-spinner> </p-progress-spinner>\n }\n</div>\n<div class=\"primeng-datatable-container actions-collapsed mt-0\" [class.hideTable]=\"totalRecordsUnFiltered === 0\">\n <div class=\"user-management-table table-responsive\">\n <p-table #dt\n stateKey=\"pw-table.admin-users-list\"\n stateStorage=\"session\"\n [resizableColumns]=\"true\"\n columnResizeMode=\"expand\"\n [value]=\"users\"\n [paginator]=\"totalRecords !== 0\"\n [lazy]=\"true\"\n [rows]=\"PAGE_SIZE\"\n [totalRecords]=\"totalRecords\"\n [loading]=\"loading\"\n [filterDelay]=\"1000\"\n (onLazyLoad)=\"onLazyLoad($event)\"\n (onStateRestore)=\"onTableStateRestore($event)\"\n [customSort]=\"true\">\n <ng-template #caption>\n <div class=\"search-filter\">\n <div class=\"col-sm-4\">\n <p-multiselect class=\"pw-filter-select\" inputId=\"users-list-filter-role-product\"\n [options]=\"searchOptions\"\n (onChange)=\"onSearchOptionChange($event); dt.filter($event.value, 'filterSource', 'equals')\"\n placeholder=\"Filter users by role, product, or feature\"\n [selectionLimit]=\"1\"\n [(ngModel)]=\"filterSource\"\n [showToggleAll]=\"true\"\n [showHeader]=\"true\"\n appendTo=\"body\">\n </p-multiselect>\n </div>\n @if (selectedOption) {\n <div class=\"col-4\"\n >\n <p-multiselect class=\"pw-filter-select\" inputId=\"users-list-filter-criteria\"\n [options]=\"searchDataSource\"\n (onChange)=\"onSearchCriteria($event); dt.filter($event.value, 'criteria', 'equals')\"\n [showToggleAll]=\"true\"\n [(ngModel)]=\"criteria\"\n [showHeader]=\"true\"\n placeholder=\"Filter by {{ selectedOption.value }}s\"\n maxSelectedLabels=\"2\"\n appendTo=\"body\">\n </p-multiselect>\n </div>\n }\n <div class=\"col-auto d-flex align-items-center\">\n <span class=\"ambassadors-only-toggle\"\n [pTooltip]=\"'Admin.Users.AmbassadorsOnly' | transloco\"\n tooltipPosition=\"top\" appendTo=\"body\">\n <ui-switch\n [checked]=\"showAmbassadorsOnly\"\n (change)=\"showAmbassadorsOnly = $event; onAmbassadorsOnlyToggle(); dt.filter($event, 'ambassadors', 'equals')\"\n [attr.aria-label]=\"'Admin.Users.AmbassadorsOnly' | transloco\">\n </ui-switch>\n </span>\n </div>\n <div class=\"text-end\">\n <label for=\"users-list-search\" class=\"visually-hidden\">Search User</label>\n <p-iconfield iconPosition=\"left\">\n <p-inputicon><i class=\"fa fa-search\" aria-hidden=\"true\"></i></p-inputicon>\n <input type=\"text\"\n id=\"users-list-search\"\n name=\"users-list-search\"\n [(ngModel)]=\"searchText\"\n pInputText\n placeholder=\"Search users...\"\n data-cy=\"user-search\"\n (input)=\"dt.filterGlobal($event.target.value, 'contains')\"\n class=\"wd-90\"\n aria-label=\"Search users...\" />\n </p-iconfield>\n </div>\n </div>\n </ng-template>\n <ng-template #header>\n <tr>\n <th pResizableColumn scope=\"true\"\n pSortableColumn=\"id\">\n {{ 'Admin.Users.Id' | transloco }}\n <p-sort-icon field=\"id\"></p-sort-icon>\n </th>\n <th pResizableColumn scope=\"true\"\n pSortableColumn=\"first_name\">\n {{ 'Label.FirstName' | transloco }}\n <p-sort-icon field=\"first_name\"></p-sort-icon>\n </th>\n <th pResizableColumn scope=\"true\"\n pSortableColumn=\"last_name\">\n {{ 'Label.LastName' | transloco }}\n <p-sort-icon field=\"last_name\"></p-sort-icon>\n </th>\n <th pResizableColumn scope=\"true\"\n pSortableColumn=\"email\">\n {{ 'Label.Email' | transloco }}\n <p-sort-icon field=\"email\"></p-sort-icon>\n </th>\n <th pResizableColumn scope=\"true\"\n pSortableColumn=\"slug\">\n {{ 'Admin.Users.Slug' | transloco }}\n <p-sort-icon field=\"slug\"></p-sort-icon>\n </th>\n <th pResizableColumn scope=\"true\"\n pSortableColumn=\"encrypted_password\">\n {{ 'Admin.Users.EmailConfirm' | transloco }}\n <p-sort-icon field=\"encrypted_password\"></p-sort-icon>\n </th>\n\n <th pResizableColumn scope=\"true\"\n pSortableColumn=\"sessions_last_month\">\n {{ 'Admin.Subscriptions.SessionsTotalLastMonth' | transloco }}\n <p-sort-icon field=\"sessions_last_month\"></p-sort-icon>\n </th>\n <th pResizableColumn scope=\"true\"\n pSortableColumn=\"last_sign_in_at\">\n {{ 'Admin.Users.LastLogin' | transloco }}\n <p-sort-icon field=\"last_sign_in_at\"></p-sort-icon>\n </th>\n <th pResizableColumn scope=\"true\"\n pSortableColumn=\"signed_up_at\">\n {{ 'Admin.Users.RegisteredOn' | transloco }}\n <p-sort-icon field=\"signed_up_at\"></p-sort-icon>\n </th>\n <th scope=\"true\"\n class=\"actions-list-four\">\n {{ 'Label.Actions' | transloco }}\n </th>\n </tr>\n </ng-template>\n <ng-template #body\n let-user>\n <tr>\n <td data-head=\"id\"> {{ user.id }}</td>\n <td data-head=\"First Name\"><a [routerLink]=\"['/members', user.slug]\">{{ user.first_name }}</a></td>\n <td data-head=\"Last Name\">{{ user.last_name }}\n @if (user?.alpha) {\n <span\n [pTooltip]=\"'Admin.Users.Tooltip.AlphaIcon'|transloco\"\n tooltipPosition=\"top\" appendTo=\"body\">\n <i class=\"fa-regular fa-square-a alpha-beta text-warning\"></i>\n </span>\n }\n @if (user?.beta) {\n <span class=\"ms-2\"\n [pTooltip]=\"'Admin.Users.Tooltip.BetaIcon'|transloco\"\n tooltipPosition=\"top\" appendTo=\"body\">\n <i class=\"fa-regular fa-square-b alpha-beta text-primary\" ></i>\n </span>\n }\n @if (user?.cognito_sso_activated) {\n <span\n class=\"ms-2\"\n [pTooltip]=\"'Admin.Users.Tooltip.Cognito' | transloco\"\n tooltipPosition=\"top\" appendTo=\"body\">\n <i class=\"fa fa-cloud success\" ></i>\n </span>\n }\n @if (user?.ambassador_count > 0) {\n <span\n class=\"ms-2\"\n [pTooltip]=\"'Admin.Users.Tooltip.Ambassador' | transloco\"\n tooltipPosition=\"top\" appendTo=\"body\">\n <i class=\"fa fa-handshake alpha-beta text-primary\" aria-hidden=\"true\"></i>\n </span>\n }\n </td>\n <td data-head=\"Email\">{{ user.email }}</td>\n <td data-head=\"Slug\">{{ user.slug }}</td>\n <td data-head=\"Email Confirm\">\n <span [appDynamicBadge]=\"{\n itemsArray: [true, false],\n item: user?.has_password\n }\"\n color=\"success-danger\"\n class=\"badge\">{{ user?.has_password ? 'Yes' : 'No' }}</span>\n @if (user?.blocked) {\n <span class=\"ms-2\" [pTooltip]=\"'This user has been blocked'\" tooltipPosition=\"top\" appendTo=\"body\">\n <i class=\"fa-solid fa-hexagon-exclamation text-danger hexa-warning\"></i>\n </span>\n }\n </td>\n <td data-head=\"S/m #\">\n <span [ngClass]=\"{\n 'text-danger fw-bold': user?.sessions_last_month < 3\n }\">{{ user?.sessions_last_month }}</span>\n </td>\n <td data-head=\"Last Login\">\n @if (user?.current_sign_in_at | isOnline) {\n <pw-online-indicator [lastSeen]=\"user.current_sign_in_at\" />\n } @else if (user?.current_sign_in_at) {\n <span>\n {{ user.current_sign_in_at | dateFormat }}\n </span>\n } @else {\n {{ user.last_sign_in_at | dateFormat }}\n }\n </td>\n <td data-head=\"Registered On\">{{ user.signed_up_at | dateFormat }}</td>\n <td data-head=\"Action\">\n <ul class=\"list-unstyled list-inline list-action\">\n <li pTooltip=\"Impersonate this user\" tooltipPosition=\"top\" appendTo=\"body\"\n *rbacAllow=\"'Pages.Alpha'\"\n class=\"me-2 me-sm-3\">\n <i\n class=\"fas fa-people-arrows fa-lg\"\n (click)=\"onImpersonate(user)\"\n (keydown.enter)=\"onImpersonate(user)\"\n aria-hidden=\"true\"\n ></i>\n </li>\n @if (user?.enable_two_factor_authenticator) {\n <li pTooltip=\"Disable 2FA\" tooltipPosition=\"top\" appendTo=\"body\"\n (click)=\"disable2fa(user?.id)\"\n (keydown.enter)=\"disable2fa(user?.id)\"\n *rbacAllow=\"'Pages.Alpha'\"\n class=\"me-2 me-sm-3\">\n <i class=\"fa fa-lock fa-lg success\" aria-hidden=\"true\"></i>\n </li>\n }\n @if (currentUser && user.id !== currentUser.id) {\n <li pTooltip=\"Message\" tooltipPosition=\"top\" appendTo=\"body\"\n *rbacAllow=\"chatPermission\"\n class=\"me-2 me-sm-3\"\n [routerLink]=\"['/message']\"\n [fragment]=\"user.slug\">\n <i class=\"fa fa-comments cta1-icon\" aria-hidden=\"true\"></i>\n </li>\n }\n <li pTooltip=\"Edit\" tooltipPosition=\"top\" appendTo=\"body\"\n *rbacAllow=\"'Pages.Admin.Users.Edit'\"\n class=\"me-2 me-sm-3\"\n [routerLink]=\"[routers.usersDetails + user.id]\">\n <i class=\"fa fa-edit edit-icon\" aria-hidden=\"true\"></i>\n </li>\n <li pTooltip=\"Delete\" tooltipPosition=\"top\" appendTo=\"body\"\n *rbacAllow=\"'Pages.Admin.Users.Delete'\"\n class=\"me-2 me-sm-3\">\n <i\n class=\"fa fa-trash delete-icon\"\n (keydown.enter)=\"onDelete(user)\"\n (keydown.space)=\"onDelete(user)\"\n (click)=\"onDelete(user)\"\n aria-hidden=\"true\"\n ></i>\n </li>\n </ul>\n </td>\n </tr>\n </ng-template>\n </p-table>\n @if (totalRecords === 0 && totalRecordsUnFiltered !== 0) {\n <div>\n <pw-no-data [withImage]=\"true\" [message]=\"'Search.NoDataMessage' | transloco\" [description]=\"'Search.NoDataDescription' | transloco\">\n </pw-no-data>\n </div>\n }\n @if (totalRecords !== 0) {\n <pw-records-summary [showing]=\"dt?.value?.length ?? 0\" [total]=\"totalRecords\" />\n }\n </div>\n</div>\n@if (!loading && totalRecordsUnFiltered === 0) {\n <div>\n <pw-no-data [withImage]=\"true\" [message]=\"'Admin.Users.NoDataMessage' | transloco\"> </pw-no-data>\n </div>\n}\n<!-- password validation modal for delete user -->\n<pw-password-validation #passwordValidationModalForUserDelete\n [destructive]=\"true\"\n (successEvent)=\"deleteUser($event)\">\n</pw-password-validation>\n<!-- password validation modal for impersonate -->\n<pw-password-validation #passwordValidationModalForImpersonate\n (successEvent)=\"onUserImpersonation($event)\">\n</pw-password-validation>\n<!-- password validation modal for remove2fa -->\n<pw-password-validation #passwordValidationModalForRemove2fa\n (successEvent)=\"remove2fa($event)\">\n</pw-password-validation>\n",
|
|
37385
|
+
template: "<div class=\"row\">\n <div class=\"col-12 d-flex flex-wrap justify-content-between align-items-baseline\">\n <h2 class=\"card-title p-0\">Users</h2>\n <a class=\"btn btn-sm btn-outline-primary\"\n id=\"btn-create\"\n *rbacAllow=\"'SuperAdmin'\"\n [routerLink]=\"[routers.usersDetails + 'add']\">\n <i class=\"fa fa-plus-circle\" aria-hidden=\"true\"></i> Add User\n </a>\n </div>\n</div>\n@if (!isLoaded) {\n <div class=\"w-100 mt-0\">\n <pw-skeleton-table [rows]=\"8\" [columns]=\"10\" [showCaption]=\"true\"></pw-skeleton-table>\n </div>\n}\n<div class=\"primeng-datatable-container actions-collapsed mt-0\" [class.d-none]=\"!isLoaded\" [class.hideTable]=\"totalRecordsUnFiltered === 0\">\n <div class=\"user-management-table table-responsive\">\n <p-table #dt\n stateKey=\"pw-table.admin-users-list\"\n stateStorage=\"session\"\n [resizableColumns]=\"true\"\n columnResizeMode=\"expand\"\n [value]=\"users\"\n [paginator]=\"totalRecords !== 0\"\n [lazy]=\"true\"\n [rows]=\"PAGE_SIZE\"\n [totalRecords]=\"totalRecords\"\n [loading]=\"loading\"\n [filterDelay]=\"1000\"\n (onLazyLoad)=\"onLazyLoad($event)\"\n (onStateRestore)=\"onTableStateRestore($event)\"\n [customSort]=\"true\">\n <ng-template #caption>\n <div class=\"search-filter\">\n <div class=\"col-sm-4\">\n <p-multiselect class=\"pw-filter-select\" inputId=\"users-list-filter-role-product\"\n [options]=\"searchOptions\"\n (onChange)=\"onSearchOptionChange($event); dt.filter($event.value, 'filterSource', 'equals')\"\n placeholder=\"Filter users by role, product, or feature\"\n [selectionLimit]=\"1\"\n [(ngModel)]=\"filterSource\"\n [showToggleAll]=\"true\"\n [showHeader]=\"true\"\n appendTo=\"body\">\n </p-multiselect>\n </div>\n @if (selectedOption) {\n <div class=\"col-4\"\n >\n <p-multiselect class=\"pw-filter-select\" inputId=\"users-list-filter-criteria\"\n [options]=\"searchDataSource\"\n (onChange)=\"onSearchCriteria($event); dt.filter($event.value, 'criteria', 'equals')\"\n [showToggleAll]=\"true\"\n [(ngModel)]=\"criteria\"\n [showHeader]=\"true\"\n placeholder=\"Filter by {{ selectedOption.value }}s\"\n maxSelectedLabels=\"2\"\n appendTo=\"body\">\n </p-multiselect>\n </div>\n }\n <div class=\"col-auto d-flex align-items-center\">\n <span class=\"ambassadors-only-toggle\"\n [pTooltip]=\"'Admin.Users.AmbassadorsOnly' | transloco\"\n tooltipPosition=\"top\" appendTo=\"body\">\n <ui-switch\n [checked]=\"showAmbassadorsOnly\"\n (change)=\"showAmbassadorsOnly = $event; onAmbassadorsOnlyToggle(); dt.filter($event, 'ambassadors', 'equals')\"\n [attr.aria-label]=\"'Admin.Users.AmbassadorsOnly' | transloco\">\n </ui-switch>\n </span>\n </div>\n <div class=\"text-end\">\n <label for=\"users-list-search\" class=\"visually-hidden\">Search User</label>\n <p-iconfield iconPosition=\"left\">\n <p-inputicon><i class=\"fa fa-search\" aria-hidden=\"true\"></i></p-inputicon>\n <input type=\"text\"\n id=\"users-list-search\"\n name=\"users-list-search\"\n [(ngModel)]=\"searchText\"\n pInputText\n placeholder=\"Search users...\"\n data-cy=\"user-search\"\n (input)=\"dt.filterGlobal($event.target.value, 'contains')\"\n class=\"wd-90\"\n aria-label=\"Search users...\" />\n </p-iconfield>\n </div>\n </div>\n </ng-template>\n <ng-template #header>\n <tr>\n <th pResizableColumn scope=\"true\"\n pSortableColumn=\"id\">\n {{ 'Admin.Users.Id' | transloco }}\n <p-sort-icon field=\"id\"></p-sort-icon>\n </th>\n <th pResizableColumn scope=\"true\"\n pSortableColumn=\"first_name\">\n {{ 'Label.FirstName' | transloco }}\n <p-sort-icon field=\"first_name\"></p-sort-icon>\n </th>\n <th pResizableColumn scope=\"true\"\n pSortableColumn=\"last_name\">\n {{ 'Label.LastName' | transloco }}\n <p-sort-icon field=\"last_name\"></p-sort-icon>\n </th>\n <th pResizableColumn scope=\"true\"\n pSortableColumn=\"email\">\n {{ 'Label.Email' | transloco }}\n <p-sort-icon field=\"email\"></p-sort-icon>\n </th>\n <th pResizableColumn scope=\"true\"\n pSortableColumn=\"slug\">\n {{ 'Admin.Users.Slug' | transloco }}\n <p-sort-icon field=\"slug\"></p-sort-icon>\n </th>\n <th pResizableColumn scope=\"true\"\n pSortableColumn=\"encrypted_password\">\n {{ 'Admin.Users.EmailConfirm' | transloco }}\n <p-sort-icon field=\"encrypted_password\"></p-sort-icon>\n </th>\n\n <th pResizableColumn scope=\"true\"\n pSortableColumn=\"sessions_last_month\">\n {{ 'Admin.Subscriptions.SessionsTotalLastMonth' | transloco }}\n <p-sort-icon field=\"sessions_last_month\"></p-sort-icon>\n </th>\n <th pResizableColumn scope=\"true\"\n pSortableColumn=\"last_sign_in_at\">\n {{ 'Admin.Users.LastLogin' | transloco }}\n <p-sort-icon field=\"last_sign_in_at\"></p-sort-icon>\n </th>\n <th pResizableColumn scope=\"true\"\n pSortableColumn=\"signed_up_at\">\n {{ 'Admin.Users.RegisteredOn' | transloco }}\n <p-sort-icon field=\"signed_up_at\"></p-sort-icon>\n </th>\n <th scope=\"true\"\n class=\"actions-list-four\">\n {{ 'Label.Actions' | transloco }}\n </th>\n </tr>\n </ng-template>\n <ng-template #body\n let-user>\n <tr>\n <td data-head=\"id\"> {{ user.id }}</td>\n <td data-head=\"First Name\"><a [routerLink]=\"['/members', user.slug]\">{{ user.first_name }}</a></td>\n <td data-head=\"Last Name\">{{ user.last_name }}\n @if (user?.alpha) {\n <span\n [pTooltip]=\"'Admin.Users.Tooltip.AlphaIcon'|transloco\"\n tooltipPosition=\"top\" appendTo=\"body\">\n <i class=\"fa-regular fa-square-a alpha-beta text-warning\"></i>\n </span>\n }\n @if (user?.beta) {\n <span class=\"ms-2\"\n [pTooltip]=\"'Admin.Users.Tooltip.BetaIcon'|transloco\"\n tooltipPosition=\"top\" appendTo=\"body\">\n <i class=\"fa-regular fa-square-b alpha-beta text-primary\" ></i>\n </span>\n }\n @if (user?.cognito_sso_activated) {\n <span\n class=\"ms-2\"\n [pTooltip]=\"'Admin.Users.Tooltip.Cognito' | transloco\"\n tooltipPosition=\"top\" appendTo=\"body\">\n <i class=\"fa fa-cloud success\" ></i>\n </span>\n }\n @if (user?.ambassador_count > 0) {\n <span\n class=\"ms-2\"\n [pTooltip]=\"'Admin.Users.Tooltip.Ambassador' | transloco\"\n tooltipPosition=\"top\" appendTo=\"body\">\n <i class=\"fa fa-handshake alpha-beta text-primary\" aria-hidden=\"true\"></i>\n </span>\n }\n </td>\n <td data-head=\"Email\">{{ user.email }}</td>\n <td data-head=\"Slug\">{{ user.slug }}</td>\n <td data-head=\"Email Confirm\">\n <span [appDynamicBadge]=\"{\n itemsArray: [true, false],\n item: user?.has_password\n }\"\n color=\"success-danger\"\n class=\"badge\">{{ user?.has_password ? 'Yes' : 'No' }}</span>\n @if (user?.blocked) {\n <span class=\"ms-2\" [pTooltip]=\"'This user has been blocked'\" tooltipPosition=\"top\" appendTo=\"body\">\n <i class=\"fa-solid fa-hexagon-exclamation text-danger hexa-warning\"></i>\n </span>\n }\n </td>\n <td data-head=\"S/m #\">\n <span [ngClass]=\"{\n 'text-danger fw-bold': user?.sessions_last_month < 3\n }\">{{ user?.sessions_last_month }}</span>\n </td>\n <td data-head=\"Last Login\">\n @if (user?.current_sign_in_at | isOnline) {\n <pw-online-indicator [lastSeen]=\"user.current_sign_in_at\" />\n } @else if (user?.current_sign_in_at) {\n <span>\n {{ user.current_sign_in_at | dateFormat }}\n </span>\n } @else {\n {{ user.last_sign_in_at | dateFormat }}\n }\n </td>\n <td data-head=\"Registered On\">{{ user.signed_up_at | dateFormat }}</td>\n <td data-head=\"Action\">\n <ul class=\"list-unstyled list-inline list-action\">\n <li pTooltip=\"Impersonate this user\" tooltipPosition=\"top\" appendTo=\"body\"\n *rbacAllow=\"'Pages.Alpha'\"\n class=\"me-2 me-sm-3\">\n <i\n class=\"fas fa-people-arrows fa-lg\"\n (click)=\"onImpersonate(user)\"\n (keydown.enter)=\"onImpersonate(user)\"\n aria-hidden=\"true\"\n ></i>\n </li>\n @if (user?.enable_two_factor_authenticator) {\n <li pTooltip=\"Disable 2FA\" tooltipPosition=\"top\" appendTo=\"body\"\n (click)=\"disable2fa(user?.id)\"\n (keydown.enter)=\"disable2fa(user?.id)\"\n *rbacAllow=\"'Pages.Alpha'\"\n class=\"me-2 me-sm-3\">\n <i class=\"fa fa-lock fa-lg success\" aria-hidden=\"true\"></i>\n </li>\n }\n @if (currentUser && user.id !== currentUser.id) {\n <li pTooltip=\"Message\" tooltipPosition=\"top\" appendTo=\"body\"\n *rbacAllow=\"chatPermission\"\n class=\"me-2 me-sm-3\"\n [routerLink]=\"['/message']\"\n [fragment]=\"user.slug\">\n <i class=\"fa fa-comments cta1-icon\" aria-hidden=\"true\"></i>\n </li>\n }\n <li pTooltip=\"Edit\" tooltipPosition=\"top\" appendTo=\"body\"\n *rbacAllow=\"'Pages.Admin.Users.Edit'\"\n class=\"me-2 me-sm-3\"\n [routerLink]=\"[routers.usersDetails + user.id]\">\n <i class=\"fa fa-edit edit-icon\" aria-hidden=\"true\"></i>\n </li>\n <li pTooltip=\"Delete\" tooltipPosition=\"top\" appendTo=\"body\"\n *rbacAllow=\"'Pages.Admin.Users.Delete'\"\n class=\"me-2 me-sm-3\">\n <i\n class=\"fa fa-trash delete-icon\"\n (keydown.enter)=\"onDelete(user)\"\n (keydown.space)=\"onDelete(user)\"\n (click)=\"onDelete(user)\"\n aria-hidden=\"true\"\n ></i>\n </li>\n </ul>\n </td>\n </tr>\n </ng-template>\n </p-table>\n @if (totalRecords === 0 && totalRecordsUnFiltered !== 0) {\n <div>\n <pw-no-data [withImage]=\"true\" [message]=\"'Search.NoDataMessage' | transloco\" [description]=\"'Search.NoDataDescription' | transloco\">\n </pw-no-data>\n </div>\n }\n @if (totalRecords !== 0) {\n <pw-records-summary [showing]=\"dt?.value?.length ?? 0\" [total]=\"totalRecords\" />\n }\n </div>\n</div>\n@if (!loading && totalRecordsUnFiltered === 0) {\n <div>\n <pw-no-data [withImage]=\"true\" [message]=\"'Admin.Users.NoDataMessage' | transloco\"> </pw-no-data>\n </div>\n}\n<!-- password validation modal for delete user -->\n<pw-password-validation #passwordValidationModalForUserDelete\n [destructive]=\"true\"\n (successEvent)=\"deleteUser($event)\">\n</pw-password-validation>\n<!-- password validation modal for impersonate -->\n<pw-password-validation #passwordValidationModalForImpersonate\n (successEvent)=\"onUserImpersonation($event)\">\n</pw-password-validation>\n<!-- password validation modal for remove2fa -->\n<pw-password-validation #passwordValidationModalForRemove2fa\n (successEvent)=\"remove2fa($event)\">\n</pw-password-validation>\n",
|
|
37227
37386
|
styles: ["@charset \"UTF-8\";:root{--first: rgb(23 105 225);--second: rgb(54 194 131);--third: rgb(255 171 0);--text: rgb(34 34 34);--tabs_bg: rgb(23 105 225);--tabs_sub_bg: color-mix(in srgb, var(--first, rgb(23 105 225)) 85%, #000000);--tabs_text: rgb(255 255 255);--titles: rgb(34 34 34);--sidebar_bg: rgb(0, 48, 63);--sidebar_text: rgb(255 255 255);--dashboard_bg: rgb(255 255 255);--public-btn-radius: 24px}.search-input input{width:100%}.w-150{width:150px}.table-responsive td[data-head=id]{font-variant-numeric:tabular-nums;color:#7c8696}.hexa-warning{font-size:18px;vertical-align:middle}.alpha-beta{font-size:14px}.ambassadors-only-toggle{display:inline-flex;align-items:center}.ambassadors-only-toggle ::ng-deep .switch small{display:flex;align-items:center;justify-content:center}.ambassadors-only-toggle ::ng-deep .switch small:after{content:\"\\f2b5\";font-family:\"Font Awesome 6 Pro\",sans-serif;font-weight:900;font-size:12px;line-height:1;color:var(--first)}\n"],
|
|
37228
37387
|
dependencies: [
|
|
37229
37388
|
{
|
|
37230
37389
|
kind: "component",
|
|
37231
|
-
type: i2$
|
|
37390
|
+
type: i2$3.Table,
|
|
37232
37391
|
selector: "p-table",
|
|
37233
37392
|
inputs: [
|
|
37234
37393
|
"frozenColumns",
|
|
@@ -37341,19 +37500,19 @@ var UserListComponent = class UserListComponent extends UsersListBaseComponent {
|
|
|
37341
37500
|
},
|
|
37342
37501
|
{
|
|
37343
37502
|
kind: "directive",
|
|
37344
|
-
type: i2$
|
|
37503
|
+
type: i2$3.SortableColumn,
|
|
37345
37504
|
selector: "[pSortableColumn]",
|
|
37346
37505
|
inputs: ["pSortableColumn", "pSortableColumnDisabled"]
|
|
37347
37506
|
},
|
|
37348
37507
|
{
|
|
37349
37508
|
kind: "directive",
|
|
37350
|
-
type: i2$
|
|
37509
|
+
type: i2$3.ResizableColumn,
|
|
37351
37510
|
selector: "[pResizableColumn]",
|
|
37352
37511
|
inputs: ["pResizableColumnDisabled"]
|
|
37353
37512
|
},
|
|
37354
37513
|
{
|
|
37355
37514
|
kind: "component",
|
|
37356
|
-
type: i2$
|
|
37515
|
+
type: i2$3.SortIcon,
|
|
37357
37516
|
selector: "p-sort-icon, p-sorticon",
|
|
37358
37517
|
inputs: ["field"]
|
|
37359
37518
|
},
|
|
@@ -37496,6 +37655,19 @@ var UserListComponent = class UserListComponent extends UsersListBaseComponent {
|
|
|
37496
37655
|
selector: "p-inputicon",
|
|
37497
37656
|
inputs: ["hostName"]
|
|
37498
37657
|
},
|
|
37658
|
+
{
|
|
37659
|
+
kind: "component",
|
|
37660
|
+
type: i4$3.SkeletonTableComponent,
|
|
37661
|
+
selector: "pw-skeleton-table",
|
|
37662
|
+
inputs: [
|
|
37663
|
+
"rows",
|
|
37664
|
+
"columns",
|
|
37665
|
+
"showHeader",
|
|
37666
|
+
"showCaption",
|
|
37667
|
+
"density",
|
|
37668
|
+
"delay"
|
|
37669
|
+
]
|
|
37670
|
+
},
|
|
37499
37671
|
{
|
|
37500
37672
|
kind: "directive",
|
|
37501
37673
|
type: i5$2.NgClass,
|
|
@@ -37560,20 +37732,6 @@ var UserListComponent = class UserListComponent extends UsersListBaseComponent {
|
|
|
37560
37732
|
inputs: ["confirmMessage", "destructive"],
|
|
37561
37733
|
outputs: ["successEvent"]
|
|
37562
37734
|
},
|
|
37563
|
-
{
|
|
37564
|
-
kind: "component",
|
|
37565
|
-
type: i11$1.ProgressSpinner,
|
|
37566
|
-
selector: "p-progress-spinner, p-progressspinner",
|
|
37567
|
-
inputs: [
|
|
37568
|
-
"value",
|
|
37569
|
-
"strokeWidth",
|
|
37570
|
-
"animationDuration",
|
|
37571
|
-
"min",
|
|
37572
|
-
"max",
|
|
37573
|
-
"ariaLabel",
|
|
37574
|
-
"fill"
|
|
37575
|
-
]
|
|
37576
|
-
},
|
|
37577
37735
|
{
|
|
37578
37736
|
kind: "component",
|
|
37579
37737
|
type: i6$2.OnlineIndicatorComponent,
|
|
@@ -37639,12 +37797,12 @@ var UserListComponent = class UserListComponent extends UsersListBaseComponent {
|
|
|
37639
37797
|
},
|
|
37640
37798
|
{
|
|
37641
37799
|
kind: "pipe",
|
|
37642
|
-
type: i9.DateFormatPipe,
|
|
37800
|
+
type: i9$1.DateFormatPipe,
|
|
37643
37801
|
name: "dateFormat"
|
|
37644
37802
|
},
|
|
37645
37803
|
{
|
|
37646
37804
|
kind: "pipe",
|
|
37647
|
-
type: i9.IsOnlinePipe,
|
|
37805
|
+
type: i9$1.IsOnlinePipe,
|
|
37648
37806
|
name: "isOnline"
|
|
37649
37807
|
}
|
|
37650
37808
|
]
|
|
@@ -37661,18 +37819,18 @@ i0.ɵɵngDeclareClassMetadata({
|
|
|
37661
37819
|
args: [{
|
|
37662
37820
|
selector: "pw-admin-user-list",
|
|
37663
37821
|
standalone: false,
|
|
37664
|
-
template: "<div class=\"row\">\n <div class=\"col-12 d-flex flex-wrap justify-content-between align-items-baseline\">\n <h2 class=\"card-title p-0\">Users</h2>\n <a class=\"btn btn-sm btn-outline-primary\"\n id=\"btn-create\"\n *rbacAllow=\"'SuperAdmin'\"\n [routerLink]=\"[routers.usersDetails + 'add']\">\n <i class=\"fa fa-plus-circle\" aria-hidden=\"true\"></i> Add User\n </a>\n </div>\n</div>\n<div class=\"w-100 text-center mt-3\">\n @if (!isLoaded) {\n <p-progress-spinner> </p-progress-spinner>\n }\n</div>\n<div class=\"primeng-datatable-container actions-collapsed mt-0\" [class.hideTable]=\"totalRecordsUnFiltered === 0\">\n <div class=\"user-management-table table-responsive\">\n <p-table #dt\n stateKey=\"pw-table.admin-users-list\"\n stateStorage=\"session\"\n [resizableColumns]=\"true\"\n columnResizeMode=\"expand\"\n [value]=\"users\"\n [paginator]=\"totalRecords !== 0\"\n [lazy]=\"true\"\n [rows]=\"PAGE_SIZE\"\n [totalRecords]=\"totalRecords\"\n [loading]=\"loading\"\n [filterDelay]=\"1000\"\n (onLazyLoad)=\"onLazyLoad($event)\"\n (onStateRestore)=\"onTableStateRestore($event)\"\n [customSort]=\"true\">\n <ng-template #caption>\n <div class=\"search-filter\">\n <div class=\"col-sm-4\">\n <p-multiselect class=\"pw-filter-select\" inputId=\"users-list-filter-role-product\"\n [options]=\"searchOptions\"\n (onChange)=\"onSearchOptionChange($event); dt.filter($event.value, 'filterSource', 'equals')\"\n placeholder=\"Filter users by role, product, or feature\"\n [selectionLimit]=\"1\"\n [(ngModel)]=\"filterSource\"\n [showToggleAll]=\"true\"\n [showHeader]=\"true\"\n appendTo=\"body\">\n </p-multiselect>\n </div>\n @if (selectedOption) {\n <div class=\"col-4\"\n >\n <p-multiselect class=\"pw-filter-select\" inputId=\"users-list-filter-criteria\"\n [options]=\"searchDataSource\"\n (onChange)=\"onSearchCriteria($event); dt.filter($event.value, 'criteria', 'equals')\"\n [showToggleAll]=\"true\"\n [(ngModel)]=\"criteria\"\n [showHeader]=\"true\"\n placeholder=\"Filter by {{ selectedOption.value }}s\"\n maxSelectedLabels=\"2\"\n appendTo=\"body\">\n </p-multiselect>\n </div>\n }\n <div class=\"col-auto d-flex align-items-center\">\n <span class=\"ambassadors-only-toggle\"\n [pTooltip]=\"'Admin.Users.AmbassadorsOnly' | transloco\"\n tooltipPosition=\"top\" appendTo=\"body\">\n <ui-switch\n [checked]=\"showAmbassadorsOnly\"\n (change)=\"showAmbassadorsOnly = $event; onAmbassadorsOnlyToggle(); dt.filter($event, 'ambassadors', 'equals')\"\n [attr.aria-label]=\"'Admin.Users.AmbassadorsOnly' | transloco\">\n </ui-switch>\n </span>\n </div>\n <div class=\"text-end\">\n <label for=\"users-list-search\" class=\"visually-hidden\">Search User</label>\n <p-iconfield iconPosition=\"left\">\n <p-inputicon><i class=\"fa fa-search\" aria-hidden=\"true\"></i></p-inputicon>\n <input type=\"text\"\n id=\"users-list-search\"\n name=\"users-list-search\"\n [(ngModel)]=\"searchText\"\n pInputText\n placeholder=\"Search users...\"\n data-cy=\"user-search\"\n (input)=\"dt.filterGlobal($event.target.value, 'contains')\"\n class=\"wd-90\"\n aria-label=\"Search users...\" />\n </p-iconfield>\n </div>\n </div>\n </ng-template>\n <ng-template #header>\n <tr>\n <th pResizableColumn scope=\"true\"\n pSortableColumn=\"id\">\n {{ 'Admin.Users.Id' | transloco }}\n <p-sort-icon field=\"id\"></p-sort-icon>\n </th>\n <th pResizableColumn scope=\"true\"\n pSortableColumn=\"first_name\">\n {{ 'Label.FirstName' | transloco }}\n <p-sort-icon field=\"first_name\"></p-sort-icon>\n </th>\n <th pResizableColumn scope=\"true\"\n pSortableColumn=\"last_name\">\n {{ 'Label.LastName' | transloco }}\n <p-sort-icon field=\"last_name\"></p-sort-icon>\n </th>\n <th pResizableColumn scope=\"true\"\n pSortableColumn=\"email\">\n {{ 'Label.Email' | transloco }}\n <p-sort-icon field=\"email\"></p-sort-icon>\n </th>\n <th pResizableColumn scope=\"true\"\n pSortableColumn=\"slug\">\n {{ 'Admin.Users.Slug' | transloco }}\n <p-sort-icon field=\"slug\"></p-sort-icon>\n </th>\n <th pResizableColumn scope=\"true\"\n pSortableColumn=\"encrypted_password\">\n {{ 'Admin.Users.EmailConfirm' | transloco }}\n <p-sort-icon field=\"encrypted_password\"></p-sort-icon>\n </th>\n\n <th pResizableColumn scope=\"true\"\n pSortableColumn=\"sessions_last_month\">\n {{ 'Admin.Subscriptions.SessionsTotalLastMonth' | transloco }}\n <p-sort-icon field=\"sessions_last_month\"></p-sort-icon>\n </th>\n <th pResizableColumn scope=\"true\"\n pSortableColumn=\"last_sign_in_at\">\n {{ 'Admin.Users.LastLogin' | transloco }}\n <p-sort-icon field=\"last_sign_in_at\"></p-sort-icon>\n </th>\n <th pResizableColumn scope=\"true\"\n pSortableColumn=\"signed_up_at\">\n {{ 'Admin.Users.RegisteredOn' | transloco }}\n <p-sort-icon field=\"signed_up_at\"></p-sort-icon>\n </th>\n <th scope=\"true\"\n class=\"actions-list-four\">\n {{ 'Label.Actions' | transloco }}\n </th>\n </tr>\n </ng-template>\n <ng-template #body\n let-user>\n <tr>\n <td data-head=\"id\"> {{ user.id }}</td>\n <td data-head=\"First Name\"><a [routerLink]=\"['/members', user.slug]\">{{ user.first_name }}</a></td>\n <td data-head=\"Last Name\">{{ user.last_name }}\n @if (user?.alpha) {\n <span\n [pTooltip]=\"'Admin.Users.Tooltip.AlphaIcon'|transloco\"\n tooltipPosition=\"top\" appendTo=\"body\">\n <i class=\"fa-regular fa-square-a alpha-beta text-warning\"></i>\n </span>\n }\n @if (user?.beta) {\n <span class=\"ms-2\"\n [pTooltip]=\"'Admin.Users.Tooltip.BetaIcon'|transloco\"\n tooltipPosition=\"top\" appendTo=\"body\">\n <i class=\"fa-regular fa-square-b alpha-beta text-primary\" ></i>\n </span>\n }\n @if (user?.cognito_sso_activated) {\n <span\n class=\"ms-2\"\n [pTooltip]=\"'Admin.Users.Tooltip.Cognito' | transloco\"\n tooltipPosition=\"top\" appendTo=\"body\">\n <i class=\"fa fa-cloud success\" ></i>\n </span>\n }\n @if (user?.ambassador_count > 0) {\n <span\n class=\"ms-2\"\n [pTooltip]=\"'Admin.Users.Tooltip.Ambassador' | transloco\"\n tooltipPosition=\"top\" appendTo=\"body\">\n <i class=\"fa fa-handshake alpha-beta text-primary\" aria-hidden=\"true\"></i>\n </span>\n }\n </td>\n <td data-head=\"Email\">{{ user.email }}</td>\n <td data-head=\"Slug\">{{ user.slug }}</td>\n <td data-head=\"Email Confirm\">\n <span [appDynamicBadge]=\"{\n itemsArray: [true, false],\n item: user?.has_password\n }\"\n color=\"success-danger\"\n class=\"badge\">{{ user?.has_password ? 'Yes' : 'No' }}</span>\n @if (user?.blocked) {\n <span class=\"ms-2\" [pTooltip]=\"'This user has been blocked'\" tooltipPosition=\"top\" appendTo=\"body\">\n <i class=\"fa-solid fa-hexagon-exclamation text-danger hexa-warning\"></i>\n </span>\n }\n </td>\n <td data-head=\"S/m #\">\n <span [ngClass]=\"{\n 'text-danger fw-bold': user?.sessions_last_month < 3\n }\">{{ user?.sessions_last_month }}</span>\n </td>\n <td data-head=\"Last Login\">\n @if (user?.current_sign_in_at | isOnline) {\n <pw-online-indicator [lastSeen]=\"user.current_sign_in_at\" />\n } @else if (user?.current_sign_in_at) {\n <span>\n {{ user.current_sign_in_at | dateFormat }}\n </span>\n } @else {\n {{ user.last_sign_in_at | dateFormat }}\n }\n </td>\n <td data-head=\"Registered On\">{{ user.signed_up_at | dateFormat }}</td>\n <td data-head=\"Action\">\n <ul class=\"list-unstyled list-inline list-action\">\n <li pTooltip=\"Impersonate this user\" tooltipPosition=\"top\" appendTo=\"body\"\n *rbacAllow=\"'Pages.Alpha'\"\n class=\"me-2 me-sm-3\">\n <i\n class=\"fas fa-people-arrows fa-lg\"\n (click)=\"onImpersonate(user)\"\n (keydown.enter)=\"onImpersonate(user)\"\n aria-hidden=\"true\"\n ></i>\n </li>\n @if (user?.enable_two_factor_authenticator) {\n <li pTooltip=\"Disable 2FA\" tooltipPosition=\"top\" appendTo=\"body\"\n (click)=\"disable2fa(user?.id)\"\n (keydown.enter)=\"disable2fa(user?.id)\"\n *rbacAllow=\"'Pages.Alpha'\"\n class=\"me-2 me-sm-3\">\n <i class=\"fa fa-lock fa-lg success\" aria-hidden=\"true\"></i>\n </li>\n }\n @if (currentUser && user.id !== currentUser.id) {\n <li pTooltip=\"Message\" tooltipPosition=\"top\" appendTo=\"body\"\n *rbacAllow=\"chatPermission\"\n class=\"me-2 me-sm-3\"\n [routerLink]=\"['/message']\"\n [fragment]=\"user.slug\">\n <i class=\"fa fa-comments cta1-icon\" aria-hidden=\"true\"></i>\n </li>\n }\n <li pTooltip=\"Edit\" tooltipPosition=\"top\" appendTo=\"body\"\n *rbacAllow=\"'Pages.Admin.Users.Edit'\"\n class=\"me-2 me-sm-3\"\n [routerLink]=\"[routers.usersDetails + user.id]\">\n <i class=\"fa fa-edit edit-icon\" aria-hidden=\"true\"></i>\n </li>\n <li pTooltip=\"Delete\" tooltipPosition=\"top\" appendTo=\"body\"\n *rbacAllow=\"'Pages.Admin.Users.Delete'\"\n class=\"me-2 me-sm-3\">\n <i\n class=\"fa fa-trash delete-icon\"\n (keydown.enter)=\"onDelete(user)\"\n (keydown.space)=\"onDelete(user)\"\n (click)=\"onDelete(user)\"\n aria-hidden=\"true\"\n ></i>\n </li>\n </ul>\n </td>\n </tr>\n </ng-template>\n </p-table>\n @if (totalRecords === 0 && totalRecordsUnFiltered !== 0) {\n <div>\n <pw-no-data [withImage]=\"true\" [message]=\"'Search.NoDataMessage' | transloco\" [description]=\"'Search.NoDataDescription' | transloco\">\n </pw-no-data>\n </div>\n }\n @if (totalRecords !== 0) {\n <pw-records-summary [showing]=\"dt?.value?.length ?? 0\" [total]=\"totalRecords\" />\n }\n </div>\n</div>\n@if (!loading && totalRecordsUnFiltered === 0) {\n <div>\n <pw-no-data [withImage]=\"true\" [message]=\"'Admin.Users.NoDataMessage' | transloco\"> </pw-no-data>\n </div>\n}\n<!-- password validation modal for delete user -->\n<pw-password-validation #passwordValidationModalForUserDelete\n [destructive]=\"true\"\n (successEvent)=\"deleteUser($event)\">\n</pw-password-validation>\n<!-- password validation modal for impersonate -->\n<pw-password-validation #passwordValidationModalForImpersonate\n (successEvent)=\"onUserImpersonation($event)\">\n</pw-password-validation>\n<!-- password validation modal for remove2fa -->\n<pw-password-validation #passwordValidationModalForRemove2fa\n (successEvent)=\"remove2fa($event)\">\n</pw-password-validation>\n",
|
|
37822
|
+
template: "<div class=\"row\">\n <div class=\"col-12 d-flex flex-wrap justify-content-between align-items-baseline\">\n <h2 class=\"card-title p-0\">Users</h2>\n <a class=\"btn btn-sm btn-outline-primary\"\n id=\"btn-create\"\n *rbacAllow=\"'SuperAdmin'\"\n [routerLink]=\"[routers.usersDetails + 'add']\">\n <i class=\"fa fa-plus-circle\" aria-hidden=\"true\"></i> Add User\n </a>\n </div>\n</div>\n@if (!isLoaded) {\n <div class=\"w-100 mt-0\">\n <pw-skeleton-table [rows]=\"8\" [columns]=\"10\" [showCaption]=\"true\"></pw-skeleton-table>\n </div>\n}\n<div class=\"primeng-datatable-container actions-collapsed mt-0\" [class.d-none]=\"!isLoaded\" [class.hideTable]=\"totalRecordsUnFiltered === 0\">\n <div class=\"user-management-table table-responsive\">\n <p-table #dt\n stateKey=\"pw-table.admin-users-list\"\n stateStorage=\"session\"\n [resizableColumns]=\"true\"\n columnResizeMode=\"expand\"\n [value]=\"users\"\n [paginator]=\"totalRecords !== 0\"\n [lazy]=\"true\"\n [rows]=\"PAGE_SIZE\"\n [totalRecords]=\"totalRecords\"\n [loading]=\"loading\"\n [filterDelay]=\"1000\"\n (onLazyLoad)=\"onLazyLoad($event)\"\n (onStateRestore)=\"onTableStateRestore($event)\"\n [customSort]=\"true\">\n <ng-template #caption>\n <div class=\"search-filter\">\n <div class=\"col-sm-4\">\n <p-multiselect class=\"pw-filter-select\" inputId=\"users-list-filter-role-product\"\n [options]=\"searchOptions\"\n (onChange)=\"onSearchOptionChange($event); dt.filter($event.value, 'filterSource', 'equals')\"\n placeholder=\"Filter users by role, product, or feature\"\n [selectionLimit]=\"1\"\n [(ngModel)]=\"filterSource\"\n [showToggleAll]=\"true\"\n [showHeader]=\"true\"\n appendTo=\"body\">\n </p-multiselect>\n </div>\n @if (selectedOption) {\n <div class=\"col-4\"\n >\n <p-multiselect class=\"pw-filter-select\" inputId=\"users-list-filter-criteria\"\n [options]=\"searchDataSource\"\n (onChange)=\"onSearchCriteria($event); dt.filter($event.value, 'criteria', 'equals')\"\n [showToggleAll]=\"true\"\n [(ngModel)]=\"criteria\"\n [showHeader]=\"true\"\n placeholder=\"Filter by {{ selectedOption.value }}s\"\n maxSelectedLabels=\"2\"\n appendTo=\"body\">\n </p-multiselect>\n </div>\n }\n <div class=\"col-auto d-flex align-items-center\">\n <span class=\"ambassadors-only-toggle\"\n [pTooltip]=\"'Admin.Users.AmbassadorsOnly' | transloco\"\n tooltipPosition=\"top\" appendTo=\"body\">\n <ui-switch\n [checked]=\"showAmbassadorsOnly\"\n (change)=\"showAmbassadorsOnly = $event; onAmbassadorsOnlyToggle(); dt.filter($event, 'ambassadors', 'equals')\"\n [attr.aria-label]=\"'Admin.Users.AmbassadorsOnly' | transloco\">\n </ui-switch>\n </span>\n </div>\n <div class=\"text-end\">\n <label for=\"users-list-search\" class=\"visually-hidden\">Search User</label>\n <p-iconfield iconPosition=\"left\">\n <p-inputicon><i class=\"fa fa-search\" aria-hidden=\"true\"></i></p-inputicon>\n <input type=\"text\"\n id=\"users-list-search\"\n name=\"users-list-search\"\n [(ngModel)]=\"searchText\"\n pInputText\n placeholder=\"Search users...\"\n data-cy=\"user-search\"\n (input)=\"dt.filterGlobal($event.target.value, 'contains')\"\n class=\"wd-90\"\n aria-label=\"Search users...\" />\n </p-iconfield>\n </div>\n </div>\n </ng-template>\n <ng-template #header>\n <tr>\n <th pResizableColumn scope=\"true\"\n pSortableColumn=\"id\">\n {{ 'Admin.Users.Id' | transloco }}\n <p-sort-icon field=\"id\"></p-sort-icon>\n </th>\n <th pResizableColumn scope=\"true\"\n pSortableColumn=\"first_name\">\n {{ 'Label.FirstName' | transloco }}\n <p-sort-icon field=\"first_name\"></p-sort-icon>\n </th>\n <th pResizableColumn scope=\"true\"\n pSortableColumn=\"last_name\">\n {{ 'Label.LastName' | transloco }}\n <p-sort-icon field=\"last_name\"></p-sort-icon>\n </th>\n <th pResizableColumn scope=\"true\"\n pSortableColumn=\"email\">\n {{ 'Label.Email' | transloco }}\n <p-sort-icon field=\"email\"></p-sort-icon>\n </th>\n <th pResizableColumn scope=\"true\"\n pSortableColumn=\"slug\">\n {{ 'Admin.Users.Slug' | transloco }}\n <p-sort-icon field=\"slug\"></p-sort-icon>\n </th>\n <th pResizableColumn scope=\"true\"\n pSortableColumn=\"encrypted_password\">\n {{ 'Admin.Users.EmailConfirm' | transloco }}\n <p-sort-icon field=\"encrypted_password\"></p-sort-icon>\n </th>\n\n <th pResizableColumn scope=\"true\"\n pSortableColumn=\"sessions_last_month\">\n {{ 'Admin.Subscriptions.SessionsTotalLastMonth' | transloco }}\n <p-sort-icon field=\"sessions_last_month\"></p-sort-icon>\n </th>\n <th pResizableColumn scope=\"true\"\n pSortableColumn=\"last_sign_in_at\">\n {{ 'Admin.Users.LastLogin' | transloco }}\n <p-sort-icon field=\"last_sign_in_at\"></p-sort-icon>\n </th>\n <th pResizableColumn scope=\"true\"\n pSortableColumn=\"signed_up_at\">\n {{ 'Admin.Users.RegisteredOn' | transloco }}\n <p-sort-icon field=\"signed_up_at\"></p-sort-icon>\n </th>\n <th scope=\"true\"\n class=\"actions-list-four\">\n {{ 'Label.Actions' | transloco }}\n </th>\n </tr>\n </ng-template>\n <ng-template #body\n let-user>\n <tr>\n <td data-head=\"id\"> {{ user.id }}</td>\n <td data-head=\"First Name\"><a [routerLink]=\"['/members', user.slug]\">{{ user.first_name }}</a></td>\n <td data-head=\"Last Name\">{{ user.last_name }}\n @if (user?.alpha) {\n <span\n [pTooltip]=\"'Admin.Users.Tooltip.AlphaIcon'|transloco\"\n tooltipPosition=\"top\" appendTo=\"body\">\n <i class=\"fa-regular fa-square-a alpha-beta text-warning\"></i>\n </span>\n }\n @if (user?.beta) {\n <span class=\"ms-2\"\n [pTooltip]=\"'Admin.Users.Tooltip.BetaIcon'|transloco\"\n tooltipPosition=\"top\" appendTo=\"body\">\n <i class=\"fa-regular fa-square-b alpha-beta text-primary\" ></i>\n </span>\n }\n @if (user?.cognito_sso_activated) {\n <span\n class=\"ms-2\"\n [pTooltip]=\"'Admin.Users.Tooltip.Cognito' | transloco\"\n tooltipPosition=\"top\" appendTo=\"body\">\n <i class=\"fa fa-cloud success\" ></i>\n </span>\n }\n @if (user?.ambassador_count > 0) {\n <span\n class=\"ms-2\"\n [pTooltip]=\"'Admin.Users.Tooltip.Ambassador' | transloco\"\n tooltipPosition=\"top\" appendTo=\"body\">\n <i class=\"fa fa-handshake alpha-beta text-primary\" aria-hidden=\"true\"></i>\n </span>\n }\n </td>\n <td data-head=\"Email\">{{ user.email }}</td>\n <td data-head=\"Slug\">{{ user.slug }}</td>\n <td data-head=\"Email Confirm\">\n <span [appDynamicBadge]=\"{\n itemsArray: [true, false],\n item: user?.has_password\n }\"\n color=\"success-danger\"\n class=\"badge\">{{ user?.has_password ? 'Yes' : 'No' }}</span>\n @if (user?.blocked) {\n <span class=\"ms-2\" [pTooltip]=\"'This user has been blocked'\" tooltipPosition=\"top\" appendTo=\"body\">\n <i class=\"fa-solid fa-hexagon-exclamation text-danger hexa-warning\"></i>\n </span>\n }\n </td>\n <td data-head=\"S/m #\">\n <span [ngClass]=\"{\n 'text-danger fw-bold': user?.sessions_last_month < 3\n }\">{{ user?.sessions_last_month }}</span>\n </td>\n <td data-head=\"Last Login\">\n @if (user?.current_sign_in_at | isOnline) {\n <pw-online-indicator [lastSeen]=\"user.current_sign_in_at\" />\n } @else if (user?.current_sign_in_at) {\n <span>\n {{ user.current_sign_in_at | dateFormat }}\n </span>\n } @else {\n {{ user.last_sign_in_at | dateFormat }}\n }\n </td>\n <td data-head=\"Registered On\">{{ user.signed_up_at | dateFormat }}</td>\n <td data-head=\"Action\">\n <ul class=\"list-unstyled list-inline list-action\">\n <li pTooltip=\"Impersonate this user\" tooltipPosition=\"top\" appendTo=\"body\"\n *rbacAllow=\"'Pages.Alpha'\"\n class=\"me-2 me-sm-3\">\n <i\n class=\"fas fa-people-arrows fa-lg\"\n (click)=\"onImpersonate(user)\"\n (keydown.enter)=\"onImpersonate(user)\"\n aria-hidden=\"true\"\n ></i>\n </li>\n @if (user?.enable_two_factor_authenticator) {\n <li pTooltip=\"Disable 2FA\" tooltipPosition=\"top\" appendTo=\"body\"\n (click)=\"disable2fa(user?.id)\"\n (keydown.enter)=\"disable2fa(user?.id)\"\n *rbacAllow=\"'Pages.Alpha'\"\n class=\"me-2 me-sm-3\">\n <i class=\"fa fa-lock fa-lg success\" aria-hidden=\"true\"></i>\n </li>\n }\n @if (currentUser && user.id !== currentUser.id) {\n <li pTooltip=\"Message\" tooltipPosition=\"top\" appendTo=\"body\"\n *rbacAllow=\"chatPermission\"\n class=\"me-2 me-sm-3\"\n [routerLink]=\"['/message']\"\n [fragment]=\"user.slug\">\n <i class=\"fa fa-comments cta1-icon\" aria-hidden=\"true\"></i>\n </li>\n }\n <li pTooltip=\"Edit\" tooltipPosition=\"top\" appendTo=\"body\"\n *rbacAllow=\"'Pages.Admin.Users.Edit'\"\n class=\"me-2 me-sm-3\"\n [routerLink]=\"[routers.usersDetails + user.id]\">\n <i class=\"fa fa-edit edit-icon\" aria-hidden=\"true\"></i>\n </li>\n <li pTooltip=\"Delete\" tooltipPosition=\"top\" appendTo=\"body\"\n *rbacAllow=\"'Pages.Admin.Users.Delete'\"\n class=\"me-2 me-sm-3\">\n <i\n class=\"fa fa-trash delete-icon\"\n (keydown.enter)=\"onDelete(user)\"\n (keydown.space)=\"onDelete(user)\"\n (click)=\"onDelete(user)\"\n aria-hidden=\"true\"\n ></i>\n </li>\n </ul>\n </td>\n </tr>\n </ng-template>\n </p-table>\n @if (totalRecords === 0 && totalRecordsUnFiltered !== 0) {\n <div>\n <pw-no-data [withImage]=\"true\" [message]=\"'Search.NoDataMessage' | transloco\" [description]=\"'Search.NoDataDescription' | transloco\">\n </pw-no-data>\n </div>\n }\n @if (totalRecords !== 0) {\n <pw-records-summary [showing]=\"dt?.value?.length ?? 0\" [total]=\"totalRecords\" />\n }\n </div>\n</div>\n@if (!loading && totalRecordsUnFiltered === 0) {\n <div>\n <pw-no-data [withImage]=\"true\" [message]=\"'Admin.Users.NoDataMessage' | transloco\"> </pw-no-data>\n </div>\n}\n<!-- password validation modal for delete user -->\n<pw-password-validation #passwordValidationModalForUserDelete\n [destructive]=\"true\"\n (successEvent)=\"deleteUser($event)\">\n</pw-password-validation>\n<!-- password validation modal for impersonate -->\n<pw-password-validation #passwordValidationModalForImpersonate\n (successEvent)=\"onUserImpersonation($event)\">\n</pw-password-validation>\n<!-- password validation modal for remove2fa -->\n<pw-password-validation #passwordValidationModalForRemove2fa\n (successEvent)=\"remove2fa($event)\">\n</pw-password-validation>\n",
|
|
37665
37823
|
styles: ["@charset \"UTF-8\";:root{--first: rgb(23 105 225);--second: rgb(54 194 131);--third: rgb(255 171 0);--text: rgb(34 34 34);--tabs_bg: rgb(23 105 225);--tabs_sub_bg: color-mix(in srgb, var(--first, rgb(23 105 225)) 85%, #000000);--tabs_text: rgb(255 255 255);--titles: rgb(34 34 34);--sidebar_bg: rgb(0, 48, 63);--sidebar_text: rgb(255 255 255);--dashboard_bg: rgb(255 255 255);--public-btn-radius: 24px}.search-input input{width:100%}.w-150{width:150px}.table-responsive td[data-head=id]{font-variant-numeric:tabular-nums;color:#7c8696}.hexa-warning{font-size:18px;vertical-align:middle}.alpha-beta{font-size:14px}.ambassadors-only-toggle{display:inline-flex;align-items:center}.ambassadors-only-toggle ::ng-deep .switch small{display:flex;align-items:center;justify-content:center}.ambassadors-only-toggle ::ng-deep .switch small:after{content:\"\\f2b5\";font-family:\"Font Awesome 6 Pro\",sans-serif;font-weight:900;font-size:12px;line-height:1;color:var(--first)}\n"]
|
|
37666
37824
|
}]
|
|
37667
37825
|
}],
|
|
37668
37826
|
ctorParameters: () => [
|
|
37669
37827
|
{ type: i1$1.AdminService },
|
|
37670
|
-
{ type: i2$
|
|
37671
|
-
{ type: i2$
|
|
37828
|
+
{ type: i2$1.CustomToastService },
|
|
37829
|
+
{ type: i2$1.ProductService },
|
|
37672
37830
|
{ type: i0.Injector },
|
|
37673
|
-
{ type: i2$
|
|
37831
|
+
{ type: i2$1.AuthService },
|
|
37674
37832
|
{ type: i0.ChangeDetectorRef },
|
|
37675
|
-
{ type: i2$
|
|
37833
|
+
{ type: i2$1.WindowService },
|
|
37676
37834
|
{ type: i6$2.CollapsibleSidebarService }
|
|
37677
37835
|
],
|
|
37678
37836
|
propDecorators: {
|
|
@@ -37712,7 +37870,7 @@ var UserTabComponent = class UserTabComponent {
|
|
|
37712
37870
|
version: "22.2.0",
|
|
37713
37871
|
ngImport: i0,
|
|
37714
37872
|
type: UserTabComponent,
|
|
37715
|
-
deps: [{ token: i2$
|
|
37873
|
+
deps: [{ token: i2$1.PermissionService }],
|
|
37716
37874
|
target: i0.ɵɵFactoryTarget.Component
|
|
37717
37875
|
});
|
|
37718
37876
|
}
|
|
@@ -37750,7 +37908,7 @@ i0.ɵɵngDeclareClassMetadata({
|
|
|
37750
37908
|
styles: [".search-input input{width:100%}\n"]
|
|
37751
37909
|
}]
|
|
37752
37910
|
}],
|
|
37753
|
-
ctorParameters: () => [{ type: i2$
|
|
37911
|
+
ctorParameters: () => [{ type: i2$1.PermissionService }]
|
|
37754
37912
|
});
|
|
37755
37913
|
const routes = [{
|
|
37756
37914
|
path: "",
|
|
@@ -37842,7 +38000,6 @@ const routes = [{
|
|
|
37842
38000
|
{
|
|
37843
38001
|
path: "add",
|
|
37844
38002
|
component: FeatureFlagDetailsComponent,
|
|
37845
|
-
canDeactivate: [unsavedChangesGuard],
|
|
37846
38003
|
data: {
|
|
37847
38004
|
title: "Add Feature Flag",
|
|
37848
38005
|
permission: "Pages.Admin"
|
|
@@ -37851,7 +38008,6 @@ const routes = [{
|
|
|
37851
38008
|
{
|
|
37852
38009
|
path: ":id",
|
|
37853
38010
|
component: FeatureFlagDetailsComponent,
|
|
37854
|
-
canDeactivate: [unsavedChangesGuard],
|
|
37855
38011
|
data: {
|
|
37856
38012
|
title: "Edit Feature Flag",
|
|
37857
38013
|
permission: "Pages.Admin"
|
|
@@ -37993,7 +38149,6 @@ const routes = [{
|
|
|
37993
38149
|
{
|
|
37994
38150
|
path: "add",
|
|
37995
38151
|
component: LoginNotificationDetailsComponent,
|
|
37996
|
-
canDeactivate: [unsavedChangesGuard],
|
|
37997
38152
|
data: {
|
|
37998
38153
|
title: "Dashboard Notification Add",
|
|
37999
38154
|
permission: "Pages.Admin.LoginNotification || Pages.Role.MarketingManager || Pages.Role.CustomerSuccessManager"
|
|
@@ -38002,7 +38157,6 @@ const routes = [{
|
|
|
38002
38157
|
{
|
|
38003
38158
|
path: ":id",
|
|
38004
38159
|
component: LoginNotificationDetailsComponent,
|
|
38005
|
-
canDeactivate: [unsavedChangesGuard],
|
|
38006
38160
|
data: {
|
|
38007
38161
|
title: "Dashboard Notification Edit",
|
|
38008
38162
|
permission: "Pages.Admin.LoginNotification || Pages.Role.MarketingManager || Pages.Role.CustomerSuccessManager"
|
|
@@ -38472,7 +38626,6 @@ const routes = [{
|
|
|
38472
38626
|
{
|
|
38473
38627
|
path: "add",
|
|
38474
38628
|
component: TermsOfServiceDetailsComponent,
|
|
38475
|
-
canDeactivate: [unsavedChangesGuard],
|
|
38476
38629
|
data: {
|
|
38477
38630
|
title: "Tos",
|
|
38478
38631
|
permission: "Pages.Admin.Tos"
|
|
@@ -38481,7 +38634,6 @@ const routes = [{
|
|
|
38481
38634
|
{
|
|
38482
38635
|
path: ":id",
|
|
38483
38636
|
component: TermsOfServiceDetailsComponent,
|
|
38484
|
-
canDeactivate: [unsavedChangesGuard],
|
|
38485
38637
|
data: {
|
|
38486
38638
|
title: "Tos",
|
|
38487
38639
|
permission: "Pages.Admin.Tos"
|
|
@@ -38598,7 +38750,6 @@ const routes = [{
|
|
|
38598
38750
|
{
|
|
38599
38751
|
path: "add",
|
|
38600
38752
|
component: OauthClientsDetailsComponent,
|
|
38601
|
-
canDeactivate: [unsavedChangesGuard],
|
|
38602
38753
|
data: {
|
|
38603
38754
|
title: "Add MCP OAuth Client",
|
|
38604
38755
|
permission: "Pages.Admin"
|
|
@@ -38607,7 +38758,6 @@ const routes = [{
|
|
|
38607
38758
|
{
|
|
38608
38759
|
path: "edit/:id",
|
|
38609
38760
|
component: OauthClientsDetailsComponent,
|
|
38610
|
-
canDeactivate: [unsavedChangesGuard],
|
|
38611
38761
|
data: {
|
|
38612
38762
|
title: "Edit MCP OAuth Client",
|
|
38613
38763
|
permission: "Pages.Admin"
|
|
@@ -38909,10 +39059,11 @@ var AdminModule = class AdminModule {
|
|
|
38909
39059
|
NgbModalModule,
|
|
38910
39060
|
FormsModule,
|
|
38911
39061
|
ReactiveFormsModule,
|
|
39062
|
+
TrackDirtyFormDirective,
|
|
38912
39063
|
NgxPaginationModule,
|
|
38913
39064
|
NgbNavModule,
|
|
38914
39065
|
NgbDatepickerModule,
|
|
38915
|
-
|
|
39066
|
+
i12.QuillModule
|
|
38916
39067
|
]
|
|
38917
39068
|
});
|
|
38918
39069
|
}
|
|
@@ -39114,6 +39265,7 @@ i0.ɵɵngDeclareClassMetadata({
|
|
|
39114
39265
|
NgbModalModule,
|
|
39115
39266
|
FormsModule,
|
|
39116
39267
|
ReactiveFormsModule,
|
|
39268
|
+
TrackDirtyFormDirective,
|
|
39117
39269
|
NgxPaginationModule,
|
|
39118
39270
|
NgbNavModule,
|
|
39119
39271
|
NgbDatepickerModule,
|
|
@@ -39172,10 +39324,10 @@ var AdminGuardService = class AdminGuardService {
|
|
|
39172
39324
|
ngImport: i0,
|
|
39173
39325
|
type: AdminGuardService,
|
|
39174
39326
|
deps: [
|
|
39175
|
-
{ token: i2$
|
|
39327
|
+
{ token: i2$1.UserService },
|
|
39176
39328
|
{ token: i7$2.Router },
|
|
39177
|
-
{ token: i2$
|
|
39178
|
-
{ token: i2$
|
|
39329
|
+
{ token: i2$1.FeatureFlagService },
|
|
39330
|
+
{ token: i2$1.PermissionService }
|
|
39179
39331
|
],
|
|
39180
39332
|
target: i0.ɵɵFactoryTarget.Injectable
|
|
39181
39333
|
});
|
|
@@ -39196,10 +39348,10 @@ i0.ɵɵngDeclareClassMetadata({
|
|
|
39196
39348
|
type: AdminGuardService,
|
|
39197
39349
|
decorators: [{ type: Injectable }],
|
|
39198
39350
|
ctorParameters: () => [
|
|
39199
|
-
{ type: i2$
|
|
39351
|
+
{ type: i2$1.UserService },
|
|
39200
39352
|
{ type: i7$2.Router },
|
|
39201
|
-
{ type: i2$
|
|
39202
|
-
{ type: i2$
|
|
39353
|
+
{ type: i2$1.FeatureFlagService },
|
|
39354
|
+
{ type: i2$1.PermissionService }
|
|
39203
39355
|
]
|
|
39204
39356
|
});
|
|
39205
39357
|
export { AddEditFaqComponent, AdminGuardService, AdminModule, AdminRoutingModule, AgentDetailsComponent, AhoyEventsComponent, AhoyMessagesComponent, AhoyVisitsComponent, ContactUsListComponent, ContactUsTabsComponent, CredentialsComponent, CredentialsDetailsComponent, CredentialsTabComponent, DomainConfigBuildComponent, DomainConfigCoreComponent, DomainConfigDetailsComponent, DomainConfigIntegrationsComponent, DomainConfigInterfaceComponent, DomainConfigListComponent, DomainConfigOrganizationComponent, DomainConfigSecurityComponent, DomainConfigSocialComponent, DomainConfigTabsComponent, EventsComponent, FaqListComponent, FaqTabsComponent, FeedbackQuestionsDetailsComponent, FeedbackQuestionsListComponent, GeneralTabsComponent, GenericInsightComponent, GenericMiscComponent, GlobalConfigDetailsComponent, GlobalConfigListComponent, GlobalConfigTabsComponent, InsightComponent, LoginNotificationDetailsComponent, LoginNotificationTabsComponent, LoginNotificationsListComponent, NewsletterComponent, NewsletterDetailsComponent, NewsletterInsightComponent, NewsletterItemDetailsComponent, NewsletterUsersListComponent, NewslettersItemsComponent, NewslettersListComponent, PermissionsDetailsComponent, PermissionsListComponent, PermissionsTabsComponent, ProductDetailsComponent, ProductInsightComponent, ProductsListComponent, ProductsTabComponent, ROUTERS, RoleDetailsComponent, RolesListComponent, SubscriptionAgentsListComponent, SubscriptionComponent, SubscriptionCredentialsComponent, SubscriptionCredentialsDetailsComponent, SubscriptionDetailsComponent, SubscriptionInsightNpsComponent, SubscriptionInsightRevenueComponent, SubscriptionInsightTabsComponent, SubscriptionProductDetailsComponent, SubscriptionProductsComponent, SubscriptionUsersComponent, SubscriptionsListComponent, TagsCategoryComponent, TagsListComponent, TagsTabsComponent, TermsOfServiceComponent, TermsOfServiceDetailsComponent, TermsOfServiceTabsComponent, TipComponent, TipsComponent, TipsTabsComponent, TrackingComponent, UserDetailsComponent, UserInsightComponent, UserListComponent, UserTabComponent, UsersListForProductComponent, VersionsComponent };
|