@imposium-hub/components 2.3.11-0 → 2.4.0-1

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 (288) hide show
  1. package/dist/cjs/Util.d.ts +0 -1
  2. package/dist/cjs/Util.js +1 -8
  3. package/dist/cjs/Util.js.map +1 -1
  4. package/dist/cjs/components/Tooltip.d.ts +2 -2
  5. package/dist/cjs/components/Tooltip.js +7 -4
  6. package/dist/cjs/components/Tooltip.js.map +1 -1
  7. package/dist/cjs/components/advanced-number-field/AdvancedNumberField.d.ts +1 -1
  8. package/dist/cjs/components/anchor-field/AnchorField.d.ts +1 -1
  9. package/dist/cjs/components/app-wrapper/AppWrapper.d.ts +1 -2
  10. package/dist/cjs/components/app-wrapper/AppWrapper.js +96 -84
  11. package/dist/cjs/components/app-wrapper/AppWrapper.js.map +1 -1
  12. package/dist/cjs/components/app-wrapper/AppWrapper_BACKUP_73190.d.ts +27 -0
  13. package/dist/cjs/components/app-wrapper/AppWrapper_BACKUP_73190.js +243 -0
  14. package/dist/cjs/components/app-wrapper/AppWrapper_BACKUP_73190.js.map +1 -0
  15. package/dist/cjs/components/app-wrapper/AppWrapper_BASE_73190.d.ts +28 -0
  16. package/dist/cjs/components/app-wrapper/AppWrapper_BASE_73190.js +255 -0
  17. package/dist/cjs/components/app-wrapper/AppWrapper_BASE_73190.js.map +1 -0
  18. package/dist/cjs/components/app-wrapper/AppWrapper_LOCAL_73190.d.ts +27 -0
  19. package/dist/cjs/components/app-wrapper/AppWrapper_LOCAL_73190.js +243 -0
  20. package/dist/cjs/components/app-wrapper/AppWrapper_LOCAL_73190.js.map +1 -0
  21. package/dist/cjs/components/app-wrapper/AppWrapper_REMOTE_73190.d.ts +28 -0
  22. package/dist/cjs/components/app-wrapper/AppWrapper_REMOTE_73190.js +251 -0
  23. package/dist/cjs/components/app-wrapper/AppWrapper_REMOTE_73190.js.map +1 -0
  24. package/dist/cjs/components/assets/AssetField.js +2 -2
  25. package/dist/cjs/components/assets/AssetField.js.map +1 -1
  26. package/dist/cjs/components/assets/AssetsTableDurationCell.js +4 -1
  27. package/dist/cjs/components/assets/AssetsTableDurationCell.js.map +1 -1
  28. package/dist/cjs/components/assets/AssetsTableGlobalCell.js +1 -1
  29. package/dist/cjs/components/assets/AssetsTableGlobalCell.js.map +1 -1
  30. package/dist/cjs/components/assets/AssetsTableNameCell.js +3 -4
  31. package/dist/cjs/components/assets/AssetsTableNameCell.js.map +1 -1
  32. package/dist/cjs/components/assets/AssetsTableRateCell.js +3 -9
  33. package/dist/cjs/components/assets/AssetsTableRateCell.js.map +1 -1
  34. package/dist/cjs/components/assets/AssetsTableTypeFilter.js +2 -2
  35. package/dist/cjs/components/assets/AssetsTableTypeFilter.js.map +1 -1
  36. package/dist/cjs/components/assets/AssetsUploadMenu.js +34 -157
  37. package/dist/cjs/components/assets/AssetsUploadMenu.js.map +1 -1
  38. package/dist/cjs/components/auth-gate/AuthGate.js +9 -5
  39. package/dist/cjs/components/auth-gate/AuthGate.js.map +1 -1
  40. package/dist/cjs/components/button-group-field/ButtonGroupField.d.ts +1 -1
  41. package/dist/cjs/components/checkbox-field/CheckboxField.d.ts +1 -1
  42. package/dist/cjs/components/color-field/ColorField.d.ts +1 -1
  43. package/dist/cjs/components/color-field/ColorField.js +2 -2
  44. package/dist/cjs/components/color-field/ColorField.js.map +1 -1
  45. package/dist/cjs/components/context-menu/ContextMenu.js +4 -8
  46. package/dist/cjs/components/context-menu/ContextMenu.js.map +1 -1
  47. package/dist/cjs/components/data-table/DataTable.js +2 -2
  48. package/dist/cjs/components/data-table/DataTable.js.map +1 -1
  49. package/dist/cjs/components/dropdown/{Dropdown.stories.js → dropdown.stories.js} +1 -1
  50. package/dist/cjs/components/dropdown/{Dropdown.stories.js.map → dropdown.stories.js.map} +1 -1
  51. package/dist/cjs/components/error-message-preview/ErrorMessagePreview.d.ts +15 -0
  52. package/dist/cjs/components/error-message-preview/ErrorMessagePreview.js +91 -0
  53. package/dist/cjs/components/error-message-preview/ErrorMessagePreview.js.map +1 -0
  54. package/dist/cjs/components/header/Header.d.ts +5 -1
  55. package/dist/cjs/components/header/Header.js +51 -46
  56. package/dist/cjs/components/header/Header.js.map +1 -1
  57. package/dist/cjs/components/header/Header_BACKUP_73021.d.ts +33 -0
  58. package/dist/cjs/components/header/Header_BACKUP_73021.js +393 -0
  59. package/dist/cjs/components/header/Header_BACKUP_73021.js.map +1 -0
  60. package/dist/cjs/components/header/Header_BASE_73021.d.ts +29 -0
  61. package/dist/cjs/components/header/Header_BASE_73021.js +376 -0
  62. package/dist/cjs/components/header/Header_BASE_73021.js.map +1 -0
  63. package/dist/cjs/components/header/Header_LOCAL_73021.d.ts +33 -0
  64. package/dist/cjs/components/header/Header_LOCAL_73021.js +382 -0
  65. package/dist/cjs/components/header/Header_LOCAL_73021.js.map +1 -0
  66. package/dist/cjs/components/header/Header_REMOTE_73021.d.ts +30 -0
  67. package/dist/cjs/components/header/Header_REMOTE_73021.js +386 -0
  68. package/dist/cjs/components/header/Header_REMOTE_73021.js.map +1 -0
  69. package/dist/cjs/components/list-field/ListField.d.ts +1 -1
  70. package/dist/cjs/components/number-field/NumberField.d.ts +1 -1
  71. package/dist/cjs/components/publish-wizard/PublishWizard.js +119 -63
  72. package/dist/cjs/components/publish-wizard/PublishWizard.js.map +1 -1
  73. package/dist/cjs/components/publish-wizard/publish/EmailWorkflow.js +5 -28
  74. package/dist/cjs/components/publish-wizard/publish/EmailWorkflow.js.map +1 -1
  75. package/dist/cjs/components/select-field/SelectField.d.ts +1 -1
  76. package/dist/cjs/components/select-field/SelectField.js +0 -4
  77. package/dist/cjs/components/select-field/SelectField.js.map +1 -1
  78. package/dist/cjs/components/slider-field/SliderField.d.ts +1 -1
  79. package/dist/cjs/components/smpte-field/SMPTEField.d.ts +1 -1
  80. package/dist/cjs/components/story-previewer/StoryPreviewer.js +2 -7
  81. package/dist/cjs/components/story-previewer/StoryPreviewer.js.map +1 -1
  82. package/dist/cjs/components/text-area-field/TextAreaField.d.ts +1 -1
  83. package/dist/cjs/components/text-field/TextField.d.ts +1 -1
  84. package/dist/cjs/constants/copy.d.ts +5 -2
  85. package/dist/cjs/constants/copy.js +8 -5
  86. package/dist/cjs/constants/copy.js.map +1 -1
  87. package/dist/cjs/constants/icons.d.ts +1 -0
  88. package/dist/cjs/constants/icons.js +3 -1
  89. package/dist/cjs/constants/icons.js.map +1 -1
  90. package/dist/cjs/index.d.ts +3 -5
  91. package/dist/cjs/index.js +4 -8
  92. package/dist/cjs/index.js.map +1 -1
  93. package/dist/cjs/redux/actions/access.d.ts +1 -3
  94. package/dist/cjs/redux/actions/access.js +10 -43
  95. package/dist/cjs/redux/actions/access.js.map +1 -1
  96. package/dist/cjs/redux/actions/asset-uploads.d.ts +11 -6
  97. package/dist/cjs/redux/actions/asset-uploads.js +182 -262
  98. package/dist/cjs/redux/actions/asset-uploads.js.map +1 -1
  99. package/dist/cjs/redux/actions/publish.js +4 -3
  100. package/dist/cjs/redux/actions/publish.js.map +1 -1
  101. package/dist/cjs/redux/reducers/access.js +7 -30
  102. package/dist/cjs/redux/reducers/access.js.map +1 -1
  103. package/dist/cjs/redux/reducers/asset-uploads.js +24 -10
  104. package/dist/cjs/redux/reducers/asset-uploads.js.map +1 -1
  105. package/dist/cjs/services/API.d.ts +2 -2
  106. package/dist/cjs/services/API.js +1 -2
  107. package/dist/cjs/services/API.js.map +1 -1
  108. package/dist/cjs/services/Auth0.js +1 -0
  109. package/dist/cjs/services/Auth0.js.map +1 -1
  110. package/dist/cjs/services/Session.d.ts +9 -8
  111. package/dist/cjs/services/Session.js +31 -127
  112. package/dist/cjs/services/Session.js.map +1 -1
  113. package/dist/cjs/utils/assets.d.ts +2 -1
  114. package/dist/cjs/utils/assets.js.map +1 -1
  115. package/dist/esm/Util.d.ts +0 -1
  116. package/dist/esm/Util.js +0 -6
  117. package/dist/esm/Util.js.map +1 -1
  118. package/dist/esm/components/Tooltip.d.ts +2 -2
  119. package/dist/esm/components/Tooltip.js +4 -4
  120. package/dist/esm/components/Tooltip.js.map +1 -1
  121. package/dist/esm/components/advanced-number-field/AdvancedNumberField.d.ts +1 -1
  122. package/dist/esm/components/anchor-field/AnchorField.d.ts +1 -1
  123. package/dist/esm/components/app-wrapper/AppWrapper.d.ts +1 -2
  124. package/dist/esm/components/app-wrapper/AppWrapper.js +94 -84
  125. package/dist/esm/components/app-wrapper/AppWrapper.js.map +1 -1
  126. package/dist/esm/components/app-wrapper/AppWrapper_BACKUP_73190.d.ts +27 -0
  127. package/dist/esm/components/app-wrapper/AppWrapper_BACKUP_73190.js +194 -0
  128. package/dist/esm/components/app-wrapper/AppWrapper_BACKUP_73190.js.map +1 -0
  129. package/dist/esm/components/app-wrapper/AppWrapper_BASE_73190.d.ts +28 -0
  130. package/dist/esm/components/app-wrapper/AppWrapper_BASE_73190.js +208 -0
  131. package/dist/esm/components/app-wrapper/AppWrapper_BASE_73190.js.map +1 -0
  132. package/dist/esm/components/app-wrapper/AppWrapper_LOCAL_73190.d.ts +27 -0
  133. package/dist/esm/components/app-wrapper/AppWrapper_LOCAL_73190.js +194 -0
  134. package/dist/esm/components/app-wrapper/AppWrapper_LOCAL_73190.js.map +1 -0
  135. package/dist/esm/components/app-wrapper/AppWrapper_REMOTE_73190.d.ts +28 -0
  136. package/dist/esm/components/app-wrapper/AppWrapper_REMOTE_73190.js +204 -0
  137. package/dist/esm/components/app-wrapper/AppWrapper_REMOTE_73190.js.map +1 -0
  138. package/dist/esm/components/assets/AssetField.js +2 -2
  139. package/dist/esm/components/assets/AssetField.js.map +1 -1
  140. package/dist/esm/components/assets/AssetsTableDurationCell.js +5 -2
  141. package/dist/esm/components/assets/AssetsTableDurationCell.js.map +1 -1
  142. package/dist/esm/components/assets/AssetsTableGlobalCell.js +1 -1
  143. package/dist/esm/components/assets/AssetsTableGlobalCell.js.map +1 -1
  144. package/dist/esm/components/assets/AssetsTableNameCell.js +3 -4
  145. package/dist/esm/components/assets/AssetsTableNameCell.js.map +1 -1
  146. package/dist/esm/components/assets/AssetsTableRateCell.js +3 -9
  147. package/dist/esm/components/assets/AssetsTableRateCell.js.map +1 -1
  148. package/dist/esm/components/assets/AssetsTableTypeFilter.js +2 -2
  149. package/dist/esm/components/assets/AssetsTableTypeFilter.js.map +1 -1
  150. package/dist/esm/components/assets/AssetsUploadMenu.js +34 -138
  151. package/dist/esm/components/assets/AssetsUploadMenu.js.map +1 -1
  152. package/dist/esm/components/auth-gate/AuthGate.js +10 -6
  153. package/dist/esm/components/auth-gate/AuthGate.js.map +1 -1
  154. package/dist/esm/components/button-group-field/ButtonGroupField.d.ts +1 -1
  155. package/dist/esm/components/checkbox-field/CheckboxField.d.ts +1 -1
  156. package/dist/esm/components/color-field/ColorField.d.ts +1 -1
  157. package/dist/esm/components/color-field/ColorField.js +2 -2
  158. package/dist/esm/components/color-field/ColorField.js.map +1 -1
  159. package/dist/esm/components/context-menu/ContextMenu.js +3 -7
  160. package/dist/esm/components/context-menu/ContextMenu.js.map +1 -1
  161. package/dist/esm/components/data-table/DataTable.js +2 -2
  162. package/dist/esm/components/data-table/DataTable.js.map +1 -1
  163. package/dist/esm/components/dropdown/{Dropdown.stories.js → dropdown.stories.js} +1 -1
  164. package/dist/esm/components/dropdown/{Dropdown.stories.js.map → dropdown.stories.js.map} +1 -1
  165. package/dist/esm/components/error-message-preview/ErrorMessagePreview.d.ts +15 -0
  166. package/dist/esm/components/error-message-preview/ErrorMessagePreview.js +35 -0
  167. package/dist/esm/components/error-message-preview/ErrorMessagePreview.js.map +1 -0
  168. package/dist/esm/components/header/Header.d.ts +5 -1
  169. package/dist/esm/components/header/Header.js +51 -41
  170. package/dist/esm/components/header/Header.js.map +1 -1
  171. package/dist/esm/components/header/Header_BACKUP_73021.d.ts +33 -0
  172. package/dist/esm/components/header/Header_BACKUP_73021.js +336 -0
  173. package/dist/esm/components/header/Header_BACKUP_73021.js.map +1 -0
  174. package/dist/esm/components/header/Header_BASE_73021.d.ts +29 -0
  175. package/dist/esm/components/header/Header_BASE_73021.js +322 -0
  176. package/dist/esm/components/header/Header_BASE_73021.js.map +1 -0
  177. package/dist/esm/components/header/Header_LOCAL_73021.d.ts +33 -0
  178. package/dist/esm/components/header/Header_LOCAL_73021.js +328 -0
  179. package/dist/esm/components/header/Header_LOCAL_73021.js.map +1 -0
  180. package/dist/esm/components/header/Header_REMOTE_73021.d.ts +30 -0
  181. package/dist/esm/components/header/Header_REMOTE_73021.js +329 -0
  182. package/dist/esm/components/header/Header_REMOTE_73021.js.map +1 -0
  183. package/dist/esm/components/list-field/ListField.d.ts +1 -1
  184. package/dist/esm/components/number-field/NumberField.d.ts +1 -1
  185. package/dist/esm/components/publish-wizard/PublishWizard.js +119 -64
  186. package/dist/esm/components/publish-wizard/PublishWizard.js.map +1 -1
  187. package/dist/esm/components/publish-wizard/publish/EmailWorkflow.js +5 -28
  188. package/dist/esm/components/publish-wizard/publish/EmailWorkflow.js.map +1 -1
  189. package/dist/esm/components/select-field/SelectField.d.ts +1 -1
  190. package/dist/esm/components/select-field/SelectField.js +0 -3
  191. package/dist/esm/components/select-field/SelectField.js.map +1 -1
  192. package/dist/esm/components/slider-field/SliderField.d.ts +1 -1
  193. package/dist/esm/components/smpte-field/SMPTEField.d.ts +1 -1
  194. package/dist/esm/components/story-previewer/StoryPreviewer.js +2 -7
  195. package/dist/esm/components/story-previewer/StoryPreviewer.js.map +1 -1
  196. package/dist/esm/components/text-area-field/TextAreaField.d.ts +1 -1
  197. package/dist/esm/components/text-field/TextField.d.ts +1 -1
  198. package/dist/esm/constants/copy.d.ts +5 -2
  199. package/dist/esm/constants/copy.js +8 -5
  200. package/dist/esm/constants/copy.js.map +1 -1
  201. package/dist/esm/constants/icons.d.ts +1 -0
  202. package/dist/esm/constants/icons.js +2 -0
  203. package/dist/esm/constants/icons.js.map +1 -1
  204. package/dist/esm/index.d.ts +3 -5
  205. package/dist/esm/index.js +3 -5
  206. package/dist/esm/index.js.map +1 -1
  207. package/dist/esm/redux/actions/access.d.ts +1 -3
  208. package/dist/esm/redux/actions/access.js +8 -37
  209. package/dist/esm/redux/actions/access.js.map +1 -1
  210. package/dist/esm/redux/actions/asset-uploads.d.ts +11 -6
  211. package/dist/esm/redux/actions/asset-uploads.js +167 -224
  212. package/dist/esm/redux/actions/asset-uploads.js.map +1 -1
  213. package/dist/esm/redux/actions/publish.js +4 -3
  214. package/dist/esm/redux/actions/publish.js.map +1 -1
  215. package/dist/esm/redux/reducers/access.js +5 -8
  216. package/dist/esm/redux/reducers/access.js.map +1 -1
  217. package/dist/esm/redux/reducers/asset-uploads.js +47 -15
  218. package/dist/esm/redux/reducers/asset-uploads.js.map +1 -1
  219. package/dist/esm/services/API.d.ts +2 -2
  220. package/dist/esm/services/API.js +1 -2
  221. package/dist/esm/services/API.js.map +1 -1
  222. package/dist/esm/services/Auth0.js +1 -0
  223. package/dist/esm/services/Auth0.js.map +1 -1
  224. package/dist/esm/services/Session.d.ts +9 -8
  225. package/dist/esm/services/Session.js +29 -102
  226. package/dist/esm/services/Session.js.map +1 -1
  227. package/dist/esm/utils/assets.d.ts +2 -1
  228. package/dist/esm/utils/assets.js.map +1 -1
  229. package/dist/styles.css +25 -151
  230. package/dist/styles.less +100 -280
  231. package/less/components/assets.less +63 -237
  232. package/less/components/button.less +1 -7
  233. package/less/components/data-table.less +11 -17
  234. package/less/components/header.less +13 -0
  235. package/less/components/publish-wizard.less +13 -20
  236. package/less/components/story-previewer.less +0 -1
  237. package/package.json +6 -6
  238. package/src/Util.ts +0 -10
  239. package/src/components/Tooltip.tsx +9 -9
  240. package/src/components/advanced-number-field/AdvancedNumberField.tsx +1 -1
  241. package/src/components/anchor-field/AnchorField.tsx +1 -1
  242. package/src/components/app-wrapper/AppWrapper.tsx +102 -125
  243. package/src/components/assets/AssetField.tsx +8 -3
  244. package/src/components/assets/AssetsTableDurationCell.tsx +5 -2
  245. package/src/components/assets/AssetsTableNameCell.tsx +5 -3
  246. package/src/components/assets/AssetsTableRateCell.tsx +4 -11
  247. package/src/components/assets/AssetsTableTypeFilter.tsx +8 -7
  248. package/src/components/assets/AssetsUploadMenu.tsx +98 -271
  249. package/src/components/auth-gate/AuthGate.tsx +15 -8
  250. package/src/components/button-group-field/ButtonGroupField.tsx +1 -1
  251. package/src/components/checkbox-field/CheckboxField.tsx +1 -1
  252. package/src/components/color-field/ColorField.tsx +3 -3
  253. package/src/components/context-menu/ContextMenu.tsx +11 -16
  254. package/src/components/data-table/DataTable.tsx +2 -2
  255. package/src/components/header/Header.tsx +113 -76
  256. package/src/components/list-field/ListField.tsx +1 -1
  257. package/src/components/number-field/NumberField.tsx +1 -1
  258. package/src/components/publish-wizard/PublishWizard.tsx +180 -102
  259. package/src/components/publish-wizard/publish/EmailWorkflow.tsx +10 -42
  260. package/src/components/select-field/SelectField.tsx +1 -4
  261. package/src/components/slider-field/SliderField.tsx +1 -1
  262. package/src/components/smpte-field/SMPTEField.tsx +1 -1
  263. package/src/components/story-previewer/StoryPreviewer.tsx +6 -10
  264. package/src/components/text-area-field/TextAreaField.tsx +1 -1
  265. package/src/components/text-field/TextField.tsx +1 -1
  266. package/src/constants/copy.ts +9 -5
  267. package/src/constants/icons.tsx +3 -0
  268. package/src/index.ts +11 -11
  269. package/src/redux/actions/access.ts +5 -67
  270. package/src/redux/actions/asset-uploads.ts +206 -307
  271. package/src/redux/actions/publish.ts +6 -3
  272. package/src/redux/reducers/access.ts +5 -8
  273. package/src/redux/reducers/asset-uploads.ts +47 -17
  274. package/src/services/API.ts +2 -7
  275. package/src/services/Auth0.ts +1 -0
  276. package/src/services/Session.ts +34 -120
  277. package/src/utils/assets.ts +2 -1
  278. package/dist/cjs/components/copy-prop-id-button/CopyPropIdButton.d.ts +0 -12
  279. package/dist/cjs/components/copy-prop-id-button/CopyPropIdButton.js +0 -75
  280. package/dist/cjs/components/copy-prop-id-button/CopyPropIdButton.js.map +0 -1
  281. package/dist/esm/components/copy-prop-id-button/CopyPropIdButton.d.ts +0 -12
  282. package/dist/esm/components/copy-prop-id-button/CopyPropIdButton.js +0 -24
  283. package/dist/esm/components/copy-prop-id-button/CopyPropIdButton.js.map +0 -1
  284. package/src/components/assets/AssetsTableGlobalCell.tsx +0 -15
  285. package/src/components/copy-prop-id-button/CopyPropIdButton.tsx +0 -44
  286. /package/dist/cjs/components/dropdown/{Dropdown.stories.d.ts → dropdown.stories.d.ts} +0 -0
  287. /package/dist/esm/components/dropdown/{Dropdown.stories.d.ts → dropdown.stories.d.ts} +0 -0
  288. /package/src/components/dropdown/{Dropdown.stories.tsx → dropdown.stories.tsx} +0 -0
