@imposium-hub/components 1.60.4 → 1.60.6
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/asset-details/AssetDetails.js +1 -1
- package/dist/cjs/components/asset-details/AssetDetails.js.map +1 -1
- package/dist/cjs/components/color-field/ColorField.d.ts +1 -0
- package/dist/cjs/components/color-field/ColorField.js +3 -0
- package/dist/cjs/components/color-field/ColorField.js.map +1 -1
- package/dist/cjs/components/dropdown/Dropdown.js +1 -1
- package/dist/cjs/components/dropdown/Dropdown.js.map +1 -1
- package/dist/cjs/components/header/Header.js +1 -1
- package/dist/cjs/components/header/Header.js.map +1 -1
- package/dist/cjs/components/story-previewer/StoryPreviewer.js +27 -17
- package/dist/cjs/components/story-previewer/StoryPreviewer.js.map +1 -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/asset-details/AssetDetails.js +1 -1
- package/dist/esm/components/asset-details/AssetDetails.js.map +1 -1
- package/dist/esm/components/color-field/ColorField.d.ts +1 -0
- package/dist/esm/components/color-field/ColorField.js +3 -0
- package/dist/esm/components/color-field/ColorField.js.map +1 -1
- package/dist/esm/components/dropdown/Dropdown.js +1 -1
- package/dist/esm/components/dropdown/Dropdown.js.map +1 -1
- package/dist/esm/components/header/Header.js +1 -1
- package/dist/esm/components/header/Header.js.map +1 -1
- package/dist/esm/components/story-previewer/StoryPreviewer.js +25 -17
- package/dist/esm/components/story-previewer/StoryPreviewer.js.map +1 -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/asset-details/AssetDetails.tsx +1 -1
- package/src/components/color-field/ColorField.tsx +4 -0
- package/src/components/dropdown/dropdown.tsx +1 -1
- package/src/components/header/Header.tsx +1 -1
- package/src/components/story-previewer/StoryPreviewer.tsx +40 -29
- 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({
|
|
@@ -463,9 +465,9 @@ class StoryPreviewer extends React.PureComponent<IStoryPreviewerProps, IStoryPre
|
|
|
463
465
|
}
|
|
464
466
|
})
|
|
465
467
|
.catch((e) => {
|
|
466
|
-
this.resetState();
|
|
467
468
|
if (onError) {
|
|
468
469
|
if (e.error) {
|
|
470
|
+
this.resetState(null, null, e.id);
|
|
469
471
|
onError(e.error);
|
|
470
472
|
} else {
|
|
471
473
|
onError(
|
|
@@ -510,9 +512,9 @@ class StoryPreviewer extends React.PureComponent<IStoryPreviewerProps, IStoryPre
|
|
|
510
512
|
}
|
|
511
513
|
})
|
|
512
514
|
.catch((e) => {
|
|
513
|
-
this.resetState();
|
|
514
515
|
if (onError) {
|
|
515
516
|
if (e.error) {
|
|
517
|
+
this.resetState(null, null, e.id);
|
|
516
518
|
onError(e.error);
|
|
517
519
|
} else {
|
|
518
520
|
onError(
|
|
@@ -573,17 +575,18 @@ class StoryPreviewer extends React.PureComponent<IStoryPreviewerProps, IStoryPre
|
|
|
573
575
|
});
|
|
574
576
|
}
|
|
575
577
|
|
|
576
|
-
private resetState(isTimeOut?: boolean, callback
|
|
578
|
+
private resetState(isTimeOut?: boolean, callback?, experienceId = null) {
|
|
577
579
|
this.timer.stop();
|
|
578
580
|
this.setState(
|
|
579
581
|
{
|
|
580
582
|
rendering: false,
|
|
581
|
-
experienceId
|
|
583
|
+
experienceId,
|
|
582
584
|
experience: null,
|
|
583
585
|
jobId: null,
|
|
584
586
|
timeElapsed: !isTimeOut ? 0 : this.state.timeElapsed,
|
|
585
587
|
activeOutput: null,
|
|
586
|
-
isTimeOut: false
|
|
588
|
+
isTimeOut: false,
|
|
589
|
+
error: experienceId !== null
|
|
587
590
|
},
|
|
588
591
|
() => {
|
|
589
592
|
if (callback) {
|
|
@@ -740,9 +743,33 @@ class StoryPreviewer extends React.PureComponent<IStoryPreviewerProps, IStoryPre
|
|
|
740
743
|
});
|
|
741
744
|
};
|
|
742
745
|
|
|
746
|
+
private expIdField(expId) {
|
|
747
|
+
return (
|
|
748
|
+
<>
|
|
749
|
+
<TextField
|
|
750
|
+
readOnly={true}
|
|
751
|
+
width='360px'
|
|
752
|
+
label={copy.expIdField}
|
|
753
|
+
showCopy={true}
|
|
754
|
+
value={expId}
|
|
755
|
+
/>
|
|
756
|
+
<Button
|
|
757
|
+
key='btn-expLog'
|
|
758
|
+
tooltip={copy.expJobLogToolTips}
|
|
759
|
+
customStyles={{
|
|
760
|
+
position: 'relative',
|
|
761
|
+
bottom: '2px'
|
|
762
|
+
}}
|
|
763
|
+
onClick={() => this.downloadExpLog(expId)}>
|
|
764
|
+
{copy.expJobLog} {ICON_DOWNLOAD}
|
|
765
|
+
</Button>
|
|
766
|
+
</>
|
|
767
|
+
);
|
|
768
|
+
}
|
|
769
|
+
|
|
743
770
|
public render() {
|
|
744
771
|
const { allowCompOverride } = this.props;
|
|
745
|
-
const { rendering, experience, activeOutput } = this.state;
|
|
772
|
+
const { rendering, experience, activeOutput, experienceId, error } = this.state;
|
|
746
773
|
const { storyId } = this.props;
|
|
747
774
|
const renderCopy = experience ? copy.btnReRender : copy.btnRender;
|
|
748
775
|
const compId = this.getCompId();
|
|
@@ -760,6 +787,10 @@ class StoryPreviewer extends React.PureComponent<IStoryPreviewerProps, IStoryPre
|
|
|
760
787
|
let viewerButtons;
|
|
761
788
|
let expIdField;
|
|
762
789
|
|
|
790
|
+
if (experienceId && error) {
|
|
791
|
+
expIdField = this.expIdField(experienceId);
|
|
792
|
+
}
|
|
793
|
+
|
|
763
794
|
if (experience) {
|
|
764
795
|
const viewerOpts = this.getViewerOptions();
|
|
765
796
|
const outputArr = activeOutput.split('.');
|
|
@@ -770,7 +801,7 @@ class StoryPreviewer extends React.PureComponent<IStoryPreviewerProps, IStoryPre
|
|
|
770
801
|
const fileName = `${storyId}_${type}`;
|
|
771
802
|
|
|
772
803
|
if (type === OUTPUT_TYPES.IMAGE) {
|
|
773
|
-
url = experience.output.images[key];
|
|
804
|
+
url = experience.output.images[key].url;
|
|
774
805
|
} else if (type === OUTPUT_TYPES.AUDIO) {
|
|
775
806
|
url = experience.output.audio[key].url;
|
|
776
807
|
} else if (type === OUTPUT_TYPES.VIDEO) {
|
|
@@ -811,27 +842,7 @@ class StoryPreviewer extends React.PureComponent<IStoryPreviewerProps, IStoryPre
|
|
|
811
842
|
/>
|
|
812
843
|
);
|
|
813
844
|
|
|
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
|
-
);
|
|
845
|
+
expIdField = this.expIdField(experienceId);
|
|
835
846
|
}
|
|
836
847
|
|
|
837
848
|
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',
|