@posiwise/admin-module 0.0.255 → 0.0.256

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$2 from "@posiwise/common-services";
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 i11 from "ngx-quill";
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$3 from "primeng/select";
55
+ import * as i2$2 from "primeng/select";
54
56
  import { SelectModule } from "primeng/select";
55
- import * as i2$4 from "primeng/table";
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$1 from "primeng/progressspinner";
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$4.Table,
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$4.ResizableColumn,
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$4.Table,
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$4.SortableColumn,
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$4.ResizableColumn,
692
+ type: i2$3.ResizableColumn,
693
693
  selector: "[pResizableColumn]",
694
694
  inputs: ["pResizableColumnDisabled"]
695
695
  },
696
696
  {
697
697
  kind: "component",
698
- type: i2$4.SortIcon,
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$1.ProgressSpinner,
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$3.Select,
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$1.ProgressSpinner,
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$4.Table,
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$4.SortableColumn,
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$4.ResizableColumn,
1606
+ type: i2$3.ResizableColumn,
1601
1607
  selector: "[pResizableColumn]",
1602
1608
  inputs: ["pResizableColumnDisabled"]
1603
1609
  },
1604
1610
  {
1605
1611
  kind: "component",
1606
- type: i2$4.SortIcon,
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$1.ProgressSpinner,
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$4.Table,
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$4.SortableColumn,
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$4.ResizableColumn,
2054
+ type: i2$3.ResizableColumn,
2049
2055
  selector: "[pResizableColumn]",
2050
2056
  inputs: ["pResizableColumnDisabled"]
2051
2057
  },
2052
2058
  {
2053
2059
  kind: "component",
2054
- type: i2$4.SortIcon,
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$3.Select,
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$1.ProgressSpinner,
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$4.Table,
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$4.SortableColumn,
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$4.ResizableColumn,
2538
+ type: i2$3.ResizableColumn,
2533
2539
  selector: "[pResizableColumn]",
2534
2540
  inputs: ["pResizableColumnDisabled"]
2535
2541
  },
2536
2542
  {
2537
2543
  kind: "component",
2538
- type: i2$4.SortIcon,
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$1.ProgressSpinner,
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$1.ProgressSpinner,
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$4.Table,
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$4.SortableColumn,
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$4.ResizableColumn,
3264
+ type: i2$3.ResizableColumn,
3253
3265
  selector: "[pResizableColumn]",
3254
3266
  inputs: ["pResizableColumnDisabled"]
3255
3267
  },
3256
3268
  {
3257
3269
  kind: "component",
3258
- type: i2$4.SortIcon,
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$3.Select,
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$1.ProgressSpinner,
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$3.Select,
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$1.ProgressSpinner,
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$2.ProductService },
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$3.Select,
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$1.ProgressSpinner,
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$2.ProductService },
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$3.Select,
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$1.ProgressSpinner,
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$1.ProgressSpinner,
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$1.ProgressSpinner,
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$1.ProgressSpinner,
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$1.ProgressSpinner,
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$1.ProgressSpinner,
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$4.Table,
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$4.SortableColumn,
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$4.ResizableColumn,
7000
+ type: i2$3.ResizableColumn,
6943
7001
  selector: "[pResizableColumn]",
6944
7002
  inputs: ["pResizableColumnDisabled"]
6945
7003
  },
6946
7004
  {
6947
7005
  kind: "component",
6948
- type: i2$4.SortIcon,
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$1.ProgressSpinner,
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$2.CommonService },
7364
+ { token: i2$1.CommonService },
7306
7365
  { token: i1$1.AdminService },
7307
- { token: i2$2.ProductService },
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$3.Select,
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$1.ProgressSpinner,
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: i11.QuillEditorComponent,
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$2.CommonService },
7713
+ { type: i2$1.CommonService },
7650
7714
  { type: i1$1.AdminService },
7651
- { type: i2$2.ProductService },
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$2.CommonService },
7948
+ { token: i2$1.CommonService },
7885
7949
  { token: i1$1.AdminService },
7886
- { token: i2$2.ProductService },
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$4.Table,
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$4.ResizableColumn,
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$1.ProgressSpinner,
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$2.CommonService },
8351
+ { type: i2$1.CommonService },
8288
8352
  { type: i1$1.AdminService },
8289
- { type: i2$2.ProductService },
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, unsavedChanges) {
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$3.Select,
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$1.ProgressSpinner,
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$4.Table,
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$4.ResizableColumn,
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$3.Select,
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$1.ProgressSpinner,
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$4.Table,
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$4.ResizableColumn,
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$1.ProgressSpinner,
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$2.ProductService }
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$2.ProductService }
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$2.ProductService },
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$4.Table,
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$4.SortableColumn,
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$4.ResizableColumn,
10300
+ type: i2$3.ResizableColumn,
10241
10301
  selector: "[pResizableColumn]",
10242
10302
  inputs: ["pResizableColumnDisabled"]
10243
10303
  },
10244
10304
  {
10245
10305
  kind: "component",
10246
- type: i2$4.SortIcon,
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$1.ProgressSpinner,
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$2.ProductService },
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$2.CommonService }
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$1.ProgressSpinner,
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: i11.QuillEditorComponent,
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$2.CommonService }
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$2.CommonService },
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$4.Table,
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$4.SortableColumn,
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$4.ResizableColumn,
11336
+ type: i2$3.ResizableColumn,
11270
11337
  selector: "[pResizableColumn]",
11271
11338
  inputs: ["pResizableColumnDisabled"]
11272
11339
  },
11273
11340
  {
11274
11341
  kind: "component",
11275
- type: i2$4.SortIcon,
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$1.ProgressSpinner,
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$2.CommonService },
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, unsavedChanges) {
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$2.ProductService },
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$3.Select,
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$1.ProgressSpinner,
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$2.ProductService },
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$4.Table,
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$4.SortableColumn,
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$4.ResizableColumn,
12373
+ type: i2$3.ResizableColumn,
12316
12374
  selector: "[pResizableColumn]",
12317
12375
  inputs: ["pResizableColumnDisabled"]
12318
12376
  },
12319
12377
  {
12320
12378
  kind: "component",
12321
- type: i2$4.SortIcon,
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$1.ProgressSpinner,
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$3.Select,
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$1.ProgressSpinner,
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: i11.QuillEditorComponent,
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$2.AuthService },
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$4.Table,
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$4.SortableColumn,
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$4.ResizableColumn,
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$1.ProgressSpinner,
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$2.AuthService },
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$1.ProgressSpinner,
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$2.TagService },
13750
- { token: i2$2.ProductService },
13751
- { token: i2$2.AuthService },
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$3.Select,
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$1.ProgressSpinner,
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: i11.QuillEditorComponent,
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$2.TagService },
14286
- { type: i2$2.ProductService },
14287
- { type: i2$2.AuthService },
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$4.Table,
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$4.SortableColumn,
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$4.ResizableColumn,
14568
+ type: i2$3.ResizableColumn,
14492
14569
  selector: "[pResizableColumn]",
14493
14570
  inputs: ["pResizableColumnDisabled"]
14494
14571
  },
14495
14572
  {
14496
14573
  kind: "component",
14497
- type: i2$4.SortIcon,
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$1.ProgressSpinner,
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$1.ProgressSpinner,
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$2.AuthService },
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$4.Table,
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$4.SortableColumn,
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$4.ResizableColumn,
15166
+ type: i2$3.ResizableColumn,
15090
15167
  selector: "[pResizableColumn]",
15091
15168
  inputs: ["pResizableColumnDisabled"]
15092
15169
  },
15093
15170
  {
15094
15171
  kind: "component",
15095
- type: i2$4.SortIcon,
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$1.ProgressSpinner,
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$2.AuthService },
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$1.ProgressSpinner,
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$2.AuthService },
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$4.Table,
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$4.SortableColumn,
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$4.ResizableColumn,
15788
+ type: i2$3.ResizableColumn,
15712
15789
  selector: "[pResizableColumn]",
15713
15790
  inputs: ["pResizableColumnDisabled"]
15714
15791
  },
15715
15792
  {
15716
15793
  kind: "component",
15717
- type: i2$4.SortIcon,
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$1.ProgressSpinner,
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$2.AuthService },
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$4.Table,
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$4.ResizableColumn,
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$1.ProgressSpinner,
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, unsavedChanges) {
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$1.ProgressSpinner,
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$4.Table,
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$4.SortableColumn,
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$4.ResizableColumn,
17120
+ type: i2$3.ResizableColumn,
17048
17121
  selector: "[pResizableColumn]",
17049
17122
  inputs: ["pResizableColumnDisabled"]
17050
17123
  },
17051
17124
  {
17052
17125
  kind: "component",
17053
- type: i2$4.SortIcon,
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$1.ProgressSpinner,
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$1.ProgressSpinner,
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$4.Table,
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$4.SortableColumn,
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$4.ResizableColumn,
17891
+ type: i2$3.ResizableColumn,
17814
17892
  selector: "[pResizableColumn]",
17815
17893
  inputs: ["pResizableColumnDisabled"]
17816
17894
  },
