@softheon/armature 19.18.0 → 19.19.0
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/softheon-armature.mjs +332 -3
- package/fesm2022/softheon-armature.mjs.map +1 -1
- package/lib/core/models/base-config.d.ts +3 -0
- package/lib/core/models/market-selection-config.d.ts +10 -0
- package/lib/core/services/market-selection.service.d.ts +137 -0
- package/lib/core/services/selected-market-context.d.ts +22 -0
- package/lib/mfe/components/entity-base/entity-base.component.d.ts +1 -0
- package/package.json +2 -1
- package/public-api.d.ts +3 -0
|
@@ -5,6 +5,7 @@ import { NavigationConfig } from './navigation-config';
|
|
|
5
5
|
import { OidcAuthSettings } from './oidc-auth-settings';
|
|
6
6
|
import { SubdomainConfig } from './subdomain-config';
|
|
7
7
|
import { NavPanelConfig } from './nav-panel-config';
|
|
8
|
+
import { MarketSelectionConfig } from './market-selection-config';
|
|
8
9
|
/** The base configuration interface */
|
|
9
10
|
export interface BaseConfig {
|
|
10
11
|
/** The oidc settings */
|
|
@@ -25,4 +26,6 @@ export interface BaseConfig {
|
|
|
25
26
|
* The navigation panel configs
|
|
26
27
|
*/
|
|
27
28
|
navigationPanel?: NavPanelConfig;
|
|
29
|
+
/** The market selection configuration */
|
|
30
|
+
marketSelectionConfig?: MarketSelectionConfig;
|
|
28
31
|
}
|
|
@@ -0,0 +1,137 @@
|
|
|
1
|
+
import { Router } from '@angular/router';
|
|
2
|
+
import { Observable } from 'rxjs';
|
|
3
|
+
import { TranslateService } from '@ngx-translate/core';
|
|
4
|
+
import { CookieService } from 'ngx-cookie-service';
|
|
5
|
+
import { SelectedMarketContext } from './selected-market-context';
|
|
6
|
+
import { MarketSelection } from '../models/market-selection-config';
|
|
7
|
+
import { BaseConfigService } from './base-config.service';
|
|
8
|
+
import * as i0 from "@angular/core";
|
|
9
|
+
/** Market Selection Service */
|
|
10
|
+
export declare class MarketSelectionService {
|
|
11
|
+
private cookieService;
|
|
12
|
+
private router;
|
|
13
|
+
private config;
|
|
14
|
+
private selectedMarketContext;
|
|
15
|
+
private translateService;
|
|
16
|
+
/** The MFE Queue Lookup Constant Key for Cookie Storage */
|
|
17
|
+
private readonly MFE_QUEUE_LOOKUP;
|
|
18
|
+
private modalOpenSubject;
|
|
19
|
+
private disabledDropdownSubject;
|
|
20
|
+
modalOpen$: Observable<boolean>;
|
|
21
|
+
selectedMarket$: Observable<MarketSelection | null>;
|
|
22
|
+
/** Ephemeral Market Observable */
|
|
23
|
+
ephemeralMarket$: Observable<MarketSelection | null>;
|
|
24
|
+
disabledDropdown$: Observable<boolean>;
|
|
25
|
+
/** Whether or not if market selection is enabled */
|
|
26
|
+
get isEnabled(): boolean;
|
|
27
|
+
private favoriteMarket;
|
|
28
|
+
/** Disabled URLs */
|
|
29
|
+
private disabledUrls;
|
|
30
|
+
/** Markets With API URL */
|
|
31
|
+
private markets;
|
|
32
|
+
/**
|
|
33
|
+
* Constructor
|
|
34
|
+
* @param cookieService cookie service
|
|
35
|
+
* @param router router
|
|
36
|
+
* @param config config
|
|
37
|
+
* @param selectedMarketContext selected market context
|
|
38
|
+
* @param translateService translate service
|
|
39
|
+
*/
|
|
40
|
+
constructor(cookieService: CookieService, router: Router, config: BaseConfigService, selectedMarketContext: SelectedMarketContext, translateService: TranslateService);
|
|
41
|
+
/** Get Member Market */
|
|
42
|
+
getMemberMarket(marketName: string): MarketSelection | undefined;
|
|
43
|
+
/** get selected market translated */
|
|
44
|
+
getMarketTranslated(market: string): string;
|
|
45
|
+
/**
|
|
46
|
+
* Update Market Selection
|
|
47
|
+
* @param selection
|
|
48
|
+
*/
|
|
49
|
+
updateSelectedMarket(selection: MarketSelection): void;
|
|
50
|
+
/**
|
|
51
|
+
* Set Ephemeral Market
|
|
52
|
+
* For setting the market on a single page so that it won't apply to the entire website
|
|
53
|
+
* @param market
|
|
54
|
+
*/
|
|
55
|
+
setEphemeralMarket(market: MarketSelection): void;
|
|
56
|
+
/**
|
|
57
|
+
* Get Ephemeral Market
|
|
58
|
+
* @returns
|
|
59
|
+
*/
|
|
60
|
+
getEphemeralMarket(): MarketSelection | null;
|
|
61
|
+
/**
|
|
62
|
+
* Initialize Config
|
|
63
|
+
*/
|
|
64
|
+
private initializeConfig;
|
|
65
|
+
/**
|
|
66
|
+
* Get API URL For Market
|
|
67
|
+
* @param marketName
|
|
68
|
+
* @returns
|
|
69
|
+
*/
|
|
70
|
+
getApiUrlForMarket(marketName: string): string | undefined;
|
|
71
|
+
/**
|
|
72
|
+
* Get Markets
|
|
73
|
+
* @returns
|
|
74
|
+
*/
|
|
75
|
+
getMarkets(): MarketSelection[];
|
|
76
|
+
/**
|
|
77
|
+
* Get Favorite Markets
|
|
78
|
+
* @returns
|
|
79
|
+
*/
|
|
80
|
+
getFavoriteMarkets(): MarketSelection[];
|
|
81
|
+
/**
|
|
82
|
+
* Toggle Favorite Market
|
|
83
|
+
* @param market
|
|
84
|
+
*/
|
|
85
|
+
toggleFavoriteMarket(market: MarketSelection): void;
|
|
86
|
+
/**
|
|
87
|
+
* Is favorite market
|
|
88
|
+
* @param market
|
|
89
|
+
* @returns
|
|
90
|
+
*/
|
|
91
|
+
isFavoriteMarket(market: MarketSelection): boolean;
|
|
92
|
+
/**
|
|
93
|
+
* Get Selected Market
|
|
94
|
+
* @returns
|
|
95
|
+
*/
|
|
96
|
+
getSelectedMarket(): MarketSelection | null;
|
|
97
|
+
/**
|
|
98
|
+
* Open Modal
|
|
99
|
+
*/
|
|
100
|
+
openModal(): void;
|
|
101
|
+
/**
|
|
102
|
+
* Close Modal
|
|
103
|
+
*/
|
|
104
|
+
closeModal(): void;
|
|
105
|
+
/**
|
|
106
|
+
* Load Favorite Markets from Cookies
|
|
107
|
+
*/
|
|
108
|
+
loadFavoriteMarketsFromCookies(): void;
|
|
109
|
+
/**
|
|
110
|
+
* Load Market from Cookies
|
|
111
|
+
*/
|
|
112
|
+
loadMarketFromCookies(): void;
|
|
113
|
+
/**
|
|
114
|
+
* Is URL Disabled
|
|
115
|
+
* @param currentUrl
|
|
116
|
+
* @returns
|
|
117
|
+
*/
|
|
118
|
+
private isUrlDisabled;
|
|
119
|
+
/**
|
|
120
|
+
* Save Favorite Market Selections to Cookies
|
|
121
|
+
*/
|
|
122
|
+
private saveFavoriteMarketsToCookies;
|
|
123
|
+
/**
|
|
124
|
+
* Get the base site URL using ephemeral or selected market, or default if none
|
|
125
|
+
*/
|
|
126
|
+
getBaseUrl(): string;
|
|
127
|
+
/** Text To Kebab-case */
|
|
128
|
+
private textToKebabCase;
|
|
129
|
+
/**
|
|
130
|
+
* Resolve domain url
|
|
131
|
+
* @param link link
|
|
132
|
+
* @returns domain url
|
|
133
|
+
*/
|
|
134
|
+
private resolveOrigin;
|
|
135
|
+
static ɵfac: i0.ɵɵFactoryDeclaration<MarketSelectionService, never>;
|
|
136
|
+
static ɵprov: i0.ɵɵInjectableDeclaration<MarketSelectionService>;
|
|
137
|
+
}
|
|
@@ -0,0 +1,22 @@
|
|
|
1
|
+
import { MarketSelection } from '../models/market-selection-config';
|
|
2
|
+
import * as i0 from "@angular/core";
|
|
3
|
+
/** Selected Market Context */
|
|
4
|
+
export declare class SelectedMarketContext {
|
|
5
|
+
private selectedMarketSubject;
|
|
6
|
+
selectedMarket$: import("rxjs").Observable<MarketSelection>;
|
|
7
|
+
/** Ephemeral Market Subject */
|
|
8
|
+
private ephemeralMarketSubject;
|
|
9
|
+
/** Ephemeral Market Observable */
|
|
10
|
+
ephemeralMarket$: import("rxjs").Observable<MarketSelection>;
|
|
11
|
+
private selectedMarket;
|
|
12
|
+
/** Set the selected market */
|
|
13
|
+
setMarket(marketSelection: MarketSelection): void;
|
|
14
|
+
/** Get the selected market */
|
|
15
|
+
getSelectedMarket(): MarketSelection | null;
|
|
16
|
+
/** Set the ephemeral market */
|
|
17
|
+
setEphemeralMarket(marketSelection: MarketSelection): void;
|
|
18
|
+
/** Get the ephemeral market */
|
|
19
|
+
getEphemeralMarket(): MarketSelection | null;
|
|
20
|
+
static ɵfac: i0.ɵɵFactoryDeclaration<SelectedMarketContext, never>;
|
|
21
|
+
static ɵprov: i0.ɵɵInjectableDeclaration<SelectedMarketContext>;
|
|
22
|
+
}
|
|
@@ -10,6 +10,7 @@ export declare abstract class EntityBaseComponent<TConfig extends EntityConfigBa
|
|
|
10
10
|
protected readonly entityHelper: EntityHelperService<TConfig>;
|
|
11
11
|
/** True if is expanded */
|
|
12
12
|
protected isExpanded: boolean;
|
|
13
|
+
private readonly boundTaskRowClick;
|
|
13
14
|
/**
|
|
14
15
|
* Constructor
|
|
15
16
|
* @param activatedRoute The activated route
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@softheon/armature",
|
|
3
|
-
"version": "19.
|
|
3
|
+
"version": "19.19.0",
|
|
4
4
|
"dependencies": {
|
|
5
5
|
"tslib": "^2.5.0"
|
|
6
6
|
},
|
|
@@ -20,6 +20,7 @@
|
|
|
20
20
|
"@ngx-translate/http-loader": "^16.0.1",
|
|
21
21
|
"angular-oauth2-oidc": "~19.0.0",
|
|
22
22
|
"angular-oauth2-oidc-jwks": "~17.0.2",
|
|
23
|
+
"ngx-cookie-service": "^19.1.2",
|
|
23
24
|
"rxjs": "~7.8.0",
|
|
24
25
|
"moment": "^2.29.4",
|
|
25
26
|
"ag-grid-community": "^31.2.1",
|
package/public-api.d.ts
CHANGED
|
@@ -3,6 +3,9 @@ export * from './lib/armature.module';
|
|
|
3
3
|
export * from './lib/core/services/session.service';
|
|
4
4
|
export * from './lib/core/services/user-entity.service';
|
|
5
5
|
export * from './lib/core/services/authorization.service';
|
|
6
|
+
export * from './lib/core/services/market-selection.service';
|
|
7
|
+
export * from './lib/core/services/selected-market-context';
|
|
8
|
+
export { MarketSelection, MarketSelectionConfig } from './lib/core/models/market-selection-config';
|
|
6
9
|
export * from './lib/core/models/data-store-config';
|
|
7
10
|
export * from './lib/core/models/typed-session';
|
|
8
11
|
export * from './lib/core/models/http-verbs';
|