@imposium-hub/components 1.60.2 → 1.60.3

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 (99) hide show
  1. package/dist/cjs/components/button/Button.stories.d.ts +1 -0
  2. package/dist/cjs/components/button-group-field/ButtonGroupField.stories.d.ts +1 -0
  3. package/dist/cjs/components/button-menu/ButtonMenu.stories.d.ts +1 -0
  4. package/dist/cjs/components/card/Card.stories.d.ts +1 -0
  5. package/dist/cjs/components/checkbox-field/CheckboxField.stories.d.ts +1 -0
  6. package/dist/cjs/components/color-field/ColorFiled.stories.d.ts +1 -0
  7. package/dist/cjs/components/controlled-list/ControlledList.stories.d.ts +1 -0
  8. package/dist/cjs/components/field-wrapper/FieldWrapper.stories.d.ts +1 -0
  9. package/dist/cjs/components/h-rule/HRule.d.ts +1 -0
  10. package/dist/cjs/components/h-rule/HRule.stories.d.ts +1 -0
  11. package/dist/cjs/components/list-field/ListField.stories.d.ts +1 -0
  12. package/dist/cjs/components/modal/Modal.stories.d.ts +1 -0
  13. package/dist/cjs/components/number-field/NumberField.stories.d.ts +1 -0
  14. package/dist/cjs/components/publish-wizard/EmailWorkflow.d.ts +2 -0
  15. package/dist/cjs/components/publish-wizard/EmailWorkflow.js +491 -0
  16. package/dist/cjs/components/publish-wizard/EmailWorkflow.js.map +1 -0
  17. package/dist/cjs/components/publish-wizard/copy.d.ts +186 -0
  18. package/dist/cjs/components/publish-wizard/copy.js +199 -0
  19. package/dist/cjs/components/publish-wizard/copy.js.map +1 -0
  20. package/dist/cjs/components/section/Section.d.ts +1 -0
  21. package/dist/cjs/components/section/Section.stories.d.ts +1 -0
  22. package/dist/cjs/components/select-field/SelectField.stories.d.ts +1 -0
  23. package/dist/cjs/components/slider-field/SliderField.stories.d.ts +1 -0
  24. package/dist/cjs/components/story-previewer/StoryPreviewer_BACKUP_64741.d.ts +2 -0
  25. package/dist/cjs/components/story-previewer/StoryPreviewer_BACKUP_64741.js +670 -0
  26. package/dist/cjs/components/story-previewer/StoryPreviewer_BACKUP_64741.js.map +1 -0
  27. package/dist/cjs/components/story-previewer/StoryPreviewer_BASE_64741.d.ts +2 -0
  28. package/dist/cjs/components/story-previewer/StoryPreviewer_BASE_64741.js +553 -0
  29. package/dist/cjs/components/story-previewer/StoryPreviewer_BASE_64741.js.map +1 -0
  30. package/dist/cjs/components/story-previewer/StoryPreviewer_LOCAL_64741.d.ts +2 -0
  31. package/dist/cjs/components/story-previewer/StoryPreviewer_LOCAL_64741.js +650 -0
  32. package/dist/cjs/components/story-previewer/StoryPreviewer_LOCAL_64741.js.map +1 -0
  33. package/dist/cjs/components/story-previewer/StoryPreviewer_REMOTE_64741.d.ts +2 -0
  34. package/dist/cjs/components/story-previewer/StoryPreviewer_REMOTE_64741.js +639 -0
  35. package/dist/cjs/components/story-previewer/StoryPreviewer_REMOTE_64741.js.map +1 -0
  36. package/dist/cjs/components/text-area-field/TextAreaField.stories.d.ts +1 -0
  37. package/dist/cjs/components/text-field/TextField.stories.d.ts +1 -0
  38. package/dist/cjs/constants/assets_BACKUP_14924.d.ts +20 -0
  39. package/dist/cjs/constants/assets_BACKUP_14924.js +30 -0
  40. package/dist/cjs/constants/assets_BACKUP_14924.js.map +1 -0
  41. package/dist/cjs/constants/assets_BASE_14924.d.ts +21 -0
  42. package/dist/cjs/constants/assets_BASE_14924.js +32 -0
  43. package/dist/cjs/constants/assets_BASE_14924.js.map +1 -0
  44. package/dist/cjs/constants/assets_LOCAL_14924.d.ts +20 -0
  45. package/dist/cjs/constants/assets_LOCAL_14924.js +30 -0
  46. package/dist/cjs/constants/assets_LOCAL_14924.js.map +1 -0
  47. package/dist/cjs/constants/assets_REMOTE_14924.d.ts +21 -0
  48. package/dist/cjs/constants/assets_REMOTE_14924.js +32 -0
  49. package/dist/cjs/constants/assets_REMOTE_14924.js.map +1 -0
  50. package/dist/esm/components/button/Button.stories.d.ts +1 -0
  51. package/dist/esm/components/button-group-field/ButtonGroupField.stories.d.ts +1 -0
  52. package/dist/esm/components/button-menu/ButtonMenu.stories.d.ts +1 -0
  53. package/dist/esm/components/card/Card.stories.d.ts +1 -0
  54. package/dist/esm/components/checkbox-field/CheckboxField.stories.d.ts +1 -0
  55. package/dist/esm/components/color-field/ColorFiled.stories.d.ts +1 -0
  56. package/dist/esm/components/controlled-list/ControlledList.stories.d.ts +1 -0
  57. package/dist/esm/components/field-wrapper/FieldWrapper.stories.d.ts +1 -0
  58. package/dist/esm/components/h-rule/HRule.d.ts +1 -0
  59. package/dist/esm/components/h-rule/HRule.stories.d.ts +1 -0
  60. package/dist/esm/components/list-field/ListField.stories.d.ts +1 -0
  61. package/dist/esm/components/modal/Modal.stories.d.ts +1 -0
  62. package/dist/esm/components/number-field/NumberField.stories.d.ts +1 -0
  63. package/dist/esm/components/publish-wizard/EmailWorkflow.d.ts +2 -0
  64. package/dist/esm/components/publish-wizard/EmailWorkflow.js +398 -0
  65. package/dist/esm/components/publish-wizard/EmailWorkflow.js.map +1 -0
  66. package/dist/esm/components/publish-wizard/copy.d.ts +186 -0
  67. package/dist/esm/components/publish-wizard/copy.js +196 -0
  68. package/dist/esm/components/publish-wizard/copy.js.map +1 -0
  69. package/dist/esm/components/section/Section.d.ts +1 -0
  70. package/dist/esm/components/section/Section.stories.d.ts +1 -0
  71. package/dist/esm/components/select-field/SelectField.stories.d.ts +1 -0
  72. package/dist/esm/components/slider-field/SliderField.stories.d.ts +1 -0
  73. package/dist/esm/components/story-previewer/StoryPreviewer_BACKUP_64741.d.ts +2 -0
  74. package/dist/esm/components/story-previewer/StoryPreviewer_BACKUP_64741.js +554 -0
  75. package/dist/esm/components/story-previewer/StoryPreviewer_BACKUP_64741.js.map +1 -0
  76. package/dist/esm/components/story-previewer/StoryPreviewer_BASE_64741.d.ts +2 -0
  77. package/dist/esm/components/story-previewer/StoryPreviewer_BASE_64741.js +489 -0
  78. package/dist/esm/components/story-previewer/StoryPreviewer_BASE_64741.js.map +1 -0
  79. package/dist/esm/components/story-previewer/StoryPreviewer_LOCAL_64741.d.ts +2 -0
  80. package/dist/esm/components/story-previewer/StoryPreviewer_LOCAL_64741.js +537 -0
  81. package/dist/esm/components/story-previewer/StoryPreviewer_LOCAL_64741.js.map +1 -0
  82. package/dist/esm/components/story-previewer/StoryPreviewer_REMOTE_64741.d.ts +2 -0
  83. package/dist/esm/components/story-previewer/StoryPreviewer_REMOTE_64741.js +526 -0
  84. package/dist/esm/components/story-previewer/StoryPreviewer_REMOTE_64741.js.map +1 -0
  85. package/dist/esm/components/text-area-field/TextAreaField.stories.d.ts +1 -0
  86. package/dist/esm/components/text-field/TextField.stories.d.ts +1 -0
  87. package/dist/esm/constants/assets_BACKUP_14924.d.ts +20 -0
  88. package/dist/esm/constants/assets_BACKUP_14924.js +26 -0
  89. package/dist/esm/constants/assets_BACKUP_14924.js.map +1 -0
  90. package/dist/esm/constants/assets_BASE_14924.d.ts +21 -0
  91. package/dist/esm/constants/assets_BASE_14924.js +28 -0
  92. package/dist/esm/constants/assets_BASE_14924.js.map +1 -0
  93. package/dist/esm/constants/assets_LOCAL_14924.d.ts +20 -0
  94. package/dist/esm/constants/assets_LOCAL_14924.js +26 -0
  95. package/dist/esm/constants/assets_LOCAL_14924.js.map +1 -0
  96. package/dist/esm/constants/assets_REMOTE_14924.d.ts +21 -0
  97. package/dist/esm/constants/assets_REMOTE_14924.js +28 -0
  98. package/dist/esm/constants/assets_REMOTE_14924.js.map +1 -0
  99. package/package.json +1 -1
