@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.
- package/dist/cjs/components/assets/AssetsTableDurationCell.js +11 -2
- package/dist/cjs/components/assets/AssetsTableDurationCell.js.map +1 -1
- package/dist/cjs/components/assets/AssetsTableGlobalCell.d.ts +6 -0
- package/dist/cjs/components/assets/AssetsTableGlobalCell.js +33 -0
- package/dist/cjs/components/assets/AssetsTableGlobalCell.js.map +1 -0
- package/dist/cjs/components/assets/AssetsTableNameCell.js +2 -1
- package/dist/cjs/components/assets/AssetsTableNameCell.js.map +1 -1
- package/dist/cjs/components/assets/AssetsTableRateCell.js +9 -3
- package/dist/cjs/components/assets/AssetsTableRateCell.js.map +1 -1
- package/dist/cjs/components/assets/AssetsUploadMenu.js +41 -19
- package/dist/cjs/components/assets/AssetsUploadMenu.js.map +1 -1
- package/dist/cjs/components/data-table/DataTable.js +2 -2
- package/dist/cjs/components/data-table/DataTable.js.map +1 -1
- package/dist/cjs/components/dropdown/dropdown.stories.js +1 -1
- package/dist/cjs/components/dropdown/dropdown.stories.js.map +1 -1
- package/dist/cjs/components/header/Header.js +5 -1
- package/dist/cjs/components/header/Header.js.map +1 -1
- package/dist/cjs/components/publish-wizard/PublishWizard.js.map +1 -1
- package/dist/cjs/constants/copy.js +2 -2
- package/dist/cjs/constants/copy.js.map +1 -1
- package/dist/cjs/index.d.ts +3 -2
- package/dist/cjs/index.js +3 -2
- package/dist/cjs/index.js.map +1 -1
- package/dist/cjs/redux/actions/asset-uploads.d.ts +0 -8
- package/dist/cjs/redux/actions/asset-uploads.js +2 -41
- package/dist/cjs/redux/actions/asset-uploads.js.map +1 -1
- package/dist/cjs/redux/reducers/asset-uploads.js +0 -24
- package/dist/cjs/redux/reducers/asset-uploads.js.map +1 -1
- package/dist/esm/components/assets/AssetsTableDurationCell.js +10 -1
- package/dist/esm/components/assets/AssetsTableDurationCell.js.map +1 -1
- package/dist/esm/components/assets/AssetsTableGlobalCell.d.ts +6 -0
- package/dist/esm/components/assets/AssetsTableGlobalCell.js +8 -0
- package/dist/esm/components/assets/AssetsTableGlobalCell.js.map +1 -0
- package/dist/esm/components/assets/AssetsTableNameCell.js +2 -1
- package/dist/esm/components/assets/AssetsTableNameCell.js.map +1 -1
- package/dist/esm/components/assets/AssetsTableRateCell.js +9 -3
- package/dist/esm/components/assets/AssetsTableRateCell.js.map +1 -1
- package/dist/esm/components/assets/AssetsUploadMenu.js +31 -20
- package/dist/esm/components/assets/AssetsUploadMenu.js.map +1 -1
- package/dist/esm/components/data-table/DataTable.js +2 -2
- package/dist/esm/components/data-table/DataTable.js.map +1 -1
- package/dist/esm/components/dropdown/dropdown.stories.js +1 -1
- package/dist/esm/components/dropdown/dropdown.stories.js.map +1 -1
- package/dist/esm/components/header/Header.js +5 -1
- package/dist/esm/components/header/Header.js.map +1 -1
- package/dist/esm/components/publish-wizard/PublishWizard.js.map +1 -1
- package/dist/esm/constants/copy.js +2 -2
- package/dist/esm/constants/copy.js.map +1 -1
- package/dist/esm/index.d.ts +3 -2
- package/dist/esm/index.js +3 -2
- package/dist/esm/index.js.map +1 -1
- package/dist/esm/redux/actions/asset-uploads.d.ts +0 -8
- package/dist/esm/redux/actions/asset-uploads.js +1 -32
- package/dist/esm/redux/actions/asset-uploads.js.map +1 -1
- package/dist/esm/redux/reducers/asset-uploads.js +0 -48
- package/dist/esm/redux/reducers/asset-uploads.js.map +1 -1
- package/dist/styles.css +9 -0
- package/dist/styles.less +18 -11
- package/less/components/data-table.less +17 -11
- package/less/components/story-previewer.less +1 -0
- package/package.json +1 -1
- package/src/components/assets/AssetsTableDurationCell.tsx +12 -0
- package/src/components/assets/AssetsTableGlobalCell.tsx +15 -0
- package/src/components/assets/AssetsTableNameCell.tsx +2 -1
- package/src/components/assets/AssetsTableRateCell.tsx +11 -4
- package/src/components/assets/AssetsUploadMenu.tsx +47 -47
- package/src/components/data-table/DataTable.tsx +2 -2
- package/src/components/header/Header.tsx +5 -1
- package/src/components/publish-wizard/PublishWizard.tsx +0 -1
- package/src/constants/copy.ts +2 -2
- package/src/index.ts +3 -7
- package/src/redux/actions/asset-uploads.ts +2 -48
- package/src/redux/reducers/asset-uploads.ts +0 -48
- package/dist/cjs/components/error-message-preview/ErrorMessagePreview.d.ts +0 -15
- package/dist/cjs/components/error-message-preview/ErrorMessagePreview.js +0 -91
- package/dist/cjs/components/error-message-preview/ErrorMessagePreview.js.map +0 -1
- package/dist/esm/components/error-message-preview/ErrorMessagePreview.d.ts +0 -15
- package/dist/esm/components/error-message-preview/ErrorMessagePreview.js +0 -35
- package/dist/esm/components/error-message-preview/ErrorMessagePreview.js.map +0 -1
- /package/src/components/dropdown/{dropdown.stories.tsx → Dropdown.stories.tsx} +0 -0
package/package.json
CHANGED
|
@@ -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>
|
|
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
|
-
|
|
17
|
-
|
|
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
|
-
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
|
|
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.
|
|
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.
|
|
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.
|
|
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.
|
|
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.
|
|
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.
|
|
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.
|
|
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.
|
|
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
|
-
|
|
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
|
|
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>
|
package/src/constants/copy.ts
CHANGED
|
@@ -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: '
|
|
26
|
+
assignToProjectInput: 'Make Global',
|
|
27
27
|
assignToProjectInfo:
|
|
28
|
-
'If selected, any assets uploaded will
|
|
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
|
-
|
|
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;
|