@imposium-hub/components 1.58.7 → 1.59.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 (105) hide show
  1. package/dist/cjs/components/publish-wizard/EmailWorkflow.d.ts +2 -0
  2. package/dist/cjs/components/publish-wizard/EmailWorkflow.js +491 -0
  3. package/dist/cjs/components/publish-wizard/EmailWorkflow.js.map +1 -0
  4. package/dist/cjs/components/publish-wizard/PublishWizard.js +14 -4
  5. package/dist/cjs/components/publish-wizard/PublishWizard.js.map +1 -1
  6. package/dist/cjs/components/publish-wizard/copy.d.ts +186 -0
  7. package/dist/cjs/components/publish-wizard/copy.js +199 -0
  8. package/dist/cjs/components/publish-wizard/copy.js.map +1 -0
  9. package/dist/cjs/components/publish-wizard/publish/EmailWorkflow.js +103 -25
  10. package/dist/cjs/components/publish-wizard/publish/EmailWorkflow.js.map +1 -1
  11. package/dist/cjs/components/story-previewer/StoryPreviewer.js +2 -2
  12. package/dist/cjs/components/story-previewer/StoryPreviewer.js.map +1 -1
  13. package/dist/cjs/components/story-previewer/StoryPreviewer_BACKUP_64741.d.ts +2 -0
  14. package/dist/cjs/components/story-previewer/StoryPreviewer_BACKUP_64741.js +670 -0
  15. package/dist/cjs/components/story-previewer/StoryPreviewer_BACKUP_64741.js.map +1 -0
  16. package/dist/cjs/components/story-previewer/StoryPreviewer_BASE_64741.d.ts +2 -0
  17. package/dist/cjs/components/story-previewer/StoryPreviewer_BASE_64741.js +553 -0
  18. package/dist/cjs/components/story-previewer/StoryPreviewer_BASE_64741.js.map +1 -0
  19. package/dist/cjs/components/story-previewer/StoryPreviewer_LOCAL_64741.d.ts +2 -0
  20. package/dist/cjs/components/story-previewer/StoryPreviewer_LOCAL_64741.js +650 -0
  21. package/dist/cjs/components/story-previewer/StoryPreviewer_LOCAL_64741.js.map +1 -0
  22. package/dist/cjs/components/story-previewer/StoryPreviewer_REMOTE_64741.d.ts +2 -0
  23. package/dist/cjs/components/story-previewer/StoryPreviewer_REMOTE_64741.js +639 -0
  24. package/dist/cjs/components/story-previewer/StoryPreviewer_REMOTE_64741.js.map +1 -0
  25. package/dist/cjs/components/text-field/TextField.js +2 -2
  26. package/dist/cjs/components/text-field/TextField.js.map +1 -1
  27. package/dist/cjs/constants/assets_BACKUP_14924.d.ts +20 -0
  28. package/dist/cjs/constants/assets_BACKUP_14924.js +30 -0
  29. package/dist/cjs/constants/assets_BACKUP_14924.js.map +1 -0
  30. package/dist/cjs/constants/assets_BASE_14924.d.ts +21 -0
  31. package/dist/cjs/constants/assets_BASE_14924.js +32 -0
  32. package/dist/cjs/constants/assets_BASE_14924.js.map +1 -0
  33. package/dist/cjs/constants/assets_LOCAL_14924.d.ts +20 -0
  34. package/dist/cjs/constants/assets_LOCAL_14924.js +30 -0
  35. package/dist/cjs/constants/assets_LOCAL_14924.js.map +1 -0
  36. package/dist/cjs/constants/assets_REMOTE_14924.d.ts +21 -0
  37. package/dist/cjs/constants/assets_REMOTE_14924.js +32 -0
  38. package/dist/cjs/constants/assets_REMOTE_14924.js.map +1 -0
  39. package/dist/cjs/constants/copy.d.ts +9 -0
  40. package/dist/cjs/constants/copy.js +12 -3
  41. package/dist/cjs/constants/copy.js.map +1 -1
  42. package/dist/cjs/constants/publish.d.ts +9 -0
  43. package/dist/cjs/constants/publish.js +26 -0
  44. package/dist/cjs/constants/publish.js.map +1 -0
  45. package/dist/cjs/services/API.d.ts +2 -2
  46. package/dist/cjs/services/API.js +11 -4
  47. package/dist/cjs/services/API.js.map +1 -1
  48. package/dist/esm/components/publish-wizard/EmailWorkflow.d.ts +2 -0
  49. package/dist/esm/components/publish-wizard/EmailWorkflow.js +398 -0
  50. package/dist/esm/components/publish-wizard/EmailWorkflow.js.map +1 -0
  51. package/dist/esm/components/publish-wizard/PublishWizard.js +15 -5
  52. package/dist/esm/components/publish-wizard/PublishWizard.js.map +1 -1
  53. package/dist/esm/components/publish-wizard/copy.d.ts +186 -0
  54. package/dist/esm/components/publish-wizard/copy.js +196 -0
  55. package/dist/esm/components/publish-wizard/copy.js.map +1 -0
  56. package/dist/esm/components/publish-wizard/publish/EmailWorkflow.js +90 -23
  57. package/dist/esm/components/publish-wizard/publish/EmailWorkflow.js.map +1 -1
  58. package/dist/esm/components/story-previewer/StoryPreviewer.js +1 -1
  59. package/dist/esm/components/story-previewer/StoryPreviewer.js.map +1 -1
  60. package/dist/esm/components/story-previewer/StoryPreviewer_BACKUP_64741.d.ts +2 -0
  61. package/dist/esm/components/story-previewer/StoryPreviewer_BACKUP_64741.js +554 -0
  62. package/dist/esm/components/story-previewer/StoryPreviewer_BACKUP_64741.js.map +1 -0
  63. package/dist/esm/components/story-previewer/StoryPreviewer_BASE_64741.d.ts +2 -0
  64. package/dist/esm/components/story-previewer/StoryPreviewer_BASE_64741.js +489 -0
  65. package/dist/esm/components/story-previewer/StoryPreviewer_BASE_64741.js.map +1 -0
  66. package/dist/esm/components/story-previewer/StoryPreviewer_LOCAL_64741.d.ts +2 -0
  67. package/dist/esm/components/story-previewer/StoryPreviewer_LOCAL_64741.js +537 -0
  68. package/dist/esm/components/story-previewer/StoryPreviewer_LOCAL_64741.js.map +1 -0
  69. package/dist/esm/components/story-previewer/StoryPreviewer_REMOTE_64741.d.ts +2 -0
  70. package/dist/esm/components/story-previewer/StoryPreviewer_REMOTE_64741.js +526 -0
  71. package/dist/esm/components/story-previewer/StoryPreviewer_REMOTE_64741.js.map +1 -0
  72. package/dist/esm/components/text-field/TextField.js +2 -2
  73. package/dist/esm/components/text-field/TextField.js.map +1 -1
  74. package/dist/esm/constants/assets_BACKUP_14924.d.ts +20 -0
  75. package/dist/esm/constants/assets_BACKUP_14924.js +26 -0
  76. package/dist/esm/constants/assets_BACKUP_14924.js.map +1 -0
  77. package/dist/esm/constants/assets_BASE_14924.d.ts +21 -0
  78. package/dist/esm/constants/assets_BASE_14924.js +28 -0
  79. package/dist/esm/constants/assets_BASE_14924.js.map +1 -0
  80. package/dist/esm/constants/assets_LOCAL_14924.d.ts +20 -0
  81. package/dist/esm/constants/assets_LOCAL_14924.js +26 -0
  82. package/dist/esm/constants/assets_LOCAL_14924.js.map +1 -0
  83. package/dist/esm/constants/assets_REMOTE_14924.d.ts +21 -0
  84. package/dist/esm/constants/assets_REMOTE_14924.js +28 -0
  85. package/dist/esm/constants/assets_REMOTE_14924.js.map +1 -0
  86. package/dist/esm/constants/copy.d.ts +9 -0
  87. package/dist/esm/constants/copy.js +12 -3
  88. package/dist/esm/constants/copy.js.map +1 -1
  89. package/dist/esm/constants/publish.d.ts +9 -0
  90. package/dist/esm/constants/publish.js +23 -0
  91. package/dist/esm/constants/publish.js.map +1 -0
  92. package/dist/esm/services/API.d.ts +2 -2
  93. package/dist/esm/services/API.js +11 -4
  94. package/dist/esm/services/API.js.map +1 -1
  95. package/dist/styles.css +8 -0
  96. package/dist/styles.less +9 -0
  97. package/less/components/publish-wizard.less +9 -0
  98. package/package.json +1 -1
  99. package/src/components/publish-wizard/PublishWizard.tsx +21 -7
  100. package/src/components/publish-wizard/publish/EmailWorkflow.tsx +182 -48
  101. package/src/components/story-previewer/StoryPreviewer.tsx +2 -2
  102. package/src/components/text-field/TextField.tsx +2 -2
  103. package/src/constants/copy.ts +14 -3
  104. package/src/constants/publish.ts +24 -0
  105. package/src/services/API.ts +16 -5
