@imposium-hub/components 2.9.0-4 → 2.9.0-5

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 (114) hide show
  1. package/dist/cjs/components/app-wrapper/AppWrapperV2.d.ts +26 -0
  2. package/dist/cjs/components/app-wrapper/AppWrapperV2.js +266 -0
  3. package/dist/cjs/components/app-wrapper/AppWrapperV2.js.map +1 -0
  4. package/dist/cjs/components/app-wrapper/AppWrapperV3.d.ts +19 -0
  5. package/dist/cjs/components/app-wrapper/AppWrapperV3.js +195 -0
  6. package/dist/cjs/components/app-wrapper/AppWrapperV3.js.map +1 -0
  7. package/dist/cjs/components/app-wrapper/AppWrapper_BACKUP_73190.d.ts +27 -0
  8. package/dist/cjs/components/app-wrapper/AppWrapper_BACKUP_73190.js +243 -0
  9. package/dist/cjs/components/app-wrapper/AppWrapper_BACKUP_73190.js.map +1 -0
  10. package/dist/cjs/components/app-wrapper/AppWrapper_BASE_73190.d.ts +28 -0
  11. package/dist/cjs/components/app-wrapper/AppWrapper_BASE_73190.js +255 -0
  12. package/dist/cjs/components/app-wrapper/AppWrapper_BASE_73190.js.map +1 -0
  13. package/dist/cjs/components/app-wrapper/AppWrapper_LOCAL_73190.d.ts +27 -0
  14. package/dist/cjs/components/app-wrapper/AppWrapper_LOCAL_73190.js +243 -0
  15. package/dist/cjs/components/app-wrapper/AppWrapper_LOCAL_73190.js.map +1 -0
  16. package/dist/cjs/components/app-wrapper/AppWrapper_REMOTE_73190.d.ts +28 -0
  17. package/dist/cjs/components/app-wrapper/AppWrapper_REMOTE_73190.js +251 -0
  18. package/dist/cjs/components/app-wrapper/AppWrapper_REMOTE_73190.js.map +1 -0
  19. package/dist/cjs/components/auth-gate/AuthGate.d.ts +2 -0
  20. package/dist/cjs/components/auth-gate/AuthGate.js +105 -0
  21. package/dist/cjs/components/auth-gate/AuthGate.js.map +1 -0
  22. package/dist/cjs/components/error-message-preview/ErrorMessagePreview.d.ts +15 -0
  23. package/dist/cjs/components/error-message-preview/ErrorMessagePreview.js +91 -0
  24. package/dist/cjs/components/error-message-preview/ErrorMessagePreview.js.map +1 -0
  25. package/dist/cjs/components/header/Header_BACKUP_73021.d.ts +33 -0
  26. package/dist/cjs/components/header/Header_BACKUP_73021.js +393 -0
  27. package/dist/cjs/components/header/Header_BACKUP_73021.js.map +1 -0
  28. package/dist/cjs/components/header/Header_BASE_73021.d.ts +29 -0
  29. package/dist/cjs/components/header/Header_BASE_73021.js +376 -0
  30. package/dist/cjs/components/header/Header_BASE_73021.js.map +1 -0
  31. package/dist/cjs/components/header/Header_LOCAL_73021.d.ts +33 -0
  32. package/dist/cjs/components/header/Header_LOCAL_73021.js +382 -0
  33. package/dist/cjs/components/header/Header_LOCAL_73021.js.map +1 -0
  34. package/dist/cjs/components/header/Header_REMOTE_73021.d.ts +30 -0
  35. package/dist/cjs/components/header/Header_REMOTE_73021.js +386 -0
  36. package/dist/cjs/components/header/Header_REMOTE_73021.js.map +1 -0
  37. package/dist/cjs/components/header/StoryDropdown.d.ts +6 -0
  38. package/dist/cjs/components/header/StoryDropdown.js +111 -0
  39. package/dist/cjs/components/header/StoryDropdown.js.map +1 -0
  40. package/dist/cjs/redux/actions/auth.d.ts +9 -0
  41. package/dist/cjs/redux/actions/auth.js +30 -0
  42. package/dist/cjs/redux/actions/auth.js.map +1 -0
  43. package/dist/cjs/redux/actions/publish.js +10 -2
  44. package/dist/cjs/redux/actions/publish.js.map +1 -1
  45. package/dist/cjs/redux/reducers/auth.d.ts +3 -0
  46. package/dist/cjs/redux/reducers/auth.js +67 -0
  47. package/dist/cjs/redux/reducers/auth.js.map +1 -0
  48. package/dist/cjs/services/Auth0.d.ts +18 -0
  49. package/dist/cjs/services/Auth0.js +102 -0
  50. package/dist/cjs/services/Auth0.js.map +1 -0
  51. package/dist/cjs/services/Session.d.ts +26 -0
  52. package/dist/cjs/services/Session.js +155 -0
  53. package/dist/cjs/services/Session.js.map +1 -0
  54. package/dist/esm/components/app-wrapper/AppWrapperV2.d.ts +26 -0
  55. package/dist/esm/components/app-wrapper/AppWrapperV2.js +142 -0
  56. package/dist/esm/components/app-wrapper/AppWrapperV2.js.map +1 -0
  57. package/dist/esm/components/app-wrapper/AppWrapperV3.d.ts +19 -0
  58. package/dist/esm/components/app-wrapper/AppWrapperV3.js +88 -0
  59. package/dist/esm/components/app-wrapper/AppWrapperV3.js.map +1 -0
  60. package/dist/esm/components/app-wrapper/AppWrapper_BACKUP_73190.d.ts +27 -0
  61. package/dist/esm/components/app-wrapper/AppWrapper_BACKUP_73190.js +194 -0
  62. package/dist/esm/components/app-wrapper/AppWrapper_BACKUP_73190.js.map +1 -0
  63. package/dist/esm/components/app-wrapper/AppWrapper_BASE_73190.d.ts +28 -0
  64. package/dist/esm/components/app-wrapper/AppWrapper_BASE_73190.js +208 -0
  65. package/dist/esm/components/app-wrapper/AppWrapper_BASE_73190.js.map +1 -0
  66. package/dist/esm/components/app-wrapper/AppWrapper_LOCAL_73190.d.ts +27 -0
  67. package/dist/esm/components/app-wrapper/AppWrapper_LOCAL_73190.js +194 -0
  68. package/dist/esm/components/app-wrapper/AppWrapper_LOCAL_73190.js.map +1 -0
  69. package/dist/esm/components/app-wrapper/AppWrapper_REMOTE_73190.d.ts +28 -0
  70. package/dist/esm/components/app-wrapper/AppWrapper_REMOTE_73190.js +204 -0
  71. package/dist/esm/components/app-wrapper/AppWrapper_REMOTE_73190.js.map +1 -0
  72. package/dist/esm/components/auth-gate/AuthGate.d.ts +2 -0
  73. package/dist/esm/components/auth-gate/AuthGate.js +59 -0
  74. package/dist/esm/components/auth-gate/AuthGate.js.map +1 -0
  75. package/dist/esm/components/error-message-preview/ErrorMessagePreview.d.ts +15 -0
  76. package/dist/esm/components/error-message-preview/ErrorMessagePreview.js +35 -0
  77. package/dist/esm/components/error-message-preview/ErrorMessagePreview.js.map +1 -0
  78. package/dist/esm/components/header/Header_BACKUP_73021.d.ts +33 -0
  79. package/dist/esm/components/header/Header_BACKUP_73021.js +336 -0
  80. package/dist/esm/components/header/Header_BACKUP_73021.js.map +1 -0
  81. package/dist/esm/components/header/Header_BASE_73021.d.ts +29 -0
  82. package/dist/esm/components/header/Header_BASE_73021.js +322 -0
  83. package/dist/esm/components/header/Header_BASE_73021.js.map +1 -0
  84. package/dist/esm/components/header/Header_LOCAL_73021.d.ts +33 -0
  85. package/dist/esm/components/header/Header_LOCAL_73021.js +328 -0
  86. package/dist/esm/components/header/Header_LOCAL_73021.js.map +1 -0
  87. package/dist/esm/components/header/Header_REMOTE_73021.d.ts +30 -0
  88. package/dist/esm/components/header/Header_REMOTE_73021.js +329 -0
  89. package/dist/esm/components/header/Header_REMOTE_73021.js.map +1 -0
  90. package/dist/esm/components/header/StoryDropdown.d.ts +6 -0
  91. package/dist/esm/components/header/StoryDropdown.js +82 -0
  92. package/dist/esm/components/header/StoryDropdown.js.map +1 -0
  93. package/dist/esm/redux/actions/auth.d.ts +9 -0
  94. package/dist/esm/redux/actions/auth.js +25 -0
  95. package/dist/esm/redux/actions/auth.js.map +1 -0
  96. package/dist/esm/redux/actions/publish.js +10 -2
  97. package/dist/esm/redux/actions/publish.js.map +1 -1
  98. package/dist/esm/redux/reducers/auth.d.ts +3 -0
  99. package/dist/esm/redux/reducers/auth.js +27 -0
  100. package/dist/esm/redux/reducers/auth.js.map +1 -0
  101. package/dist/esm/services/Auth0.d.ts +18 -0
  102. package/dist/esm/services/Auth0.js +68 -0
  103. package/dist/esm/services/Auth0.js.map +1 -0
  104. package/dist/esm/services/Session.d.ts +26 -0
  105. package/dist/esm/services/Session.js +107 -0
  106. package/dist/esm/services/Session.js.map +1 -0
  107. package/package.json +1 -1
  108. package/src/redux/actions/publish.ts +10 -2
  109. package/dist/cjs/components/replace-files-modal/ReplaceFilesModal.d.ts +0 -11
  110. package/dist/cjs/components/replace-files-modal/ReplaceFilesModal.js +0 -191
  111. package/dist/cjs/components/replace-files-modal/ReplaceFilesModal.js.map +0 -1
  112. package/dist/esm/components/replace-files-modal/ReplaceFilesModal.d.ts +0 -11
  113. package/dist/esm/components/replace-files-modal/ReplaceFilesModal.js +0 -132
  114. package/dist/esm/components/replace-files-modal/ReplaceFilesModal.js.map +0 -1
