@imposium-hub/components 2.4.0-7 → 2.4.0-9

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 (79) hide show
  1. package/dist/cjs/components/auth-gate/AuthGate.js +5 -0
  2. package/dist/cjs/components/auth-gate/AuthGate.js.map +1 -1
  3. package/dist/cjs/components/dropdown/{dropdown.stories.js → Dropdown.stories.js} +1 -1
  4. package/dist/cjs/components/dropdown/{dropdown.stories.js.map → Dropdown.stories.js.map} +1 -1
  5. package/dist/cjs/components/header/Header.d.ts +1 -0
  6. package/dist/cjs/components/header/Header.js +12 -1
  7. package/dist/cjs/components/header/Header.js.map +1 -1
  8. package/dist/cjs/redux/actions/asset-uploads.js +2 -2
  9. package/dist/cjs/redux/actions/asset-uploads.js.map +1 -1
  10. package/dist/esm/components/auth-gate/AuthGate.js +5 -0
  11. package/dist/esm/components/auth-gate/AuthGate.js.map +1 -1
  12. package/dist/esm/components/dropdown/{dropdown.stories.js → Dropdown.stories.js} +1 -1
  13. package/dist/esm/components/dropdown/{dropdown.stories.js.map → Dropdown.stories.js.map} +1 -1
  14. package/dist/esm/components/header/Header.d.ts +1 -0
  15. package/dist/esm/components/header/Header.js +13 -2
  16. package/dist/esm/components/header/Header.js.map +1 -1
  17. package/dist/esm/redux/actions/asset-uploads.js +2 -2
  18. package/dist/esm/redux/actions/asset-uploads.js.map +1 -1
  19. package/package.json +1 -1
  20. package/src/components/auth-gate/AuthGate.tsx +5 -0
  21. package/src/components/header/Header.tsx +29 -2
  22. package/src/redux/actions/asset-uploads.ts +2 -1
  23. package/dist/cjs/components/app-wrapper/AppWrapper_BACKUP_73190.d.ts +0 -27
  24. package/dist/cjs/components/app-wrapper/AppWrapper_BACKUP_73190.js +0 -243
  25. package/dist/cjs/components/app-wrapper/AppWrapper_BACKUP_73190.js.map +0 -1
  26. package/dist/cjs/components/app-wrapper/AppWrapper_BASE_73190.d.ts +0 -28
  27. package/dist/cjs/components/app-wrapper/AppWrapper_BASE_73190.js +0 -255
  28. package/dist/cjs/components/app-wrapper/AppWrapper_BASE_73190.js.map +0 -1
  29. package/dist/cjs/components/app-wrapper/AppWrapper_LOCAL_73190.d.ts +0 -27
  30. package/dist/cjs/components/app-wrapper/AppWrapper_LOCAL_73190.js +0 -243
  31. package/dist/cjs/components/app-wrapper/AppWrapper_LOCAL_73190.js.map +0 -1
  32. package/dist/cjs/components/app-wrapper/AppWrapper_REMOTE_73190.d.ts +0 -28
  33. package/dist/cjs/components/app-wrapper/AppWrapper_REMOTE_73190.js +0 -251
  34. package/dist/cjs/components/app-wrapper/AppWrapper_REMOTE_73190.js.map +0 -1
  35. package/dist/cjs/components/error-message-preview/ErrorMessagePreview.d.ts +0 -15
  36. package/dist/cjs/components/error-message-preview/ErrorMessagePreview.js +0 -91
  37. package/dist/cjs/components/error-message-preview/ErrorMessagePreview.js.map +0 -1
  38. package/dist/cjs/components/header/Header_BACKUP_73021.d.ts +0 -33
  39. package/dist/cjs/components/header/Header_BACKUP_73021.js +0 -393
  40. package/dist/cjs/components/header/Header_BACKUP_73021.js.map +0 -1
  41. package/dist/cjs/components/header/Header_BASE_73021.d.ts +0 -29
  42. package/dist/cjs/components/header/Header_BASE_73021.js +0 -376
  43. package/dist/cjs/components/header/Header_BASE_73021.js.map +0 -1
  44. package/dist/cjs/components/header/Header_LOCAL_73021.d.ts +0 -33
  45. package/dist/cjs/components/header/Header_LOCAL_73021.js +0 -382
  46. package/dist/cjs/components/header/Header_LOCAL_73021.js.map +0 -1
  47. package/dist/cjs/components/header/Header_REMOTE_73021.d.ts +0 -30
  48. package/dist/cjs/components/header/Header_REMOTE_73021.js +0 -386
  49. package/dist/cjs/components/header/Header_REMOTE_73021.js.map +0 -1
  50. package/dist/esm/components/app-wrapper/AppWrapper_BACKUP_73190.d.ts +0 -27
  51. package/dist/esm/components/app-wrapper/AppWrapper_BACKUP_73190.js +0 -194
  52. package/dist/esm/components/app-wrapper/AppWrapper_BACKUP_73190.js.map +0 -1
  53. package/dist/esm/components/app-wrapper/AppWrapper_BASE_73190.d.ts +0 -28
  54. package/dist/esm/components/app-wrapper/AppWrapper_BASE_73190.js +0 -208
  55. package/dist/esm/components/app-wrapper/AppWrapper_BASE_73190.js.map +0 -1
  56. package/dist/esm/components/app-wrapper/AppWrapper_LOCAL_73190.d.ts +0 -27
  57. package/dist/esm/components/app-wrapper/AppWrapper_LOCAL_73190.js +0 -194
  58. package/dist/esm/components/app-wrapper/AppWrapper_LOCAL_73190.js.map +0 -1
  59. package/dist/esm/components/app-wrapper/AppWrapper_REMOTE_73190.d.ts +0 -28
  60. package/dist/esm/components/app-wrapper/AppWrapper_REMOTE_73190.js +0 -204
  61. package/dist/esm/components/app-wrapper/AppWrapper_REMOTE_73190.js.map +0 -1
  62. package/dist/esm/components/error-message-preview/ErrorMessagePreview.d.ts +0 -15
  63. package/dist/esm/components/error-message-preview/ErrorMessagePreview.js +0 -35
  64. package/dist/esm/components/error-message-preview/ErrorMessagePreview.js.map +0 -1
  65. package/dist/esm/components/header/Header_BACKUP_73021.d.ts +0 -33
  66. package/dist/esm/components/header/Header_BACKUP_73021.js +0 -336
  67. package/dist/esm/components/header/Header_BACKUP_73021.js.map +0 -1
  68. package/dist/esm/components/header/Header_BASE_73021.d.ts +0 -29
  69. package/dist/esm/components/header/Header_BASE_73021.js +0 -322
  70. package/dist/esm/components/header/Header_BASE_73021.js.map +0 -1
  71. package/dist/esm/components/header/Header_LOCAL_73021.d.ts +0 -33
  72. package/dist/esm/components/header/Header_LOCAL_73021.js +0 -328
  73. package/dist/esm/components/header/Header_LOCAL_73021.js.map +0 -1
  74. package/dist/esm/components/header/Header_REMOTE_73021.d.ts +0 -30
  75. package/dist/esm/components/header/Header_REMOTE_73021.js +0 -329
  76. package/dist/esm/components/header/Header_REMOTE_73021.js.map +0 -1
  77. /package/dist/cjs/components/dropdown/{dropdown.stories.d.ts → Dropdown.stories.d.ts} +0 -0
  78. /package/dist/esm/components/dropdown/{dropdown.stories.d.ts → Dropdown.stories.d.ts} +0 -0
  79. /package/src/components/dropdown/{dropdown.stories.tsx → Dropdown.stories.tsx} +0 -0
