@imposium-hub/components 2.2.44-0 → 2.2.44-2

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 (80) hide show
  1. package/dist/cjs/components/assets/AssetsTableDurationCell.js +11 -2
  2. package/dist/cjs/components/assets/AssetsTableDurationCell.js.map +1 -1
  3. package/dist/cjs/components/assets/AssetsTableGlobalCell.d.ts +6 -0
  4. package/dist/cjs/components/assets/AssetsTableGlobalCell.js +33 -0
  5. package/dist/cjs/components/assets/AssetsTableGlobalCell.js.map +1 -0
  6. package/dist/cjs/components/assets/AssetsTableNameCell.js +2 -1
  7. package/dist/cjs/components/assets/AssetsTableNameCell.js.map +1 -1
  8. package/dist/cjs/components/assets/AssetsTableRateCell.js +9 -3
  9. package/dist/cjs/components/assets/AssetsTableRateCell.js.map +1 -1
  10. package/dist/cjs/components/assets/AssetsUploadMenu.js +41 -19
  11. package/dist/cjs/components/assets/AssetsUploadMenu.js.map +1 -1
  12. package/dist/cjs/components/data-table/DataTable.js +2 -2
  13. package/dist/cjs/components/data-table/DataTable.js.map +1 -1
  14. package/dist/cjs/components/dropdown/dropdown.stories.js +1 -1
  15. package/dist/cjs/components/dropdown/dropdown.stories.js.map +1 -1
  16. package/dist/cjs/components/header/Header.js +5 -1
  17. package/dist/cjs/components/header/Header.js.map +1 -1
  18. package/dist/cjs/components/publish-wizard/PublishWizard.js.map +1 -1
  19. package/dist/cjs/constants/copy.js +2 -2
  20. package/dist/cjs/constants/copy.js.map +1 -1
  21. package/dist/cjs/index.d.ts +3 -2
  22. package/dist/cjs/index.js +3 -2
  23. package/dist/cjs/index.js.map +1 -1
  24. package/dist/cjs/redux/actions/asset-uploads.d.ts +0 -8
  25. package/dist/cjs/redux/actions/asset-uploads.js +2 -41
  26. package/dist/cjs/redux/actions/asset-uploads.js.map +1 -1
  27. package/dist/cjs/redux/reducers/asset-uploads.js +0 -24
  28. package/dist/cjs/redux/reducers/asset-uploads.js.map +1 -1
  29. package/dist/esm/components/assets/AssetsTableDurationCell.js +10 -1
  30. package/dist/esm/components/assets/AssetsTableDurationCell.js.map +1 -1
  31. package/dist/esm/components/assets/AssetsTableGlobalCell.d.ts +6 -0
  32. package/dist/esm/components/assets/AssetsTableGlobalCell.js +8 -0
  33. package/dist/esm/components/assets/AssetsTableGlobalCell.js.map +1 -0
  34. package/dist/esm/components/assets/AssetsTableNameCell.js +2 -1
  35. package/dist/esm/components/assets/AssetsTableNameCell.js.map +1 -1
  36. package/dist/esm/components/assets/AssetsTableRateCell.js +9 -3
  37. package/dist/esm/components/assets/AssetsTableRateCell.js.map +1 -1
  38. package/dist/esm/components/assets/AssetsUploadMenu.js +31 -20
  39. package/dist/esm/components/assets/AssetsUploadMenu.js.map +1 -1
  40. package/dist/esm/components/data-table/DataTable.js +2 -2
  41. package/dist/esm/components/data-table/DataTable.js.map +1 -1
  42. package/dist/esm/components/dropdown/dropdown.stories.js +1 -1
  43. package/dist/esm/components/dropdown/dropdown.stories.js.map +1 -1
  44. package/dist/esm/components/header/Header.js +5 -1
  45. package/dist/esm/components/header/Header.js.map +1 -1
  46. package/dist/esm/components/publish-wizard/PublishWizard.js.map +1 -1
  47. package/dist/esm/constants/copy.js +2 -2
  48. package/dist/esm/constants/copy.js.map +1 -1
  49. package/dist/esm/index.d.ts +3 -2
  50. package/dist/esm/index.js +3 -2
  51. package/dist/esm/index.js.map +1 -1
  52. package/dist/esm/redux/actions/asset-uploads.d.ts +0 -8
  53. package/dist/esm/redux/actions/asset-uploads.js +1 -32
  54. package/dist/esm/redux/actions/asset-uploads.js.map +1 -1
  55. package/dist/esm/redux/reducers/asset-uploads.js +0 -48
  56. package/dist/esm/redux/reducers/asset-uploads.js.map +1 -1
  57. package/dist/styles.css +9 -0
  58. package/dist/styles.less +18 -11
  59. package/less/components/data-table.less +17 -11
  60. package/less/components/story-previewer.less +1 -0
  61. package/package.json +1 -1
  62. package/src/components/assets/AssetsTableDurationCell.tsx +12 -0
  63. package/src/components/assets/AssetsTableGlobalCell.tsx +15 -0
  64. package/src/components/assets/AssetsTableNameCell.tsx +2 -1
  65. package/src/components/assets/AssetsTableRateCell.tsx +11 -4
  66. package/src/components/assets/AssetsUploadMenu.tsx +47 -47
  67. package/src/components/data-table/DataTable.tsx +2 -2
  68. package/src/components/header/Header.tsx +5 -1
  69. package/src/components/publish-wizard/PublishWizard.tsx +0 -1
  70. package/src/constants/copy.ts +2 -2
  71. package/src/index.ts +3 -7
  72. package/src/redux/actions/asset-uploads.ts +2 -48
  73. package/src/redux/reducers/asset-uploads.ts +0 -48
  74. package/dist/cjs/components/error-message-preview/ErrorMessagePreview.d.ts +0 -15
  75. package/dist/cjs/components/error-message-preview/ErrorMessagePreview.js +0 -91
  76. package/dist/cjs/components/error-message-preview/ErrorMessagePreview.js.map +0 -1
  77. package/dist/esm/components/error-message-preview/ErrorMessagePreview.d.ts +0 -15
  78. package/dist/esm/components/error-message-preview/ErrorMessagePreview.js +0 -35
  79. package/dist/esm/components/error-message-preview/ErrorMessagePreview.js.map +0 -1
  80. /package/src/components/dropdown/{dropdown.stories.tsx → Dropdown.stories.tsx} +0 -0
