@imposium-hub/components 2.9.0-2 → 2.9.0-3

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 (115) hide show
  1. package/dist/cjs/components/app-wrapper/AppWrapper.js +5 -0
  2. package/dist/cjs/components/app-wrapper/AppWrapper.js.map +1 -1
  3. package/dist/cjs/components/app-wrapper/AppWrapperV2.d.ts +26 -0
  4. package/dist/cjs/components/app-wrapper/AppWrapperV2.js +266 -0
  5. package/dist/cjs/components/app-wrapper/AppWrapperV2.js.map +1 -0
  6. package/dist/cjs/components/app-wrapper/AppWrapperV3.d.ts +19 -0
  7. package/dist/cjs/components/app-wrapper/AppWrapperV3.js +195 -0
  8. package/dist/cjs/components/app-wrapper/AppWrapperV3.js.map +1 -0
  9. package/dist/cjs/components/app-wrapper/AppWrapper_BACKUP_73190.d.ts +27 -0
  10. package/dist/cjs/components/app-wrapper/AppWrapper_BACKUP_73190.js +243 -0
  11. package/dist/cjs/components/app-wrapper/AppWrapper_BACKUP_73190.js.map +1 -0
  12. package/dist/cjs/components/app-wrapper/AppWrapper_BASE_73190.d.ts +28 -0
  13. package/dist/cjs/components/app-wrapper/AppWrapper_BASE_73190.js +255 -0
  14. package/dist/cjs/components/app-wrapper/AppWrapper_BASE_73190.js.map +1 -0
  15. package/dist/cjs/components/app-wrapper/AppWrapper_LOCAL_73190.d.ts +27 -0
  16. package/dist/cjs/components/app-wrapper/AppWrapper_LOCAL_73190.js +243 -0
  17. package/dist/cjs/components/app-wrapper/AppWrapper_LOCAL_73190.js.map +1 -0
  18. package/dist/cjs/components/app-wrapper/AppWrapper_REMOTE_73190.d.ts +28 -0
  19. package/dist/cjs/components/app-wrapper/AppWrapper_REMOTE_73190.js +251 -0
  20. package/dist/cjs/components/app-wrapper/AppWrapper_REMOTE_73190.js.map +1 -0
  21. package/dist/cjs/components/error-message-preview/ErrorMessagePreview.d.ts +15 -0
  22. package/dist/cjs/components/error-message-preview/ErrorMessagePreview.js +91 -0
  23. package/dist/cjs/components/error-message-preview/ErrorMessagePreview.js.map +1 -0
  24. package/dist/cjs/components/header/Header.js +7 -5
  25. package/dist/cjs/components/header/Header.js.map +1 -1
  26. package/dist/cjs/components/header/Header_BACKUP_73021.d.ts +33 -0
  27. package/dist/cjs/components/header/Header_BACKUP_73021.js +393 -0
  28. package/dist/cjs/components/header/Header_BACKUP_73021.js.map +1 -0
  29. package/dist/cjs/components/header/Header_BASE_73021.d.ts +29 -0
  30. package/dist/cjs/components/header/Header_BASE_73021.js +376 -0
  31. package/dist/cjs/components/header/Header_BASE_73021.js.map +1 -0
  32. package/dist/cjs/components/header/Header_LOCAL_73021.d.ts +33 -0
  33. package/dist/cjs/components/header/Header_LOCAL_73021.js +382 -0
  34. package/dist/cjs/components/header/Header_LOCAL_73021.js.map +1 -0
  35. package/dist/cjs/components/header/Header_REMOTE_73021.d.ts +30 -0
  36. package/dist/cjs/components/header/Header_REMOTE_73021.js +386 -0
  37. package/dist/cjs/components/header/Header_REMOTE_73021.js.map +1 -0
  38. package/dist/cjs/components/header/StoryDropdown.d.ts +6 -0
  39. package/dist/cjs/components/header/StoryDropdown.js +111 -0
  40. package/dist/cjs/components/header/StoryDropdown.js.map +1 -0
  41. package/dist/cjs/components/publish-wizard/publish/EmailWorkflow.js +52 -23
  42. package/dist/cjs/components/publish-wizard/publish/EmailWorkflow.js.map +1 -1
  43. package/dist/cjs/constants/copy.d.ts +1 -1
  44. package/dist/cjs/constants/copy.js +1 -1
  45. package/dist/cjs/constants/copy.js.map +1 -1
  46. package/dist/cjs/constants/publish.d.ts +3 -0
  47. package/dist/cjs/constants/publish.js +5 -3
  48. package/dist/cjs/constants/publish.js.map +1 -1
  49. package/dist/cjs/services/API.d.ts +3 -8
  50. package/dist/cjs/services/API.js +29 -101
  51. package/dist/cjs/services/API.js.map +1 -1
  52. package/dist/esm/components/app-wrapper/AppWrapper.js +5 -0
  53. package/dist/esm/components/app-wrapper/AppWrapper.js.map +1 -1
  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/error-message-preview/ErrorMessagePreview.d.ts +15 -0
  73. package/dist/esm/components/error-message-preview/ErrorMessagePreview.js +35 -0
  74. package/dist/esm/components/error-message-preview/ErrorMessagePreview.js.map +1 -0
  75. package/dist/esm/components/header/Header.js +5 -3
  76. package/dist/esm/components/header/Header.js.map +1 -1
  77. package/dist/esm/components/header/Header_BACKUP_73021.d.ts +33 -0
  78. package/dist/esm/components/header/Header_BACKUP_73021.js +336 -0
  79. package/dist/esm/components/header/Header_BACKUP_73021.js.map +1 -0
  80. package/dist/esm/components/header/Header_BASE_73021.d.ts +29 -0
  81. package/dist/esm/components/header/Header_BASE_73021.js +322 -0
  82. package/dist/esm/components/header/Header_BASE_73021.js.map +1 -0
  83. package/dist/esm/components/header/Header_LOCAL_73021.d.ts +33 -0
  84. package/dist/esm/components/header/Header_LOCAL_73021.js +328 -0
  85. package/dist/esm/components/header/Header_LOCAL_73021.js.map +1 -0
  86. package/dist/esm/components/header/Header_REMOTE_73021.d.ts +30 -0
  87. package/dist/esm/components/header/Header_REMOTE_73021.js +329 -0
  88. package/dist/esm/components/header/Header_REMOTE_73021.js.map +1 -0
  89. package/dist/esm/components/header/StoryDropdown.d.ts +6 -0
  90. package/dist/esm/components/header/StoryDropdown.js +82 -0
  91. package/dist/esm/components/header/StoryDropdown.js.map +1 -0
  92. package/dist/esm/components/publish-wizard/publish/EmailWorkflow.js +43 -14
  93. package/dist/esm/components/publish-wizard/publish/EmailWorkflow.js.map +1 -1
  94. package/dist/esm/constants/copy.d.ts +1 -1
  95. package/dist/esm/constants/copy.js +1 -1
  96. package/dist/esm/constants/copy.js.map +1 -1
  97. package/dist/esm/constants/publish.d.ts +3 -0
  98. package/dist/esm/constants/publish.js +4 -2
  99. package/dist/esm/constants/publish.js.map +1 -1
  100. package/dist/esm/services/API.d.ts +3 -8
  101. package/dist/esm/services/API.js +9 -46
  102. package/dist/esm/services/API.js.map +1 -1
  103. package/package.json +5 -5
  104. package/src/components/app-wrapper/AppWrapper.tsx +6 -0
  105. package/src/components/header/Header.tsx +5 -3
  106. package/src/components/publish-wizard/publish/EmailWorkflow.tsx +66 -24
  107. package/src/constants/copy.ts +1 -1
  108. package/src/constants/publish.ts +7 -2
  109. package/src/services/API.ts +13 -76
  110. package/dist/cjs/components/replace-files-modal/ReplaceFilesModal.d.ts +0 -10
  111. package/dist/cjs/components/replace-files-modal/ReplaceFilesModal.js +0 -181
  112. package/dist/cjs/components/replace-files-modal/ReplaceFilesModal.js.map +0 -1
  113. package/dist/esm/components/replace-files-modal/ReplaceFilesModal.d.ts +0 -10
  114. package/dist/esm/components/replace-files-modal/ReplaceFilesModal.js +0 -122
  115. package/dist/esm/components/replace-files-modal/ReplaceFilesModal.js.map +0 -1