@@ -1,39 +1,86 @@
1
- import { IImposiumAPI } from '../../services/API';
1
+ import IImposiumAPI from '../../services/API';
2
2
  import { doAssetTableHydration } from './asset-list';
3
3
  import axios from 'axios';
4
4
 
5
5
  const assetUploadsActions: any = {
6
+ TOGGLE_AUTO_TAG: 'assetUploads/TOGGLE_AUTO_TAG',
7
+ TOGGLE_TAG_BY_FILENAME: 'assetUploads/TOGGLE_TAG_BY_FILENAME',
8
+ TOGGLE_TAG_BY_DELIMITER: 'assetUploads/TOGGLE_TAG_BY_DELIMITER',
9
+ SET_DELIMITER: 'assetUploads/SET_DELIMITER',
10
+ TOGGLE_MANUAL_TAGGING: 'assetUploads/TOGGLE_MANUAL_TAGGING',
11
+ ADD_MANUAL_TAG: 'assetUploads/ADD_MANUAL_TAG',
12
+ DELETE_MANUAL_TAG: 'assetUploads/DELETE_MANUAL_TAG',
13
+ DELETE_MANUAL_TAGS: 'assetUploads/DELETE_MANUAL_TAGS',
14
+ TOGGLE_ASSIGN_TO_STORY: 'assetUploads/TOGGLE_ASSIGN_TO_STORY',
6
15
  ADD_UPLOAD: 'assetUploads/ADD_UPLOAD',
7
- UPDATE_UPLOAD: 'assetUploads/UPDATE_UPLOAD',
8
16
  UPDATE_PERCENT_UPLOADED: 'assetUploads/UPDATE_PERCENT_UPLOADED',
9
- ADD_UPLOAD_ASSET_ID: 'assetUploads/ADD_UPLOAD_ASSET_ID',
10
17
  REMOVE_UPLOAD: 'assetUploads/REMOVE_UPLOAD'
11
18
  };