@@ -0,0 +1,68 @@
1
+ import * as auth0 from 'auth0-js';
2
+ export default class AuthService {
3
+ static IMPOSIUM_APP_DEFAULTS = {
4
+ scope: 'openid',
5
+ audience: 'https://api.4cinsights.io/',
6
+ responseType: 'token id_token',
7
+ redirectUri: `${window.location.origin}/auth`
8
+ };
9
+ // Auth0 JS client
10
+ static auth0Client;
11
+ /*
12
+ Initialize the auth0 web client with client ID for a given app-wrapper
13
+ */
14
+ static bindToClient = (clientID, domain) => {
15
+ AuthService.auth0Client = new auth0.WebAuth({
16
+ clientID,
17
+ domain,
18
+ ...AuthService.IMPOSIUM_APP_DEFAULTS
19
+ });
20
+ };
21
+ /*
22
+ redirect to auth0 for login
23
+ */
24
+ static login = () => {
25
+ AuthService.auth0Client.authorize();
26
+ };
27
+ /*
28
+ Re-direct to auth0 to cancel session & instruct auth0 to redirect back to login
29
+ */
30
+ static logout = () => {
31
+ AuthService.auth0Client.logout({ returnTo: `${window.location.origin}/auth` });
32
+ };
33
+ /*
34
+ Validate auth0 expiry timestamp
35
+ */
36
+ static checkExpiry = (expiry) => expiry > Date.now().valueOf() / 1000;
37
+ /*
38
+ Parse out identity from hash
39
+ */
40
+ static parseIdFromHash = (hash) => {
41
+ return new Promise((resolve, reject) => {
42
+ AuthService.auth0Client.parseHash({ options: hash }, (e, id) => {
43
+ if (!e) {
44
+ resolve(id);
45
+ }
46
+ else {
47
+ reject(e);
48
+ }
49
+ });
50
+ });
51
+ };
52
+ /*
53
+ Defer to auth0 web servers to check if users session is valid
54
+ */
55
+ static checkSession = () => {
56
+ return new Promise((resolve, reject) => {
57
+ AuthService.auth0Client.checkSession({}, (e, id) => {
58
+ if (!e) {
59
+ resolve(id);
60
+ }
61
+ else {
62
+ reject(e);
63
+ }
64
+ });
65
+ });
66
+ };
67
+ }
68
+ //# sourceMappingURL=Auth0.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Auth0.js","sourceRoot":"","sources":["../../../src/services/Auth0.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,KAAK,MAAM,UAAU,CAAC;AAWlC,MAAM,CAAC,OAAO,OAAO,WAAW;IACpB,MAAM,CAAU,qBAAqB,GAAQ;QACjD,KAAK,EAAE,QAAQ;QACf,QAAQ,EAAE,4BAA4B;QACtC,YAAY,EAAE,gBAAgB;QAC9B,WAAW,EAAE,GAAG,MAAM,CAAC,QAAQ,CAAC,MAAM,OAAO;KAChD,CAAC;IAEF,kBAAkB;IACV,MAAM,CAAC,WAAW,CAAgB;IAE1C;;OAEG;IACI,MAAM,CAAC,YAAY,GAAG,CAAC,QAAgB,EAAE,MAAc,EAAQ,EAAE;QACpE,WAAW,CAAC,WAAW,GAAG,IAAI,KAAK,CAAC,OAAO,CAAC;YACxC,QAAQ;YACR,MAAM;YACN,GAAG,WAAW,CAAC,qBAAqB;SACvC,CAAC,CAAC;IACP,CAAC,CAAC;IAEF;;OAEG;IACI,MAAM,CAAC,KAAK,GAAG,GAAS,EAAE;QAC7B,WAAW,CAAC,WAAW,CAAC,SAAS,EAAE,CAAC;IACxC,CAAC,CAAC;IAEF;;OAEG;IACI,MAAM,CAAC,MAAM,GAAG,GAAS,EAAE;QAC9B,WAAW,CAAC,WAAW,CAAC,MAAM,CAAC,EAAE,QAAQ,EAAE,GAAG,MAAM,CAAC,QAAQ,CAAC,MAAM,OAAO,EAAE,CAAC,CAAC;IACnF,CAAC,CAAC;IAEF;;OAEG;IACI,MAAM,CAAC,WAAW,GAAG,CAAC,MAAc,EAAW,EAAE,CAAC,MAAM,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC,OAAO,EAAE,GAAG,IAAI,CAAC;IAE9F;;OAEG;IACI,MAAM,CAAC,eAAe,GAAG,CAAC,IAAY,EAAsB,EAAE;QACjE,OAAO,IAAI,OAAO,CAAC,CAAC,OAAO,EAAE,MAAM,EAAE,EAAE;YACnC,WAAW,CAAC,WAAW,CAAC,SAAS,CAAC,EAAE,OAAO,EAAE,IAAI,EAAE,EAAE,CAAC,CAAQ,EAAE,EAAa,EAAE,EAAE;gBAC7E,IAAI,CAAC,CAAC,EAAE,CAAC;oBACL,OAAO,CAAC,EAAE,CAAC,CAAC;gBAChB,CAAC;qBAAM,CAAC;oBACJ,MAAM,CAAC,CAAC,CAAC,CAAC;gBACd,CAAC;YACL,CAAC,CAAC,CAAC;QACP,CAAC,CAAC,CAAC;IACP,CAAC,CAAC;IAEF;;OAEG;IACI,MAAM,CAAC,YAAY,GAAG,GAA+B,EAAE;QAC1D,OAAO,IAAI,OAAO,CAAC,CAAC,OAAO,EAAE,MAAM,EAAE,EAAE;YACnC,WAAW,CAAC,WAAW,CAAC,YAAY,CAAC,EAAE,EAAE,CAAC,CAAQ,EAAE,EAAa,EAAE,EAAE;gBACjE,IAAI,CAAC,CAAC,EAAE,CAAC;oBACL,OAAO,CAAC,EAAE,CAAC,CAAC;gBAChB,CAAC;qBAAM,CAAC;oBACJ,MAAM,CAAC,CAAC,CAAC,CAAC;gBACd,CAAC;YACL,CAAC,CAAC,CAAC;QACP,CAAC,CAAC,CAAC;IACP,CAAC,CAAC"}
@@ -0,0 +1,26 @@
1
+ import { IIdentity } from './Auth0';
2
+ export interface IHubSession {
3
+ sub: string;
4
+ organization_id: string;
5
+ story_id: string;
6
+ }
7
+ export default class SessionService {
8
+ private static readonly LOGIN_STORY_ID_CACHE;
9
+ private static readonly LOGIN_ORG_ID_CACHE;
10
+ private static readonly SESSION_COOKIE_NAME;
11
+ private static readonly FRESH_COOKIE;
12
+ static getAccessData: (idToken: string, baseUrl?: string, getTotalRenders?: boolean, accountId?: string) => Promise<any[]>;
13
+ static getSession: () => IHubSession;
14
+ static removeSession: () => void;
15
+ static buildFreshSession: (freshIdentity: IIdentity, orgId?: string, storyId?: string) => void;
16
+ static storeSession: (values: any, auth0Expiry: number) => void;
17
+ static cacheOrgId: (organizationId: string) => void;
18
+ static clearCachedOrgId: () => void;
19
+ static getCachedOrgId: () => string;
20
+ static cacheStoryId: (storyId: string) => void;
21
+ static clearCachedStoryId: () => void;
22
+ static getCachedStoryId: () => string;
23
+ static updateSession: (values: any, auth0Expiry: number) => void;
24
+ private static scrapeDomain;
25
+ private static determineAccessUrl;
26
+ }
@@ -0,0 +1,107 @@
1
+ import * as Cookies from 'js-cookie';
2
+ import axios from 'axios';
3
+ export default class SessionService {
4
+ static LOGIN_STORY_ID_CACHE = 'imp_hub_last_story_id';
5
+ static LOGIN_ORG_ID_CACHE = 'imp_hub_last_org_id';
6
+ static SESSION_COOKIE_NAME = 'auth_state';
7
+ static FRESH_COOKIE = {
8
+ sub: '',
9
+ organization_id: '',
10
+ story_id: ''
11
+ };
12
+ /*
13
+ Get list of accessible services with themes from Imposium API
14
+ */
15
+ static getAccessData = (idToken, baseUrl, getTotalRenders = false, accountId) => {
16
+ return new Promise((resolve, reject) => {
17
+ let accessUrl = baseUrl ? `${baseUrl}/access` : SessionService.determineAccessUrl();
18
+ const headers = { Authorization: `Bearer ${idToken}` };
19
+ if (getTotalRenders) {
20
+ accessUrl += '?include_total_renders=true';
21
+ }
22
+ if (accountId && accountId !== 'undefined') {
23
+ headers['X-Imposium-Account-Id'] = accountId;
24
+ }
25
+ axios
26
+ .get(accessUrl, { headers })
27
+ .then((res) => {
28
+ resolve(res.data ? res.data : []);
29
+ })
30
+ .catch((e) => {
31
+ reject(e);
32
+ });
33
+ });
34
+ };
35
+ static getSession = () => Cookies.getJSON(SessionService.SESSION_COOKIE_NAME);
36
+ static removeSession = () => {
37
+ const domain = SessionService.scrapeDomain();
38
+ Cookies.remove(SessionService.SESSION_COOKIE_NAME, { domain });
39
+ SessionService.clearCachedOrgId();
40
+ SessionService.clearCachedStoryId();
41
+ };
42
+ static buildFreshSession = (freshIdentity, orgId = null, storyId = null) => {
43
+ const { idTokenPayload: { sub, exp } } = freshIdentity;
44
+ const freshSession = {
45
+ sub
46
+ };
47
+ if (orgId) {
48
+ freshSession.organization_id = orgId;
49
+ }
50
+ if (storyId) {
51
+ freshSession.story_id = storyId;
52
+ }
53
+ SessionService.storeSession(freshSession, exp);
54
+ };
55
+ static storeSession = (values, auth0Expiry) => {
56
+ const cookieData = { ...SessionService.FRESH_COOKIE, ...values };
57
+ const domain = SessionService.scrapeDomain();
58
+ const expiry = new Date(auth0Expiry * 1000);
59
+ Cookies.set(SessionService.SESSION_COOKIE_NAME, cookieData, { domain, expires: expiry });
60
+ };
61
+ static cacheOrgId = (organizationId) => {
62
+ localStorage.setItem(SessionService.LOGIN_ORG_ID_CACHE, organizationId);
63
+ };
64
+ static clearCachedOrgId = () => {
65
+ localStorage.removeItem(SessionService.LOGIN_ORG_ID_CACHE);
66
+ };
67
+ static getCachedOrgId = () => {
68
+ return localStorage.getItem(SessionService.LOGIN_ORG_ID_CACHE);
69
+ };
70
+ static cacheStoryId = (storyId) => {
71
+ localStorage.setItem(SessionService.LOGIN_STORY_ID_CACHE, storyId);
72
+ };
73
+ static clearCachedStoryId = () => {
74
+ localStorage.removeItem(SessionService.LOGIN_STORY_ID_CACHE);
75
+ };
76
+ static getCachedStoryId = () => {
77
+ return localStorage.getItem(SessionService.LOGIN_STORY_ID_CACHE);
78
+ };
79
+ static updateSession = (values, auth0Expiry) => {
80
+ const prevCookieData = SessionService.getSession();
81
+ const nextCookieData = { ...prevCookieData, ...values };
82
+ SessionService.storeSession(nextCookieData, auth0Expiry);
83
+ };
84
+ /*
85
+ Determine which domain to assign cookie to
86
+ */
87
+ static scrapeDomain = () => {
88
+ const domainParts = window.location.host.split('.').reverse();
89
+ return domainParts.length > 2 ? `.${domainParts[1]}.${domainParts[0].split(':')[0]}` : null;
90
+ };
91
+ /*
92
+ Figure out which access endpoint to hit based on env
93
+ */
94
+ static determineAccessUrl = () => {
95
+ const { location: { hostname, host } } = window;
96
+ if (hostname === 'localhost') {
97
+ return 'https://api/access';
98
+ }
99
+ else if (host.includes('.staging.')) {
100
+ return 'https://api.staging.imposium.com/access';
101
+ }
102
+ else {
103
+ return 'https://api.imposium.com/access';
104
+ }
105
+ };
106
+ }
107
+ //# sourceMappingURL=Session.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Session.js","sourceRoot":"","sources":["../../../src/services/Session.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@imposium-hub/components",
3
- "version": "2.9.0-4",
3
+ "version": "2.9.0-5",
4
4
  "description": "React & Typescript component / asset library for Imposium front-ends",
