@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.
@@ -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,10 @@
1
+ export declare class MarketSelectionConfig {
2
+ marketSelections: Array<MarketSelection>;
3
+ disabledUrls: Array<string>;
4
+ }
5
+ export interface MarketSelection {
6
+ name?: string;
7
+ icon?: string;
8
+ /** Api Url */
9
+ apiUrl?: string;
10
+ }
@@ -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.18.0",
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';