@imposium-hub/components 1.60.5 → 1.60.7

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 (56) hide show
  1. package/dist/cjs/components/button/Button.stories.d.ts +0 -1
  2. package/dist/cjs/components/button-group-field/ButtonGroupField.stories.d.ts +0 -1
  3. package/dist/cjs/components/button-menu/ButtonMenu.stories.d.ts +0 -1
  4. package/dist/cjs/components/card/Card.stories.d.ts +0 -1
  5. package/dist/cjs/components/checkbox-field/CheckboxField.stories.d.ts +0 -1
  6. package/dist/cjs/components/color-field/ColorFiled.stories.d.ts +0 -1
  7. package/dist/cjs/components/controlled-list/ControlledList.stories.d.ts +0 -1
  8. package/dist/cjs/components/field-wrapper/FieldWrapper.stories.d.ts +0 -1
  9. package/dist/cjs/components/h-rule/HRule.d.ts +0 -1
  10. package/dist/cjs/components/h-rule/HRule.stories.d.ts +0 -1
  11. package/dist/cjs/components/header/Header.js +1 -1
  12. package/dist/cjs/components/header/Header.js.map +1 -1
  13. package/dist/cjs/components/list-field/ListField.stories.d.ts +0 -1
  14. package/dist/cjs/components/modal/Modal.stories.d.ts +0 -1
  15. package/dist/cjs/components/number-field/NumberField.stories.d.ts +0 -1
  16. package/dist/cjs/components/section/Section.d.ts +0 -1
  17. package/dist/cjs/components/section/Section.stories.d.ts +0 -1
  18. package/dist/cjs/components/select-field/SelectField.stories.d.ts +0 -1
  19. package/dist/cjs/components/slider-field/SliderField.stories.d.ts +0 -1
  20. package/dist/cjs/components/story-previewer/StoryPreviewer.js +32 -17
  21. package/dist/cjs/components/story-previewer/StoryPreviewer.js.map +1 -1
  22. package/dist/cjs/components/text-area-field/TextAreaField.stories.d.ts +0 -1
  23. package/dist/cjs/components/text-field/TextField.stories.d.ts +0 -1
  24. package/dist/cjs/services/API.d.ts +2 -0
  25. package/dist/cjs/services/API.js +6 -0
  26. package/dist/cjs/services/API.js.map +1 -1
  27. package/dist/esm/components/button/Button.stories.d.ts +0 -1
  28. package/dist/esm/components/button-group-field/ButtonGroupField.stories.d.ts +0 -1
  29. package/dist/esm/components/button-menu/ButtonMenu.stories.d.ts +0 -1
  30. package/dist/esm/components/card/Card.stories.d.ts +0 -1
  31. package/dist/esm/components/checkbox-field/CheckboxField.stories.d.ts +0 -1
  32. package/dist/esm/components/color-field/ColorFiled.stories.d.ts +0 -1
  33. package/dist/esm/components/controlled-list/ControlledList.stories.d.ts +0 -1
  34. package/dist/esm/components/field-wrapper/FieldWrapper.stories.d.ts +0 -1
  35. package/dist/esm/components/h-rule/HRule.d.ts +0 -1
  36. package/dist/esm/components/h-rule/HRule.stories.d.ts +0 -1
  37. package/dist/esm/components/header/Header.js +1 -1
  38. package/dist/esm/components/header/Header.js.map +1 -1
  39. package/dist/esm/components/list-field/ListField.stories.d.ts +0 -1
  40. package/dist/esm/components/modal/Modal.stories.d.ts +0 -1
  41. package/dist/esm/components/number-field/NumberField.stories.d.ts +0 -1
  42. package/dist/esm/components/section/Section.d.ts +0 -1
  43. package/dist/esm/components/section/Section.stories.d.ts +0 -1
  44. package/dist/esm/components/select-field/SelectField.stories.d.ts +0 -1
  45. package/dist/esm/components/slider-field/SliderField.stories.d.ts +0 -1
  46. package/dist/esm/components/story-previewer/StoryPreviewer.js +30 -17
  47. package/dist/esm/components/story-previewer/StoryPreviewer.js.map +1 -1
  48. package/dist/esm/components/text-area-field/TextAreaField.stories.d.ts +0 -1
  49. package/dist/esm/components/text-field/TextField.stories.d.ts +0 -1
  50. package/dist/esm/services/API.d.ts +2 -0
  51. package/dist/esm/services/API.js +6 -0
  52. package/dist/esm/services/API.js.map +1 -1
  53. package/package.json +1 -1
  54. package/src/components/header/Header.tsx +1 -1
  55. package/src/components/story-previewer/StoryPreviewer.tsx +58 -30
  56. package/src/services/API.ts +8 -0