17817
17895
  {
17818
17896
  kind: "component",
17819
- type: i2$4.SortIcon,
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$1.ProgressSpinner,
17980
+ type: i11.ProgressSpinner,
17903
17981
  selector: "p-progress-spinner, p-progressspinner",
17904
17982
  inputs: [
17905
17983
  "value",
@@ -18106,7 +18184,7 @@ var OnboardingStepFormComponent = class OnboardingStepFormComponent {
18106
18184
  },
18107
18185
  {
18108
18186
  kind: "component",
18109
- type: i2$3.Select,
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,
@@ -18536,7 +18619,7 @@ var OnboardingStepsComponent = class OnboardingStepsComponent extends AppBaseCom
18536
18619
  deps: [
18537
18620
  { token: i0.Injector },
18538
18621
  { token: i1$1.OnboardingAdminService },
18539
- { token: i2$2.CommonService },
18622
+ { token: i2$1.CommonService },
18540
18623
  { token: i6$2.ConfirmDialogService },
18541
18624
  { token: i3$2.NgbModal },
18542
18625
  { token: i0.ChangeDetectorRef },
@@ -18562,7 +18645,7 @@ var OnboardingStepsComponent = class OnboardingStepsComponent extends AppBaseCom
18562
18645
  dependencies: [
18563
18646
  {
18564
18647
  kind: "component",
18565
- type: i2$4.Table,
18648
+ type: i2$3.Table,
18566
18649
  selector: "p-table",
18567
18650
  inputs: [
18568
18651
  "frozenColumns",
@@ -18703,7 +18786,7 @@ var OnboardingStepsComponent = class OnboardingStepsComponent extends AppBaseCom
18703
18786
  },
18704
18787
  {
18705
18788
  kind: "component",
18706
- type: i2$3.Select,
18789
+ type: i2$2.Select,
18707
18790
  selector: "p-select",
18708
18791
  inputs: [
18709
18792
  "id",
@@ -18898,7 +18981,7 @@ i0.ɵɵngDeclareClassMetadata({
18898
18981
  ctorParameters: () => [
18899
18982
  { type: i0.Injector },
18900
18983
  { type: i1$1.OnboardingAdminService },
18901
- { type: i2$2.CommonService },
18984
+ { type: i2$1.CommonService },
18902
18985
  { type: i6$2.ConfirmDialogService },
18903
18986
  { type: i3$2.NgbModal },
18904
18987
  { type: i0.ChangeDetectorRef },
@@ -18963,7 +19046,7 @@ var ProductBackupCardComponent = class ProductBackupCardComponent {
18963
19046
  dependencies: [
18964
19047
  {
18965
19048
  kind: "component",
18966
- type: i2$3.Select,
19049
+ type: i2$2.Select,
18967
19050
  selector: "p-select",
18968
19051
  inputs: [
18969
19052
  "id",
@@ -19117,6 +19200,11 @@ var ProductBackupCardComponent = class ProductBackupCardComponent {
19117
19200
  ],
19118
19201
  outputs: ["ngModelChange"]
19119
19202
  },
19203
+ {
19204
+ kind: "directive",
19205
+ type: i9.TrackDirtyFormDirective,
19206
+ selector: "[formGroup]:not([formGroupSkipDirty])"
19207
+ },
19120
19208
  {
19121
19209
  kind: "pipe",
19122
19210
  type: i8$2.TranslocoPipe,
@@ -19329,6 +19417,7 @@ var ProductDetailsComponent = class ProductDetailsComponent extends AppBaseCompo
19329
19417
  };
19330
19418
  this.adminService.saveProductRoles(this.subscriptionsRolesData).subscribe();
19331
19419
  }
19420
+ this.form.markAsPristine();
19332
19421
  this.back();
19333
19422
  }
19334
19423
  this.cdr.markForCheck();
@@ -19348,6 +19437,7 @@ var ProductDetailsComponent = class ProductDetailsComponent extends AppBaseCompo
19348
19437
  this.productService.updateProduct(data, this.id).subscribe((response) => {
19349
19438
  if (!response.error) {
19350
19439
  this.form.patchValue(response);
19440
+ this.form.markAsPristine();
19351
19441
  this.back();
19352
19442
  }
19353
19443
  this.cdr.markForCheck();
@@ -19472,7 +19562,7 @@ var ProductDetailsComponent = class ProductDetailsComponent extends AppBaseCompo
19472
19562
  deps: [
19473
19563
  { token: i0.Injector },
19474
19564
  { token: i0.ChangeDetectorRef },
19475
- { token: i2$2.ProductService },
19565
+ { token: i2$1.ProductService },
19476
19566
  { token: i3$2.NgbModal },
19477
19567
  { token: i1$1.AdminService }
19478
19568
  ],
@@ -19556,7 +19646,7 @@ var ProductDetailsComponent = class ProductDetailsComponent extends AppBaseCompo
19556
19646
  },
19557
19647
  {
19558
19648
  kind: "component",
19559
- type: i2$3.Select,
19649
+ type: i2$2.Select,
19560
19650
  selector: "p-select",
19561
19651
  inputs: [
19562
19652
  "id",
@@ -19795,7 +19885,7 @@ var ProductDetailsComponent = class ProductDetailsComponent extends AppBaseCompo
19795
19885
  },
19796
19886
  {
19797
19887
  kind: "component",
19798
- type: i11$1.ProgressSpinner,
19888
+ type: i11.ProgressSpinner,
19799
19889
  selector: "p-progress-spinner, p-progressspinner",
19800
19890
  inputs: [
19801
19891
  "value",
@@ -19809,7 +19899,7 @@ var ProductDetailsComponent = class ProductDetailsComponent extends AppBaseCompo
19809
19899
  },
19810
19900
  {
19811
19901
  kind: "component",
19812
- type: i12.ProfileImageCropperComponent,
19902
+ type: i12$1.ProfileImageCropperComponent,
19813
19903
  selector: "pw-image-cropper",
19814
19904
  inputs: ["aspectRatio", "dynamicData"],
19815
19905
  outputs: [
@@ -19882,9 +19972,14 @@ var ProductDetailsComponent = class ProductDetailsComponent extends AppBaseCompo
19882
19972
  ],
19883
19973
  outputs: ["ngModelChange"]
19884
19974
  },
19975
+ {
19976
+ kind: "directive",
19977
+ type: i9.TrackDirtyFormDirective,
19978
+ selector: "[formGroup]:not([formGroupSkipDirty])"
19979
+ },
19885
19980
  {
19886
19981
  kind: "component",
19887
- type: i11.QuillEditorComponent,
19982
+ type: i12.QuillEditorComponent,
19888
19983
  selector: "quill-editor"
19889
19984
  },
19890
19985
  {
@@ -19929,7 +20024,7 @@ i0.ɵɵngDeclareClassMetadata({
19929
20024
  ctorParameters: () => [
19930
20025
  { type: i0.Injector },
19931
20026
  { type: i0.ChangeDetectorRef },
19932
- { type: i2$2.ProductService },
20027
+ { type: i2$1.ProductService },
19933
20028
  { type: i3$2.NgbModal },
19934
20029
  { type: i1$1.AdminService }
19935
20030
  ],
@@ -19971,7 +20066,7 @@ var ProductInsightComponent = class ProductInsightComponent extends AppBaseCompo
19971
20066
  ngImport: i0,
19972
20067
  type: ProductInsightComponent,
19973
20068
  deps: [
19974
- { token: i2$2.ProductService },
20069
+ { token: i2$1.ProductService },
19975
20070
  { token: i0.Injector },
19976
20071
  { token: i0.ChangeDetectorRef }
19977
20072
  ],
@@ -20064,7 +20159,7 @@ var ProductInsightComponent = class ProductInsightComponent extends AppBaseCompo
20064
20159
  },
20065
20160
  {
20066
20161
  kind: "component",
20067
- type: i11$1.ProgressSpinner,
20162
+ type: i11.ProgressSpinner,
20068
20163
  selector: "p-progress-spinner, p-progressspinner",
20069
20164
  inputs: [
20070
20165
  "value",
@@ -20095,7 +20190,7 @@ i0.ɵɵngDeclareClassMetadata({
20095
20190
  }]
20096
20191
  }],
20097
20192
  ctorParameters: () => [
20098
- { type: i2$2.ProductService },
20193
+ { type: i2$1.ProductService },
20099
20194
  { type: i0.Injector },
20100
20195
  { type: i0.ChangeDetectorRef }
20101
20196
  ]
@@ -20214,8 +20309,8 @@ var ProductsListComponent = class ProductsListComponent extends AppBaseComponent
20214
20309
  ngImport: i0,
20215
20310
  type: ProductsListComponent,
20216
20311
  deps: [
20217
- { token: i2$2.ProductService },
20218
- { token: i2$2.AuthService },
20312
+ { token: i2$1.ProductService },
20313
+ { token: i2$1.AuthService },
20219
20314
  { token: i0.Injector },
20220
20315
  { token: i0.ChangeDetectorRef }
20221
20316
  ],
@@ -20242,7 +20337,7 @@ var ProductsListComponent = class ProductsListComponent extends AppBaseComponent
20242
20337
  dependencies: [
20243
20338
  {
20244
20339
  kind: "component",
20245
- type: i2$4.Table,
20340
+ type: i2$3.Table,
20246
20341
  selector: "p-table",
20247
20342
  inputs: [
20248
20343
  "frozenColumns",
@@ -20355,19 +20450,19 @@ var ProductsListComponent = class ProductsListComponent extends AppBaseComponent
20355
20450
  },
20356
20451
  {
20357
20452
  kind: "directive",
20358
- type: i2$4.SortableColumn,
20453
+ type: i2$3.SortableColumn,
20359
20454
  selector: "[pSortableColumn]",
20360
20455
  inputs: ["pSortableColumn", "pSortableColumnDisabled"]
20361
20456
  },
20362
20457
  {
20363
20458
  kind: "directive",
20364
- type: i2$4.ResizableColumn,
20459
+ type: i2$3.ResizableColumn,
20365
20460
  selector: "[pResizableColumn]",
20366
20461
  inputs: ["pResizableColumnDisabled"]
20367
20462
  },
20368
20463
  {
20369
20464
  kind: "component",
20370
- type: i2$4.SortIcon,
20465
+ type: i2$3.SortIcon,
20371
20466
  selector: "p-sort-icon, p-sorticon",
20372
20467
  inputs: ["field"]
20373
20468
  },
@@ -20542,7 +20637,7 @@ var ProductsListComponent = class ProductsListComponent extends AppBaseComponent
20542
20637
  },
20543
20638
  {
20544
20639
  kind: "component",
20545
- type: i11$1.ProgressSpinner,
20640
+ type: i11.ProgressSpinner,
20546
20641
  selector: "p-progress-spinner, p-progressspinner",
20547
20642
  inputs: [
20548
20643
  "value",
@@ -20630,8 +20725,8 @@ i0.ɵɵngDeclareClassMetadata({
20630
20725
  }]
20631
20726
  }],
20632
20727
  ctorParameters: () => [
20633
- { type: i2$2.ProductService },
20634
- { type: i2$2.AuthService },
20728
+ { type: i2$1.ProductService },
20729
+ { type: i2$1.AuthService },
20635
20730
  { type: i0.Injector },
20636
20731
  { type: i0.ChangeDetectorRef }
20637
20732
  ],
@@ -20754,7 +20849,7 @@ var UsersListForProductComponent = class UsersListForProductComponent extends Ap
20754
20849
  ngImport: i0,
20755
20850
  type: UsersListForProductComponent,
20756
20851
  deps: [
20757
- { token: i2$2.ProductService },
20852
+ { token: i2$1.ProductService },
20758
20853
  { token: i0.Injector },
20759
20854
  { token: i0.ChangeDetectorRef }
20760
20855
  ],
@@ -20774,7 +20869,7 @@ var UsersListForProductComponent = class UsersListForProductComponent extends Ap
20774
20869
  dependencies: [
20775
20870
  {
20776
20871
  kind: "component",
20777
- type: i2$4.Table,
20872
+ type: i2$3.Table,
20778
20873
  selector: "p-table",
20779
20874
  inputs: [
20780
20875
  "frozenColumns",
@@ -20887,19 +20982,19 @@ var UsersListForProductComponent = class UsersListForProductComponent extends Ap
20887
20982
  },
20888
20983
  {
20889
20984
  kind: "directive",
20890
- type: i2$4.SortableColumn,
20985
+ type: i2$3.SortableColumn,
20891
20986
  selector: "[pSortableColumn]",
20892
20987
  inputs: ["pSortableColumn", "pSortableColumnDisabled"]
20893
20988
  },
20894
20989
  {
20895
20990
  kind: "directive",
20896
- type: i2$4.ResizableColumn,
20991
+ type: i2$3.ResizableColumn,
20897
20992
  selector: "[pResizableColumn]",
20898
20993
  inputs: ["pResizableColumnDisabled"]
20899
20994
  },
20900
20995
  {
20901
20996
  kind: "component",
20902
- type: i2$4.SortIcon,
20997
+ type: i2$3.SortIcon,
20903
20998
  selector: "p-sort-icon, p-sorticon",
20904
20999
  inputs: ["field"]
20905
21000
  },
@@ -21034,12 +21129,12 @@ var UsersListForProductComponent = class UsersListForProductComponent extends Ap
21034
21129
  },
21035
21130
  {
21036
21131
  kind: "pipe",
21037
- type: i9.DateFormatPipe,
21132
+ type: i9$1.DateFormatPipe,
21038
21133
  name: "dateFormat"
21039
21134
  },
21040
21135
  {
21041
21136
  kind: "pipe",
21042
- type: i9.IsOnlinePipe,
21137
+ type: i9$1.IsOnlinePipe,
21043
21138
  name: "isOnline"
21044
21139
  }
21045
21140
  ]
@@ -21060,7 +21155,7 @@ i0.ɵɵngDeclareClassMetadata({
21060
21155
  }]
21061
21156
  }],
21062
21157
  ctorParameters: () => [
21063
- { type: i2$2.ProductService },
21158
+ { type: i2$1.ProductService },
21064
21159
  { type: i0.Injector },
21065
21160
  { type: i0.ChangeDetectorRef }
21066
21161
  ]
@@ -21213,6 +21308,7 @@ var ResourceAdminDetailsComponent = class ResourceAdminDetailsComponent extends
21213
21308
  if (!data.rectangular_picture) delete data.rectangular_picture;
21214
21309
  delete data.id;
21215
21310
  this.adminService.addPost(data).pipe(switchMap((response) => this.postTags(response.id))).subscribe(() => {
21311
+ this.form.markAsPristine();
21216
21312
  this.toast.success(this.translation.translate("Resource.AddedMessage"));
21217
21313
  this.back();
21218
21314
  this.cdr.markForCheck();
@@ -21262,6 +21358,7 @@ var ResourceAdminDetailsComponent = class ResourceAdminDetailsComponent extends
21262
21358
  }
21263
21359
  updatePost(data) {
21264
21360
  this.adminService.updatePost(data, this.id).pipe(switchMap(() => this.postTags(this.blog.id))).subscribe(() => {
21361
+ this.form.markAsPristine();
21265
21362
  this.toast.success(this.translation.translate("Resource.UpdatedMessage"));
21266
21363
  this.navigateToResourceList({ resetSearch: true });
21267
21364
  this.cdr.markForCheck();
@@ -21351,8 +21448,8 @@ var ResourceAdminDetailsComponent = class ResourceAdminDetailsComponent extends
21351
21448
  { token: i1$1.AdminService },
21352
21449
  { token: i0.Injector },
21353
21450
  { token: i0.ChangeDetectorRef },
21354
- { token: i2$2.TagService },
21355
- { token: i2$2.SubscriptionService }
21451
+ { token: i2$1.TagService },
21452
+ { token: i2$1.SubscriptionService }
21356
21453
  ],
21357
21454
  target: i0.ɵɵFactoryTarget.Component
21358
21455
  });
@@ -21450,7 +21547,7 @@ var ResourceAdminDetailsComponent = class ResourceAdminDetailsComponent extends
21450
21547
  },
21451
21548
  {
21452
21549
  kind: "component",
21453
- type: i2$3.Select,
21550
+ type: i2$2.Select,
21454
21551
  selector: "p-select",
21455
21552
  inputs: [
21456
21553
  "id",
@@ -21671,7 +21768,7 @@ var ResourceAdminDetailsComponent = class ResourceAdminDetailsComponent extends
21671
21768
  },
21672
21769
  {
21673
21770
  kind: "component",
21674
- type: i11$1.ProgressSpinner,
21771
+ type: i11.ProgressSpinner,
21675
21772
  selector: "p-progress-spinner, p-progressspinner",
21676
21773
  inputs: [
21677
21774
  "value",
@@ -21685,7 +21782,7 @@ var ResourceAdminDetailsComponent = class ResourceAdminDetailsComponent extends
21685
21782
  },
21686
21783
  {
21687
21784
  kind: "component",
21688
- type: i12.ProfileImageCropperComponent,
21785
+ type: i12$1.ProfileImageCropperComponent,
21689
21786
  selector: "pw-image-cropper",
21690
21787
  inputs: ["aspectRatio", "dynamicData"],
21691
21788
  outputs: [
@@ -21747,9 +21844,14 @@ var ResourceAdminDetailsComponent = class ResourceAdminDetailsComponent extends
21747
21844
  ],
21748
21845
  outputs: ["ngModelChange"]
21749
21846
  },
21847
+ {
21848
+ kind: "directive",
21849
+ type: i9.TrackDirtyFormDirective,
21850
+ selector: "[formGroup]:not([formGroupSkipDirty])"
21851
+ },
21750
21852
  {
21751
21853
  kind: "component",
21752
- type: i11.QuillEditorComponent,
21854
+ type: i12.QuillEditorComponent,
21753
21855
  selector: "quill-editor"
21754
21856
  },
21755
21857
  {
@@ -21783,8 +21885,8 @@ i0.ɵɵngDeclareClassMetadata({
21783
21885
  { type: i1$1.AdminService },
21784
21886
  { type: i0.Injector },
21785
21887
  { type: i0.ChangeDetectorRef },
21786
- { type: i2$2.TagService },
21787
- { type: i2$2.SubscriptionService }
21888
+ { type: i2$1.TagService },
21889
+ { type: i2$1.SubscriptionService }
21788
21890
  ],
21789
21891
  propDecorators: { onSave: [] }
21790
21892
  });
@@ -21970,7 +22072,7 @@ var ResourcesIndexComponent = class ResourcesIndexComponent extends AppBaseCompo
21970
22072
  type: ResourcesIndexComponent,
21971
22073
  deps: [
21972
22074
  { token: i1$1.AdminService },
21973
- { token: i2$2.TagService },
22075
+ { token: i2$1.TagService },
21974
22076
  { token: i0.Injector },
21975
22077
  { token: i0.ChangeDetectorRef },
21976
22078
  { token: i6$2.ConfirmDialogService }
@@ -21992,7 +22094,7 @@ var ResourcesIndexComponent = class ResourcesIndexComponent extends AppBaseCompo
21992
22094
  dependencies: [
21993
22095
  {
21994
22096
  kind: "component",
21995
- type: i2$4.Table,
22097
+ type: i2$3.Table,
21996
22098
  selector: "p-table",
21997
22099
  inputs: [
21998
22100
  "frozenColumns",
@@ -22105,19 +22207,19 @@ var ResourcesIndexComponent = class ResourcesIndexComponent extends AppBaseCompo
22105
22207
  },
22106
22208
  {
22107
22209
  kind: "directive",
22108
- type: i2$4.SortableColumn,
22210
+ type: i2$3.SortableColumn,
22109
22211
  selector: "[pSortableColumn]",
22110
22212
  inputs: ["pSortableColumn", "pSortableColumnDisabled"]
22111
22213
  },
22112
22214
  {
22113
22215
  kind: "directive",
22114
- type: i2$4.ResizableColumn,
22216
+ type: i2$3.ResizableColumn,
22115
22217
  selector: "[pResizableColumn]",
22116
22218
  inputs: ["pResizableColumnDisabled"]
22117
22219
  },
22118
22220
  {
22119
22221
  kind: "component",
22120
- type: i2$4.SortIcon,
22222
+ type: i2$3.SortIcon,
22121
22223
  selector: "p-sort-icon, p-sorticon",
22122
22224
  inputs: ["field"]
22123
22225
  },
@@ -22291,7 +22393,7 @@ var ResourcesIndexComponent = class ResourcesIndexComponent extends AppBaseCompo
22291
22393
  },
22292
22394
  {
22293
22395
  kind: "component",
22294
- type: i11$1.ProgressSpinner,
22396
+ type: i11.ProgressSpinner,
22295
22397
  selector: "p-progress-spinner, p-progressspinner",
22296
22398
  inputs: [
22297
22399
  "value",
@@ -22367,12 +22469,12 @@ var ResourcesIndexComponent = class ResourcesIndexComponent extends AppBaseCompo
22367
22469
  },
22368
22470
  {
22369
22471
  kind: "pipe",
22370
- type: i9.DateFormatPipe,
22472
+ type: i9$1.DateFormatPipe,
22371
22473
  name: "dateFormat"
22372
22474
  },
22373
22475
  {
22374
22476
  kind: "pipe",
22375
- type: i9.IfNameNullShowEmailPipe,
22477
+ type: i9$1.IfNameNullShowEmailPipe,
22376
22478
  name: "ifNameNullShowEmail"
22377
22479
  }
22378
22480
  ]
@@ -22395,7 +22497,7 @@ i0.ɵɵngDeclareClassMetadata({
22395
22497
  }],
22396
22498
  ctorParameters: () => [
22397
22499
  { type: i1$1.AdminService },
22398
- { type: i2$2.TagService },
22500
+ { type: i2$1.TagService },
22399
22501
  { type: i0.Injector },
22400
22502
  { type: i0.ChangeDetectorRef },
22401
22503
  { type: i6$2.ConfirmDialogService }
@@ -22529,7 +22631,7 @@ var ResourcesInsightComponent = class ResourcesInsightComponent extends AppBaseC
22529
22631
  },
22530
22632
  {
22531
22633
  kind: "component",
22532
- type: i11$1.ProgressSpinner,
22634
+ type: i11.ProgressSpinner,
22533
22635
  selector: "p-progress-spinner, p-progressspinner",
22534
22636
  inputs: [
22535
22637
  "value",
@@ -22631,7 +22733,7 @@ var ResourcesListsInsightComponent = class ResourcesListsInsightComponent extend
22631
22733
  dependencies: [
22632
22734
  {
22633
22735
  kind: "component",
22634
- type: i2$4.Table,
22736
+ type: i2$3.Table,
22635
22737
  selector: "p-table",
22636
22738
  inputs: [
22637
22739
  "frozenColumns",
@@ -22744,7 +22846,7 @@ var ResourcesListsInsightComponent = class ResourcesListsInsightComponent extend
22744
22846
  },
22745
22847
  {
22746
22848
  kind: "directive",
22747
- type: i2$4.ResizableColumn,
22849
+ type: i2$3.ResizableColumn,
22748
22850
  selector: "[pResizableColumn]",
22749
22851
  inputs: ["pResizableColumnDisabled"]
22750
22852
  },
@@ -22799,7 +22901,7 @@ var ResourcesListsInsightComponent = class ResourcesListsInsightComponent extend
22799
22901
  },
22800
22902
  {
22801
22903
  kind: "component",
22802
- type: i11$1.ProgressSpinner,
22904
+ type: i11.ProgressSpinner,
22803
22905
  selector: "p-progress-spinner, p-progressspinner",
22804
22906
  inputs: [
22805
22907
  "value",
@@ -22963,6 +23065,7 @@ var AgentDetailsComponent = class AgentDetailsComponent extends AppBaseComponent
22963
23065
  ...Object.keys(details).length ? { payout_details: details } : {}
22964
23066
  };
22965
23067
  this.groupService.updateAgent(this.subscriptionId, this.agentId, data).subscribe(() => {
23068
+ this.form.markAsPristine();
22966
23069
  this.toast.success(this.translation.translate("User.Subscriptions.UpdatedMessage"));
22967
23070
  this.back();
22968
23071
  this.cdr.markForCheck();
@@ -23001,7 +23104,7 @@ var AgentDetailsComponent = class AgentDetailsComponent extends AppBaseComponent
23001
23104
  type: AgentDetailsComponent,
23002
23105
  deps: [
23003
23106
  { token: i1$1.AdminService },
23004
- { token: i2$2.GroupService },
23107
+ { token: i2$1.GroupService },
23005
23108
  { token: i3$2.NgbDatepickerConfig },
23006
23109
  { token: i0.Injector },
23007
23110
  { token: i0.ChangeDetectorRef }
@@ -23102,7 +23205,7 @@ var AgentDetailsComponent = class AgentDetailsComponent extends AppBaseComponent
23102
23205
  },
23103
23206
  {
23104
23207
  kind: "component",
23105
- type: i2$3.Select,
23208
+ type: i2$2.Select,
23106
23209
  selector: "p-select",
23107
23210
  inputs: [
23108
23211
  "id",
@@ -23226,7 +23329,7 @@ var AgentDetailsComponent = class AgentDetailsComponent extends AppBaseComponent
23226
23329
  },
23227
23330
  {
23228
23331
  kind: "component",
23229
- type: i11$1.ProgressSpinner,
23332
+ type: i11.ProgressSpinner,
23230
23333
  selector: "p-progress-spinner, p-progressspinner",
23231
23334
  inputs: [
23232
23335
  "value",
@@ -23322,6 +23425,11 @@ var AgentDetailsComponent = class AgentDetailsComponent extends AppBaseComponent
23322
23425
  ],
23323
23426
  outputs: ["ngModelChange"]
23324
23427
  },
23428
+ {
23429
+ kind: "directive",
23430
+ type: i9.TrackDirtyFormDirective,
23431
+ selector: "[formGroup]:not([formGroupSkipDirty])"
23432
+ },
23325
23433
  {
23326
23434
  kind: "directive",
23327
23435
  type: i3$2.NgbInputDatepicker,
@@ -23383,7 +23491,7 @@ i0.ɵɵngDeclareClassMetadata({
23383
23491
  }],
23384
23492
  ctorParameters: () => [
23385
23493
  { type: i1$1.AdminService },
23386
- { type: i2$2.GroupService },
23494
+ { type: i2$1.GroupService },
23387
23495
  { type: i3$2.NgbDatepickerConfig },
23388
23496
  { type: i0.Injector },
23389
23497
  { type: i0.ChangeDetectorRef }
@@ -23445,10 +23553,10 @@ var SubscriptionProductsComponent = class SubscriptionProductsComponent extends
23445
23553
  ngImport: i0,
23446
23554
  type: SubscriptionProductsComponent,
23447
23555
  deps: [
23448
- { token: i2$2.SubscriptionService },
23556
+ { token: i2$1.SubscriptionService },
23449
23557
  { token: i0.Injector },
23450
23558
  { token: i0.ChangeDetectorRef },
23451
- { token: i2$2.ProductService }
23559
+ { token: i2$1.ProductService }
23452
23560
  ],
23453
23561
  target: i0.ɵɵFactoryTarget.Component
23454
23562
  });
@@ -23466,7 +23574,7 @@ var SubscriptionProductsComponent = class SubscriptionProductsComponent extends
23466
23574
  dependencies: [
23467
23575
  {
23468
23576
  kind: "component",
23469
- type: i2$4.Table,
23577
+ type: i2$3.Table,
23470
23578
  selector: "p-table",
23471
23579
  inputs: [
23472
23580
  "frozenColumns",
@@ -23579,7 +23687,7 @@ var SubscriptionProductsComponent = class SubscriptionProductsComponent extends
23579
23687
  },
23580
23688
  {
23581
23689
  kind: "directive",
23582
- type: i2$4.ResizableColumn,
23690
+ type: i2$3.ResizableColumn,
23583
23691
  selector: "[pResizableColumn]",
23584
23692
  inputs: ["pResizableColumnDisabled"]
23585
23693
  },
@@ -23662,7 +23770,7 @@ var SubscriptionProductsComponent = class SubscriptionProductsComponent extends
23662
23770
  },
23663
23771
  {
23664
23772
  kind: "component",
23665
- type: i11$1.ProgressSpinner,
23773
+ type: i11.ProgressSpinner,
23666
23774
  selector: "p-progress-spinner, p-progressspinner",
23667
23775
  inputs: [
23668
23776
  "value",
@@ -23753,10 +23861,10 @@ i0.ɵɵngDeclareClassMetadata({
23753
23861
  }]
23754
23862
  }],
23755
23863
  ctorParameters: () => [
23756
- { type: i2$2.SubscriptionService },
23864
+ { type: i2$1.SubscriptionService },
23757
23865
  { type: i0.Injector },
23758
23866
  { type: i0.ChangeDetectorRef },
23759
- { type: i2$2.ProductService }
23867
+ { type: i2$1.ProductService }
23760
23868
  ]
23761
23869
  });
23762
23870
  var AddMembersComponent = class AddMembersComponent extends AppBaseComponent {
@@ -23872,6 +23980,7 @@ var AddMembersComponent = class AddMembersComponent extends AppBaseComponent {
23872
23980
  this.subscriptionService.addMembersToSubscription(this.id, data).subscribe((response) => {
23873
23981
  if (response?.status === StatusCodes.OK) {
23874
23982
  this.membersAdded.emit();
23983
+ this.form.markAsPristine();
23875
23984
  this.toast.success(response.message);
23876
23985
  this.form.setControl("emailsFormArray", this.formBuilder.array([this.createItem()]));
23877
23986
  } else this.toast.error(response.error.message);
@@ -23894,8 +24003,8 @@ var AddMembersComponent = class AddMembersComponent extends AppBaseComponent {
23894
24003
  { token: i0.Injector },
23895
24004
  { token: i0.ChangeDetectorRef },
23896
24005
  { token: i10.UntypedFormBuilder },
23897
- { token: i2$2.SubscriptionService },
23898
- { token: i2$2.AuthService },
24006
+ { token: i2$1.SubscriptionService },
24007
+ { token: i2$1.AuthService },
23899
24008
  { token: i6$2.ConfirmDialogService }
23900
24009
  ],
23901
24010
  target: i0.ɵɵFactoryTarget.Component
@@ -23984,6 +24093,11 @@ var AddMembersComponent = class AddMembersComponent extends AppBaseComponent {
23984
24093
  selector: "[formArrayName]",
23985
24094
  inputs: ["formArrayName"]
23986
24095
  },
24096
+ {
24097
+ kind: "directive",
24098
+ type: i9.TrackDirtyFormDirective,
24099
+ selector: "[formGroup]:not([formGroupSkipDirty])"
24100
+ },
23987
24101
  {
23988
24102
  kind: "pipe",
23989
24103
  type: i8$2.TranslocoPipe,
@@ -24011,8 +24125,8 @@ i0.ɵɵngDeclareClassMetadata({
24011
24125
  { type: i0.Injector },
24012
24126
  { type: i0.ChangeDetectorRef },
24013
24127
  { type: i10.UntypedFormBuilder },
24014
- { type: i2$2.SubscriptionService },
24015
- { type: i2$2.AuthService },
24128
+ { type: i2$1.SubscriptionService },
24129
+ { type: i2$1.AuthService },
24016
24130
  { type: i6$2.ConfirmDialogService }
24017
24131
  ],
24018
24132
  propDecorators: {
@@ -24198,13 +24312,13 @@ var SubscriptionUsersComponent = class SubscriptionUsersComponent extends AppBas
24198
24312
  ngImport: i0,
24199
24313
  type: SubscriptionUsersComponent,
24200
24314
  deps: [
24201
- { token: i2$2.SubscriptionService },
24315
+ { token: i2$1.SubscriptionService },
24202
24316
  { token: i0.Injector },
24203
24317
  { token: i0.ChangeDetectorRef },
24204
- { token: i2$2.AuthService },
24205
- { token: i2$2.WindowService },
24318
+ { token: i2$1.AuthService },
24319
+ { token: i2$1.WindowService },
24206
24320
  { token: i1$1.AdminService },
24207
- { token: i2$2.CustomToastService },
24321
+ { token: i2$1.CustomToastService },
24208
24322
  { token: i6$2.ConfirmDialogService }
24209
24323
  ],
24210
24324
  target: i0.ɵɵFactoryTarget.Component
@@ -24244,7 +24358,7 @@ var SubscriptionUsersComponent = class SubscriptionUsersComponent extends AppBas
24244
24358
  dependencies: [
24245
24359
  {
24246
24360
  kind: "component",
24247
- type: i2$4.Table,
24361
+ type: i2$3.Table,
24248
24362
  selector: "p-table",
24249
24363
  inputs: [
24250
24364
  "frozenColumns",
@@ -24357,19 +24471,19 @@ var SubscriptionUsersComponent = class SubscriptionUsersComponent extends AppBas
24357
24471
  },
24358
24472
  {
24359
24473
  kind: "directive",
24360
- type: i2$4.SortableColumn,
24474
+ type: i2$3.SortableColumn,
24361
24475
  selector: "[pSortableColumn]",
24362
24476
  inputs: ["pSortableColumn", "pSortableColumnDisabled"]
24363
24477
  },
24364
24478
  {
24365
24479
  kind: "directive",
24366
- type: i2$4.ResizableColumn,
24480
+ type: i2$3.ResizableColumn,
24367
24481
  selector: "[pResizableColumn]",
24368
24482
  inputs: ["pResizableColumnDisabled"]
24369
24483
  },
24370
24484
  {
24371
24485
  kind: "component",
24372
- type: i2$4.SortIcon,
24486
+ type: i2$3.SortIcon,
24373
24487
  selector: "p-sort-icon, p-sorticon",
24374
24488
  inputs: ["field"]
24375
24489
  },
@@ -24459,7 +24573,7 @@ var SubscriptionUsersComponent = class SubscriptionUsersComponent extends AppBas
24459
24573
  },
24460
24574
  {
24461
24575
  kind: "component",
24462
- type: i11$1.ProgressSpinner,
24576
+ type: i11.ProgressSpinner,
24463
24577
  selector: "p-progress-spinner, p-progressspinner",
24464
24578
  inputs: [
24465
24579
  "value",
@@ -24542,17 +24656,17 @@ var SubscriptionUsersComponent = class SubscriptionUsersComponent extends AppBas
24542
24656
  },
24543
24657
  {
24544
24658
  kind: "pipe",
24545
- type: i9.DateFormatPipe,
24659
+ type: i9$1.DateFormatPipe,
24546
24660
  name: "dateFormat"
24547
24661
  },
24548
24662
  {
24549
24663
  kind: "pipe",
24550
- type: i9.SinceAgoPipe,
24664
+ type: i9$1.SinceAgoPipe,
24551
24665
  name: "sinceAgo"
24552
24666
  },
24553
24667
  {
24554
24668
  kind: "pipe",
24555
- type: i9.IsOnlinePipe,
24669
+ type: i9$1.IsOnlinePipe,
24556
24670
  name: "isOnline"
24557
24671
  }
24558
24672
  ]
@@ -24574,13 +24688,13 @@ i0.ɵɵngDeclareClassMetadata({
24574
24688
  }]
24575
24689
  }],
24576
24690
  ctorParameters: () => [
24577
- { type: i2$2.SubscriptionService },
24691
+ { type: i2$1.SubscriptionService },
24578
24692
  { type: i0.Injector },
24579
24693
  { type: i0.ChangeDetectorRef },
24580
- { type: i2$2.AuthService },
24581
- { type: i2$2.WindowService },
24694
+ { type: i2$1.AuthService },
24695
+ { type: i2$1.WindowService },
24582
24696
  { type: i1$1.AdminService },
24583
- { type: i2$2.CustomToastService },
24697
+ { type: i2$1.CustomToastService },
24584
24698
  { type: i6$2.ConfirmDialogService }
24585
24699
  ],
24586
24700
  propDecorators: {
@@ -24750,7 +24864,7 @@ var SubscriptionAgentsListComponent = class SubscriptionAgentsListComponent exte
24750
24864
  dependencies: [
24751
24865
  {
24752
24866
  kind: "component",
24753
- type: i2$4.Table,
24867
+ type: i2$3.Table,
24754
24868
  selector: "p-table",
24755
24869
  inputs: [
24756
24870
  "frozenColumns",
@@ -24863,7 +24977,7 @@ var SubscriptionAgentsListComponent = class SubscriptionAgentsListComponent exte
24863
24977
  },
24864
24978
  {
24865
24979
  kind: "directive",
24866
- type: i2$4.ResizableColumn,
24980
+ type: i2$3.ResizableColumn,
24867
24981
  selector: "[pResizableColumn]",
24868
24982
  inputs: ["pResizableColumnDisabled"]
24869
24983
  },
@@ -24976,7 +25090,7 @@ var SubscriptionAgentsListComponent = class SubscriptionAgentsListComponent exte
24976
25090
  },
24977
25091
  {
24978
25092
  kind: "component",
24979
- type: i2$3.Select,
25093
+ type: i2$2.Select,
24980
25094
  selector: "p-select",
24981
25095
  inputs: [
24982
25096
  "id",
@@ -25110,7 +25224,7 @@ var SubscriptionAgentsListComponent = class SubscriptionAgentsListComponent exte
25110
25224
  },
25111
25225
  {
25112
25226
  kind: "component",
25113
- type: i11$1.ProgressSpinner,
25227
+ type: i11.ProgressSpinner,
25114
25228
  selector: "p-progress-spinner, p-progressspinner",
25115
25229
  inputs: [
25116
25230
  "value",
@@ -25216,6 +25330,11 @@ var SubscriptionAgentsListComponent = class SubscriptionAgentsListComponent exte
25216
25330
  ],
25217
25331
  outputs: ["ngModelChange"]
25218
25332
  },
25333
+ {
25334
+ kind: "directive",
25335
+ type: i9.TrackDirtyFormDirective,
25336
+ selector: "[formGroup]:not([formGroupSkipDirty])"
25337
+ },
25219
25338
  {
25220
25339
  kind: "directive",
25221
25340
  type: i3$2.NgbInputDatepicker,
@@ -25258,7 +25377,7 @@ var SubscriptionAgentsListComponent = class SubscriptionAgentsListComponent exte
25258
25377
  },
25259
25378
  {
25260
25379
  kind: "pipe",
25261
- type: i9.DateFormatPipe,
25380
+ type: i9$1.DateFormatPipe,
25262
25381
  name: "dateFormat"
25263
25382
  }
25264
25383
  ]
@@ -25397,7 +25516,7 @@ var SubscriptionInvoicesComponent = class SubscriptionInvoicesComponent extends
25397
25516
  dependencies: [
25398
25517
  {
25399
25518
  kind: "component",
25400
- type: i2$4.Table,
25519
+ type: i2$3.Table,
25401
25520
  selector: "p-table",
25402
25521
  inputs: [
25403
25522
  "frozenColumns",
@@ -25510,7 +25629,7 @@ var SubscriptionInvoicesComponent = class SubscriptionInvoicesComponent extends
25510
25629
  },
25511
25630
  {
25512
25631
  kind: "directive",
25513
- type: i2$4.ResizableColumn,
25632
+ type: i2$3.ResizableColumn,
25514
25633
  selector: "[pResizableColumn]",
25515
25634
  inputs: ["pResizableColumnDisabled"]
25516
25635
  },
@@ -25544,7 +25663,7 @@ var SubscriptionInvoicesComponent = class SubscriptionInvoicesComponent extends
25544
25663
  },
25545
25664
  {
25546
25665
  kind: "component",
25547
- type: i2$3.Select,
25666
+ type: i2$2.Select,
25548
25667
  selector: "p-select",
25549
25668
  inputs: [
25550
25669
  "id",
@@ -25693,7 +25812,7 @@ var SubscriptionInvoicesComponent = class SubscriptionInvoicesComponent extends
25693
25812
  },
25694
25813
  {
25695
25814
  kind: "pipe",
25696
- type: i9.DateFormatPipe,
25815
+ type: i9$1.DateFormatPipe,
25697
25816
  name: "dateFormat"
25698
25817
  }
25699
25818
  ]
@@ -25876,6 +25995,7 @@ var SubscriptionDetailsComponent = class SubscriptionDetailsComponent extends Ap
25876
25995
  company_url: formValue.company_url
25877
25996
  };
25878
25997
  this.subscriptionService.updateSubscription(this.id, data).subscribe(() => {
25998
+ this.form.markAsPristine();
25879
25999
  this.router.navigate(["/admin/subscriptions/list"]);
25880
26000
  this.toast.success(this.translation.translate("Admin.Subscriptions.UpdatedMessage"));
25881
26001
  this.getAgentsDetails(this.id);
@@ -25924,11 +26044,11 @@ var SubscriptionDetailsComponent = class SubscriptionDetailsComponent extends Ap
25924
26044
  ngImport: i0,
25925
26045
  type: SubscriptionDetailsComponent,
25926
26046
  deps: [
25927
- { token: i2$2.SubscriptionService },
26047
+ { token: i2$1.SubscriptionService },
25928
26048
  { token: i1$1.AdminService },
25929
26049
  { token: i5$2.DatePipe },
25930
- { token: i2$2.CommonService },
25931
- { token: i2$2.NgbDateCustomParserFormatter },
26050
+ { token: i2$1.CommonService },
26051
+ { token: i2$1.NgbDateCustomParserFormatter },
25932
26052
  { token: i0.Injector },
25933
26053
  { token: i0.ChangeDetectorRef }
25934
26054
  ],
@@ -25977,7 +26097,7 @@ var SubscriptionDetailsComponent = class SubscriptionDetailsComponent extends Ap
25977
26097
  },
25978
26098
  {
25979
26099
  kind: "component",
25980
- type: i2$3.Select,
26100
+ type: i2$2.Select,
25981
26101
  selector: "p-select",
25982
26102
  inputs: [
25983
26103
  "id",
@@ -26256,7 +26376,7 @@ var SubscriptionDetailsComponent = class SubscriptionDetailsComponent extends Ap
26256
26376
  },
26257
26377
  {
26258
26378
  kind: "component",
26259
- type: i11$1.ProgressSpinner,
26379
+ type: i11.ProgressSpinner,
26260
26380
  selector: "p-progress-spinner, p-progressspinner",
26261
26381
  inputs: [
26262
26382
  "value",
@@ -26341,6 +26461,11 @@ var SubscriptionDetailsComponent = class SubscriptionDetailsComponent extends Ap
26341
26461
  ],
26342
26462
  outputs: ["ngModelChange"]
26343
26463
  },
26464
+ {
26465
+ kind: "directive",
26466
+ type: i9.TrackDirtyFormDirective,
26467
+ selector: "[formGroup]:not([formGroupSkipDirty])"
26468
+ },
26344
26469
  {
26345
26470
  kind: "directive",
26346
26471
  type: i3$2.NgbInputDatepicker,
@@ -26425,11 +26550,11 @@ i0.ɵɵngDeclareClassMetadata({
26425
26550
  }]
26426
26551
  }],
26427
26552
  ctorParameters: () => [
26428
- { type: i2$2.SubscriptionService },
26553
+ { type: i2$1.SubscriptionService },
26429
26554
  { type: i1$1.AdminService },
26430
26555
  { type: i5$2.DatePipe },
26431
- { type: i2$2.CommonService },
26432
- { type: i2$2.NgbDateCustomParserFormatter },
26556
+ { type: i2$1.CommonService },
26557
+ { type: i2$1.NgbDateCustomParserFormatter },
26433
26558
  { type: i0.Injector },
26434
26559
  { type: i0.ChangeDetectorRef }
26435
26560
  ]
@@ -26555,6 +26680,7 @@ var SubscriptionProductDetailsComponent = class SubscriptionProductDetailsCompon
26555
26680
  if (this.form.value?.new_product_id) data["new_product_id"] = this.form.value?.new_product_id?.id ?? null;
26556
26681
  if (this.form.value.purchased_units) data["purchased_units"] = this.form.value.purchased_units;
26557
26682
  this.adminService.updateSubscriptionProduct(data).subscribe({ next: () => {
26683
+ this.form.markAsPristine();
26558
26684
  this.toast.success(this.translation.translate("Admin.Subscriptions.UpdatedMessage"));
26559
26685
  this.back();
26560
26686
  this.cdr.markForCheck();
@@ -26587,8 +26713,8 @@ var SubscriptionProductDetailsComponent = class SubscriptionProductDetailsCompon
26587
26713
  { token: i0.Injector },
26588
26714
  { token: i0.ChangeDetectorRef },
26589
26715
  { token: i1$1.AdminService },
26590
- { token: i2$2.ProductService },
26591
- { token: i2$2.NgbDateCustomParserFormatter },
26716
+ { token: i2$1.ProductService },
26717
+ { token: i2$1.NgbDateCustomParserFormatter },
26592
26718
  { token: i5$2.DatePipe }
26593
26719
  ],
26594
26720
  target: i0.ɵɵFactoryTarget.Component
@@ -26757,7 +26883,7 @@ var SubscriptionProductDetailsComponent = class SubscriptionProductDetailsCompon
26757
26883
  },
26758
26884
  {
26759
26885
  kind: "component",
26760
- type: i11$1.ProgressSpinner,
26886
+ type: i11.ProgressSpinner,
26761
26887
  selector: "p-progress-spinner, p-progressspinner",
26762
26888
  inputs: [
26763
26889
  "value",
@@ -26817,6 +26943,11 @@ var SubscriptionProductDetailsComponent = class SubscriptionProductDetailsCompon
26817
26943
  ],
26818
26944
  outputs: ["ngModelChange"]
26819
26945
  },
26946
+ {
26947
+ kind: "directive",
26948
+ type: i9.TrackDirtyFormDirective,
26949
+ selector: "[formGroup]:not([formGroupSkipDirty])"
26950
+ },
26820
26951
  {
26821
26952
  kind: "directive",
26822
26953
  type: i3$2.NgbInputDatepicker,
@@ -26879,8 +27010,8 @@ i0.ɵɵngDeclareClassMetadata({
26879
27010
  { type: i0.Injector },
26880
27011
  { type: i0.ChangeDetectorRef },
26881
27012
  { type: i1$1.AdminService },
26882
- { type: i2$2.ProductService },
26883
- { type: i2$2.NgbDateCustomParserFormatter },
27013
+ { type: i2$1.ProductService },
27014
+ { type: i2$1.NgbDateCustomParserFormatter },
26884
27015
  { type: i5$2.DatePipe }
26885
27016
  ],
26886
27017
  propDecorators: {
@@ -27020,7 +27151,7 @@ var InsightComponent = class InsightComponent extends AppBaseComponent {
27020
27151
  },
27021
27152
  {
27022
27153
  kind: "component",
27023
- type: i11$1.ProgressSpinner,
27154
+ type: i11.ProgressSpinner,
27024
27155
  selector: "p-progress-spinner, p-progressspinner",
27025
27156
  inputs: [
27026
27157
  "value",
@@ -27132,7 +27263,7 @@ var SubscriptionInsightNpsComponent = class SubscriptionInsightNpsComponent exte
27132
27263
  deps: [
27133
27264
  { token: i1$1.AdminService },
27134
27265
  { token: i0.Injector },
27135
- { token: i2$2.CommonService },
27266
+ { token: i2$1.CommonService },
27136
27267
  { token: i3$2.NgbModal },
27137
27268
  { token: i0.ChangeDetectorRef }
27138
27269
  ],
@@ -27159,7 +27290,7 @@ var SubscriptionInsightNpsComponent = class SubscriptionInsightNpsComponent exte
27159
27290
  dependencies: [
27160
27291
  {
27161
27292
  kind: "component",
27162
- type: i2$4.Table,
27293
+ type: i2$3.Table,
27163
27294
  selector: "p-table",
27164
27295
  inputs: [
27165
27296
  "frozenColumns",
@@ -27272,19 +27403,19 @@ var SubscriptionInsightNpsComponent = class SubscriptionInsightNpsComponent exte
27272
27403
  },
27273
27404
  {
27274
27405
  kind: "directive",
27275
- type: i2$4.SortableColumn,
27406
+ type: i2$3.SortableColumn,
27276
27407
  selector: "[pSortableColumn]",
27277
27408
  inputs: ["pSortableColumn", "pSortableColumnDisabled"]
27278
27409
  },
27279
27410
  {
27280
27411
  kind: "directive",
27281
- type: i2$4.ResizableColumn,
27412
+ type: i2$3.ResizableColumn,
27282
27413
  selector: "[pResizableColumn]",
27283
27414
  inputs: ["pResizableColumnDisabled"]
27284
27415
  },
27285
27416
  {
27286
27417
  kind: "component",
27287
- type: i2$4.SortIcon,
27418
+ type: i2$3.SortIcon,
27288
27419
  selector: "p-sort-icon, p-sorticon",
27289
27420
  inputs: ["field"]
27290
27421
  },
@@ -27396,7 +27527,7 @@ var SubscriptionInsightNpsComponent = class SubscriptionInsightNpsComponent exte
27396
27527
  },
27397
27528
  {
27398
27529
  kind: "component",
27399
- type: i11$1.ProgressSpinner,
27530
+ type: i11.ProgressSpinner,
27400
27531
  selector: "p-progress-spinner, p-progressspinner",
27401
27532
  inputs: [
27402
27533
  "value",
@@ -27451,7 +27582,7 @@ var SubscriptionInsightNpsComponent = class SubscriptionInsightNpsComponent exte
27451
27582
  },
27452
27583
  {
27453
27584
  kind: "pipe",
27454
- type: i9.DateFormatPipe,
27585
+ type: i9$1.DateFormatPipe,
27455
27586
  name: "dateFormat"
27456
27587
  }
27457
27588
  ]
@@ -27474,7 +27605,7 @@ i0.ɵɵngDeclareClassMetadata({
27474
27605
  ctorParameters: () => [
27475
27606
  { type: i1$1.AdminService },
27476
27607
  { type: i0.Injector },
27477
- { type: i2$2.CommonService },
27608
+ { type: i2$1.CommonService },
27478
27609
  { type: i3$2.NgbModal },
27479
27610
  { type: i0.ChangeDetectorRef }
27480
27611
  ],
@@ -27672,7 +27803,7 @@ var SubscriptionInsightAveragePriceComponent = class SubscriptionInsightAverageP
27672
27803
  },
27673
27804
  {
27674
27805
  kind: "component",
27675
- type: i11$1.ProgressSpinner,
27806
+ type: i11.ProgressSpinner,
27676
27807
  selector: "p-progress-spinner, p-progressspinner",
27677
27808
  inputs: [
27678
27809
  "value",
@@ -27821,7 +27952,7 @@ var SubscriptionInsightProcuctSessionComponent = class SubscriptionInsightProcuc
27821
27952
  },
27822
27953
  {
27823
27954
  kind: "component",
27824
- type: i11$1.ProgressSpinner,
27955
+ type: i11.ProgressSpinner,
27825
27956
  selector: "p-progress-spinner, p-progressspinner",
27826
27957
  inputs: [
27827
27958
  "value",
@@ -27970,7 +28101,7 @@ var SubscriptionInsightUserSessionComponent = class SubscriptionInsightUserSessi
27970
28101
  },
27971
28102
  {
27972
28103
  kind: "component",
27973
- type: i11$1.ProgressSpinner,
28104
+ type: i11.ProgressSpinner,
27974
28105
  selector: "p-progress-spinner, p-progressspinner",
27975
28106
  inputs: [
27976
28107
  "value",
@@ -28119,7 +28250,7 @@ var SubscriptionInsightAverageUserComponent = class SubscriptionInsightAverageUs
28119
28250
  },
28120
28251
  {
28121
28252
  kind: "component",
28122
- type: i11$1.ProgressSpinner,
28253
+ type: i11.ProgressSpinner,
28123
28254
  selector: "p-progress-spinner, p-progressspinner",
28124
28255
  inputs: [
28125
28256
  "value",
@@ -28282,7 +28413,7 @@ var SubscriptionInsightRevenueComponent = class SubscriptionInsightRevenueCompon
28282
28413
  },
28283
28414
  {
28284
28415
  kind: "component",
28285
- type: i11$1.ProgressSpinner,
28416
+ type: i11.ProgressSpinner,
28286
28417
  selector: "p-progress-spinner, p-progressspinner",
28287
28418
  inputs: [
28288
28419
  "value",
@@ -28445,7 +28576,7 @@ var SubscriptionInsightChurnComponent = class SubscriptionInsightChurnComponent
28445
28576
  },
28446
28577
  {
28447
28578
  kind: "component",
28448
- type: i11$1.ProgressSpinner,
28579
+ type: i11.ProgressSpinner,
28449
28580
  selector: "p-progress-spinner, p-progressspinner",
28450
28581
  inputs: [
28451
28582
  "value",
@@ -28812,9 +28943,9 @@ var InviteUsersComponent = class InviteUsersComponent extends AppBaseComponent {
28812
28943
  deps: [
28813
28944
  { token: i10.UntypedFormBuilder },
28814
28945
  { token: i1$1.AdminService },
28815
- { token: i2$2.ProductService },
28946
+ { token: i2$1.ProductService },
28816
28947
  { token: i0.Injector },
28817
- { token: i2$2.CommonService },
28948
+ { token: i2$1.CommonService },
28818
28949
  { token: i0.ChangeDetectorRef }
28819
28950
  ],
28820
28951
  target: i0.ɵɵFactoryTarget.Component
@@ -28919,7 +29050,7 @@ var InviteUsersComponent = class InviteUsersComponent extends AppBaseComponent {
28919
29050
  },
28920
29051
  {
28921
29052
  kind: "component",
28922
- type: i2$3.Select,
29053
+ type: i2$2.Select,
28923
29054
  selector: "p-select",
28924
29055
  inputs: [
28925
29056
  "id",
@@ -29078,6 +29209,11 @@ var InviteUsersComponent = class InviteUsersComponent extends AppBaseComponent {
29078
29209
  ],
29079
29210
  outputs: ["ngModelChange"]
29080
29211
  },
29212
+ {
29213
+ kind: "directive",
29214
+ type: i9.TrackDirtyFormDirective,
29215
+ selector: "[formGroup]:not([formGroupSkipDirty])"
29216
+ },
29081
29217
  {
29082
29218
  kind: "pipe",
29083
29219
  type: i5$2.AsyncPipe,
@@ -29109,9 +29245,9 @@ i0.ɵɵngDeclareClassMetadata({
29109
29245
  ctorParameters: () => [
29110
29246
  { type: i10.UntypedFormBuilder },
29111
29247
  { type: i1$1.AdminService },
29112
- { type: i2$2.ProductService },
29248
+ { type: i2$1.ProductService },
29113
29249
  { type: i0.Injector },
29114
- { type: i2$2.CommonService },
29250
+ { type: i2$1.CommonService },
29115
29251
  { type: i0.ChangeDetectorRef }
29116
29252
  ],
29117
29253
  propDecorators: { refProduct: [{
@@ -29406,12 +29542,12 @@ var SubscriptionsListComponent = class SubscriptionsListComponent extends AppBas
29406
29542
  ngImport: i0,
29407
29543
  type: SubscriptionsListComponent,
29408
29544
  deps: [
29409
- { token: i2$2.ProductService },
29545
+ { token: i2$1.ProductService },
29410
29546
  { token: i1$1.AdminService },
29411
29547
  { token: i10.UntypedFormBuilder },
29412
29548
  { token: i0.Injector },
29413
29549
  { token: i0.ChangeDetectorRef },
29414
- { token: i2$2.CommonService },
29550
+ { token: i2$1.CommonService },
29415
29551
  { token: i6$2.ConfirmDialogService }
29416
29552
  ],
29417
29553
  target: i0.ɵɵFactoryTarget.Component
@@ -29442,7 +29578,7 @@ var SubscriptionsListComponent = class SubscriptionsListComponent extends AppBas
29442
29578
  dependencies: [
29443
29579
  {
29444
29580
  kind: "component",
29445
- type: i2$4.Table,
29581
+ type: i2$3.Table,
29446
29582
  selector: "p-table",
29447
29583
  inputs: [
29448
29584
  "frozenColumns",
@@ -29555,19 +29691,19 @@ var SubscriptionsListComponent = class SubscriptionsListComponent extends AppBas
29555
29691
  },
29556
29692
  {
29557
29693
  kind: "directive",
29558
- type: i2$4.SortableColumn,
29694
+ type: i2$3.SortableColumn,
29559
29695
  selector: "[pSortableColumn]",
29560
29696
  inputs: ["pSortableColumn", "pSortableColumnDisabled"]
29561
29697
  },
29562
29698
  {
29563
29699
  kind: "directive",
29564
- type: i2$4.ResizableColumn,
29700
+ type: i2$3.ResizableColumn,
29565
29701
  selector: "[pResizableColumn]",
29566
29702
  inputs: ["pResizableColumnDisabled"]
29567
29703
  },
29568
29704
  {
29569
29705
  kind: "component",
29570
- type: i2$4.SortIcon,
29706
+ type: i2$3.SortIcon,
29571
29707
  selector: "p-sort-icon, p-sorticon",
29572
29708
  inputs: ["field"]
29573
29709
  },
@@ -29601,7 +29737,7 @@ var SubscriptionsListComponent = class SubscriptionsListComponent extends AppBas
29601
29737
  },
29602
29738
  {
29603
29739
  kind: "component",
29604
- type: i2$3.Select,
29740
+ type: i2$2.Select,
29605
29741
  selector: "p-select",
29606
29742
  inputs: [
29607
29743
  "id",
@@ -29818,7 +29954,7 @@ var SubscriptionsListComponent = class SubscriptionsListComponent extends AppBas
29818
29954
  },
29819
29955
  {
29820
29956
  kind: "component",
29821
- type: i11$1.ProgressSpinner,
29957
+ type: i11.ProgressSpinner,
29822
29958
  selector: "p-progress-spinner, p-progressspinner",
29823
29959
  inputs: [
29824
29960
  "value",
@@ -29899,17 +30035,17 @@ var SubscriptionsListComponent = class SubscriptionsListComponent extends AppBas
29899
30035
  },
29900
30036
  {
29901
30037
  kind: "pipe",
29902
- type: i9.DateFormatPipe,
30038
+ type: i9$1.DateFormatPipe,
29903
30039
  name: "dateFormat"
29904
30040
  },
29905
30041
  {
29906
30042
  kind: "pipe",
29907
- type: i9.SinceAgoPipe,
30043
+ type: i9$1.SinceAgoPipe,
29908
30044
  name: "sinceAgo"
29909
30045
  },
29910
30046
  {
29911
30047
  kind: "pipe",
29912
- type: i9.TextTruncatePipe,
30048
+ type: i9$1.TextTruncatePipe,
29913
30049
  name: "textTruncate"
29914
30050
  },
29915
30051
  {
@@ -29936,12 +30072,12 @@ i0.ɵɵngDeclareClassMetadata({
29936
30072
  }]
29937
30073
  }],
29938
30074
  ctorParameters: () => [
29939
- { type: i2$2.ProductService },
30075
+ { type: i2$1.ProductService },
29940
30076
  { type: i1$1.AdminService },
29941
30077
  { type: i10.UntypedFormBuilder },
29942
30078
  { type: i0.Injector },
29943
30079
  { type: i0.ChangeDetectorRef },
29944
- { type: i2$2.CommonService },
30080
+ { type: i2$1.CommonService },
29945
30081
  { type: i6$2.ConfirmDialogService }
29946
30082
  ],
29947
30083
  propDecorators: {
@@ -30139,8 +30275,8 @@ var TagsCategoryComponent = class TagsCategoryComponent extends AppBaseComponent
30139
30275
  type: TagsCategoryComponent,
30140
30276
  deps: [
30141
30277
  { token: i0.Injector },
30142
- { token: i2$2.TagService },
30143
- { token: i2$2.CustomToastService },
30278
+ { token: i2$1.TagService },
30279
+ { token: i2$1.CustomToastService },
30144
30280
  { token: i3$2.NgbModal },
30145
30281
  { token: i0.ChangeDetectorRef },
30146
30282
  { token: i6$2.ConfirmDialogService }
@@ -30162,7 +30298,7 @@ var TagsCategoryComponent = class TagsCategoryComponent extends AppBaseComponent
30162
30298
  dependencies: [
30163
30299
  {
30164
30300
  kind: "component",
30165
- type: i2$4.Table,
30301
+ type: i2$3.Table,
30166
30302
  selector: "p-table",
30167
30303
  inputs: [
30168
30304
  "frozenColumns",
@@ -30275,19 +30411,19 @@ var TagsCategoryComponent = class TagsCategoryComponent extends AppBaseComponent
30275
30411
  },
30276
30412
  {
30277
30413
  kind: "directive",
30278
- type: i2$4.SortableColumn,
30414
+ type: i2$3.SortableColumn,
30279
30415
  selector: "[pSortableColumn]",
30280
30416
  inputs: ["pSortableColumn", "pSortableColumnDisabled"]
30281
30417
  },
30282
30418
  {
30283
30419
  kind: "directive",
30284
- type: i2$4.ResizableColumn,
30420
+ type: i2$3.ResizableColumn,
30285
30421
  selector: "[pResizableColumn]",
30286
30422
  inputs: ["pResizableColumnDisabled"]
30287
30423
  },
30288
30424
  {
30289
30425
  kind: "component",
30290
- type: i2$4.SortIcon,
30426
+ type: i2$3.SortIcon,
30291
30427
  selector: "p-sort-icon, p-sorticon",
30292
30428
  inputs: ["field"]
30293
30429
  },
@@ -30394,7 +30530,7 @@ var TagsCategoryComponent = class TagsCategoryComponent extends AppBaseComponent
30394
30530
  },
30395
30531
  {
30396
30532
  kind: "component",
30397
- type: i11$1.ProgressSpinner,
30533
+ type: i11.ProgressSpinner,
30398
30534
  selector: "p-progress-spinner, p-progressspinner",
30399
30535
  inputs: [
30400
30536
  "value",
@@ -30459,8 +30595,8 @@ i0.ɵɵngDeclareClassMetadata({
30459
30595
  }],
30460
30596
  ctorParameters: () => [
30461
30597
  { type: i0.Injector },
30462
- { type: i2$2.TagService },
30463
- { type: i2$2.CustomToastService },
30598
+ { type: i2$1.TagService },
30599
+ { type: i2$1.CustomToastService },
30464
30600
  { type: i3$2.NgbModal },
30465
30601
  { type: i0.ChangeDetectorRef },
30466
30602
  { type: i6$2.ConfirmDialogService }
@@ -30585,7 +30721,7 @@ var TagDetailsComponent = class TagDetailsComponent extends AppBaseComponent {
30585
30721
  type: TagDetailsComponent,
30586
30722
  deps: [
30587
30723
  { token: i0.Injector },
30588
- { token: i2$2.TagService },
30724
+ { token: i2$1.TagService },
30589
30725
  { token: i0.ChangeDetectorRef },
30590
30726
  { token: i3$2.NgbModal }
30591
30727
  ],
@@ -30605,7 +30741,7 @@ var TagDetailsComponent = class TagDetailsComponent extends AppBaseComponent {
30605
30741
  dependencies: [
30606
30742
  {
30607
30743
  kind: "component",
30608
- type: i2$3.Select,
30744
+ type: i2$2.Select,
30609
30745
  selector: "p-select",
30610
30746
  inputs: [
30611
30747
  "id",
@@ -30729,7 +30865,7 @@ var TagDetailsComponent = class TagDetailsComponent extends AppBaseComponent {
30729
30865
  },
30730
30866
  {
30731
30867
  kind: "component",
30732
- type: i12.ProfileImageCropperComponent,
30868
+ type: i12$1.ProfileImageCropperComponent,
30733
30869
  selector: "pw-image-cropper",
30734
30870
  inputs: ["aspectRatio", "dynamicData"],
30735
30871
  outputs: [
@@ -30791,6 +30927,11 @@ var TagDetailsComponent = class TagDetailsComponent extends AppBaseComponent {
30791
30927
  ],
30792
30928
  outputs: ["ngModelChange"]
30793
30929
  },
30930
+ {
30931
+ kind: "directive",
30932
+ type: i9.TrackDirtyFormDirective,
30933
+ selector: "[formGroup]:not([formGroupSkipDirty])"
30934
+ },
30794
30935
  {
30795
30936
  kind: "pipe",
30796
30937
  type: i8$2.TranslocoPipe,
@@ -30817,7 +30958,7 @@ i0.ɵɵngDeclareClassMetadata({
30817
30958
  }],
30818
30959
  ctorParameters: () => [
30819
30960
  { type: i0.Injector },
30820
- { type: i2$2.TagService },
30961
+ { type: i2$1.TagService },
30821
30962
  { type: i0.ChangeDetectorRef },
30822
30963
  { type: i3$2.NgbModal }
30823
30964
  ]
@@ -30935,7 +31076,7 @@ var TagsListComponent = class TagsListComponent extends AppBaseComponent {
30935
31076
  deps: [
30936
31077
  { token: i0.Injector },
30937
31078
  { token: i3$2.NgbModal },
30938
- { token: i2$2.TagService },
31079
+ { token: i2$1.TagService },
30939
31080
  { token: i0.ChangeDetectorRef },
30940
31081
  { token: i6$2.ConfirmDialogService }
30941
31082
  ],
@@ -30956,7 +31097,7 @@ var TagsListComponent = class TagsListComponent extends AppBaseComponent {
30956
31097
  dependencies: [
30957
31098
  {
30958
31099
  kind: "component",
30959
- type: i2$4.Table,
31100
+ type: i2$3.Table,
30960
31101
  selector: "p-table",
30961
31102
  inputs: [
30962
31103
  "frozenColumns",
@@ -31069,19 +31210,19 @@ var TagsListComponent = class TagsListComponent extends AppBaseComponent {
31069
31210
  },
31070
31211
  {
31071
31212
  kind: "directive",
31072
- type: i2$4.SortableColumn,
31213
+ type: i2$3.SortableColumn,
31073
31214
  selector: "[pSortableColumn]",
31074
31215
  inputs: ["pSortableColumn", "pSortableColumnDisabled"]
31075
31216
  },
31076
31217
  {
31077
31218
  kind: "directive",
31078
- type: i2$4.ResizableColumn,
31219
+ type: i2$3.ResizableColumn,
31079
31220
  selector: "[pResizableColumn]",
31080
31221
  inputs: ["pResizableColumnDisabled"]
31081
31222
  },
31082
31223
  {
31083
31224
  kind: "component",
31084
- type: i2$4.SortIcon,
31225
+ type: i2$3.SortIcon,
31085
31226
  selector: "p-sort-icon, p-sorticon",
31086
31227
  inputs: ["field"]
31087
31228
  },
@@ -31164,7 +31305,7 @@ var TagsListComponent = class TagsListComponent extends AppBaseComponent {
31164
31305
  },
31165
31306
  {
31166
31307
  kind: "component",
31167
- type: i11$1.ProgressSpinner,
31308
+ type: i11.ProgressSpinner,
31168
31309
  selector: "p-progress-spinner, p-progressspinner",
31169
31310
  inputs: [
31170
31311
  "value",
@@ -31254,7 +31395,7 @@ i0.ɵɵngDeclareClassMetadata({
31254
31395
  ctorParameters: () => [
31255
31396
  { type: i0.Injector },
31256
31397
  { type: i3$2.NgbModal },
31257
- { type: i2$2.TagService },
31398
+ { type: i2$1.TagService },
31258
31399
  { type: i0.ChangeDetectorRef },
31259
31400
  { type: i6$2.ConfirmDialogService }
31260
31401
  ]
@@ -31364,6 +31505,7 @@ var TipComponent = class TipComponent extends AppBaseComponent {
31364
31505
  onSave() {
31365
31506
  this.buttonBusy = true;
31366
31507
  (this.id ? this.tipService.saveTips(this.id, this.form.value, this.subscriptionId) : this.tipService.addTips(this.form.value, this.subscriptionId)).subscribe(() => {
31508
+ this.form.markAsPristine();
31367
31509
  this.router.navigate(["../list"], { relativeTo: this.route });
31368
31510
  this.toast.success(this.translation.translate("Admin.Tips.UpdatedMessage"));
31369
31511
  this.cdr.markForCheck();
@@ -31382,7 +31524,7 @@ var TipComponent = class TipComponent extends AppBaseComponent {
31382
31524
  ngImport: i0,
31383
31525
  type: TipComponent,
31384
31526
  deps: [
31385
- { token: i2$2.TipsService },
31527
+ { token: i2$1.TipsService },
31386
31528
  { token: i0.Injector },
31387
31529
  { token: i0.ChangeDetectorRef }
31388
31530
  ],
@@ -31451,7 +31593,7 @@ var TipComponent = class TipComponent extends AppBaseComponent {
31451
31593
  },
31452
31594
  {
31453
31595
  kind: "component",
31454
- type: i11$1.ProgressSpinner,
31596
+ type: i11.ProgressSpinner,
31455
31597
  selector: "p-progress-spinner, p-progressspinner",
31456
31598
  inputs: [
31457
31599
  "value",
@@ -31517,6 +31659,11 @@ var TipComponent = class TipComponent extends AppBaseComponent {
31517
31659
  ],
31518
31660
  outputs: ["ngModelChange"]
31519
31661
  },
31662
+ {
31663
+ kind: "directive",
31664
+ type: i9.TrackDirtyFormDirective,
31665
+ selector: "[formGroup]:not([formGroupSkipDirty])"
31666
+ },
31520
31667
  {
31521
31668
  kind: "pipe",
31522
31669
  type: i8$2.TranslocoPipe,
@@ -31542,7 +31689,7 @@ i0.ɵɵngDeclareClassMetadata({
31542
31689
  }]
31543
31690
  }],
31544
31691
  ctorParameters: () => [
31545
- { type: i2$2.TipsService },
31692
+ { type: i2$1.TipsService },
31546
31693
  { type: i0.Injector },
31547
31694
  { type: i0.ChangeDetectorRef }
31548
31695
  ],
@@ -31583,7 +31730,7 @@ var TipsComponent = class TipsComponent extends AppBaseComponent {
31583
31730
  ngImport: i0,
31584
31731
  type: TipsComponent,
31585
31732
  deps: [
31586
- { token: i2$2.TipsService },
31733
+ { token: i2$1.TipsService },
31587
31734
  { token: i0.ChangeDetectorRef },
31588
31735
  { token: i0.Injector }
31589
31736
  ],
@@ -31603,7 +31750,7 @@ var TipsComponent = class TipsComponent extends AppBaseComponent {
31603
31750
  dependencies: [
31604
31751
  {
31605
31752
  kind: "component",
31606
- type: i2$4.Table,
31753
+ type: i2$3.Table,
31607
31754
  selector: "p-table",
31608
31755
  inputs: [
31609
31756
  "frozenColumns",
@@ -31716,7 +31863,7 @@ var TipsComponent = class TipsComponent extends AppBaseComponent {
31716
31863
  },
31717
31864
  {
31718
31865
  kind: "directive",
31719
- type: i2$4.ResizableColumn,
31866
+ type: i2$3.ResizableColumn,
31720
31867
  selector: "[pResizableColumn]",
31721
31868
  inputs: ["pResizableColumnDisabled"]
31722
31869
  },
@@ -31750,7 +31897,7 @@ var TipsComponent = class TipsComponent extends AppBaseComponent {
31750
31897
  },
31751
31898
  {
31752
31899
  kind: "component",
31753
- type: i11$1.ProgressSpinner,
31900
+ type: i11.ProgressSpinner,
31754
31901
  selector: "p-progress-spinner, p-progressspinner",
31755
31902
  inputs: [
31756
31903
  "value",
@@ -31815,7 +31962,7 @@ var TipsComponent = class TipsComponent extends AppBaseComponent {
31815
31962
  },
31816
31963
  {
31817
31964
  kind: "pipe",
31818
- type: i9.DateFormatPipe,
31965
+ type: i9$1.DateFormatPipe,
31819
31966
  name: "dateFormat"
31820
31967
  }
31821
31968
  ]
@@ -31836,7 +31983,7 @@ i0.ɵɵngDeclareClassMetadata({
31836
31983
  }]
31837
31984
  }],
31838
31985
  ctorParameters: () => [
31839
- { type: i2$2.TipsService },
31986
+ { type: i2$1.TipsService },
31840
31987
  { type: i0.ChangeDetectorRef },
31841
31988
  { type: i0.Injector }
31842
31989
  ]
@@ -31983,7 +32130,7 @@ var TermsOfServiceComponent = class TermsOfServiceComponent extends AppBaseCompo
31983
32130
  dependencies: [
31984
32131
  {
31985
32132
  kind: "component",
31986
- type: i2$4.Table,
32133
+ type: i2$3.Table,
31987
32134
  selector: "p-table",
31988
32135
  inputs: [
31989
32136
  "frozenColumns",
@@ -32096,19 +32243,19 @@ var TermsOfServiceComponent = class TermsOfServiceComponent extends AppBaseCompo
32096
32243
  },
32097
32244
  {
32098
32245
  kind: "directive",
32099
- type: i2$4.SortableColumn,
32246
+ type: i2$3.SortableColumn,
32100
32247
  selector: "[pSortableColumn]",
32101
32248
  inputs: ["pSortableColumn", "pSortableColumnDisabled"]
32102
32249
  },
32103
32250
  {
32104
32251
  kind: "directive",
32105
- type: i2$4.ResizableColumn,
32252
+ type: i2$3.ResizableColumn,
32106
32253
  selector: "[pResizableColumn]",
32107
32254
  inputs: ["pResizableColumnDisabled"]
32108
32255
  },
32109
32256
  {
32110
32257
  kind: "component",
32111
- type: i2$4.SortIcon,
32258
+ type: i2$3.SortIcon,
32112
32259
  selector: "p-sort-icon, p-sorticon",
32113
32260
  inputs: ["field"]
32114
32261
  },
@@ -32191,7 +32338,7 @@ var TermsOfServiceComponent = class TermsOfServiceComponent extends AppBaseCompo
32191
32338
  },
32192
32339
  {
32193
32340
  kind: "component",
32194
- type: i11$1.ProgressSpinner,
32341
+ type: i11.ProgressSpinner,
32195
32342
  selector: "p-progress-spinner, p-progressspinner",
32196
32343
  inputs: [
32197
32344
  "value",
@@ -32251,12 +32398,12 @@ var TermsOfServiceComponent = class TermsOfServiceComponent extends AppBaseCompo
32251
32398
  },
32252
32399
  {
32253
32400
  kind: "pipe",
32254
- type: i9.RemoveHtmlPipe,
32401
+ type: i9$1.RemoveHtmlPipe,
32255
32402
  name: "removeHtml"
32256
32403
  },
32257
32404
  {
32258
32405
  kind: "pipe",
32259
- type: i9.TextTruncatePipe,
32406
+ type: i9$1.TextTruncatePipe,
32260
32407
  name: "textTruncate"
32261
32408
  }
32262
32409
  ]
@@ -32285,15 +32432,12 @@ i0.ɵɵngDeclareClassMetadata({
32285
32432
  ]
32286
32433
  });
32287
32434
  var TermsOfServiceDetailsComponent = class TermsOfServiceDetailsComponent extends AppBaseComponent {
32288
- constructor(adminService, injector, cdr, unsavedChanges) {
32435
+ constructor(adminService, injector, cdr) {
32289
32436
  super(injector);
32290
32437
  this.adminService = adminService;
32291
32438
  this.cdr = cdr;
32292
- this.unsavedChanges = unsavedChanges;
32293
32439
  this.isLoading = true;
32294
32440
  this.submitted = false;
32295
- this.saved = false;
32296
- this.unregisterUnsaved = null;
32297
32441
  QuillHelper.init();
32298
32442
  this.editorConfig = QuillHelper.getEditorConfig();
32299
32443
  this.form = AppAdmin.getTosForm();
@@ -32305,10 +32449,6 @@ var TermsOfServiceDetailsComponent = class TermsOfServiceDetailsComponent extend
32305
32449
  else this.isLoading = false;
32306
32450
  this.cdr.markForCheck();
32307
32451
  });
32308
- this.unregisterUnsaved = this.unsavedChanges.watch(() => this.hasUnsavedChanges());
32309
- }
32310
- hasUnsavedChanges() {
32311
- return this.form.dirty && !this.saved;
32312
32452
  }
32313
32453
  ngAfterViewInit() {
32314
32454
  HelperService.subscribeToEditorChanges(this.form, "privacy");
@@ -32334,7 +32474,6 @@ var TermsOfServiceDetailsComponent = class TermsOfServiceDetailsComponent extend
32334
32474
  (this.id ? this.adminService.updateTos(this.id, data) : this.adminService.postTos(data)).subscribe((response) => {
32335
32475
  this.form.patchValue(response);
32336
32476
  this.form.markAsPristine();
32337
- this.saved = true;
32338
32477
  this.toast.success(this.translation.translate("Tos.UpdatedMessage"));
32339
32478
  this.back();
32340
32479
  this.cdr.markForCheck();
@@ -32357,10 +32496,6 @@ var TermsOfServiceDetailsComponent = class TermsOfServiceDetailsComponent extend
32357
32496
  this.cdr.markForCheck();
32358
32497
  });
32359
32498
  }
32360
- ngOnDestroy() {
32361
- this.unregisterUnsaved?.();
32362
- super.ngOnDestroy();
32363
- }
32364
32499
  static {
32365
32500
  this.ɵfac = i0.ɵɵngDeclareFactory({
32366
32501
  minVersion: "12.0.0",
@@ -32370,8 +32505,7 @@ var TermsOfServiceDetailsComponent = class TermsOfServiceDetailsComponent extend
32370
32505
  deps: [
32371
32506
  { token: i1$1.AdminService },
32372
32507
  { token: i0.Injector },
32373
- { token: i0.ChangeDetectorRef },
32374
- { token: i2$1.UnsavedChangesService }
32508
+ { token: i0.ChangeDetectorRef }
32375
32509
  ],
32376
32510
  target: i0.ɵɵFactoryTarget.Component
32377
32511
  });
@@ -32494,7 +32628,7 @@ var TermsOfServiceDetailsComponent = class TermsOfServiceDetailsComponent extend
32494
32628
  },
32495
32629
  {
32496
32630
  kind: "component",
32497
- type: i11$1.ProgressSpinner,
32631
+ type: i11.ProgressSpinner,
32498
32632
  selector: "p-progress-spinner, p-progressspinner",
32499
32633
  inputs: [
32500
32634
  "value",
@@ -32573,9 +32707,14 @@ var TermsOfServiceDetailsComponent = class TermsOfServiceDetailsComponent extend
32573
32707
  ],
32574
32708
  outputs: ["ngModelChange"]
32575
32709
  },
32710
+ {
32711
+ kind: "directive",
32712
+ type: i9.TrackDirtyFormDirective,
32713
+ selector: "[formGroup]:not([formGroupSkipDirty])"
32714
+ },
32576
32715
  {
32577
32716
  kind: "component",
32578
- type: i11.QuillEditorComponent,
32717
+ type: i12.QuillEditorComponent,
32579
32718
  selector: "quill-editor"
32580
32719
  },
32581
32720
  {
@@ -32605,8 +32744,7 @@ i0.ɵɵngDeclareClassMetadata({
32605
32744
  ctorParameters: () => [
32606
32745
  { type: i1$1.AdminService },
32607
32746
  { type: i0.Injector },
32608
- { type: i0.ChangeDetectorRef },
32609
- { type: i2$1.UnsavedChangesService }
32747
+ { type: i0.ChangeDetectorRef }
32610
32748
  ],
32611
32749
  propDecorators: { onSave: [] }
32612
32750
  });
@@ -32824,7 +32962,7 @@ var AhoyEventsComponent = class AhoyEventsComponent extends AppBaseComponent {
32824
32962
  deps: [
32825
32963
  { token: i0.Injector },
32826
32964
  { token: i3$2.NgbModal },
32827
- { token: i2$2.AhoyService },
32965
+ { token: i2$1.AhoyService },
32828
32966
  { token: i1$1.AdminDataService },
32829
32967
  { token: i0.ChangeDetectorRef }
32830
32968
  ],
@@ -32851,7 +32989,7 @@ var AhoyEventsComponent = class AhoyEventsComponent extends AppBaseComponent {
32851
32989
  dependencies: [
32852
32990
  {
32853
32991
  kind: "component",
32854
- type: i2$4.Table,
32992
+ type: i2$3.Table,
32855
32993
  selector: "p-table",
32856
32994
  inputs: [
32857
32995
  "frozenColumns",
@@ -32964,25 +33102,25 @@ var AhoyEventsComponent = class AhoyEventsComponent extends AppBaseComponent {
32964
33102
  },
32965
33103
  {
32966
33104
  kind: "directive",
32967
- type: i2$4.SortableColumn,
33105
+ type: i2$3.SortableColumn,
32968
33106
  selector: "[pSortableColumn]",
32969
33107
  inputs: ["pSortableColumn", "pSortableColumnDisabled"]
32970
33108
  },
32971
33109
  {
32972
33110
  kind: "directive",
32973
- type: i2$4.ResizableColumn,
33111
+ type: i2$3.ResizableColumn,
32974
33112
  selector: "[pResizableColumn]",
32975
33113
  inputs: ["pResizableColumnDisabled"]
32976
33114
  },
32977
33115
  {
32978
33116
  kind: "component",
32979
- type: i2$4.SortIcon,
33117
+ type: i2$3.SortIcon,
32980
33118
  selector: "p-sort-icon, p-sorticon",
32981
33119
  inputs: ["field"]
32982
33120
  },
32983
33121
  {
32984
33122
  kind: "component",
32985
- type: i2$3.Select,
33123
+ type: i2$2.Select,
32986
33124
  selector: "p-select",
32987
33125
  inputs: [
32988
33126
  "id",
@@ -33275,7 +33413,7 @@ var AhoyEventsComponent = class AhoyEventsComponent extends AppBaseComponent {
33275
33413
  },
33276
33414
  {
33277
33415
  kind: "component",
33278
- type: i11$1.ProgressSpinner,
33416
+ type: i11.ProgressSpinner,
33279
33417
  selector: "p-progress-spinner, p-progressspinner",
33280
33418
  inputs: [
33281
33419
  "value",
@@ -33340,7 +33478,7 @@ var AhoyEventsComponent = class AhoyEventsComponent extends AppBaseComponent {
33340
33478
  },
33341
33479
  {
33342
33480
  kind: "pipe",
33343
- type: i9.DateFormatPipe,
33481
+ type: i9$1.DateFormatPipe,
33344
33482
  name: "dateFormat"
33345
33483
  }
33346
33484
  ]
@@ -33364,7 +33502,7 @@ i0.ɵɵngDeclareClassMetadata({
33364
33502
  ctorParameters: () => [
33365
33503
  { type: i0.Injector },
33366
33504
  { type: i3$2.NgbModal },
33367
- { type: i2$2.AhoyService },
33505
+ { type: i2$1.AhoyService },
33368
33506
  { type: i1$1.AdminDataService },
33369
33507
  { type: i0.ChangeDetectorRef }
33370
33508
  ],
@@ -33520,7 +33658,7 @@ var AhoyMessagesComponent = class AhoyMessagesComponent extends AppBaseComponent
33520
33658
  type: AhoyMessagesComponent,
33521
33659
  deps: [
33522
33660
  { token: i0.Injector },
33523
- { token: i2$2.AhoyService },
33661
+ { token: i2$1.AhoyService },
33524
33662
  { token: i0.ChangeDetectorRef },
33525
33663
  { token: i1$1.AdminDataService }
33526
33664
  ],
@@ -33541,7 +33679,7 @@ var AhoyMessagesComponent = class AhoyMessagesComponent extends AppBaseComponent
33541
33679
  dependencies: [
33542
33680
  {
33543
33681
  kind: "component",
33544
- type: i2$4.Table,
33682
+ type: i2$3.Table,
33545
33683
  selector: "p-table",
33546
33684
  inputs: [
33547
33685
  "frozenColumns",
@@ -33654,25 +33792,25 @@ var AhoyMessagesComponent = class AhoyMessagesComponent extends AppBaseComponent
33654
33792
  },
33655
33793
  {
33656
33794
  kind: "directive",
33657
- type: i2$4.SortableColumn,
33795
+ type: i2$3.SortableColumn,
33658
33796
  selector: "[pSortableColumn]",
33659
33797
  inputs: ["pSortableColumn", "pSortableColumnDisabled"]
33660
33798
  },
33661
33799
  {
33662
33800
  kind: "directive",
33663
- type: i2$4.ResizableColumn,
33801
+ type: i2$3.ResizableColumn,
33664
33802
  selector: "[pResizableColumn]",
33665
33803
  inputs: ["pResizableColumnDisabled"]
33666
33804
  },
33667
33805
  {
33668
33806
  kind: "component",
33669
- type: i2$4.SortIcon,
33807
+ type: i2$3.SortIcon,
33670
33808
  selector: "p-sort-icon, p-sorticon",
33671
33809
  inputs: ["field"]
33672
33810
  },
33673
33811
  {
33674
33812
  kind: "component",
33675
- type: i2$3.Select,
33813
+ type: i2$2.Select,
33676
33814
  selector: "p-select",
33677
33815
  inputs: [
33678
33816
  "id",
@@ -33954,7 +34092,7 @@ var AhoyMessagesComponent = class AhoyMessagesComponent extends AppBaseComponent
33954
34092
  },
33955
34093
  {
33956
34094
  kind: "component",
33957
- type: i11$1.ProgressSpinner,
34095
+ type: i11.ProgressSpinner,
33958
34096
  selector: "p-progress-spinner, p-progressspinner",
33959
34097
  inputs: [
33960
34098
  "value",
@@ -34014,12 +34152,12 @@ var AhoyMessagesComponent = class AhoyMessagesComponent extends AppBaseComponent
34014
34152
  },
34015
34153
  {
34016
34154
  kind: "pipe",
34017
- type: i9.DateFormatPipe,
34155
+ type: i9$1.DateFormatPipe,
34018
34156
  name: "dateFormat"
34019
34157
  },
34020
34158
  {
34021
34159
  kind: "pipe",
34022
- type: i9.TextTruncatePipe,
34160
+ type: i9$1.TextTruncatePipe,
34023
34161
  name: "textTruncate"
34024
34162
  }
34025
34163
  ]
@@ -34042,7 +34180,7 @@ i0.ɵɵngDeclareClassMetadata({
34042
34180
  }],
34043
34181
  ctorParameters: () => [
34044
34182
  { type: i0.Injector },
34045
- { type: i2$2.AhoyService },
34183
+ { type: i2$1.AhoyService },
34046
34184
  { type: i0.ChangeDetectorRef },
34047
34185
  { type: i1$1.AdminDataService }
34048
34186
  ]
@@ -34194,7 +34332,7 @@ var AhoyVisitsComponent = class AhoyVisitsComponent extends AppBaseComponent {
34194
34332
  type: AhoyVisitsComponent,
34195
34333
  deps: [
34196
34334
  { token: i0.Injector },
34197
- { token: i2$2.AhoyService },
34335
+ { token: i2$1.AhoyService },
34198
34336
  { token: i1$1.AdminDataService },
34199
34337
  { token: i0.ChangeDetectorRef }
34200
34338
  ],
@@ -34215,7 +34353,7 @@ var AhoyVisitsComponent = class AhoyVisitsComponent extends AppBaseComponent {
34215
34353
  dependencies: [
34216
34354
  {
34217
34355
  kind: "component",
34218
- type: i2$4.Table,
34356
+ type: i2$3.Table,
34219
34357
  selector: "p-table",
34220
34358
  inputs: [
34221
34359
  "frozenColumns",
@@ -34328,19 +34466,19 @@ var AhoyVisitsComponent = class AhoyVisitsComponent extends AppBaseComponent {
34328
34466
  },
34329
34467
  {
34330
34468
  kind: "directive",
34331
- type: i2$4.SortableColumn,
34469
+ type: i2$3.SortableColumn,
34332
34470
  selector: "[pSortableColumn]",
34333
34471
  inputs: ["pSortableColumn", "pSortableColumnDisabled"]
34334
34472
  },
34335
34473
  {
34336
34474
  kind: "directive",
34337
- type: i2$4.ResizableColumn,
34475
+ type: i2$3.ResizableColumn,
34338
34476
  selector: "[pResizableColumn]",
34339
34477
  inputs: ["pResizableColumnDisabled"]
34340
34478
  },
34341
34479
  {
34342
34480
  kind: "component",
34343
- type: i2$4.SortIcon,
34481
+ type: i2$3.SortIcon,
34344
34482
  selector: "p-sort-icon, p-sorticon",
34345
34483
  inputs: ["field"]
34346
34484
  },
@@ -34374,7 +34512,7 @@ var AhoyVisitsComponent = class AhoyVisitsComponent extends AppBaseComponent {
34374
34512
  },
34375
34513
  {
34376
34514
  kind: "component",
34377
- type: i2$3.Select,
34515
+ type: i2$2.Select,
34378
34516
  selector: "p-select",
34379
34517
  inputs: [
34380
34518
  "id",
@@ -34656,7 +34794,7 @@ var AhoyVisitsComponent = class AhoyVisitsComponent extends AppBaseComponent {
34656
34794
  },
34657
34795
  {
34658
34796
  kind: "component",
34659
- type: i11$1.ProgressSpinner,
34797
+ type: i11.ProgressSpinner,
34660
34798
  selector: "p-progress-spinner, p-progressspinner",
34661
34799
  inputs: [
34662
34800
  "value",
@@ -34716,12 +34854,12 @@ var AhoyVisitsComponent = class AhoyVisitsComponent extends AppBaseComponent {
34716
34854
  },
34717
34855
  {
34718
34856
  kind: "pipe",
34719
- type: i9.DateFormatPipe,
34857
+ type: i9$1.DateFormatPipe,
34720
34858
  name: "dateFormat"
34721
34859
  },
34722
34860
  {
34723
34861
  kind: "pipe",
34724
- type: i9.TextTruncatePipe,
34862
+ type: i9$1.TextTruncatePipe,
34725
34863
  name: "textTruncate"
34726
34864
  }
34727
34865
  ]
@@ -34744,7 +34882,7 @@ i0.ɵɵngDeclareClassMetadata({
34744
34882
  }],
34745
34883
  ctorParameters: () => [
34746
34884
  { type: i0.Injector },
34747
- { type: i2$2.AhoyService },
34885
+ { type: i2$1.AhoyService },
34748
34886
  { type: i1$1.AdminDataService },
34749
34887
  { type: i0.ChangeDetectorRef }
34750
34888
  ]
@@ -34898,7 +35036,7 @@ var EventsComponent = class EventsComponent extends AppBaseComponent {
34898
35036
  deps: [
34899
35037
  { token: i0.Injector },
34900
35038
  { token: i0.ChangeDetectorRef },
34901
- { token: i2$2.AhoyService },
35039
+ { token: i2$1.AhoyService },
34902
35040
  { token: i1$1.AdminDataService }
34903
35041
  ],
34904
35042
  target: i0.ɵɵFactoryTarget.Component
@@ -34918,7 +35056,7 @@ var EventsComponent = class EventsComponent extends AppBaseComponent {
34918
35056
  dependencies: [
34919
35057
  {
34920
35058
  kind: "component",
34921
- type: i2$4.Table,
35059
+ type: i2$3.Table,
34922
35060
  selector: "p-table",
34923
35061
  inputs: [
34924
35062
  "frozenColumns",
@@ -35031,25 +35169,25 @@ var EventsComponent = class EventsComponent extends AppBaseComponent {
35031
35169
  },
35032
35170
  {
35033
35171
  kind: "directive",
35034
- type: i2$4.SortableColumn,
35172
+ type: i2$3.SortableColumn,
35035
35173
  selector: "[pSortableColumn]",
35036
35174
  inputs: ["pSortableColumn", "pSortableColumnDisabled"]
35037
35175
  },
35038
35176
  {
35039
35177
  kind: "directive",
35040
- type: i2$4.ResizableColumn,
35178
+ type: i2$3.ResizableColumn,
35041
35179
  selector: "[pResizableColumn]",
35042
35180
  inputs: ["pResizableColumnDisabled"]
35043
35181
  },
35044
35182
  {
35045
35183
  kind: "component",
35046
- type: i2$4.SortIcon,
35184
+ type: i2$3.SortIcon,
35047
35185
  selector: "p-sort-icon, p-sorticon",
35048
35186
  inputs: ["field"]
35049
35187
  },
35050
35188
  {
35051
35189
  kind: "component",
35052
- type: i2$3.Select,
35190
+ type: i2$2.Select,
35053
35191
  selector: "p-select",
35054
35192
  inputs: [
35055
35193
  "id",
@@ -35331,7 +35469,7 @@ var EventsComponent = class EventsComponent extends AppBaseComponent {
35331
35469
  },
35332
35470
  {
35333
35471
  kind: "component",
35334
- type: i11$1.ProgressSpinner,
35472
+ type: i11.ProgressSpinner,
35335
35473
  selector: "p-progress-spinner, p-progressspinner",
35336
35474
  inputs: [
35337
35475
  "value",
@@ -35391,7 +35529,7 @@ var EventsComponent = class EventsComponent extends AppBaseComponent {
35391
35529
  },
35392
35530
  {
35393
35531
  kind: "pipe",
35394
- type: i9.DateFormatPipe,
35532
+ type: i9$1.DateFormatPipe,
35395
35533
  name: "dateFormat"
35396
35534
  }
35397
35535
  ]
@@ -35415,7 +35553,7 @@ i0.ɵɵngDeclareClassMetadata({
35415
35553
  ctorParameters: () => [
35416
35554
  { type: i0.Injector },
35417
35555
  { type: i0.ChangeDetectorRef },
35418
- { type: i2$2.AhoyService },
35556
+ { type: i2$1.AhoyService },
35419
35557
  { type: i1$1.AdminDataService }
35420
35558
  ]
35421
35559
  });
@@ -35659,7 +35797,7 @@ var VersionsComponent = class VersionsComponent extends AppBaseComponent {
35659
35797
  type: VersionsComponent,
35660
35798
  deps: [
35661
35799
  { token: i0.Injector },
35662
- { token: i2$2.AhoyService },
35800
+ { token: i2$1.AhoyService },
35663
35801
  { token: i3$2.NgbModal },
35664
35802
  { token: i1$1.AdminDataService },
35665
35803
  { token: i0.ChangeDetectorRef }
@@ -35681,7 +35819,7 @@ var VersionsComponent = class VersionsComponent extends AppBaseComponent {
35681
35819
  dependencies: [
35682
35820
  {
35683
35821
  kind: "component",
35684
- type: i2$4.Table,
35822
+ type: i2$3.Table,
35685
35823
  selector: "p-table",
35686
35824
  inputs: [
35687
35825
  "frozenColumns",
@@ -35794,25 +35932,25 @@ var VersionsComponent = class VersionsComponent extends AppBaseComponent {
35794
35932
  },
35795
35933
  {
35796
35934
  kind: "directive",
35797
- type: i2$4.SortableColumn,
35935
+ type: i2$3.SortableColumn,
35798
35936
  selector: "[pSortableColumn]",
35799
35937
  inputs: ["pSortableColumn", "pSortableColumnDisabled"]
35800
35938
  },
35801
35939
  {
35802
35940
  kind: "directive",
35803
- type: i2$4.ResizableColumn,
35941
+ type: i2$3.ResizableColumn,
35804
35942
  selector: "[pResizableColumn]",
35805
35943
  inputs: ["pResizableColumnDisabled"]
35806
35944
  },
35807
35945
  {
35808
35946
  kind: "component",
35809
- type: i2$4.SortIcon,
35947
+ type: i2$3.SortIcon,
35810
35948
  selector: "p-sort-icon, p-sorticon",
35811
35949
  inputs: ["field"]
35812
35950
  },
35813
35951
  {
35814
35952
  kind: "component",
35815
- type: i2$3.Select,
35953
+ type: i2$2.Select,
35816
35954
  selector: "p-select",
35817
35955
  inputs: [
35818
35956
  "id",
@@ -36105,7 +36243,7 @@ var VersionsComponent = class VersionsComponent extends AppBaseComponent {
36105
36243
  },
36106
36244
  {
36107
36245
  kind: "component",
36108
- type: i11$1.ProgressSpinner,
36246
+ type: i11.ProgressSpinner,
36109
36247
  selector: "p-progress-spinner, p-progressspinner",
36110
36248
  inputs: [
36111
36249
  "value",
@@ -36176,7 +36314,7 @@ var VersionsComponent = class VersionsComponent extends AppBaseComponent {
36176
36314
  },
36177
36315
  {
36178
36316
  kind: "pipe",
36179
- type: i9.DateFormatPipe,
36317
+ type: i9$1.DateFormatPipe,
36180
36318
  name: "dateFormat"
36181
36319
  }
36182
36320
  ]
@@ -36199,7 +36337,7 @@ i0.ɵɵngDeclareClassMetadata({
36199
36337
  }],
36200
36338
  ctorParameters: () => [
36201
36339
  { type: i0.Injector },
36202
- { type: i2$2.AhoyService },
36340
+ { type: i2$1.AhoyService },
36203
36341
  { type: i3$2.NgbModal },
36204
36342
  { type: i1$1.AdminDataService },
36205
36343
  { type: i0.ChangeDetectorRef }
@@ -36373,7 +36511,7 @@ var UserDetailsComponent = class UserDetailsComponent extends AppBaseComponent {
36373
36511
  dependencies: [
36374
36512
  {
36375
36513
  kind: "component",
36376
- type: i2$4.Table,
36514
+ type: i2$3.Table,
36377
36515
  selector: "p-table",
36378
36516
  inputs: [
36379
36517
  "frozenColumns",
@@ -36486,7 +36624,7 @@ var UserDetailsComponent = class UserDetailsComponent extends AppBaseComponent {
36486
36624
  },
36487
36625
  {
36488
36626
  kind: "directive",
36489
- type: i2$4.ResizableColumn,
36627
+ type: i2$3.ResizableColumn,
36490
36628
  selector: "[pResizableColumn]",
36491
36629
  inputs: ["pResizableColumnDisabled"]
36492
36630
  },
@@ -36574,7 +36712,7 @@ var UserDetailsComponent = class UserDetailsComponent extends AppBaseComponent {
36574
36712
  },
36575
36713
  {
36576
36714
  kind: "component",
36577
- type: i11$1.ProgressSpinner,
36715
+ type: i11.ProgressSpinner,
36578
36716
  selector: "p-progress-spinner, p-progressspinner",
36579
36717
  inputs: [
36580
36718
  "value",
@@ -36670,6 +36808,11 @@ var UserDetailsComponent = class UserDetailsComponent extends AppBaseComponent {
36670
36808
  ],
36671
36809
  outputs: ["ngModelChange"]
36672
36810
  },
36811
+ {
36812
+ kind: "directive",
36813
+ type: i9.TrackDirtyFormDirective,
36814
+ selector: "[formGroup]:not([formGroupSkipDirty])"
36815
+ },
36673
36816
  {
36674
36817
  kind: "pipe",
36675
36818
  type: i5$2.CurrencyPipe,
@@ -36682,7 +36825,7 @@ var UserDetailsComponent = class UserDetailsComponent extends AppBaseComponent {
36682
36825
  },
36683
36826
  {
36684
36827
  kind: "pipe",
36685
- type: i9.DateFormatPipe,
36828
+ type: i9$1.DateFormatPipe,
36686
36829
  name: "dateFormat"
36687
36830
  }
36688
36831
  ]
@@ -36838,7 +36981,7 @@ var UserInsightComponent = class UserInsightComponent extends AppBaseComponent {
36838
36981
  },
36839
36982
  {
36840
36983
  kind: "component",
36841
- type: i11$1.ProgressSpinner,
36984
+ type: i11.ProgressSpinner,
36842
36985
  selector: "p-progress-spinner, p-progressspinner",
36843
36986
  inputs: [
36844
36987
  "value",
@@ -37183,12 +37326,12 @@ var UserListComponent = class UserListComponent extends UsersListBaseComponent {
37183
37326
  type: UserListComponent,
37184
37327
  deps: [
37185
37328
  { token: i1$1.AdminService },
37186
- { token: i2$2.CustomToastService },
37187
- { token: i2$2.ProductService },
37329
+ { token: i2$1.CustomToastService },
37330
+ { token: i2$1.ProductService },
37188
37331
  { token: i0.Injector },
37189
- { token: i2$2.AuthService },
37332
+ { token: i2$1.AuthService },
37190
37333
  { token: i0.ChangeDetectorRef },
37191
- { token: i2$2.WindowService },
37334
+ { token: i2$1.WindowService },
37192
37335
  { token: i6$2.CollapsibleSidebarService }
37193
37336
  ],
37194
37337
  target: i0.ɵɵFactoryTarget.Component
@@ -37228,7 +37371,7 @@ var UserListComponent = class UserListComponent extends UsersListBaseComponent {
37228
37371
  dependencies: [
37229
37372
  {
37230
37373
  kind: "component",
37231
- type: i2$4.Table,
37374
+ type: i2$3.Table,
37232
37375
  selector: "p-table",
37233
37376
  inputs: [
37234
37377
  "frozenColumns",
@@ -37341,19 +37484,19 @@ var UserListComponent = class UserListComponent extends UsersListBaseComponent {
37341
37484
  },
37342
37485
  {
37343
37486
  kind: "directive",
37344
- type: i2$4.SortableColumn,
37487
+ type: i2$3.SortableColumn,
37345
37488
  selector: "[pSortableColumn]",
37346
37489
  inputs: ["pSortableColumn", "pSortableColumnDisabled"]
37347
37490
  },
37348
37491
  {
37349
37492
  kind: "directive",
37350
- type: i2$4.ResizableColumn,
37493
+ type: i2$3.ResizableColumn,
37351
37494
  selector: "[pResizableColumn]",
37352
37495
  inputs: ["pResizableColumnDisabled"]
37353
37496
  },
37354
37497
  {
37355
37498
  kind: "component",
37356
- type: i2$4.SortIcon,
37499
+ type: i2$3.SortIcon,
37357
37500
  selector: "p-sort-icon, p-sorticon",
37358
37501
  inputs: ["field"]
37359
37502
  },
@@ -37562,7 +37705,7 @@ var UserListComponent = class UserListComponent extends UsersListBaseComponent {
37562
37705
  },
37563
37706
  {
37564
37707
  kind: "component",
37565
- type: i11$1.ProgressSpinner,
37708
+ type: i11.ProgressSpinner,
37566
37709
  selector: "p-progress-spinner, p-progressspinner",
37567
37710
  inputs: [
37568
37711
  "value",
@@ -37639,12 +37782,12 @@ var UserListComponent = class UserListComponent extends UsersListBaseComponent {
37639
37782
  },
37640
37783
  {
37641
37784
  kind: "pipe",
37642
- type: i9.DateFormatPipe,
37785
+ type: i9$1.DateFormatPipe,
37643
37786
  name: "dateFormat"
37644
37787
  },
37645
37788
  {
37646
37789
  kind: "pipe",
37647
- type: i9.IsOnlinePipe,
37790
+ type: i9$1.IsOnlinePipe,
37648
37791
  name: "isOnline"
37649
37792
  }
37650
37793
  ]
@@ -37667,12 +37810,12 @@ i0.ɵɵngDeclareClassMetadata({
37667
37810
  }],
37668
37811
  ctorParameters: () => [
37669
37812
  { type: i1$1.AdminService },
37670
- { type: i2$2.CustomToastService },
37671
- { type: i2$2.ProductService },
37813
+ { type: i2$1.CustomToastService },
37814
+ { type: i2$1.ProductService },
37672
37815
  { type: i0.Injector },
37673
- { type: i2$2.AuthService },
37816
+ { type: i2$1.AuthService },
37674
37817
  { type: i0.ChangeDetectorRef },
37675
- { type: i2$2.WindowService },
37818
+ { type: i2$1.WindowService },
37676
37819
  { type: i6$2.CollapsibleSidebarService }
37677
37820
  ],
37678
37821
  propDecorators: {
@@ -37712,7 +37855,7 @@ var UserTabComponent = class UserTabComponent {
37712
37855
  version: "22.2.0",
37713
37856
  ngImport: i0,
37714
37857
  type: UserTabComponent,
37715
- deps: [{ token: i2$2.PermissionService }],
37858
+ deps: [{ token: i2$1.PermissionService }],
37716
37859
  target: i0.ɵɵFactoryTarget.Component
37717
37860
  });
37718
37861
  }
@@ -37750,7 +37893,7 @@ i0.ɵɵngDeclareClassMetadata({
37750
37893
  styles: [".search-input input{width:100%}\n"]
37751
37894
  }]
37752
37895
  }],
37753
- ctorParameters: () => [{ type: i2$2.PermissionService }]
37896
+ ctorParameters: () => [{ type: i2$1.PermissionService }]
37754
37897
  });
37755
37898
  const routes = [{
37756
37899
  path: "",
@@ -37842,7 +37985,6 @@ const routes = [{
37842
37985
  {
37843
37986
  path: "add",
37844
37987
  component: FeatureFlagDetailsComponent,
37845
- canDeactivate: [unsavedChangesGuard],
37846
37988
  data: {
37847
37989
  title: "Add Feature Flag",
37848
37990
  permission: "Pages.Admin"
@@ -37851,7 +37993,6 @@ const routes = [{
37851
37993
  {
37852
37994
  path: ":id",
37853
37995
  component: FeatureFlagDetailsComponent,
37854
- canDeactivate: [unsavedChangesGuard],
37855
37996
  data: {
37856
37997
  title: "Edit Feature Flag",
37857
37998
  permission: "Pages.Admin"
@@ -37993,7 +38134,6 @@ const routes = [{
37993
38134
  {
37994
38135
  path: "add",
37995
38136
  component: LoginNotificationDetailsComponent,
37996
- canDeactivate: [unsavedChangesGuard],
37997
38137
  data: {
37998
38138
  title: "Dashboard Notification Add",
37999
38139
  permission: "Pages.Admin.LoginNotification || Pages.Role.MarketingManager || Pages.Role.CustomerSuccessManager"
@@ -38002,7 +38142,6 @@ const routes = [{
38002
38142
  {
38003
38143
  path: ":id",
38004
38144
  component: LoginNotificationDetailsComponent,
38005
- canDeactivate: [unsavedChangesGuard],
38006
38145
  data: {
38007
38146
  title: "Dashboard Notification Edit",
38008
38147
  permission: "Pages.Admin.LoginNotification || Pages.Role.MarketingManager || Pages.Role.CustomerSuccessManager"
@@ -38472,7 +38611,6 @@ const routes = [{
38472
38611
  {
38473
38612
  path: "add",
38474
38613
  component: TermsOfServiceDetailsComponent,
38475
- canDeactivate: [unsavedChangesGuard],
38476
38614
  data: {
38477
38615
  title: "Tos",
38478
38616
  permission: "Pages.Admin.Tos"
@@ -38481,7 +38619,6 @@ const routes = [{
38481
38619
  {
38482
38620
  path: ":id",
38483
38621
  component: TermsOfServiceDetailsComponent,
38484
- canDeactivate: [unsavedChangesGuard],
38485
38622
  data: {
38486
38623
  title: "Tos",
38487
38624
  permission: "Pages.Admin.Tos"
@@ -38598,7 +38735,6 @@ const routes = [{
38598
38735
  {
38599
38736
  path: "add",
38600
38737
  component: OauthClientsDetailsComponent,
38601
- canDeactivate: [unsavedChangesGuard],
38602
38738
  data: {
38603
38739
  title: "Add MCP OAuth Client",
38604
38740
  permission: "Pages.Admin"
@@ -38607,7 +38743,6 @@ const routes = [{
38607
38743
  {
38608
38744
  path: "edit/:id",
38609
38745
  component: OauthClientsDetailsComponent,
38610
- canDeactivate: [unsavedChangesGuard],
38611
38746
  data: {
38612
38747
  title: "Edit MCP OAuth Client",
38613
38748
  permission: "Pages.Admin"
@@ -38909,10 +39044,11 @@ var AdminModule = class AdminModule {
38909
39044
  NgbModalModule,
38910
39045
  FormsModule,
38911
39046
  ReactiveFormsModule,
39047
+ TrackDirtyFormDirective,
38912
39048
  NgxPaginationModule,
38913
39049
  NgbNavModule,
38914
39050
  NgbDatepickerModule,
38915
- i11.QuillModule
39051
+ i12.QuillModule
38916
39052
  ]
38917
39053
  });
38918
39054
  }
@@ -39114,6 +39250,7 @@ i0.ɵɵngDeclareClassMetadata({
39114
39250
  NgbModalModule,
39115
39251
  FormsModule,
39116
39252
  ReactiveFormsModule,
39253
+ TrackDirtyFormDirective,
39117
39254
  NgxPaginationModule,
39118
39255
  NgbNavModule,
39119
39256
  NgbDatepickerModule,
@@ -39172,10 +39309,10 @@ var AdminGuardService = class AdminGuardService {
39172
39309
  ngImport: i0,
39173
39310
  type: AdminGuardService,
39174
39311
  deps: [
39175
- { token: i2$2.UserService },
39312
+ { token: i2$1.UserService },
39176
39313
  { token: i7$2.Router },
39177
- { token: i2$2.FeatureFlagService },
39178
- { token: i2$2.PermissionService }
39314
+ { token: i2$1.FeatureFlagService },
39315
+ { token: i2$1.PermissionService }
39179
39316
  ],
39180
39317
  target: i0.ɵɵFactoryTarget.Injectable
39181
39318
  });
@@ -39196,10 +39333,10 @@ i0.ɵɵngDeclareClassMetadata({
39196
39333
  type: AdminGuardService,
39197
39334
  decorators: [{ type: Injectable }],
39198
39335
  ctorParameters: () => [
39199
- { type: i2$2.UserService },
39336
+ { type: i2$1.UserService },
39200
39337
  { type: i7$2.Router },
39201
- { type: i2$2.FeatureFlagService },
39202
- { type: i2$2.PermissionService }
39338
+ { type: i2$1.FeatureFlagService },
39339
+ { type: i2$1.PermissionService }
39203
39340
  ]
39204
39341
  });
39205
39342
  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 };