@@ -12,7 +12,13 @@ import { connect } from 'react-redux';
12
12
  import SelectField from '../../select-field/SelectField';
13
13
  import { updateAssociation, getBatch, setPage } from '../../../redux/actions/active-batch';
14
14
  import TextField from '../../text-field/TextField';
15
- import { CRM_PLACEMENT_VARS } from '../../../constants/publish';
15
+ import {
16
+ ADSTUDIO_POST_RENDER_ACTION,
17
+ ASSET_NAME_VAR,
18
+ ASSETS_POST_RENDER_ACTION,
19
+ CRM_PLACEMENT_VARS
20
+ } from '../../../constants/publish';
21
+ import CheckboxField from '../../checkbox-field/CheckboxField';
16
22
 
17
23
  interface IEmailWorkflowProps {
18
24
  story: any;
@@ -69,12 +75,12 @@ interface IEmailWorkflowProps {
69
75
  onNext: (val: boolean) => void;
70
76
  next: boolean;
71
77
  isCrM: boolean;
78
+ isCrMAsset?: boolean;
72
79
  }
73
80
 
74
81
  interface CrMOverrides {
75
82
  creative_id: string;
76
83
  creative_library_id: string;
77
- notification_email: string;
78
84
  placement_type: string;
79
85
  }
80
86
 
@@ -124,7 +130,6 @@ class EmailWorkflow extends React.PureComponent<IEmailWorkflowProps, IEmailWorkf
124
130
  creativeManagerOverrides: {
125
131
  creative_id: '',
126
132
  creative_library_id: '',
127
- notification_email: '',
128
133
  placement_type: 'crm-adstudio'
129
134
  },
130
135
  waitingForPublish: false,
@@ -266,6 +271,8 @@ class EmailWorkflow extends React.PureComponent<IEmailWorkflowProps, IEmailWorkf
266
271
  const { name } = this.props.story;
267
272
  const { isCrM } = this.props;
268
273
  const { inventory, inventoryKeys } = this.state;
274
+ const uploadAsAssets =
275
+ this.state.creativeManagerOverrides.placement_type === ASSETS_POST_RENDER_ACTION;
269
276
 
270
277
  const maskConfig: any[] = inventoryKeys.map((currKey: string) => {
271
278
  let value = '';
@@ -288,12 +295,27 @@ class EmailWorkflow extends React.PureComponent<IEmailWorkflowProps, IEmailWorkf
288
295
  });
289
296
 
290
297
  if (isCrM) {
291
- for (const id of CRM_PLACEMENT_VARS) {
292
- maskConfig.push({
293
- id,
294
- name: id,
295
- show: true
296
- });
298
+ if (uploadAsAssets) {
299
+ maskConfig.push(
300
+ {
301
+ id: ASSET_NAME_VAR,
302
+ name: ASSET_NAME_VAR,
303
+ show: true
304
+ },
305
+ {
306
+ id: 'creative_library_id',
307
+ name: 'creative_library_id',
308
+ show: true
309
+ }
310
+ );
311
+ } else {
312
+ for (const id of CRM_PLACEMENT_VARS) {
313
+ maskConfig.push({
314
+ id,
315
+ name: id,
316
+ show: true
317
+ });
318
+ }
297
319
  }
298
320
  }
299
321
 
@@ -436,12 +458,7 @@ class EmailWorkflow extends React.PureComponent<IEmailWorkflowProps, IEmailWorkf
436
458
  private getPostRenderActions() {
437
459
  const CrMUploadAction = { data: {} };
438
460
  const {
439
- creativeManagerOverrides: {
440
- placement_type,
441
- creative_id,
442
- creative_library_id,
443
- notification_email
444
- }
461
+ creativeManagerOverrides: { placement_type, creative_id, creative_library_id }
445
462
  } = this.state;
446
463
 
447
464
  CrMUploadAction['type'] = placement_type;
@@ -451,9 +468,6 @@ class EmailWorkflow extends React.PureComponent<IEmailWorkflowProps, IEmailWorkf
451
468
  if (creative_library_id) {
452
469
  CrMUploadAction.data['creative_library_id'] = creative_library_id;
453
470
  }
454
- if (notification_email) {
455
- CrMUploadAction.data['notification_email'] = notification_email;
456
- }
457
471
 
458
472
  return [CrMUploadAction];
459
473
  }
@@ -911,10 +925,8 @@ const CrMOptions: React.FC<ICrMOptionsProps> = ({ options, onChange, errorCopy =
911
925
  </div>
912
926
  ) : null;
913
927
 
914
- return (
928
+ const standardInterface = (
915
929
  <>
916
- <HRule />
917
- <br />
918
930
  <h2>{copy.publish.crmPlacement}</h2>
919
931
  <p>{copy.publish.crmData}</p>
920
932
  {e}
@@ -933,14 +945,44 @@ const CrMOptions: React.FC<ICrMOptionsProps> = ({ options, onChange, errorCopy =
933
945
  value={options.creative_id}
934
946
  onChange={(v) => onInputChange('creative_id', v)}
935
947
  />
948
+ </>
949
+ );
950
+
951
+ const assetInterface = (
952
+ <>
953
+ <h2>{copy.publish.crmPlacement}</h2>
954
+ <p>{copy.publish.crmData}</p>
955
+ {e}
956
+ <br />
936
957
  <TextField
937
958
  width={'33%'}
938
959
  labelPosition='top'
939
- label={copy.publish.email}
940
- value={options.notification_email}
941
- onChange={(v) => onInputChange('notification_email', v)}
960
+ label={copy.publish.creativeLibraryId}
961
+ value={options.creative_library_id}
962
+ onChange={(v) => onInputChange('creative_library_id', v)}
942
963
  />
964
+ </>
965
+ );
966
+ return (
967
+ <>
968
+ <HRule />
943
969
  <br />
970
+ {options['placement_type'] === ASSETS_POST_RENDER_ACTION
971
+ ? assetInterface
972
+ : standardInterface}
973
+ <br />
974
+ <HRule />
975
+ <CheckboxField
976
+ value={options['placement_type'] === ASSETS_POST_RENDER_ACTION ? true : false}
977
+ label={copy.publish.uploadAsAssets}
978
+ onChange={(v) => {
979
+ if (v === false) {
980
+ onInputChange('placement_type', ADSTUDIO_POST_RENDER_ACTION);
981
+ } else {
982
+ onInputChange('placement_type', ASSETS_POST_RENDER_ACTION);
983
+ }
984
+ }}
985
+ />
944
986
  <HRule />
945
987
  </>
946
988
  );
@@ -123,6 +123,7 @@ export const compositions = {
123
123
  };
124
124
 
125
125
  export const publish = {
126
+ uploadAsAssets: 'Upload as Assets',
126
127
  noVariablesError:
127
128
  'No variables found on the project. Cannot proceed with publishing to Creative Manager until at least one variable is added to the project.',
128
129
  publishInProgress: 'Publish to Creative Manager in progress',
@@ -130,7 +131,6 @@ export const publish = {
130
131
  btnCrM: 'Creative Manager',
131
132
  creativeLibraryId: 'Creative Library ID',
132
133
  creativeId: 'Creative ID',
133
- email: 'Notification Email',
134
134
  missingFields: 'Please provide the missing fields and try again!',
135
135
  crmPlacement: 'Creative Manager Placement Variables',
136
136
  crmData: `If your CSV batch data doesn't contain the required Creative Manager placement variables, or you would like to override them, enter the values below before you upload the batch data.`,
@@ -14,11 +14,16 @@ export const CRM_PLACEMENT_OPTIONS = [
14
14
  }
15
15
  ];
16
16
 
17
+ export const ASSET_NAME_VAR = 'asset-name';
18
+
17
19
  export const CRM_PLACEMENT_VARS = [
18
20
  'creative_library_id',
19
21
  'creative_id',
20
22
  'version-name',
21
23
  'version-id',
22
- 'clickTag1',
23
- 'notificiaton_email'
24
+ 'clickTag1'
24
25
  ];
26
+
27
+ export const ADSTUDIO_POST_RENDER_ACTION = 'crm-adstudio';
28
+
29
+ export const ASSETS_POST_RENDER_ACTION = 'crm-asset';
@@ -120,8 +120,6 @@ export interface IImposiumAPI {
120
120
  addUser(organizationId: string, email: string, roleId: number);
121
121
  updateRole(organizationId: string, userId: string, roleId: number);
122
122
  deleteUser(organizationId: string, userId: string);
123
- getPlayerMetrics(storyId: string, start: number, end: number, alias: string);
124
- getSystemMetrics(storyId: string, start: number, end: number, step: number, alias: string);
125
123
  getOrganizations(page: number, itemsPerPage: number): Promise<any[]>;
126
124
  addOrganization(orgName: string, enableCloudfront: boolean, defaultStory?: string);
127
125
  cancelExperiencePolling();
@@ -159,6 +157,7 @@ export interface IImposiumAPI {
159
157
  removeAllQueueAssocs(queueId: string);
160
158
  removeQueueAssoc(queueId: string, storyId: string);
161
159
  getQueueStories(config: any, itemsPerPage: number);
160
+ cancelAllPendingRequests();
162
161
  getToken: any;
163
162
  }
164
163
 
@@ -172,11 +171,6 @@ interface ITTSOptions {
172
171
  minimum_silence_length?: number;
173
172
  }
174
173
 
175
- interface ICancelTokenCache {
176
- player: CancelTokenSource | undefined;
177
- system: CancelTokenSource | undefined;
178
- }
179
-
180
174
  export default class API {
181
175
  private http: AxiosInstance;
182
176
 
@@ -188,17 +182,14 @@ export default class API {
188
182
 
189
183
  private jobPollTimer: any;
190
184
 
191
- private cancelTokenCache: ICancelTokenCache = {
192
- player: undefined,
193
- system: undefined
194
- };
195
-
196
185
  private cancelTokens: object = {};
197
186
 
198
187
  public getToken;
199
188
 
200
189
  private authType;
201
190
 
191
+ private abortController;
192
+
202
193
  public init(baseURL: string, credentials: any, organizationId?: string): void {
203
194
  // JWT
204
195
  const headers = {
@@ -229,12 +220,17 @@ export default class API {
229
220
 
230
221
  this.getToken = credentials;
231
222
  this.awsHttp = axios.create();
223
+ this.abortController = new AbortController();
224
+ }
225
+
226
+ public cancelAllPendingRequests() {
227
+ this.abortController.abort();
228
+ this.abortController = new AbortController();
232
229
  }
233
230
 
234
231
  private doRequest = async (
235
232
  config: AxiosRequestConfig,
236
- organizationId?: string,
237
- reqAlias: string = ''
233
+ organizationId?: string
238
234
  ): Promise<any> => {
239
235
  if (this.authType === API_AUTH_TYPES.TOKEN) {
240
236
  const token = await this.getToken();
@@ -249,19 +245,14 @@ export default class API {
249
245
  config.headers = headers;
250
246
  }
251
247
 
248
+ config.signal = this.abortController.signal;
249
+
252
250
  return new Promise((resolve, reject) => {
253
251
  this.http(config)
254
252
  .then((res: AxiosResponse) => {
255
- if (reqAlias) {
256
- this.clearCache(reqAlias);
257
- }
258
-
259
253
  resolve(res.data);
260
254
  })
261
255
  .catch((e: AxiosError) => {
262
- if (!axios.isCancel(e) && reqAlias) {
263
- this.clearCache(reqAlias);
264
- }
265
256
  reject(e);
266
257
  });
267
258
  });
@@ -286,22 +277,7 @@ export default class API {
286
277
  });
287
278
  };
288
279
 
289
- private cancelPrevious = (reqAlias: string): CancelToken => {
290
- const source: CancelTokenSource = axios.CancelToken.source();
291
-
292
- if (this.cancelTokenCache[reqAlias]) {
293
- this.cancelTokenCache[reqAlias].cancel();
294
- }
295
- this.cancelTokenCache[reqAlias] = source;
296
-
297
- return source.token;
298
- };
299
-
300
- private clearCache = (reqAlias: string): void => {
301
- this.cancelTokenCache[reqAlias] = undefined;
302
- };
303
-
304
- private doAWSRequest = (config: AxiosRequestConfig, reqAlias: string = ''): Promise<any> => {
280
+ private doAWSRequest = (config: AxiosRequestConfig): Promise<any> => {
305
281
  return new Promise((resolve, reject) => {
306
282
  this.awsHttp(config)
307
283
  .then((res: AxiosResponse) => {
@@ -514,10 +490,6 @@ export default class API {
514
490
  return source.token;
515
491
  };
516
492
 
517
- private clearCancelTokes = () => {
518
- this.cancelTokens = {};
519
- };
520
-
521
493
  public uploadAsset = (
522
494
  storyId: string,
523
495
  tags: string,
@@ -1454,41 +1426,6 @@ export default class API {
1454
1426
  });
1455
1427
  };
1456
1428
 
1457
- public getPlayerMetrics = (
1458
- storyId: string,
1459
- start: number,
1460
- end: number,
1461
- alias: string = 'player'
1462
- ): Promise<any> => {
1463
- const token = this.cancelPrevious(alias);
1464
- const config: AxiosRequestConfig = {
1465
- method: 'GET',
1466
- url: `/metrics/player/${storyId}`,
1467
- params: { start, end },
1468
- cancelToken: token
1469
- };
1470
-
1471
- return this.doRequest(config, alias);
1472
- };
1473
-
1474
- public getSystemMetrics = (
1475
- storyId: string,
1476
- start: number,
1477
- end: number,
1478
- step: number,
1479
- alias: string = 'system'
1480
- ): Promise<any> => {
1481
- const token = this.cancelPrevious(alias);
1482
- const config: AxiosRequestConfig = {
1483
- method: 'GET',
1484
- url: `/metrics/system/${storyId}`,
1485
- params: { start, end, step },
1486
- cancelToken: token
1487
- };
1488
-
1489
- return this.doRequest(config, alias);
1490
- };
1491
-
1492
1429
  public getOrganizations = (page: number, itemsPerPage: number): Promise<any[]> => {
1493
1430
  return this.doRequest({
1494
1431
  url: '/account',
@@ -1,10 +0,0 @@
1
- import React from 'react';
2
- export interface IReplaceFilesModalProps {
3
- onUpload: (f: any) => any;
4
- onApplyToAll: (e: any) => any;
5
- onClose: () => void;
6
- applyToAll: boolean;
7
- existedAssets: any[];
8
- existedAssetIds: any[];
9
- }
10
- export declare const ReplaceFilesModal: () => React.JSX.Element;
@@ -1,181 +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) {
88
- var updatedAssets = [];
89
- for (var i = 0; i < props.existedAssets.length; i++) {
90
- var updateFile = curIndex === 0
91
- ? props.existedAssets[i]
92
- : props.existedAssets.slice(curIndex)[i];
93
- updateFile['assetId'] =
94
- curIndex === 0
95
- ? props.existedAssetIds[i]
96
- : props.existedAssetIds.slice(curIndex)[i];
97
- updatedAssets.push(updateFile);
98
- }
99
- props.onUpload(updatedAssets);
100
- setIndex(0);
101
- onClose();
102
- }
103
- else {
104
- if (newIndex === props.existedAssets.length) {
105
- setIndex(0);
106
- onClose();
107
- }
108
- else {
109
- setIndex(newIndex);
110
- }
111
- var updateFile = file;
112
- updateFile['assetId'] = assetId;
113
- props.onUpload([updateFile]);
114
- }
115
- };
116
- var onAsNewHandler = function (curApplyToAll, curIndex, file) {
117
- var newIndex = curIndex + 1;
118
- if (curApplyToAll) {
119
- props.onUpload(curIndex === 0 ? props.existedAssets : props.existedAssets.slice(curIndex));
120
- setIndex(0);
121
- onClose();
122
- }
123
- else {
124
- if (newIndex === props.existedAssets.length) {
125
- setIndex(0);
126
- onClose();
127
- }
128
- else {
129
- setIndex(newIndex);
130
- }
131
- props.onUpload([file]);
132
- }
133
- };
134
- var onApplyToAllHandler = function (e) {
135
- setApplyToAll(e);
136
- props.onApplyToAll(e);
137
- };
138
- var onReplace = (0, react_1.useCallback)(function (curApplyToAll, curIndex, file, assetId) {
139
- return onReplaceHandler(curApplyToAll, curIndex, file, assetId);
140
- }, [isOpen]);
141
- var onApplyToAll = (0, react_1.useCallback)(function (e) { return onApplyToAllHandler(e); }, [isOpen]);
142
- var onAsNew = (0, react_1.useCallback)(function (curApplyToAll, curIndex, file) { return onAsNewHandler(curApplyToAll, curIndex, file); }, [isOpen]);
143
- (0, react_1.useEffect)(function () {
144
- window.addEventListener('openreplacefilesmodal', onOpen);
145
- return function () {
146
- window.removeEventListener('openreplacefilesmodal', onOpen);
147
- };
148
- }, []);
149
- var modal = function () {
150
- if (isOpen) {
151
- var file_1 = props.existedAssets[index];
152
- var assetId_1 = props.existedAssetIds[index];
153
- var name_1 = file_1.name.slice(0, file_1.name.lastIndexOf('.'));
154
- return (react_1.default.createElement(Modal_1.default, { onRequestClose: onClose, wrapperStyle: {
155
- left: '0px',
156
- width: '100%'
157
- }, style: {
158
- width: '400px',
159
- height: "".concat(height, "px"),
160
- top: 'calc(50% - 150px)',
161
- left: 'calc((100% - 400px) / 2)'
162
- }, isOpen: true },
163
- react_1.default.createElement(Section_1.default, null,
164
- react_1.default.createElement("div", { className: 'replace-files-modal', ref: replaceFileModalRef },
165
- react_1.default.createElement("p", null, copy_1.assets.uploads.title.replace('[name]', name_1)),
166
- react_1.default.createElement("div", { className: 'replace-files-buttons' },
167
- react_1.default.createElement("div", { className: 'checkbox' },
168
- react_1.default.createElement(CheckboxField_1.default, { label: copy_1.assets.uploads.applyAll, value: applyToAll, onChange: onApplyToAll })),
169
- react_1.default.createElement("div", { className: 'buttons' },
170
- 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),
171
- 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),
172
- react_1.default.createElement(Button_1.default, { onClick: onClose, size: 'large', style: 'bold', color: 'default' }, copy_1.assets.uploads.cancelButton)))))));
173
- }
174
- };
175
- var PortalContextComponent = function () {
176
- return react_dom_1.default.createPortal(modal(), document.querySelector('#react-root'));
177
- };
178
- return react_1.default.createElement(PortalContextComponent, null);
179
- };
180
- exports.ReplaceFilesModal = ReplaceFilesModal;
181
- //# 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,10 +0,0 @@
1
- import React from 'react';
2
- export interface IReplaceFilesModalProps {
3
- onUpload: (f: any) => any;
4
- onApplyToAll: (e: any) => any;
5
- onClose: () => void;
6
- applyToAll: boolean;
7
- existedAssets: any[];
8
- existedAssetIds: any[];
9
- }
10
- export declare const ReplaceFilesModal: () => React.JSX.Element;