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

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (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 +71 -79
  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 +8 -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 +4 -0
  55. package/dist/cjs/components/header/Header.js +28 -21
  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 +3 -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 +69 -79
  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 +9 -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 +4 -0
  169. package/dist/esm/components/header/Header.js +28 -21
  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 +79 -120
  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 +14 -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 +75 -41
  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 +9 -16
  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,11 +1,17 @@
1
1
  import * as React from 'react';
2
2
  import { assets as copy } from '../../constants/copy';
3
3
  import CheckboxField from '../checkbox-field/CheckboxField';
4
+ import { DeterminateLoader } from '../determinate-loader/DeterminateLoader';
4
5
  import {
6
+ toggleAssignToStory,
5
7
  cancelAssetUpload,
6
- uploadingAsset,
7
- updateUploadTags,
8
- cancelNonUploadedAssets
8
+ toggleTagFileName,
9
+ setDelimiter,
10
+ toggleTagDelimiter,
11
+ toggleManualTagging,
12
+ addManualTag,
13
+ deleteManualTag,
14
+ deleteManualTags
9
15
  } from '../../redux/actions/asset-uploads';
10
16
  import { bindActionCreators } from 'redux';
11
17
  import { connect } from 'react-redux';
@@ -18,58 +24,27 @@ import AssetsTableTagsPivot from './AssetsTableTagsPivot';
18
24
  import Tag from '../tag/Tag';
19
25
  import { FontAwesomeIcon } from '@fortawesome/react-fontawesome';
20
26
  import { faEraser } from '@fortawesome/free-solid-svg-icons';
21
- import { ICON_TIMES, ICON_UPLOAD } from '../../constants/icons';
22
- import AssetsTableDropzone from './AssetsTableDropzone';
23
27
 
24
28
  interface IAssetsUploadMenuProps {
25
- editor: any;
26
29
  assetUploads: any;
27
30
  assetTags: string[];
28
31
  api: any;
32
+ editor: any;
33
+ toggleAutoTag: (toggle: boolean) => any;
34
+ toggleTagFileName: (toggle: boolean) => any;
35
+ toggleAssignToStory: (toggle: boolean) => any;
36
+ toggleTagDelimiter: (togglle: boolean) => any;
37
+ setDelimiter: (delimiter: string) => any;
38
+ toggleManualTagging: (togglle: boolean) => any;
39
+ addManualTag: (tag: string) => any;
40
+ deleteManualTag: (tag: string) => any;
41
+ deleteManualTags: () => void;
29
42
  cancelAssetUpload: (fileName: string, api: IImposiumAPI) => any;
30
- cancelNonUploadedAssets: (api: IImposiumAPI) => any;
31
- updateEditorConfig(c): void;
32
- uploadingAsset: (api: IImposiumAPI) => void;
33
- updateUploadTags: () => void;
34
- onDrop: (i, m) => any;
35
- show: boolean;
36
- onMenuHover: (o) => void;
37
- toggleRef?: any;
38
- onOutsideClick: (...args) => any;
39
- tableHover: boolean;
40
43
  }
41
44
 
42
- interface IAssetsUploadMenuState {
43
- assetOver: boolean;
44
- }
45
-
46
- class AssetsUploadMenu extends React.PureComponent<IAssetsUploadMenuProps, IAssetsUploadMenuState> {
47
- private menuRef: any = null;
48
-
49
- private clickHandler: any = (e) => this.detectOutsideClick(e);
50
-
45
+ class AssetsUploadMenu extends React.PureComponent<IAssetsUploadMenuProps> {
51
46
  constructor(props: IAssetsUploadMenuProps) {
52
47
  super(props);
53
-
54
- this.state = {
55
- assetOver: false
56
- };
57
-
58
- this.menuRef = React.createRef();
59
- }
60
-
61
- public componentDidUpdate(prevProps: IAssetsUploadMenuProps) {
62
- if (this.props.show && !prevProps.show) {
63
- window.addEventListener('mousedown', this.clickHandler);
64
- }
65
-
66
- if (!this.props.show && prevProps.show) {
67
- window.removeEventListener('mousedown', this.clickHandler);
68
- }
69
- }
70
-
71
- public componentWillUnmount(): void {
72
- window.removeEventListener('mousedown', this.clickHandler);
73
48
  }
74
49
 
75
50
  private handleCancelAssetUpload(fileName: string) {
@@ -77,180 +52,82 @@ class AssetsUploadMenu extends React.PureComponent<IAssetsUploadMenuProps, IAsse
77
52
  this.props.cancelAssetUpload(fileName, api);
78
53
  }
79
54
 
80
- private uploadFileHandler() {
81
- const { api } = this.props;
82
- this.props.uploadingAsset(api);
83
- this.props.updateEditorConfig({ showUploadsDropdown: false });
84
- }
85
-
86
- private cancelUploadHandler(remove: boolean) {
87
- const { api } = this.props;
88
- if (!remove) {
89
- this.props.cancelNonUploadedAssets(api);
90
- }
91
- this.props.updateEditorConfig({ showUploadsDropdown: false });
92
- }
93
-
94
- private uploadsSetting(state) {
95
- const currState = this.props.editor.assetUploads;
96
-
97
- const newState = { ...currState, ...state };
98
- this.props.updateEditorConfig({
99
- assetUploads: newState
100
- });
101
- this.props.updateUploadTags();
102
- }
103
-
104
- private deleteManualTag(tag) {
105
- const { manualTags } = this.props.editor.assetUploads;
106
- const updatedManualTags = manualTags.filter((t: string) => t !== tag);
107
- this.uploadsSetting({ manualTags: updatedManualTags });
108
- }
109
-
110
- private addManualTag(tag) {
111
- const { manualTags } = this.props.editor.assetUploads;
112
- const updatedManualTags = manualTags ? manualTags : [];
113
- updatedManualTags.push(tag);
114
- this.uploadsSetting({ manualTags: updatedManualTags });
115
- }
116
-
117
- private checkHover(monitor) {
118
- const isOver = monitor.isOver();
119
- if (isOver !== this.state.assetOver) {
120
- this.setState({ assetOver: isOver }, () => this.props.onMenuHover(isOver));
121
- }
122
- }
123
-
124
- private detectOutsideClick = (e: any): void => {
125
- const { toggleRef } = this.props;
126
- const { target } = e;
127
-
128
- const isResizing = target.classList.contains('Resizer') ? true : false;
129
- const clickInside =
130
- this.menuRef.current && this.menuRef.current.contains(target) ? true : false;
131
- const clickOnToggle =
132
- toggleRef && toggleRef.current && toggleRef.current.contains(target) ? true : false;
133
-
134
- if (!isResizing && !clickInside && !clickOnToggle) {
135
- this.cancelRender(true);
136
- }
137
- };
138
-
139
- private cancelRender = (forced: boolean = false): void => {
140
- const { onOutsideClick } = this.props;
141
-
142
- window.removeEventListener('mousedown', this.clickHandler);
143
-
144
- if (forced) {
145
- onOutsideClick();
146
- }
147
- };
148
-
149
55
  public render() {
150
56
  const {
151
- assetUploads: { uploads },
152
- editor: {
153
- showUploadsMenu,
154
- assetUploads: {
155
- tagByDelimiter,
156
- delimiter,
157
- assignToStory,
158
- tagByFileName,
159
- tagManually,
160
- manualTags
161
- }
57
+ assetUploads: {
58
+ uploads,
59
+ assignToStory,
60
+ tagByFileName,
61
+ tagByDelimiter,
62
+ delimiter,
63
+ tagManually,
64
+ manualTags
162
65
  },
163
- assetTags
66
+ assetTags,
67
+ editor: { fromCrM }
164
68
  } = this.props;
165
- const disable = uploads.length > 0 ? false : true;
166
-
167
69
  let uploadsListInner;
168
- const uploading = [];
169
70
  if (uploads.length > 0) {
170
71
  uploadsListInner = uploads.map((u: any) => {
171
- const { filename, percent, tags } = u;
172
-
173
- if (percent === 0) {
174
- const closeButton = (
175
- <Button
176
- key='btn-cancel'
177
- onClick={() => this.handleCancelAssetUpload(filename)}
178
- style='subtle'
179
- size='small'>
180
- {ICON_TIMES}
181
- </Button>
72
+ const { filename, percent } = u;
73
+ const loader =
74
+ percent < 100 ? (
75
+ <DeterminateLoader progress={u.percent} />
76
+ ) : (
77
+ <span>{copy.uploads.preparePhase}</span>
182
78
  );
183
-
184
- const fileTags = tags.map((tag: string) => (
185
- <Tag
186
- key={tag}
187
- copy={tag}
188
- colorize={AssetsTableTagsPivot.COLORIZE_TAGS}
189
- />
190
- ));
191
- return (
192
- <div
193
- className='ongoing-upload'
194
- key={filename}>
195
- <div className='ongoing-upload-inner'>
196
- <input
197
- className='upload-filename'
198
- value={filename}
199
- readOnly
200
- />
201
- <div className='tags-column'>{fileTags}</div>
202
- {closeButton}
203
- </div>
79
+ const closeButton = percent < 100 && (
80
+ <Button
81
+ key='btn-cancel'
82
+ onClick={() => this.handleCancelAssetUpload(filename)}
83
+ style='subtle'
84
+ size='small'>
85
+ {copy.uploads.cancelButton}
86
+ </Button>
87
+ );
88
+
89
+ return (
90
+ <div
91
+ className='ongoing-upload'
92
+ key={filename}>
93
+ <div className='ongoing-upload-inner'>
94
+ <div className='upload-filename'>{filename}</div>
95
+ {closeButton}
204
96
  </div>
205
- );
206
- } else {
207
- uploading.push(true);
208
- }
97
+ {loader}
98
+ </div>
99
+ );
209
100
  });
210
101
  } else {
211
102
  uploadsListInner = <div className='no-ongoing-uploads'>{copy.uploads.noUploads}</div>;
212
103
  }
213
104
 
214
- if (uploading.length === uploads.length) {
215
- uploadsListInner = <div className='no-ongoing-uploads'>{copy.uploads.noUploads}</div>;
216
- }
217
-
218
105
  const delimiterSelector = tagByDelimiter && (
219
106
  <SelectField
220
107
  width='35%'
221
108
  options={DELIMITER_OPTIONS}
222
109
  value={delimiter}
223
- onChange={(c) => {
224
- this.uploadsSetting({ delimiter: c });
225
- }}
110
+ onChange={(c) => this.props.setDelimiter(c)}
226
111
  />
227
112
  );
228
-
229
113
  const tagsArray = [...new Set(manualTags)];
230
-
231
114
  const tagsMarkup = tagsArray.map((tag: string) => (
232
115
  <Tag
233
116
  key={tag}
234
117
  copy={tag}
235
118
  colorize={AssetsTableTagsPivot.COLORIZE_TAGS}
236
- removeHandler={() => {
237
- this.deleteManualTag(tag);
238
- }}
119
+ removeHandler={() => this.props.deleteManualTag(tag)}
239
120
  />
240
121
  ));
241
-
242
122
  const removeTagsBtn =
243
123
  tagsArray.length > 0 ? (
244
124
  <Button
245
125
  tooltip='Remove All Tags'
246
126
  style='sublte'
247
- onClick={() => {
248
- this.uploadsSetting({ manualTags: [] });
249
- }}>
127
+ onClick={() => this.props.deleteManualTags()}>
250
128
  <FontAwesomeIcon icon={faEraser} />
251
129
  </Button>
252
130
  ) : null;
253
-
254
131
  const tagsColumn = tagManually && (
255
132
  <div className='tags-column'>
256
133
  <TextField
@@ -259,103 +136,48 @@ class AssetsUploadMenu extends React.PureComponent<IAssetsUploadMenuProps, IAsse
259
136
  suggestions={assetTags}
260
137
  label={copy.tags.add}
261
138
  width={AssetsTableTagsPivot.ADD_TAG_INPUT_WIDTH}
262
- doSubmit={(t) => {
263
- this.addManualTag(t);
264
- }}
139
+ doSubmit={(t) => this.props.addManualTag(t)}
265
140
  />
266
141
  {tagsMarkup}
267
142
  {removeTagsBtn}
268
143
  </div>
269
144
  );
270
145
 
271
- const modifier = this.state.assetOver ? 'asset-over' : '';
272
- const show = this.props.show ? 'show' : '';
273
- const tableHover = this.props.tableHover ? 'table-hover' : '';
274
- const width = document.getElementsByClassName('assetUploads')[0]?.clientWidth;
275
-
276
146
  return (
277
- <AssetsTableDropzone
278
- className={`uploads-dropzone ${show} ${tableHover} ${modifier}`}
279
- onDrop={(i, m) => {
280
- this.props.onDrop(i, m);
281
- }}
282
- onExternalCollect={(o) => this.checkHover(o)}>
283
- <div className='overlay'>
284
- <p style={{ display: this.state.assetOver ? 'block' : 'none' }}>
285
- {copy.dropAsset}
286
- </p>
287
- </div>
288
- <div
289
- className='uploads-menu'
290
- style={{ width }}
291
- ref={this.menuRef}>
292
- <div className='uploads-controls'>
293
- <CheckboxField
294
- width='50%'
295
- label={copy.uploads.autoTagDelimiter}
296
- value={tagByDelimiter}
297
- onChange={() =>
298
- this.uploadsSetting({ tagByDelimiter: !tagByDelimiter })
299
- }
300
- />
301
- {delimiterSelector}
302
- <CheckboxField
303
- width='50%'
304
- label={copy.uploads.manualTagging}
305
- value={tagManually}
306
- onChange={() => this.uploadsSetting({ tagManually: !tagManually })}
307
- />
308
- <CheckboxField
309
- width='50%'
310
- label={copy.uploads.autoTagFilname}
311
- value={tagByFileName}
312
- onChange={() => this.uploadsSetting({ tagByFileName: !tagByFileName })}
313
- />
147
+ <div className='uploads-menu'>
148
+ <div className='uploads-controls'>
149
+ <CheckboxField
150
+ width='50%'
151
+ label={copy.uploads.autoTagDelimiter}
152
+ value={tagByDelimiter}
153
+ onChange={() => this.props.toggleTagDelimiter(!tagByDelimiter)}
154
+ />
155
+ {delimiterSelector}
156
+ <CheckboxField
157
+ width='50%'
158
+ label={copy.uploads.manualTagging}
159
+ value={tagManually}
160
+ onChange={() => this.props.toggleManualTagging(!tagManually)}
161
+ />
162
+ <CheckboxField
163
+ width='50%'
164
+ label={copy.uploads.autoTagFilname}
165
+ value={tagByFileName}
166
+ onChange={() => this.props.toggleTagFileName(!tagByFileName)}
167
+ />
168
+ {!fromCrM && (
314
169
  <CheckboxField
315
170
  width='50%'
316
171
  label={copy.uploads.assignToProjectInput}
317
172
  info={copy.uploads.assignToProjectInfo}
318
- value={!assignToStory}
319
- onChange={() => this.uploadsSetting({ assignToStory: !assignToStory })}
320
- />
321
- </div>
322
- {tagsColumn}
323
- <div className='uploads-list'>{uploadsListInner}</div>
324
- <div className='uploads-confirm'>
325
- <CheckboxField
326
- label={`Don't show again`}
327
- value={!showUploadsMenu}
328
- onChange={() =>
329
- this.props.updateEditorConfig({
330
- showUploadsMenu: !showUploadsMenu
331
- })
332
- }
173
+ value={assignToStory}
174
+ onChange={() => this.props.toggleAssignToStory(!assignToStory)}
333
175
  />
334
- <Button
335
- key='cancel-upload'
336
- onClick={() => this.cancelUploadHandler(disable)}
337
- customStyles={{
338
- color: 'black'
339
- }}
340
- style='bold'
341
- color='secondary'
342
- width='60px'
343
- size='small'>
344
- Cancel
345
- </Button>
346
- <Button
347
- key='upload-file'
348
- disabled={disable}
349
- onClick={() => this.uploadFileHandler()}
350
- style='bold'
351
- color='primary'
352
- width='80px'
353
- size='small'>
354
- Upload {ICON_UPLOAD}
355
- </Button>
356
- </div>
176
+ )}
357
177
  </div>
358
- </AssetsTableDropzone>
178
+ {tagsColumn}
179
+ <div className='uploads-list'>{uploadsListInner}</div>
180
+ </div>
359
181
  );
360
182
  }
361
183
  }
@@ -363,10 +185,15 @@ class AssetsUploadMenu extends React.PureComponent<IAssetsUploadMenuProps, IAsse
363
185
  const mapDispatchToProps = (dispatch): any => {
364
186
  return bindActionCreators(
365
187
  {
188
+ toggleAssignToStory,
189
+ toggleTagFileName,
366
190
  cancelAssetUpload,
367
- cancelNonUploadedAssets,
368
- uploadingAsset,
369
- updateUploadTags
191
+ toggleTagDelimiter,
192
+ setDelimiter,
193
+ toggleManualTagging,
194
+ addManualTag,
195
+ deleteManualTag,
196
+ deleteManualTags
370
197
  },
371
198
  dispatch
372
199
  );
@@ -375,8 +202,8 @@ const mapDispatchToProps = (dispatch): any => {
375
202
  const mapStateToProps = (state): any => {
376
203
  return {
377
204
  assetUploads: state.assetUploads,
378
- assetTags: state.assetTags,
379
- editor: state.editor
205
+ editor: state.editor,
206
+ assetTags: state.assetTags
380
207
  };
381
208
  };
382
209
 
@@ -5,16 +5,18 @@ import AuthService, { IIdentity } from '../../services/Auth0';
5
5
  import { connect } from 'react-redux';
6
6
  import { bindActionCreators } from 'redux';
7
7
  import { login } from '../../redux/actions/auth';
8
- import { cacheAccessData } from '../../redux/actions/access';
8
+ import { setAccessData } from '../../redux/actions/access';
9
9
 
10
10
  interface IAuthGateProps {
11
11
  auth0ClientId: string;
12
12
  auth0Domain: string;
13
13
  auth0Hash: string;
14
- onAuthenticated: () => any;
14
+ onAuthenticated: (storyId, orgId) => any;
15
+ storyId: string;
16
+ organizationId: string;
15
17
  baseUrl?: string;
18
+ setAccessData(accessData: any): any;
16
19
  login: (id: IIdentity) => any;
17
- cacheAccessData: (accessData: any) => any;
18
20
  }
19
21
 
20
22
  class AuthGate extends React.PureComponent<IAuthGateProps> {
@@ -34,12 +36,16 @@ class AuthGate extends React.PureComponent<IAuthGateProps> {
34
36
  } else {
35
37
  AuthService.parseIdFromHash(auth0Hash)
36
38
  .then((freshIdentity: IIdentity) => {
37
- SessionService.getAccessData(freshIdentity.idToken, baseUrl)
39
+ // Use the cached org ID and story ID if it exists
40
+ const orgId = SessionService.getCachedOrgId() || null;
41
+ const storyId = SessionService.getCachedStoryId() || null;
42
+
43
+ SessionService.getAccessData(freshIdentity.accessToken, baseUrl, false, orgId)
38
44
  .then((freshAccess: any) => {
39
45
  this.props.login(freshIdentity);
40
- this.props.cacheAccessData(freshAccess);
41
- SessionService.buildFreshSession(freshIdentity, freshAccess);
42
- onAuthenticated();
46
+ this.props.setAccessData(freshAccess);
47
+ SessionService.buildFreshSession(freshIdentity, orgId, storyId);
48
+ onAuthenticated(storyId, orgId);
43
49
  })
44
50
  .catch((e) => {
45
51
  AuthService.login();
@@ -64,7 +70,7 @@ const mapDispatchToProps = (dispatch) => {
64
70
  return bindActionCreators(
65
71
  {
66
72
  login,
67
- cacheAccessData
73
+ setAccessData
68
74
  },
69
75
  dispatch
70
76
  );
@@ -12,7 +12,7 @@ interface IButtonGroupOption {
12
12
  }
13
13
 
14
14
  interface IButtonGroupFieldProps {
15
- label?: any;
15
+ label?: string;
16
16
  width?: string | number;
17
17
  value: string | boolean;
18
18
  options: IButtonGroupOption[];
@@ -4,7 +4,7 @@ import { IToolTipConfig } from '../Tooltip';
4
4
  import { ICON_CHECK } from '../../constants/icons';
5
5
 
6
6
  interface ICheckboxFieldProps {
7
- label?: any;
7
+ label?: string;
8
8
  value: boolean;
9
9
  width?: string | number;
10
10
  tooltip?: IToolTipConfig | string;
@@ -1,11 +1,11 @@
1
1
  import * as React from 'react';
2
2
  import FieldWrapper from '../field-wrapper/FieldWrapper';
3
3
  import { IToolTipConfig } from '../Tooltip';
4
- import { SketchPicker } from '@imposium-hub/react-color';
4
+ import { SketchPicker } from 'react-color';
5
5
 
6
6
  interface IColorFieldProps {
7
7
  buttons?: any;
8
- label?: any;
8
+ label?: string;
9
9
  placeholder?: string;
10
10
  readOnly?: boolean;
11
11
  value: string;
@@ -29,7 +29,7 @@ class ColorField extends React.PureComponent<IColorFieldProps, IColorFieldState>
29
29
 
30
30
  private picker: any;
31
31
 
32
- private transparentBg = `url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAAAXNSR0IArs4c6QAAADBJREFUOE9jPHPmzH8GPMDY2BifNAPjqAHDIgz+//+PNx2cPXsWfzoYNYCBceiHAQD1OVMJc/dYeAAAAABJRU5ErkJggg==") left center`;
32
+ private transparentBg = `url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAAMUlEQVQ4T2NkYGAQYcAP3uCTZhw1gGGYhAGBZIA/nYDCgBDAm9BGDWAAJyRCgLaBCAAgXwixzAS0pgAAAABJRU5ErkJggg==") left center`;
33
33
 
34
34
  constructor(props) {
35
35
  super(props);
@@ -19,8 +19,6 @@ const ContextMenu = ({
19
19
  }) => {
20
20
  const contextMenuEl = useRef(null);
21
21
  const [isVisible, setVisible] = useState(false);
22
- const [top, setTop] = useState('');
23
- const [left, setLeft] = useState('');
24
22
  const [clientPosition, setClientPosition] = useState(null);
25
23
 
26
24
  const showMenu = (e) => {
@@ -109,8 +107,8 @@ const ContextMenu = ({
109
107
  if (windowInnerHeight < clientY + elemHeight) newClientY = clientY - elemHeight;
110
108
  if (windowInnerWidth < clientX + elemWidth) newClientX = clientX - elemWidth;
111
109
 
112
- setTop(`${newClientY + 2}px`);
113
- setLeft(`${newClientX + 2}px`);
110
+ contextMenuEl.current.style.top = `${newClientY + 2}px`;
111
+ contextMenuEl.current.style.left = `${newClientX + 2}px`;
114
112
 
115
113
  if (onShow) onShow();
116
114
  }
@@ -120,18 +118,15 @@ const ContextMenu = ({
120
118
  React.cloneElement(child, { id })
121
119
  );
122
120
 
123
- const ContextComponent = () => {
124
- return (
125
- <div
126
- className={`contextmenu`}
127
- ref={contextMenuEl}
128
- style={{ top, left }}
129
- onMouseLeave={handleMouseLeave}
130
- {...attributes}>
131
- {childrenWithProps}
132
- </div>
133
- );
134
- };
121
+ const ContextComponent = () => (
122
+ <div
123
+ className={`contextmenu`}
124
+ ref={contextMenuEl}
125
+ onMouseLeave={handleMouseLeave}
126
+ {...attributes}>
127
+ {childrenWithProps}
128
+ </div>
129
+ );
135
130
 
136
131
  const PortalContextComponent = () =>
137
132
  ReactDOM.createPortal(<ContextComponent />, document.querySelector(appendTo));
@@ -265,7 +265,7 @@ const DataTable: React.FC<IDataTableProps> = (props: IDataTableProps) => {
265
265
  {...column.getHeaderProps()}
266
266
  className={`ip-table-header ${
267
267
  column.canSort ? 'ip-sortable' : ''
268
- } ${column.pin ? 'pin' : ''}`}>
268
+ }`}>
269
269
  {!searchable && (
270
270
  <div
271
271
  {...toggleProps}
@@ -371,7 +371,7 @@ const DataTable: React.FC<IDataTableProps> = (props: IDataTableProps) => {
371
371
  {...cell.getCellProps()}
372
372
  className={`ip-table-col ${
373
373
  cell.column.overflowVisible ? 'overflow-visible' : ''
374
- } ${cell.column.pin ? 'pin' : ''}`.trim()}>
374
+ }`.trim()}>
375
375
  {cell.render('Cell')}
376
376
  </td>
377
377
  ));