12
19
 
13
20
  const POLL_INTERVAL: number = 5000;
14
21
 
15
- let uploadFiles: File[] = [];
16
- let setBindToOverlay;
22
+ export const toggleTagFileName = (toggle: boolean): any => ({
23
+ type: assetUploadsActions.TOGGLE_TAG_BY_FILENAME,
24
+ toggle
25
+ });
26
+
27
+ export const toggleAssignToStory = (toggle: boolean): any => ({
28
+ type: assetUploadsActions.TOGGLE_ASSIGN_TO_STORY,
29
+ toggle
30
+ });
31
+
32
+ export const toggleTagDelimiter = (toggle: boolean): any => ({
33
+ type: assetUploadsActions.TOGGLE_TAG_BY_DELIMITER,
34
+ toggle
35
+ });
36
+
37
+ export const setDelimiter = (delimiter: string): any => ({
38
+ type: assetUploadsActions.SET_DELIMITER,
39
+ delimiter
40
+ });
41
+
42
+ export const toggleManualTagging = (toggle: boolean): any => ({
43
+ type: assetUploadsActions.TOGGLE_MANUAL_TAGGING,
44
+ toggle
45
+ });
46
+
47
+ export const addManualTag = (tag: string): any => ({
48
+ type: assetUploadsActions.ADD_MANUAL_TAG,
49
+ tag
50
+ });
51
+
52
+ export const deleteManualTag = (tag: string): any => ({
53
+ type: assetUploadsActions.DELETE_MANUAL_TAG,
54
+ tag
55
+ });
56
+
57
+ export const deleteManualTags = (): any => ({
58
+ type: assetUploadsActions.DELETE_MANUAL_TAGS
59
+ });
17
60
 