@@ -0,0 +1,650 @@
1
+ "use strict";
2
+ var __extends = (this && this.__extends) || (function () {
3
+ var extendStatics = function (d, b) {
4
+ extendStatics = Object.setPrototypeOf ||
5
+ ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||
6
+ function (d, b) { for (var p in b) if (Object.prototype.hasOwnProperty.call(b, p)) d[p] = b[p]; };
7
+ return extendStatics(d, b);
8
+ };
9
+ return function (d, b) {
10
+ if (typeof b !== "function" && b !== null)
11
+ throw new TypeError("Class extends value " + String(b) + " is not a constructor or null");
12
+ extendStatics(d, b);
13
+ function __() { this.constructor = d; }
14
+ d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());
15
+ };
16
+ })();
17
+ var __assign = (this && this.__assign) || function () {
18
+ __assign = Object.assign || function(t) {
19
+ for (var s, i = 1, n = arguments.length; i < n; i++) {
20
+ s = arguments[i];
21
+ for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p))
22
+ t[p] = s[p];
23
+ }
24
+ return t;
25
+ };
26
+ return __assign.apply(this, arguments);
27
+ };
28
+ var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
29
+ if (k2 === undefined) k2 = k;
30
+ var desc = Object.getOwnPropertyDescriptor(m, k);
31
+ if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
32
+ desc = { enumerable: true, get: function() { return m[k]; } };
33
+ }
34
+ Object.defineProperty(o, k2, desc);
35
+ }) : (function(o, m, k, k2) {
36
+ if (k2 === undefined) k2 = k;
37
+ o[k2] = m[k];
38
+ }));
39
+ var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
40
+ Object.defineProperty(o, "default", { enumerable: true, value: v });
41
+ }) : function(o, v) {
42
+ o["default"] = v;
43
+ });
44
+ var __importStar = (this && this.__importStar) || function (mod) {
45
+ if (mod && mod.__esModule) return mod;
46
+ var result = {};
47
+ if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);
48
+ __setModuleDefault(result, mod);
49
+ return result;
50
+ };
51
+ var __read = (this && this.__read) || function (o, n) {
52
+ var m = typeof Symbol === "function" && o[Symbol.iterator];
53
+ if (!m) return o;
54
+ var i = m.call(o), r, ar = [], e;
55
+ try {
56
+ while ((n === void 0 || n-- > 0) && !(r = i.next()).done) ar.push(r.value);
57
+ }
58
+ catch (error) { e = { error: error }; }
59
+ finally {
60
+ try {
61
+ if (r && !r.done && (m = i["return"])) m.call(i);
62
+ }
63
+ finally { if (e) throw e.error; }
64
+ }
65
+ return ar;
66
+ };
67
+ var __spreadArray = (this && this.__spreadArray) || function (to, from, pack) {
68
+ if (pack || arguments.length === 2) for (var i = 0, l = from.length, ar; i < l; i++) {
69
+ if (ar || !(i in from)) {
70
+ if (!ar) ar = Array.prototype.slice.call(from, 0, i);
71
+ ar[i] = from[i];
72
+ }
73
+ }
74
+ return to.concat(ar || Array.prototype.slice.call(from));
75
+ };
76
+ var __values = (this && this.__values) || function(o) {
77
+ var s = typeof Symbol === "function" && Symbol.iterator, m = s && o[s], i = 0;
78
+ if (m) return m.call(o);
79
+ if (o && typeof o.length === "number") return {
80
+ next: function () {
81
+ if (o && i >= o.length) o = void 0;
82
+ return { value: o && o[i++], done: !o };
83
+ }
84
+ };
85
+ throw new TypeError(s ? "Object is not iterable." : "Symbol.iterator is not defined.");
86
+ };
87
+ var __importDefault = (this && this.__importDefault) || function (mod) {
88
+ return (mod && mod.__esModule) ? mod : { "default": mod };
89
+ };
90
+ Object.defineProperty(exports, "__esModule", { value: true });
91
+ var React = __importStar(require("react"));
92
+ var variables_1 = require("../../constants/variables");
93
+ var previewer_1 = require("../../constants/previewer");
94
+ var TextField_1 = __importDefault(require("../text-field/TextField"));
95
+ var Button_1 = __importDefault(require("../button/Button"));
96
+ var Spinner_1 = __importDefault(require("../spinner/Spinner"));
97
+ var NumberField_1 = __importDefault(require("../number-field/NumberField"));
98
+ var SelectField_1 = __importDefault(require("../select-field/SelectField"));
99
+ var ButtonGroupField_1 = __importDefault(require("../button-group-field/ButtonGroupField"));
100
+ var FieldWrapper_1 = __importDefault(require("../field-wrapper/FieldWrapper"));
101
+ var HRule_1 = __importDefault(require("../h-rule/HRule"));
102
+ var VideoPlayer_1 = __importDefault(require("../players/VideoPlayer"));
103
+ var ImagePlayer_1 = __importDefault(require("../players/ImagePlayer"));
104
+ var MediaVariableField_1 = __importDefault(require("../media-variable-field/MediaVariableField"));
105
+ var react_resize_detector_1 = __importDefault(require("react-resize-detector"));
106
+ var copy_1 = require("../../constants/copy");
107
+ var Util_1 = require("../../Util");
108
+ var Timer_1 = __importDefault(require("../../services/Timer"));
109
+ var LogViewer_1 = __importDefault(require("../log-viewer/LogViewer"));
110
+ var react_redux_1 = require("react-redux");
111
+ var StoryPreviewer = /** @class */ (function (_super) {
112
+ __extends(StoryPreviewer, _super);
113
+ function StoryPreviewer(props) {
114
+ var _this = _super.call(this, props) || this;
115
+ _this.TIMEOUT = '02:00';
116
+ var inventory = _this.getInventoryDefaults();
117
+ var inventoryOptions = _this.getInventoryOptions();
118
+ _this.state = {
119
+ inventory: inventory,
120
+ inventoryOptions: inventoryOptions,
121
+ experienceId: null,
122
+ jobId: null,
123
+ experience: null,
124
+ timeElapsed: 0,
125
+ activeOutput: '',
126
+ rendering: false,
127
+ isTimeOut: false,
128
+ compositionOptions: [],
129
+ afterEffectsOptions: [],
130
+ compositionOverride: null
131
+ };
132
+ _this.timer = new Timer_1.default({
133
+ interval: 1000,
134
+ onUpdate: function (t) {
135
+ _this.setState({ timeElapsed: t });
136
+ }
137
+ });
138
+ _this.evtHandlers = {
139
+ toggleOutput: function (e) { return _this.toggleActiveOutput(e); },
140
+ createExp: function () { return _this.createExperience(); },
141
+ compChange: function (c) { return _this.compChanged(c); },
142
+ gotExperience: null
143
+ };
144
+ return _this;
145
+ }
146
+ StoryPreviewer.prototype.componentWillUnmount = function () {
147
+ var api = this.props.api;
148
+ this.timer.stop();
149
+ this.evtHandlers.gotExperience = null;
150
+ api.cancelExperiencePolling();
151
+ };
152
+ StoryPreviewer.prototype.addCompOptions = function (assets) {
153
+ var e_1, _a;
154
+ var _this = this;
155
+ var newOpts = __spreadArray([], __read(this.state.compositionOptions), false);
156
+ var compositionOverride = this.state.compositionOverride;
157
+ var compositionId = this.props.compositionId;
158
+ try {
159
+ for (var assets_1 = __values(assets), assets_1_1 = assets_1.next(); !assets_1_1.done; assets_1_1 = assets_1.next()) {
160
+ var comp = assets_1_1.value;
161
+ newOpts.push({ label: comp.name, value: comp.id });
162
+ }
163
+ }
164
+ catch (e_1_1) { e_1 = { error: e_1_1 }; }
165
+ finally {
166
+ try {
167
+ if (assets_1_1 && !assets_1_1.done && (_a = assets_1.return)) _a.call(assets_1);
168
+ }
169
+ finally { if (e_1) throw e_1.error; }
170
+ }
171
+ this.setState({ compositionOptions: newOpts }, function () {
172
+ var firstComp = _this.state.compositionOptions[0];
173
+ if (firstComp && !compositionId && !compositionOverride) {
174
+ _this.setState({ compositionOverride: firstComp.value });
175
+ }
176
+ });
177
+ };
178
+ StoryPreviewer.prototype.checkForCompDropdown = function () {
179
+ var _this = this;
180
+ var _a = this.props, api = _a.api, storyId = _a.storyId;
181
+ api.getAssets({ type: 'video_composition' }, storyId)
182
+ .then(function (res) { return _this.addCompOptions(res.assets); })
183
+ .catch(function (e) {
184
+ console.error('Error pulling comp IDs for composition dropdown');
185
+ });
186
+ api.getAssets({ type: 'after_effects' }, storyId)
187
+ .then(function (res) { return _this.addCompOptions(res.assets); })
188
+ .catch(function (e) {
189
+ console.error('Error pulling After Effects IDs for composition dropdown');
190
+ });
191
+ };
192
+ StoryPreviewer.prototype.getInventoryOptions = function () {
193
+ var variables = this.props.variables;
194
+ var options = {};
195
+ for (var i in variables) {
196
+ if (variables.hasOwnProperty(i)) {
197
+ var inv = variables[i];
198
+ if (inv.defaultItem && inv.defaultItem.type) {
199
+ if (inv.defaultItem.type.toLowerCase() === variables_1.VARIABLE_TYPES.ENUM) {
200
+ options[inv.id] = inv.defaultItem.options;
201
+ }
202
+ }
203
+ }
204
+ }
205
+ return options;
206
+ };
207
+ StoryPreviewer.prototype.getInventoryDefaults = function () {
208
+ var variables = this.props.variables;
209
+ var newInv = {};
210
+ for (var i in variables) {
211
+ if (variables.hasOwnProperty(i)) {
212
+ var inv = variables[i];
213
+ newInv[inv.id] = this.getVariableValue(inv.previewItem);
214
+ }
215
+ }
216
+ return newInv;
217
+ };
218
+ StoryPreviewer.prototype.checkInventoryDefaults = function (prevVariables) {
219
+ var variables = this.props.variables;
220
+ var newInv = __assign({}, this.state.inventory);
221
+ for (var i in variables) {
222
+ if (variables.hasOwnProperty(i)) {
223
+ var newVar = variables[i];
224
+ var prevVar = prevVariables[i];
225
+ if (prevVar) {
226
+ var prevValue = this.getVariableValue(prevVar.previewItem);
227
+ var newValue = this.getVariableValue(newVar.previewItem);
228
+ if (newVar.type !== prevVar.type || prevValue !== newValue) {
229
+ newInv[i] = newValue;
230
+ }
231
+ }
232
+ }
233
+ }
234
+ return newInv;
235
+ };
236
+ StoryPreviewer.prototype.getVariableValue = function (previewItem) {
237
+ if (previewItem && previewItem.type) {
238
+ var type = previewItem.type.toLowerCase();
239
+ if (type === variables_1.VARIABLE_TYPES.IMAGE ||
240
+ type === variables_1.VARIABLE_TYPES.VIDEO ||
241
+ type === variables_1.VARIABLE_TYPES.AUDIO) {
242
+ return previewItem.url;
243
+ }
244
+ else {
245
+ return previewItem.src;
246
+ }
247
+ }
248
+ else {
249
+ return undefined;
250
+ }
251
+ };
252
+ StoryPreviewer.prototype.componentDidMount = function () {
253
+ var _this = this;
254
+ // if the experience ID is set when the previewer is mounted, get that experience
255
+ var _a = this.props, experienceId = _a.experienceId, jobId = _a.jobId;
256
+ if (experienceId && jobId) {
257
+ this.setState({
258
+ jobId: jobId
259
+ }, function () {
260
+ _this.getExperience(experienceId);
261
+ });
262
+ }
263
+ this.checkForCompDropdown();
264
+ };
265
+ StoryPreviewer.prototype.componentDidUpdate = function (prevProps, prevState) {
266
+ var _this = this;
267
+ if (prevProps.storyId !== this.props.storyId) {
268
+ this.evtHandlers.gotExperience = null;
269
+ this.setState({ compositionOptions: [], afterEffectsOptions: [] });
270
+ this.checkForCompDropdown();
271
+ }
272
+ if (prevProps.variables !== this.props.variables) {
273
+ var inventory = void 0;
274
+ var inventoryOptions = this.getInventoryOptions();
275
+ if (prevProps.storyId === this.props.storyId) {
276
+ inventory = this.checkInventoryDefaults(prevProps.variables);
277
+ }
278
+ else {
279
+ inventory = this.getInventoryDefaults();
280
+ }
281
+ this.setState({
282
+ inventoryOptions: inventoryOptions,
283
+ inventory: inventory
284
+ });
285
+ }
286
+ if (this.props.notifications) {
287
+ if (this.props.notifications[0]) {
288
+ if (this.props.notifications[0]['type'] === 'error') {
289
+ this.setState({ isTimeOut: true });
290
+ }
291
+ if (this.props.notifications[0]['type'] === 'info') {
292
+ this.setState({ isTimeOut: false });
293
+ }
294
+ }
295
+ }
296
+ if (prevState.timeElapsed !== this.state.timeElapsed) {
297
+ if ((0, Util_1.formattedTime)(this.state.timeElapsed) === this.TIMEOUT && !this.state.experience) {
298
+ var _a = this.props, onError_1 = _a.onError, api = _a.api;
299
+ var experienceId_1 = this.state.experienceId;
300
+ api.cancelExperiencePolling().then(function () {
301
+ onError_1(copy_1.previewer.runExpError.replace('[expId]', experienceId_1));
302
+ _this.resetState(true, function () {
303
+ _this.setState({ isTimeOut: true });
304
+ });
305
+ });
306
+ }
307
+ }
308
+ };
309
+ StoryPreviewer.prototype.variableInputChanged = function (key, value) {
310
+ var inventory = __assign({}, this.state.inventory);
311
+ inventory[key] = value;
312
+ this.setState({
313
+ inventory: inventory
314
+ });
315
+ };
316
+ StoryPreviewer.prototype.getViewerOptions = function () {
317
+ var opts = [];
318
+ var output = this.state.experience.output;
319
+ var videos = output.videos;
320
+ var images = output.images;
321
+ if (videos) {
322
+ for (var key in videos) {
323
+ if (videos.hasOwnProperty(key)) {
324
+ var v = {
325
+ label: "Video: ".concat(key),
326
+ value: "".concat(previewer_1.OUTPUT_TYPES.VIDEO, ".").concat(key)
327
+ };
328
+ opts.push(v);
329
+ }
330
+ }
331
+ }
332
+ if (images) {
333
+ for (var key in images) {
334
+ if (images.hasOwnProperty(key)) {
335
+ var i = {
336
+ label: "Image: ".concat(key),
337
+ value: "".concat(previewer_1.OUTPUT_TYPES.IMAGE, ".").concat(key)
338
+ };
339
+ opts.push(i);
340
+ }
341
+ }
342
+ }
343
+ return opts;
344
+ };
345
+ StoryPreviewer.prototype.renderVariableFields = function () {
346
+ var _this = this;
347
+ var _a = this.state, inventory = _a.inventory, inventoryOptions = _a.inventoryOptions;
348
+ var storyInventory = this.props.variables;
349
+ var fields = [];
350
+ var _loop_1 = function (i) {
351
+ if (storyInventory.hasOwnProperty(i)) {
352
+ var inv_1 = storyInventory[i];
353
+ switch (inv_1.type.toLowerCase()) {
354
+ case variables_1.VARIABLE_TYPES.TEXT:
355
+ fields.push(React.createElement(TextField_1.default, { label: inv_1.name, key: inv_1.id, value: inventory[inv_1.id], onChange: function (v) { return _this.variableInputChanged(inv_1.id, v); }, labelPosition: 'top', width: '100%' }));
356
+ break;
357
+ case variables_1.VARIABLE_TYPES.NUMBER:
358
+ fields.push(React.createElement(NumberField_1.default, { label: inv_1.name, key: inv_1.id, value: inventory[inv_1.id], onChange: function (v) { return _this.variableInputChanged(inv_1.id, v); }, labelPosition: 'top', width: '100%' }));
359
+ break;
360
+ case variables_1.VARIABLE_TYPES.ENUM:
361
+ fields.push(React.createElement(SelectField_1.default, { label: inv_1.name, key: inv_1.id, value: inventory[inv_1.id], options: inventoryOptions[inv_1.id], onChange: function (v) { return _this.variableInputChanged(inv_1.id, v); }, labelPosition: 'top', width: '100%' }));
362
+ break;
363
+ case variables_1.VARIABLE_TYPES.BOOLEAN:
364
+ fields.push(React.createElement(ButtonGroupField_1.default, { label: inv_1.name, key: inv_1.id, value: inventory[inv_1.id], options: variables_1.BOOLEAN_DEFAULT_OPTIONS, onChange: function (v) { return _this.variableInputChanged(inv_1.id, v); } }));
365
+ break;
366
+ case variables_1.VARIABLE_TYPES.IMAGE:
367
+ fields.push(React.createElement(FieldWrapper_1.default, { label: inv_1.name, key: inv_1.id, labelPosition: 'top', width: '100%' },
368
+ React.createElement(MediaVariableField_1.default, { value: inventory[inv_1.id], type: inv_1.type, onChange: function (v) { return _this.variableInputChanged(inv_1.id, v); } })));
369
+ break;
370
+ case variables_1.VARIABLE_TYPES.VIDEO:
371
+ fields.push(React.createElement(FieldWrapper_1.default, { label: inv_1.name, key: inv_1.id, labelPosition: 'top', width: '100%' },
372
+ React.createElement(MediaVariableField_1.default, { type: inv_1.type, value: inventory[inv_1.id], onChange: function (v) { return _this.variableInputChanged(inv_1.id, v); } })));
373
+ break;
374
+ case variables_1.VARIABLE_TYPES.AUDIO:
375
+ fields.push(React.createElement(FieldWrapper_1.default, { label: inv_1.name, key: inv_1.id, labelPosition: 'top', width: '100%' },
376
+ React.createElement(MediaVariableField_1.default, { type: inv_1.type, value: inventory[inv_1.id], onChange: function (v) { return _this.variableInputChanged(inv_1.id, v); } })));
377
+ break;
378
+ }
379
+ }
380
+ };
381
+ for (var i in storyInventory) {
382
+ _loop_1(i);
383
+ }
384
+ return fields;
385
+ };
386
+ StoryPreviewer.prototype.getFirstOutput = function (experience) {
387
+ var videos = experience.output.videos;
388
+ var images = experience.output.images;
389
+ if (videos) {
390
+ for (var key in videos) {
391
+ if (videos.hasOwnProperty(key)) {
392
+ return "".concat(previewer_1.OUTPUT_TYPES.VIDEO, ".").concat(key);
393
+ }
394
+ }
395
+ }
396
+ else if (images) {
397
+ for (var key in images) {
398
+ if (images.hasOwnProperty(key)) {
399
+ return "".concat(previewer_1.OUTPUT_TYPES.IMAGE, ".").concat(key);
400
+ }
401
+ }
402
+ }
403
+ else {
404
+ return null;
405
+ }
406
+ };
407
+ StoryPreviewer.prototype.getExperience = function (experienceId, triggerJob, compositionId, useWorkingCopy) {
408
+ var _this = this;
409
+ if (triggerJob === void 0) { triggerJob = false; }
410
+ if (!this.timer.running) {
411
+ this.timer.start();
412
+ }
413
+ var _a = this.props, api = _a.api, onError = _a.onError, onExperenceLoaded = _a.onExperenceLoaded, onJobCreated = _a.onJobCreated;
414
+ this.setState({
415
+ rendering: true
416
+ }, function () {
417
+ _this.setState({
418
+ experienceId: experienceId
419
+ }, function () {
420
+ if (triggerJob) {
421
+ api.triggerEvent(experienceId, compositionId, useWorkingCopy)
422
+ .then(function (resTrigger) {
423
+ _this.setState({
424
+ jobId: resTrigger.job_id
425
+ }, function () {
426
+ if (onJobCreated) {
427
+ onJobCreated(experienceId, resTrigger.job_id);
428
+ }
429
+ _this.evtHandlers.gotExperience = function (resVideo) {
430
+ _this.timer.stop();
431
+ if (onExperenceLoaded) {
432
+ onExperenceLoaded(resVideo);
433
+ }
434
+ _this.setState({
435
+ rendering: false,
436
+ activeOutput: _this.getFirstOutput(resVideo),
437
+ experience: resVideo
438
+ });
439
+ };
440
+ api.getExperience(experienceId, true)
441
+ .then(function (resVideo) {
442
+ if (_this.evtHandlers.gotExperience) {
443
+ _this.evtHandlers.gotExperience(resVideo);
444
+ }
445
+ })
446
+ .catch(function (e) {
447
+ _this.resetState();
448
+ if (onError) {
449
+ if (e.error) {
450
+ onError(e.error);
451
+ }
452
+ else {
453
+ onError(copy_1.previewer.runExpError.replace('[expId]', experienceId));
454
+ }
455
+ }
456
+ });
457
+ });
458
+ })
459
+ .catch(function (e) {
460
+ _this.resetState();
461
+ if (onError) {
462
+ onError(copy_1.previewer.triggerExpError.replace('[expId]', experienceId));
463
+ }
464
+ });
465
+ }
466
+ else {
467
+ _this.evtHandlers.gotExperience = function (resVideo) {
468
+ _this.timer.stop();
469
+ if (onExperenceLoaded) {
470
+ onExperenceLoaded(resVideo);
471
+ }
472
+ _this.setState({
473
+ rendering: false,
474
+ activeOutput: _this.getFirstOutput(resVideo),
475
+ experience: resVideo
476
+ });
477
+ };
478
+ api.getExperience(experienceId, true)
479
+ .then(function (resVideo) {
480
+ if (_this.evtHandlers.gotExperience) {
481
+ _this.evtHandlers.gotExperience(resVideo);
482
+ }
483
+ })
484
+ .catch(function (e) {
485
+ _this.resetState();
486
+ if (onError) {
487
+ if (e.error) {
488
+ onError(e.error);
489
+ }
490
+ else {
491
+ onError(copy_1.previewer.runExpError.replace('[expId]', experienceId));
492
+ }
493
+ }
494
+ });
495
+ }
496
+ });
497
+ });
498
+ };
499
+ StoryPreviewer.prototype.createExperience = function () {
500
+ var _this = this;
501
+ var _a = this.props, storyId = _a.storyId, onNotification = _a.onNotification, onError = _a.onError, api = _a.api, onExperienceCreated = _a.onExperienceCreated, useWorkingCopy = _a.useWorkingCopy;
502
+ var compId = this.getCompId();
503
+ console.log(compId);
504
+ this.resetState(false, function () {
505
+ _this.setState({
506
+ rendering: true,
507
+ isTimeOut: false
508
+ }, function () {
509
+ _this.timer.start();
510
+ if (onNotification) {
511
+ onNotification(copy_1.previewer.runExpStart);
512
+ }
513
+ api.createExperience(storyId, _this.state.inventory, compId, useWorkingCopy)
514
+ .then(function (resExp) {
515
+ if (onNotification) {
516
+ onNotification(copy_1.previewer.expId.replace('[expId]', resExp.id));
517
+ }
518
+ if (onExperienceCreated) {
519
+ onExperienceCreated(resExp);
520
+ }
521
+ _this.getExperience(resExp.id, true, compId, useWorkingCopy);
522
+ })
523
+ .catch(function (e) {
524
+ _this.resetState();
525
+ var data = e.response.data;
526
+ if (onError) {
527
+ if (data && data.error) {
528
+ onError("".concat(copy_1.previewer.createExpError, ": ").concat(data.error));
529
+ }
530
+ else {
531
+ onError("".concat(copy_1.previewer.createExpError, ": ").concat(e));
532
+ }
533
+ }
534
+ });
535
+ });
536
+ });
537
+ };
538
+ StoryPreviewer.prototype.resetState = function (isTimeOut, callback) {
539
+ this.timer.stop();
540
+ this.setState({
541
+ rendering: false,
542
+ experienceId: null,
543
+ experience: null,
544
+ jobId: null,
545
+ timeElapsed: !isTimeOut ? 0 : this.state.timeElapsed,
546
+ activeOutput: null,
547
+ isTimeOut: false
548
+ }, function () {
549
+ if (callback) {
550
+ callback();
551
+ }
552
+ });
553
+ };
554
+ StoryPreviewer.prototype.renderViewerContent = function () {
555
+ var _a = this.state, rendering = _a.rendering, experience = _a.experience, timeElapsed = _a.timeElapsed, activeOutput = _a.activeOutput, isTimeOut = _a.isTimeOut;
556
+ var _b = this.props, api = _b.api, onError = _b.onError;
557
+ if (rendering) {
558
+ return (React.createElement("div", { className: 'running-prompt' },
559
+ React.createElement(Spinner_1.default, null),
560
+ React.createElement("br", null),
561
+ React.createElement("h1", null,
562
+ "\u00A0 ",
563
+ copy_1.previewer.expRunning),
564
+ React.createElement("p", null,
565
+ copy_1.previewer.time,
566
+ "\u00A0",
567
+ (0, Util_1.formattedTime)(timeElapsed))));
568
+ }
569
+ else if (isTimeOut || isTimeOut === undefined) {
570
+ return (React.createElement("div", { className: 'running-prompt error-wrapper' },
571
+ React.createElement("h1", null,
572
+ "\u00A0 ",
573
+ copy_1.previewer.runExpErrorDes),
574
+ React.createElement("p", null,
575
+ copy_1.previewer.time,
576
+ "\u00A0",
577
+ (0, Util_1.formattedTime)(timeElapsed))));
578
+ }
579
+ else if (experience && activeOutput) {
580
+ var player = void 0;
581
+ var url = void 0;
582
+ var outputArr = activeOutput.split('.');
583
+ var type = outputArr[0];
584
+ var key = outputArr[1];
585
+ if (type === previewer_1.OUTPUT_TYPES.IMAGE) {
586
+ url = experience.output.images[key];
587
+ player = (React.createElement(ImagePlayer_1.default, { url: url, active: true }));
588
+ }
589
+ else if (type === previewer_1.OUTPUT_TYPES.VIDEO) {
590
+ var output = experience.output.videos[key];
591
+ var mWidth = output.width !== undefined ? parseInt(output.width, 10) : null;
592
+ var mHeight = output.height !== undefined ? parseInt(output.height, 10) : null;
593
+ url = output.url;
594
+ player = (React.createElement(VideoPlayer_1.default, { url: url, active: true, maxWidth: mWidth, allowManualScale: true, maxHeight: mHeight }));
595
+ }
596
+ else if (type === previewer_1.OUTPUT_TYPES.LOG) {
597
+ player = (React.createElement("div", { className: 'log' },
598
+ React.createElement(LogViewer_1.default, { api: api, onError: onError, jobId: key })));
599
+ }
600
+ return (React.createElement(react_resize_detector_1.default, { handleWidth: true, handleHeight: true }, player));
601
+ }
602
+ return null;
603
+ };
604
+ StoryPreviewer.prototype.toggleActiveOutput = function (e) {
605
+ this.setState({
606
+ activeOutput: e
607
+ });
608
+ };
609
+ StoryPreviewer.prototype.compChanged = function (compId) {
610
+ this.setState({ compositionOverride: compId });
611
+ };
612
+ StoryPreviewer.prototype.getCompId = function () {
613
+ var _a = this.props, allowCompOverride = _a.allowCompOverride, compositionId = _a.compositionId;
614
+ var compositionOverride = this.state.compositionOverride;
615
+ return (compositionOverride && allowCompOverride) ? compositionOverride : compositionId;
616
+ };
617
+ StoryPreviewer.prototype.render = function () {
618
+ var allowCompOverride = this.props.allowCompOverride;
619
+ var _a = this.state, rendering = _a.rendering, experience = _a.experience, activeOutput = _a.activeOutput;
620
+ var renderCopy = experience ? copy_1.previewer.btnReRender : copy_1.previewer.btnRender;
621
+ var compId = this.getCompId();
622
+ var btnRender = !rendering ? (React.createElement(Button_1.default, { disabled: !compId, size: 'large', onClick: this.evtHandlers.createExp, color: 'primary', style: 'bold' }, renderCopy)) : null;
623
+ var viewerButtons;
624
+ var expIdField;
625
+ if (experience) {
626
+ var viewerOpts = this.getViewerOptions();
627
+ viewerButtons = (React.createElement(SelectField_1.default, { width: '130px', options: viewerOpts, value: activeOutput, onChange: this.evtHandlers.toggleOutput }));
628
+ expIdField = (React.createElement(TextField_1.default, { readOnly: true, width: '360px', label: copy_1.previewer.expIdField, showCopy: true, value: experience.id }));
629
+ }
630
+ var compSelect = (allowCompOverride && !rendering) ? React.createElement(SelectField_1.default, { width: '150px', onChange: this.evtHandlers.compChange, options: this.state.compositionOptions, value: compId, label: '' }) : null;
631
+ return (React.createElement("div", { className: 'story-viewer viewer' },
632
+ React.createElement("div", { className: 'variables' },
633
+ React.createElement("h2", null, copy_1.previewer.previewVars),
634
+ React.createElement(HRule_1.default, null),
635
+ this.renderVariableFields()),
636
+ React.createElement("div", { className: 'viewer-content' },
637
+ React.createElement("div", { className: 'content-header' },
638
+ btnRender,
639
+ React.createElement("div", { className: 'select-wrapper' }, compSelect),
640
+ React.createElement("div", { className: 'output' }, viewerButtons),
641
+ React.createElement("div", { className: 'right-interface' }, expIdField)),
642
+ React.createElement("div", { className: 'content-wrapper' }, this.renderViewerContent()))));
643
+ };
644
+ return StoryPreviewer;
645
+ }(React.PureComponent));
646
+ var mapStateToProps = function (state) {
647
+ return { notifications: state.notifications };
648
+ };
649
+ exports.default = (0, react_redux_1.connect)(mapStateToProps, {})(StoryPreviewer);
650
+ //# sourceMappingURL=StoryPreviewer_LOCAL_64741.js.map