@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.
- package/dist/cjs/components/button/Button.stories.d.ts +0 -1
- package/dist/cjs/components/button-group-field/ButtonGroupField.stories.d.ts +0 -1
- package/dist/cjs/components/button-menu/ButtonMenu.stories.d.ts +0 -1
- package/dist/cjs/components/card/Card.stories.d.ts +0 -1
- package/dist/cjs/components/checkbox-field/CheckboxField.stories.d.ts +0 -1
- package/dist/cjs/components/color-field/ColorFiled.stories.d.ts +0 -1
- package/dist/cjs/components/controlled-list/ControlledList.stories.d.ts +0 -1
- package/dist/cjs/components/field-wrapper/FieldWrapper.stories.d.ts +0 -1
- package/dist/cjs/components/h-rule/HRule.d.ts +0 -1
- package/dist/cjs/components/h-rule/HRule.stories.d.ts +0 -1
- package/dist/cjs/components/header/Header.js +1 -1
- package/dist/cjs/components/header/Header.js.map +1 -1
- package/dist/cjs/components/list-field/ListField.stories.d.ts +0 -1
- package/dist/cjs/components/modal/Modal.stories.d.ts +0 -1
- package/dist/cjs/components/number-field/NumberField.stories.d.ts +0 -1
- package/dist/cjs/components/section/Section.d.ts +0 -1
- package/dist/cjs/components/section/Section.stories.d.ts +0 -1
- package/dist/cjs/components/select-field/SelectField.stories.d.ts +0 -1
- package/dist/cjs/components/slider-field/SliderField.stories.d.ts +0 -1
- package/dist/cjs/components/story-previewer/StoryPreviewer.js +32 -17
- package/dist/cjs/components/story-previewer/StoryPreviewer.js.map +1 -1
- package/dist/cjs/components/text-area-field/TextAreaField.stories.d.ts +0 -1
- package/dist/cjs/components/text-field/TextField.stories.d.ts +0 -1
- package/dist/cjs/services/API.d.ts +2 -0
- package/dist/cjs/services/API.js +6 -0
- package/dist/cjs/services/API.js.map +1 -1
- package/dist/esm/components/button/Button.stories.d.ts +0 -1
- package/dist/esm/components/button-group-field/ButtonGroupField.stories.d.ts +0 -1
- package/dist/esm/components/button-menu/ButtonMenu.stories.d.ts +0 -1
- package/dist/esm/components/card/Card.stories.d.ts +0 -1
- package/dist/esm/components/checkbox-field/CheckboxField.stories.d.ts +0 -1
- package/dist/esm/components/color-field/ColorFiled.stories.d.ts +0 -1
- package/dist/esm/components/controlled-list/ControlledList.stories.d.ts +0 -1
- package/dist/esm/components/field-wrapper/FieldWrapper.stories.d.ts +0 -1
- package/dist/esm/components/h-rule/HRule.d.ts +0 -1
- package/dist/esm/components/h-rule/HRule.stories.d.ts +0 -1
- package/dist/esm/components/header/Header.js +1 -1
- package/dist/esm/components/header/Header.js.map +1 -1
- package/dist/esm/components/list-field/ListField.stories.d.ts +0 -1
- package/dist/esm/components/modal/Modal.stories.d.ts +0 -1
- package/dist/esm/components/number-field/NumberField.stories.d.ts +0 -1
- package/dist/esm/components/section/Section.d.ts +0 -1
- package/dist/esm/components/section/Section.stories.d.ts +0 -1
- package/dist/esm/components/select-field/SelectField.stories.d.ts +0 -1
- package/dist/esm/components/slider-field/SliderField.stories.d.ts +0 -1
- package/dist/esm/components/story-previewer/StoryPreviewer.js +30 -17
- package/dist/esm/components/story-previewer/StoryPreviewer.js.map +1 -1
- package/dist/esm/components/text-area-field/TextAreaField.stories.d.ts +0 -1
- package/dist/esm/components/text-field/TextField.stories.d.ts +0 -1
- package/dist/esm/services/API.d.ts +2 -0
- package/dist/esm/services/API.js +6 -0
- package/dist/esm/services/API.js.map +1 -1
- package/package.json +1 -1
- package/src/components/header/Header.tsx +1 -1
- package/src/components/story-previewer/StoryPreviewer.tsx +58 -30
- 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 {
|
|
533
|
-
|
|
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
|
-
|
|
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
|
|
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 =
|
package/src/services/API.ts
CHANGED
|
@@ -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',
|