18
61
  export const uploadAssets = (
19
62
  api: IImposiumAPI,
20
63
  files: File[],
64
+ storyId: string,
21
65
  bindToOverlay?: (f: any) => any
22
66
  ): any => {
23
67
  return (dispatch, getStore) => {
24
68
  const {
25
- assetUploads: { uploads },
26
- editor: {
27
- showUploadsMenu,
28
- showUploadsDropdown,
29
- assetUploads: { tagByFileName, tagByDelimiter, delimiter, tagManually, manualTags }
69
+ assetUploads: {
70
+ uploads,
71
+ assignToStory,
72
+ tagByFileName,
73
+ tagByDelimiter,
74
+ delimiter,
75
+ tagManually,
76
+ manualTags
30
77
  }
31
78
  } = getStore();
79
+ let currentQueue: number = 0;
80
+ let ongoingJobs: any[] = [];
81
+ const filesLength = files.length > 5 ? 4 : files.length - 1;
32
82
 
33
- uploadFiles.push(...files);
34
- setBindToOverlay = bindToOverlay;
35
-
36
- files.map((file: File) => {
83
+ const uploadBlobs: any[] = files.map((file: File) => {
37
84
  const uploadsWithSameName: any[] = uploads.filter((u: any) =>
38
85
  u.filename.includes(file.name)
39
86
  );
@@ -45,11 +92,11 @@ export const uploadAssets = (
45
92
  let tags = [];
46
93
 
47
94
  if (tagByFileName) {
48
- tags = tags.concat(file.name.slice(0, file.name.lastIndexOf('.')));
95
+ tags = tags.concat(file.name.substr(0, file.name.lastIndexOf('.')));
49
96
  }
50
97
 
51
98
  if (tagByDelimiter) {
52
- const tag = file.name.slice(0, file.name.lastIndexOf('.')).split(delimiter);
99
+ const tag = file.name.substr(0, file.name.lastIndexOf('.')).split(delimiter);
53
100
  tags = [...new Set([...tags, ...tag])];
54
101
  }
55
102
 
@@ -57,100 +104,7 @@ export const uploadAssets = (
57
104
  tags = [...new Set([...tags, ...manualTags])];
58
105
  }
59
106
 
60
- const uploadMeta: any = { filename, percent: 0, tags };
61
-
62
- dispatch({ type: assetUploadsActions.ADD_UPLOAD, uploadMeta });
63
- });
64
-
65
- if (!showUploadsMenu && !showUploadsDropdown) {
66
- uploadAssetHandler(api, dispatch, getStore);
67
- }
68
- };
69
- };
70
-
71
- export const updateUploadTags = (): any => {
72
- return (dispatch, getStore) => {
73
- const {
74
- editor: {
75
- assetUploads: { tagByFileName, tagByDelimiter, delimiter, tagManually, manualTags }
76
- }
77
- } = getStore();
78
- const uploadMetaArray = [];
79
-
80
- if (uploadFiles.length > 0) {
81
- uploadFiles.map((file: File) => {
82
- const filename: string = file.name;
83
-
84
- let tags = [];
85
-
86
- if (tagByFileName) {
87
- tags = tags.concat(file.name.slice(0, file.name.lastIndexOf('.')));
88
- }
89
-
90
- if (tagByDelimiter) {
91
- const tag = file.name.slice(0, file.name.lastIndexOf('.')).split(delimiter);
92
- tags = [...new Set([...tags, ...tag])];
93
- }
94
-
95
- if (tagManually) {
96
- tags = [...new Set([...tags, ...manualTags])];
97
- }
98
-
99
- const uploadMeta: any = { filename, percent: 0, tags };
100
-
101
- uploadMetaArray.push(uploadMeta);
102
- });
103
-
104
- dispatch({ type: assetUploadsActions.UPDATE_UPLOAD, uploadMetaArray });
105
- }
106
- };
107
- };
108
-
109
- export const uploadingAsset = (api: IImposiumAPI): any => {
110
- return (dispatch, getStore) => {
111
- uploadAssetHandler(api, dispatch, getStore);
112
- };
113
- };
114
-
115
- const uploadAssetHandler = (api: IImposiumAPI, dispatch, getStore) => {
116
- const {
117
- project: { storyId },
118
- editor: {
119
- assetUploads: {
120
- assignToStory,
121
- tagByFileName,
122
- tagByDelimiter,
123
- delimiter,
124
- tagManually,
125
- manualTags
126
- }
127
- },
128
- assetUploads: { uploads }
129
- } = getStore();
130
-
131
- let currentQueue: number = 0;
132
- let ongoingJobs: any[] = [];
133
-
134
- const uploadMetaArray = [];
135
-
136
- if (uploadFiles.length > 0) {
137
- const uploadBlobs: any[] = uploadFiles.map((file: File) => {
138
- const filename: string = file.name;
139
-
140
- let tags = [];
141
-
142
- if (tagByFileName) {
143
- tags = tags.concat(file.name.slice(0, file.name.lastIndexOf('.')));
144
- }
145
-
146
- if (tagByDelimiter) {
147
- const tag = file.name.slice(0, file.name.lastIndexOf('.')).split(delimiter);
148
- tags = [...new Set([...tags, ...tag])];
149
- }
150
-
151
- if (tagManually) {
152
- tags = [...new Set([...tags, ...manualTags])];
153
- }
107
+ const uploadMeta: any = { filename, percent: 0 };
154
108
 
155
109
  const onUploadProgress = (progress: any): void => {
156
110
  dispatch({
@@ -160,96 +114,76 @@ const uploadAssetHandler = (api: IImposiumAPI, dispatch, getStore) => {
160
114
  });
161
115
  };
162
116
 
163
- const uploadMeta: any = { filename, percent: 0, tags };
164
-
165
- uploadMetaArray.push(uploadMeta);
117
+ dispatch({ type: assetUploadsActions.ADD_UPLOAD, uploadMeta });
166
118
 
167
119
  return { file, tags, filename, onUploadProgress };
168
120
  });
169
121
 
170
- dispatch({ type: assetUploadsActions.UPDATE_UPLOAD, uploadMetaArray });
171
-
172
- const filesLength = uploadFiles.length > 5 ? 4 : uploadFiles.length - 1;
173
-
174
122
  const createPromise = (activeIndex: number) => {
175
123
  const queueLength: number = uploadBlobs.length;
176
124
  const sId = assignToStory && storyId ? storyId : null;
177
125
  const processingTimeout: number = -1;
178
- const isUploading =
179
- uploads.find((f) => f.filename === uploadBlobs[activeIndex].filename)?.percent > 0;
180
- if (!isUploading) {
181
- api.uploadAsset(
182
- sId,
183
- uploadBlobs[activeIndex].tags,
184
- uploadBlobs[activeIndex].file,
185
- uploadBlobs[activeIndex].onUploadProgress,
186
- uploadBlobs[activeIndex].filename
187
- )
188
- .then((result) => {
189
- const filename = uploadBlobs.find((b) =>
190
- b.filename.includes(result[0].name)
191
- ).filename;
192
- uploadFiles = uploadFiles.filter((f) => f.name !== filename);
193
- dispatch({
194
- type: assetUploadsActions.ADD_UPLOAD_ASSET_ID,
195
- assetId: result[0].id,
196
- filename
197
- });
198
- const currentOngoingJobs = () => {
199
- if (setBindToOverlay) {
200
- setBindToOverlay(result[0]);
126
+ api.uploadAsset(
127
+ sId,
128
+ uploadBlobs[activeIndex].tags,
129
+ uploadBlobs[activeIndex].file,
130
+ uploadBlobs[activeIndex].onUploadProgress,
131
+ uploadBlobs[activeIndex].filename
132
+ )
133
+ .then((result) => {
134
+ const currentOngoingJobs = () => {
135
+ if (bindToOverlay) {
136
+ bindToOverlay(result[0]);
137
+ }
138
+ return {
139
+ footageId: result[0].id,
140
+ jobId: result[0].job_id,
141
+ filename: uploadBlobs[activeIndex].filename,
142
+ onProcessed: () => {
143
+ const fileName = ongoingJobs.filter(
144
+ (job: any) => job.jobId === result[0].job_id
145
+ )[0].filename;
146
+ dispatch({
147
+ type: assetUploadsActions.REMOVE_UPLOAD,
148
+ filename: fileName
149
+ });
150
+ doAssetTableHydration(api, storyId);
201
151
  }
202
- return {
203
- footageId: result[0].id,
204
- jobId: result[0].job_id,
205
- filename: uploadBlobs[activeIndex].filename,
206
- onProcessed: () => {
207
- const fileName = ongoingJobs.filter(
208
- (job: any) => job.jobId === result[0].job_id
209
- )[0].filename;
210
- dispatch({
211
- type: assetUploadsActions.REMOVE_UPLOAD,
212
- filename: fileName
213
- });
214
- doAssetTableHydration(api, storyId);
215
- }
216
- };
217
152
  };
218
- ongoingJobs.push(currentOngoingJobs());
219
- if (currentQueue !== queueLength - 1) {
220
- currentQueue = currentQueue + 1;
221
- createPromise(currentQueue);
222
- } else {
223
- ongoingJobs = ongoingJobs.filter((j: any, i: number) => {
224
- const jobIdExists: boolean = typeof j.jobId === 'string';
225
- if (!jobIdExists) {
226
- dispatch({
227
- type: assetUploadsActions.REMOVE_UPLOAD,
228
- filename: j.filename
229
- });
230
- doAssetTableHydration(api, storyId);
231
- }
232
- return jobIdExists;
233
- });
234
- if (ongoingJobs.length > 0) {
235
- pollAssetJobs(api, ongoingJobs, processingTimeout);
153
+ };
154
+ ongoingJobs.push(currentOngoingJobs());
155
+ if (currentQueue !== queueLength - 1) {
156
+ currentQueue = currentQueue + 1;
157
+ createPromise(currentQueue);
158
+ } else {
159
+ ongoingJobs = ongoingJobs.filter((j: any, i: number) => {
160
+ const jobIdExists: boolean = typeof j.jobId === 'string';
161
+ if (!jobIdExists) {
162
+ dispatch({
163
+ type: assetUploadsActions.REMOVE_UPLOAD,
164
+ filename: j.filename
165
+ });
166
+ doAssetTableHydration(api, storyId);
236
167
  }
168
+ return jobIdExists;
169
+ });
170
+ if (ongoingJobs.length > 0) {
171
+ pollAssetJobs(api, ongoingJobs, processingTimeout);
237
172
  }
238
- })
239
- .catch((e: Error[]) => {
240
- if (axios.isCancel(e) && currentQueue !== queueLength - 1) {
241
- currentQueue = currentQueue + 1;
242
- createPromise(currentQueue);
243
- }
244
- });
245
- }
173
+ }
174
+ })
175
+ .catch((e: Error[]) => {
176
+ if (axios.isCancel(e) && currentQueue !== queueLength - 1) {
177
+ currentQueue = currentQueue + 1;
178
+ createPromise(currentQueue);
179
+ }
180
+ });
246
181
  };
247
-
248
182
  for (let i = 0; i <= filesLength; i++) {
249
183
  createPromise(i);
250
184
  currentQueue = i;
251
185
  }
252
- }
186
+ };
253
187
  };
254
188
 
255
189
  export const replaceAsset = (
@@ -259,103 +193,95 @@ export const replaceAsset = (
259
193
  storyId: string
260
194
  ): any => {
261
195
  return (dispatch, getStore) => {
262
- return new Promise<void>((resolve) => {
263
- const {
264
- assetUploads: { uploads }
265
- } = getStore();
266
- let currentQueue: number = 0;
267
- let ongoingJobs: any[] = [];
268
- const filesLength = files.length > 5 ? 4 : files.length - 1;
269
-
270
- const replacedFileBlobs: any[] = files.map((file: File) => {
271
- const uploadsWithSameName: any[] = uploads.filter((u: any) =>
272
- u.filename.includes(file.name)
273
- );
274
- const filename: string =
275
- uploadsWithSameName.length > 0
276
- ? `${file.name} (${uploadsWithSameName.length})`
277
- : file.name;
278
-
279
- const uploadMeta: any = { filename, percent: 0 };
280
-
281
- const onUploadProgress = (progress: any): void => {
282
- dispatch({
283
- type: assetUploadsActions.UPDATE_PERCENT_UPLOADED,
284
- percent: Math.floor((progress.loaded * 100) / progress.total),
285
- filename
286
- });
287
- };
288
-
289
- dispatch({ type: assetUploadsActions.ADD_UPLOAD, uploadMeta });
290
-
291
- return { file, filename, onUploadProgress };
292
- });
196
+ const {
197
+ assetUploads: { uploads }
198
+ } = getStore();
199
+ let currentQueue: number = 0;
200
+ let ongoingJobs: any[] = [];
201
+ const filesLength = files.length > 5 ? 4 : files.length - 1;
293
202
 
294
- const createPromise = (activeIndex: number) => {
295
- const queueLength: number = replacedFileBlobs.length;
296
- const processingTimeout: number = -1;
297
- api.replaceAsset(
298
- assetId,
299
- replacedFileBlobs[activeIndex].file,
300
- replacedFileBlobs[activeIndex].onUploadProgress,
301
- replacedFileBlobs[activeIndex].filename
302
- )
303
- .then((result) => {
304
- const currentOngoingJobs = () => {
305
- return {
306
- filename: replacedFileBlobs[activeIndex].filename,
307
- onProcessed: () => {
308
- const fileName = ongoingJobs.filter(
309
- (job: any) => job.jobId === result[0].job_id
310
- )[0].filename;
311
- dispatch({
312
- type: assetUploadsActions.REMOVE_UPLOAD,
313
- filename: fileName
314
- });
315
- doAssetTableHydration(api, storyId);
316
- }
317
- };
318
- };
203
+ const uploadBlobs: any[] = files.map((file: File) => {
204
+ const uploadsWithSameName: any[] = uploads.filter((u: any) =>
205
+ u.filename.includes(file.name)
206
+ );
207
+ const filename: string =
208
+ uploadsWithSameName.length > 0
209
+ ? `${file.name} (${uploadsWithSameName.length})`
210
+ : file.name;
319
211
 
320
- ongoingJobs.push(currentOngoingJobs());
321
-
322
- if (currentQueue !== queueLength - 1) {
323
- currentQueue = currentQueue + 1;
324
- createPromise(currentQueue);
325
- } else {
326
- ongoingJobs = ongoingJobs.filter((j: any, i: number) => {
327
- const jobIdExists: boolean = typeof j.jobId === 'string';
328
-
329
- if (!jobIdExists) {
330
- dispatch({
331
- type: assetUploadsActions.REMOVE_UPLOAD,
332
- filename: j.filename
333
- });
334
- doAssetTableHydration(api, storyId);
335
- }
336
- return jobIdExists;
337
- });
338
-
339
- if (ongoingJobs.length > 0) {
340
- pollAssetJobs(api, ongoingJobs, processingTimeout);
341
- }
342
- }
212
+ const uploadMeta: any = { filename, percent: 0 };
343
213
 
344
- resolve(result);
345
- })
346
- .catch((e: Error[]) => {
347
- if (axios.isCancel(e) && currentQueue !== queueLength - 1) {
348
- currentQueue = currentQueue + 1;
349
- createPromise(currentQueue);
350
- }
351
- });
214
+ const onUploadProgress = (progress: any): void => {
215
+ dispatch({
216
+ type: assetUploadsActions.UPDATE_PERCENT_UPLOADED,
217
+ percent: Math.floor((progress.loaded * 100) / progress.total),
218
+ filename
219
+ });
352
220
  };
353
221
 
354
- for (let i = 0; i <= filesLength; i++) {
355
- createPromise(i);
356
- currentQueue = i;
357
- }
222
+ dispatch({ type: assetUploadsActions.ADD_UPLOAD, uploadMeta });
223
+
224
+ return { file, filename, onUploadProgress };
358
225
  });
226
+
227
+ const createPromise = (activeIndex: number) => {
228
+ const queueLength: number = uploadBlobs.length;
229
+ const processingTimeout: number = -1;
230
+ api.replaceAsset(
231
+ assetId,
232
+ uploadBlobs[activeIndex].file,
233
+ uploadBlobs[activeIndex].onUploadProgress,
234
+ uploadBlobs[activeIndex].filename
235
+ )
236
+ .then((result) => {
237
+ const currentOngoingJobs = () => {
238
+ return {
239
+ filename: uploadBlobs[activeIndex].filename,
240
+ onProcessed: () => {
241
+ const fileName = ongoingJobs.filter(
242
+ (job: any) => job.jobId === result[0].job_id
243
+ )[0].filename;
244
+ dispatch({
245
+ type: assetUploadsActions.REMOVE_UPLOAD,
246
+ filename: fileName
247
+ });
248
+ doAssetTableHydration(api, storyId);
249
+ }
250
+ };
251
+ };
252
+ ongoingJobs.push(currentOngoingJobs());
253
+ if (currentQueue !== queueLength - 1) {
254
+ currentQueue = currentQueue + 1;
255
+ createPromise(currentQueue);
256
+ } else {
257
+ ongoingJobs = ongoingJobs.filter((j: any, i: number) => {
258
+ const jobIdExists: boolean = typeof j.jobId === 'string';
259
+ if (!jobIdExists) {
260
+ dispatch({
261
+ type: assetUploadsActions.REMOVE_UPLOAD,
262
+ filename: j.filename
263
+ });
264
+ doAssetTableHydration(api, storyId);
265
+ }
266
+ return jobIdExists;
267
+ });
268
+ if (ongoingJobs.length > 0) {
269
+ pollAssetJobs(api, ongoingJobs, processingTimeout);
270
+ }
271
+ }
272
+ })
273
+ .catch((e: Error[]) => {
274
+ if (axios.isCancel(e) && currentQueue !== queueLength - 1) {
275
+ currentQueue = currentQueue + 1;
276
+ createPromise(currentQueue);
277
+ }
278
+ });
279
+ };
280
+
281
+ for (let i = 0; i <= filesLength; i++) {
282
+ createPromise(i);
283
+ currentQueue = i;
284
+ }
359
285
  };
360
286
  };
361
287
 
@@ -396,40 +322,13 @@ const pollAssetJobs = (api, ongoingJobs: any[], timeout: number): void => {
396
322
  }, POLL_INTERVAL);
397
323
  };
398
324
 
399
- const removeUploadHander = (fileName: string, api: IImposiumAPI, dispatch): any => {
400
- uploadFiles = uploadFiles.filter((f) => f.name !== fileName);
401
- api.cancelUploadAssets(fileName);
402
- dispatch({
403
- type: assetUploadsActions.REMOVE_UPLOAD,
404
- filename: fileName
405
- });
406
- };
407
-
408
- export const cancelAssetUpload = (fileName: string, api: IImposiumAPI, assetId: string): any => {
325
+ export const cancelAssetUpload = (fileName: string, api: IImposiumAPI): any => {
409
326
  return (dispatch) => {
410
- if (assetId) {
411
- api.deleteAsset(assetId)
412
- .then()
413
- .catch((e) => console.error(e));
414
- }
415
- removeUploadHander(fileName, api, dispatch);
416
- };
417
- };
418
-
419
- export const cancelNonUploadedAssets = (api: IImposiumAPI): any => {
420
- return (dispatch, getStore) => {
421
- const {
422
- assetUploads: { uploads }
423
- } = getStore();
424
-
425
- if (uploads.length > 0) {
426
- for (const file of uploads) {
427
- const upload = uploads.find((f) => f.filename === file.filename);
428
- if (upload.percent === 0) {
429
- removeUploadHander(file.filename, api, dispatch);
430
- }
431
- }
432
- }
327
+ api.cancelUploadAssets(fileName);
328
+ dispatch({
329
+ type: assetUploadsActions.REMOVE_UPLOAD,
330
+ filename: fileName
331
+ });
433
332
  };
434
333
  };
435
334
 
@@ -12,13 +12,17 @@ export const getStoryPublishStatus = (api: IImposiumAPI, storyId: string): any =
12
12
  api.getStoryStatus(storyId)
13
13
  .then((resStatus) => {
14
14
  if (resStatus) {
15
+ if (resStatus.status === 'failed') {
16
+ reject(resStatus.message);
17
+ }
18
+
15
19
  dispatch({ type: publish.UPDATE_PUBLISH_STATUS, data: resStatus });
20
+
16
21
  if (resStatus.publishing) {
17
22
  const jobId = resStatus.job_id;
18
23
  api.pollJob(jobId)
19
24
  .then(() => {
20
25
  return dispatch(getStoryPublishStatus(api, storyId));
21
- // Error polling job
22
26
  })
23
27
  .catch((e) => {
24
28
  api.cancelJobPolling()
@@ -29,7 +33,6 @@ export const getStoryPublishStatus = (api: IImposiumAPI, storyId: string): any =
29
33
  reject(f);
30
34
  throw f;
31
35
  });
32
- console.error(e);
33
36
  reject(copy.header.publishPollError);
34
37
  });
35
38
  }
@@ -73,7 +76,7 @@ export const publishVersion = (api: IImposiumAPI, storyId: string) => {
73
76
  return new Promise((resolve, reject) => {
74
77
  api.runPublish(storyId, '')
75
78
  .then((d) => {
76
- dispatch(getStoryPublishStatus(api, storyId));
79
+ return dispatch(getStoryPublishStatus(api, storyId));
77
80
  })
78
81
  .catch(() => {
79
82
  reject(copy.header.publishJobError);
@@ -1,12 +1,9 @@
1
- import actions, { ACCESS_CACHE_KEY } from '../actions/access';
1
+ import actions from '../actions/access';
2
2
 
3
- let initialState: any = null;
4
-
5
- try {
6
- initialState = JSON.parse(localStorage.getItem(ACCESS_CACHE_KEY));
7
- } catch (e) {
8
- console.warn('Cached access data was malformed or missing, redirected to login.');
9
- }
3
+ const initialState: any = {
4
+ organizations: [],
5
+ services: []
6
+ };
10
7
 
11
8
  const access = (state = initialState, action) => {
12
9
  switch (action.type) {