@imposium-hub/components 2.9.0 → 2.10.0-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.
Files changed (134) hide show
  1. package/dist/cjs/Util.js +6 -0
  2. package/dist/cjs/Util.js.map +1 -1
  3. package/dist/cjs/components/app-wrapper/AppWrapper.js +1 -5
  4. package/dist/cjs/components/app-wrapper/AppWrapper.js.map +1 -1
  5. package/dist/cjs/index.d.ts +2 -3
  6. package/dist/cjs/index.js +3 -6
  7. package/dist/cjs/index.js.map +1 -1
  8. package/dist/cjs/redux/actions/publish.js +1 -1
  9. package/dist/cjs/redux/actions/publish.js.map +1 -1
  10. package/dist/cjs/utils/modal.d.ts +0 -3
  11. package/dist/cjs/utils/modal.js +1 -9
  12. package/dist/cjs/utils/modal.js.map +1 -1
  13. package/dist/esm/Util.js +6 -0
  14. package/dist/esm/Util.js.map +1 -1
  15. package/dist/esm/components/app-wrapper/AppWrapper.js +1 -5
  16. package/dist/esm/components/app-wrapper/AppWrapper.js.map +1 -1
  17. package/dist/esm/index.d.ts +2 -3
  18. package/dist/esm/index.js +2 -3
  19. package/dist/esm/index.js.map +1 -1
  20. package/dist/esm/redux/actions/publish.js +1 -1
  21. package/dist/esm/redux/actions/publish.js.map +1 -1
  22. package/dist/esm/utils/modal.d.ts +0 -3
  23. package/dist/esm/utils/modal.js +0 -7
  24. package/dist/esm/utils/modal.js.map +1 -1
  25. package/package.json +1 -1
  26. package/src/Util.ts +9 -0
  27. package/src/components/app-wrapper/AppWrapper.tsx +0 -4
  28. package/src/index.ts +1 -5
  29. package/src/redux/actions/publish.ts +1 -1
  30. package/src/utils/modal.ts +0 -10
  31. package/dist/cjs/components/app-wrapper/AppWrapperV2.d.ts +0 -26
  32. package/dist/cjs/components/app-wrapper/AppWrapperV2.js +0 -266
  33. package/dist/cjs/components/app-wrapper/AppWrapperV2.js.map +0 -1
  34. package/dist/cjs/components/app-wrapper/AppWrapperV3.d.ts +0 -19
  35. package/dist/cjs/components/app-wrapper/AppWrapperV3.js +0 -195
  36. package/dist/cjs/components/app-wrapper/AppWrapperV3.js.map +0 -1
  37. package/dist/cjs/components/app-wrapper/AppWrapper_BACKUP_73190.d.ts +0 -27
  38. package/dist/cjs/components/app-wrapper/AppWrapper_BACKUP_73190.js +0 -243
  39. package/dist/cjs/components/app-wrapper/AppWrapper_BACKUP_73190.js.map +0 -1
  40. package/dist/cjs/components/app-wrapper/AppWrapper_BASE_73190.d.ts +0 -28
  41. package/dist/cjs/components/app-wrapper/AppWrapper_BASE_73190.js +0 -255
  42. package/dist/cjs/components/app-wrapper/AppWrapper_BASE_73190.js.map +0 -1
  43. package/dist/cjs/components/app-wrapper/AppWrapper_LOCAL_73190.d.ts +0 -27
  44. package/dist/cjs/components/app-wrapper/AppWrapper_LOCAL_73190.js +0 -243
  45. package/dist/cjs/components/app-wrapper/AppWrapper_LOCAL_73190.js.map +0 -1
  46. package/dist/cjs/components/app-wrapper/AppWrapper_REMOTE_73190.d.ts +0 -28
  47. package/dist/cjs/components/app-wrapper/AppWrapper_REMOTE_73190.js +0 -251
  48. package/dist/cjs/components/app-wrapper/AppWrapper_REMOTE_73190.js.map +0 -1
  49. package/dist/cjs/components/auth-gate/AuthGate.d.ts +0 -2
  50. package/dist/cjs/components/auth-gate/AuthGate.js +0 -105
  51. package/dist/cjs/components/auth-gate/AuthGate.js.map +0 -1
  52. package/dist/cjs/components/error-message-preview/ErrorMessagePreview.d.ts +0 -15
  53. package/dist/cjs/components/error-message-preview/ErrorMessagePreview.js +0 -91
  54. package/dist/cjs/components/error-message-preview/ErrorMessagePreview.js.map +0 -1
  55. package/dist/cjs/components/header/Header_BACKUP_73021.d.ts +0 -33
  56. package/dist/cjs/components/header/Header_BACKUP_73021.js +0 -393
  57. package/dist/cjs/components/header/Header_BACKUP_73021.js.map +0 -1
  58. package/dist/cjs/components/header/Header_BASE_73021.d.ts +0 -29
  59. package/dist/cjs/components/header/Header_BASE_73021.js +0 -376
  60. package/dist/cjs/components/header/Header_BASE_73021.js.map +0 -1
  61. package/dist/cjs/components/header/Header_LOCAL_73021.d.ts +0 -33
  62. package/dist/cjs/components/header/Header_LOCAL_73021.js +0 -382
  63. package/dist/cjs/components/header/Header_LOCAL_73021.js.map +0 -1
  64. package/dist/cjs/components/header/Header_REMOTE_73021.d.ts +0 -30
  65. package/dist/cjs/components/header/Header_REMOTE_73021.js +0 -386
  66. package/dist/cjs/components/header/Header_REMOTE_73021.js.map +0 -1
  67. package/dist/cjs/components/header/StoryDropdown.d.ts +0 -6
  68. package/dist/cjs/components/header/StoryDropdown.js +0 -111
  69. package/dist/cjs/components/header/StoryDropdown.js.map +0 -1
  70. package/dist/cjs/redux/actions/auth.d.ts +0 -9
  71. package/dist/cjs/redux/actions/auth.js +0 -30
  72. package/dist/cjs/redux/actions/auth.js.map +0 -1
  73. package/dist/cjs/redux/reducers/auth.d.ts +0 -3
  74. package/dist/cjs/redux/reducers/auth.js +0 -67
  75. package/dist/cjs/redux/reducers/auth.js.map +0 -1
  76. package/dist/cjs/services/Auth0.d.ts +0 -18
  77. package/dist/cjs/services/Auth0.js +0 -102
  78. package/dist/cjs/services/Auth0.js.map +0 -1
  79. package/dist/cjs/services/Session.d.ts +0 -26
  80. package/dist/cjs/services/Session.js +0 -155
  81. package/dist/cjs/services/Session.js.map +0 -1
  82. package/dist/esm/components/app-wrapper/AppWrapperV2.d.ts +0 -26
  83. package/dist/esm/components/app-wrapper/AppWrapperV2.js +0 -142
  84. package/dist/esm/components/app-wrapper/AppWrapperV2.js.map +0 -1
  85. package/dist/esm/components/app-wrapper/AppWrapperV3.d.ts +0 -19
  86. package/dist/esm/components/app-wrapper/AppWrapperV3.js +0 -88
  87. package/dist/esm/components/app-wrapper/AppWrapperV3.js.map +0 -1
  88. package/dist/esm/components/app-wrapper/AppWrapper_BACKUP_73190.d.ts +0 -27
  89. package/dist/esm/components/app-wrapper/AppWrapper_BACKUP_73190.js +0 -194
  90. package/dist/esm/components/app-wrapper/AppWrapper_BACKUP_73190.js.map +0 -1
  91. package/dist/esm/components/app-wrapper/AppWrapper_BASE_73190.d.ts +0 -28
  92. package/dist/esm/components/app-wrapper/AppWrapper_BASE_73190.js +0 -208
  93. package/dist/esm/components/app-wrapper/AppWrapper_BASE_73190.js.map +0 -1
  94. package/dist/esm/components/app-wrapper/AppWrapper_LOCAL_73190.d.ts +0 -27
  95. package/dist/esm/components/app-wrapper/AppWrapper_LOCAL_73190.js +0 -194
  96. package/dist/esm/components/app-wrapper/AppWrapper_LOCAL_73190.js.map +0 -1
  97. package/dist/esm/components/app-wrapper/AppWrapper_REMOTE_73190.d.ts +0 -28
  98. package/dist/esm/components/app-wrapper/AppWrapper_REMOTE_73190.js +0 -204
  99. package/dist/esm/components/app-wrapper/AppWrapper_REMOTE_73190.js.map +0 -1
  100. package/dist/esm/components/auth-gate/AuthGate.d.ts +0 -2
  101. package/dist/esm/components/auth-gate/AuthGate.js +0 -59
  102. package/dist/esm/components/auth-gate/AuthGate.js.map +0 -1
  103. package/dist/esm/components/error-message-preview/ErrorMessagePreview.d.ts +0 -15
  104. package/dist/esm/components/error-message-preview/ErrorMessagePreview.js +0 -35
  105. package/dist/esm/components/error-message-preview/ErrorMessagePreview.js.map +0 -1
  106. package/dist/esm/components/header/Header_BACKUP_73021.d.ts +0 -33
  107. package/dist/esm/components/header/Header_BACKUP_73021.js +0 -336
  108. package/dist/esm/components/header/Header_BACKUP_73021.js.map +0 -1
  109. package/dist/esm/components/header/Header_BASE_73021.d.ts +0 -29
  110. package/dist/esm/components/header/Header_BASE_73021.js +0 -322
  111. package/dist/esm/components/header/Header_BASE_73021.js.map +0 -1
  112. package/dist/esm/components/header/Header_LOCAL_73021.d.ts +0 -33
  113. package/dist/esm/components/header/Header_LOCAL_73021.js +0 -328
  114. package/dist/esm/components/header/Header_LOCAL_73021.js.map +0 -1
  115. package/dist/esm/components/header/Header_REMOTE_73021.d.ts +0 -30
  116. package/dist/esm/components/header/Header_REMOTE_73021.js +0 -329
  117. package/dist/esm/components/header/Header_REMOTE_73021.js.map +0 -1
  118. package/dist/esm/components/header/StoryDropdown.d.ts +0 -6
  119. package/dist/esm/components/header/StoryDropdown.js +0 -82
  120. package/dist/esm/components/header/StoryDropdown.js.map +0 -1
  121. package/dist/esm/redux/actions/auth.d.ts +0 -9
  122. package/dist/esm/redux/actions/auth.js +0 -25
  123. package/dist/esm/redux/actions/auth.js.map +0 -1
  124. package/dist/esm/redux/reducers/auth.d.ts +0 -3
  125. package/dist/esm/redux/reducers/auth.js +0 -27
  126. package/dist/esm/redux/reducers/auth.js.map +0 -1
  127. package/dist/esm/services/Auth0.d.ts +0 -18
  128. package/dist/esm/services/Auth0.js +0 -68
  129. package/dist/esm/services/Auth0.js.map +0 -1
  130. package/dist/esm/services/Session.d.ts +0 -26
  131. package/dist/esm/services/Session.js +0 -107
  132. package/dist/esm/services/Session.js.map +0 -1
  133. package/src/components/edit-guide-modal/EditGuideModal.tsx +0 -110
  134. package/src/components/replace-files-modal/ReplaceFilesModal.tsx +0 -217
