@panneau/field-upload 3.0.9 → 3.0.11
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/es/index.js +59 -14
- package/lib/index.js +61 -15
- package/package.json +4 -4
package/es/index.js
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import _defineProperty from '@babel/runtime/helpers/defineProperty';
|
|
2
|
-
import
|
|
2
|
+
import _toConsumableArray from '@babel/runtime/helpers/toConsumableArray';
|
|
3
3
|
import _slicedToArray from '@babel/runtime/helpers/slicedToArray';
|
|
4
|
-
import
|
|
4
|
+
import _objectSpread from '@babel/runtime/helpers/objectSpread2';
|
|
5
5
|
import { faTimes, faFileVideo, faFileImage, faFileAudio } from '@fortawesome/free-solid-svg-icons';
|
|
6
6
|
import { FontAwesomeIcon } from '@fortawesome/react-fontawesome';
|
|
7
7
|
import { Dashboard, DashboardModal } from '@uppy/react';
|
|
@@ -40,6 +40,7 @@ var propTypes = {
|
|
|
40
40
|
withFind: PropTypes.bool,
|
|
41
41
|
addButtonLabel: PropTypes$1.label,
|
|
42
42
|
searchButtonLabel: PropTypes$1.label,
|
|
43
|
+
confirmButtonLabel: PropTypes$1.label,
|
|
43
44
|
allowMultipleUploads: PropTypes.bool,
|
|
44
45
|
maxNumberOfFiles: PropTypes.number,
|
|
45
46
|
namePath: PropTypes.string,
|
|
@@ -75,6 +76,13 @@ var defaultProps = {
|
|
|
75
76
|
"value": "Find a file"
|
|
76
77
|
}]
|
|
77
78
|
}),
|
|
79
|
+
confirmButtonLabel: /*#__PURE__*/React.createElement(FormattedMessage, {
|
|
80
|
+
id: "UaVu03",
|
|
81
|
+
defaultMessage: [{
|
|
82
|
+
"type": 0,
|
|
83
|
+
"value": "Confirm"
|
|
84
|
+
}]
|
|
85
|
+
}),
|
|
78
86
|
allowMultipleUploads: false,
|
|
79
87
|
maxNumberOfFiles: 1,
|
|
80
88
|
namePath: null,
|
|
@@ -96,6 +104,7 @@ var UploadField = function UploadField(_ref) {
|
|
|
96
104
|
withFind = _ref.withFind,
|
|
97
105
|
addButtonLabel = _ref.addButtonLabel,
|
|
98
106
|
searchButtonLabel = _ref.searchButtonLabel,
|
|
107
|
+
confirmButtonLabel = _ref.confirmButtonLabel,
|
|
99
108
|
allowMultipleUploads = _ref.allowMultipleUploads,
|
|
100
109
|
maxNumberOfFiles = _ref.maxNumberOfFiles,
|
|
101
110
|
namePath = _ref.namePath,
|
|
@@ -107,10 +116,7 @@ var UploadField = function UploadField(_ref) {
|
|
|
107
116
|
disabled = _ref.disabled,
|
|
108
117
|
onChange = _ref.onChange,
|
|
109
118
|
className = _ref.className;
|
|
110
|
-
|
|
111
|
-
_useLocation2 = _slicedToArray(_useLocation, 1),
|
|
112
|
-
_useLocation2$0$pathn = _useLocation2[0].pathname,
|
|
113
|
-
pathname = _useLocation2$0$pathn === void 0 ? null : _useLocation2$0$pathn;
|
|
119
|
+
// const [{ pathname = null }] = useLocation();
|
|
114
120
|
// const { ref: containerRef, entry = null } = useResizeObserver();
|
|
115
121
|
// const { contentRect } = entry || {};
|
|
116
122
|
// const { width: containerWidth = null } = contentRect || {};
|
|
@@ -208,12 +214,45 @@ var UploadField = function UploadField(_ref) {
|
|
|
208
214
|
var closeResourceModal = useCallback(function () {
|
|
209
215
|
setResourceModalOpen(false);
|
|
210
216
|
}, [resourceModalOpen, setResourceModalOpen]);
|
|
217
|
+
var _useState5 = useState([]),
|
|
218
|
+
_useState6 = _slicedToArray(_useState5, 2),
|
|
219
|
+
modalItems = _useState6[0],
|
|
220
|
+
setModalItems = _useState6[1];
|
|
211
221
|
var onClickSelect = useCallback(function (newValue) {
|
|
212
|
-
if (
|
|
222
|
+
if (allowMultipleUploads) {
|
|
223
|
+
if (newValue !== null) {
|
|
224
|
+
var _ref2 = newValue || {},
|
|
225
|
+
_ref2$id = _ref2.id,
|
|
226
|
+
id = _ref2$id === void 0 ? null : _ref2$id;
|
|
227
|
+
if (id !== null) {
|
|
228
|
+
var previous = (modalItems || []).find(function (_ref3) {
|
|
229
|
+
var _ref3$id = _ref3.id,
|
|
230
|
+
itemId = _ref3$id === void 0 ? null : _ref3$id;
|
|
231
|
+
return id === itemId;
|
|
232
|
+
});
|
|
233
|
+
if (previous) {
|
|
234
|
+
setModalItems((modalItems || []).filter(function (_ref4) {
|
|
235
|
+
var _ref4$id = _ref4.id,
|
|
236
|
+
itemId = _ref4$id === void 0 ? null : _ref4$id;
|
|
237
|
+
return id !== itemId;
|
|
238
|
+
}));
|
|
239
|
+
} else {
|
|
240
|
+
setModalItems([].concat(_toConsumableArray(modalItems), [newValue]));
|
|
241
|
+
}
|
|
242
|
+
}
|
|
243
|
+
}
|
|
244
|
+
} else if (onChange !== null) {
|
|
213
245
|
onChange(newValue);
|
|
214
246
|
setResourceModalOpen(false);
|
|
215
247
|
}
|
|
216
|
-
}, [onChange, setResourceModalOpen]);
|
|
248
|
+
}, [onChange, setResourceModalOpen, allowMultipleUploads, modalItems, setModalItems]);
|
|
249
|
+
console.log(modalItems);
|
|
250
|
+
var confirmResourceModal = useCallback(function () {
|
|
251
|
+
if (onChange !== null) {
|
|
252
|
+
onChange(modalItems);
|
|
253
|
+
setResourceModalOpen(false);
|
|
254
|
+
}
|
|
255
|
+
}, [onChange, setResourceModalOpen, allowMultipleUploads]);
|
|
217
256
|
var initialQuery = useMemo(function () {
|
|
218
257
|
return {
|
|
219
258
|
types: types
|
|
@@ -241,9 +280,9 @@ var UploadField = function UploadField(_ref) {
|
|
|
241
280
|
_media$data = media.data,
|
|
242
281
|
data = _media$data === void 0 ? {} : _media$data,
|
|
243
282
|
type = media.type;
|
|
244
|
-
var
|
|
245
|
-
|
|
246
|
-
file =
|
|
283
|
+
var _ref6 = data || {},
|
|
284
|
+
_ref6$file = _ref6.file,
|
|
285
|
+
file = _ref6$file === void 0 ? null : _ref6$file;
|
|
247
286
|
var faIcon = null;
|
|
248
287
|
switch (type) {
|
|
249
288
|
case 'audio':
|
|
@@ -313,7 +352,7 @@ var UploadField = function UploadField(_ref) {
|
|
|
313
352
|
}, /*#__PURE__*/React.createElement(FontAwesomeIcon, {
|
|
314
353
|
icon: faTimes
|
|
315
354
|
})))));
|
|
316
|
-
}) : null, !hasMedia && withButton ? /*#__PURE__*/React.createElement("div", {
|
|
355
|
+
}) : null, (!hasMedia || allowMultipleUploads) && withButton ? /*#__PURE__*/React.createElement("div", {
|
|
317
356
|
className: "row"
|
|
318
357
|
}, /*#__PURE__*/React.createElement("div", {
|
|
319
358
|
className: "col-auto"
|
|
@@ -364,7 +403,7 @@ var UploadField = function UploadField(_ref) {
|
|
|
364
403
|
onPageChange: onListPageChange,
|
|
365
404
|
onQueryChange: onListQueryChange,
|
|
366
405
|
onQueryReset: onListQueryReset,
|
|
367
|
-
baseUrl:
|
|
406
|
+
baseUrl: null,
|
|
368
407
|
listProps: {
|
|
369
408
|
actions: ['select'],
|
|
370
409
|
actionsProps: {
|
|
@@ -372,7 +411,13 @@ var UploadField = function UploadField(_ref) {
|
|
|
372
411
|
},
|
|
373
412
|
withoutActionsColumn: true
|
|
374
413
|
}
|
|
375
|
-
})
|
|
414
|
+
}), allowMultipleUploads ? /*#__PURE__*/React.createElement(Button, {
|
|
415
|
+
type: "button",
|
|
416
|
+
theme: "primary",
|
|
417
|
+
onClick: confirmResourceModal,
|
|
418
|
+
disabled: disabled,
|
|
419
|
+
className: "d-block ms-auto mt-2"
|
|
420
|
+
}, /*#__PURE__*/React.createElement(Label, null, confirmButtonLabel)) : null) : null);
|
|
376
421
|
};
|
|
377
422
|
UploadField.propTypes = propTypes;
|
|
378
423
|
UploadField.defaultProps = defaultProps;
|
package/lib/index.js
CHANGED
|
@@ -3,9 +3,9 @@
|
|
|
3
3
|
Object.defineProperty(exports, '__esModule', { value: true });
|
|
4
4
|
|
|
5
5
|
var _defineProperty = require('@babel/runtime/helpers/defineProperty');
|
|
6
|
-
var
|
|
6
|
+
var _toConsumableArray = require('@babel/runtime/helpers/toConsumableArray');
|
|
7
7
|
var _slicedToArray = require('@babel/runtime/helpers/slicedToArray');
|
|
8
|
-
var
|
|
8
|
+
var _objectSpread = require('@babel/runtime/helpers/objectSpread2');
|
|
9
9
|
var freeSolidSvgIcons = require('@fortawesome/free-solid-svg-icons');
|
|
10
10
|
var reactFontawesome = require('@fortawesome/react-fontawesome');
|
|
11
11
|
var react = require('@uppy/react');
|
|
@@ -32,8 +32,9 @@ require('@uppy/status-bar/dist/style.min.css');
|
|
|
32
32
|
function _interopDefaultLegacy (e) { return e && typeof e === 'object' && 'default' in e ? e : { 'default': e }; }
|
|
33
33
|
|
|
34
34
|
var _defineProperty__default = /*#__PURE__*/_interopDefaultLegacy(_defineProperty);
|
|
35
|
-
var
|
|
35
|
+
var _toConsumableArray__default = /*#__PURE__*/_interopDefaultLegacy(_toConsumableArray);
|
|
36
36
|
var _slicedToArray__default = /*#__PURE__*/_interopDefaultLegacy(_slicedToArray);
|
|
37
|
+
var _objectSpread__default = /*#__PURE__*/_interopDefaultLegacy(_objectSpread);
|
|
37
38
|
var classNames__default = /*#__PURE__*/_interopDefaultLegacy(classNames);
|
|
38
39
|
var get__default = /*#__PURE__*/_interopDefaultLegacy(get);
|
|
39
40
|
var isArray__default = /*#__PURE__*/_interopDefaultLegacy(isArray);
|
|
@@ -61,6 +62,7 @@ var propTypes = {
|
|
|
61
62
|
withFind: PropTypes__default["default"].bool,
|
|
62
63
|
addButtonLabel: core.PropTypes.label,
|
|
63
64
|
searchButtonLabel: core.PropTypes.label,
|
|
65
|
+
confirmButtonLabel: core.PropTypes.label,
|
|
64
66
|
allowMultipleUploads: PropTypes__default["default"].bool,
|
|
65
67
|
maxNumberOfFiles: PropTypes__default["default"].number,
|
|
66
68
|
namePath: PropTypes__default["default"].string,
|
|
@@ -96,6 +98,13 @@ var defaultProps = {
|
|
|
96
98
|
"value": "Find a file"
|
|
97
99
|
}]
|
|
98
100
|
}),
|
|
101
|
+
confirmButtonLabel: /*#__PURE__*/React__default["default"].createElement(reactIntl.FormattedMessage, {
|
|
102
|
+
id: "UaVu03",
|
|
103
|
+
defaultMessage: [{
|
|
104
|
+
"type": 0,
|
|
105
|
+
"value": "Confirm"
|
|
106
|
+
}]
|
|
107
|
+
}),
|
|
99
108
|
allowMultipleUploads: false,
|
|
100
109
|
maxNumberOfFiles: 1,
|
|
101
110
|
namePath: null,
|
|
@@ -117,6 +126,7 @@ var UploadField = function UploadField(_ref) {
|
|
|
117
126
|
withFind = _ref.withFind,
|
|
118
127
|
addButtonLabel = _ref.addButtonLabel,
|
|
119
128
|
searchButtonLabel = _ref.searchButtonLabel,
|
|
129
|
+
confirmButtonLabel = _ref.confirmButtonLabel,
|
|
120
130
|
allowMultipleUploads = _ref.allowMultipleUploads,
|
|
121
131
|
maxNumberOfFiles = _ref.maxNumberOfFiles,
|
|
122
132
|
namePath = _ref.namePath,
|
|
@@ -128,10 +138,7 @@ var UploadField = function UploadField(_ref) {
|
|
|
128
138
|
disabled = _ref.disabled,
|
|
129
139
|
onChange = _ref.onChange,
|
|
130
140
|
className = _ref.className;
|
|
131
|
-
|
|
132
|
-
_useLocation2 = _slicedToArray__default["default"](_useLocation, 1),
|
|
133
|
-
_useLocation2$0$pathn = _useLocation2[0].pathname,
|
|
134
|
-
pathname = _useLocation2$0$pathn === void 0 ? null : _useLocation2$0$pathn;
|
|
141
|
+
// const [{ pathname = null }] = useLocation();
|
|
135
142
|
// const { ref: containerRef, entry = null } = useResizeObserver();
|
|
136
143
|
// const { contentRect } = entry || {};
|
|
137
144
|
// const { width: containerWidth = null } = contentRect || {};
|
|
@@ -229,12 +236,45 @@ var UploadField = function UploadField(_ref) {
|
|
|
229
236
|
var closeResourceModal = React.useCallback(function () {
|
|
230
237
|
setResourceModalOpen(false);
|
|
231
238
|
}, [resourceModalOpen, setResourceModalOpen]);
|
|
239
|
+
var _useState5 = React.useState([]),
|
|
240
|
+
_useState6 = _slicedToArray__default["default"](_useState5, 2),
|
|
241
|
+
modalItems = _useState6[0],
|
|
242
|
+
setModalItems = _useState6[1];
|
|
232
243
|
var onClickSelect = React.useCallback(function (newValue) {
|
|
233
|
-
if (
|
|
244
|
+
if (allowMultipleUploads) {
|
|
245
|
+
if (newValue !== null) {
|
|
246
|
+
var _ref2 = newValue || {},
|
|
247
|
+
_ref2$id = _ref2.id,
|
|
248
|
+
id = _ref2$id === void 0 ? null : _ref2$id;
|
|
249
|
+
if (id !== null) {
|
|
250
|
+
var previous = (modalItems || []).find(function (_ref3) {
|
|
251
|
+
var _ref3$id = _ref3.id,
|
|
252
|
+
itemId = _ref3$id === void 0 ? null : _ref3$id;
|
|
253
|
+
return id === itemId;
|
|
254
|
+
});
|
|
255
|
+
if (previous) {
|
|
256
|
+
setModalItems((modalItems || []).filter(function (_ref4) {
|
|
257
|
+
var _ref4$id = _ref4.id,
|
|
258
|
+
itemId = _ref4$id === void 0 ? null : _ref4$id;
|
|
259
|
+
return id !== itemId;
|
|
260
|
+
}));
|
|
261
|
+
} else {
|
|
262
|
+
setModalItems([].concat(_toConsumableArray__default["default"](modalItems), [newValue]));
|
|
263
|
+
}
|
|
264
|
+
}
|
|
265
|
+
}
|
|
266
|
+
} else if (onChange !== null) {
|
|
234
267
|
onChange(newValue);
|
|
235
268
|
setResourceModalOpen(false);
|
|
236
269
|
}
|
|
237
|
-
}, [onChange, setResourceModalOpen]);
|
|
270
|
+
}, [onChange, setResourceModalOpen, allowMultipleUploads, modalItems, setModalItems]);
|
|
271
|
+
console.log(modalItems);
|
|
272
|
+
var confirmResourceModal = React.useCallback(function () {
|
|
273
|
+
if (onChange !== null) {
|
|
274
|
+
onChange(modalItems);
|
|
275
|
+
setResourceModalOpen(false);
|
|
276
|
+
}
|
|
277
|
+
}, [onChange, setResourceModalOpen, allowMultipleUploads]);
|
|
238
278
|
var initialQuery = React.useMemo(function () {
|
|
239
279
|
return {
|
|
240
280
|
types: types
|
|
@@ -262,9 +302,9 @@ var UploadField = function UploadField(_ref) {
|
|
|
262
302
|
_media$data = media.data,
|
|
263
303
|
data = _media$data === void 0 ? {} : _media$data,
|
|
264
304
|
type = media.type;
|
|
265
|
-
var
|
|
266
|
-
|
|
267
|
-
file =
|
|
305
|
+
var _ref6 = data || {},
|
|
306
|
+
_ref6$file = _ref6.file,
|
|
307
|
+
file = _ref6$file === void 0 ? null : _ref6$file;
|
|
268
308
|
var faIcon = null;
|
|
269
309
|
switch (type) {
|
|
270
310
|
case 'audio':
|
|
@@ -334,7 +374,7 @@ var UploadField = function UploadField(_ref) {
|
|
|
334
374
|
}, /*#__PURE__*/React__default["default"].createElement(reactFontawesome.FontAwesomeIcon, {
|
|
335
375
|
icon: freeSolidSvgIcons.faTimes
|
|
336
376
|
})))));
|
|
337
|
-
}) : null, !hasMedia && withButton ? /*#__PURE__*/React__default["default"].createElement("div", {
|
|
377
|
+
}) : null, (!hasMedia || allowMultipleUploads) && withButton ? /*#__PURE__*/React__default["default"].createElement("div", {
|
|
338
378
|
className: "row"
|
|
339
379
|
}, /*#__PURE__*/React__default["default"].createElement("div", {
|
|
340
380
|
className: "col-auto"
|
|
@@ -385,7 +425,7 @@ var UploadField = function UploadField(_ref) {
|
|
|
385
425
|
onPageChange: onListPageChange,
|
|
386
426
|
onQueryChange: onListQueryChange,
|
|
387
427
|
onQueryReset: onListQueryReset,
|
|
388
|
-
baseUrl:
|
|
428
|
+
baseUrl: null,
|
|
389
429
|
listProps: {
|
|
390
430
|
actions: ['select'],
|
|
391
431
|
actionsProps: {
|
|
@@ -393,7 +433,13 @@ var UploadField = function UploadField(_ref) {
|
|
|
393
433
|
},
|
|
394
434
|
withoutActionsColumn: true
|
|
395
435
|
}
|
|
396
|
-
})
|
|
436
|
+
}), allowMultipleUploads ? /*#__PURE__*/React__default["default"].createElement(Button__default["default"], {
|
|
437
|
+
type: "button",
|
|
438
|
+
theme: "primary",
|
|
439
|
+
onClick: confirmResourceModal,
|
|
440
|
+
disabled: disabled,
|
|
441
|
+
className: "d-block ms-auto mt-2"
|
|
442
|
+
}, /*#__PURE__*/React__default["default"].createElement(Label__default["default"], null, confirmButtonLabel)) : null) : null);
|
|
397
443
|
};
|
|
398
444
|
UploadField.propTypes = propTypes;
|
|
399
445
|
UploadField.defaultProps = defaultProps;
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@panneau/field-upload",
|
|
3
|
-
"version": "3.0.
|
|
3
|
+
"version": "3.0.11",
|
|
4
4
|
"description": "An Upload field",
|
|
5
5
|
"keywords": [
|
|
6
6
|
"javascript"
|
|
@@ -59,9 +59,9 @@
|
|
|
59
59
|
"@fortawesome/react-fontawesome": "^0.1.14",
|
|
60
60
|
"@panneau/core": "^3.0.9",
|
|
61
61
|
"@panneau/element-button": "^3.0.9",
|
|
62
|
-
"@panneau/element-card": "^3.0.
|
|
62
|
+
"@panneau/element-card": "^3.0.11",
|
|
63
63
|
"@panneau/element-label": "^3.0.9",
|
|
64
|
-
"@panneau/list-resource-items": "^3.0.
|
|
64
|
+
"@panneau/list-resource-items": "^3.0.11",
|
|
65
65
|
"@panneau/modal-dialog": "^3.0.9",
|
|
66
66
|
"@panneau/themes": "^3.0.9",
|
|
67
67
|
"@uppy/core": "^3.2.0",
|
|
@@ -81,5 +81,5 @@
|
|
|
81
81
|
"publishConfig": {
|
|
82
82
|
"access": "public"
|
|
83
83
|
},
|
|
84
|
-
"gitHead": "
|
|
84
|
+
"gitHead": "828edc2a1e178e890c49c6ea24d9370d4f07c554"
|
|
85
85
|
}
|