@@ -253,6 +253,7 @@
253
253
 
254
254
  .content-wrapper{
255
255
  .layer;
256
+ background-color: rgb(35,35,35);
256
257
  top:@storyViewerHeaderHeight;
257
258
  height:calc(100% - @storyViewerHeaderHeight);
258
259
  }
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@imposium-hub/components",
3
- "version": "2.2.44-0",
3
+ "version": "2.2.44-2",
4
4
  "description": "React & Typescript component / asset library for Imposium front-ends",
5
5
  "main": "./dist/cjs/index.js",
6
6
  "module": "./dist/esm/index.js",
@@ -12,6 +12,7 @@ const AssetsTableDurationCell: React.FC<IAssetsTableDurationCell> = (
12
12
  const {
13
13
  cell: {
14
14
  row: {
15
+ original,
15
16
  original: { type, data, rate, frame_count }
16
17
  }
17
18
  }
@@ -19,11 +20,22 @@ const AssetsTableDurationCell: React.FC<IAssetsTableDurationCell> = (
19
20
 
20
21
  let duration = rate && frame_count ? getDuration(frame_count, rate) : '';
21
22
 
23
+ if (type === ASSET_TYPES.IMAGE_SEQUENCE) {
24
+ duration = `${original.duration} frames`;
25
+ }
26
+
22
27
  if (type === ASSET_TYPES.VIDEO_COMPOSITION) {
23
28
  const { frames, rate: frame_rate } = JSON.parse(data);
24
29
  duration = getDuration(frames, frame_rate);
25
30
  }
26
31
 
32
+ if (type === ASSET_TYPES.AUDIO) {
33
+ const date = new Date(null);
34
+ date.setSeconds(original.duration);
35
+ const timestamp = date.toISOString().slice(11, 19);
36
+ duration = `${timestamp}.x`;
37
+ }
38
+
27
39
  if (duration !== null && duration !== undefined) {
28
40
  return <div className='asset-duration-cell'>{duration}</div>;
29
41
  } else {
@@ -0,0 +1,15 @@
1
+ import * as React from 'react';
2
+ import { ICON_GLOBE } from '../../constants/icons';
3
+
4
+ interface IAssetsTableGlobalCell {
5
+ cell: any; // React table cell wrapper
6
+ }
7
+
8
+ const AssetsTableGlobalCell: React.FC<IAssetsTableGlobalCell> = (p: IAssetsTableGlobalCell) => {
9
+ return (
10
+ <div className='asset-global-cell'>{p.cell.row.original.story_id ? null : ICON_GLOBE}</div>
11
+ );
12
+ };
13
+
14
+ const AssetsTableGlobalCellMemoized = React.memo(AssetsTableGlobalCell);
15
+ export default AssetsTableGlobalCellMemoized;
@@ -6,6 +6,7 @@ import { connect } from 'react-redux';
6
6
  import { bindActionCreators } from 'redux';
7
7
  import { IImposiumAPI } from '../../services/API';
8
8
  import { DeterminateLoader } from '../determinate-loader/DeterminateLoader';
9
+ import { assets as copy } from '../../constants/copy';
9
10
 
10
11
  interface IAssetsTableNameCell {
11
12
  cell: any;
@@ -50,7 +51,7 @@ const AssetsTableNameCell: React.FC<IAssetsTableNameCell> = (props: IAssetsTable
50
51
  text={name}
51
52
  />
52
53
  ) : (
53
- <span>Preparing asset...</span>
54
+ <span>{copy.uploads.preparePhase}</span>
54
55
  );
55
56
  return loader;
56
57
  } else {
@@ -1,20 +1,27 @@
1
1
  import * as React from 'react';
2
+ import { ASSET_TYPES } from '../../constants/assets';
2
3
 
3
4
  interface IAssetsTableRateCell {
4
5
  cell: any;
5
6
  }
6
-
7
7
  const AssetsTableRateCell: React.FC<IAssetsTableRateCell> = (props: IAssetsTableRateCell) => {
8
8
  const {
9
9
  cell: {
10
10
  row: {
11
- original: { rate }
11
+ original: { type, data, rate }
12
12
  }
13
13
  }
14
14
  } = props;
15
15
 
16
- if (rate !== null && rate !== undefined) {
17
- return <div className='asset-rate-cell'>{Number(rate).toFixed(2)}</div>;
16
+ let framerate = rate !== null && rate !== undefined ? rate : '';
17
+
18
+ if (type === ASSET_TYPES.VIDEO_COMPOSITION && data) {
19
+ const { rate: frame_rate } = JSON.parse(data);
20
+ framerate = frame_rate;
21
+ }
22
+
23
+ if (framerate !== null && framerate !== undefined && framerate !== '') {
24
+ return <div className='asset-rate-cell'>{Number(framerate).toFixed(2)}</div>;
18
25
  } else {
19
26
  return <div className='asset-rate-cell'></div>;
20
27
  }
@@ -2,17 +2,7 @@ import * as React from 'react';
2
2
  import { assets as copy } from '../../constants/copy';
3
3
  import CheckboxField from '../checkbox-field/CheckboxField';
4
4
  import { DeterminateLoader } from '../determinate-loader/DeterminateLoader';
5
- import {
6
- toggleAssignToStory,
7
- cancelAssetUpload,
8
- toggleTagFileName,
9
- setDelimiter,
10
- toggleTagDelimiter,
11
- toggleManualTagging,
12
- addManualTag,
13
- deleteManualTag,
14
- deleteManualTags
15
- } from '../../redux/actions/asset-uploads';
5
+ import { cancelAssetUpload } from '../../redux/actions/asset-uploads';
16
6
  import { bindActionCreators } from 'redux';
17
7
  import { connect } from 'react-redux';
18
8
  import Button from '../button/Button';
@@ -29,16 +19,9 @@ interface IAssetsUploadMenuProps {
29
19
  assetUploads: any;
30
20
  assetTags: string[];
31
21
  api: any;
32
- toggleAutoTag: (toggle: boolean) => any;
33
- toggleTagFileName: (toggle: boolean) => any;
34
- toggleAssignToStory: (toggle: boolean) => any;
35
- toggleTagDelimiter: (togglle: boolean) => any;
36
- setDelimiter: (delimiter: string) => any;
37
- toggleManualTagging: (togglle: boolean) => any;
38
- addManualTag: (tag: string) => any;
39
- deleteManualTag: (tag: string) => any;
40
- deleteManualTags: () => void;
41
22
  cancelAssetUpload: (fileName: string, api: IImposiumAPI) => any;
23
+ updateEditorConfig(c): void;
24
+ editor: any;
42
25
  }
43
26
 
44
27
  class AssetsUploadMenu extends React.PureComponent<IAssetsUploadMenuProps> {
@@ -51,16 +34,40 @@ class AssetsUploadMenu extends React.PureComponent<IAssetsUploadMenuProps> {
51
34
  this.props.cancelAssetUpload(fileName, api);
52
35
  }
53
36
 
37
+ private uploadsSetting(state) {
38
+ const currState = this.props.editor.assetUploads;
39
+
40
+ const newState = { ...currState, ...state };
41
+ this.props.updateEditorConfig({
42
+ assetUploads: newState
43
+ });
44
+ }
45
+
46
+ private deleteManualTag(tag) {
47
+ const { manualTags } = this.props.editor.assetUploads;
48
+ const updatedManualTags = manualTags.filter((t: string) => t !== tag);
49
+ this.uploadsSetting({ manualTags: updatedManualTags });
50
+ }
51
+
52
+ private addManualTag(tag) {
53
+ const { manualTags } = this.props.editor.assetUploads;
54
+ const updatedManualTags = manualTags ? manualTags : [];
55
+ updatedManualTags.push(tag);
56
+ this.uploadsSetting({ manualTags: updatedManualTags });
57
+ }
58
+
54
59
  public render() {
55
60
  const {
56
- assetUploads: {
57
- uploads,
58
- assignToStory,
59
- tagByFileName,
60
- tagByDelimiter,
61
- delimiter,
62
- tagManually,
63
- manualTags
61
+ assetUploads: { uploads },
62
+ editor: {
63
+ assetUploads: {
64
+ tagByDelimiter,
65
+ delimiter,
66
+ assignToStory,
67
+ tagByFileName,
68
+ tagManually,
69
+ manualTags
70
+ }
64
71
  },
65
72
  assetTags
66
73
  } = this.props;
@@ -105,7 +112,7 @@ class AssetsUploadMenu extends React.PureComponent<IAssetsUploadMenuProps> {
105
112
  width='35%'
106
113
  options={DELIMITER_OPTIONS}
107
114
  value={delimiter}
108
- onChange={(c) => this.props.setDelimiter(c)}
115
+ onChange={(c) => this.uploadsSetting({ delimiter: c })}
109
116
  />
110
117
  );
111
118
  const tagsArray = [...new Set(manualTags)];
@@ -114,7 +121,7 @@ class AssetsUploadMenu extends React.PureComponent<IAssetsUploadMenuProps> {
114
121
  key={tag}
115
122
  copy={tag}
116
123
  colorize={AssetsTableTagsPivot.COLORIZE_TAGS}
117
- removeHandler={() => this.props.deleteManualTag(tag)}
124
+ removeHandler={() => this.deleteManualTag(tag)}
118
125
  />
119
126
  ));
120
127
  const removeTagsBtn =
@@ -122,7 +129,7 @@ class AssetsUploadMenu extends React.PureComponent<IAssetsUploadMenuProps> {
122
129
  <Button
123
130
  tooltip='Remove All Tags'
124
131
  style='sublte'
125
- onClick={() => this.props.deleteManualTags()}>
132
+ onClick={() => this.uploadsSetting({ manualTags: [] })}>
126
133
  <FontAwesomeIcon icon={faEraser} />
127
134
  </Button>
128
135
  ) : null;
@@ -134,7 +141,7 @@ class AssetsUploadMenu extends React.PureComponent<IAssetsUploadMenuProps> {
134
141
  suggestions={assetTags}
135
142
  label={copy.tags.add}
136
143
  width={AssetsTableTagsPivot.ADD_TAG_INPUT_WIDTH}
137
- doSubmit={(t) => this.props.addManualTag(t)}
144
+ doSubmit={(t) => this.addManualTag(t)}
138
145
  />
139
146
  {tagsMarkup}
140
147
  {removeTagsBtn}
@@ -148,27 +155,27 @@ class AssetsUploadMenu extends React.PureComponent<IAssetsUploadMenuProps> {
148
155
  width='50%'
149
156
  label={copy.uploads.autoTagDelimiter}
150
157
  value={tagByDelimiter}
151
- onChange={() => this.props.toggleTagDelimiter(!tagByDelimiter)}
158
+ onChange={() => this.uploadsSetting({ tagByDelimiter: !tagByDelimiter })}
152
159
  />
153
160
  {delimiterSelector}
154
161
  <CheckboxField
155
162
  width='50%'
156
163
  label={copy.uploads.manualTagging}
157
164
  value={tagManually}
158
- onChange={() => this.props.toggleManualTagging(!tagManually)}
165
+ onChange={() => this.uploadsSetting({ tagManually: !tagManually })}
159
166
  />
160
167
  <CheckboxField
161
168
  width='50%'
162
169
  label={copy.uploads.autoTagFilname}
163
170
  value={tagByFileName}
164
- onChange={() => this.props.toggleTagFileName(!tagByFileName)}
171
+ onChange={() => this.uploadsSetting({ tagByFileName: !tagByFileName })}
165
172
  />
166
173
  <CheckboxField
167
174
  width='50%'
168
175
  label={copy.uploads.assignToProjectInput}
169
176
  info={copy.uploads.assignToProjectInfo}
170
- value={assignToStory}
171
- onChange={() => this.props.toggleAssignToStory(!assignToStory)}
177
+ value={!assignToStory}
178
+ onChange={() => this.uploadsSetting({ assignToStory: !assignToStory })}
172
179
  />
173
180
  </div>
174
181
  {tagsColumn}
@@ -181,15 +188,7 @@ class AssetsUploadMenu extends React.PureComponent<IAssetsUploadMenuProps> {
181
188
  const mapDispatchToProps = (dispatch): any => {
182
189
  return bindActionCreators(
183
190
  {
184
- toggleAssignToStory,
185
- toggleTagFileName,
186
- cancelAssetUpload,
187
- toggleTagDelimiter,
188
- setDelimiter,
189
- toggleManualTagging,
190
- addManualTag,
191
- deleteManualTag,
192
- deleteManualTags
191
+ cancelAssetUpload
193
192
  },
194
193
  dispatch
195
194
  );
@@ -198,7 +197,8 @@ const mapDispatchToProps = (dispatch): any => {
198
197
  const mapStateToProps = (state): any => {
199
198
  return {
200
199
  assetUploads: state.assetUploads,
201
- assetTags: state.assetTags
200
+ assetTags: state.assetTags,
201
+ editor: state.editor
202
202
  };
203
203
  };
204
204
 
@@ -265,7 +265,7 @@ const DataTable: React.FC<IDataTableProps> = (props: IDataTableProps) => {
265
265
  {...column.getHeaderProps()}
266
266
  className={`ip-table-header ${
267
267
  column.canSort ? 'ip-sortable' : ''
268
- }`}>
268
+ } ${column.pin ? 'pin' : ''}`}>
269
269
  {!searchable && (
270
270
  <div
271
271
  {...toggleProps}
@@ -371,7 +371,7 @@ const DataTable: React.FC<IDataTableProps> = (props: IDataTableProps) => {
371
371
  {...cell.getCellProps()}
372
372
  className={`ip-table-col ${
373
373
  cell.column.overflowVisible ? 'overflow-visible' : ''
374
- }`.trim()}>
374
+ } ${cell.column.pin ? 'pin' : ''}`.trim()}>
375
375
  {cell.render('Cell')}
376
376
  </td>
377
377
  ));
@@ -480,7 +480,11 @@ class ImposiumHeader extends React.PureComponent<IHeaderProps, IHeaderState> {
480
480
  });
481
481
  }}>
482
482
  <div className='story-name'>
483
- {currentStory ? currentStory.name : story ? story.name : ''}
483
+ {currentStory
484
+ ? currentStory.name
485
+ : story
486
+ ? story.name
487
+ : 'Project Not Found'}
484
488
  </div>
485
489
  {this.renderDropdownChevron(showStoriesDropdown)}
486
490
  </button>
@@ -25,7 +25,6 @@ import { connect } from 'react-redux';
25
25
  interface IPublishWizardProps {
26
26
  story: any;
27
27
  project: any;
28
- updateEditorConfig(c): void;
29
28
  editor: any;
30
29
  updateScene(d): void;
31
30
  editStory(s): void;
@@ -23,9 +23,9 @@ export const assets = {
23
23
  autoTagDelimiter: 'Tag by Delimiter',
24
24
  delimiterOptions: 'Delimiter Options',
25
25
  manualTagging: 'Tag Manually',
26
- assignToProjectInput: 'Assign to Project',
26
+ assignToProjectInput: 'Make Global',
27
27
  assignToProjectInfo:
28
- 'If selected, any assets uploaded will only be available to use with the currently selected project.',
28
+ 'If selected, any assets uploaded will be available to use with all projects on the current organization.',
29
29
  uploadButton: 'Upload',
30
30
  cancelButton: 'Cancel'
31
31
  },
package/src/index.ts CHANGED
@@ -46,6 +46,7 @@ import AssetsTableTagsFilter from './components/assets/AssetsTableTagsFilter';
46
46
  import AssetsTableTagsPivot from './components/assets/AssetsTableTagsPivot';
47
47
  import AssetsTableComplexTagCell from './components/assets/AssetsTableComplexTagCell';
48
48
  import AssetsTableTypeCell from './components/assets/AssetsTableTypeCell';
49
+ import AssetsTableGlobalCell from './components/assets/AssetsTableGlobalCell';
49
50
  import AssetsTableStatusCell from './components/assets/AssetsTableStatusCell';
50
51
  import AssetsTableTypeFilter from './components/assets/AssetsTableTypeFilter';
51
52
  import AssetsTypeIcon from './components/assets/AssetsTypeIcon';
@@ -103,12 +104,7 @@ import {
103
104
  updateAssetStory
104
105
  } from './redux/actions/asset-list';
105
106
  import { getAssetTagList, addAssetTagToList } from './redux/actions/asset-tags';
106
- import {
107
- cancelAssetUpload,
108
- toggleTagFileName,
109
- uploadAssets,
110
- replaceAsset
111
- } from './redux/actions/asset-uploads';
107
+ import { cancelAssetUpload, uploadAssets, replaceAsset } from './redux/actions/asset-uploads';
112
108
  import { selectAsset, deselectAsset, resetSelection } from './redux/actions/selected-assets';
113
109
  import assetFilters from './redux/reducers/asset-filters';
114
110
  import assetList from './redux/reducers/asset-list';
@@ -216,6 +212,7 @@ export {
216
212
  AssetsTableSelectCell,
217
213
  AssetsTableTypeFilter,
218
214
  AssetsTableTypeCell,
215
+ AssetsTableGlobalCell,
219
216
  AssetsTableStatusCell,
220
217
  AssetsTableNameFilter,
221
218
  AssetsTableNameCell,
@@ -251,7 +248,6 @@ export {
251
248
  updateAssetName,
252
249
  updateAssetData,
253
250
  doAssetTableHydration,
254
- toggleTagFileName,
255
251
  uploadAssets,
256
252
  replaceAsset,
257
253
  selectAsset,
@@ -19,45 +19,6 @@ const assetUploadsActions: any = {
19
19
 
20
20
  const POLL_INTERVAL: number = 5000;
21
21
 
22
- export const toggleTagFileName = (toggle: boolean): any => ({
23
- type: assetUploadsActions.TOGGLE_TAG_BY_FILENAME,
24
- toggle
25
- });
26
-
27
- export const toggleAssignToStory = (toggle: boolean): any => ({
28
- type: assetUploadsActions.TOGGLE_ASSIGN_TO_STORY,
29
- toggle
30
- });
31
-
32
- export const toggleTagDelimiter = (toggle: boolean): any => ({
33
- type: assetUploadsActions.TOGGLE_TAG_BY_DELIMITER,
34
- toggle
35
- });
36
-
37
- export const setDelimiter = (delimiter: string): any => ({
38
- type: assetUploadsActions.SET_DELIMITER,
39
- delimiter
40
- });
41
-
42
- export const toggleManualTagging = (toggle: boolean): any => ({
43
- type: assetUploadsActions.TOGGLE_MANUAL_TAGGING,
44
- toggle
45
- });
46
-
47
- export const addManualTag = (tag: string): any => ({
48
- type: assetUploadsActions.ADD_MANUAL_TAG,
49
- tag
50
- });
51
-
52
- export const deleteManualTag = (tag: string): any => ({
53
- type: assetUploadsActions.DELETE_MANUAL_TAG,
54
- tag
55
- });
56
-
57
- export const deleteManualTags = (): any => ({
58
- type: assetUploadsActions.DELETE_MANUAL_TAGS
59
- });
60
-
61
22
  export const uploadAssets = (
62
23
  api: IImposiumAPI,
63
24
  files: File[],
@@ -66,15 +27,8 @@ export const uploadAssets = (
66
27
  ): any => {
67
28
  return (dispatch, getStore) => {
68
29
  const {
69
- assetUploads: {
70
- uploads,
71
- assignToStory,
72
- tagByFileName,
73
- tagByDelimiter,
74
- delimiter,
75
- tagManually,
76
- manualTags
77
- }
30
+ assetUploads: { uploads, assignToStory, tagByFileName, tagManually, manualTags },
31
+ editor: { tagByDelimiter, delimiter }
78
32
  } = getStore();
79
33
  let currentQueue: number = 0;
80
34
  let ongoingJobs: any[] = [];
@@ -1,59 +1,11 @@
1
1
  import assetUploadsActions from '../actions/asset-uploads';
2
2
 
3
3
  const initialState: any = {
4
- tagByDelimiter: true,
5
- delimiter: '_',
6
- tagManually: false,
7
- manualTags: [],
8
- tagByFileName: false,
9
- assignToStory: true,
10
4
  uploads: []
11
5
  };
12
6
 
13
7
  const assetUploads = (state = initialState, action): any => {
14
8
  switch (action.type) {
15
- case assetUploadsActions.TOGGLE_TAG_BY_FILENAME:
16
- return {
17
- ...state,
18
- tagByFileName: action.toggle
19
- };
20
- case assetUploadsActions.TOGGLE_TAG_BY_DELIMITER:
21
- return {
22
- ...state,
23
- tagByDelimiter: action.toggle
24
- };
25
- case assetUploadsActions.SET_DELIMITER:
26
- return {
27
- ...state,
28
- delimiter: action.delimiter
29
- };
30
- case assetUploadsActions.TOGGLE_MANUAL_TAGGING:
31
- return {
32
- ...state,
33
- tagManually: action.toggle
34
- };
35
- case assetUploadsActions.ADD_MANUAL_TAG:
36
- const newManualTags = [...state.manualTags];
37
- newManualTags.push(action.tag);
38
- return {
39
- ...state,
40
- manualTags: newManualTags
41
- };
42
- case assetUploadsActions.DELETE_MANUAL_TAG:
43
- return {
44
- ...state,
45
- manualTags: state.manualTags.filter((t: string) => t !== action.tag)
46
- };
47
- case assetUploadsActions.DELETE_MANUAL_TAGS:
48
- return {
49
- ...state,
50
- manualTags: []
51
- };
52
- case assetUploadsActions.TOGGLE_ASSIGN_TO_STORY:
53
- return {
54
- ...state,
55
- assignToStory: action.toggle
56
- };
57
9
  case assetUploadsActions.ADD_UPLOAD:
58
10
  return {
59
11
  ...state,
@@ -1,15 +0,0 @@
1
- import * as React from 'react';
2
- interface IErrorMessagePreviewProps {
3
- showMedia: boolean;
4
- message: string;
5
- style?: React.CSSProperties | any;
6
- onRequestClose?(): void;
7
- }
8
- declare class ErrorMessagePreview extends React.PureComponent<IErrorMessagePreviewProps> {
9
- private errorMsgNode;
10
- private evtHandlers;
11
- constructor(props: any);
12
- private onClose;
13
- render(): JSX.Element;
14
- }
15
- export default ErrorMessagePreview;
@@ -1,91 +0,0 @@
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 __importDefault = (this && this.__importDefault) || function (mod) {
52
- return (mod && mod.__esModule) ? mod : { "default": mod };
53
- };
54
- Object.defineProperty(exports, "__esModule", { value: true });
55
- var React = __importStar(require("react"));
56
- var Portal_1 = __importDefault(require("../portal/Portal"));
57
- var Button_1 = __importDefault(require("../button/Button"));
58
- var copy_1 = require("../../constants/copy");
59
- var icons_1 = require("../../constants/icons");
60
- var ErrorMessagePreview = /** @class */ (function (_super) {
61
- __extends(ErrorMessagePreview, _super);
62
- function ErrorMessagePreview(props) {
63
- var _this = _super.call(this, props) || this;
64
- _this.errorMsgNode = null;
65
- _this.errorMsgNode = React.createRef();
66
- _this.evtHandlers = {
67
- onClose: function (e) { return _this.onClose(e); }
68
- };
69
- return _this;
70
- }
71
- ErrorMessagePreview.prototype.onClose = function (e) {
72
- var onRequestClose = this.props.onRequestClose;
73
- e.stopPropagation();
74
- onRequestClose();
75
- };
76
- ErrorMessagePreview.prototype.render = function () {
77
- var _a = this.props, showMedia = _a.showMedia, style = _a.style, message = _a.message;
78
- if (showMedia) {
79
- return (React.createElement(Portal_1.default, { id: 'portal-root' },
80
- React.createElement("div", { style: __assign({}, style), className: 'close-icon-preview' },
81
- React.createElement(Button_1.default, { key: 'btn-filter', onClick: this.evtHandlers.onClose, size: 'large', style: 'subtle', tooltip: copy_1.assets.field.tooltipFilter }, icons_1.ICON_TIMES)),
82
- React.createElement("p", { style: style, ref: this.errorMsgNode, className: 'asset-preview-background media-preview' }, message)));
83
- }
84
- else {
85
- return null;
86
- }
87
- };
88
- return ErrorMessagePreview;
89
- }(React.PureComponent));
90
- exports.default = ErrorMessagePreview;
91
- //# sourceMappingURL=ErrorMessagePreview.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"ErrorMessagePreview.js","sourceRoot":"","sources":["../../../../src/components/error-message-preview/ErrorMessagePreview.tsx"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,2CAA+B;AAC/B,4DAAsC;AACtC,4DAAsC;AACtC,6CAAsD;AACtD,+CAAmD;AASnD;IAAkC,uCAA8C;IAK5E,6BAAY,KAAK;QAAjB,YACI,kBAAM,KAAK,CAAC,SAKf;QAVO,kBAAY,GAAQ,IAAI,CAAC;QAM7B,KAAI,CAAC,YAAY,GAAG,KAAK,CAAC,SAAS,EAAE,CAAC;QACtC,KAAI,CAAC,WAAW,GAAG;YACf,OAAO,EAAE,UAAC,CAAC,IAAK,OAAA,KAAI,CAAC,OAAO,CAAC,CAAC,CAAC,EAAf,CAAe;SAClC,CAAC;;IACN,CAAC;IAEO,qCAAO,GAAf,UAAgB,CAAC;QACL,IAAA,cAAc,GAAK,IAAI,CAAC,KAAK,eAAf,CAAgB;QACtC,CAAC,CAAC,eAAe,EAAE,CAAC;QACpB,cAAc,EAAE,CAAC;IACrB,CAAC;IAEM,oCAAM,GAAb;QACU,IAAA,KAAgC,IAAI,CAAC,KAAK,EAAxC,SAAS,eAAA,EAAE,KAAK,WAAA,EAAE,OAAO,aAAe,CAAC;QACjD,IAAI,SAAS,EAAE;YACX,OAAO,CACH,oBAAC,gBAAM,IAAC,EAAE,EAAC,aAAa;gBACpB,6BACI,KAAK,eAAO,KAAK,GACjB,SAAS,EAAE,oBAAoB;oBAC/B,oBAAC,gBAAM,IACH,GAAG,EAAC,YAAY,EAChB,OAAO,EAAE,IAAI,CAAC,WAAW,CAAC,OAAO,EACjC,IAAI,EAAE,OAAO,EACb,KAAK,EAAC,QAAQ,EACd,OAAO,EAAE,aAAI,CAAC,KAAK,CAAC,aAAa,IAChC,kBAAU,CACN,CACP;gBACN,2BACI,KAAK,EAAE,KAAK,EACZ,GAAG,EAAE,IAAI,CAAC,YAAY,EACtB,SAAS,EAAC,wCAAwC,IACpD,OAAO,CAAK,CACT,CACZ,CAAC;SACL;aAAM;YACH,OAAO,IAAI,CAAC;SACf;IACL,CAAC;IACL,0BAAC;AAAD,CAAC,AA/CD,CAAkC,KAAK,CAAC,aAAa,GA+CpD;AAED,kBAAe,mBAAmB,CAAC"}
@@ -1,15 +0,0 @@
1
- import * as React from 'react';
2
- interface IErrorMessagePreviewProps {
3
- showMedia: boolean;
4
- message: string;
5
- style?: React.CSSProperties | any;
6
- onRequestClose?(): void;
7
- }
8
- declare class ErrorMessagePreview extends React.PureComponent<IErrorMessagePreviewProps> {
9
- private errorMsgNode;
10
- private evtHandlers;
11
- constructor(props: any);
12
- private onClose;
13
- render(): JSX.Element;
14
- }
15
- export default ErrorMessagePreview;