@@ -53,6 +53,7 @@ interface IStoryPreviewerState {
53
53
  activeOutput: string;
54
54
  timeElapsed: number;
55
55
  isTimeOut: boolean;
56
+ error: boolean;
56
57
  }
57
58
 
58
59
  class StoryPreviewer extends React.PureComponent<IStoryPreviewerProps, IStoryPreviewerState> {
@@ -78,7 +79,8 @@ class StoryPreviewer extends React.PureComponent<IStoryPreviewerProps, IStoryPre
78
79
  activeOutput: '',
79
80
  rendering: false,
80
81
  isTimeOut: false,
81
- compositionOverride: null
82
+ compositionOverride: null,
83
+ error: false
82
84
  };
83
85
 
84
86
  this.timer = new Timer({
@@ -529,8 +531,15 @@ class StoryPreviewer extends React.PureComponent<IStoryPreviewerProps, IStoryPre
529
531
  }
530
532
 
531
533
  private createExperience() {
532
- const { storyId, onNotification, onError, api, onExperienceCreated, useWorkingCopy } =
533
- this.props;
534
+ const {
535
+ storyId,
536
+ onNotification,
537
+ onError,
538
+ api,
539
+ onExperienceCreated,
540
+ useWorkingCopy,
541
+ experienceId
542
+ } = this.props;
534
543
 
535
544
  const compId = this.getCompId();
536
545
 
@@ -558,7 +567,17 @@ class StoryPreviewer extends React.PureComponent<IStoryPreviewerProps, IStoryPre
558
567
  this.getExperience(resExp.id, true, compId, useWorkingCopy);
559
568
  })