@@ -2,7 +2,12 @@ import * as React from 'react';
2
2
  import ImposiumDropdown from '../dropdown/Dropdown';
3
3
  import ServiceIcon from '../service-icon/ServiceIcon';
4
4
  import { string2HexCode, parameterizeServiceUrl } from '../../Util';
5
- import { ICON_CHEVRON_DOWN, ICON_CHEVRON_UP, ICON_HELP } from '../../constants/icons';
5
+ import {
6
+ ICON_CHEVRON_DOWN,
7
+ ICON_CHEVRON_UP,
8
+ ICON_HELP,
9
+ ICON_UP_RIGHT_FROM_SQUARE
10
+ } from '../../constants/icons';
6
11
  import { connect } from 'react-redux';
7
12
  import Spinner from '../spinner/Spinner';
8
13
  import _ from 'lodash';
@@ -11,6 +16,7 @@ import AssetsTableDateCell from '../assets/AssetsTableDateCell';
11
16
  import SessionService, { IHubSession } from '../../services/Session';
12
17
  import { setAccessData } from '../../redux/actions/access';
13
18
  import { bindActionCreators } from 'redux';
19
+ import Button from '../button/Button';
14
20
 
15
21
  export interface IHeaderProps {
16
22
  email?: string;
@@ -23,6 +29,7 @@ export interface IHeaderProps {
23
29
  onStoryChange?: (story: any) => any;
24
30
  logout: (...args) => any;
25
31
  additionalButtons?: any[];
32
+ CrMLink?: string;
26
33
  auth: any;
27
34
  story: any;
28
35
  baseUrl: any;
@@ -275,6 +282,21 @@ class ImposiumHeader extends React.PureComponent<IHeaderProps, IHeaderState> {
275
282
  return toggle ? ImposiumHeader.UP : ImposiumHeader.DOWN;
276
283
  };
277
284
 
285
+ private getCrMLinkButton(link) {
286
+ return (
287
+ <a
288
+ target='_blank'
289
+ href={link}>
290
+ <Button
291
+ color='primary'
292
+ style='bold'
293
+ size='large'>
294
+ {ICON_UP_RIGHT_FROM_SQUARE}&nbsp;{'Creative Manager'}
295
+ </Button>
296
+ </a>
297
+ );
298
+ }
299
+
278
300
  private renderServiceAnchor = (
279
301
  s: any,
280
302
  activeOrganization: string,
@@ -573,6 +595,8 @@ class ImposiumHeader extends React.PureComponent<IHeaderProps, IHeaderState> {
573
595
  </>
574
596
  );
575
597
 
598
+ const CrMLink = this.props.CrMLink ? this.getCrMLinkButton(this.props.CrMLink) : null;
599
+
576
600
  return (
577
601
  <nav
578
602
  id='imposium-header'
@@ -586,7 +610,10 @@ class ImposiumHeader extends React.PureComponent<IHeaderProps, IHeaderState> {
586
610
 
587
611
  <span className='inner-right'>
588
612
  {storyToggle}
589
- <div className='additional-buttons'>{additionalButtons}</div>
613
+ <div className='additional-buttons'>
614
+ {additionalButtons}
615
+ {CrMLink}
616
+ </div>
590
617
  {accountDropdownToggle}
591
618
  <a
592
619
  href='https://support.flashtalking.com/hc/en-us/sections/25515903148819-Imposium'
@@ -116,6 +116,7 @@ const uploadAssetHandler = (api: IImposiumAPI, dispatch, getStore) => {
116
116
  const {
117
117
  project: { storyId },
118
118
  editor: {
119
+ fromCrM,
119
120
  assetUploads: {
120
121
  assignToStory,
121
122
  tagByFileName,
@@ -173,7 +174,7 @@ const uploadAssetHandler = (api: IImposiumAPI, dispatch, getStore) => {
173
174
 
174
175
  const createPromise = (activeIndex: number) => {
175
176
  const queueLength: number = uploadBlobs.length;
176
- const sId = assignToStory && storyId ? storyId : null;
177
+ const sId = (assignToStory || fromCrM) && storyId ? storyId : null;
177
178
  const processingTimeout: number = -1;
178
179
  const isUploading =
179
180
  uploads.find((f) => f.filename === uploadBlobs[activeIndex].filename)?.percent > 0;
@@ -1,27 +0,0 @@
1
- import * as React from 'react';
2
- import { IIdentity } from '../../services/Auth0';
3
- export interface IAppWrapperProps {
4
- children: React.ReactChildren;
5
- auth0Domain: string;
6
- auth0ClientId: string;
7
- organizationId: string;
8
- baseUrl: string;
9
- storyId?: string;
10
- serviceId: number;
11
- access: any;
12
- auth: any;
13
- isFreshUser: boolean;
14
- setAccessData(accessData: any): any;
15
- allowUnauthenticatedRender: boolean;
16
- onAuthenticated: (activeOrgId: string, activeStoryId: string) => any;
17
- onAuthenticationFailure: (e: Error) => any;
18
- showRequestAccess?: boolean;
19
- login: (id: IIdentity) => any;
20
- clearCachedAuth: () => any;
21
- }
22
- export interface IAppWrapperState {
23
- blockRender: boolean;
24
- restrictAccess: boolean;
25
- }
26
- declare const _default: any;
27
- export default _default;
@@ -1,243 +0,0 @@
1
- "use strict";
2
- var __extends = (this && this.__extends) || (function () {
3
- var extendStatics = function (d, b) {
4
- extendStatics = Object.setPrototypeOf ||
5
- ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||
6
- function (d, b) { for (var p in b) if (Object.prototype.hasOwnProperty.call(b, p)) d[p] = b[p]; };
7
- return extendStatics(d, b);
8
- };
9
- return function (d, b) {
10
- if (typeof b !== "function" && b !== null)
11
- throw new TypeError("Class extends value " + String(b) + " is not a constructor or null");
12
- extendStatics(d, b);
13
- function __() { this.constructor = d; }
14
- d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());
15
- };
16
- })();
17
- var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
18
- if (k2 === undefined) k2 = k;
19
- var desc = Object.getOwnPropertyDescriptor(m, k);
20
- if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
21
- desc = { enumerable: true, get: function() { return m[k]; } };
22
- }
23
- Object.defineProperty(o, k2, desc);
24
- }) : (function(o, m, k, k2) {
25
- if (k2 === undefined) k2 = k;
26
- o[k2] = m[k];
27
- }));
28
- var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
29
- Object.defineProperty(o, "default", { enumerable: true, value: v });
30
- }) : function(o, v) {
31
- o["default"] = v;
32
- });
33
- var __importStar = (this && this.__importStar) || function (mod) {
34
- if (mod && mod.__esModule) return mod;
35
- var result = {};
36
- if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);
37
- __setModuleDefault(result, mod);
38
- return result;
39
- };
40
- var __importDefault = (this && this.__importDefault) || function (mod) {
41
- return (mod && mod.__esModule) ? mod : { "default": mod };
42
- };
43
- Object.defineProperty(exports, "__esModule", { value: true });
44
- var React = __importStar(require("react"));
45
- var NoAccess_1 = __importDefault(require("../no-access/NoAccess"));
46
- var Header_1 = __importDefault(require("../header/Header"));
47
- var Session_1 = __importDefault(require("../../services/Session"));
48
- var Auth0_1 = __importDefault(require("../../services/Auth0"));
49
- var react_redux_1 = require("react-redux");
50
- var redux_1 = require("redux");
51
- var auth_1 = require("../../redux/actions/auth");
52
- var Util_1 = require("../../Util");
53
- var access_1 = require("../../redux/actions/access");
54
- var AppWrapper = /** @class */ (function (_super) {
55
- __extends(AppWrapper, _super);
56
- function AppWrapper(p) {
57
- var _this = _super.call(this, p) || this;
58
- _this.componentDidMount = function () {
59
- var _a = _this.props, auth0ClientId = _a.auth0ClientId, auth0Domain = _a.auth0Domain;
60
- Auth0_1.default.bindToClient(auth0ClientId, auth0Domain);
61
- var validAccessLevel = (0, Util_1.validateAccessLevel)(_this.props.organizationId, _this.props.serviceId, _this.props.access);
62
- if (!_this.state.restrictAccess && !validAccessLevel) {
63
- _this.setState({ restrictAccess: true });
64
- }
65
- if (_this.state.restrictAccess && validAccessLevel) {
66
- _this.setState({ restrictAccess: false });
67
- }
68
- // Always check the session
69
- _this.doCheckSession(true);
70
- };
71
- /*
72
- Check the auth0 session expiry
73
- */
74
- _this.componentDidUpdate = function (prevProps, prevState) {
75
- var auth = _this.props.auth;
76
- var validAccessLevel;
77
- if (auth) {
78
- var exp = auth.idTokenPayload.exp;
79
- var validSession = Auth0_1.default.checkExpiry(exp);
80
- if (!validSession) {
81
- _this.props.clearCachedAuth();
82
- _this.doCheckSession();
83
- }
84
- }
85
- if (_this.props.organizationId !== prevProps.organizationId ||
86
- _this.props.access !== prevProps.access) {
87
- validAccessLevel = (0, Util_1.validateAccessLevel)(_this.props.organizationId, _this.props.serviceId, _this.props.access);
88
- if (!_this.state.restrictAccess && !validAccessLevel) {
89
- _this.setState({ restrictAccess: true });
90
- }
91
- if (_this.state.restrictAccess && validAccessLevel) {
92
- _this.setState({ restrictAccess: false });
93
- }
94
- }
95
- };
96
- /*
97
- Emit creds to React parent
98
- */
99
- _this.propagateCreds = function (freshAccess, freshIdentity) {
100
- var _a = _this.props, storyId = _a.storyId, organizationId = _a.organizationId, onAuthenticated = _a.onAuthenticated;
101
- var initialStoryId = storyId;
102
- var initialOrganizationId = organizationId;
103
- var firstOrg = freshAccess.organizations[0];
104
- var getIDsFromSession = function () {
105
- var session = Session_1.default.getSession();
106
- if (session && session.story_id && session.organization_id) {
107
- var org = freshAccess.organizations.find(function (o) { return o.id === session.organization_id; });
108
- if (org) {
109
- var story = org.stories.find(function (s) { return s.id === session.story_id; });
110
- if (story) {
111
- return { orgId: org.id, storyId: story.id };
112
- }
113
- }
114
- }
115
- return null;
116
- };
117
- // If the org ID is not provided, but the storyID is provided, find the org ID if we can, if not, use the first org ID found and we'll show the story not found interface
118
- if (!initialOrganizationId && initialStoryId) {
119
- var org = freshAccess.organizations.find(function (o) {
120
- return o.stories.find(function (s) { return s.id === initialStoryId; });
121
- });
122
- if (org) {
123
- initialOrganizationId = org.id;
124
- }
125
- else {
126
- initialOrganizationId = firstOrg.id;
127
- }
128
- }
129
- if (!initialStoryId) {
130
- // If storyID is not provided, try to use the one from the previous session
131
- var sessionIds = getIDsFromSession();
132
- if (sessionIds) {
133
- initialOrganizationId = sessionIds.orgId;
134
- initialStoryId = sessionIds.storyId;
135
- }
136
- else {
137
- // If that doesn't work - default to the first org & story
138
- var story = firstOrg.stories[0];
139
- initialOrganizationId = firstOrg.id;
140
- initialStoryId = story.id;
141
- }
142
- }
143
- Session_1.default.buildFreshSession(freshIdentity, initialOrganizationId, initialStoryId);
144
- onAuthenticated(initialOrganizationId, initialStoryId);
145
- if (_this.state.blockRender) {
146
- _this.setState({ blockRender: false });
147
- }
148
- };
149
- /*
150
- Bust cached creds if exist, invoke auth failure handler
151
- */
152
- _this.handleCheckSessionFailure = function (e) {
153
- if (_this.props.storyId) {
154
- Session_1.default.cacheStoryId(_this.props.storyId);
155
- }
156
- else {
157
- Session_1.default.clearCachedStoryId();
158
- }
159
- if (_this.props.organizationId) {
160
- Session_1.default.cacheOrgId(_this.props.organizationId);
161
- }
162
- else {
163
- Session_1.default.clearCachedOrgId();
164
- }
165
- _this.props.clearCachedAuth();
166
- _this.props.onAuthenticationFailure(e);
167
- };
168
- /*
169
- Check auth0 session, pull Imposium access creds on success and initialize app-wrapper
170
- */
171
- _this.doCheckSession = function (blockRender) {
172
- if (blockRender === void 0) { blockRender = false; }
173
- var baseUrl = _this.props.baseUrl;
174
- if (blockRender) {
175
- _this.setState({ blockRender: true });
176
- }
177
- Auth0_1.default.checkSession()
178
- .then(function (freshIdentity) {
179
- var orgId = _this.props.organizationId
180
- ? _this.props.organizationId
181
- : Session_1.default.getCachedOrgId();
182
- Session_1.default.getAccessData(freshIdentity.idToken, baseUrl, false, orgId)
183
- .then(function (freshAccess) {
184
- _this.props.setAccessData(freshAccess);
185
- _this.props.login(freshIdentity);
186
- _this.propagateCreds(freshAccess, freshIdentity);
187
- })
188
- .catch(function (e) {
189
- console.error(e);
190
- _this.handleCheckSessionFailure(e);
191
- });
192
- })
193
- .catch(function (e) {
194
- console.error(e);
195
- _this.handleCheckSessionFailure(e);
196
- });
197
- };
198
- _this.render = function () {
199
- var _a = _this.state, blockRender = _a.blockRender, restrictAccess = _a.restrictAccess;
200
- var _b = _this.props, children = _b.children, showRequestAccess = _b.showRequestAccess, allowUnauthenticatedRender = _b.allowUnauthenticatedRender;
201
- var innerContent;
202
- if (!blockRender && restrictAccess) {
203
- var showNoOrgs = _this.props.access &&
204
- _this.props.access.organizations &&
205
- _this.props.access.organizations.length === 0;
206
- var errorIndicator = showNoOrgs
207
- ? AppWrapper.NO_ORGS
208
- : showRequestAccess
209
- ? AppWrapper.RESTRICTED_REQUEST
210
- : AppWrapper.RESTRICTED_BLOCK;
211
- innerContent = [
212
- typeof children[0] === 'object' && children[0].type === Header_1.default && children[0],
213
- errorIndicator
214
- ];
215
- }
216
- if ((!blockRender && !restrictAccess) || allowUnauthenticatedRender) {
217
- innerContent = children;
218
- }
219
- return (React.createElement("div", { id: 'app', className: 'app' }, innerContent));
220
- };
221
- _this.state = {
222
- blockRender: true,
223
- restrictAccess: false
224
- };
225
- return _this;
226
- }
227
- AppWrapper.RESTRICTED_REQUEST = (React.createElement(NoAccess_1.default, { key: 'restriction-msg', type: 'request' }));
228
- AppWrapper.RESTRICTED_BLOCK = (React.createElement(NoAccess_1.default, { key: 'restriction-msg', type: 'restrict' }));
229
- AppWrapper.NO_ORGS = (React.createElement(NoAccess_1.default, { key: 'restriction-msg', type: 'no-orgs' }));
230
- return AppWrapper;
231
- }(React.Component));
232
- var mapDispatchToProps = function (dispatch) {
233
- return (0, redux_1.bindActionCreators)({
234
- login: auth_1.login,
235
- setAccessData: access_1.setAccessData,
236
- clearCachedAuth: auth_1.clearCachedAuth
237
- }, dispatch);
238
- };
239
- var mapStateToProps = function (state) {
240
- return { auth: state.auth, access: state.access };
241
- };
242
- exports.default = (0, react_redux_1.connect)(mapStateToProps, mapDispatchToProps)(AppWrapper);
243
- //# sourceMappingURL=AppWrapper_BACKUP_73190.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"AppWrapper_BACKUP_73190.js","sourceRoot":"","sources":["../../../../src/components/app-wrapper/AppWrapper_BACKUP_73190.tsx"],"names":[],"mappings":"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"}
@@ -1,28 +0,0 @@
1
- import * as React from 'react';
2
- import { IIdentity } from '../../services/Auth0';
3
- export interface IAppWrapperProps {
4
- children: React.ReactChildren;
5
- auth0Domain: string;
6
- auth0ClientId: string;
7
- organizationId: string;
8
- baseUrl: string;
9
- storyId?: string;
10
- serviceId: number;
11
- access: any;
12
- auth: any;
13
- isFreshUser: boolean;
14
- allowUnauthenticatedRender: boolean;
15
- onAuthenticated: (activeOrgId: string, activeStoryId: string) => any;
16
- onAuthenticationFailure: (e: Error) => any;
17
- showRequestAccess?: boolean;
18
- login: (id: IIdentity) => any;
19
- clearCachedAuth: () => any;
20
- cacheAccessData: (accessData: any) => any;
21
- clearCachedAccessList: () => any;
22
- }
23
- export interface IAppWrapperState {
24
- blockRender: boolean;
25
- restrictAccess: boolean;
26
- }
27
- declare const _default: any;
28
- export default _default;
@@ -1,255 +0,0 @@
1
- "use strict";
2
- var __extends = (this && this.__extends) || (function () {
3
- var extendStatics = function (d, b) {
4
- extendStatics = Object.setPrototypeOf ||
5
- ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||
6
- function (d, b) { for (var p in b) if (Object.prototype.hasOwnProperty.call(b, p)) d[p] = b[p]; };
7
- return extendStatics(d, b);
8
- };
9
- return function (d, b) {
10
- if (typeof b !== "function" && b !== null)
11
- throw new TypeError("Class extends value " + String(b) + " is not a constructor or null");
12
- extendStatics(d, b);
13
- function __() { this.constructor = d; }
14
- d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());
15
- };
16
- })();
17
- var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
18
- if (k2 === undefined) k2 = k;
19
- var desc = Object.getOwnPropertyDescriptor(m, k);
20
- if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
21
- desc = { enumerable: true, get: function() { return m[k]; } };
22
- }
23
- Object.defineProperty(o, k2, desc);
24
- }) : (function(o, m, k, k2) {
25
- if (k2 === undefined) k2 = k;
26
- o[k2] = m[k];
27
- }));
28
- var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
29
- Object.defineProperty(o, "default", { enumerable: true, value: v });
30
- }) : function(o, v) {
31
- o["default"] = v;
32
- });
33
- var __importStar = (this && this.__importStar) || function (mod) {
34
- if (mod && mod.__esModule) return mod;
35
- var result = {};
36
- if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);
37
- __setModuleDefault(result, mod);
38
- return result;
39
- };
40
- var __importDefault = (this && this.__importDefault) || function (mod) {
41
- return (mod && mod.__esModule) ? mod : { "default": mod };
42
- };
43
- Object.defineProperty(exports, "__esModule", { value: true });
44
- var React = __importStar(require("react"));
45
- var NoAccess_1 = __importDefault(require("../no-access/NoAccess"));
46
- var Header_1 = __importDefault(require("../header/Header"));
47
- var Session_1 = __importDefault(require("../../services/Session"));
48
- var Auth0_1 = __importDefault(require("../../services/Auth0"));
49
- var react_redux_1 = require("react-redux");
50
- var redux_1 = require("redux");
51
- var auth_1 = require("../../redux/actions/auth");
52
- var access_1 = require("../../redux/actions/access");
53
- var Util_1 = require("../../Util");
54
- var AppWrapper = /** @class */ (function (_super) {
55
- __extends(AppWrapper, _super);
56
- function AppWrapper(p) {
57
- var _this = _super.call(this, p) || this;
58
- _this.componentDidMount = function () {
59
- var _a = _this.props, auth = _a.auth, access = _a.access, auth0ClientId = _a.auth0ClientId, auth0Domain = _a.auth0Domain, isFreshUser = _a.isFreshUser;
60
- var session = Session_1.default.getSession();
61
- Auth0_1.default.bindToClient(auth0ClientId, auth0Domain);
62
- var validAccessLevel = (0, Util_1.validateAccessLevel)(_this.props.organizationId, _this.props.serviceId, _this.props.access);
63
- if (!_this.state.restrictAccess && !validAccessLevel) {
64
- _this.setState({ restrictAccess: true });
65
- }
66
- if (_this.state.restrictAccess && validAccessLevel) {
67
- _this.setState({ restrictAccess: false });
68
- }
69
- // If cookie, auth or access data is missing / mismatched,
70
- // silently check auth0 session and refresh flow on success
71
- if (!isFreshUser &&
72
- auth !== null &&
73
- access !== null &&
74
- typeof session === 'object' &&
75
- typeof session.sub === 'string' &&
76
- session.sub === auth.idTokenPayload.sub &&
77
- session.stories_hash === Session_1.default.generateStoriesHash(access) &&
78
- session.orgs_hash === Session_1.default.generateOrgsHash(access)) {
79
- _this.propagateCreds();
80
- }
81
- else {
82
- _this.doCheckSession(true);
83
- }
84
- };
85
- /*
86
- Check the auth0 session expiry
87
- */
88
- _this.componentDidUpdate = function (prevProps, prevState) {
89
- var auth = _this.props.auth;
90
- var validAccessLevel;
91
- if (auth) {
92
- var exp = auth.idTokenPayload.exp;
93
- var validSession = Auth0_1.default.checkExpiry(exp);
94
- if (!validSession) {
95
- _this.props.clearCachedAuth();
96
- _this.props.clearCachedAccessList();
97
- _this.doCheckSession();
98
- }
99
- }
100
- if (_this.props.organizationId !== prevProps.organizationId) {
101
- validAccessLevel = (0, Util_1.validateAccessLevel)(_this.props.organizationId, _this.props.serviceId, _this.props.access);
102
- if (!_this.state.restrictAccess && !validAccessLevel) {
103
- _this.setState({ restrictAccess: true });
104
- }
105
- if (_this.state.restrictAccess && validAccessLevel) {
106
- _this.setState({ restrictAccess: false });
107
- }
108
- }
109
- };
110
- /*
111
- Emit creds to React parent
112
- */
113
- _this.propagateCreds = function () {
114
- var _a = _this.props, auth = _a.auth, access = _a.access, storyId = _a.storyId, onAuthenticated = _a.onAuthenticated;
115
- var activeOrgId = _this.determineActiveOrganization(auth, access);
116
- var activeStoryId = Session_1.default.getSession().story_id;
117
- var activeOrg;
118
- if (_this.props.storyId) {
119
- activeOrg = access.organizations.find(function (o) { return o.id === activeOrgId; });
120
- if (activeOrg && activeOrg.stories.find(function (s) { return s.id === storyId; })) {
121
- activeStoryId = storyId;
122
- }
123
- }
124
- onAuthenticated(activeOrgId, activeStoryId);
125
- if (_this.state.blockRender) {
126
- _this.setState({ blockRender: false });
127
- }
128
- };
129
- /*
130
- Bust cached creds if exist, invoke auth failure handler
131
- */
132
- _this.handleCheckSessionFailure = function (e) {
133
- _this.props.clearCachedAuth();
134
- _this.props.clearCachedAccessList();
135
- _this.props.onAuthenticationFailure(e);
136
- };
137
- /*
138
- Check auth0 session, pull Imposium access creds on success and initialize app-wrapper
139
- */
140
- _this.doCheckSession = function (blockRender) {
141
- if (blockRender === void 0) { blockRender = false; }
142
- var baseUrl = _this.props.baseUrl;
143
- if (blockRender) {
144
- _this.setState({ blockRender: true });
145
- }
146
- Auth0_1.default.checkSession()
147
- .then(function (freshIdentity) {
148
- Session_1.default.getAccessData(freshIdentity.idToken, baseUrl)
149
- .then(function (freshAccess) {
150
- _this.props.login(freshIdentity);
151
- _this.props.cacheAccessData(freshAccess);
152
- Session_1.default.buildFreshSession(freshIdentity, freshAccess);
153
- _this.propagateCreds();
154
- })
155
- .catch(function (e) {
156
- console.error(e);
157
- _this.handleCheckSessionFailure(e);
158
- });
159
- })
160
- .catch(function (e) {
161
- console.error(e);
162
- _this.handleCheckSessionFailure(e);
163
- });
164
- };
165
- /*
166
- Figure out what the active org should be based on app-wrapper configuration
167
- */
168
- _this.determineActiveOrganization = function (auth, access) {
169
- var serviceId = _this.props.serviceId;
170
- var organizations = access.organizations;
171
- var session = Session_1.default.getSession();
172
- var allOrgIdsFlattened = organizations.map(function (o) { return o.id; });
173
- var activeOrgId = _this.determineActiveOrganizationIn(auth, session, allOrgIdsFlattened);
174
- var activeOrg = organizations.find(function (o) { return o.id === activeOrgId; });
175
- if (activeOrg && !activeOrg.services.includes(serviceId)) {
176
- _this.setState({ restrictAccess: true });
177
- }
178
- return activeOrgId;
179
- };
180
- /*
181
- Update session if no session exists or diff in org id
182
- */
183
- _this.setActiveOrganization = function (organizationId, exp, sharedSession) {
184
- if (!sharedSession ||
185
- !sharedSession.organization_id ||
186
- sharedSession.organization_id !== organizationId) {
187
- var activeOrg = _this.props.access.organizations.find(function (o) { return o.id === organizationId; });
188
- var firstStoryId = typeof activeOrg.stories[0] === 'object' ? activeOrg.stories[0].id : '';
189
- Session_1.default.updateSession({ organization_id: organizationId, story_id: firstStoryId }, exp);
190
- }
191
- return organizationId;
192
- };
193
- _this.render = function () {
194
- var _a = _this.state, blockRender = _a.blockRender, restrictAccess = _a.restrictAccess;
195
- var _b = _this.props, children = _b.children, showRequestAccess = _b.showRequestAccess, allowUnauthenticatedRender = _b.allowUnauthenticatedRender;
196
- var innerContent;
197
- if (!blockRender && restrictAccess) {
198
- var showNoOrgs = _this.props.access &&
199
- _this.props.access.organizations &&
200
- _this.props.access.organizations.length === 0;
201
- var errorIndicator = showNoOrgs
202
- ? AppWrapper.NO_ORGS
203
- : showRequestAccess
204
- ? AppWrapper.RESTRICTED_REQUEST
205
- : AppWrapper.RESTRICTED_BLOCK;
206
- innerContent = [
207
- typeof children[0] === 'object' && children[0].type === Header_1.default && children[0],
208
- errorIndicator
209
- ];
210
- }
211
- if ((!blockRender && !restrictAccess) || allowUnauthenticatedRender) {
212
- innerContent = children;
213
- }
214
- return (React.createElement("div", { id: 'app', className: 'app' }, innerContent));
215
- };
216
- _this.state = {
217
- blockRender: true,
218
- restrictAccess: false
219
- };
220
- return _this;
221
- }
222
- AppWrapper.prototype.determineActiveOrganizationIn = function (auth, session, organizationIds) {
223
- var organizationId = this.props.organizationId;
224
- var exp = auth.idTokenPayload.exp;
225
- if (organizationIds.length > 0) {
226
- if (organizationId && organizationIds.indexOf(organizationId) > -1) {
227
- return this.setActiveOrganization(organizationId, exp, session);
228
- }
229
- if (session &&
230
- session.organization_id &&
231
- organizationIds.indexOf(session.organization_id) > -1) {
232
- return session.organization_id;
233
- }
234
- return this.setActiveOrganization(organizationIds[0], exp, session);
235
- }
236
- return '';
237
- };
238
- AppWrapper.RESTRICTED_REQUEST = (React.createElement(NoAccess_1.default, { key: 'restriction-msg', type: 'request' }));
239
- AppWrapper.RESTRICTED_BLOCK = (React.createElement(NoAccess_1.default, { key: 'restriction-msg', type: 'restrict' }));
240
- AppWrapper.NO_ORGS = (React.createElement(NoAccess_1.default, { key: 'restriction-msg', type: 'no-orgs' }));
241
- return AppWrapper;
242
- }(React.Component));
243
- var mapDispatchToProps = function (dispatch) {
244
- return (0, redux_1.bindActionCreators)({
245
- login: auth_1.login,
246
- clearCachedAuth: auth_1.clearCachedAuth,
247
- cacheAccessData: access_1.cacheAccessData,
248
- clearCachedAccessList: access_1.clearCachedAccessList
249
- }, dispatch);
250
- };
251
- var mapStateToProps = function (state) {
252
- return { auth: state.auth, access: state.access };
253
- };
254
- exports.default = (0, react_redux_1.connect)(mapStateToProps, mapDispatchToProps)(AppWrapper);
255
- //# sourceMappingURL=AppWrapper_BASE_73190.js.map