@@ -0,0 +1,186 @@
1
+ export declare const assets: {
2
+ tooltipFilter: string;
3
+ previewNotAvailable: string;
4
+ iconTypes: {
5
+ filter: string;
6
+ lut: string;
7
+ all: string;
8
+ video: string;
9
+ audio: string;
10
+ video_composition: string;
11
+ image: string;
12
+ image_sequence: string;
13
+ template: string;
14
+ static_composition: string;
15
+ font: string;
16
+ after_effects: string;
17
+ };
18
+ uploads: {
19
+ noUploads: string;
20
+ preparePhase: string;
21
+ autoTagInput: string;
22
+ assignToStoryInput: string;
23
+ assignToStoryInfo: string;
24
+ uploadButton: string;
25
+ cancelButton: string;
26
+ };
27
+ tags: {
28
+ add: string;
29
+ duplicated: string;
30
+ };
31
+ field: {
32
+ fieldMismatchError: string;
33
+ dragPrompt: string;
34
+ tooltipClear: string;
35
+ tooltipFilter: string;
36
+ tooltipFilterAsset: string;
37
+ };
38
+ details: string;
39
+ newDetails: string;
40
+ name: string;
41
+ date: string;
42
+ addTag: string;
43
+ assetTag: string;
44
+ sessionExpired: string;
45
+ };
46
+ export declare const previewer: {
47
+ previewVars: string;
48
+ time: string;
49
+ expRunning: string;
50
+ runExpStart: string;
51
+ runExpError: string;
52
+ triggerExpError: string;
53
+ expId: string;
54
+ createExpError: string;
55
+ logDownloadError: string;
56
+ logURLError: string;
57
+ btnLog: string;
58
+ btnRender: string;
59
+ btnReRender: string;
60
+ expIdField: string;
61
+ runExpErrorDes: string;
62
+ };
63
+ export declare const compositions: {
64
+ name: string;
65
+ width: string;
66
+ height: string;
67
+ rotation: string;
68
+ color: string;
69
+ x: string;
70
+ y: string;
71
+ wrap: string;
72
+ fit: string;
73
+ fillMode: string;
74
+ hAlign: string;
75
+ vAlign: string;
76
+ backgroundColor: string;
77
+ layers: string;
78
+ layerText: string;
79
+ fontType: string;
80
+ layerImage: string;
81
+ fontSize: string;
82
+ lineHeight: string;
83
+ font: string;
84
+ letterSpacing: string;
85
+ wordSpacing: string;
86
+ tooltipName: string;
87
+ tooltipBackgroundColor: string;
88
+ tooltipWidth: string;
89
+ tooltipHeight: string;
90
+ tooltipAddLayer: string;
91
+ tooltipLayerRotation: string;
92
+ tooltipLayerX: string;
93
+ tooltipLayerY: string;
94
+ tooltipLayerWidth: string;
95
+ tooltipLayerHeight: string;
96
+ textOptions: string;
97
+ textLayerContent: string;
98
+ tooltipTextLayerContent: string;
99
+ };
100
+ export declare const publish: {
101
+ accessKey: string;
102
+ tooltipAccessKey: string;
103
+ publishTitle: string;
104
+ publishStepTitle: string;
105
+ publishStepDesc: string;
106
+ distributeStepTitle: string;
107
+ distributeStepDesc: string;
108
+ compositionError: string;
109
+ btnWebsite: string;
110
+ webpageTitle: string;
111
+ webPageHosted: string;
112
+ webpageDesc: string;
113
+ sampleWebpage: string;
114
+ btnEmail: string;
115
+ exporting: string;
116
+ emailTitle: string;
117
+ emailDesc: string;
118
+ downloadSampleCsvLink: string;
119
+ uploadCsv: string;
120
+ generatingLink: string;
121
+ downloadLink: string;
122
+ btnDownload: string;
123
+ generatingLinkDesc: string;
124
+ missingColumns: string;
125
+ renderBatchFailed: string;
126
+ createBatchFailed: string;
127
+ downloadError: string;
128
+ embeddedCodeCopyError: string;
129
+ creatingLinks: string;
130
+ importingData: string;
131
+ downloadDesc: string;
132
+ titleMissingColumns: string;
133
+ csvMissingColumns: string;
134
+ csvMatchColumns: string;
135
+ exportBatchOfVideo: string;
136
+ btnHubspot: string;
137
+ hubspotTitle: string;
138
+ hubspotDesc: string;
139
+ saveChanges: string;
140
+ embeddedCode: string;
141
+ btnAPI: string;
142
+ btnExport: string;
143
+ btnCRM: string;
144
+ btnPublish: string;
145
+ btnSkip: string;
146
+ btnBack: string;
147
+ btnFinished: string;
148
+ btnCancel: string;
149
+ btnNext: string;
150
+ noCompErrorTitle: string;
151
+ noCompErrorDesc: string;
152
+ };
153
+ export declare const integration: {
154
+ errorPullingComps: string;
155
+ errorPullingAEs: string;
156
+ errorCreatingCreds: string;
157
+ errorGettingCreds: string;
158
+ documentation: string;
159
+ docParagraph: string;
160
+ js: string;
161
+ jsSdkLink: string;
162
+ restLink: string;
163
+ rest: string;
164
+ sdkArchiveSuffix: string;
165
+ };
166
+ export declare const header: {
167
+ publishing: string;
168
+ working: string;
169
+ statusError: string;
170
+ publishJobError: string;
171
+ publishPollError: string;
172
+ };
173
+ export declare const project: {
174
+ compName: string;
175
+ tooltipCompId: string;
176
+ };
177
+ export declare const BATCHES_COPY: {
178
+ progress: {
179
+ notRendered: string;
180
+ rendering: string;
181
+ rendered: string;
182
+ cancelled: string;
183
+ queued: string;
184
+ malformed: string;
185
+ };
186
+ };
@@ -0,0 +1,199 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.BATCHES_COPY = exports.project = exports.header = exports.integration = exports.publish = exports.compositions = exports.previewer = exports.assets = void 0;
4
+ exports.assets = {
5
+ tooltipFilter: 'Filter by Asset type',
6
+ previewNotAvailable: 'Preview Not Available for this Asset Type',
7
+ iconTypes: {
8
+ filter: 'Filter By Type',
9
+ lut: 'LUT',
10
+ all: 'All Types',
11
+ video: 'Video Files',
12
+ audio: 'Audio Files',
13
+ video_composition: 'Composition',
14
+ image: 'Image Files',
15
+ image_sequence: 'Image Sequences (Archive)',
16
+ template: 'Custom Template',
17
+ static_composition: 'Template',
18
+ font: 'Font Files',
19
+ after_effects: 'After Effects'
20
+ },
21
+ uploads: {
22
+ noUploads: 'There are currently no assets uploading...',
23
+ preparePhase: 'Preparing asset...',
24
+ autoTagInput: 'Tag by filename',
25
+ assignToStoryInput: 'Assign to Story',
26
+ assignToStoryInfo: 'If selected, any assets uploaded will only be available to use with the currently selected story.',
27
+ uploadButton: 'Upload',
28
+ cancelButton: 'Cancel'
29
+ },
30
+ tags: {
31
+ add: 'Add new tag',
32
+ duplicated: 'Duplicated Tags: "[dupedTags]" will not be added.'
33
+ },
34
+ field: {
35
+ fieldMismatchError: 'Asset Type mismatch. Field only accepts "[accepts]" assets.',
36
+ dragPrompt: 'Drag Asset Here',
37
+ tooltipClear: 'Clear the selected Asset',
38
+ tooltipFilter: 'Filter assets to match Asset type',
39
+ tooltipFilterAsset: 'Filter assets to the selected Asset'
40
+ },
41
+ details: 'Asset Details',
42
+ newDetails: 'New Asset Details',
43
+ name: 'Name',
44
+ date: 'Date Created',
45
+ addTag: 'Add Tag',
46
+ assetTag: 'Tags',
47
+ sessionExpired: 'Your session has expired, please log in again to continue.'
48
+ };
49
+ exports.previewer = {
50
+ previewVars: 'Preview Variables',
51
+ time: 'Time Elapsed:',
52
+ expRunning: 'Rendering Experience',
53
+ runExpStart: 'Creating Experience',
54
+ runExpError: 'Error running experience - ID: [expId]',
55
+ triggerExpError: 'Error triggering experience - ID: [expId]',
56
+ expId: 'Running Experience - ID: [expId]',
57
+ createExpError: 'Error creating experience',
58
+ logDownloadError: 'Could not download log of Job: [jobId]',
59
+ logURLError: 'Could not retrieve log URL of Job: [jobId]',
60
+ btnLog: 'Job Log',
61
+ btnRender: 'Render',
62
+ btnReRender: 'Re-Render',
63
+ expIdField: 'Exp. ID',
64
+ runExpErrorDes: 'Sorry, there was a problem creating your video. Please try again.'
65
+ };
66
+ exports.compositions = {
67
+ name: 'Name',
68
+ width: 'Width',
69
+ height: 'Height',
70
+ rotation: 'Rotation',
71
+ color: 'Color',
72
+ x: 'X',
73
+ y: 'Y',
74
+ wrap: 'Wrap',
75
+ fit: 'Fit',
76
+ fillMode: 'Fill Mode',
77
+ hAlign: 'H. Align',
78
+ vAlign: 'V. Align',
79
+ backgroundColor: 'Background',
80
+ layers: 'Layers',
81
+ layerText: 'Text',
82
+ fontType: 'Font Type',
83
+ layerImage: 'Image',
84
+ fontSize: 'Font Size',
85
+ lineHeight: 'Line Height',
86
+ font: 'Font',
87
+ letterSpacing: 'Letter Spacing',
88
+ wordSpacing: 'Word Spacing',
89
+ tooltipName: 'Display name of this composition.',
90
+ tooltipBackgroundColor: 'Background color of this composition. Can also be transparent.',
91
+ tooltipWidth: 'Width of the composition, in pixels',
92
+ tooltipHeight: 'Height of the composition, in pixels',
93
+ tooltipAddLayer: 'Add a new layer to the composition',
94
+ tooltipLayerRotation: 'Rotation angle of the layer, in degrees',
95
+ tooltipLayerX: 'Layer X position.',
96
+ tooltipLayerY: 'Layer Y position',
97
+ tooltipLayerWidth: 'Layer width, in pixels.',
98
+ tooltipLayerHeight: 'Layer height, in pixels',
99
+ textOptions: 'Text Options',
100
+ textLayerContent: 'Content',
101
+ tooltipTextLayerContent: 'The copy rendered in this layer. Wrap variables like so: {{variable_id}}.'
102
+ };
103
+ exports.publish = {
104
+ accessKey: 'Access Key',
105
+ tooltipAccessKey: 'API access key to use for this video distribution.',
106
+ publishTitle: 'Publish & Deliver',
107
+ // publish
108
+ publishStepTitle: 'STEP 1: Publish your Project',
109
+ publishStepDesc: "Your project needs to be published before your changes can be seen. If you haven't made any changes since the last time you published, you can skip to the next step.",
110
+ // distribute
111
+ distributeStepTitle: 'STEP 2: How do you want your users to view their video?',
112
+ distributeStepDesc: 'Select which Composition you want to deliver, access credentials you want to use, and distribution channel.',
113
+ compositionError: 'Please Select Composition',
114
+ // webpage
115
+ btnWebsite: 'Webpage',
116
+ webpageTitle: 'STEP 3: Webpage',
117
+ webPageHosted: 'Webpage hosted on Imposium',
118
+ webpageDesc: 'You can share a demo page that is hosted on Imposium or you can download a sample webpage you can customize and use to generate videos. Please ensure you include a column for every variable on your story.',
119
+ sampleWebpage: 'Download sample webpage',
120
+ // email
121
+ btnEmail: 'Email',
122
+ exporting: 'Exporting CSV... (please wait)',
123
+ emailTitle: 'STEP 3: Upload a CSV file with your user information in it.',
124
+ emailDesc: 'You can download a sample CSV with fields to populate as a starting point. Or you can upload one that already has the data in it.',
125
+ downloadSampleCsvLink: 'Download Sample CSV',
126
+ uploadCsv: 'Upload Your CSV',
127
+ generatingLink: 'STEP 4: Generating embed links',
128
+ downloadLink: 'STEP 5: Download Your CSV file',
129
+ btnDownload: 'Download CSV',
130
+ generatingLinkDesc: 'Please wait while we generate the link for your users. This may take few minutes.',
131
+ missingColumns: 'Error: missing required columns',
132
+ renderBatchFailed: 'Error: Failed to render batch',
133
+ createBatchFailed: 'Error: Failed to create batch',
134
+ downloadError: 'Error downloading sample CSV.',
135
+ embeddedCodeCopyError: 'Error copying embed code.',
136
+ creatingLinks: 'Creating User Links... (please wait)',
137
+ importingData: 'Importing Data... (please wait)',
138
+ downloadDesc: 'Your CSV data file is ready to download with an embed code you can import into your email platform to send out.',
139
+ titleMissingColumns: 'Warning: ',
140
+ csvMissingColumns: 'Some of your column names did not match up with the variables in the story. Please ensure these variables line up and then re-upload the csv: ',
141
+ csvMatchColumns: 'Please match the column(s) provided to the story variables:',
142
+ // export
143
+ exportBatchOfVideo: 'Export batch of videos',
144
+ // hubspot
145
+ btnHubspot: 'Hubspot',
146
+ hubspotTitle: 'STEP 3: Copy Hubspot code snippet',
147
+ hubspotDesc: 'Copy the provided embed code into HubSpot. Replace the placeholder variable values with HubSpot template strings, to splice in your user data.',
148
+ saveChanges: 'Save Changes',
149
+ embeddedCode: 'Embed Url: ',
150
+ // api
151
+ btnAPI: 'API integration',
152
+ // export
153
+ btnExport: 'Export',
154
+ btnCRM: 'Flashtalking Creative Manager',
155
+ // global
156
+ btnPublish: 'Publish',
157
+ btnSkip: 'Skip',
158
+ btnBack: 'Back',
159
+ btnFinished: 'Done',
160
+ btnCancel: 'Cancel',
161
+ btnNext: 'Next',
162
+ noCompErrorTitle: 'No Compositions Found',
163
+ noCompErrorDesc: "You must have at least 1 composition on your story to render and distribute videos."
164
+ };
165
+ exports.integration = {
166
+ errorPullingComps: ' Error getting composition IDs, contact your Imposium admin for support.',
167
+ errorPullingAEs: ' Error getting After Effect IDs, contact your Imposium admin for support.',
168
+ errorCreatingCreds: ' Error creating credentials, contact your Imposium admin for support.',
169
+ errorGettingCreds: ' Error getting credentials, contact your Imposium admin for support.',
170
+ documentation: 'Documentation',
171
+ docParagraph: 'Use the links below for more information on integrating Imposium into your application.',
172
+ js: 'JavaScript SDK',
173
+ jsSdkLink: 'https://docs.imposium.com/js-sdk/#/',
174
+ restLink: 'https://docs.imposium.com',
175
+ rest: 'REST API',
176
+ sdkArchiveSuffix: ' - JS SDK Integration.zip'
177
+ };
178
+ exports.header = {
179
+ publishing: 'Publishing...',
180
+ working: 'Using Working Copy',
181
+ statusError: 'Error getting story status',
182
+ publishJobError: 'Error creating publish story job',
183
+ publishPollError: 'Error polling publish job status'
184
+ };
185
+ exports.project = {
186
+ compName: 'Composition',
187
+ tooltipCompId: 'Unique ID of the selected composition. Used to render that specific composition via the API and Imposium JS-SDK.'
188
+ };
189
+ exports.BATCHES_COPY = {
190
+ progress: {
191
+ notRendered: 'not rendered',
192
+ rendering: 'rendering',
193
+ rendered: 'rendered',
194
+ cancelled: 'cancelled',
195
+ queued: 'queued',
196
+ malformed: 'unknown'
197
+ }
198
+ };
199
+ //# sourceMappingURL=copy.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"copy.js","sourceRoot":"","sources":["../../../../src/components/publish-wizard/copy.ts"],"names":[],"mappings":"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"}
@@ -75,6 +75,8 @@ var redux_1 = require("redux");
75
75
  var react_redux_1 = require("react-redux");