560
569
  .catch((e) => {
561
- this.resetState();
570
+ api.cancelExperiencePolling().then(() => {
571
+ onError(copy.runExpError.replace('[expId]', experienceId));
572
+
573
+ this.resetState(
574
+ true,
575
+ () => {
576
+ this.setState({ isTimeOut: true });
577
+ },
578
+ experienceId
579
+ );
580
+ });
562
581
  const { data } = e.response;
563
582
  if (onError) {
564
583
  if (data && data.error) {
@@ -573,17 +592,18 @@ class StoryPreviewer extends React.PureComponent<IStoryPreviewerProps, IStoryPre
573
592
  });
574
593
  }
575
594
 
576
- private resetState(isTimeOut?: boolean, callback?) {
595
+ private resetState(isTimeOut?: boolean, callback?, experienceId = null) {
577
596
  this.timer.stop();
578
597
  this.setState(
579
598
  {
580
599
  rendering: false,
581
- experienceId: null,
600
+ experienceId,
582
601
  experience: null,
583
602
  jobId: null,
584
603
  timeElapsed: !isTimeOut ? 0 : this.state.timeElapsed,
585
604
  activeOutput: null,
586
- isTimeOut: false
605
+ isTimeOut: false,
606
+ error: experienceId !== null
587
607
  },
588
608
  () => {
589
609
  if (callback) {
@@ -740,9 +760,33 @@ class StoryPreviewer extends React.PureComponent<IStoryPreviewerProps, IStoryPre
740
760
  });
741
761
  };
742
762
 
763
+ private expIdField(expId) {
764
+ return (
765
+ <>
766
+ <TextField
767
+ readOnly={true}
768
+ width='360px'
769
+ label={copy.expIdField}
770
+ showCopy={true}
771
+ value={expId}
772
+ />
773
+ <Button
774
+ key='btn-expLog'
775
+ tooltip={copy.expJobLogToolTips}
776
+ customStyles={{
777
+ position: 'relative',
778
+ bottom: '2px'
779
+ }}
780
+ onClick={() => this.downloadExpLog(expId)}>
781
+ {copy.expJobLog} {ICON_DOWNLOAD}
782
+ </Button>
783
+ </>
784
+ );
785
+ }
786
+
743
787
  public render() {
744
788
  const { allowCompOverride } = this.props;
745
- const { rendering, experience, activeOutput } = this.state;
789
+ const { rendering, experience, activeOutput, experienceId, error } = this.state;
746
790
  const { storyId } = this.props;
747
791
  const renderCopy = experience ? copy.btnReRender : copy.btnRender;
748
792
  const compId = this.getCompId();
@@ -760,6 +804,10 @@ class StoryPreviewer extends React.PureComponent<IStoryPreviewerProps, IStoryPre
760
804
  let viewerButtons;
761
805
  let expIdField;
762
806
 
807
+ if (experienceId && error) {
808
+ expIdField = this.expIdField(experienceId);
809
+ }
810
+
763
811
  if (experience) {
764
812
  const viewerOpts = this.getViewerOptions();
765
813
  const outputArr = activeOutput.split('.');
@@ -770,7 +818,7 @@ class StoryPreviewer extends React.PureComponent<IStoryPreviewerProps, IStoryPre
770
818
  const fileName = `${storyId}_${type}`;
771
819
 
772
820
  if (type === OUTPUT_TYPES.IMAGE) {
773
- url = experience.output.images[key];
821
+ url = experience.output.images[key].url;
774
822
  } else if (type === OUTPUT_TYPES.AUDIO) {
775
823
  url = experience.output.audio[key].url;
776
824
  } else if (type === OUTPUT_TYPES.VIDEO) {
@@ -811,27 +859,7 @@ class StoryPreviewer extends React.PureComponent<IStoryPreviewerProps, IStoryPre
811
859
  />
812
860
  );
813
861
 
814
- expIdField = (
815
- <>
816
- <TextField
817
- readOnly={true}
818
- width='360px'
819
- label={copy.expIdField}
820
- showCopy={true}
821
- value={experience.id}
822
- />
823
- <Button
824
- key='btn-expLog'
825
- tooltip={copy.expJobLogToolTips}
826
- customStyles={{
827
- position: 'relative',
828
- bottom: '2px'
829
- }}
830
- onClick={() => this.downloadExpLog(experience.id)}>
831
- {copy.expJobLog} {ICON_DOWNLOAD}
832
- </Button>
833
- </>
834
- );
862
+ expIdField = this.expIdField(experienceId);
835
863
  }
836
864
 
837
865
  const compSelect =
@@ -36,6 +36,7 @@ export interface IImposiumAPI {
36
36
  getStory(storyId: string);
37
37
  saveStory(storyId, story: any);
38
38
  newStory(story: any);
39
+ copyStory(storyId: string);
39
40
  deleteStory(storyId: string);
40
41
  getStoryStatus(storyId: string);
41
42
  revertVersion(storyId: string, versionId: string);
@@ -242,6 +243,13 @@ export default class API {
242
243
  });
243
244
  };
244
245
 
246
+ public copyStory = (storyId: string): Promise<any | Error> => {
247
+ return this.doRequest({
248
+ method: 'POST',
249
+ url: `/story/from-project/${storyId}`
250
+ });
251
+ };
252
+
245
253
  public deleteStory = (storyId: string): Promise<any | Error> => {
246
254
  return this.doRequest({
247
255
  method: 'DELETE',