@@ -1,26 +0,0 @@
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
- }
@@ -1,107 +0,0 @@
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
@@ -1 +0,0 @@
1
- {"version":3,"file":"Session.js","sourceRoot":"","sources":["../../../src/services/Session.ts"],"names":[],"mappings":"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"}
@@ -1,110 +0,0 @@
1
- import React, { useCallback, useEffect, useState } from 'react';
2
- import ReactDOM from 'react-dom';
3
- import Modal from '../modal/Modal';
4
- import Button from '../button/Button';
5
- import Section from '../section/Section';
6
- import NumberField from '../number-field/NumberField';
7
-
8
- export interface IEditGuideModalProps {
9
- guide: number;
10
- onClose: () => any;
11
- onContinue: (e) => any;
12
- isHorizontal: boolean;
13
- }
14
-
15
- export const EditGuideModal = () => {
16
- const [props, setProps] = useState<IEditGuideModalProps>(null);
17
- const [isOpen, setIsOpen] = useState<boolean>(false);
18
- const [guide, setGuide] = useState<number>(null);
19
-
20
- const onOpen = (event) => {
21
- setProps({
22
- ...event.detail
23
- });
24
- setIsOpen(true);
25
- };
26
-
27
- const onClose = () => setIsOpen(false);
28
-
29
- useEffect(() => {
30
- window.addEventListener('openeditguidemodal', onOpen);
31
- return () => {
32
- window.removeEventListener('openeditguidemodal', onOpen);
33
- };
34
- }, []);
35
-
36
- useEffect(() => {
37
- if (props?.guide) {
38
- setGuide(props.guide);
39
- }
40
- }, [props?.guide]);
41
-
42
- const onKeyDown = (e) => {
43
- if (e.key === 'Enter') {
44
- e.preventDefault();
45
- onContinue(guide);
46
- }
47
- };
48
-
49
- useEffect(() => {
50
- if (isOpen) {
51
- window.addEventListener('keypress', onKeyDown);
52
- } else {
53
- window.removeEventListener('keypress', onKeyDown);
54
- }
55
- return () => {
56
- window.removeEventListener('keypress', onKeyDown);
57
- };
58
- }, [isOpen, onKeyDown]);
59
-
60
- const onContinue = useCallback(
61
- (e) => {
62
- if (e) {
63
- props.onContinue(e);
64
- onClose();
65
- }
66
- },
67
- [isOpen]
68
- );
69
-
70
- const modal = isOpen && (
71
- <Modal
72
- onRequestClose={onClose}
73
- style={{
74
- width: '200px',
75
- height: '110px',
76
- top: '25%',
77
- left: '55%'
78
- }}
79
- isOpen={true}>
80
- <Section
81
- title={`Edit ${props.isHorizontal ? 'Horizontal Guide' : 'Vertical Guide'}`}
82
- style={{ padding: '10px' }}>
83
- <NumberField
84
- label={'Guide Position'}
85
- labelPosition='top'
86
- onChange={(e) => setGuide(Number(e))}
87
- focusOnMount={true}
88
- value={guide}
89
- />
90
- <Button
91
- onClick={onClose}
92
- style='bold'
93
- color='secondary'>
94
- Cancel
95
- </Button>
96
- <Button
97
- onClick={() => onContinue(guide)}
98
- style='bold'
99
- color='primary'>
100
- Ok
101
- </Button>
102
- </Section>
103
- </Modal>
104
- );
105
-
106
- const PortalContextComponent = () =>
107
- ReactDOM.createPortal(modal, document.querySelector('#react-root'));
108
-
109
- return <PortalContextComponent />;
110
- };
@@ -1,217 +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
- import { replaceFilesModalEvent } from '../../utils/modal';
9
-
10
- export interface IReplaceFilesModalProps {
11
- onUpload: (f) => any;
12
- onInstantUpload: (f) => any;
13
- onApplyToAll: (e) => any;
14
- onClose: () => void;
15
- applyToAll: boolean;
16
- existedAssets: any[];
17
- existedAssetIds: any[];
18
- }
19
-
20
- export const ReplaceFilesModal = () => {
21
- const [props, setProps] = useState<IReplaceFilesModalProps>(null);
22
- const [isOpen, setIsOpen] = useState<boolean>(false);
23
- const [applyToAll, setApplyToAll] = useState<boolean>();
24
- const [height, setHeight] = useState(200);
25
- const [index, setIndex] = useState<number>(0);
26
-
27
- const replaceFileModalRef = useRef(null);
28
-
29
- useEffect(() => {
30
- if (replaceFileModalRef.current) {
31
- const {
32
- current: { clientHeight }
33
- } = replaceFileModalRef;
34
- setHeight(clientHeight + 40);
35
- }
36
- });
37
-
38
- const onOpen = (event) => {
39
- setProps({
40
- ...event.detail
41
- });
42
- setIsOpen(true);
43
- };
44
-
45
- const onClose = () => {
46
- props.onClose();
47
- setIsOpen(false);
48
- };
49
-
50
- const onReplaceHandler = (curApplyToAll, curIndex, file, assetId) => {
51
- const newIndex = curIndex + 1;
52
-
53
- if (curApplyToAll && curIndex === 0) {
54
- const updatedAssets = props.existedAssets.map((asset, i) => {
55
- const updatefile = asset;
56
- updatefile['assetId'] = props.existedAssetIds[i];
57
- return updatefile;
58
- });
59
-
60
- props.onInstantUpload(updatedAssets);
61
- setIndex(0);
62
- setIsOpen(false);
63
- } else if (curApplyToAll) {
64
- const updatedAssets = [];
65
-
66
- for (let i = 0; i < props.existedAssets.length; i++) {
67
- const updateFile =
68
- curIndex === 0
69
- ? props.existedAssets[i]
70
- : [
71
- ...props.existedAssets.slice(0, curIndex - 1),
72
- ...props.existedAssets.slice(curIndex)
73
- ][i];
74
-
75
- if (updateFile) {
76
- updateFile['assetId'] =
77
- curIndex === 0
78
- ? props.existedAssetIds[i]
79
- : [
80
- ...props.existedAssetIds.slice(0, curIndex - 1),
81
- ...props.existedAssetIds.slice(curIndex)
82
- ][i];
83
- updatedAssets.push(updateFile);
84
- props.onInstantUpload(updatedAssets);
85
- setIndex(0);
86
- onClose();
87
- }
88
- }
89
- } else {
90
- if (newIndex === props.existedAssets.length) {
91
- setIndex(0);
92
- onClose();
93
- } else {
94
- setIndex(newIndex);
95
- }
96
-
97
- const updateFile = file;
98
- updateFile['assetId'] = assetId;
99
- props.onUpload([updateFile]);
100
- }
101
- };
102
-
103
- const onAsNewHandler = (curApplyToAll, curIndex, file) => {
104
- const newIndex = curIndex + 1;
105
-
106
- if (curApplyToAll) {
107
- props.onUpload(
108
- curIndex === 0 ? props.existedAssets : props.existedAssets.slice(curIndex)
109
- );
110
-
111
- setIndex(0);
112
- onClose();
113
- } else {
114
- if (newIndex === props.existedAssets.length) {
115
- setIndex(0);
116
- onClose();
117
- } else {
118
- setIndex(newIndex);
119
- }
120
-
121
- props.onUpload([file]);
122
- }
123
- };
124
-
125
- const onApplyToAllHandler = (e) => {
126
- setApplyToAll(e);
127
- props.onApplyToAll(e);
128
- };
129
-
130
- const onReplace = useCallback(
131
- (curApplyToAll, curIndex, file, assetId) =>
132
- onReplaceHandler(curApplyToAll, curIndex, file, assetId),
133
- [isOpen]
134
- );
135
-
136
- const onApplyToAll = useCallback((e) => onApplyToAllHandler(e), [isOpen]);
137
-
138
- const onAsNew = useCallback(
139
- (curApplyToAll, curIndex, file) => onAsNewHandler(curApplyToAll, curIndex, file),
140
- [isOpen]
141
- );
142
-
143
- useEffect(() => {
144
- window.addEventListener(replaceFilesModalEvent, onOpen);
145
- return () => {
146
- window.removeEventListener(replaceFilesModalEvent, onOpen);
147
- };
148
- }, []);
149
-
150
- const modal = () => {
151
- if (isOpen) {
152
- const file = props.existedAssets[index];
153
- const assetId = props.existedAssetIds[index];
154
- const name = file.name.slice(0, file.name.lastIndexOf('.'));
155
- return (
156
- <Modal
157
- onRequestClose={onClose}
158
- wrapperStyle={{
159
- left: '0px',
160
- width: '100%'
161
- }}
162
- style={{
163
- width: '400px',
164
- height: `${height}px`,
165
- top: 'calc(50% - 150px)',
166
- left: 'calc((100% - 400px) / 2)'
167
- }}
168
- isOpen={true}>
169
- <Section>
170
- <div
171
- className='replace-files-modal'
172
- ref={replaceFileModalRef}>
173
- <p>{copy.uploads.title.replace('[name]', name)}</p>
174
- <div className='replace-files-buttons'>
175
- <div className='checkbox'>
176
- <CheckboxField
177
- label={copy.uploads.applyAll}
178
- value={applyToAll}
179
- onChange={onApplyToAll}
180
- />
181
- </div>
182
- <div className='buttons'>
183
- <Button
184
- onClick={() => onAsNew(applyToAll, index, file)}
185
- size='large'
186
- style='bold'
187
- color='primary'>
188
- {copy.uploads.keepBoth}
189
- </Button>
190
- <Button
191
- onClick={() => onReplace(applyToAll, index, file, assetId)}
192
- size='large'
193
- style='bold'
194
- color='primary'>
195
- {copy.uploads.replace}
196
- </Button>
197
- <Button
198
- onClick={onClose}
199
- size='large'
200
- style='bold'
201
- color='default'>
202
- {copy.uploads.cancelButton}
203
- </Button>
204
- </div>
205
- </div>
206
- </div>
207
- </Section>
208
- </Modal>
209
- );
210
- }
211
- };
212
-
213
- const PortalContextComponent = () =>
214
- ReactDOM.createPortal(modal(), document.querySelector('#react-root'));
215
-
216
- return <PortalContextComponent />;
217
- };