@imposium-hub/components 2.5.18 → 2.6.0-1

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.
Files changed (185) hide show
  1. package/dist/cjs/Util.js +1 -2
  2. package/dist/cjs/Util.js.map +1 -1
  3. package/dist/cjs/components/app-wrapper/AppWrapper.d.ts +32 -21
  4. package/dist/cjs/components/app-wrapper/AppWrapper.js +244 -208
  5. package/dist/cjs/components/app-wrapper/AppWrapper.js.map +1 -1
  6. package/dist/cjs/components/app-wrapper/AppWrapperV2.d.ts +3 -9
  7. package/dist/cjs/components/app-wrapper/AppWrapperV2.js +119 -45
  8. package/dist/cjs/components/app-wrapper/AppWrapperV2.js.map +1 -1
  9. package/dist/cjs/components/app-wrapper/AppWrapperV3.d.ts +1 -1
  10. package/dist/cjs/components/app-wrapper/AppWrapperV3.js +7 -44
  11. package/dist/cjs/components/app-wrapper/AppWrapperV3.js.map +1 -1
  12. package/dist/cjs/components/assets/StoryTableNameFilter.d.ts +9 -2
  13. package/dist/cjs/components/assets/StoryTableNameFilter.js +3 -13
  14. package/dist/cjs/components/assets/StoryTableNameFilter.js.map +1 -1
  15. package/dist/cjs/components/compositions/TextLayer.js +0 -1
  16. package/dist/cjs/components/compositions/TextLayer.js.map +1 -1
  17. package/dist/cjs/components/context-menu/AnimateComponent.d.ts +6 -6
  18. package/dist/cjs/components/context-menu/AnimateComponent.js.map +1 -1
  19. package/dist/cjs/components/context-menu/ContextMenu.d.ts +12 -27
  20. package/dist/cjs/components/context-menu/ContextMenu.js +2 -15
  21. package/dist/cjs/components/context-menu/ContextMenu.js.map +1 -1
  22. package/dist/cjs/components/context-menu/ContextMenuItem.d.ts +6 -18
  23. package/dist/cjs/components/context-menu/ContextMenuItem.js +2 -21
  24. package/dist/cjs/components/context-menu/ContextMenuItem.js.map +1 -1
  25. package/dist/cjs/components/context-menu/ContextMenuTrigger.d.ts +6 -16
  26. package/dist/cjs/components/context-menu/ContextMenuTrigger.js +2 -20
  27. package/dist/cjs/components/context-menu/ContextMenuTrigger.js.map +1 -1
  28. package/dist/cjs/components/context-menu/SubMenu.d.ts +4 -12
  29. package/dist/cjs/components/context-menu/SubMenu.js +2 -17
  30. package/dist/cjs/components/context-menu/SubMenu.js.map +1 -1
  31. package/dist/cjs/components/data-table/Paginator.d.ts +16 -1
  32. package/dist/cjs/components/data-table/Paginator.js +1 -1
  33. package/dist/cjs/components/data-table/Paginator.js.map +1 -1
  34. package/dist/cjs/components/font-picker/font-manager/constants.d.ts +4 -0
  35. package/dist/cjs/components/font-picker/font-manager/constants.js +5 -1
  36. package/dist/cjs/components/font-picker/font-manager/constants.js.map +1 -1
  37. package/dist/cjs/components/header/Header.d.ts +8 -9
  38. package/dist/cjs/components/header/Header.js +95 -160
  39. package/dist/cjs/components/header/Header.js.map +1 -1
  40. package/dist/cjs/components/header/ProjectDropdown.d.ts +13 -0
  41. package/dist/cjs/components/header/ProjectDropdown.js +128 -0
  42. package/dist/cjs/components/header/ProjectDropdown.js.map +1 -0
  43. package/dist/cjs/components/header/StoryDropdown.d.ts +6 -0
  44. package/dist/cjs/components/header/StoryDropdown.js +111 -0
  45. package/dist/cjs/components/header/StoryDropdown.js.map +1 -0
  46. package/dist/cjs/components/modal/Modal.d.ts +1 -1
  47. package/dist/cjs/components/modal/Modal.js +2 -3
  48. package/dist/cjs/components/modal/Modal.js.map +1 -1
  49. package/dist/cjs/components/portal/Portal.d.ts +0 -2
  50. package/dist/cjs/components/portal/Portal.js.map +1 -1
  51. package/dist/cjs/components/publish-wizard/PublishWizard.d.ts +1 -3
  52. package/dist/cjs/components/publish-wizard/PublishWizard.js.map +1 -1
  53. package/dist/cjs/components/publish-wizard/publish/EmailWorkflow.js.map +1 -1
  54. package/dist/cjs/constants/copy.d.ts +3 -0
  55. package/dist/cjs/constants/copy.js +3 -0
  56. package/dist/cjs/constants/copy.js.map +1 -1
  57. package/dist/cjs/index.d.ts +4 -7
  58. package/dist/cjs/index.js +11 -17
  59. package/dist/cjs/index.js.map +1 -1
  60. package/dist/cjs/redux/actions/asset-uploads.js +0 -1
  61. package/dist/cjs/redux/actions/asset-uploads.js.map +1 -1
  62. package/dist/cjs/services/API.d.ts +10 -3
  63. package/dist/cjs/services/API.js +230 -84
  64. package/dist/cjs/services/API.js.map +1 -1
  65. package/dist/cjs/services/Session.d.ts +0 -11
  66. package/dist/cjs/services/Session.js +3 -126
  67. package/dist/cjs/services/Session.js.map +1 -1
  68. package/dist/cjs/utils/modal.d.ts +2 -0
  69. package/dist/cjs/utils/modal.js +11 -0
  70. package/dist/cjs/utils/modal.js.map +1 -0
  71. package/dist/cjs/utils/pendo.d.ts +24 -0
  72. package/dist/cjs/utils/pendo.js +62 -0
  73. package/dist/cjs/utils/pendo.js.map +1 -0
  74. package/dist/cjs/utils/routing.d.ts +2 -0
  75. package/dist/cjs/utils/routing.js +10 -1
  76. package/dist/cjs/utils/routing.js.map +1 -1
  77. package/dist/esm/Util.js +1 -2
  78. package/dist/esm/Util.js.map +1 -1
  79. package/dist/esm/components/app-wrapper/AppWrapper.d.ts +32 -21
  80. package/dist/esm/components/app-wrapper/AppWrapper.js +143 -172
  81. package/dist/esm/components/app-wrapper/AppWrapper.js.map +1 -1
  82. package/dist/esm/components/app-wrapper/AppWrapperV2.d.ts +3 -9
  83. package/dist/esm/components/app-wrapper/AppWrapperV2.js +30 -33
  84. package/dist/esm/components/app-wrapper/AppWrapperV2.js.map +1 -1
  85. package/dist/esm/components/app-wrapper/AppWrapperV3.d.ts +1 -1
  86. package/dist/esm/components/app-wrapper/AppWrapperV3.js +5 -42
  87. package/dist/esm/components/app-wrapper/AppWrapperV3.js.map +1 -1
  88. package/dist/esm/components/assets/StoryTableNameFilter.d.ts +9 -2
  89. package/dist/esm/components/assets/StoryTableNameFilter.js +3 -13
  90. package/dist/esm/components/assets/StoryTableNameFilter.js.map +1 -1
  91. package/dist/esm/components/compositions/TextLayer.js +0 -1
  92. package/dist/esm/components/compositions/TextLayer.js.map +1 -1
  93. package/dist/esm/components/context-menu/AnimateComponent.d.ts +6 -6
  94. package/dist/esm/components/context-menu/AnimateComponent.js.map +1 -1
  95. package/dist/esm/components/context-menu/ContextMenu.d.ts +12 -27
  96. package/dist/esm/components/context-menu/ContextMenu.js +2 -4
  97. package/dist/esm/components/context-menu/ContextMenu.js.map +1 -1
  98. package/dist/esm/components/context-menu/ContextMenuItem.d.ts +6 -18
  99. package/dist/esm/components/context-menu/ContextMenuItem.js +2 -10
  100. package/dist/esm/components/context-menu/ContextMenuItem.js.map +1 -1
  101. package/dist/esm/components/context-menu/ContextMenuTrigger.d.ts +6 -16
  102. package/dist/esm/components/context-menu/ContextMenuTrigger.js +2 -9
  103. package/dist/esm/components/context-menu/ContextMenuTrigger.js.map +1 -1
  104. package/dist/esm/components/context-menu/SubMenu.d.ts +4 -12
  105. package/dist/esm/components/context-menu/SubMenu.js +2 -6
  106. package/dist/esm/components/context-menu/SubMenu.js.map +1 -1
  107. package/dist/esm/components/data-table/Paginator.d.ts +16 -1
  108. package/dist/esm/components/data-table/Paginator.js +1 -1
  109. package/dist/esm/components/data-table/Paginator.js.map +1 -1
  110. package/dist/esm/components/font-picker/font-manager/constants.d.ts +4 -0
  111. package/dist/esm/components/font-picker/font-manager/constants.js +4 -0
  112. package/dist/esm/components/font-picker/font-manager/constants.js.map +1 -1
  113. package/dist/esm/components/header/Header.d.ts +8 -9
  114. package/dist/esm/components/header/Header.js +93 -147
  115. package/dist/esm/components/header/Header.js.map +1 -1
  116. package/dist/esm/components/header/ProjectDropdown.d.ts +13 -0
  117. package/dist/esm/components/header/ProjectDropdown.js +101 -0
  118. package/dist/esm/components/header/ProjectDropdown.js.map +1 -0
  119. package/dist/esm/components/header/StoryDropdown.d.ts +6 -0
  120. package/dist/esm/components/header/StoryDropdown.js +82 -0
  121. package/dist/esm/components/header/StoryDropdown.js.map +1 -0
  122. package/dist/esm/components/modal/Modal.d.ts +1 -1
  123. package/dist/esm/components/modal/Modal.js +2 -3
  124. package/dist/esm/components/modal/Modal.js.map +1 -1
  125. package/dist/esm/components/portal/Portal.d.ts +0 -2
  126. package/dist/esm/components/portal/Portal.js.map +1 -1
  127. package/dist/esm/components/publish-wizard/PublishWizard.d.ts +1 -3
  128. package/dist/esm/components/publish-wizard/PublishWizard.js.map +1 -1
  129. package/dist/esm/components/publish-wizard/publish/EmailWorkflow.js.map +1 -1
  130. package/dist/esm/constants/copy.d.ts +3 -0
  131. package/dist/esm/constants/copy.js +3 -0
  132. package/dist/esm/constants/copy.js.map +1 -1
  133. package/dist/esm/index.d.ts +4 -7
  134. package/dist/esm/index.js +4 -7
  135. package/dist/esm/index.js.map +1 -1
  136. package/dist/esm/redux/actions/asset-uploads.js +0 -1
  137. package/dist/esm/redux/actions/asset-uploads.js.map +1 -1
  138. package/dist/esm/services/API.d.ts +10 -3
  139. package/dist/esm/services/API.js +74 -27
  140. package/dist/esm/services/API.js.map +1 -1
  141. package/dist/esm/services/Session.d.ts +0 -11
  142. package/dist/esm/services/Session.js +3 -84
  143. package/dist/esm/services/Session.js.map +1 -1
  144. package/dist/esm/utils/modal.d.ts +2 -0
  145. package/dist/esm/utils/modal.js +7 -0
  146. package/dist/esm/utils/modal.js.map +1 -0
  147. package/dist/esm/utils/pendo.d.ts +24 -0
  148. package/dist/esm/utils/pendo.js +52 -0
  149. package/dist/esm/utils/pendo.js.map +1 -0
  150. package/dist/esm/utils/routing.d.ts +2 -0
  151. package/dist/esm/utils/routing.js +7 -0
  152. package/dist/esm/utils/routing.js.map +1 -1
  153. package/dist/styles.css +0 -5
  154. package/dist/styles.less +0 -1
  155. package/less/components/button.less +0 -1
  156. package/package.json +5 -2
  157. package/src/Util.ts +1 -2
  158. package/src/components/app-wrapper/AppWrapper.tsx +245 -257
  159. package/src/components/assets/StoryTableNameFilter.tsx +6 -22
  160. package/src/components/compositions/TextLayer.tsx +0 -1
  161. package/src/components/context-menu/AnimateComponent.tsx +12 -1
  162. package/src/components/context-menu/ContextMenu.tsx +16 -8
  163. package/src/components/context-menu/ContextMenuItem.tsx +12 -11
  164. package/src/components/context-menu/ContextMenuTrigger.tsx +12 -10
  165. package/src/components/context-menu/SubMenu.tsx +6 -8
  166. package/src/components/data-table/Paginator.tsx +19 -6
  167. package/src/components/font-picker/font-manager/constants.ts +5 -0
  168. package/src/components/header/Header.tsx +130 -242
  169. package/src/components/header/ProjectDropdown.tsx +174 -0
  170. package/src/components/modal/Modal.tsx +7 -10
  171. package/src/components/portal/Portal.tsx +1 -2
  172. package/src/components/publish-wizard/PublishWizard.tsx +1 -1
  173. package/src/components/publish-wizard/publish/EmailWorkflow.tsx +7 -1
  174. package/src/constants/copy.ts +3 -0
  175. package/src/index.ts +6 -14
  176. package/src/redux/actions/asset-uploads.ts +0 -1
  177. package/src/services/API.ts +92 -30
  178. package/src/utils/modal.ts +9 -0
  179. package/src/utils/pendo.ts +61 -0
  180. package/src/utils/routing.ts +10 -0
  181. package/src/components/auth-gate/AuthGate.tsx +0 -84
  182. package/src/redux/actions/auth.ts +0 -30
  183. package/src/redux/reducers/auth.ts +0 -33
  184. package/src/services/Auth0.ts +0 -82
  185. package/src/services/Session.ts +0 -153