76
76
  var SelectField_1 = __importDefault(require("../../select-field/SelectField"));
77
77
  var active_batch_1 = require("../../../redux/actions/active-batch");
78
+ var TextField_1 = __importDefault(require("../../text-field/TextField"));
79
+ var publish_1 = require("../../../constants/publish");
78
80
  var EmailWorkflow = /** @class */ (function (_super) {
79
81
  __extends(EmailWorkflow, _super);
80
82
  function EmailWorkflow(props) {
@@ -118,7 +120,13 @@ var EmailWorkflow = /** @class */ (function (_super) {
118
120
  inventory: [],
119
121
  inventoryKeys: [],
120
122
  missingColumns: '',
121
- isMissing: false
123
+ batchError: '',
124
+ creativeManagerOverrides: {
125
+ creative_id: '',
126
+ creative_library_id: '',
127
+ notification_email: '',
128
+ placement_type: 'crm-adstudio'
129
+ }
122
130
  };
123
131
  _this.hiddenFileInputRef = React.createRef();
124
132
  return _this;
@@ -189,13 +197,34 @@ var EmailWorkflow = /** @class */ (function (_super) {
189
197
  this.setState({ inventoryKeys: inventoryKeys });
190
198
  };
191
199
  EmailWorkflow.prototype.downloadSampleCsv = function () {
200
+ var e_2, _a;
192
201
  var name = this.props.story.name;
193
- var _a = this.state, inventory = _a.inventory, inventoryKeys = _a.inventoryKeys;
202
+ var isCrM = this.props.isCrM;
203
+ var _b = this.state, inventory = _b.inventory, inventoryKeys = _b.inventoryKeys;
194
204
  var maskConfig = inventoryKeys.map(function (currKey) { return ({
195
205
  id: currKey,
196
206
  name: inventory[currKey].name,
197
207
  show: true
198
208
  }); });
209
+ if (isCrM) {
210
+ try {
211
+ for (var CRM_PLACEMENT_VARS_1 = __values(publish_1.CRM_PLACEMENT_VARS), CRM_PLACEMENT_VARS_1_1 = CRM_PLACEMENT_VARS_1.next(); !CRM_PLACEMENT_VARS_1_1.done; CRM_PLACEMENT_VARS_1_1 = CRM_PLACEMENT_VARS_1.next()) {
212
+ var id = CRM_PLACEMENT_VARS_1_1.value;
213
+ maskConfig.push({
214
+ id: id,
215
+ name: id,
216
+ show: true
217
+ });
218
+ }
219
+ }
220
+ catch (e_2_1) { e_2 = { error: e_2_1 }; }
221
+ finally {
222
+ try {
223
+ if (CRM_PLACEMENT_VARS_1_1 && !CRM_PLACEMENT_VARS_1_1.done && (_a = CRM_PLACEMENT_VARS_1.return)) _a.call(CRM_PLACEMENT_VARS_1);
224
+ }
225
+ finally { if (e_2) throw e_2.error; }
226
+ }
227
+ }
199
228
  var emptyRow = maskConfig
200
229
  .map(function (m) { return m.id; })
201
230
  .reduce(function (prevState, currId) {
@@ -214,32 +243,24 @@ var EmailWorkflow = /** @class */ (function (_super) {
214
243
  return batchName;
215
244
  };
216
245
  EmailWorkflow.prototype.proceedWithExport = function () {
217
- var _this = this;
218
- var _a = this.props, renderBatch = _a.renderBatch, _b = _a.activeBatch.data, id = _b.id, name = _b.name;
219
- renderBatch(id, name)
220
- .then(function () {
221
- _this.setState({ renderedBatch: true });
222
- })
223
- .catch(function (e) {
224
- _this.props.handleError(copy.publish.renderBatchFailed);
225
- _this.setState({ renderedBatch: false });
226
- throw e;
227
- });
246
+ var id = this.props.activeBatch.data.id;
247
+ this.renderBatch({ id: id });
228
248
  };
229
249
  EmailWorkflow.prototype.importBatch = function (_a) {
230
250
  var _this = this;
231
251
  var story_id = _a.story_id, id = _a.id, name = _a.name, uploadEvt = _a.uploadEvt;
232
252
  var _b = this.props, accessKey = _b.accessKey, compositionId = _b.compositionId, isExport = _b.isExport, onError = _b.onError;
253
+ onError(false); // reset the parent error
233
254
  this.props
234
255
  .importBatchFromCsv(story_id, id, name, uploadEvt.target.files[0], accessKey, compositionId, !isExport, isExport)
235
- .then(function () {
256
+ .then(function (e) {
236
257
  if (_this.props.batchJobs.missing.length > 0) {
237
- onError();
258
+ onError(true); // set the error to true
238
259
  }
239
260
  _this.setState({ uploadComplete: true, uploading: false });
240
261
  _this.getBatch();
241
262
  if (isExport && Object.keys(_this.props.batchJobs.missing).length === 0) {
242
- _this.renderBatch({ id: id, name: name });
263
+ _this.renderBatch({ id: id });
243
264
  }
244
265
  })
245
266
  .catch(function (e) {
@@ -247,17 +268,41 @@ var EmailWorkflow = /** @class */ (function (_super) {
247
268
  throw e;
248
269
  });
249
270
  };
271
+ EmailWorkflow.prototype.getPostRenderActions = function () {
272
+ var CrMUploadAction = { data: {} };
273
+ var _a = this.state.creativeManagerOverrides, placement_type = _a.placement_type, creative_id = _a.creative_id, creative_library_id = _a.creative_library_id, notification_email = _a.notification_email;
274
+ CrMUploadAction['type'] = placement_type;
275
+ if (creative_id) {
276
+ CrMUploadAction.data['creative_id'] = creative_id;
277
+ }
278
+ if (creative_library_id) {
279
+ CrMUploadAction.data['creative_library_id'] = creative_library_id;
280
+ }
281
+ if (notification_email) {
282
+ CrMUploadAction.data['notification_email'] = notification_email;
283
+ }
284
+ return [CrMUploadAction];
285
+ };
250
286
  EmailWorkflow.prototype.renderBatch = function (_a) {
251
287
  var _this = this;
252
- var id = _a.id, name = _a.name;
288
+ var id = _a.id;
289
+ var isCrM = this.props.isCrM;
290
+ var postRenderActions = isCrM ? this.getPostRenderActions() : null;
291
+ this.setState({ batchError: null });
253
292
  this.props
254
- .renderBatch(id, name)
293
+ .renderBatch(id, postRenderActions)
255
294
  .then(function () {
256
- _this.setState({ renderedBatch: true });
295
+ _this.setState({ renderedBatch: true, batchError: '' });
257
296
  })
258
297
  .catch(function (e) {
259
298
  _this.props.handleError(copy.publish.renderBatchFailed);
260
- _this.setState({ renderedBatch: false });
299
+ _this.setState({
300
+ renderedBatch: false,
301
+ batchError: e.response.data.error,
302
+ uploadComplete: false,
303
+ uploading: false,
304
+ downloading: false
305
+ });
261
306
  throw e;
262
307
  });
263
308
  };
@@ -385,8 +430,8 @@ var EmailWorkflow = /** @class */ (function (_super) {
385
430
  };
386
431
  EmailWorkflow.prototype.render = function () {
387
432
  var _this = this;
388
- var _a = this.state, uploadComplete = _a.uploadComplete, uploading = _a.uploading, downloading = _a.downloading, renderedBatch = _a.renderedBatch, selectedBatchId = _a.selectedBatchId;
389
- var _b = this.props, isExport = _b.isExport, _c = _b.batchJobs, missing = _c.missing, renders = _c.renders;
433
+ var _a = this.state, uploadComplete = _a.uploadComplete, uploading = _a.uploading, downloading = _a.downloading, renderedBatch = _a.renderedBatch, selectedBatchId = _a.selectedBatchId, batchError = _a.batchError, creativeManagerOverrides = _a.creativeManagerOverrides;
434
+ var _b = this.props, isExport = _b.isExport, _c = _b.batchJobs, missing = _c.missing, renders = _c.renders, isCrM = _b.isCrM;
390
435
  var emailOptions = [
391
436
  {
392
437
  label: (React.createElement("span", null,
@@ -412,10 +457,17 @@ var EmailWorkflow = /** @class */ (function (_super) {
412
457
  copy.publish.btnDownload));
413
458
  var reRenderLabel = (React.createElement("div", { className: 'progress-bar' },
414
459
  React.createElement("progress", { max: EmailWorkflow.PROGRESS_MAX_VALUE, value: renders[selectedBatchId] })));
415
- var downloadCSVDiv = (React.createElement("div", null,
416
- React.createElement("h2", null, uploadComplete ? copy.publish.downloadLink : copy.publish.generatingLink),
460
+ var downloadCSVDiv = isCrM && uploadComplete && renderedBatch ? (React.createElement("div", null,
461
+ React.createElement("h2", null, copy.publish.renderComplete),
417
462
  React.createElement(HRule_1.default, null),
418
- React.createElement("p", null, uploadComplete ? copy.publish.downloadDesc : copy.publish.generatingLinkDesc),
463
+ React.createElement("p", null, copy.publish.goToCrM))) : (React.createElement("div", null,
464
+ React.createElement("h2", null, uploadComplete && renderedBatch
465
+ ? copy.publish.downloadLink
466
+ : copy.publish.generatingLink),
467
+ React.createElement(HRule_1.default, null),
468
+ React.createElement("p", null, uploadComplete && renderedBatch
469
+ ? copy.publish.downloadDesc
470
+ : copy.publish.generatingLinkDesc),
419
471
  isExport && uploadComplete && !renderedBatch ? (React.createElement(PublishWizard_1.BigButton, { label: reRenderLabel, disabled: isExport })) : (React.createElement(PublishWizard_1.BigButton, { label: downloadCsvLabel, disabled: downloading, onClick: function () { return _this.downloadCsv(); } }))));
420
472
  var downloadCSV = (React.createElement(React.Fragment, null,
421
473
  this.props.error ? (this.props.next ? downloadCSVDiv : '') : downloadCSVDiv,
@@ -425,6 +477,7 @@ var EmailWorkflow = /** @class */ (function (_super) {
425
477
  React.createElement(HRule_1.default, null),
426
478
  React.createElement("p", null, copy.publish.emailDesc),
427
479
  React.createElement("input", { type: 'file', style: { display: 'none' }, accept: 'text/csv', ref: this.hiddenFileInputRef, onChange: this.doUploadCsv }),
480
+ isCrM && (React.createElement(CrMOptions, { options: creativeManagerOverrides, errorCopy: batchError, onChange: function (c) { return _this.setState({ creativeManagerOverrides: c }); } })),
428
481
  React.createElement("div", { className: 'link-wrapper' }, emailOptions === null || emailOptions === void 0 ? void 0 : emailOptions.map(function (option, index) {
429
482
  return (React.createElement(PublishWizard_1.BigButton, { label: React.createElement("span", null, option.label), onClick: option.onClick, disabled: option === null || option === void 0 ? void 0 : option.disabled, key: option.key }));
430
483
  }))));
@@ -461,5 +514,30 @@ var mapStateToProps = function (state) {
461
514
  batchesList: state.batchesList
462
515
  };
463
516
  };
517
+ var CrMOptions = function (_a) {
518
+ var options = _a.options, onChange = _a.onChange, _b = _a.errorCopy, errorCopy = _b === void 0 ? '' : _b;
519
+ var onInputChange = function (key, val) {
520
+ var newOpts = __assign({}, options);
521
+ newOpts[key] = val;
522
+ onChange(newOpts);
523
+ };
524
+ var e = errorCopy ? (React.createElement("div", { className: 'batch-error' },
525
+ React.createElement("p", null,
526
+ "Error: ",
527
+ errorCopy),
528
+ React.createElement("p", null, copy.publish.missingFields))) : null;
529
+ return (React.createElement(React.Fragment, null,
530
+ React.createElement(HRule_1.default, null),
531
+ React.createElement("br", null),
532
+ React.createElement("h2", null, copy.publish.crmPlacement),
533
+ React.createElement("p", null, copy.publish.crmData),
534
+ e,
535
+ React.createElement("br", null),
536
+ React.createElement(TextField_1.default, { width: '33%', labelPosition: 'top', label: copy.publish.creativeLibraryId, value: options.creative_library_id, onChange: function (v) { return onInputChange('creative_library_id', v); } }),
537
+ React.createElement(TextField_1.default, { width: '33%', labelPosition: 'top', label: copy.publish.creativeId, value: options.creative_id, onChange: function (v) { return onInputChange('creative_id', v); } }),
538
+ React.createElement(TextField_1.default, { width: '33%', labelPosition: 'top', label: copy.publish.email, value: options.notification_email, onChange: function (v) { return onInputChange('notification_email', v); } }),
539
+ React.createElement("br", null),
540
+ React.createElement(HRule_1.default, null)));
541
+ };
464
542
  exports.default = (0, react_redux_1.connect)(mapStateToProps, mapDispatchToProps, null, { withRef: true })(EmailWorkflow);
465
543
  //# sourceMappingURL=EmailWorkflow.js.map