@imposium-hub/components 2.2.44-2 → 2.2.44-3
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/cjs/components/assets/AssetsUploadMenu.js +132 -25
- package/dist/cjs/components/assets/AssetsUploadMenu.js.map +1 -1
- package/dist/cjs/components/color-field/ColorField.js +2 -2
- package/dist/cjs/components/color-field/ColorField.js.map +1 -1
- package/dist/cjs/constants/copy.d.ts +1 -0
- package/dist/cjs/constants/copy.js +2 -1
- package/dist/cjs/constants/copy.js.map +1 -1
- package/dist/cjs/redux/actions/asset-uploads.d.ts +5 -2
- package/dist/cjs/redux/actions/asset-uploads.js +258 -138
- package/dist/cjs/redux/actions/asset-uploads.js.map +1 -1
- package/dist/cjs/redux/reducers/asset-uploads.js +10 -0
- package/dist/cjs/redux/reducers/asset-uploads.js.map +1 -1
- package/dist/esm/components/assets/AssetsUploadMenu.js +125 -25
- package/dist/esm/components/assets/AssetsUploadMenu.js.map +1 -1
- package/dist/esm/components/color-field/ColorField.js +2 -2
- package/dist/esm/components/color-field/ColorField.js.map +1 -1
- package/dist/esm/constants/copy.d.ts +1 -0
- package/dist/esm/constants/copy.js +2 -1
- package/dist/esm/constants/copy.js.map +1 -1
- package/dist/esm/redux/actions/asset-uploads.d.ts +5 -2
- package/dist/esm/redux/actions/asset-uploads.js +221 -131
- package/dist/esm/redux/actions/asset-uploads.js.map +1 -1
- package/dist/esm/redux/reducers/asset-uploads.js +16 -0
- package/dist/esm/redux/reducers/asset-uploads.js.map +1 -1
- package/dist/styles.css +81 -2
- package/dist/styles.less +154 -62
- package/less/components/assets.less +154 -63
- package/package.json +4 -4
- package/src/components/assets/AssetsUploadMenu.tsx +251 -66
- package/src/components/color-field/ColorField.tsx +2 -2
- package/src/constants/copy.ts +2 -1
- package/src/redux/actions/asset-uploads.ts +299 -152
- package/src/redux/reducers/asset-uploads.ts +18 -0
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@imposium-hub/components",
|
|
3
|
-
"version": "2.2.44-
|
|
3
|
+
"version": "2.2.44-3",
|
|
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",
|
|
@@ -43,7 +43,7 @@
|
|
|
43
43
|
"js-cookie": "^2.2.1",
|
|
44
44
|
"lodash": "^4.17.21",
|
|
45
45
|
"moment": "^2.29.1",
|
|
46
|
-
"react-color": "^2.
|
|
46
|
+
"@imposium-hub/react-color": "^2.19.4",
|
|
47
47
|
"react-merge-refs": "^1.1.0",
|
|
48
48
|
"react-moveable": "^0.26.1",
|
|
49
49
|
"react-transition-group": "^4.4.5"
|
|
@@ -55,7 +55,7 @@
|
|
|
55
55
|
"@fortawesome/pro-light-svg-icons": "^6.1.1",
|
|
56
56
|
"@fortawesome/pro-solid-svg-icons": "^6.1.1",
|
|
57
57
|
"@fortawesome/react-fontawesome": "^0.1.18",
|
|
58
|
-
"@imposium-hub/react-textarea-autocomplete": "^4.9.13-
|
|
58
|
+
"@imposium-hub/react-textarea-autocomplete": "^4.9.13-5",
|
|
59
59
|
"axios": "^0.21.1",
|
|
60
60
|
"hotkeys-js": "^3.6.12",
|
|
61
61
|
"localforage": "^1.7.3",
|
|
@@ -80,7 +80,7 @@
|
|
|
80
80
|
"@fortawesome/react-fontawesome": "^0.1.18",
|
|
81
81
|
"@imposium-hub/eslint-config": "^1.1.0",
|
|
82
82
|
"@imposium-hub/prettier-config": "^2.1.0",
|
|
83
|
-
"@imposium-hub/react-textarea-autocomplete": "^4.9.13-
|
|
83
|
+
"@imposium-hub/react-textarea-autocomplete": "^4.9.13-5",
|
|
84
84
|
"@storybook/addon-actions": "^6.4.22",
|
|
85
85
|
"@storybook/addon-docs": "^6.4.22",
|
|
86
86
|
"@storybook/addon-essentials": "^6.4.22",
|
|
@@ -1,8 +1,12 @@
|
|
|
1
1
|
import * as React from 'react';
|
|
2
2
|
import { assets as copy } from '../../constants/copy';
|
|
3
3
|
import CheckboxField from '../checkbox-field/CheckboxField';
|
|
4
|
-
import {
|
|
5
|
-
|
|
4
|
+
import {
|
|
5
|
+
cancelAssetUpload,
|
|
6
|
+
uploadingAsset,
|
|
7
|
+
updateUploadTags,
|
|
8
|
+
cancelNonUploadedAssets
|
|
9
|
+
} from '../../redux/actions/asset-uploads';
|
|
6
10
|
import { bindActionCreators } from 'redux';
|
|
7
11
|
import { connect } from 'react-redux';
|
|
8
12
|
import Button from '../button/Button';
|
|
@@ -14,19 +18,58 @@ import AssetsTableTagsPivot from './AssetsTableTagsPivot';
|
|
|
14
18
|
import Tag from '../tag/Tag';
|
|
15
19
|
import { FontAwesomeIcon } from '@fortawesome/react-fontawesome';
|
|
16
20
|
import { faEraser } from '@fortawesome/free-solid-svg-icons';
|
|
21
|
+
import { ICON_TIMES, ICON_UPLOAD } from '../../constants/icons';
|
|
22
|
+
import AssetsTableDropzone from './AssetsTableDropzone';
|
|
17
23
|
|
|
18
24
|
interface IAssetsUploadMenuProps {
|
|
25
|
+
editor: any;
|
|
19
26
|
assetUploads: any;
|
|
20
27
|
assetTags: string[];
|
|
21
28
|
api: any;
|
|
22
29
|
cancelAssetUpload: (fileName: string, api: IImposiumAPI) => any;
|
|
30
|
+
cancelNonUploadedAssets: (api: IImposiumAPI) => any;
|
|
23
31
|
updateEditorConfig(c): void;
|
|
24
|
-
|
|
32
|
+
uploadingAsset: (api: IImposiumAPI) => void;
|
|
33
|
+
updateUploadTags: () => void;
|
|
34
|
+
onDrop: (i, m) => any;
|
|
35
|
+
show: boolean;
|
|
36
|
+
onMenuHover: (o) => void;
|
|
37
|
+
toggleRef?: any;
|
|
38
|
+
onOutsideClick: (...args) => any;
|
|
39
|
+
tableHover: boolean;
|
|
40
|
+
}
|
|
41
|
+
|
|
42
|
+
interface IAssetsUploadMenuState {
|
|
43
|
+
assetOver: boolean;
|
|
25
44
|
}
|
|
26
45
|
|
|
27
|
-
class AssetsUploadMenu extends React.PureComponent<IAssetsUploadMenuProps> {
|
|
46
|
+
class AssetsUploadMenu extends React.PureComponent<IAssetsUploadMenuProps, IAssetsUploadMenuState> {
|
|
47
|
+
private menuRef: any = null;
|
|
48
|
+
|
|
49
|
+
private clickHandler: any = (e) => this.detectOutsideClick(e);
|
|
50
|
+
|
|
28
51
|
constructor(props: IAssetsUploadMenuProps) {
|
|
29
52
|
super(props);
|
|
53
|
+
|
|
54
|
+
this.state = {
|
|
55
|
+
assetOver: false
|
|
56
|
+
};
|
|
57
|
+
|
|
58
|
+
this.menuRef = React.createRef();
|
|
59
|
+
}
|
|
60
|
+
|
|
61
|
+
public componentDidUpdate(prevProps: IAssetsUploadMenuProps) {
|
|
62
|
+
if (this.props.show && !prevProps.show) {
|
|
63
|
+
window.addEventListener('mousedown', this.clickHandler);
|
|
64
|
+
}
|
|
65
|
+
|
|
66
|
+
if (!this.props.show && prevProps.show) {
|
|
67
|
+
window.removeEventListener('mousedown', this.clickHandler);
|
|
68
|
+
}
|
|
69
|
+
}
|
|
70
|
+
|
|
71
|
+
public componentWillUnmount(): void {
|
|
72
|
+
window.removeEventListener('mousedown', this.clickHandler);
|
|
30
73
|
}
|
|
31
74
|
|
|
32
75
|
private handleCancelAssetUpload(fileName: string) {
|
|
@@ -34,6 +77,20 @@ class AssetsUploadMenu extends React.PureComponent<IAssetsUploadMenuProps> {
|
|
|
34
77
|
this.props.cancelAssetUpload(fileName, api);
|
|
35
78
|
}
|
|
36
79
|
|
|
80
|
+
private uploadFileHandler() {
|
|
81
|
+
const { api } = this.props;
|
|
82
|
+
this.props.uploadingAsset(api);
|
|
83
|
+
this.props.updateEditorConfig({ showUploadsDropdown: false });
|
|
84
|
+
}
|
|
85
|
+
|
|
86
|
+
private cancelUploadHandler(remove: boolean) {
|
|
87
|
+
const { api } = this.props;
|
|
88
|
+
if (!remove) {
|
|
89
|
+
this.props.cancelNonUploadedAssets(api);
|
|
90
|
+
}
|
|
91
|
+
this.props.updateEditorConfig({ showUploadsDropdown: false });
|
|
92
|
+
}
|
|
93
|
+
|
|
37
94
|
private uploadsSetting(state) {
|
|
38
95
|
const currState = this.props.editor.assetUploads;
|
|
39
96
|
|
|
@@ -41,6 +98,8 @@ class AssetsUploadMenu extends React.PureComponent<IAssetsUploadMenuProps> {
|
|
|
41
98
|
this.props.updateEditorConfig({
|
|
42
99
|
assetUploads: newState
|
|
43
100
|
});
|
|
101
|
+
|
|
102
|
+
this.props.updateUploadTags();
|
|
44
103
|
}
|
|
45
104
|
|
|
46
105
|
private deleteManualTag(tag) {
|
|
@@ -56,10 +115,43 @@ class AssetsUploadMenu extends React.PureComponent<IAssetsUploadMenuProps> {
|
|
|
56
115
|
this.uploadsSetting({ manualTags: updatedManualTags });
|
|
57
116
|
}
|
|
58
117
|
|
|
118
|
+
private checkHover(monitor) {
|
|
119
|
+
const isOver = monitor.isOver();
|
|
120
|
+
if (isOver !== this.state.assetOver) {
|
|
121
|
+
this.setState({ assetOver: isOver }, () => this.props.onMenuHover(isOver));
|
|
122
|
+
}
|
|
123
|
+
}
|
|
124
|
+
|
|
125
|
+
private detectOutsideClick = (e: any): void => {
|
|
126
|
+
const { toggleRef } = this.props;
|
|
127
|
+
const { target } = e;
|
|
128
|
+
|
|
129
|
+
const isResizing = target.classList.contains('Resizer') ? true : false;
|
|
130
|
+
const clickInside =
|
|
131
|
+
this.menuRef.current && this.menuRef.current.contains(target) ? true : false;
|
|
132
|
+
const clickOnToggle =
|
|
133
|
+
toggleRef && toggleRef.current && toggleRef.current.contains(target) ? true : false;
|
|
134
|
+
|
|
135
|
+
if (!isResizing && !clickInside && !clickOnToggle) {
|
|
136
|
+
this.cancelRender(true);
|
|
137
|
+
}
|
|
138
|
+
};
|
|
139
|
+
|
|
140
|
+
private cancelRender = (forced: boolean = false): void => {
|
|
141
|
+
const { onOutsideClick } = this.props;
|
|
142
|
+
|
|
143
|
+
window.removeEventListener('mousedown', this.clickHandler);
|
|
144
|
+
|
|
145
|
+
if (forced) {
|
|
146
|
+
onOutsideClick();
|
|
147
|
+
}
|
|
148
|
+
};
|
|
149
|
+
|
|
59
150
|
public render() {
|
|
60
151
|
const {
|
|
61
152
|
assetUploads: { uploads },
|
|
62
153
|
editor: {
|
|
154
|
+
showUploadsMenu,
|
|
63
155
|
assetUploads: {
|
|
64
156
|
tagByDelimiter,
|
|
65
157
|
delimiter,
|
|
@@ -71,68 +163,96 @@ class AssetsUploadMenu extends React.PureComponent<IAssetsUploadMenuProps> {
|
|
|
71
163
|
},
|
|
72
164
|
assetTags
|
|
73
165
|
} = this.props;
|
|
166
|
+
const disable = uploads.length > 0 ? false : true;
|
|
167
|
+
|
|
74
168
|
let uploadsListInner;
|
|
169
|
+
const uploading = [];
|
|
170
|
+
|
|
75
171
|
if (uploads.length > 0) {
|
|
76
172
|
uploadsListInner = uploads.map((u: any) => {
|
|
77
|
-
const { filename, percent } = u;
|
|
78
|
-
|
|
79
|
-
|
|
80
|
-
|
|
81
|
-
|
|
82
|
-
|
|
173
|
+
const { filename, percent, tags } = u;
|
|
174
|
+
|
|
175
|
+
if (percent === 0) {
|
|
176
|
+
const closeButton = (
|
|
177
|
+
<Button
|
|
178
|
+
key='btn-cancel'
|
|
179
|
+
onClick={() => this.handleCancelAssetUpload(filename)}
|
|
180
|
+
style='subtle'
|
|
181
|
+
size='small'>
|
|
182
|
+
{ICON_TIMES}
|
|
183
|
+
</Button>
|
|
83
184
|
);
|
|
84
|
-
|
|
85
|
-
|
|
86
|
-
|
|
87
|
-
|
|
88
|
-
|
|
89
|
-
|
|
90
|
-
|
|
91
|
-
|
|
92
|
-
|
|
93
|
-
|
|
94
|
-
|
|
95
|
-
|
|
96
|
-
|
|
97
|
-
|
|
98
|
-
|
|
99
|
-
|
|
100
|
-
|
|
185
|
+
|
|
186
|
+
const fileTags = tags.map((tag: string) => (
|
|
187
|
+
<Tag
|
|
188
|
+
key={tag}
|
|
189
|
+
copy={tag}
|
|
190
|
+
colorize={AssetsTableTagsPivot.COLORIZE_TAGS}
|
|
191
|
+
/>
|
|
192
|
+
));
|
|
193
|
+
return (
|
|
194
|
+
<div
|
|
195
|
+
className='ongoing-upload'
|
|
196
|
+
key={filename}>
|
|
197
|
+
<div className='ongoing-upload-inner'>
|
|
198
|
+
<input
|
|
199
|
+
className='upload-filename'
|
|
200
|
+
value={filename}
|
|
201
|
+
readOnly
|
|
202
|
+
/>
|
|
203
|
+
<div className='tags-column'>{fileTags}</div>
|
|
204
|
+
{closeButton}
|
|
205
|
+
</div>
|
|
101
206
|
</div>
|
|
102
|
-
|
|
103
|
-
|
|
104
|
-
|
|
207
|
+
);
|
|
208
|
+
} else {
|
|
209
|
+
uploading.push(true);
|
|
210
|
+
}
|
|
105
211
|
});
|
|
106
212
|
} else {
|
|
107
213
|
uploadsListInner = <div className='no-ongoing-uploads'>{copy.uploads.noUploads}</div>;
|
|
108
214
|
}
|
|
109
215
|
|
|
216
|
+
if (uploading.length === uploads.length) {
|
|
217
|
+
uploadsListInner = <div className='no-ongoing-uploads'>{copy.uploads.noUploads}</div>;
|
|
218
|
+
}
|
|
219
|
+
|
|
110
220
|
const delimiterSelector = tagByDelimiter && (
|
|
111
221
|
<SelectField
|
|
112
222
|
width='35%'
|
|
113
223
|
options={DELIMITER_OPTIONS}
|
|
114
224
|
value={delimiter}
|
|
115
|
-
onChange={(c) =>
|
|
225
|
+
onChange={(c) => {
|
|
226
|
+
this.uploadsSetting({ delimiter: c });
|
|
227
|
+
}}
|
|
116
228
|
/>
|
|
117
229
|
);
|
|
230
|
+
|
|
118
231
|
const tagsArray = [...new Set(manualTags)];
|
|
232
|
+
|
|
119
233
|
const tagsMarkup = tagsArray.map((tag: string) => (
|
|
120
234
|
<Tag
|
|
121
235
|
key={tag}
|
|
122
236
|
copy={tag}
|
|
123
237
|
colorize={AssetsTableTagsPivot.COLORIZE_TAGS}
|
|
124
|
-
removeHandler={() =>
|
|
238
|
+
removeHandler={() => {
|
|
239
|
+
this.deleteManualTag(tag);
|
|
240
|
+
}}
|
|
125
241
|
/>
|
|
126
242
|
));
|
|
243
|
+
|
|
127
244
|
const removeTagsBtn =
|
|
128
245
|
tagsArray.length > 0 ? (
|
|
129
246
|
<Button
|
|
130
247
|
tooltip='Remove All Tags'
|
|
131
248
|
style='sublte'
|
|
132
|
-
onClick={() =>
|
|
249
|
+
onClick={() => {
|
|
250
|
+
this.uploadsSetting({ manualTags: [] });
|
|
251
|
+
}}>
|
|
133
252
|
<FontAwesomeIcon icon={faEraser} />
|
|
134
253
|
</Button>
|
|
135
254
|
) : null;
|
|
255
|
+
|
|
136
256
|
const tagsColumn = tagManually && (
|
|
137
257
|
<div className='tags-column'>
|
|
138
258
|
<TextField
|
|
@@ -141,46 +261,108 @@ class AssetsUploadMenu extends React.PureComponent<IAssetsUploadMenuProps> {
|
|
|
141
261
|
suggestions={assetTags}
|
|
142
262
|
label={copy.tags.add}
|
|
143
263
|
width={AssetsTableTagsPivot.ADD_TAG_INPUT_WIDTH}
|
|
144
|
-
doSubmit={(t) =>
|
|
264
|
+
doSubmit={(t) => {
|
|
265
|
+
this.addManualTag(t);
|
|
266
|
+
}}
|
|
145
267
|
/>
|
|
146
268
|
{tagsMarkup}
|
|
147
269
|
{removeTagsBtn}
|
|
148
270
|
</div>
|
|
149
271
|
);
|
|
150
272
|
|
|
273
|
+
const modifier = this.state.assetOver ? 'asset-over' : '';
|
|
274
|
+
const show = this.props.show ? 'show' : '';
|
|
275
|
+
const tableHover = this.props.tableHover ? 'table-hover' : '';
|
|
151
276
|
return (
|
|
152
|
-
<
|
|
153
|
-
|
|
154
|
-
|
|
155
|
-
|
|
156
|
-
|
|
157
|
-
|
|
158
|
-
|
|
159
|
-
|
|
160
|
-
|
|
161
|
-
|
|
162
|
-
width='50%'
|
|
163
|
-
label={copy.uploads.manualTagging}
|
|
164
|
-
value={tagManually}
|
|
165
|
-
onChange={() => this.uploadsSetting({ tagManually: !tagManually })}
|
|
166
|
-
/>
|
|
167
|
-
<CheckboxField
|
|
168
|
-
width='50%'
|
|
169
|
-
label={copy.uploads.autoTagFilname}
|
|
170
|
-
value={tagByFileName}
|
|
171
|
-
onChange={() => this.uploadsSetting({ tagByFileName: !tagByFileName })}
|
|
172
|
-
/>
|
|
173
|
-
<CheckboxField
|
|
174
|
-
width='50%'
|
|
175
|
-
label={copy.uploads.assignToProjectInput}
|
|
176
|
-
info={copy.uploads.assignToProjectInfo}
|
|
177
|
-
value={!assignToStory}
|
|
178
|
-
onChange={() => this.uploadsSetting({ assignToStory: !assignToStory })}
|
|
179
|
-
/>
|
|
277
|
+
<AssetsTableDropzone
|
|
278
|
+
className={`uploads-dropzone ${show} ${tableHover} ${modifier}`}
|
|
279
|
+
onDrop={(i, m) => {
|
|
280
|
+
this.props.onDrop(i, m);
|
|
281
|
+
}}
|
|
282
|
+
onExternalCollect={(o) => this.checkHover(o)}>
|
|
283
|
+
<div className='overlay'>
|
|
284
|
+
<p style={{ display: this.state.assetOver ? 'block' : 'none' }}>
|
|
285
|
+
{copy.dropAsset}
|
|
286
|
+
</p>
|
|
180
287
|
</div>
|
|
181
|
-
|
|
182
|
-
|
|
183
|
-
|
|
288
|
+
<div className='uploads-menu'>
|
|
289
|
+
<div
|
|
290
|
+
className='uploads-menu'
|
|
291
|
+
ref={this.menuRef}>
|
|
292
|
+
<div className='uploads-controls'>
|
|
293
|
+
<CheckboxField
|
|
294
|
+
width='50%'
|
|
295
|
+
label={copy.uploads.autoTagDelimiter}
|
|
296
|
+
value={tagByDelimiter}
|
|
297
|
+
onChange={() => {
|
|
298
|
+
this.uploadsSetting({ tagByDelimiter: !tagByDelimiter });
|
|
299
|
+
}}
|
|
300
|
+
/>
|
|
301
|
+
{delimiterSelector}
|
|
302
|
+
<CheckboxField
|
|
303
|
+
width='50%'
|
|
304
|
+
label={copy.uploads.manualTagging}
|
|
305
|
+
value={tagManually}
|
|
306
|
+
onChange={() => {
|
|
307
|
+
this.uploadsSetting({ tagManually: !tagManually });
|
|
308
|
+
}}
|
|
309
|
+
/>
|
|
310
|
+
<CheckboxField
|
|
311
|
+
width='50%'
|
|
312
|
+
label={copy.uploads.autoTagFilname}
|
|
313
|
+
value={tagByFileName}
|
|
314
|
+
onChange={() => {
|
|
315
|
+
this.uploadsSetting({ tagByFileName: !tagByFileName });
|
|
316
|
+
}}
|
|
317
|
+
/>
|
|
318
|
+
<CheckboxField
|
|
319
|
+
width='50%'
|
|
320
|
+
label={copy.uploads.assignToProjectInput}
|
|
321
|
+
info={copy.uploads.assignToProjectInfo}
|
|
322
|
+
value={!assignToStory}
|
|
323
|
+
onChange={() =>
|
|
324
|
+
this.uploadsSetting({ assignToStory: !assignToStory })
|
|
325
|
+
}
|
|
326
|
+
/>
|
|
327
|
+
</div>
|
|
328
|
+
{tagsColumn}
|
|
329
|
+
<div className='uploads-list'>{uploadsListInner}</div>
|
|
330
|
+
<div className='uploads-confirm'>
|
|
331
|
+
<CheckboxField
|
|
332
|
+
label={`Don't show again`}
|
|
333
|
+
value={!showUploadsMenu}
|
|
334
|
+
onChange={() =>
|
|
335
|
+
this.props.updateEditorConfig({
|
|
336
|
+
showUploadsMenu: !showUploadsMenu
|
|
337
|
+
})
|
|
338
|
+
}
|
|
339
|
+
/>
|
|
340
|
+
<Button
|
|
341
|
+
key='cancel-upload'
|
|
342
|
+
onClick={() => this.cancelUploadHandler(disable)}
|
|
343
|
+
customStyles={{
|
|
344
|
+
color: 'black'
|
|
345
|
+
}}
|
|
346
|
+
style='bold'
|
|
347
|
+
color='secondary'
|
|
348
|
+
width='60px'
|
|
349
|
+
size='small'>
|
|
350
|
+
Cancel
|
|
351
|
+
</Button>
|
|
352
|
+
<Button
|
|
353
|
+
key='upload-file'
|
|
354
|
+
disabled={disable}
|
|
355
|
+
onClick={() => this.uploadFileHandler()}
|
|
356
|
+
style='bold'
|
|
357
|
+
color='primary'
|
|
358
|
+
width='80px'
|
|
359
|
+
size='small'>
|
|
360
|
+
Upload {ICON_UPLOAD}
|
|
361
|
+
</Button>
|
|
362
|
+
</div>
|
|
363
|
+
</div>
|
|
364
|
+
</div>
|
|
365
|
+
</AssetsTableDropzone>
|
|
184
366
|
);
|
|
185
367
|
}
|
|
186
368
|
}
|
|
@@ -188,7 +370,10 @@ class AssetsUploadMenu extends React.PureComponent<IAssetsUploadMenuProps> {
|
|
|
188
370
|
const mapDispatchToProps = (dispatch): any => {
|
|
189
371
|
return bindActionCreators(
|
|
190
372
|
{
|
|
191
|
-
cancelAssetUpload
|
|
373
|
+
cancelAssetUpload,
|
|
374
|
+
cancelNonUploadedAssets,
|
|
375
|
+
uploadingAsset,
|
|
376
|
+
updateUploadTags
|
|
192
377
|
},
|
|
193
378
|
dispatch
|
|
194
379
|
);
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import * as React from 'react';
|
|
2
2
|
import FieldWrapper from '../field-wrapper/FieldWrapper';
|
|
3
3
|
import { IToolTipConfig } from '../Tooltip';
|
|
4
|
-
import { SketchPicker } from 'react-color';
|
|
4
|
+
import { SketchPicker } from '@imposium-hub/react-color';
|
|
5
5
|
|
|
6
6
|
interface IColorFieldProps {
|
|
7
7
|
buttons?: any;
|
|
@@ -29,7 +29,7 @@ class ColorField extends React.PureComponent<IColorFieldProps, IColorFieldState>
|
|
|
29
29
|
|
|
30
30
|
private picker: any;
|
|
31
31
|
|
|
32
|
-
private transparentBg = `url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/
|
|
32
|
+
private transparentBg = `url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAAAXNSR0IArs4c6QAAADBJREFUOE9jPHPmzH8GPMDY2BifNAPjqAHDIgz+//+PNx2cPXsWfzoYNYCBceiHAQD1OVMJc/dYeAAAAABJRU5ErkJggg==") left center`;
|
|
33
33
|
|
|
34
34
|
constructor(props) {
|
|
35
35
|
super(props);
|
package/src/constants/copy.ts
CHANGED
|
@@ -1,6 +1,7 @@
|
|
|
1
1
|
export const assets = {
|
|
2
2
|
tooltipFilter: 'Filter by Asset type',
|
|
3
3
|
previewNotAvailable: 'Preview Not Available for this Asset Type',
|
|
4
|
+
dropAsset: 'Drop file(s) here.',
|
|
4
5
|
iconTypes: {
|
|
5
6
|
filter: 'Filter By Type',
|
|
6
7
|
lut: 'LUT',
|
|
@@ -17,7 +18,7 @@ export const assets = {
|
|
|
17
18
|
after_effects: 'After Effects'
|
|
18
19
|
},
|
|
19
20
|
uploads: {
|
|
20
|
-
noUploads: '
|
|
21
|
+
noUploads: 'No files selected, drag and drop files here to begin.',
|
|
21
22
|
preparePhase: 'Preparing asset...',
|
|
22
23
|
autoTagFilname: 'Tag by file name',
|
|
23
24
|
autoTagDelimiter: 'Tag by Delimiter',
|