@@ -1,84 +0,0 @@
1
- import * as React from 'react';
2
- import ScaleLoader from 'react-spinners/ScaleLoader';
3
- import SessionService from '../../services/Session';
4
- import AuthService, { IIdentity } from '../../services/Auth0';
5
- import { connect } from 'react-redux';
6
- import { bindActionCreators } from 'redux';
7
- import { login } from '../../redux/actions/auth';
8
- import { setAccessData } from '../../redux/actions/access';
9
-
10
- interface IAuthGateProps {
11
- auth0ClientId: string;
12
- auth0Domain: string;
13
- auth0Hash: string;
14
- onAuthenticated: (storyId, orgId) => any;
15
- storyId: string;
16
- organizationId: string;
17
- baseUrl?: string;
18
- setAccessData(accessData: any): any;
19
- login: (id: IIdentity) => any;
20
- }
21
-
22
- class AuthGate extends React.PureComponent<IAuthGateProps> {
23
- private static readonly LOADER_COLOR: string = '#2d8ceb';
24
-
25
- constructor(p: IAuthGateProps) {
26
- super(p);
27
- }
28
-
29
- public componentDidMount = (): void => {
30
- const { auth0ClientId, auth0Hash, auth0Domain, onAuthenticated, baseUrl } = this.props;
31
-
32
- AuthService.bindToClient(auth0ClientId, auth0Domain);
33
-
34
- if (!auth0Hash) {
35
- console.info('No hash found, redirecting to login');
36
- AuthService.login();
37
- } else {
38
- AuthService.parseIdFromHash(auth0Hash)
39
- .then((freshIdentity: IIdentity) => {
40
- // Use the cached org ID and story ID if it exists
41
- const orgId = SessionService.getCachedOrgId() || null;
42
- const storyId = SessionService.getCachedStoryId() || null;
43
-
44
- SessionService.getAccessData(freshIdentity.accessToken, baseUrl, false, orgId)
45
- .then((freshAccess: any) => {
46
- this.props.login(freshIdentity);
47
- this.props.setAccessData(freshAccess);
48
- SessionService.buildFreshSession(freshIdentity, orgId, storyId);
49
- onAuthenticated(storyId, orgId);
50
- })
51
- .catch((e) => {
52
- console.error('Error getting access data, redirecting to root');
53
- console.error(e);
54
- onAuthenticated(null, null);
55
- });
56
- })
57
- .catch((e) => {
58
- console.error('Error parsing ID from hash, redirecting to login');
59
- console.error(e);
60
- AuthService.login();
61
- });
62
- }
63
- };
64
-
65
- public render = (): JSX.Element => {
66
- return (
67
- <div className='auth-gate'>
68
- <ScaleLoader color={AuthGate.LOADER_COLOR} />
69
- </div>
70
- );
71
- };
72
- }
73
-
74
- const mapDispatchToProps = (dispatch) => {
75
- return bindActionCreators(
76
- {
77
- login,
78
- setAccessData
79
- },
80
- dispatch
81
- );
82
- };
83
-
84
- export default connect(null, mapDispatchToProps)(AuthGate);
@@ -1,30 +0,0 @@
1
- import { IIdentity } from '../../services/Auth0';
2
-
3
- export const AUTH_CACHE_KEY: string = 'imposium_hub_creds';
4
-
5
- export const login = (auth: IIdentity): any => {
6
- try {
7
- localStorage.setItem(AUTH_CACHE_KEY, JSON.stringify(auth));
8
- } catch (e) {
9
- console.warn('Failed to cache auth creds...');
10
- }
11
-
12
- return { type: actions.LOGIN, auth };
13
- };
14
-
15
- export const clearCachedAuth = (): any => {
16
- try {
17
- localStorage.removeItem(AUTH_CACHE_KEY);
18
- } catch (e) {
19
- console.warn('Failed to remove cached creds');
20
- }
21
-
22
- return { type: actions.CLEAR };
23
- };
24
-
25
- const actions = {
26
- LOGIN: 'auth/LOGIN',
27
- CLEAR: 'auth/CLEAR'
28
- };
29
-
30
- export default actions;
@@ -1,33 +0,0 @@
1
- import actions, { AUTH_CACHE_KEY } from '../actions/auth';
2
- import AuthService, { IIdentity } from '../../services/Auth0';
3
-
4
- let initialState: IIdentity = null;
5
-
6
- try {
7
- const cachedAuth: IIdentity = JSON.parse(localStorage.getItem(AUTH_CACHE_KEY));
8
-
9
- if (cachedAuth) {
10
- const {
11
- idTokenPayload: { exp }
12
- } = cachedAuth;
13
-
14
- if (AuthService.checkExpiry(exp)) {
15
- initialState = cachedAuth;
16
- }
17
- }
18
- } catch (e) {
19
- console.warn('Cached credentials were malformed or missing, redirected to login.');
20
- }
21
-
22
- const auth = (state = initialState, action) => {
23
- switch (action.type) {
24
- case actions.LOGIN:
25
- return { ...action.auth };
26
- case actions.CLEAR:
27
- return null;
28
- default:
29
- return state;
30
- }
31
- };
32
-
33
- export default auth;
@@ -1,82 +0,0 @@
1
- import * as auth0 from 'auth0-js';
2
-
3
- export interface IIdentity {
4
- accessToken: string;
5
- expiry: number;
6
- expiresIn: number;
7
- idToken: string;
8
- tokenType: string;
9
- idTokenPayload: any;
10
- }
11
-
12
- export default class AuthService {
13
- private static readonly IMPOSIUM_APP_DEFAULTS: any = {
14
- scope: 'openid',
15
- audience: 'https://api.4cinsights.io/',
16
- responseType: 'token id_token',
17
- redirectUri: `${window.location.origin}/auth`
18
- };
19
-
20
- // Auth0 JS client
21
- private static auth0Client: auth0.WebAuth;
22
-
23
- /*
24
- Initialize the auth0 web client with client ID for a given app-wrapper
25
- */
26
- public static bindToClient = (clientID: string, domain: string): void => {
27
- AuthService.auth0Client = new auth0.WebAuth({
28
- clientID,
29
- domain,
30
- ...AuthService.IMPOSIUM_APP_DEFAULTS
31
- });
32
- };
33
-
34
- /*
35
- redirect to auth0 for login
36
- */
37
- public static login = (): void => {
38
- AuthService.auth0Client.authorize();
39
- };
40
-
41
- /*
42
- Re-direct to auth0 to cancel session & instruct auth0 to redirect back to login
43
- */
44
- public static logout = (): void => {
45
- AuthService.auth0Client.logout({ returnTo: `${window.location.origin}/auth` });
46
- };
47
-
48
- /*
49
- Validate auth0 expiry timestamp
50
- */
51
- public static checkExpiry = (expiry: number): boolean => expiry > Date.now().valueOf() / 1000;
52
-
53
- /*
54
- Parse out identity from hash
55
- */
56
- public static parseIdFromHash = (hash: string): Promise<IIdentity> => {
57
- return new Promise((resolve, reject) => {
58
- AuthService.auth0Client.parseHash({ options: hash }, (e: Error, id: IIdentity) => {
59
- if (!e) {
60
- resolve(id);
61
- } else {
62
- reject(e);
63
- }
64
- });
65
- });
66
- };
67
-
68
- /*
69
- Defer to auth0 web servers to check if users session is valid
70
- */
71
- public static checkSession = (): Promise<IIdentity | Error> => {
72
- return new Promise((resolve, reject) => {
73
- AuthService.auth0Client.checkSession({}, (e: Error, id: IIdentity) => {
74
- if (!e) {
75
- resolve(id);
76
- } else {
77
- reject(e);
78
- }
79
- });
80
- });
81
- };
82
- }
@@ -1,153 +0,0 @@
1
- import * as Cookies from 'js-cookie';
2
- import axios, { AxiosResponse, AxiosError } from 'axios';
3
- import { IIdentity } from './Auth0';
4
-
5
- export interface IHubSession {
6
- sub: string;
7
- organization_id: string;
8
- story_id: string;
9
- }
10
-
11
- export default class SessionService {
12
- private static readonly LOGIN_STORY_ID_CACHE: string = 'imp_hub_last_story_id';
13
-
14
- private static readonly LOGIN_ORG_ID_CACHE: string = 'imp_hub_last_org_id';
15
-
16
- private static readonly SESSION_COOKIE_NAME: string = 'auth_state';
17
-
18
- private static readonly FRESH_COOKIE: IHubSession = {
19
- sub: '',
20
- organization_id: '',
21
- story_id: ''
22
- };
23
-
24
- /*
25
- Get list of accessible services with themes from Imposium API
26
- */
27
- public static getAccessData = (
28
- idToken: string,
29
- baseUrl?: string,
30
- getTotalRenders: boolean = false,
31
- accountId?: string
32
- ): Promise<any[]> => {
33
- return new Promise((resolve, reject) => {
34
- let accessUrl = baseUrl ? `${baseUrl}/access` : SessionService.determineAccessUrl();
35
- const headers: any = { Authorization: `Bearer ${idToken}` };
36
-
37
- if (getTotalRenders) {
38
- accessUrl += '?include_total_renders=true';
39
- }
40
-
41
- if (accountId && accountId !== 'undefined') {
42
- headers['X-Imposium-Account-Id'] = accountId;
43
- }
44
-
45
- axios
46
- .get(accessUrl, { headers })
47
- .then((res: AxiosResponse) => {
48
- resolve(res.data ? res.data : []);
49
- })
50
- .catch((e: AxiosError) => {
51
- reject(e);
52
- });
53
- });
54
- };
55
-
56
- public static getSession = (): IHubSession =>
57
- Cookies.getJSON(SessionService.SESSION_COOKIE_NAME);
58
-
59
- public static removeSession = (): void => {
60
- const domain: string = SessionService.scrapeDomain();
61
- Cookies.remove(SessionService.SESSION_COOKIE_NAME, { domain });
62
- SessionService.clearCachedOrgId();
63
- SessionService.clearCachedStoryId();
64
- };
65
-
66
- public static buildFreshSession = (
67
- freshIdentity: IIdentity,
68
- orgId: string = null,
69
- storyId: string = null
70
- ): void => {
71
- const {
72
- idTokenPayload: { sub, exp }
73
- } = freshIdentity;
74
-
75
- const freshSession: any = {
76
- sub
77
- };
78
-
79
- if (orgId) {
80
- freshSession.organization_id = orgId;
81
- }
82
-
83
- if (storyId) {
84
- freshSession.story_id = storyId;
85
- }
86
-
87
- SessionService.storeSession(freshSession, exp);
88
- };
89
-
90
- public static storeSession = (values: any, auth0Expiry: number): void => {
91
- const cookieData: IHubSession = { ...SessionService.FRESH_COOKIE, ...values };
92
- const domain: string = SessionService.scrapeDomain();
93
- const expiry: Date = new Date(auth0Expiry * 1000);
94
-
95
- Cookies.set(SessionService.SESSION_COOKIE_NAME, cookieData, { domain, expires: expiry });
96
- };
97
-
98
- public static cacheOrgId = (organizationId: string): void => {
99
- localStorage.setItem(SessionService.LOGIN_ORG_ID_CACHE, organizationId);
100
- };
101
-
102
- public static clearCachedOrgId = () => {
103
- localStorage.removeItem(SessionService.LOGIN_ORG_ID_CACHE);
104
- };
105
-
106
- public static getCachedOrgId = (): string => {
107
- return localStorage.getItem(SessionService.LOGIN_ORG_ID_CACHE);
108
- };
109
-
110
- public static cacheStoryId = (storyId: string): void => {
111
- localStorage.setItem(SessionService.LOGIN_STORY_ID_CACHE, storyId);
112
- };
113
-
114
- public static clearCachedStoryId = (): void => {
115
- localStorage.removeItem(SessionService.LOGIN_STORY_ID_CACHE);
116
- };
117
-
118
- public static getCachedStoryId = (): string => {
119
- return localStorage.getItem(SessionService.LOGIN_STORY_ID_CACHE);
120
- };
121
-
122
- public static updateSession = (values: any, auth0Expiry: number): void => {
123
- const prevCookieData: IHubSession = SessionService.getSession();
124
- const nextCookieData: IHubSession = { ...prevCookieData, ...values };
125
-
126
- SessionService.storeSession(nextCookieData, auth0Expiry);
127
- };
128
-
129
- /*
130
- Determine which domain to assign cookie to
131
- */
132
- private static scrapeDomain = (): string => {
133
- const domainParts: string[] = window.location.host.split('.').reverse();
134
- return domainParts.length > 2 ? `.${domainParts[1]}.${domainParts[0].split(':')[0]}` : null;
135
- };
136
-
137
- /*
138
- Figure out which access endpoint to hit based on env
139
- */
140
- private static determineAccessUrl = (): string => {
141
- const {
142
- location: { hostname, host }
143
- } = window;
144
-
145
- if (hostname === 'localhost') {
146
- return 'https://api/access';
147
- } else if (host.includes('.staging.')) {
148
- return 'https://api.staging.imposium.com/access';
149
- } else {
150
- return 'https://api.imposium.com/access';
151
- }
152
- };
153
- }