@imposium-hub/components 2.3.10 → 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
@@ -15,12 +15,16 @@ export interface IHeaderProps {
15
15
  activeOrganization: string;
16
16
  activeStory?: string;
17
17
  hideStoryPicker?: boolean;
18
+ hideOrgPicker?: boolean;
18
19
  onOrganizationChange?: (orgId: any) => any;
19
20
  onStoryChange?: (story: any) => any;
20
21
  logout: (...args) => any;
22
+ additionalButtons?: any[];
21
23
  auth: any;
22
24
  story: any;
23
25
  baseUrl: any;
26
+ hideDocs?: boolean;
27
+ showFTLogo?: boolean;
24
28
  access: any;
25
29
  }
26
30
 
@@ -299,14 +303,14 @@ class ImposiumHeader extends React.PureComponent<IHeaderProps, IHeaderState> {
299
303
 
300
304
  private getAccessDataHandler = () => {
301
305
  const {
302
- auth: { idToken },
306
+ auth: { accessToken },
303
307
  baseUrl,
304
308
  activeOrganization
305
309
  } = this.props;
306
310
 
307
311
  this.setState({ dataLoading: true });
308
312
 
309
- SessionService.getAccessData(idToken, baseUrl)
313
+ SessionService.getAccessData(accessToken, baseUrl)
310
314
  .then((res) => {
311
315
  this.setState({ dataLoading: false, accessData: res }, () =>
312
316
  this.parseAccessData(res, activeOrganization)
@@ -318,7 +322,17 @@ class ImposiumHeader extends React.PureComponent<IHeaderProps, IHeaderState> {
318
322
  };
319
323
 
320
324
  public render() {
321
- const { email, activeOrganization, activeStory, hideStoryPicker, story } = this.props;
325
+ const {
326
+ email,
327
+ activeOrganization,
328
+ activeStory,
329
+ hideStoryPicker,
330
+ story,
331
+ hideOrgPicker,
332
+ additionalButtons,
333
+ showFTLogo,
334
+ hideDocs
335
+ } = this.props;
322
336
  const {
323
337
  accessData,
324
338
  showAccountDropdown,
@@ -351,6 +365,14 @@ class ImposiumHeader extends React.PureComponent<IHeaderProps, IHeaderState> {
351
365
  let serviceDropdownToggle: JSX.Element;
352
366
  let serviceDropdownMenu: JSX.Element;
353
367
 
368
+ const btnLogout = (
369
+ <button
370
+ className='btn-logout'
371
+ onClick={() => this.doLogout()}>
372
+ {ImposiumHeader.LOGOUT_COPY}
373
+ </button>
374
+ );
375
+
354
376
  if (accessData) {
355
377
  activeService = servicesByOrganization.find((s: any) =>
356
378
  window.location.href.includes(s.url)
@@ -369,6 +391,36 @@ class ImposiumHeader extends React.PureComponent<IHeaderProps, IHeaderState> {
369
391
  .filter((s: any) => !s.private && ImposiumHeader.PRIVATE_IDS.indexOf(s.id) > -1)
370
392
  .map((s: any) => this.renderServiceAnchor(s, activeOrganization, activeStory));
371
393
 
394
+ const docsSection = !hideDocs ? (
395
+ <section className='service-menu-section'>
396
+ <div className='service-menu-heading'>{ImposiumHeader.DOCS_HEADER}</div>
397
+
398
+ <div className='service-menu-anchors'>
399
+ <div className='anchor-wrapper doc'>
400
+ <a
401
+ target='__blank'
402
+ href={ImposiumHeader.API_DOCS_LINK}>
403
+ <div className='icon-fixed'>
404
+ <ServiceIcon iconName='FaCogs' />
405
+ </div>
406
+ {ImposiumHeader.API_DOCS_LINK_COPY}
407
+ </a>
408
+ </div>
409
+
410
+ <div className='anchor-wrapper doc'>
411
+ <a
412
+ target='__blank'
413
+ href={ImposiumHeader.SDK_DOCS_LINK}>
414
+ <div className='icon-fixed'>
415
+ <ServiceIcon iconName='FaJsSquare' />
416
+ </div>
417
+ {ImposiumHeader.SDK_DOCS_LINK_COPY}
418
+ </a>
419
+ </div>
420
+ </div>
421
+ </section>
422
+ ) : null;
423
+
372
424
  serviceDropdownMenu = (
373
425
  <div className='service-menu'>
374
426
  <section className='service-menu-section'>
@@ -389,33 +441,7 @@ class ImposiumHeader extends React.PureComponent<IHeaderProps, IHeaderState> {
389
441
  </section>
390
442
  )}
391
443
 
392
- <section className='service-menu-section'>
393
- <div className='service-menu-heading'>{ImposiumHeader.DOCS_HEADER}</div>
394
-
395
- <div className='service-menu-anchors'>
396
- <div className='anchor-wrapper doc'>
397
- <a
398
- target='__blank'
399
- href={ImposiumHeader.API_DOCS_LINK}>
400
- <div className='icon-fixed'>
401
- <ServiceIcon iconName='FaCogs' />
402
- </div>
403
- {ImposiumHeader.API_DOCS_LINK_COPY}
404
- </a>
405
- </div>
406
-
407
- <div className='anchor-wrapper doc'>
408
- <a
409
- target='__blank'
410
- href={ImposiumHeader.SDK_DOCS_LINK}>
411
- <div className='icon-fixed'>
412
- <ServiceIcon iconName='FaJsSquare' />
413
- </div>
414
- {ImposiumHeader.SDK_DOCS_LINK_COPY}
415
- </a>
416
- </div>
417
- </div>
418
- </section>
444
+ {docsSection}
419
445
  </div>
420
446
  );
421
447
 
@@ -437,7 +463,7 @@ class ImposiumHeader extends React.PureComponent<IHeaderProps, IHeaderState> {
437
463
  </button>
438
464
  );
439
465
 
440
- accountDropdownToggle = (
466
+ accountDropdownToggle = !hideOrgPicker ? (
441
467
  <button
442
468
  id='btn-toggle-orgs'
443
469
  className='btn-toggle-orgs'
@@ -446,6 +472,8 @@ class ImposiumHeader extends React.PureComponent<IHeaderProps, IHeaderState> {
446
472
  onClick={() => this.toggleAccountDropdown(!showAccountDropdown)}>
447
473
  {activeFirstChar}
448
474
  </button>
475
+ ) : (
476
+ btnLogout
449
477
  );
450
478
  }
451
479
 
@@ -538,6 +566,19 @@ class ImposiumHeader extends React.PureComponent<IHeaderProps, IHeaderState> {
538
566
  );
539
567
  }
540
568
 
569
+ const logo = showFTLogo ? (
570
+ <>
571
+ <div className='ft-logo' />
572
+ &nbsp;&nbsp;|&nbsp;&nbsp;
573
+ <h1 className='heading'>{ImposiumHeader.DEFAULT_TITLE}</h1>
574
+ </>
575
+ ) : (
576
+ <>
577
+ <div className='logo' />
578
+ <h1 className='heading'>{ImposiumHeader.DEFAULT_TITLE}</h1>
579
+ </>
580
+ );
581
+
541
582
  return (
542
583
  <nav
543
584
  id='imposium-header'
@@ -545,16 +586,13 @@ class ImposiumHeader extends React.PureComponent<IHeaderProps, IHeaderState> {
545
586
  style={headerBorder}>
546
587
  <div className='inner-content'>
547
588
  <span className='inner-left'>
548
- <div className='title'>
549
- <div className='logo' />
550
- <h1 className='heading'>{ImposiumHeader.DEFAULT_TITLE}</h1>
551
- </div>
552
-
589
+ <div className='title'>{logo}</div>
553
590
  {serviceDropdownToggle}
554
591
  </span>
555
592
 
556
593
  <span className='inner-right'>
557
594
  {storyToggle}
595
+ <div className='additional-buttons'>{additionalButtons}</div>
558
596
  {accountDropdownToggle}
559
597
  <a
560
598
  href='https://support.flashtalking.com/hc/en-us/sections/25515903148819-Imposium'
@@ -594,11 +632,7 @@ class ImposiumHeader extends React.PureComponent<IHeaderProps, IHeaderState> {
594
632
 
595
633
  <div className='orgs-menu-footer'>
596
634
  <div className='email'>{email}</div>
597
- <button
598
- className='btn-logout'
599
- onClick={() => this.doLogout()}>
600
- {ImposiumHeader.LOGOUT_COPY}
601
- </button>
635
+ {btnLogout}
602
636
  </div>
603
637
  </div>
604
638
  </ImposiumDropdown>
@@ -10,7 +10,7 @@ import { ICON_PLUS } from '../../constants/icons';
10
10
  interface IListFieldProps {
11
11
  buttons?: any;
12
12
  disabled?: boolean;
13
- label?: any;
13
+ label?: string;
14
14
  options: any;
15
15
  placeholder?: string;
16
16
  tooltip?: IToolTipConfig | string;
@@ -4,7 +4,7 @@ import { IToolTipConfig } from '../Tooltip';
4
4
 
5
5
  interface INumberFieldProps {
6
6
  buttons?: any;
7
- label?: any;
7
+ label?: string;
8
8
  placeholder?: string;
9
9
  readOnly?: boolean;
10
10
  value: number;
@@ -5,10 +5,12 @@ import HRule from '../h-rule/HRule';
5
5
  import {
6
6
  ICON_DOWNLOAD,
7
7
  ICON_EMAIL,
8
+ ICON_EXCLAIMATION_TRIANGLE,
8
9
  ICON_GLOBE,
9
10
  ICON_HUBSPOT,
10
11
  ICON_IMAGE,
11
- ICON_PROJECT_DIAGRAM
12
+ ICON_PROJECT_DIAGRAM,
13
+ ICON_UP_RIGHT_FROM_SQUARE
12
14
  } from '../../constants/icons';
13
15
  import { IImposiumAPI } from '../../services/API';
14
16
  import * as copy from '../../constants/copy';
@@ -23,8 +25,11 @@ import { publishVersion } from '../../redux/actions/publish';
23
25
  import { connect } from 'react-redux';
24
26
 
25
27
  interface IPublishWizardProps {
28
+ fromCrM?: boolean;
29
+ creativeManagerBaseUrl?: string;
26
30
  story: any;
27
31
  project: any;
32
+ updateEditorConfig(c): void;
28
33
  editor: any;
29
34
  updateScene(d): void;
30
35
  editStory(s): void;
@@ -33,7 +38,6 @@ interface IPublishWizardProps {
33
38
  exportExperiences: () => void;
34
39
  publishVersion: (api: IImposiumAPI, sId: string) => any;
35
40
  batchesList: any;
36
- publishing: boolean;
37
41
  onClose(): any;
38
42
  api: IImposiumAPI;
39
43
  handleError(e): void;
@@ -66,7 +70,6 @@ interface IPublishWizardProps {
66
70
  renderBatch: (batchId: string, postRenderActions?: any) => any;
67
71
  publishData: any;
68
72
  onDeleteBatch?: (batchId: string) => any;
69
- onBackBtn?: () => void;
70
73
  }
71
74
 
72
75
  export interface ICredential {
@@ -91,6 +94,7 @@ interface IPublishWizardState {
91
94
  error: boolean;
92
95
  next: boolean;
93
96
  nextStep: boolean;
97
+ publishError: string;
94
98
  }
95
99
 
96
100
  interface IBigButtonProps {
@@ -134,12 +138,27 @@ class PublishWizard extends React.PureComponent<IPublishWizardProps, IPublishWiz
134
138
  done: false,
135
139
  error: false,
136
140
  next: false,
137
- nextStep: false
141
+ nextStep: false,
142
+ publishError: null
138
143
  };
139
144
  this.emailWorkflow = React.createRef();
140
145
  this.hiddenFileInputRef = React.createRef();
141
146
  }
142
147
 
148
+ public componentDidUpdate(prevProps, prevState) {
149
+ // If we just finished publushing, and we're on the first screen still go to the second screen
150
+ if (
151
+ prevProps.publishData.publishing &&
152
+ !this.props.publishData.publishing &&
153
+ this.state.screenIndex === 0 &&
154
+ !this.state.publishError
155
+ ) {
156
+ this.setState({
157
+ screenIndex: 1
158
+ });
159
+ }
160
+ }
161
+
143
162
  public componentDidMount() {
144
163
  const { story, api, handleError, activeComposition } = this.props;
145
164
  // Pull in all of the access creds for the composition dropdown
@@ -275,12 +294,25 @@ class PublishWizard extends React.PureComponent<IPublishWizardProps, IPublishWiz
275
294
  const {
276
295
  story: { id },
277
296
  api,
278
- handleError
297
+ handleError,
298
+ fromCrM
279
299
  } = this.props;
280
- this.props.publishVersion(api, id).catch((e) => {
281
- handleError(e);
282
- });
283
- this.setState({ screenIndex: 1 });
300
+
301
+ if (fromCrM) {
302
+ this.props
303
+ .publishVersion(api, id)
304
+ .then(() => {
305
+ this.setState({ screenIndex: 1 });
306
+ })
307
+ .catch((e) => {
308
+ this.setState({ publishError: e });
309
+ });
310
+ } else {
311
+ this.props.publishVersion(api, id).catch((e) => {
312
+ handleError(e);
313
+ });
314
+ this.setState({ screenIndex: 1 });
315
+ }
284
316
  }
285
317
 
286
318
  private onCloseHandler = () => {
@@ -296,7 +328,7 @@ class PublishWizard extends React.PureComponent<IPublishWizardProps, IPublishWiz
296
328
 
297
329
  private renderLowerButtons() {
298
330
  const { screenIndex, done, error, next } = this.state;
299
- const { publishing } = this.props;
331
+ const { publishing } = this.props.publishData;
300
332
 
301
333
  const lowerButtons = [];
302
334
 
@@ -350,20 +382,13 @@ class PublishWizard extends React.PureComponent<IPublishWizardProps, IPublishWiz
350
382
  size={'large'}
351
383
  key='btn-back'
352
384
  onClick={() =>
353
- this.setState(
354
- {
355
- screenIndex: backIndex,
356
- next: false,
357
- nextStep: false,
358
- error: false,
359
- done: false
360
- },
361
- () => {
362
- if (this.props.onBackBtn) {
363
- this.props.onBackBtn();
364
- }
365
- }
366
- )
385
+ this.setState({
386
+ screenIndex: backIndex,
387
+ next: false,
388
+ nextStep: false,
389
+ error: false,
390
+ done: false
391
+ })
367
392
  }
368
393
  color='primary'>
369
394
  {copy.publish.btnBack}
@@ -390,11 +415,19 @@ class PublishWizard extends React.PureComponent<IPublishWizardProps, IPublishWiz
390
415
  }
391
416
 
392
417
  private renderPublish() {
418
+ const { publishing } = this.props.publishData;
419
+ const { publishError } = this.state;
420
+ const error = publishError ? (
421
+ <p className='publish-error'>
422
+ <span className='icon'>{ICON_EXCLAIMATION_TRIANGLE}</span>&nbsp;&nbsp;{publishError}
423
+ </p>
424
+ ) : null;
393
425
  return (
394
426
  <div>
395
427
  <h2>{copy.publish.publishStepTitle}</h2>
396
428
  <HRule />
397
- <p>{copy.publish.publishStepDesc}</p>
429
+ <p>{publishing ? copy.publish.publishInProgress : copy.publish.publishStepDesc}</p>
430
+ {error}
398
431
  </div>
399
432
  );
400
433
  }
@@ -405,7 +438,7 @@ class PublishWizard extends React.PureComponent<IPublishWizardProps, IPublishWiz
405
438
  const { compositions, afterEffects, selectedComposition, credentials, accessKey } =
406
439
  this.state;
407
440
 
408
- const { publishDataset } = this.props;
441
+ const { publishDataset, fromCrM, story, creativeManagerBaseUrl } = this.props;
409
442
 
410
443
  for (const comp of compositions) {
411
444
  compOpts.push({
@@ -428,56 +461,75 @@ class PublishWizard extends React.PureComponent<IPublishWizardProps, IPublishWiz
428
461
  });
429
462
  }
430
463
 
431
- let distributionOptions = [
432
- {
433
- label: (
434
- <span>
435
- {ICON_GLOBE}&nbsp;{copy.publish.btnWebsite}
436
- </span>
437
- ),
438
- onClick: (e) => this.onSelectOption(2)
439
- },
440
- {
441
- label: (
442
- <span>
443
- {ICON_EMAIL}&nbsp;{copy.publish.btnEmail}
444
- </span>
445
- ),
446
- onClick: (e) => this.onSelectOption(3)
447
- },
448
- {
449
- label: (
450
- <span>
451
- {ICON_HUBSPOT}&nbsp;{copy.publish.btnHubspot}
452
- </span>
453
- ),
454
- onClick: (e) => this.onSelectOption(5)
455
- },
456
- {
457
- label: (
458
- <span>
459
- {ICON_PROJECT_DIAGRAM}&nbsp;{copy.publish.btnAPI}
460
- </span>
461
- ),
462
- onClick: (e) => this.onSelectOption(6)
463
- },
464
- {
465
- label: (
466
- <span>
467
- {ICON_DOWNLOAD}&nbsp;{copy.publish.btnExport}
468
- </span>
469
- ),
470
- onClick: (e) => this.onSelectOption(7)
471
- },
472
- {
473
- label: (
474
- <span>
475
- {ICON_IMAGE}&nbsp;{copy.publish.btnCRM}
476
- </span>
477
- ),
478
- onClick: (e) => this.onSelectOption(8)
479
- }
480
- ];
464
+ let distributionOptions = !fromCrM
465
+ ? [
466
+ {
467
+ label: (
468
+ <span>
469
+ {ICON_GLOBE}&nbsp;{copy.publish.btnWebsite}
470
+ </span>
471
+ ),
472
+ onClick: (e) => this.onSelectOption(2)
473
+ },
474
+ {
475
+ label: (
476
+ <span>
477
+ {ICON_EMAIL}&nbsp;{copy.publish.btnEmail}
478
+ </span>
479
+ ),
480
+ onClick: (e) => this.onSelectOption(3)
481
+ },
482
+ {
483
+ label: (
484
+ <span>
485
+ {ICON_HUBSPOT}&nbsp;{copy.publish.btnHubspot}
486
+ </span>
487
+ ),
488
+ onClick: (e) => this.onSelectOption(5)
489
+ },
490
+ {
491
+ label: (
492
+ <span>
493
+ {ICON_PROJECT_DIAGRAM}&nbsp;{copy.publish.btnAPI}
494
+ </span>
495
+ ),
496
+ onClick: (e) => this.onSelectOption(6)
497
+ },
498
+ {
499
+ label: (
500
+ <span>
501
+ {ICON_DOWNLOAD}&nbsp;{copy.publish.btnExport}
502
+ </span>
503
+ ),
504
+ onClick: (e) => this.onSelectOption(7)
505
+ },
506
+ {
507
+ label: (
508
+ <span>
509
+ {ICON_IMAGE}&nbsp;{copy.publish.btnCRM}
510
+ </span>
511
+ ),
512
+ onClick: (e) => this.onSelectOption(8)
513
+ }
514
+ ]
515
+ : [
516
+ {
517
+ label: (
518
+ <span>
519
+ {ICON_DOWNLOAD}&nbsp;{copy.publish.btnRunTestBatch}
520
+ </span>
521
+ ),
522
+ onClick: (e) => this.onSelectOption(7)
523
+ },
524
+ {
525
+ label: (
526
+ <span>
527
+ {ICON_UP_RIGHT_FROM_SQUARE}&nbsp;{copy.publish.btnCrM}
528
+ </span>
529
+ ),
530
+ link: `${creativeManagerBaseUrl}/library/${story.creativeLibraryId}/creative/${story.creativeLibraryId}/versions/`
531
+ }
532
+ ];
481
533
 
482
534
  if (publishDataset) {
483
535
  const indexes = [0, 2, 3];
@@ -489,41 +541,67 @@ class PublishWizard extends React.PureComponent<IPublishWizardProps, IPublishWiz
489
541
  }, []);
490
542
  }
491
543
 
544
+ const compDropdown = !fromCrM ? (
545
+ <SelectField
546
+ label={copy.project.compName}
547
+ value={selectedComposition}
548
+ onChange={this.onCompositionChange}
549
+ options={compOpts}
550
+ tooltip={copy.project.tooltipCompId}
551
+ />
552
+ ) : null;
553
+
554
+ const accessKeyDropdown = !fromCrM ? (
555
+ <SelectField
556
+ label={copy.publish.accessKey}
557
+ value={accessKey}
558
+ onChange={this.onCredentialsChange}
559
+ options={credOpts}
560
+ tooltip={copy.publish.tooltipAccessKey}
561
+ />
562
+ ) : null;
563
+
492
564
  return (
493
565
  <div>
494
- <h2>{copy.publish.distributeStepTitle}</h2>
566
+ <h2>
567
+ {!fromCrM
568
+ ? copy.publish.distributeStepTitle
569
+ : copy.publish.distributeStepTitleFromCrM}
570
+ </h2>
495
571
  <HRule />
496
- <p>{copy.publish.distributeStepDesc}</p>
572
+ <p>
573
+ {!fromCrM
574
+ ? copy.publish.distributeStepDesc
575
+ : copy.publish.distributeStepDescFromCrM}
576
+ </p>
497
577
  <HRule />
498
- {!this.state.selectedComposition && (
578
+ {!this.state.selectedComposition && !fromCrM && (
499
579
  <p className={'text-danger'}>{copy.publish.noCompErrorDesc}</p>
500
580
  )}
501
581
  <div style={{ marginTop: '10px' }}>
502
- <SelectField
503
- label={copy.project.compName}
504
- value={selectedComposition}
505
- onChange={this.onCompositionChange}
506
- options={compOpts}
507
- tooltip={copy.project.tooltipCompId}
508
- />
509
- <SelectField
510
- label={copy.publish.accessKey}
511
- value={accessKey}
512
- onChange={this.onCredentialsChange}
513
- options={credOpts}
514
- tooltip={copy.publish.tooltipAccessKey}
515
- />
582
+ {compDropdown}
583
+ {accessKeyDropdown}
516
584
 
517
585
  <div className='link-wrapper'>
518
- {distributionOptions?.map((option, index) => {
519
- return (
520
- <BigButton
521
- key={index}
522
- disabled={!selectedComposition}
523
- label={option.label}
524
- onClick={option.onClick}
525
- />
526
- );
586
+ {distributionOptions?.map((option: any, index) => {
587
+ if (option.link) {
588
+ return (
589
+ <BigLink
590
+ key={index}
591
+ label={option.label}
592
+ link={option.link}
593
+ />
594
+ );
595
+ } else {
596
+ return (
597
+ <BigButton
598
+ key={index}
599
+ disabled={!selectedComposition}
600
+ label={option.label}
601
+ onClick={option.onClick}
602
+ />
603
+ );
604
+ }
527
605
  })}
528
606
  </div>
529
607
  </div>