5
5
  "main": "./dist/cjs/index.js",
6
6
  "module": "./dist/esm/index.js",
@@ -17,7 +17,7 @@ export const getStoryPublishStatus = (api: IImposiumAPI, storyId: string): any =
17
17
  }
18
18
 
19
19
  dispatch({ type: publish.UPDATE_PUBLISH_STATUS, data: resStatus });
20
- resolve(resStatus);
20
+
21
21
  if (resStatus.publishing) {
22
22
  const jobId = resStatus.job_id;
23
23
  api.pollJob(jobId)
@@ -38,6 +38,8 @@ export const getStoryPublishStatus = (api: IImposiumAPI, storyId: string): any =
38
38
  reject(copy.header.publishPollError);
39
39
  }
40
40
  });
41
+ } else {
42
+ resolve(resStatus);
41
43
  }
42
44
  }
43
45
  })
@@ -77,9 +79,15 @@ export const publishVersion = (api: IImposiumAPI, storyId: string) => {
77
79
  return new Promise((resolve, reject) => {
78
80
  api.runPublish(storyId, '')
79
81
  .then((d) => {
80
- return dispatch(getStoryPublishStatus(api, storyId));
82
+ dispatch(getStoryPublishStatus(api, storyId))
83
+ .then()
84
+ .catch((error) => {
85
+ dispatch({ type: publish.CLEAR_PUBLISH_STATUS });
86
+ reject(error);
87
+ });
81
88
  })
82
89
  .catch((e) => {
90
+ dispatch({ type: publish.CLEAR_PUBLISH_STATUS });
83
91
  if (e) {
84
92
  reject(e);
85
93
  } else {
@@ -1,11 +0,0 @@
1
- import React from 'react';
2
- export interface IReplaceFilesModalProps {
3
- onUpload: (f: any) => any;
4
- onInstantUpload: (f: any) => any;
5
- onApplyToAll: (e: any) => any;
6
- onClose: () => void;
7
- applyToAll: boolean;
8
- existedAssets: any[];
9
- existedAssetIds: any[];
10
- }
11
- export declare const ReplaceFilesModal: () => React.JSX.Element;
@@ -1,191 +0,0 @@
1
- "use strict";
2
- var __assign = (this && this.__assign) || function () {
3
- __assign = Object.assign || function(t) {
4
- for (var s, i = 1, n = arguments.length; i < n; i++) {
5
- s = arguments[i];
6
- for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p))
7
- t[p] = s[p];
8
- }
9
- return t;
10
- };
11
- return __assign.apply(this, arguments);
12
- };
13
- var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
14
- if (k2 === undefined) k2 = k;
15
- var desc = Object.getOwnPropertyDescriptor(m, k);
16
- if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
17
- desc = { enumerable: true, get: function() { return m[k]; } };
18
- }
19
- Object.defineProperty(o, k2, desc);
20
- }) : (function(o, m, k, k2) {
21
- if (k2 === undefined) k2 = k;
22
- o[k2] = m[k];
23
- }));
24
- var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
25
- Object.defineProperty(o, "default", { enumerable: true, value: v });
26
- }) : function(o, v) {
27
- o["default"] = v;
28
- });
29
- var __importStar = (this && this.__importStar) || function (mod) {
30
- if (mod && mod.__esModule) return mod;
31
- var result = {};
32
- if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);
33
- __setModuleDefault(result, mod);
34
- return result;
35
- };
36
- var __read = (this && this.__read) || function (o, n) {
37
- var m = typeof Symbol === "function" && o[Symbol.iterator];
38
- if (!m) return o;
39
- var i = m.call(o), r, ar = [], e;
40
- try {
41
- while ((n === void 0 || n-- > 0) && !(r = i.next()).done) ar.push(r.value);
42
- }
43
- catch (error) { e = { error: error }; }
44
- finally {
45
- try {
46
- if (r && !r.done && (m = i["return"])) m.call(i);
47
- }
48
- finally { if (e) throw e.error; }
49
- }
50
- return ar;
51
- };
52
- var __importDefault = (this && this.__importDefault) || function (mod) {
53
- return (mod && mod.__esModule) ? mod : { "default": mod };
54
- };
55
- Object.defineProperty(exports, "__esModule", { value: true });
56
- exports.ReplaceFilesModal = void 0;
57
- var react_1 = __importStar(require("react"));
58
- var react_dom_1 = __importDefault(require("react-dom"));
59
- var Modal_1 = __importDefault(require("../modal/Modal"));
60
- var Button_1 = __importDefault(require("../button/Button"));
61
- var CheckboxField_1 = __importDefault(require("../checkbox-field/CheckboxField"));
62
- var Section_1 = __importDefault(require("../section/Section"));
63
- var copy_1 = require("../../constants/copy");
64
- var ReplaceFilesModal = function () {
65
- var _a = __read((0, react_1.useState)(null), 2), props = _a[0], setProps = _a[1];
66
- var _b = __read((0, react_1.useState)(false), 2), isOpen = _b[0], setIsOpen = _b[1];
67
- var _c = __read((0, react_1.useState)(), 2), applyToAll = _c[0], setApplyToAll = _c[1];
68
- var _d = __read((0, react_1.useState)(200), 2), height = _d[0], setHeight = _d[1];
69
- var _e = __read((0, react_1.useState)(0), 2), index = _e[0], setIndex = _e[1];
70
- var replaceFileModalRef = (0, react_1.useRef)(null);
71
- (0, react_1.useEffect)(function () {
72
- if (replaceFileModalRef.current) {
73
- var clientHeight = replaceFileModalRef.current.clientHeight;
74
- setHeight(clientHeight + 40);
75
- }
76
- });
77
- var onOpen = function (event) {
78
- setProps(__assign({}, event.detail));
79
- setIsOpen(true);
80
- };
81
- var onClose = function () {
82
- props.onClose();
83
- setIsOpen(false);
84
- };
85
- var onReplaceHandler = function (curApplyToAll, curIndex, file, assetId) {
86
- var newIndex = curIndex + 1;
87
- if (curApplyToAll && curIndex === 0) {
88
- var updatedAssets = props.existedAssets.map(function (asset, i) {
89
- var updatefile = asset;
90
- updatefile['assetId'] = props.existedAssetIds[i];
91
- return updatefile;
92
- });
93
- props.onInstantUpload(updatedAssets);
94
- setIndex(0);
95
- setIsOpen(false);
96
- }
97
- else if (curApplyToAll) {
98
- var updatedAssets = [];
99
- for (var i = 0; i < props.existedAssets.length; i++) {
100
- var updateFile = curIndex === 0
101
- ? props.existedAssets[i]
102
- : props.existedAssets.slice(curIndex)[i];
103
- updateFile['assetId'] =
104
- curIndex === 0
105
- ? props.existedAssetIds[i]
106
- : props.existedAssetIds.slice(curIndex)[i];
107
- updatedAssets.push(updateFile);
108
- }
109
- props.onUpload(updatedAssets);
110
- setIndex(0);
111
- onClose();
112
- }
113
- else {
114
- if (newIndex === props.existedAssets.length) {
115
- setIndex(0);
116
- onClose();
117
- }
118
- else {
119
- setIndex(newIndex);
120
- }
121
- var updateFile = file;
122
- updateFile['assetId'] = assetId;
123
- props.onUpload([updateFile]);
124
- }
125
- };
126
- var onAsNewHandler = function (curApplyToAll, curIndex, file) {
127
- var newIndex = curIndex + 1;
128
- if (curApplyToAll) {
129
- props.onUpload(curIndex === 0 ? props.existedAssets : props.existedAssets.slice(curIndex));
130
- setIndex(0);
131
- onClose();
132
- }
133
- else {
134
- if (newIndex === props.existedAssets.length) {
135
- setIndex(0);
136
- onClose();
137
- }
138
- else {
139
- setIndex(newIndex);
140
- }
141
- props.onUpload([file]);
142
- }
143
- };
144
- var onApplyToAllHandler = function (e) {
145
- setApplyToAll(e);
146
- props.onApplyToAll(e);
147
- };
148
- var onReplace = (0, react_1.useCallback)(function (curApplyToAll, curIndex, file, assetId) {
149
- return onReplaceHandler(curApplyToAll, curIndex, file, assetId);
150
- }, [isOpen]);
151
- var onApplyToAll = (0, react_1.useCallback)(function (e) { return onApplyToAllHandler(e); }, [isOpen]);
152
- var onAsNew = (0, react_1.useCallback)(function (curApplyToAll, curIndex, file) { return onAsNewHandler(curApplyToAll, curIndex, file); }, [isOpen]);
153
- (0, react_1.useEffect)(function () {
154
- window.addEventListener('openreplacefilesmodal', onOpen);
155
- return function () {
156
- window.removeEventListener('openreplacefilesmodal', onOpen);
157
- };
158
- }, []);
159
- var modal = function () {
160
- if (isOpen) {
161
- var file_1 = props.existedAssets[index];
162
- var assetId_1 = props.existedAssetIds[index];
163
- var name_1 = file_1.name.slice(0, file_1.name.lastIndexOf('.'));
164
- return (react_1.default.createElement(Modal_1.default, { onRequestClose: onClose, wrapperStyle: {
165
- left: '0px',
166
- width: '100%'
167
- }, style: {
168
- width: '400px',
169
- height: "".concat(height, "px"),
170
- top: 'calc(50% - 150px)',
171
- left: 'calc((100% - 400px) / 2)'
172
- }, isOpen: true },
173
- react_1.default.createElement(Section_1.default, null,
174
- react_1.default.createElement("div", { className: 'replace-files-modal', ref: replaceFileModalRef },
175
- react_1.default.createElement("p", null, copy_1.assets.uploads.title.replace('[name]', name_1)),
176
- react_1.default.createElement("div", { className: 'replace-files-buttons' },
177
- react_1.default.createElement("div", { className: 'checkbox' },
178
- react_1.default.createElement(CheckboxField_1.default, { label: copy_1.assets.uploads.applyAll, value: applyToAll, onChange: onApplyToAll })),
179
- react_1.default.createElement("div", { className: 'buttons' },
180
- react_1.default.createElement(Button_1.default, { onClick: function () { return onAsNew(applyToAll, index, file_1); }, size: 'large', style: 'bold', color: 'primary' }, copy_1.assets.uploads.keepBoth),
181
- react_1.default.createElement(Button_1.default, { onClick: function () { return onReplace(applyToAll, index, file_1, assetId_1); }, size: 'large', style: 'bold', color: 'primary' }, copy_1.assets.uploads.replace),
182
- react_1.default.createElement(Button_1.default, { onClick: onClose, size: 'large', style: 'bold', color: 'default' }, copy_1.assets.uploads.cancelButton)))))));
183
- }
184
- };
185
- var PortalContextComponent = function () {
186
- return react_dom_1.default.createPortal(modal(), document.querySelector('#react-root'));
187
- };
188
- return react_1.default.createElement(PortalContextComponent, null);
189
- };
190
- exports.ReplaceFilesModal = ReplaceFilesModal;
191
- //# sourceMappingURL=ReplaceFilesModal.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"ReplaceFilesModal.js","sourceRoot":"","sources":["../../../../src/components/replace-files-modal/ReplaceFilesModal.tsx"],"names":[],"mappings":"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"}
@@ -1,11 +0,0 @@
1
- import React from 'react';
2
- export interface IReplaceFilesModalProps {
3
- onUpload: (f: any) => any;
4
- onInstantUpload: (f: any) => any;
5
- onApplyToAll: (e: any) => any;
6
- onClose: () => void;
7
- applyToAll: boolean;
8
- existedAssets: any[];
9
- existedAssetIds: any[];
10
- }
11
- export declare const ReplaceFilesModal: () => React.JSX.Element;
@@ -1,132 +0,0 @@
1
- import React, { useCallback, useEffect, useRef, useState } from 'react';
2
- import ReactDOM from 'react-dom';
3
- import Modal from '../modal/Modal';
4
- import Button from '../button/Button';
5
- import CheckboxField from '../checkbox-field/CheckboxField';
6
- import Section from '../section/Section';
7
- import { assets as copy } from '../../constants/copy';
8
- export const ReplaceFilesModal = () => {
9
- const [props, setProps] = useState(null);
10
- const [isOpen, setIsOpen] = useState(false);
11
- const [applyToAll, setApplyToAll] = useState();
12
- const [height, setHeight] = useState(200);
13
- const [index, setIndex] = useState(0);
14
- const replaceFileModalRef = useRef(null);
15
- useEffect(() => {
16
- if (replaceFileModalRef.current) {
17
- const { current: { clientHeight } } = replaceFileModalRef;
18
- setHeight(clientHeight + 40);
19
- }
20
- });
21
- const onOpen = (event) => {
22
- setProps({
23
- ...event.detail
24
- });
25
- setIsOpen(true);
26
- };
27
- const onClose = () => {
28
- props.onClose();
29
- setIsOpen(false);
30
- };
31
- const onReplaceHandler = (curApplyToAll, curIndex, file, assetId) => {
32
- const newIndex = curIndex + 1;
33
- if (curApplyToAll && curIndex === 0) {
34
- const updatedAssets = props.existedAssets.map((asset, i) => {
35
- const updatefile = asset;
36
- updatefile['assetId'] = props.existedAssetIds[i];
37
- return updatefile;
38
- });
39
- props.onInstantUpload(updatedAssets);
40
- setIndex(0);
41
- setIsOpen(false);
42
- }
43
- else if (curApplyToAll) {
44
- const updatedAssets = [];
45
- for (let i = 0; i < props.existedAssets.length; i++) {
46
- const updateFile = curIndex === 0
47
- ? props.existedAssets[i]
48
- : props.existedAssets.slice(curIndex)[i];
49
- updateFile['assetId'] =
50
- curIndex === 0
51
- ? props.existedAssetIds[i]
52
- : props.existedAssetIds.slice(curIndex)[i];
53
- updatedAssets.push(updateFile);
54
- }
55
- props.onUpload(updatedAssets);
56
- setIndex(0);
57
- onClose();
58
- }
59
- else {
60
- if (newIndex === props.existedAssets.length) {
61
- setIndex(0);
62
- onClose();
63
- }
64
- else {
65
- setIndex(newIndex);
66
- }
67
- const updateFile = file;
68
- updateFile['assetId'] = assetId;
69
- props.onUpload([updateFile]);
70
- }
71
- };
72
- const onAsNewHandler = (curApplyToAll, curIndex, file) => {
73
- const newIndex = curIndex + 1;
74
- if (curApplyToAll) {
75
- props.onUpload(curIndex === 0 ? props.existedAssets : props.existedAssets.slice(curIndex));
76
- setIndex(0);
77
- onClose();
78
- }
79
- else {
80
- if (newIndex === props.existedAssets.length) {
81
- setIndex(0);
82
- onClose();
83
- }
84
- else {
85
- setIndex(newIndex);
86
- }
87
- props.onUpload([file]);
88
- }
89
- };
90
- const onApplyToAllHandler = (e) => {
91
- setApplyToAll(e);
92
- props.onApplyToAll(e);
93
- };
94
- const onReplace = useCallback((curApplyToAll, curIndex, file, assetId) => onReplaceHandler(curApplyToAll, curIndex, file, assetId), [isOpen]);
95
- const onApplyToAll = useCallback((e) => onApplyToAllHandler(e), [isOpen]);
96
- const onAsNew = useCallback((curApplyToAll, curIndex, file) => onAsNewHandler(curApplyToAll, curIndex, file), [isOpen]);
97
- useEffect(() => {
98
- window.addEventListener('openreplacefilesmodal', onOpen);
99
- return () => {
100
- window.removeEventListener('openreplacefilesmodal', onOpen);
101
- };
102
- }, []);
103
- const modal = () => {
104
- if (isOpen) {
105
- const file = props.existedAssets[index];
106
- const assetId = props.existedAssetIds[index];
107
- const name = file.name.slice(0, file.name.lastIndexOf('.'));
108
- return (React.createElement(Modal, { onRequestClose: onClose, wrapperStyle: {
109
- left: '0px',
110
- width: '100%'
111
- }, style: {
112
- width: '400px',
113
- height: `${height}px`,
114
- top: 'calc(50% - 150px)',
115
- left: 'calc((100% - 400px) / 2)'
116
- }, isOpen: true },
117
- React.createElement(Section, null,
118
- React.createElement("div", { className: 'replace-files-modal', ref: replaceFileModalRef },
119
- React.createElement("p", null, copy.uploads.title.replace('[name]', name)),
120
- React.createElement("div", { className: 'replace-files-buttons' },
121
- React.createElement("div", { className: 'checkbox' },
122
- React.createElement(CheckboxField, { label: copy.uploads.applyAll, value: applyToAll, onChange: onApplyToAll })),
123
- React.createElement("div", { className: 'buttons' },
124
- React.createElement(Button, { onClick: () => onAsNew(applyToAll, index, file), size: 'large', style: 'bold', color: 'primary' }, copy.uploads.keepBoth),
125
- React.createElement(Button, { onClick: () => onReplace(applyToAll, index, file, assetId), size: 'large', style: 'bold', color: 'primary' }, copy.uploads.replace),
126
- React.createElement(Button, { onClick: onClose, size: 'large', style: 'bold', color: 'default' }, copy.uploads.cancelButton)))))));
127
- }
128
- };
129
- const PortalContextComponent = () => ReactDOM.createPortal(modal(), document.querySelector('#react-root'));
130
- return React.createElement(PortalContextComponent, null);
131
- };
132
- //# sourceMappingURL=ReplaceFilesModal.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"ReplaceFilesModal.js","sourceRoot":"","sources":["../../../../src/components/replace-files-modal/ReplaceFilesModal.tsx"],"names":[],"mappings":"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"}