@imposium-hub/components 2.9.0-14 → 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 (265) hide show
  1. package/dist/cjs/Util.js +0 -6
  2. package/dist/cjs/Util.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/assets/AssetsTableAssetIdFilter.js +1 -1
  22. package/dist/cjs/components/assets/AssetsTableAssetIdFilter.js.map +1 -1
  23. package/dist/cjs/components/assets/AssetsTableNameFilter.js +1 -1
  24. package/dist/cjs/components/assets/AssetsTableNameFilter.js.map +1 -1
  25. package/dist/cjs/components/assets/AssetsTablePreviewCell.d.ts +0 -1
  26. package/dist/cjs/components/assets/AssetsTablePreviewCell.js +4 -7
  27. package/dist/cjs/components/assets/AssetsTablePreviewCell.js.map +1 -1
  28. package/dist/cjs/components/assets/AssetsTableTagsFilter.js +1 -1
  29. package/dist/cjs/components/assets/AssetsTableTagsFilter.js.map +1 -1
  30. package/dist/cjs/components/assets/AssetsUploadMenu.js +2 -4
  31. package/dist/cjs/components/assets/AssetsUploadMenu.js.map +1 -1
  32. package/dist/cjs/components/auth-gate/AuthGate.d.ts +2 -0
  33. package/dist/cjs/components/auth-gate/AuthGate.js +105 -0
  34. package/dist/cjs/components/auth-gate/AuthGate.js.map +1 -0
  35. package/dist/cjs/components/confirm-modal/ConfirmModal.js +2 -3
  36. package/dist/cjs/components/confirm-modal/ConfirmModal.js.map +1 -1
  37. package/dist/cjs/components/error-message-preview/ErrorMessagePreview.d.ts +15 -0
  38. package/dist/cjs/components/error-message-preview/ErrorMessagePreview.js +91 -0
  39. package/dist/cjs/components/error-message-preview/ErrorMessagePreview.js.map +1 -0
  40. package/dist/cjs/components/field-wrapper/FieldWrapper.d.ts +0 -1
  41. package/dist/cjs/components/field-wrapper/FieldWrapper.js +8 -10
  42. package/dist/cjs/components/field-wrapper/FieldWrapper.js.map +1 -1
  43. package/dist/cjs/components/header/Header.js +2 -3
  44. package/dist/cjs/components/header/Header.js.map +1 -1
  45. package/dist/cjs/components/header/Header_BACKUP_73021.d.ts +33 -0
  46. package/dist/cjs/components/header/Header_BACKUP_73021.js +393 -0
  47. package/dist/cjs/components/header/Header_BACKUP_73021.js.map +1 -0
  48. package/dist/cjs/components/header/Header_BASE_73021.d.ts +29 -0
  49. package/dist/cjs/components/header/Header_BASE_73021.js +376 -0
  50. package/dist/cjs/components/header/Header_BASE_73021.js.map +1 -0
  51. package/dist/cjs/components/header/Header_LOCAL_73021.d.ts +33 -0
  52. package/dist/cjs/components/header/Header_LOCAL_73021.js +382 -0
  53. package/dist/cjs/components/header/Header_LOCAL_73021.js.map +1 -0
  54. package/dist/cjs/components/header/Header_REMOTE_73021.d.ts +30 -0
  55. package/dist/cjs/components/header/Header_REMOTE_73021.js +386 -0
  56. package/dist/cjs/components/header/Header_REMOTE_73021.js.map +1 -0
  57. package/dist/cjs/components/header/StoryDropdown.d.ts +6 -0
  58. package/dist/cjs/components/header/StoryDropdown.js +111 -0
  59. package/dist/cjs/components/header/StoryDropdown.js.map +1 -0
  60. package/dist/cjs/components/number-field/NumberField.d.ts +0 -1
  61. package/dist/cjs/components/number-field/NumberField.js +2 -5
  62. package/dist/cjs/components/number-field/NumberField.js.map +1 -1
  63. package/dist/cjs/components/publish-wizard/publish/EmailWorkflow.js +5 -9
  64. package/dist/cjs/components/publish-wizard/publish/EmailWorkflow.js.map +1 -1
  65. package/dist/cjs/components/slider-field/SliderField.d.ts +0 -2
  66. package/dist/cjs/components/slider-field/SliderField.js +8 -17
  67. package/dist/cjs/components/slider-field/SliderField.js.map +1 -1
  68. package/dist/cjs/components/story-previewer/StoryPreviewer.js +3 -17
  69. package/dist/cjs/components/story-previewer/StoryPreviewer.js.map +1 -1
  70. package/dist/cjs/components/tabs/Tabs.js +1 -2
  71. package/dist/cjs/components/tabs/Tabs.js.map +1 -1
  72. package/dist/cjs/components/text-field/TextField.d.ts +0 -1
  73. package/dist/cjs/components/text-field/TextField.js +2 -2
  74. package/dist/cjs/components/text-field/TextField.js.map +1 -1
  75. package/dist/cjs/constants/copy.d.ts +0 -4
  76. package/dist/cjs/constants/copy.js +1 -5
  77. package/dist/cjs/constants/copy.js.map +1 -1
  78. package/dist/cjs/constants/icons.d.ts +0 -2
  79. package/dist/cjs/constants/icons.js +1 -3
  80. package/dist/cjs/constants/icons.js.map +1 -1
  81. package/dist/cjs/index.d.ts +1 -1
  82. package/dist/cjs/index.js +2 -2
  83. package/dist/cjs/index.js.map +1 -1
  84. package/dist/cjs/redux/actions/asset-uploads.d.ts +1 -1
  85. package/dist/cjs/redux/actions/asset-uploads.js +119 -169
  86. package/dist/cjs/redux/actions/asset-uploads.js.map +1 -1
  87. package/dist/cjs/redux/actions/auth.d.ts +9 -0
  88. package/dist/cjs/redux/actions/auth.js +30 -0
  89. package/dist/cjs/redux/actions/auth.js.map +1 -0
  90. package/dist/cjs/redux/actions/publish.js +3 -11
  91. package/dist/cjs/redux/actions/publish.js.map +1 -1
  92. package/dist/cjs/redux/reducers/asset-uploads.js +1 -2
  93. package/dist/cjs/redux/reducers/asset-uploads.js.map +1 -1
  94. package/dist/cjs/redux/reducers/auth.d.ts +3 -0
  95. package/dist/cjs/redux/reducers/auth.js +67 -0
  96. package/dist/cjs/redux/reducers/auth.js.map +1 -0
  97. package/dist/cjs/services/API.d.ts +2 -2
  98. package/dist/cjs/services/API.js +4 -7
  99. package/dist/cjs/services/API.js.map +1 -1
  100. package/dist/cjs/services/Auth0.d.ts +18 -0
  101. package/dist/cjs/services/Auth0.js +102 -0
  102. package/dist/cjs/services/Auth0.js.map +1 -0
  103. package/dist/cjs/services/Session.d.ts +26 -0
  104. package/dist/cjs/services/Session.js +155 -0
  105. package/dist/cjs/services/Session.js.map +1 -0
  106. package/dist/cjs/utils/modal.d.ts +0 -1
  107. package/dist/cjs/utils/modal.js +2 -3
  108. package/dist/cjs/utils/modal.js.map +1 -1
  109. package/dist/esm/Util.js +0 -6
  110. package/dist/esm/Util.js.map +1 -1
  111. package/dist/esm/components/app-wrapper/AppWrapperV2.d.ts +26 -0
  112. package/dist/esm/components/app-wrapper/AppWrapperV2.js +142 -0
  113. package/dist/esm/components/app-wrapper/AppWrapperV2.js.map +1 -0
  114. package/dist/esm/components/app-wrapper/AppWrapperV3.d.ts +19 -0
  115. package/dist/esm/components/app-wrapper/AppWrapperV3.js +88 -0
  116. package/dist/esm/components/app-wrapper/AppWrapperV3.js.map +1 -0
  117. package/dist/esm/components/app-wrapper/AppWrapper_BACKUP_73190.d.ts +27 -0
  118. package/dist/esm/components/app-wrapper/AppWrapper_BACKUP_73190.js +194 -0
  119. package/dist/esm/components/app-wrapper/AppWrapper_BACKUP_73190.js.map +1 -0
  120. package/dist/esm/components/app-wrapper/AppWrapper_BASE_73190.d.ts +28 -0
  121. package/dist/esm/components/app-wrapper/AppWrapper_BASE_73190.js +208 -0
  122. package/dist/esm/components/app-wrapper/AppWrapper_BASE_73190.js.map +1 -0
  123. package/dist/esm/components/app-wrapper/AppWrapper_LOCAL_73190.d.ts +27 -0
  124. package/dist/esm/components/app-wrapper/AppWrapper_LOCAL_73190.js +194 -0
  125. package/dist/esm/components/app-wrapper/AppWrapper_LOCAL_73190.js.map +1 -0
  126. package/dist/esm/components/app-wrapper/AppWrapper_REMOTE_73190.d.ts +28 -0
  127. package/dist/esm/components/app-wrapper/AppWrapper_REMOTE_73190.js +204 -0
  128. package/dist/esm/components/app-wrapper/AppWrapper_REMOTE_73190.js.map +1 -0
  129. package/dist/esm/components/assets/AssetsTableAssetIdFilter.js +1 -1
  130. package/dist/esm/components/assets/AssetsTableAssetIdFilter.js.map +1 -1
  131. package/dist/esm/components/assets/AssetsTableNameFilter.js +1 -1
  132. package/dist/esm/components/assets/AssetsTableNameFilter.js.map +1 -1
  133. package/dist/esm/components/assets/AssetsTablePreviewCell.d.ts +0 -1
  134. package/dist/esm/components/assets/AssetsTablePreviewCell.js +5 -8
  135. package/dist/esm/components/assets/AssetsTablePreviewCell.js.map +1 -1
  136. package/dist/esm/components/assets/AssetsTableTagsFilter.js +1 -1
  137. package/dist/esm/components/assets/AssetsTableTagsFilter.js.map +1 -1
  138. package/dist/esm/components/assets/AssetsUploadMenu.js +3 -5
  139. package/dist/esm/components/assets/AssetsUploadMenu.js.map +1 -1
  140. package/dist/esm/components/auth-gate/AuthGate.d.ts +2 -0
  141. package/dist/esm/components/auth-gate/AuthGate.js +59 -0
  142. package/dist/esm/components/auth-gate/AuthGate.js.map +1 -0
  143. package/dist/esm/components/confirm-modal/ConfirmModal.js +2 -3
  144. package/dist/esm/components/confirm-modal/ConfirmModal.js.map +1 -1
  145. package/dist/esm/components/error-message-preview/ErrorMessagePreview.d.ts +15 -0
  146. package/dist/esm/components/error-message-preview/ErrorMessagePreview.js +35 -0
  147. package/dist/esm/components/error-message-preview/ErrorMessagePreview.js.map +1 -0
  148. package/dist/esm/components/field-wrapper/FieldWrapper.d.ts +0 -1
  149. package/dist/esm/components/field-wrapper/FieldWrapper.js +8 -10
  150. package/dist/esm/components/field-wrapper/FieldWrapper.js.map +1 -1
  151. package/dist/esm/components/header/Header.js +2 -3
  152. package/dist/esm/components/header/Header.js.map +1 -1
  153. package/dist/esm/components/header/Header_BACKUP_73021.d.ts +33 -0
  154. package/dist/esm/components/header/Header_BACKUP_73021.js +336 -0
  155. package/dist/esm/components/header/Header_BACKUP_73021.js.map +1 -0
  156. package/dist/esm/components/header/Header_BASE_73021.d.ts +29 -0
  157. package/dist/esm/components/header/Header_BASE_73021.js +322 -0
  158. package/dist/esm/components/header/Header_BASE_73021.js.map +1 -0
  159. package/dist/esm/components/header/Header_LOCAL_73021.d.ts +33 -0
  160. package/dist/esm/components/header/Header_LOCAL_73021.js +328 -0
  161. package/dist/esm/components/header/Header_LOCAL_73021.js.map +1 -0
  162. package/dist/esm/components/header/Header_REMOTE_73021.d.ts +30 -0
  163. package/dist/esm/components/header/Header_REMOTE_73021.js +329 -0
  164. package/dist/esm/components/header/Header_REMOTE_73021.js.map +1 -0
  165. package/dist/esm/components/header/StoryDropdown.d.ts +6 -0
  166. package/dist/esm/components/header/StoryDropdown.js +82 -0
  167. package/dist/esm/components/header/StoryDropdown.js.map +1 -0
  168. package/dist/esm/components/number-field/NumberField.d.ts +0 -1
  169. package/dist/esm/components/number-field/NumberField.js +2 -5
  170. package/dist/esm/components/number-field/NumberField.js.map +1 -1
  171. package/dist/esm/components/publish-wizard/publish/EmailWorkflow.js +5 -9
  172. package/dist/esm/components/publish-wizard/publish/EmailWorkflow.js.map +1 -1
  173. package/dist/esm/components/slider-field/SliderField.d.ts +0 -2
  174. package/dist/esm/components/slider-field/SliderField.js +8 -17
  175. package/dist/esm/components/slider-field/SliderField.js.map +1 -1
  176. package/dist/esm/components/story-previewer/StoryPreviewer.js +4 -13
  177. package/dist/esm/components/story-previewer/StoryPreviewer.js.map +1 -1
  178. package/dist/esm/components/tabs/Tabs.js +1 -2
  179. package/dist/esm/components/tabs/Tabs.js.map +1 -1
  180. package/dist/esm/components/text-field/TextField.d.ts +0 -1
  181. package/dist/esm/components/text-field/TextField.js +2 -2
  182. package/dist/esm/components/text-field/TextField.js.map +1 -1
  183. package/dist/esm/constants/copy.d.ts +0 -4
  184. package/dist/esm/constants/copy.js +1 -5
  185. package/dist/esm/constants/copy.js.map +1 -1
  186. package/dist/esm/constants/icons.d.ts +0 -2
  187. package/dist/esm/constants/icons.js +1 -3
  188. package/dist/esm/constants/icons.js.map +1 -1
  189. package/dist/esm/index.d.ts +1 -1
  190. package/dist/esm/index.js +1 -1
  191. package/dist/esm/index.js.map +1 -1
  192. package/dist/esm/redux/actions/asset-uploads.d.ts +1 -1
  193. package/dist/esm/redux/actions/asset-uploads.js +115 -165
  194. package/dist/esm/redux/actions/asset-uploads.js.map +1 -1
  195. package/dist/esm/redux/actions/auth.d.ts +9 -0
  196. package/dist/esm/redux/actions/auth.js +25 -0
  197. package/dist/esm/redux/actions/auth.js.map +1 -0
  198. package/dist/esm/redux/actions/publish.js +3 -11
  199. package/dist/esm/redux/actions/publish.js.map +1 -1
  200. package/dist/esm/redux/reducers/asset-uploads.js +1 -2
  201. package/dist/esm/redux/reducers/asset-uploads.js.map +1 -1
  202. package/dist/esm/redux/reducers/auth.d.ts +3 -0
  203. package/dist/esm/redux/reducers/auth.js +27 -0
  204. package/dist/esm/redux/reducers/auth.js.map +1 -0
  205. package/dist/esm/services/API.d.ts +2 -2
  206. package/dist/esm/services/API.js +4 -7
  207. package/dist/esm/services/API.js.map +1 -1
  208. package/dist/esm/services/Auth0.d.ts +18 -0
  209. package/dist/esm/services/Auth0.js +68 -0
  210. package/dist/esm/services/Auth0.js.map +1 -0
  211. package/dist/esm/services/Session.d.ts +26 -0
  212. package/dist/esm/services/Session.js +107 -0
  213. package/dist/esm/services/Session.js.map +1 -0
  214. package/dist/esm/utils/modal.d.ts +0 -1
  215. package/dist/esm/utils/modal.js +1 -2
  216. package/dist/esm/utils/modal.js.map +1 -1
  217. package/dist/styles.css +6 -101
  218. package/dist/styles.less +58 -91
  219. package/less/components/assets.less +39 -5
  220. package/less/components/button-menu.less +0 -1
  221. package/less/components/button.less +19 -57
  222. package/less/components/form-field.less +0 -27
  223. package/less/components/story-previewer.less +1 -1
  224. package/package.json +1 -1
  225. package/src/Util.ts +0 -9
  226. package/src/components/assets/AssetsTableAssetIdFilter.tsx +0 -1
  227. package/src/components/assets/AssetsTableNameFilter.tsx +0 -1
  228. package/src/components/assets/AssetsTablePreviewCell.tsx +14 -10
  229. package/src/components/assets/AssetsTableTagsFilter.tsx +0 -1
  230. package/src/components/assets/AssetsUploadMenu.tsx +11 -20
  231. package/src/components/confirm-modal/ConfirmModal.tsx +2 -3
  232. package/src/components/field-wrapper/FieldWrapper.tsx +12 -16
  233. package/src/components/header/Header.tsx +2 -3
  234. package/src/components/number-field/NumberField.tsx +2 -6
  235. package/src/components/publish-wizard/publish/EmailWorkflow.tsx +2 -11
  236. package/src/components/slider-field/SliderField.tsx +22 -44
  237. package/src/components/story-previewer/StoryPreviewer.tsx +8 -24
  238. package/src/components/tabs/Tabs.tsx +1 -2
  239. package/src/components/text-field/TextField.tsx +2 -5
  240. package/src/constants/copy.ts +1 -5
  241. package/src/constants/icons.tsx +1 -10
  242. package/src/index.ts +1 -1
  243. package/src/redux/actions/asset-uploads.ts +162 -193
  244. package/src/redux/actions/publish.ts +3 -11
  245. package/src/redux/reducers/asset-uploads.ts +1 -2
  246. package/src/services/API.ts +6 -11
  247. package/src/utils/modal.ts +1 -3
  248. package/dist/cjs/components/edit-guide-modal/EditGuideModal.d.ts +0 -8
  249. package/dist/cjs/components/edit-guide-modal/EditGuideModal.js +0 -122
  250. package/dist/cjs/components/edit-guide-modal/EditGuideModal.js.map +0 -1
  251. package/dist/cjs/components/edit-marker-modal/EditMarkerModal.d.ts +0 -8
  252. package/dist/cjs/components/edit-marker-modal/EditMarkerModal.js +0 -104
  253. package/dist/cjs/components/edit-marker-modal/EditMarkerModal.js.map +0 -1
  254. package/dist/cjs/components/replace-files-modal/ReplaceFilesModal.d.ts +0 -11
  255. package/dist/cjs/components/replace-files-modal/ReplaceFilesModal.js +0 -203
  256. package/dist/cjs/components/replace-files-modal/ReplaceFilesModal.js.map +0 -1
  257. package/dist/esm/components/edit-guide-modal/EditGuideModal.d.ts +0 -8
  258. package/dist/esm/components/edit-guide-modal/EditGuideModal.js +0 -65
  259. package/dist/esm/components/edit-guide-modal/EditGuideModal.js.map +0 -1
  260. package/dist/esm/components/edit-marker-modal/EditMarkerModal.d.ts +0 -8
  261. package/dist/esm/components/edit-marker-modal/EditMarkerModal.js +0 -72
  262. package/dist/esm/components/edit-marker-modal/EditMarkerModal.js.map +0 -1
  263. package/dist/esm/components/replace-files-modal/ReplaceFilesModal.d.ts +0 -11
  264. package/dist/esm/components/replace-files-modal/ReplaceFilesModal.js +0 -141
  265. package/dist/esm/components/replace-files-modal/ReplaceFilesModal.js.map +0 -1
