@hmcts/opal-frontend-common 0.0.81 → 0.0.83
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.
- package/fesm2022/{hmcts-opal-frontend-common-access-denied.component-BmYd1bi0.mjs → hmcts-opal-frontend-common-access-denied.component-DNNxndx-.mjs} +4 -4
- package/fesm2022/{hmcts-opal-frontend-common-account-created.component-C3H-7SSy.mjs → hmcts-opal-frontend-common-account-created.component-3MER1dhS.mjs} +4 -4
- package/fesm2022/hmcts-opal-frontend-common-components-abstract-abstract-account-summary-base.mjs +3 -3
- package/fesm2022/hmcts-opal-frontend-common-components-abstract-abstract-creditor-details-base.mjs +94 -0
- package/fesm2022/hmcts-opal-frontend-common-components-abstract-abstract-form-alias-base.mjs +3 -3
- package/fesm2022/hmcts-opal-frontend-common-components-abstract-abstract-form-array-base.mjs +3 -3
- package/fesm2022/hmcts-opal-frontend-common-components-abstract-abstract-form-array-removal-base.mjs +3 -3
- package/fesm2022/hmcts-opal-frontend-common-components-abstract-abstract-form-base.mjs +3 -3
- package/fesm2022/hmcts-opal-frontend-common-components-abstract-abstract-nested-form-base.mjs +3 -3
- package/fesm2022/hmcts-opal-frontend-common-components-abstract-abstract-sortable-table-pagination.mjs +3 -3
- package/fesm2022/hmcts-opal-frontend-common-components-abstract-abstract-sortable-table.mjs +3 -3
- package/fesm2022/hmcts-opal-frontend-common-components-abstract-abstract-table-filter.mjs +3 -3
- package/fesm2022/hmcts-opal-frontend-common-components-alphagov-alphagov-accessible-autocomplete.mjs +3 -3
- package/fesm2022/hmcts-opal-frontend-common-components-custom-custom-account-information-custom-account-information-item-custom-account-information-item-label.mjs +3 -3
- package/fesm2022/hmcts-opal-frontend-common-components-custom-custom-account-information-custom-account-information-item-custom-account-information-item-value.mjs +3 -3
- package/fesm2022/hmcts-opal-frontend-common-components-custom-custom-account-information-custom-account-information-item.mjs +3 -3
- package/fesm2022/hmcts-opal-frontend-common-components-custom-custom-account-information.mjs +3 -3
- package/fesm2022/hmcts-opal-frontend-common-components-custom-custom-action-links.mjs +3 -3
- package/fesm2022/hmcts-opal-frontend-common-components-custom-custom-horizontal-scroll-pane.mjs +3 -3
- package/fesm2022/hmcts-opal-frontend-common-components-custom-custom-page-header.mjs +3 -3
- package/fesm2022/hmcts-opal-frontend-common-components-custom-custom-scrollable-panes-custom-scrollable-panes-inner-pane.mjs +3 -3
- package/fesm2022/hmcts-opal-frontend-common-components-custom-custom-scrollable-panes.mjs +3 -3
- package/fesm2022/hmcts-opal-frontend-common-components-custom-custom-summary-metric-bar-custom-summary-metric-bar-item-custom-summary-metric-bar-item-label.mjs +3 -3
- package/fesm2022/hmcts-opal-frontend-common-components-custom-custom-summary-metric-bar-custom-summary-metric-bar-item-custom-summary-metric-bar-item-value.mjs +3 -3
- package/fesm2022/hmcts-opal-frontend-common-components-custom-custom-summary-metric-bar-custom-summary-metric-bar-item.mjs +3 -3
- package/fesm2022/hmcts-opal-frontend-common-components-custom-custom-summary-metric-bar.mjs +3 -3
- package/fesm2022/hmcts-opal-frontend-common-components-custom-custom-vertical-scroll-pane-custom-vertical-scroll-pane-inner-pane.mjs +3 -3
- package/fesm2022/hmcts-opal-frontend-common-components-custom-custom-vertical-scroll-pane-custom-vertical-scroll-pane-outer-pane.mjs +3 -3
- package/fesm2022/hmcts-opal-frontend-common-components-custom-custom-vertical-scroll-pane.mjs +3 -3
- package/fesm2022/hmcts-opal-frontend-common-components-govuk-govuk-accordion.mjs +3 -3
- package/fesm2022/hmcts-opal-frontend-common-components-govuk-govuk-back-link.mjs +3 -3
- package/fesm2022/hmcts-opal-frontend-common-components-govuk-govuk-button.mjs +3 -3
- package/fesm2022/hmcts-opal-frontend-common-components-govuk-govuk-cancel-link.mjs +3 -3
- package/fesm2022/hmcts-opal-frontend-common-components-govuk-govuk-checkboxes.mjs +12 -12
- package/fesm2022/hmcts-opal-frontend-common-components-govuk-govuk-date-input.mjs +3 -3
- package/fesm2022/hmcts-opal-frontend-common-components-govuk-govuk-details.mjs +3 -3
- package/fesm2022/hmcts-opal-frontend-common-components-govuk-govuk-error-summary.mjs +3 -3
- package/fesm2022/hmcts-opal-frontend-common-components-govuk-govuk-footer.mjs +3 -3
- package/fesm2022/hmcts-opal-frontend-common-components-govuk-govuk-header.mjs +6 -6
- package/fesm2022/hmcts-opal-frontend-common-components-govuk-govuk-heading-with-caption.mjs +3 -3
- package/fesm2022/hmcts-opal-frontend-common-components-govuk-govuk-inset-text.mjs +3 -3
- package/fesm2022/hmcts-opal-frontend-common-components-govuk-govuk-list-govuk-list-link.mjs +3 -3
- package/fesm2022/hmcts-opal-frontend-common-components-govuk-govuk-list.mjs +3 -3
- package/fesm2022/hmcts-opal-frontend-common-components-govuk-govuk-notification-banner.mjs +3 -3
- package/fesm2022/hmcts-opal-frontend-common-components-govuk-govuk-pagination.mjs +3 -3
- package/fesm2022/hmcts-opal-frontend-common-components-govuk-govuk-panel.mjs +3 -3
- package/fesm2022/hmcts-opal-frontend-common-components-govuk-govuk-radio.mjs +12 -12
- package/fesm2022/hmcts-opal-frontend-common-components-govuk-govuk-select.mjs +3 -3
- package/fesm2022/hmcts-opal-frontend-common-components-govuk-govuk-summary-card-list.mjs +6 -6
- package/fesm2022/hmcts-opal-frontend-common-components-govuk-govuk-summary-list.mjs +12 -12
- package/fesm2022/hmcts-opal-frontend-common-components-govuk-govuk-table.mjs +12 -12
- package/fesm2022/hmcts-opal-frontend-common-components-govuk-govuk-tabs-govuk-tabs-list-item.mjs +3 -3
- package/fesm2022/hmcts-opal-frontend-common-components-govuk-govuk-tabs-govuk-tabs-panel.mjs +3 -3
- package/fesm2022/hmcts-opal-frontend-common-components-govuk-govuk-tabs.mjs +3 -3
- package/fesm2022/hmcts-opal-frontend-common-components-govuk-govuk-tag.mjs +3 -3
- package/fesm2022/hmcts-opal-frontend-common-components-govuk-govuk-task-list.mjs +6 -6
- package/fesm2022/hmcts-opal-frontend-common-components-govuk-govuk-text-area.mjs +3 -3
- package/fesm2022/hmcts-opal-frontend-common-components-govuk-govuk-text-input-prefix-suffix.mjs +3 -3
- package/fesm2022/hmcts-opal-frontend-common-components-govuk-govuk-text-input.mjs +3 -3
- package/fesm2022/hmcts-opal-frontend-common-components-hod-hod-loading-spinner.mjs +3 -3
- package/fesm2022/hmcts-opal-frontend-common-components-moj-moj-alert.mjs +21 -21
- package/fesm2022/hmcts-opal-frontend-common-components-moj-moj-badge.mjs +3 -3
- package/fesm2022/hmcts-opal-frontend-common-components-moj-moj-button-menu-moj-button-menu-item.mjs +3 -3
- package/fesm2022/hmcts-opal-frontend-common-components-moj-moj-button-menu.mjs +3 -3
- package/fesm2022/hmcts-opal-frontend-common-components-moj-moj-date-picker.mjs +3 -3
- package/fesm2022/hmcts-opal-frontend-common-components-moj-moj-filter-moj-filter-panel-moj-filter-panel-header.mjs +3 -3
- package/fesm2022/hmcts-opal-frontend-common-components-moj-moj-filter-moj-filter-panel-moj-filter-panel-option-moj-filter-panel-option-form-group-item.mjs +3 -3
- package/fesm2022/hmcts-opal-frontend-common-components-moj-moj-filter-moj-filter-panel-moj-filter-panel-option-moj-filter-panel-option-form-group-keyword.mjs +3 -3
- package/fesm2022/hmcts-opal-frontend-common-components-moj-moj-filter-moj-filter-panel-moj-filter-panel-option.mjs +3 -3
- package/fesm2022/hmcts-opal-frontend-common-components-moj-moj-filter-moj-filter-panel-moj-filter-panel-selected-moj-filter-panel-selected-tag.mjs +3 -3
- package/fesm2022/hmcts-opal-frontend-common-components-moj-moj-filter-moj-filter-panel-moj-filter-panel-selected.mjs +3 -3
- package/fesm2022/hmcts-opal-frontend-common-components-moj-moj-filter-moj-filter-panel.mjs +3 -3
- package/fesm2022/hmcts-opal-frontend-common-components-moj-moj-filter.mjs +3 -3
- package/fesm2022/hmcts-opal-frontend-common-components-moj-moj-header.mjs +6 -6
- package/fesm2022/hmcts-opal-frontend-common-components-moj-moj-inset-text.mjs +3 -3
- package/fesm2022/hmcts-opal-frontend-common-components-moj-moj-notification-badge.mjs +3 -3
- package/fesm2022/hmcts-opal-frontend-common-components-moj-moj-page-header.mjs +3 -3
- package/fesm2022/hmcts-opal-frontend-common-components-moj-moj-pagination.mjs +3 -3
- package/fesm2022/hmcts-opal-frontend-common-components-moj-moj-primary-navigation.mjs +6 -6
- package/fesm2022/hmcts-opal-frontend-common-components-moj-moj-sortable-table.mjs +18 -18
- package/fesm2022/hmcts-opal-frontend-common-components-moj-moj-sub-navigation.mjs +6 -6
- package/fesm2022/hmcts-opal-frontend-common-components-moj-moj-ticket-panel.mjs +3 -3
- package/fesm2022/hmcts-opal-frontend-common-components-moj-moj-timeline.mjs +6 -6
- package/fesm2022/{hmcts-opal-frontend-common-concurrency-failure.component-B8CscTtd.mjs → hmcts-opal-frontend-common-concurrency-failure.component-UnC_Qex5.mjs} +4 -4
- package/fesm2022/hmcts-opal-frontend-common-directives-capitalisation.mjs +3 -3
- package/fesm2022/hmcts-opal-frontend-common-directives-govuk-button.mjs +3 -3
- package/fesm2022/hmcts-opal-frontend-common-directives-moj-multi-select.mjs +6 -6
- package/fesm2022/{hmcts-opal-frontend-common-internal-server-error.component-5ajJPoEg.mjs → hmcts-opal-frontend-common-internal-server-error.component-BiZRHHHQ.mjs} +4 -4
- package/fesm2022/{hmcts-opal-frontend-common-pages-access-denied.component-BmYd1bi0.mjs → hmcts-opal-frontend-common-pages-access-denied.component-DNNxndx-.mjs} +4 -4
- package/fesm2022/{hmcts-opal-frontend-common-pages-account-created.component-C3H-7SSy.mjs → hmcts-opal-frontend-common-pages-account-created.component-3MER1dhS.mjs} +4 -4
- package/fesm2022/{hmcts-opal-frontend-common-pages-concurrency-failure.component-B8CscTtd.mjs → hmcts-opal-frontend-common-pages-concurrency-failure.component-UnC_Qex5.mjs} +4 -4
- package/fesm2022/hmcts-opal-frontend-common-pages-dashboard-page.mjs +3 -3
- package/fesm2022/{hmcts-opal-frontend-common-pages-internal-server-error.component-5ajJPoEg.mjs → hmcts-opal-frontend-common-pages-internal-server-error.component-BiZRHHHQ.mjs} +4 -4
- package/fesm2022/{hmcts-opal-frontend-common-pages-permission-denied.component-CU0GdW2q.mjs → hmcts-opal-frontend-common-pages-permission-denied.component-ClXrjyA5.mjs} +4 -4
- package/fesm2022/{hmcts-opal-frontend-common-pages-sign-in-stub.component-9kcPMM4G.mjs → hmcts-opal-frontend-common-pages-sign-in-stub.component-Cxvc5NV2.mjs} +4 -4
- package/fesm2022/{hmcts-opal-frontend-common-pages-sign-in.component-BKSMH_-X.mjs → hmcts-opal-frontend-common-pages-sign-in.component-dBd0gJTr.mjs} +4 -4
- package/fesm2022/hmcts-opal-frontend-common-pages.mjs +6 -6
- package/fesm2022/{hmcts-opal-frontend-common-permission-denied.component-CU0GdW2q.mjs → hmcts-opal-frontend-common-permission-denied.component-ClXrjyA5.mjs} +4 -4
- package/fesm2022/hmcts-opal-frontend-common-pipes-date-format.mjs +3 -3
- package/fesm2022/hmcts-opal-frontend-common-pipes-days-ago.mjs +3 -3
- package/fesm2022/hmcts-opal-frontend-common-pipes-monetary.mjs +3 -3
- package/fesm2022/hmcts-opal-frontend-common-pipes-national-insurance.mjs +3 -3
- package/fesm2022/hmcts-opal-frontend-common-resolvers-title.mjs +3 -3
- package/fesm2022/hmcts-opal-frontend-common-services-app-initializer-service.mjs +10 -3
- package/fesm2022/hmcts-opal-frontend-common-services-app-insights-service.mjs +3 -3
- package/fesm2022/hmcts-opal-frontend-common-services-auth-service.mjs +3 -3
- package/fesm2022/hmcts-opal-frontend-common-services-date-service.mjs +3 -3
- package/fesm2022/hmcts-opal-frontend-common-services-launch-darkly-service.mjs +19 -3
- package/fesm2022/hmcts-opal-frontend-common-services-opal-user-service.mjs +3 -3
- package/fesm2022/hmcts-opal-frontend-common-services-permissions-service.mjs +3 -3
- package/fesm2022/hmcts-opal-frontend-common-services-session-service.mjs +3 -3
- package/fesm2022/hmcts-opal-frontend-common-services-sort-service.mjs +3 -3
- package/fesm2022/hmcts-opal-frontend-common-services-transfer-state-service-mocks.mjs +10 -1
- package/fesm2022/hmcts-opal-frontend-common-services-transfer-state-service.mjs +13 -3
- package/fesm2022/hmcts-opal-frontend-common-services-transformation-service.mjs +3 -3
- package/fesm2022/hmcts-opal-frontend-common-services-utils-service.mjs +3 -3
- package/fesm2022/{hmcts-opal-frontend-common-sign-in-stub.component-9kcPMM4G.mjs → hmcts-opal-frontend-common-sign-in-stub.component-Cxvc5NV2.mjs} +4 -4
- package/fesm2022/{hmcts-opal-frontend-common-sign-in.component-CwPMH29c.mjs → hmcts-opal-frontend-common-sign-in.component-jf34_3Vv.mjs} +4 -4
- package/fesm2022/hmcts-opal-frontend-common-stores-global.mjs +4 -0
- package/fesm2022/hmcts-opal-frontend-common.mjs +6 -6
- package/package.json +6 -1
- package/types/hmcts-opal-frontend-common-components-abstract-abstract-account-summary-base.d.ts +3 -0
- package/types/hmcts-opal-frontend-common-components-abstract-abstract-creditor-details-base.d.ts +83 -0
- package/types/hmcts-opal-frontend-common-pages-dashboard-page.d.ts +3 -0
- package/types/hmcts-opal-frontend-common-services-app-initializer-service.d.ts +4 -0
- package/types/hmcts-opal-frontend-common-services-launch-darkly-service.d.ts +5 -0
- package/types/hmcts-opal-frontend-common-services-transfer-state-service-interfaces.d.ts +9 -1
- package/types/hmcts-opal-frontend-common-services-transfer-state-service-mocks.d.ts +4 -2
- package/types/hmcts-opal-frontend-common-services-transfer-state-service.d.ts +4 -0
- package/types/hmcts-opal-frontend-common-stores-global.d.ts +4 -1
|
@@ -12,6 +12,7 @@ const GlobalStore = signalStore({ providedIn: 'root' }, withState(() => ({
|
|
|
12
12
|
tokenExpiry: {},
|
|
13
13
|
userStateCacheExpirationMilliseconds: 1800000,
|
|
14
14
|
userStateDomain: undefined,
|
|
15
|
+
featureFlagConfig: {},
|
|
15
16
|
})), withMethods((store) => ({
|
|
16
17
|
setAuthenticated: (authenticated) => {
|
|
17
18
|
patchState(store, { authenticated });
|
|
@@ -46,6 +47,9 @@ const GlobalStore = signalStore({ providedIn: 'root' }, withState(() => ({
|
|
|
46
47
|
setUserStateDomain: (domain) => {
|
|
47
48
|
patchState(store, { userStateDomain: domain });
|
|
48
49
|
},
|
|
50
|
+
setFeatureFlagConfig: (config) => {
|
|
51
|
+
patchState(store, { featureFlagConfig: config });
|
|
52
|
+
},
|
|
49
53
|
})));
|
|
50
54
|
|
|
51
55
|
/**
|
|
@@ -35,39 +35,39 @@ const routing = [
|
|
|
35
35
|
{ path: '', redirectTo: 'dashboard', pathMatch: 'full' },
|
|
36
36
|
{
|
|
37
37
|
path: PAGES_ROUTING_PATHS.children.accessDenied,
|
|
38
|
-
loadComponent: () => import('./hmcts-opal-frontend-common-access-denied.component-
|
|
38
|
+
loadComponent: () => import('./hmcts-opal-frontend-common-access-denied.component-DNNxndx-.mjs').then((c) => c.AccessDeniedComponent),
|
|
39
39
|
canActivate: [authGuard, accountGuard],
|
|
40
40
|
data: { title: PAGES_ROUTING_TITLES.children.accessDenied },
|
|
41
41
|
resolve: { title: TitleResolver },
|
|
42
42
|
},
|
|
43
43
|
{
|
|
44
44
|
path: PAGES_ROUTING_PATHS.children.concurrencyFailure,
|
|
45
|
-
loadComponent: () => import('./hmcts-opal-frontend-common-concurrency-failure.component-
|
|
45
|
+
loadComponent: () => import('./hmcts-opal-frontend-common-concurrency-failure.component-UnC_Qex5.mjs').then((c) => c.ConcurrencyFailureComponent),
|
|
46
46
|
data: { title: PAGES_ROUTING_TITLES.children.concurrencyFailure },
|
|
47
47
|
resolve: { title: TitleResolver },
|
|
48
48
|
},
|
|
49
49
|
{
|
|
50
50
|
path: PAGES_ROUTING_PATHS.children.permissionDenied,
|
|
51
|
-
loadComponent: () => import('./hmcts-opal-frontend-common-permission-denied.component-
|
|
51
|
+
loadComponent: () => import('./hmcts-opal-frontend-common-permission-denied.component-ClXrjyA5.mjs').then((c) => c.PermissionDeniedComponent),
|
|
52
52
|
data: { title: PAGES_ROUTING_TITLES.children.permissionDenied },
|
|
53
53
|
resolve: { title: TitleResolver },
|
|
54
54
|
},
|
|
55
55
|
{
|
|
56
56
|
path: PAGES_ROUTING_PATHS.children.internalServerError,
|
|
57
|
-
loadComponent: () => import('./hmcts-opal-frontend-common-internal-server-error.component-
|
|
57
|
+
loadComponent: () => import('./hmcts-opal-frontend-common-internal-server-error.component-BiZRHHHQ.mjs').then((c) => c.InternalServerErrorComponent),
|
|
58
58
|
data: { title: PAGES_ROUTING_TITLES.children.internalServerError },
|
|
59
59
|
resolve: { title: TitleResolver },
|
|
60
60
|
},
|
|
61
61
|
{
|
|
62
62
|
path: PAGES_ROUTING_PATHS.children.signIn,
|
|
63
|
-
loadComponent: () => import('./hmcts-opal-frontend-common-sign-in.component-
|
|
63
|
+
loadComponent: () => import('./hmcts-opal-frontend-common-sign-in.component-jf34_3Vv.mjs').then((c) => c.SignInComponent),
|
|
64
64
|
canActivate: [signedInGuard],
|
|
65
65
|
data: { title: PAGES_ROUTING_TITLES.children.signIn },
|
|
66
66
|
resolve: { title: TitleResolver },
|
|
67
67
|
},
|
|
68
68
|
{
|
|
69
69
|
path: PAGES_ROUTING_PATHS.children.accountCreated,
|
|
70
|
-
loadComponent: () => import('./hmcts-opal-frontend-common-account-created.component-
|
|
70
|
+
loadComponent: () => import('./hmcts-opal-frontend-common-account-created.component-3MER1dhS.mjs').then((c) => c.AccountCreated),
|
|
71
71
|
canActivate: [authGuard],
|
|
72
72
|
data: { title: PAGES_ROUTING_TITLES.children.accountCreated },
|
|
73
73
|
resolve: { title: TitleResolver },
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@hmcts/opal-frontend-common",
|
|
3
|
-
"version": "0.0.
|
|
3
|
+
"version": "0.0.83",
|
|
4
4
|
"license": "MIT",
|
|
5
5
|
"repository": {
|
|
6
6
|
"type": "git",
|
|
@@ -156,6 +156,11 @@
|
|
|
156
156
|
"types": "./types/hmcts-opal-frontend-common-components-abstract-abstract-account-summary-base.d.ts",
|
|
157
157
|
"default": "./fesm2022/hmcts-opal-frontend-common-components-abstract-abstract-account-summary-base.mjs"
|
|
158
158
|
},
|
|
159
|
+
"./components/abstract/abstract-creditor-details-base": {
|
|
160
|
+
"import": "./fesm2022/hmcts-opal-frontend-common-components-abstract-abstract-creditor-details-base.mjs",
|
|
161
|
+
"types": "./types/hmcts-opal-frontend-common-components-abstract-abstract-creditor-details-base.d.ts",
|
|
162
|
+
"default": "./fesm2022/hmcts-opal-frontend-common-components-abstract-abstract-creditor-details-base.mjs"
|
|
163
|
+
},
|
|
159
164
|
"./components/alphagov/alphagov-accessible-autocomplete": {
|
|
160
165
|
"import": "./fesm2022/hmcts-opal-frontend-common-components-alphagov-alphagov-accessible-autocomplete.mjs",
|
|
161
166
|
"types": "./types/hmcts-opal-frontend-common-components-alphagov-alphagov-accessible-autocomplete.d.ts",
|
package/types/hmcts-opal-frontend-common-components-abstract-abstract-account-summary-base.d.ts
CHANGED
|
@@ -32,6 +32,7 @@ declare abstract class AbstractAccountSummaryBaseComponent<THeader, TTab extends
|
|
|
32
32
|
tokenExpiry: _ngrx_signals.DeepSignal<_hmcts_opal_frontend_common_services_session_service_interfaces.ISessionTokenExpiry>;
|
|
33
33
|
userStateCacheExpirationMilliseconds: _angular_core.Signal<number>;
|
|
34
34
|
userStateDomain: _angular_core.Signal<string | undefined>;
|
|
35
|
+
featureFlagConfig: _ngrx_signals.DeepSignal<_hmcts_opal_frontend_common_services_transfer_state_service_interfaces.ITransferStateFeatureFlagConfig>;
|
|
35
36
|
setAuthenticated: (authenticated: boolean) => void;
|
|
36
37
|
setBannerError: (error: _hmcts_opal_frontend_common_stores_global_interfaces.IGlobalErrorState) => void;
|
|
37
38
|
resetBannerError: () => void;
|
|
@@ -43,6 +44,7 @@ declare abstract class AbstractAccountSummaryBaseComponent<THeader, TTab extends
|
|
|
43
44
|
setTokenExpiry: (tokenExpiry: _hmcts_opal_frontend_common_services_session_service_interfaces.ISessionTokenExpiry) => void;
|
|
44
45
|
setUserStateCacheExpirationMilliseconds: (milliseconds: number) => void;
|
|
45
46
|
setUserStateDomain: (domain: string) => void;
|
|
47
|
+
setFeatureFlagConfig: (config: _hmcts_opal_frontend_common_services_transfer_state_service_interfaces.ITransferStateFeatureFlagConfig) => void;
|
|
46
48
|
} & _ngrx_signals.StateSource<{
|
|
47
49
|
authenticated: boolean;
|
|
48
50
|
bannerError: {
|
|
@@ -59,6 +61,7 @@ declare abstract class AbstractAccountSummaryBaseComponent<THeader, TTab extends
|
|
|
59
61
|
tokenExpiry: _hmcts_opal_frontend_common_services_session_service_interfaces.ISessionTokenExpiry;
|
|
60
62
|
userStateCacheExpirationMilliseconds: number;
|
|
61
63
|
userStateDomain: string | undefined;
|
|
64
|
+
featureFlagConfig: _hmcts_opal_frontend_common_services_transfer_state_service_interfaces.ITransferStateFeatureFlagConfig;
|
|
62
65
|
}>;
|
|
63
66
|
protected readonly userState: _hmcts_opal_frontend_common_services_opal_user_service_interfaces.IOpalUserState;
|
|
64
67
|
accountData: THeader;
|
package/types/hmcts-opal-frontend-common-components-abstract-abstract-creditor-details-base.d.ts
ADDED
|
@@ -0,0 +1,83 @@
|
|
|
1
|
+
import * as i0 from '@angular/core';
|
|
2
|
+
import { OnInit, OnDestroy } from '@angular/core';
|
|
3
|
+
import { Observable } from 'rxjs';
|
|
4
|
+
import { AbstractAccountSummaryBaseComponent } from '@hmcts/opal-frontend-common/components/abstract/abstract-account-summary-base';
|
|
5
|
+
import { ITransformItem } from '@hmcts/opal-frontend-common/services/transformation-service/interfaces';
|
|
6
|
+
|
|
7
|
+
interface CreditorDetailsAccountStore {
|
|
8
|
+
account_id(): number | string | null | undefined;
|
|
9
|
+
business_unit_id(): number | string | null | undefined;
|
|
10
|
+
clearSuccessMessage(): void;
|
|
11
|
+
compareVersion(version: string | null): void;
|
|
12
|
+
setHasVersionMismatch(value: boolean): void;
|
|
13
|
+
setSuccessMessage(message: string | null): void;
|
|
14
|
+
}
|
|
15
|
+
interface CreditorDetailsPayloadTransformer {
|
|
16
|
+
transformPayload<T extends {
|
|
17
|
+
[key: string]: unknown;
|
|
18
|
+
}>(payload: T, transformItemsConfig: ITransformItem[]): T;
|
|
19
|
+
}
|
|
20
|
+
declare abstract class AbstractCreditorDetailsBaseComponent<THeader, TTab extends {
|
|
21
|
+
version: string | null;
|
|
22
|
+
}> extends AbstractAccountSummaryBaseComponent<THeader, TTab> implements OnInit, OnDestroy {
|
|
23
|
+
protected abstract readonly headerDataRouteKey: string;
|
|
24
|
+
protected abstract readonly defaultActiveTab: string;
|
|
25
|
+
protected abstract readonly transformItemsConfig: ITransformItem[];
|
|
26
|
+
protected abstract readonly latestBannerMessage: string;
|
|
27
|
+
protected abstract readonly permissions: Record<string, number>;
|
|
28
|
+
protected abstract readonly payloadTransformer: CreditorDetailsPayloadTransformer;
|
|
29
|
+
abstract readonly accountStore: CreditorDetailsAccountStore;
|
|
30
|
+
accountId: number;
|
|
31
|
+
/**
|
|
32
|
+
* Gets the active account ID from the consuming application's route shape.
|
|
33
|
+
* @returns The active account ID from the route.
|
|
34
|
+
*/
|
|
35
|
+
protected abstract getAccountIdFromRoute(): number;
|
|
36
|
+
/**
|
|
37
|
+
* Fetches tab data through the shared summary cache flow and applies account version comparison.
|
|
38
|
+
* @param serviceCall The typed service call used to retrieve tab data.
|
|
39
|
+
* @returns The tab data observable with the caller's concrete tab type preserved.
|
|
40
|
+
*/
|
|
41
|
+
protected fetchTabDataTyped<T extends TTab>(serviceCall: Observable<T>): Observable<T>;
|
|
42
|
+
/**
|
|
43
|
+
* Reads creditor heading data resolved on the route, transforms it for display and store state,
|
|
44
|
+
* and sets the active tab from the URL fragment.
|
|
45
|
+
*/
|
|
46
|
+
protected getHeaderDataFromRoute(): void;
|
|
47
|
+
/**
|
|
48
|
+
* Transforms payload data using the consuming application's transformation service and configuration.
|
|
49
|
+
* @param payload The payload to transform using the configured payload transformer.
|
|
50
|
+
* @returns The transformed payload.
|
|
51
|
+
*/
|
|
52
|
+
protected transformPayload<T>(payload: T): T;
|
|
53
|
+
/**
|
|
54
|
+
* Transforms creditor heading data from the API shape into the view shape.
|
|
55
|
+
* @param header The creditor heading data to transform.
|
|
56
|
+
* @returns The transformed creditor heading data for display.
|
|
57
|
+
*/
|
|
58
|
+
protected transformHeaderForView(header: THeader): THeader;
|
|
59
|
+
/**
|
|
60
|
+
* Transforms creditor tab data from the API shape into the view shape.
|
|
61
|
+
* @param data The tab data to transform.
|
|
62
|
+
* @returns The transformed tab data with the original tab type preserved.
|
|
63
|
+
*/
|
|
64
|
+
protected transformTabData<T extends TTab>(data: T): T;
|
|
65
|
+
/**
|
|
66
|
+
* Refreshes the current creditor summary page and updates store state after the latest header is loaded.
|
|
67
|
+
*/
|
|
68
|
+
refreshPage(): void;
|
|
69
|
+
/**
|
|
70
|
+
* Checks whether the current user has the requested permission for the active account business unit.
|
|
71
|
+
* @param permissionKey The key used to look up the permission ID.
|
|
72
|
+
* @returns True when the user has the permission for the account business unit.
|
|
73
|
+
*/
|
|
74
|
+
hasBusinessUnitPermissionKey(permissionKey: string): boolean;
|
|
75
|
+
/**
|
|
76
|
+
* Clears transient account summary store flags before the component is destroyed.
|
|
77
|
+
*/
|
|
78
|
+
ngOnDestroy(): void;
|
|
79
|
+
static ɵfac: i0.ɵɵFactoryDeclaration<AbstractCreditorDetailsBaseComponent<any, any>, never>;
|
|
80
|
+
static ɵcmp: i0.ɵɵComponentDeclaration<AbstractCreditorDetailsBaseComponent<any, any>, "ng-component", never, {}, {}, never, never, true, never>;
|
|
81
|
+
}
|
|
82
|
+
|
|
83
|
+
export { AbstractCreditorDetailsBaseComponent };
|
|
@@ -46,6 +46,7 @@ declare class DashboardPage {
|
|
|
46
46
|
tokenExpiry: _ngrx_signals.DeepSignal<_hmcts_opal_frontend_common_services_session_service_interfaces.ISessionTokenExpiry>;
|
|
47
47
|
userStateCacheExpirationMilliseconds: _angular_core.Signal<number>;
|
|
48
48
|
userStateDomain: _angular_core.Signal<string | undefined>;
|
|
49
|
+
featureFlagConfig: _ngrx_signals.DeepSignal<_hmcts_opal_frontend_common_services_transfer_state_service_interfaces.ITransferStateFeatureFlagConfig>;
|
|
49
50
|
setAuthenticated: (authenticated: boolean) => void;
|
|
50
51
|
setBannerError: (error: _hmcts_opal_frontend_common_stores_global_interfaces.IGlobalErrorState) => void;
|
|
51
52
|
resetBannerError: () => void;
|
|
@@ -57,6 +58,7 @@ declare class DashboardPage {
|
|
|
57
58
|
setTokenExpiry: (tokenExpiry: _hmcts_opal_frontend_common_services_session_service_interfaces.ISessionTokenExpiry) => void;
|
|
58
59
|
setUserStateCacheExpirationMilliseconds: (milliseconds: number) => void;
|
|
59
60
|
setUserStateDomain: (domain: string) => void;
|
|
61
|
+
setFeatureFlagConfig: (config: _hmcts_opal_frontend_common_services_transfer_state_service_interfaces.ITransferStateFeatureFlagConfig) => void;
|
|
60
62
|
} & _ngrx_signals.StateSource<{
|
|
61
63
|
authenticated: boolean;
|
|
62
64
|
bannerError: {
|
|
@@ -73,6 +75,7 @@ declare class DashboardPage {
|
|
|
73
75
|
tokenExpiry: _hmcts_opal_frontend_common_services_session_service_interfaces.ISessionTokenExpiry;
|
|
74
76
|
userStateCacheExpirationMilliseconds: number;
|
|
75
77
|
userStateDomain: string | undefined;
|
|
78
|
+
featureFlagConfig: _hmcts_opal_frontend_common_services_transfer_state_service_interfaces.ITransferStateFeatureFlagConfig;
|
|
76
79
|
}>;
|
|
77
80
|
dashboardConfig: IDashboardPageConfiguration;
|
|
78
81
|
/**
|
|
@@ -24,6 +24,10 @@ declare class AppInitializerService {
|
|
|
24
24
|
* Initializes the user-state domain used for permission lookup.
|
|
25
25
|
*/
|
|
26
26
|
private initializeUserStateDomain;
|
|
27
|
+
/**
|
|
28
|
+
* Initializes the feature flag override configuration.
|
|
29
|
+
*/
|
|
30
|
+
private initializeFeatureFlagConfig;
|
|
27
31
|
/**
|
|
28
32
|
* Initializes the application.
|
|
29
33
|
* This method calls the necessary initialization functions.
|
|
@@ -4,6 +4,11 @@ import { OnDestroy } from '@angular/core';
|
|
|
4
4
|
declare class LaunchDarklyService implements OnDestroy {
|
|
5
5
|
private readonly globalStore;
|
|
6
6
|
private ldClient;
|
|
7
|
+
/**
|
|
8
|
+
* Checks if the feature flag override is enabled in the global store's feature flag configuration.
|
|
9
|
+
* @returns A boolean indicating whether the feature flag override is enabled or not.
|
|
10
|
+
*/
|
|
11
|
+
private isFeatureFlagOverrideEnabled;
|
|
7
12
|
/**
|
|
8
13
|
* Sets the LaunchDarkly flags by updating the featureFlags in the state service.
|
|
9
14
|
*/
|
|
@@ -1,3 +1,5 @@
|
|
|
1
|
+
import { LDFlagSet } from 'launchdarkly-js-client-sdk';
|
|
2
|
+
|
|
1
3
|
interface ITransferStateAppInsightsConfig {
|
|
2
4
|
enabled: boolean;
|
|
3
5
|
connectionString: string;
|
|
@@ -10,12 +12,18 @@ interface ITransferStateLaunchDarklyConfig {
|
|
|
10
12
|
stream: boolean | null;
|
|
11
13
|
}
|
|
12
14
|
|
|
15
|
+
interface ITransferStateFeatureFlagConfig {
|
|
16
|
+
override: boolean | null;
|
|
17
|
+
releases: LDFlagSet;
|
|
18
|
+
}
|
|
19
|
+
|
|
13
20
|
interface ITransferStateServerState {
|
|
14
21
|
launchDarklyConfig: ITransferStateLaunchDarklyConfig;
|
|
15
22
|
ssoEnabled: boolean;
|
|
16
23
|
appInsightsConfig: ITransferStateAppInsightsConfig;
|
|
17
24
|
userStateCacheExpirationMilliseconds: number;
|
|
18
25
|
userStateDomain: string;
|
|
26
|
+
featureFlagConfig: ITransferStateFeatureFlagConfig;
|
|
19
27
|
}
|
|
20
28
|
|
|
21
|
-
export type { ITransferStateAppInsightsConfig, ITransferStateLaunchDarklyConfig, ITransferStateServerState };
|
|
29
|
+
export type { ITransferStateAppInsightsConfig, ITransferStateFeatureFlagConfig, ITransferStateLaunchDarklyConfig, ITransferStateServerState };
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { ITransferStateServerState } from '@hmcts/opal-frontend-common/services/transfer-state-service/interfaces';
|
|
1
|
+
import { ITransferStateFeatureFlagConfig, ITransferStateServerState } from '@hmcts/opal-frontend-common/services/transfer-state-service/interfaces';
|
|
2
2
|
|
|
3
3
|
declare const TRANSFER_STATE_APP_INSIGHTS_CONFIG_MOCK: {
|
|
4
4
|
enabled: boolean;
|
|
@@ -12,6 +12,8 @@ declare const TRANSFER_STATE_LAUNCH_DARKLY_CONFIG_MOCK: {
|
|
|
12
12
|
stream: boolean;
|
|
13
13
|
};
|
|
14
14
|
|
|
15
|
+
declare const TRANSFER_STATE_FEATURE_FLAG_CONFIG_MOCK: ITransferStateFeatureFlagConfig;
|
|
16
|
+
|
|
15
17
|
declare const TRANSFER_STATE_MOCK: ITransferStateServerState;
|
|
16
18
|
|
|
17
|
-
export { TRANSFER_STATE_APP_INSIGHTS_CONFIG_MOCK, TRANSFER_STATE_LAUNCH_DARKLY_CONFIG_MOCK, TRANSFER_STATE_MOCK };
|
|
19
|
+
export { TRANSFER_STATE_APP_INSIGHTS_CONFIG_MOCK, TRANSFER_STATE_FEATURE_FLAG_CONFIG_MOCK, TRANSFER_STATE_LAUNCH_DARKLY_CONFIG_MOCK, TRANSFER_STATE_MOCK };
|
|
@@ -36,6 +36,10 @@ declare class TransferStateService {
|
|
|
36
36
|
* Initializes the user-state domain used to select permissions from the domain-scoped user-state response.
|
|
37
37
|
*/
|
|
38
38
|
initializeUserStateDomain(): void;
|
|
39
|
+
/**
|
|
40
|
+
* Initializes feature flag override config and applies release flags when override mode is enabled.
|
|
41
|
+
*/
|
|
42
|
+
initializeFeatureFlagConfig(): void;
|
|
39
43
|
static ɵfac: i0.ɵɵFactoryDeclaration<TransferStateService, never>;
|
|
40
44
|
static ɵprov: i0.ɵɵInjectableDeclaration<TransferStateService>;
|
|
41
45
|
}
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import * as _ngrx_signals from '@ngrx/signals';
|
|
2
2
|
import * as _angular_core from '@angular/core';
|
|
3
3
|
import { LDFlagSet } from 'launchdarkly-js-client-sdk';
|
|
4
|
-
import { ITransferStateLaunchDarklyConfig, ITransferStateAppInsightsConfig } from '@hmcts/opal-frontend-common/services/transfer-state-service/interfaces';
|
|
4
|
+
import { ITransferStateLaunchDarklyConfig, ITransferStateAppInsightsConfig, ITransferStateFeatureFlagConfig } from '@hmcts/opal-frontend-common/services/transfer-state-service/interfaces';
|
|
5
5
|
import { ISessionTokenExpiry } from '@hmcts/opal-frontend-common/services/session-service/interfaces';
|
|
6
6
|
import { IGlobalErrorState } from '@hmcts/opal-frontend-common/stores/global/interfaces';
|
|
7
7
|
import { IOpalUserState } from '@hmcts/opal-frontend-common/services/opal-user-service/interfaces';
|
|
@@ -22,6 +22,7 @@ declare const GlobalStore: _angular_core.Type<{
|
|
|
22
22
|
tokenExpiry: _ngrx_signals.DeepSignal<ISessionTokenExpiry>;
|
|
23
23
|
userStateCacheExpirationMilliseconds: _angular_core.Signal<number>;
|
|
24
24
|
userStateDomain: _angular_core.Signal<string | undefined>;
|
|
25
|
+
featureFlagConfig: _ngrx_signals.DeepSignal<ITransferStateFeatureFlagConfig>;
|
|
25
26
|
setAuthenticated: (authenticated: boolean) => void;
|
|
26
27
|
setBannerError: (error: IGlobalErrorState) => void;
|
|
27
28
|
resetBannerError: () => void;
|
|
@@ -33,6 +34,7 @@ declare const GlobalStore: _angular_core.Type<{
|
|
|
33
34
|
setTokenExpiry: (tokenExpiry: ISessionTokenExpiry) => void;
|
|
34
35
|
setUserStateCacheExpirationMilliseconds: (milliseconds: number) => void;
|
|
35
36
|
setUserStateDomain: (domain: string) => void;
|
|
37
|
+
setFeatureFlagConfig: (config: ITransferStateFeatureFlagConfig) => void;
|
|
36
38
|
} & _ngrx_signals.StateSource<{
|
|
37
39
|
authenticated: boolean;
|
|
38
40
|
bannerError: {
|
|
@@ -49,6 +51,7 @@ declare const GlobalStore: _angular_core.Type<{
|
|
|
49
51
|
tokenExpiry: ISessionTokenExpiry;
|
|
50
52
|
userStateCacheExpirationMilliseconds: number;
|
|
51
53
|
userStateDomain: string | undefined;
|
|
54
|
+
featureFlagConfig: ITransferStateFeatureFlagConfig;
|
|
52
55
|
}>>;
|
|
53
56
|
|
|
54
57
|
export { GlobalStore };
|