@@ -4,7 +4,6 @@ import axios from 'axios';
4
4
 
5
5
  const assetUploadsActions: any = {
6
6
  ADD_UPLOAD: 'assetUploads/ADD_UPLOAD',
7
- UPDATE_APPLY_ALL: 'assetUploads/UPDATE_APPY_ALL',
8
7
  UPDATE_UPLOAD: 'assetUploads/UPDATE_UPLOAD',
9
8
  UPDATE_PERCENT_UPLOADED: 'assetUploads/UPDATE_PERCENT_UPLOADED',
10
9
  ADD_UPLOAD_ASSET_ID: 'assetUploads/ADD_UPLOAD_ASSET_ID',
@@ -17,35 +16,6 @@ const POLL_INTERVAL: number = 5000;
17
16
  let uploadFiles: File[] = [];
18
17
  let setBindToOverlay;
19
18
 
20
- const getUploadMeta = (filename, file, editor) => {
21
- const {
22
- assetUploads: { tagByFileName, tagByDelimiter, delimiter, tagManually, manualTags }
23
- } = editor;
24
-
25
- let tags = [];
26
- let assetId;
27
-
28
- const name = file.name.slice(0, file.name.lastIndexOf('.'));
29
-
30
- if (file.assetId) {
31
- assetId = file.assetId;
32
- } else {
33
- if (tagByFileName) {
34
- tags = tags.concat(name);
35
- }
36
-
37
- if (tagByDelimiter) {
38
- const tag = name.split(delimiter);
39
- tags = [...new Set([...tags, ...tag])];
40
- }
41
-
42
- if (tagManually) {
43
- tags = [...new Set([...tags, ...manualTags])];
44
- }
45
- }
46
- return { filename, percent: 0, tags, assetId };
47
- };
48
-
49
19
  export const uploadAssets = (
50
20
  api: IImposiumAPI,
51
21
  files: File[],
@@ -54,14 +24,17 @@ export const uploadAssets = (
54
24
  return (dispatch, getStore) => {
55
25
  const {
56
26
  assetUploads: { uploads },
57
- editor,
58
- editor: { showUploadsMenu, showUploadsDropdown }
27
+ editor: {
28
+ showUploadsMenu,
29
+ showUploadsDropdown,
30
+ assetUploads: { tagByFileName, tagByDelimiter, delimiter, tagManually, manualTags }
31
+ }
59
32
  } = getStore();
60
33
 
61
34
  uploadFiles.push(...files);
62
35
  setBindToOverlay = bindToOverlay;
63
36
 
64
- files.map((file: any) => {
37
+ files.map((file: File) => {
65
38
  const uploadsWithSameName: any[] = uploads.filter((u: any) =>
66
39
  u.filename.includes(file.name)
67
40
  );
@@ -70,7 +43,22 @@ export const uploadAssets = (
70
43
  ? `${file.name} (${uploadsWithSameName.length})`
71
44
  : file.name;
72
45
 
73
- const uploadMeta: any = getUploadMeta(filename, file, editor);
46
+ let tags = [];
47
+
48
+ if (tagByFileName) {
49
+ tags = tags.concat(file.name.slice(0, file.name.lastIndexOf('.')));
50
+ }
51
+
52
+ if (tagByDelimiter) {
53
+ const tag = file.name.slice(0, file.name.lastIndexOf('.')).split(delimiter);
54
+ tags = [...new Set([...tags, ...tag])];
55
+ }
56
+
57
+ if (tagManually) {
58
+ tags = [...new Set([...tags, ...manualTags])];
59
+ }
60
+
61
+ const uploadMeta: any = { filename, percent: 0, tags };
74
62
 
75
63
  dispatch({ type: assetUploadsActions.ADD_UPLOAD, uploadMeta });
76
64
  });
@@ -83,13 +71,38 @@ export const uploadAssets = (
83
71
 
84
72
  export const updateUploadTags = (): any => {
85
73
  return (dispatch, getStore) => {
86
- const { editor } = getStore();
74
+ const {
75
+ editor: {
76
+ assetUploads: { tagByFileName, tagByDelimiter, delimiter, tagManually, manualTags }
77
+ }
78
+ } = getStore();
87
79
  const uploadMetaArray = [];
88
80
 
89
81
  if (uploadFiles.length > 0) {
90
- uploadFiles.map((file: any) => {
82
+ uploadFiles.map((file: File) => {
91
83
  const filename: string = file.name;
92
- const uploadMeta: any = getUploadMeta(filename, file, editor);
84
+
85
+ let tags = [];
86
+
87
+ if (tagByFileName) {
88
+ const tagsByFileName = tags.concat(
89
+ file.name.slice(0, file.name.lastIndexOf('.'))
90
+ );
91
+ const trimmedTags = tagsByFileName.map((str) => str.trim());
92
+ tags = [...new Set([...tags, ...trimmedTags])];
93
+ }
94
+
95
+ if (tagByDelimiter) {
96
+ const tag = file.name.slice(0, file.name.lastIndexOf('.')).split(delimiter);
97
+ const trimmedTags = tag.map((str) => str.trim());
98
+ tags = [...new Set([...tags, ...trimmedTags])];
99
+ }
100
+
101
+ if (tagManually) {
102
+ tags = [...new Set([...tags, ...manualTags])];
103
+ }
104
+
105
+ const uploadMeta: any = { filename, percent: 0, tags };
93
106
 
94
107
  uploadMetaArray.push(uploadMeta);
95
108
  });
@@ -108,10 +121,16 @@ export const uploadingAsset = (api: IImposiumAPI): any => {
108
121
  const uploadAssetHandler = (api: IImposiumAPI, dispatch, getStore) => {
109
122
  const {
110
123
  project: { storyId },
111
- editor,
112
124
  editor: {
113
125
  fromCrM,
114
- assetUploads: { assignToStory }
126
+ assetUploads: {
127
+ assignToStory,
128
+ tagByFileName,
129
+ tagByDelimiter,
130
+ delimiter,
131
+ tagManually,
132
+ manualTags
133
+ }
115
134
  },
116
135
  assetUploads: { uploads }
117
136
  } = getStore();
@@ -123,9 +142,27 @@ const uploadAssetHandler = (api: IImposiumAPI, dispatch, getStore) => {
123
142
  const sId = (assignToStory || fromCrM) && storyId ? storyId : null;
124
143
 
125
144
  if (uploadFiles.length > 0) {
126
- const uploadBlobs: any[] = uploadFiles.map((file: any) => {
145
+ const uploadBlobs: any[] = uploadFiles.map((file: File) => {
127
146
  const filename: string = file.name;
128
147
 
148
+ let tags = [];
149
+
150
+ if (tagByFileName) {
151
+ const tagsByFileName = tags.concat(file.name.slice(0, file.name.lastIndexOf('.')));
152
+ const trimmedTags = tagsByFileName.map((str) => str.trim());
153
+ tags = [...new Set([...tags, ...trimmedTags])];
154
+ }
155
+
156
+ if (tagByDelimiter) {
157
+ const tag = file.name.slice(0, file.name.lastIndexOf('.')).split(delimiter);
158
+ const trimmedTags = tag.map((str) => str.trim());
159
+ tags = [...new Set([...tags, ...trimmedTags])];
160
+ }
161
+
162
+ if (tagManually) {
163
+ tags = [...new Set([...tags, ...manualTags])];
164
+ }
165
+
129
166
  const onUploadProgress = (progress: any): void => {
130
167
  dispatch({
131
168
  type: assetUploadsActions.UPDATE_PERCENT_UPLOADED,
@@ -135,12 +172,10 @@ const uploadAssetHandler = (api: IImposiumAPI, dispatch, getStore) => {
135
172
  });
136
173
  };
137
174
 
138
- const uploadMeta: any = getUploadMeta(filename, file, editor);
175
+ const uploadMeta: any = { filename, percent: 0, tags };
139
176
 
140
177
  uploadMetaArray.push(uploadMeta);
141
178
 
142
- const { tags } = uploadMeta;
143
-
144
179
  return { file, tags, filename, onUploadProgress };
145
180
  });
146
181
 
@@ -154,155 +189,79 @@ const uploadAssetHandler = (api: IImposiumAPI, dispatch, getStore) => {
154
189
  const isUploading =
155
190
  uploads.find((f) => f.filename === uploadBlobs[activeIndex].filename)?.percent > 0;
156
191
  if (!isUploading) {
157
- if (uploadBlobs[activeIndex].file.assetId) {
158
- api.replaceAsset(
159
- uploadBlobs[activeIndex].file.assetId,
160
- uploadBlobs[activeIndex].file,
161
- uploadBlobs[activeIndex].onUploadProgress,
162
- uploadBlobs[activeIndex].filename
163
- )
164
- .then((result) => {
165
- const filename = uploadBlobs.find((b) =>
166
- b.filename.includes(result.name)
167
- ).filename;
168
-
169
- uploadFiles = uploadFiles.filter((f) => f.name !== filename);
170
- dispatch({
171
- type: assetUploadsActions.ADD_UPLOAD_ASSET_ID,
172
- assetId: result.id,
173
- filename
174
- });
175
- const currentOngoingJobs = () => {
176
- if (setBindToOverlay) {
177
- setBindToOverlay(result);
192
+ api.uploadAsset(
193
+ sId,
194
+ uploadBlobs[activeIndex].tags,
195
+ uploadBlobs[activeIndex].file,
196
+ uploadBlobs[activeIndex].onUploadProgress,
197
+ uploadBlobs[activeIndex].filename
198
+ )
199
+ .then((result) => {
200
+ const filename = uploadBlobs.find((b) =>
201
+ b.filename.includes(result[0].name)
202
+ ).filename;
203
+ uploadFiles = uploadFiles.filter((f) => f.name !== filename);
204
+ dispatch({
205
+ type: assetUploadsActions.ADD_UPLOAD_ASSET_ID,
206
+ assetId: result[0].id,
207
+ filename
208
+ });
209
+ const currentOngoingJobs = () => {
210
+ if (setBindToOverlay) {
211
+ setBindToOverlay(result[0]);
212
+ }
213
+ return {
214
+ footageId: result[0].id,
215
+ jobId: result[0].job_id,
216
+ filename: uploadBlobs[activeIndex].filename,
217
+ onProcessed: () => {
218
+ const fileName = ongoingJobs.filter(
219
+ (job: any) => job.jobId === result[0].job_id
220
+ )[0].filename;
221
+ dispatch({
222
+ type: assetUploadsActions.REMOVE_UPLOAD,
223
+ filename: fileName
224
+ });
225
+ doAssetTableHydration(api, storyId);
178
226
  }
179
- return {
180
- footageId: result.id,
181
- jobId: result.job_id,
182
- filename: uploadBlobs[activeIndex].filename,
183
- onProcessed: () => {
184
- const fileName = ongoingJobs.filter(
185
- (job: any) => job.jobId === result.job_id
186
- )[0].filename;
187
- dispatch({
188
- type: assetUploadsActions.REMOVE_UPLOAD,
189
- filename: fileName
190
- });
191
- doAssetTableHydration(api, storyId);
192
- }
193
- };
194
227
  };
195
- ongoingJobs.push(currentOngoingJobs());
196
- if (currentQueue !== queueLength - 1) {
197
- currentQueue = currentQueue + 1;
198
- createPromise(currentQueue);
199
- } else {
200
- ongoingJobs = ongoingJobs.filter((j: any, i: number) => {
201
- const jobIdExists: boolean = typeof j.jobId === 'string';
202
- if (!jobIdExists) {
203
- dispatch({
204
- type: assetUploadsActions.REMOVE_UPLOAD,
205
- filename: j.filename
206
- });
207
- doAssetTableHydration(api, storyId);
208
- }
209
- return jobIdExists;
210
- });
211
- if (ongoingJobs.length > 0) {
212
- pollAssetJobs(api, ongoingJobs, processingTimeout);
228
+ };
229
+ ongoingJobs.push(currentOngoingJobs());
230
+ if (currentQueue !== queueLength - 1) {
231
+ currentQueue = currentQueue + 1;
232
+ createPromise(currentQueue);
233
+ } else {
234
+ ongoingJobs = ongoingJobs.filter((j: any, i: number) => {
235
+ const jobIdExists: boolean = typeof j.jobId === 'string';
236
+ if (!jobIdExists) {
237
+ dispatch({
238
+ type: assetUploadsActions.REMOVE_UPLOAD,
239
+ filename: j.filename
240
+ });
241
+ doAssetTableHydration(api, storyId);
213
242
  }
243
+ return jobIdExists;
244
+ });
245
+ if (ongoingJobs.length > 0) {
246
+ pollAssetJobs(api, ongoingJobs, processingTimeout);
214
247
  }
215
- })
216
- .catch((e: Error[]) => {
217
- if (axios.isCancel(e) && currentQueue !== queueLength - 1) {
218
- currentQueue = currentQueue + 1;
219
- createPromise(currentQueue);
220
- } else {
221
- const error: any = { ...e };
222
- const errorMsg = error.response.data.error.split(':')[0];
223
- dispatch({
224
- type: assetUploadsActions.ERROR,
225
- filename: uploadBlobs[activeIndex].filename,
226
- errorMsg
227
- });
228
- doAssetTableHydration(api, storyId);
229
- }
230
- });
231
- } else {
232
- api.uploadAsset(
233
- sId,
234
- uploadBlobs[activeIndex].tags,
235
- uploadBlobs[activeIndex].file,
236
- uploadBlobs[activeIndex].onUploadProgress,
237
- uploadBlobs[activeIndex].filename
238
- )
239
- .then((result) => {
240
- const filename = uploadBlobs.find((b) =>
241
- b.filename.includes(result[0].name)
242
- ).filename;
243
- uploadFiles = uploadFiles.filter((f) => f.name !== filename);
248
+ }
249
+ })
250
+ .catch((e: Error[]) => {
251
+ if (axios.isCancel(e) && currentQueue !== queueLength - 1) {
252
+ currentQueue = currentQueue + 1;
253
+ createPromise(currentQueue);
254
+ } else {
255
+ const error: any = { ...e };
256
+ const errorMsg = error.response.data.error.split(':')[0];
244
257
  dispatch({
245
- type: assetUploadsActions.ADD_UPLOAD_ASSET_ID,
246
- assetId: result[0].id,
247
- filename
258
+ type: assetUploadsActions.ERROR,
259
+ filename: uploadBlobs[activeIndex].filename,
260
+ errorMsg
248
261
  });
249
- const currentOngoingJobs = () => {
250
- if (setBindToOverlay) {
251
- setBindToOverlay(result[0]);
252
- }
253
- return {
254
- footageId: result[0].id,
255
- jobId: result[0].job_id,
256
- filename: uploadBlobs[activeIndex].filename,
257
- onProcessed: () => {
258
- const fileName = ongoingJobs.filter(
259
- (job: any) => job.jobId === result[0].job_id
260
- )[0].filename;
261
- dispatch({
262
- type: assetUploadsActions.REMOVE_UPLOAD,
263
- filename: fileName
264
- });
265
- doAssetTableHydration(api, storyId);
266
- }
267
- };
268
- };
269
- ongoingJobs.push(currentOngoingJobs());
270
- if (currentQueue !== queueLength - 1) {
271
- currentQueue = currentQueue + 1;
272
- createPromise(currentQueue);
273
- } else {
274
- ongoingJobs = ongoingJobs.filter((j: any, i: number) => {
275
- const jobIdExists: boolean = typeof j.jobId === 'string';
276
- if (!jobIdExists) {
277
- dispatch({
278
- type: assetUploadsActions.REMOVE_UPLOAD,
279
- filename: j.filename
280
- });
281
- doAssetTableHydration(api, storyId);
282
- }
283
- return jobIdExists;
284
- });
285
- if (ongoingJobs.length > 0) {
286
- pollAssetJobs(api, ongoingJobs, processingTimeout);
287
- }
288
- }
289
- })
290
- .catch((e: Error[]) => {
291
- if (axios.isCancel(e) && currentQueue !== queueLength - 1) {
292
- currentQueue = currentQueue + 1;
293
- createPromise(currentQueue);
294
- } else {
295
- const error: any = { ...e };
296
- const errorMsg = error.response.data.error.split(':')[0];
297
- dispatch({
298
- type: assetUploadsActions.ERROR,
299
- filename: uploadBlobs[activeIndex].filename,
300
- errorMsg
301
- });
302
- doAssetTableHydration(api, storyId);
303
- }
304
- });
305
- }
262
+ doAssetTableHydration(api, storyId);
263
+ }
264
+ });
306
265
  }
307
266
  };
308
267
 
@@ -315,39 +274,49 @@ const uploadAssetHandler = (api: IImposiumAPI, dispatch, getStore) => {
315
274
 
316
275
  export const replaceAsset = (
317
276
  api: IImposiumAPI,
277
+ assetId: any,
318
278
  files: File[],
319
279
  storyId: string,
320
- assetId?: any,
321
280
  bindToOverlay?: (f: any) => any
322
281
  ): any => {
323
- return (dispatch) => {
282
+ return (dispatch, getStore) => {
324
283
  return new Promise<void>((resolve) => {
284
+ const {
285
+ assetUploads: { uploads }
286
+ } = getStore();
325
287
  let currentQueue: number = 0;
326
288
  let ongoingJobs: any[] = [];
327
289
  const filesLength = files.length > 5 ? 4 : files.length - 1;
328
290
 
329
291
  const replacedFileBlobs: any[] = files.map((file: File) => {
330
- const uploadMeta: any = { filename: file.name, percent: 0 };
292
+ const uploadsWithSameName: any[] = uploads.filter((u: any) =>
293
+ u.filename.includes(file.name)
294
+ );
295
+ const filename: string =
296
+ uploadsWithSameName.length > 0
297
+ ? `${file.name} (${uploadsWithSameName.length})`
298
+ : file.name;
299
+
300
+ const uploadMeta: any = { filename, percent: 0 };
331
301
 
332
302
  const onUploadProgress = (progress: any): void => {
333
303
  dispatch({
334
304
  type: assetUploadsActions.UPDATE_PERCENT_UPLOADED,
335
305
  percent: Math.floor((progress.loaded * 100) / progress.total),
336
- filename: file.name
306
+ filename
337
307
  });
338
308
  };
339
309
 
340
310
  dispatch({ type: assetUploadsActions.ADD_UPLOAD, uploadMeta });
341
311
 
342
- return { file, filename: file.name, onUploadProgress };
312
+ return { file, filename, onUploadProgress };
343
313
  });
344
314
 
345
315
  const createPromise = (activeIndex: number) => {
346
316
  const queueLength: number = replacedFileBlobs.length;
347
317
  const processingTimeout: number = -1;
348
- const id = assetId ? assetId : replacedFileBlobs[activeIndex].file.assetId;
349
318
  api.replaceAsset(
350
- id,
319
+ assetId,
351
320
  replacedFileBlobs[activeIndex].file,
352
321
  replacedFileBlobs[activeIndex].onUploadProgress,
353
322
  replacedFileBlobs[activeIndex].filename
@@ -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
-
20
+ resolve(resStatus);
21
21
  if (resStatus.publishing) {
22
22
  const jobId = resStatus.job_id;
23
23
  api.pollJob(jobId)
@@ -38,14 +38,12 @@ export const getStoryPublishStatus = (api: IImposiumAPI, storyId: string): any =
38
38
  reject(copy.header.publishPollError);
39
39
  }
40
40
  });
41
- } else {
42
- resolve(resStatus);
43
41
  }
44
42
  }
45
43
  })
46
44
  .catch((e) => {
47
45
  // 404 = no published version = using working copy
48
- if (e?.response?.status !== 404 && e.error !== 'missing_refresh_token') {
46
+ if (e?.response?.status !== 404) {
49
47
  console.error(e);
50
48
  reject(copy.header.publishPollError);
51
49
  }
@@ -79,15 +77,9 @@ export const publishVersion = (api: IImposiumAPI, storyId: string) => {
79
77
  return new Promise((resolve, reject) => {
80
78
  api.runPublish(storyId, '')
81
79
  .then((d) => {
82
- dispatch(getStoryPublishStatus(api, storyId))
83
- .then()
84
- .catch((error) => {
85
- dispatch({ type: publish.CLEAR_PUBLISH_STATUS });
86
- reject(error);
87
- });
80
+ return dispatch(getStoryPublishStatus(api, storyId));
88
81
  })
89
82
  .catch((e) => {
90
- dispatch({ type: publish.CLEAR_PUBLISH_STATUS });
91
83
  if (e) {
92
84
  reject(e);
93
85
  } else {
@@ -1,8 +1,7 @@
1
1
  import assetUploadsActions from '../actions/asset-uploads';
2
2
 
3
3
  const initialState: any = {
4
- uploads: [],
5
- applyAll: false
4
+ uploads: []
6
5
  };
7
6
 
8
7
  const assetUploads = (state = initialState, action): any => {
@@ -146,7 +146,7 @@ export interface IImposiumAPI {
146
146
  getAssetMap(storyId: string);
147
147
  clearStoryCache(storyId: string);
148
148
  debugId(id: string);
149
- cacheActiveStory(serviceId: any, orgId: string, storyId?: string);
149
+ cacheActiveStory(serviceId: any, orgId: string, storyId: string);
150
150
  getCachedStoryForOrg(serviceId: string, orgId: string);
151
151
  getAccessData(includeTotalRenders?: boolean, orgId?: string);
152
152
  deleteExperience(experienceId: string, eraseMedia?: boolean);
@@ -1655,21 +1655,16 @@ export default class API {
1655
1655
  });
1656
1656
  };
1657
1657
 
1658
- public cacheActiveStory = (serviceId, orgId, storyId?): Promise<any | Error> => {
1658
+ public cacheActiveStory = (serviceId, orgId, storyId): Promise<any | Error> => {
1659
1659
  const route = `/service/${serviceId}/${orgId}/active`;
1660
1660
 
1661
- const data: any = {
1662
- organization_id: orgId
1663
- };
1664
-
1665
- if (storyId) {
1666
- data['story_id'] = storyId;
1667
- }
1668
-
1669
1661
  return this.doRequest({
1670
1662
  method: 'POST',
1671
1663
  url: route,
1672
- data
1664
+ data: {
1665
+ story_id: storyId,
1666
+ organization_id: orgId
1667
+ }
1673
1668
  });
1674
1669
  };
1675
1670
 
@@ -1,9 +1,7 @@
1
1
  import { IConfirmModalProps } from '../components/confirm-modal/ConfirmModal';
2
2
 
3
- export const confirmModalEvent = 'openconfirmmodal';
4
-
5
3
  export const openConfirmModal = (detail: IConfirmModalProps) => {
6
- const event = new CustomEvent(confirmModalEvent, {
4
+ const event = new CustomEvent('openconfirmmodal', {
7
5
  detail
8
6
  });
9
7
 
@@ -1,8 +0,0 @@
1
- import React from 'react';
2
- export interface IEditGuideModalProps {
3
- guide: number;
4
- onClose: () => any;
5
- onContinue: (e: any) => any;
6
- isHorizontal: boolean;
7
- }
8
- export declare const EditGuideModal: () => React.JSX.Element;