@panneau/medias 3.0.184 → 3.0.186
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 +52 -107
- package/lib/index.js +52 -107
- package/package.json +4 -4
package/es/index.js
CHANGED
@@ -100,7 +100,7 @@ var useMedias = function useMedias() {
|
|
100
100
|
var useMedias$1 = useMedias;
|
101
101
|
|
102
102
|
var _excluded$6 = ["data"];
|
103
|
-
var useMedia = function useMedia(id, opts) {
|
103
|
+
var useMedia$1 = function useMedia(id, opts) {
|
104
104
|
var api = useMediasApi();
|
105
105
|
var loader = useCallback(function () {
|
106
106
|
return api.find(id);
|
@@ -112,7 +112,7 @@ var useMedia = function useMedia(id, opts) {
|
|
112
112
|
story: data
|
113
113
|
}, request);
|
114
114
|
};
|
115
|
-
var useMedia$
|
115
|
+
var useMedia$2 = useMedia$1;
|
116
116
|
|
117
117
|
var useMediaCreate = function useMediaCreate() {
|
118
118
|
var _useState = useState(false),
|
@@ -557,26 +557,21 @@ function MediaForm(_ref) {
|
|
557
557
|
MediaForm.propTypes = propTypes$7;
|
558
558
|
MediaForm.defaultProps = defaultProps$7;
|
559
559
|
|
560
|
-
var
|
561
|
-
var
|
562
|
-
return useContext(
|
560
|
+
var MediaContext = /*#__PURE__*/React.createContext(null);
|
561
|
+
var useMedia = function useMedia() {
|
562
|
+
return useContext(MediaContext);
|
563
563
|
};
|
564
564
|
var propTypes$6 = {
|
565
565
|
media: PropTypes.shape({
|
566
566
|
id: PropTypes.oneOfType([PropTypes.string, PropTypes.number])
|
567
567
|
}),
|
568
|
-
fields: PropTypes.arrayOf(PropTypes.shape({
|
569
|
-
id: PropTypes.oneOfType([PropTypes.string, PropTypes.number])
|
570
|
-
})),
|
571
568
|
children: PropTypes.node.isRequired
|
572
569
|
};
|
573
570
|
var defaultProps$6 = {
|
574
|
-
media: null
|
575
|
-
fields: null
|
571
|
+
media: null
|
576
572
|
};
|
577
|
-
function
|
573
|
+
function MediaProvider(_ref) {
|
578
574
|
var providedMedia = _ref.media,
|
579
|
-
providedFields = _ref.fields,
|
580
575
|
children = _ref.children;
|
581
576
|
var _useState = useState(providedMedia),
|
582
577
|
_useState2 = _slicedToArray(_useState, 2),
|
@@ -585,16 +580,15 @@ function MediasFormProvider(_ref) {
|
|
585
580
|
var values = useMemo(function () {
|
586
581
|
return {
|
587
582
|
media: media,
|
588
|
-
setMedia: setMedia
|
589
|
-
fields: providedFields
|
583
|
+
setMedia: setMedia
|
590
584
|
};
|
591
|
-
}, [media, setMedia
|
592
|
-
return /*#__PURE__*/React.createElement(
|
585
|
+
}, [media, setMedia]);
|
586
|
+
return /*#__PURE__*/React.createElement(MediaContext.Provider, {
|
593
587
|
value: values
|
594
588
|
}, children);
|
595
589
|
}
|
596
|
-
|
597
|
-
|
590
|
+
MediaProvider.propTypes = propTypes$6;
|
591
|
+
MediaProvider.defaultProps = defaultProps$6;
|
598
592
|
|
599
593
|
var defaultColumns = [{
|
600
594
|
id: 'image',
|
@@ -823,6 +817,8 @@ var propTypes$5 = {
|
|
823
817
|
onUpload: PropTypes.func,
|
824
818
|
onItemsChange: PropTypes.func,
|
825
819
|
onLayoutChange: PropTypes.func,
|
820
|
+
onMediaFormOpen: PropTypes.func,
|
821
|
+
onMediaFormClose: PropTypes.func,
|
826
822
|
selectable: PropTypes.bool,
|
827
823
|
selectedItems: PropTypes.arrayOf(PropTypes.shape({})),
|
828
824
|
onSelectionChange: PropTypes.func,
|
@@ -859,6 +855,8 @@ var defaultProps$5 = {
|
|
859
855
|
onUpload: null,
|
860
856
|
onItemsChange: null,
|
861
857
|
onLayoutChange: null,
|
858
|
+
onMediaFormOpen: null,
|
859
|
+
onMediaFormClose: null,
|
862
860
|
selectable: null,
|
863
861
|
selectedItems: null,
|
864
862
|
onSelectionChange: null,
|
@@ -885,6 +883,8 @@ function MediasBrowser(_ref) {
|
|
885
883
|
onUpload = _ref.onUpload,
|
886
884
|
onItemsChange = _ref.onItemsChange,
|
887
885
|
onLayoutChange = _ref.onLayoutChange,
|
886
|
+
onMediaFormOpen = _ref.onMediaFormOpen,
|
887
|
+
onMediaFormClose = _ref.onMediaFormClose,
|
888
888
|
selectable = _ref.selectable,
|
889
889
|
selectedItems = _ref.selectedItems,
|
890
890
|
onSelectionChange = _ref.onSelectionChange,
|
@@ -985,11 +985,17 @@ function MediasBrowser(_ref) {
|
|
985
985
|
onLayoutChange(newLayout);
|
986
986
|
}
|
987
987
|
}, [setLayout]);
|
988
|
-
var
|
989
|
-
currentMedia =
|
990
|
-
setCurrentMedia =
|
991
|
-
|
992
|
-
|
988
|
+
var _useMedia = useMedia(),
|
989
|
+
currentMedia = _useMedia.media,
|
990
|
+
setCurrentMedia = _useMedia.setMedia;
|
991
|
+
useEffect(function () {
|
992
|
+
if (currentMedia !== null && onMediaFormOpen !== null) {
|
993
|
+
onMediaFormOpen();
|
994
|
+
}
|
995
|
+
if (currentMedia === null && onMediaFormClose !== null) {
|
996
|
+
onMediaFormClose();
|
997
|
+
}
|
998
|
+
}, [currentMedia]);
|
993
999
|
var onOpenMedia = useCallback(function (media) {
|
994
1000
|
setCurrentMedia(media);
|
995
1001
|
}, [setCurrentMedia]);
|
@@ -1000,18 +1006,22 @@ function MediasBrowser(_ref) {
|
|
1000
1006
|
setCurrentMedia(null);
|
1001
1007
|
updateItem(item);
|
1002
1008
|
}, [setCurrentMedia, updateItem]);
|
1003
|
-
var onMediaUploaded = useCallback(function (
|
1009
|
+
var onMediaUploaded = useCallback(function () {
|
1010
|
+
var medias = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : null;
|
1011
|
+
if (medias === null) return;
|
1004
1012
|
var rawMedias = isArray(medias) ? medias : [medias];
|
1005
1013
|
if (onUpload !== null) {
|
1006
1014
|
onUpload(rawMedias).then(function (newMedias) {
|
1007
1015
|
if (onSelectionChange !== null) {
|
1008
1016
|
onSelectionChange(newMedias);
|
1017
|
+
onQueryReset();
|
1009
1018
|
reload();
|
1010
1019
|
}
|
1011
1020
|
});
|
1012
1021
|
}
|
1013
1022
|
if (onSelectionChange !== null) {
|
1014
1023
|
onSelectionChange(rawMedias);
|
1024
|
+
onQueryReset();
|
1015
1025
|
reload();
|
1016
1026
|
}
|
1017
1027
|
}, [onUpload]);
|
@@ -1108,7 +1118,7 @@ function MediasBrowser(_ref) {
|
|
1108
1118
|
}]
|
1109
1119
|
}))), /*#__PURE__*/React.createElement(MediaForm, {
|
1110
1120
|
value: currentMedia,
|
1111
|
-
fields:
|
1121
|
+
fields: fields,
|
1112
1122
|
onChange: setCurrentMedia,
|
1113
1123
|
onSave: onSaveMedia,
|
1114
1124
|
onClose: onCloseMedia,
|
@@ -1206,64 +1216,43 @@ function MediasBrowser(_ref) {
|
|
1206
1216
|
MediasBrowser.propTypes = propTypes$5;
|
1207
1217
|
MediasBrowser.defaultProps = defaultProps$5;
|
1208
1218
|
|
1209
|
-
var _excluded$4 = ["items", "value", "
|
1219
|
+
var _excluded$4 = ["items", "value", "onChange", "multiple", "className"];
|
1210
1220
|
var propTypes$4 = {
|
1211
|
-
// eslint-disable-next-line react/forbid-prop-types
|
1212
1221
|
items: PropTypes.arrayOf(PropTypes.shape({})),
|
1213
1222
|
value: PropTypes.arrayOf(PropTypes.shape({})),
|
1214
|
-
|
1215
|
-
multipleSelection: PropTypes.bool,
|
1216
|
-
types: PropTypes.arrayOf(PropTypes.string),
|
1223
|
+
multiple: PropTypes.bool,
|
1217
1224
|
onChange: PropTypes.func.isRequired,
|
1218
|
-
onClose: PropTypes.func,
|
1219
|
-
withoutButtons: PropTypes.bool,
|
1220
1225
|
className: PropTypes.string
|
1221
1226
|
};
|
1222
1227
|
var defaultProps$4 = {
|
1223
1228
|
items: null,
|
1224
1229
|
value: null,
|
1225
|
-
|
1226
|
-
multipleSelection: false,
|
1227
|
-
types: null,
|
1228
|
-
onClose: null,
|
1229
|
-
withoutButtons: false,
|
1230
|
+
multiple: false,
|
1230
1231
|
className: null
|
1231
1232
|
};
|
1232
1233
|
function MediasPicker(_ref) {
|
1233
1234
|
var initialItems = _ref.items,
|
1234
1235
|
initialSelectedItems = _ref.value,
|
1235
|
-
parentOnSelectionChange = _ref.onSelectionChange,
|
1236
|
-
multipleSelection = _ref.multipleSelection,
|
1237
|
-
types = _ref.types,
|
1238
1236
|
onChange = _ref.onChange,
|
1239
|
-
|
1240
|
-
withoutButtons = _ref.withoutButtons,
|
1237
|
+
multiple = _ref.multiple,
|
1241
1238
|
className = _ref.className,
|
1242
1239
|
props = _objectWithoutProperties(_ref, _excluded$4);
|
1243
|
-
var _useMediasForm = useMediasForm(),
|
1244
|
-
currentMedia = _useMediasForm.media;
|
1245
1240
|
var _useState = useState(initialSelectedItems || null),
|
1246
1241
|
_useState2 = _slicedToArray(_useState, 2),
|
1247
1242
|
selectedItems = _useState2[0],
|
1248
1243
|
setSelectedItems = _useState2[1];
|
1249
1244
|
var onSelectionChange = useCallback(function (newSelection) {
|
1250
1245
|
setSelectedItems(newSelection);
|
1246
|
+
if (onChange !== null) {
|
1247
|
+
onChange(selectedItems);
|
1248
|
+
}
|
1251
1249
|
}, [setSelectedItems]);
|
1250
|
+
|
1252
1251
|
// Sync from the top
|
1253
1252
|
useEffect(function () {
|
1254
1253
|
setSelectedItems(initialSelectedItems);
|
1255
1254
|
}, [initialSelectedItems, setSelectedItems]);
|
1256
|
-
|
1257
|
-
if (parentOnSelectionChange !== null) {
|
1258
|
-
parentOnSelectionChange(selectedItems);
|
1259
|
-
}
|
1260
|
-
}, [selectedItems, parentOnSelectionChange]);
|
1261
|
-
var onConfirmSelection = useCallback(function () {
|
1262
|
-
if (onChange !== null) {
|
1263
|
-
onChange(selectedItems || null);
|
1264
|
-
}
|
1265
|
-
}, [selectedItems, onChange]);
|
1266
|
-
var empty = selectedItems === null || isArray(selectedItems) && selectedItems.length === 0;
|
1255
|
+
console.log('selectedItems', selectedItems);
|
1267
1256
|
return /*#__PURE__*/React.createElement("div", {
|
1268
1257
|
className: className
|
1269
1258
|
}, /*#__PURE__*/React.createElement(MediasBrowser, Object.assign({
|
@@ -1272,46 +1261,8 @@ function MediasPicker(_ref) {
|
|
1272
1261
|
selectable: true,
|
1273
1262
|
selectedItems: selectedItems,
|
1274
1263
|
onSelectionChange: onSelectionChange,
|
1275
|
-
multipleSelection:
|
1276
|
-
|
1277
|
-
// extraItems={
|
1278
|
-
// !multiple && initialSelectedItems !== null
|
1279
|
-
// ? [initialSelectedItems]
|
1280
|
-
// : initialSelectedItems
|
1281
|
-
// }
|
1282
|
-
}, props)), !withoutButtons && currentMedia === null ? /*#__PURE__*/React.createElement("div", {
|
1283
|
-
className: "d-flex w-100 align-items-end justify-content-end mt-3"
|
1284
|
-
}, /*#__PURE__*/React.createElement("div", {
|
1285
|
-
className: "btn-group"
|
1286
|
-
}, onClose !== null ? /*#__PURE__*/React.createElement(Button, {
|
1287
|
-
type: "button",
|
1288
|
-
theme: "secondary",
|
1289
|
-
onClick: onClose,
|
1290
|
-
className: "d-block me-2"
|
1291
|
-
}, /*#__PURE__*/React.createElement(FormattedMessage, {
|
1292
|
-
id: "PyxZY2",
|
1293
|
-
defaultMessage: [{
|
1294
|
-
"type": 0,
|
1295
|
-
"value": "Cancel"
|
1296
|
-
}]
|
1297
|
-
})) : null, /*#__PURE__*/React.createElement(Button, {
|
1298
|
-
type: "button",
|
1299
|
-
theme: "primary",
|
1300
|
-
onClick: onConfirmSelection,
|
1301
|
-
className: "d-block"
|
1302
|
-
}, empty ? /*#__PURE__*/React.createElement(FormattedMessage, {
|
1303
|
-
id: "Krgf6j",
|
1304
|
-
defaultMessage: [{
|
1305
|
-
"type": 0,
|
1306
|
-
"value": "Clear selection"
|
1307
|
-
}]
|
1308
|
-
}) : /*#__PURE__*/React.createElement(FormattedMessage, {
|
1309
|
-
id: "rvOVCV",
|
1310
|
-
defaultMessage: [{
|
1311
|
-
"type": 0,
|
1312
|
-
"value": "Confirm selection"
|
1313
|
-
}]
|
1314
|
-
})))) : null);
|
1264
|
+
multipleSelection: multiple
|
1265
|
+
}, props)));
|
1315
1266
|
}
|
1316
1267
|
MediasPicker.propTypes = propTypes$4;
|
1317
1268
|
MediasPicker.defaultProps = defaultProps$4;
|
@@ -1338,7 +1289,7 @@ function MediasBrowserContainer(_ref) {
|
|
1338
1289
|
props = _objectWithoutProperties(_ref, _excluded$3);
|
1339
1290
|
return /*#__PURE__*/React.createElement(MediasApiProvider, {
|
1340
1291
|
api: api
|
1341
|
-
}, /*#__PURE__*/React.createElement(
|
1292
|
+
}, /*#__PURE__*/React.createElement(MediaProvider, {
|
1342
1293
|
media: media,
|
1343
1294
|
fields: fields
|
1344
1295
|
}, /*#__PURE__*/React.createElement(MediasBrowser, props)));
|
@@ -1346,33 +1297,27 @@ function MediasBrowserContainer(_ref) {
|
|
1346
1297
|
MediasBrowserContainer.propTypes = propTypes$3;
|
1347
1298
|
MediasBrowserContainer.defaultProps = defaultProps$3;
|
1348
1299
|
|
1349
|
-
var _excluded$2 = ["api", "media", "
|
1300
|
+
var _excluded$2 = ["api", "media", "onChange"];
|
1350
1301
|
var propTypes$2 = {
|
1351
1302
|
api: apiPropTypes,
|
1352
1303
|
media: PropTypes.shape({
|
1353
1304
|
id: PropTypes.oneOfType([PropTypes.string, PropTypes.number])
|
1354
1305
|
}),
|
1355
|
-
fields: PropTypes.arrayOf(PropTypes.shape({
|
1356
|
-
id: PropTypes.oneOfType([PropTypes.string, PropTypes.number])
|
1357
|
-
})),
|
1358
1306
|
onChange: PropTypes.func.isRequired
|
1359
1307
|
};
|
1360
1308
|
var defaultProps$2 = {
|
1361
1309
|
api: null,
|
1362
|
-
media: null
|
1363
|
-
fields: null
|
1310
|
+
media: null
|
1364
1311
|
};
|
1365
1312
|
function MediasPickerContainer(_ref) {
|
1366
1313
|
var api = _ref.api,
|
1367
1314
|
media = _ref.media,
|
1368
|
-
fields = _ref.fields,
|
1369
1315
|
onChange = _ref.onChange,
|
1370
1316
|
props = _objectWithoutProperties(_ref, _excluded$2);
|
1371
1317
|
return /*#__PURE__*/React.createElement(MediasApiProvider, {
|
1372
1318
|
api: api
|
1373
|
-
}, /*#__PURE__*/React.createElement(
|
1374
|
-
media: media
|
1375
|
-
fields: fields
|
1319
|
+
}, /*#__PURE__*/React.createElement(MediaProvider, {
|
1320
|
+
media: media
|
1376
1321
|
}, /*#__PURE__*/React.createElement(MediasPicker, Object.assign({}, props, {
|
1377
1322
|
onChange: onChange
|
1378
1323
|
}))));
|
@@ -1540,4 +1485,4 @@ function MediasResourcePicker(_ref) {
|
|
1540
1485
|
MediasResourcePicker.propTypes = propTypes;
|
1541
1486
|
MediasResourcePicker.defaultProps = defaultProps;
|
1542
1487
|
|
1543
|
-
export { MediaForm, MediasApiProvider, MediasBrowser, MediasBrowserContainer, MediasPicker, MediasPickerContainer, MediasResourceBrowser, MediasResourcePicker, apiPropTypes, defaultColumns as columns, defaultFields as fields, defaultFilters as filters, useMedia$
|
1488
|
+
export { MediaForm, MediasApiProvider, MediasBrowser, MediasBrowserContainer, MediasPicker, MediasPickerContainer, MediasResourceBrowser, MediasResourcePicker, apiPropTypes, defaultColumns as columns, defaultFields as fields, defaultFilters as filters, useMedia$2 as useMedia, useMediaCreate$1 as useMediaCreate, useMediaDelete$1 as useMediaDelete, useMediaTrash$1 as useMediaTrash, useMediaUpdate$1 as useMediaUpdate, useMedias$1 as useMedias, useMediasApi };
|
package/lib/index.js
CHANGED
@@ -102,7 +102,7 @@ var useMedias = function useMedias() {
|
|
102
102
|
var useMedias$1 = useMedias;
|
103
103
|
|
104
104
|
var _excluded$6 = ["data"];
|
105
|
-
var useMedia = function useMedia(id, opts) {
|
105
|
+
var useMedia$1 = function useMedia(id, opts) {
|
106
106
|
var api = useMediasApi();
|
107
107
|
var loader = React.useCallback(function () {
|
108
108
|
return api.find(id);
|
@@ -114,7 +114,7 @@ var useMedia = function useMedia(id, opts) {
|
|
114
114
|
story: data$1
|
115
115
|
}, request);
|
116
116
|
};
|
117
|
-
var useMedia$
|
117
|
+
var useMedia$2 = useMedia$1;
|
118
118
|
|
119
119
|
var useMediaCreate = function useMediaCreate() {
|
120
120
|
var _useState = React.useState(false),
|
@@ -559,26 +559,21 @@ function MediaForm(_ref) {
|
|
559
559
|
MediaForm.propTypes = propTypes$7;
|
560
560
|
MediaForm.defaultProps = defaultProps$7;
|
561
561
|
|
562
|
-
var
|
563
|
-
var
|
564
|
-
return React.useContext(
|
562
|
+
var MediaContext = /*#__PURE__*/React.createContext(null);
|
563
|
+
var useMedia = function useMedia() {
|
564
|
+
return React.useContext(MediaContext);
|
565
565
|
};
|
566
566
|
var propTypes$6 = {
|
567
567
|
media: PropTypes.shape({
|
568
568
|
id: PropTypes.oneOfType([PropTypes.string, PropTypes.number])
|
569
569
|
}),
|
570
|
-
fields: PropTypes.arrayOf(PropTypes.shape({
|
571
|
-
id: PropTypes.oneOfType([PropTypes.string, PropTypes.number])
|
572
|
-
})),
|
573
570
|
children: PropTypes.node.isRequired
|
574
571
|
};
|
575
572
|
var defaultProps$6 = {
|
576
|
-
media: null
|
577
|
-
fields: null
|
573
|
+
media: null
|
578
574
|
};
|
579
|
-
function
|
575
|
+
function MediaProvider(_ref) {
|
580
576
|
var providedMedia = _ref.media,
|
581
|
-
providedFields = _ref.fields,
|
582
577
|
children = _ref.children;
|
583
578
|
var _useState = React.useState(providedMedia),
|
584
579
|
_useState2 = _slicedToArray(_useState, 2),
|
@@ -587,16 +582,15 @@ function MediasFormProvider(_ref) {
|
|
587
582
|
var values = React.useMemo(function () {
|
588
583
|
return {
|
589
584
|
media: media,
|
590
|
-
setMedia: setMedia
|
591
|
-
fields: providedFields
|
585
|
+
setMedia: setMedia
|
592
586
|
};
|
593
|
-
}, [media, setMedia
|
594
|
-
return /*#__PURE__*/React.createElement(
|
587
|
+
}, [media, setMedia]);
|
588
|
+
return /*#__PURE__*/React.createElement(MediaContext.Provider, {
|
595
589
|
value: values
|
596
590
|
}, children);
|
597
591
|
}
|
598
|
-
|
599
|
-
|
592
|
+
MediaProvider.propTypes = propTypes$6;
|
593
|
+
MediaProvider.defaultProps = defaultProps$6;
|
600
594
|
|
601
595
|
var defaultColumns = [{
|
602
596
|
id: 'image',
|
@@ -825,6 +819,8 @@ var propTypes$5 = {
|
|
825
819
|
onUpload: PropTypes.func,
|
826
820
|
onItemsChange: PropTypes.func,
|
827
821
|
onLayoutChange: PropTypes.func,
|
822
|
+
onMediaFormOpen: PropTypes.func,
|
823
|
+
onMediaFormClose: PropTypes.func,
|
828
824
|
selectable: PropTypes.bool,
|
829
825
|
selectedItems: PropTypes.arrayOf(PropTypes.shape({})),
|
830
826
|
onSelectionChange: PropTypes.func,
|
@@ -861,6 +857,8 @@ var defaultProps$5 = {
|
|
861
857
|
onUpload: null,
|
862
858
|
onItemsChange: null,
|
863
859
|
onLayoutChange: null,
|
860
|
+
onMediaFormOpen: null,
|
861
|
+
onMediaFormClose: null,
|
864
862
|
selectable: null,
|
865
863
|
selectedItems: null,
|
866
864
|
onSelectionChange: null,
|
@@ -887,6 +885,8 @@ function MediasBrowser(_ref) {
|
|
887
885
|
onUpload = _ref.onUpload,
|
888
886
|
onItemsChange = _ref.onItemsChange,
|
889
887
|
onLayoutChange = _ref.onLayoutChange,
|
888
|
+
onMediaFormOpen = _ref.onMediaFormOpen,
|
889
|
+
onMediaFormClose = _ref.onMediaFormClose,
|
890
890
|
selectable = _ref.selectable,
|
891
891
|
selectedItems = _ref.selectedItems,
|
892
892
|
onSelectionChange = _ref.onSelectionChange,
|
@@ -987,11 +987,17 @@ function MediasBrowser(_ref) {
|
|
987
987
|
onLayoutChange(newLayout);
|
988
988
|
}
|
989
989
|
}, [setLayout]);
|
990
|
-
var
|
991
|
-
currentMedia =
|
992
|
-
setCurrentMedia =
|
993
|
-
|
994
|
-
|
990
|
+
var _useMedia = useMedia(),
|
991
|
+
currentMedia = _useMedia.media,
|
992
|
+
setCurrentMedia = _useMedia.setMedia;
|
993
|
+
React.useEffect(function () {
|
994
|
+
if (currentMedia !== null && onMediaFormOpen !== null) {
|
995
|
+
onMediaFormOpen();
|
996
|
+
}
|
997
|
+
if (currentMedia === null && onMediaFormClose !== null) {
|
998
|
+
onMediaFormClose();
|
999
|
+
}
|
1000
|
+
}, [currentMedia]);
|
995
1001
|
var onOpenMedia = React.useCallback(function (media) {
|
996
1002
|
setCurrentMedia(media);
|
997
1003
|
}, [setCurrentMedia]);
|
@@ -1002,18 +1008,22 @@ function MediasBrowser(_ref) {
|
|
1002
1008
|
setCurrentMedia(null);
|
1003
1009
|
updateItem(item);
|
1004
1010
|
}, [setCurrentMedia, updateItem]);
|
1005
|
-
var onMediaUploaded = React.useCallback(function (
|
1011
|
+
var onMediaUploaded = React.useCallback(function () {
|
1012
|
+
var medias = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : null;
|
1013
|
+
if (medias === null) return;
|
1006
1014
|
var rawMedias = isArray(medias) ? medias : [medias];
|
1007
1015
|
if (onUpload !== null) {
|
1008
1016
|
onUpload(rawMedias).then(function (newMedias) {
|
1009
1017
|
if (onSelectionChange !== null) {
|
1010
1018
|
onSelectionChange(newMedias);
|
1019
|
+
onQueryReset();
|
1011
1020
|
reload();
|
1012
1021
|
}
|
1013
1022
|
});
|
1014
1023
|
}
|
1015
1024
|
if (onSelectionChange !== null) {
|
1016
1025
|
onSelectionChange(rawMedias);
|
1026
|
+
onQueryReset();
|
1017
1027
|
reload();
|
1018
1028
|
}
|
1019
1029
|
}, [onUpload]);
|
@@ -1110,7 +1120,7 @@ function MediasBrowser(_ref) {
|
|
1110
1120
|
}]
|
1111
1121
|
}))), /*#__PURE__*/React.createElement(MediaForm, {
|
1112
1122
|
value: currentMedia,
|
1113
|
-
fields:
|
1123
|
+
fields: fields,
|
1114
1124
|
onChange: setCurrentMedia,
|
1115
1125
|
onSave: onSaveMedia,
|
1116
1126
|
onClose: onCloseMedia,
|
@@ -1208,64 +1218,43 @@ function MediasBrowser(_ref) {
|
|
1208
1218
|
MediasBrowser.propTypes = propTypes$5;
|
1209
1219
|
MediasBrowser.defaultProps = defaultProps$5;
|
1210
1220
|
|
1211
|
-
var _excluded$4 = ["items", "value", "
|
1221
|
+
var _excluded$4 = ["items", "value", "onChange", "multiple", "className"];
|
1212
1222
|
var propTypes$4 = {
|
1213
|
-
// eslint-disable-next-line react/forbid-prop-types
|
1214
1223
|
items: PropTypes.arrayOf(PropTypes.shape({})),
|
1215
1224
|
value: PropTypes.arrayOf(PropTypes.shape({})),
|
1216
|
-
|
1217
|
-
multipleSelection: PropTypes.bool,
|
1218
|
-
types: PropTypes.arrayOf(PropTypes.string),
|
1225
|
+
multiple: PropTypes.bool,
|
1219
1226
|
onChange: PropTypes.func.isRequired,
|
1220
|
-
onClose: PropTypes.func,
|
1221
|
-
withoutButtons: PropTypes.bool,
|
1222
1227
|
className: PropTypes.string
|
1223
1228
|
};
|
1224
1229
|
var defaultProps$4 = {
|
1225
1230
|
items: null,
|
1226
1231
|
value: null,
|
1227
|
-
|
1228
|
-
multipleSelection: false,
|
1229
|
-
types: null,
|
1230
|
-
onClose: null,
|
1231
|
-
withoutButtons: false,
|
1232
|
+
multiple: false,
|
1232
1233
|
className: null
|
1233
1234
|
};
|
1234
1235
|
function MediasPicker(_ref) {
|
1235
1236
|
var initialItems = _ref.items,
|
1236
1237
|
initialSelectedItems = _ref.value,
|
1237
|
-
parentOnSelectionChange = _ref.onSelectionChange,
|
1238
|
-
multipleSelection = _ref.multipleSelection,
|
1239
|
-
types = _ref.types,
|
1240
1238
|
onChange = _ref.onChange,
|
1241
|
-
|
1242
|
-
withoutButtons = _ref.withoutButtons,
|
1239
|
+
multiple = _ref.multiple,
|
1243
1240
|
className = _ref.className,
|
1244
1241
|
props = _objectWithoutProperties(_ref, _excluded$4);
|
1245
|
-
var _useMediasForm = useMediasForm(),
|
1246
|
-
currentMedia = _useMediasForm.media;
|
1247
1242
|
var _useState = React.useState(initialSelectedItems || null),
|
1248
1243
|
_useState2 = _slicedToArray(_useState, 2),
|
1249
1244
|
selectedItems = _useState2[0],
|
1250
1245
|
setSelectedItems = _useState2[1];
|
1251
1246
|
var onSelectionChange = React.useCallback(function (newSelection) {
|
1252
1247
|
setSelectedItems(newSelection);
|
1248
|
+
if (onChange !== null) {
|
1249
|
+
onChange(selectedItems);
|
1250
|
+
}
|
1253
1251
|
}, [setSelectedItems]);
|
1252
|
+
|
1254
1253
|
// Sync from the top
|
1255
1254
|
React.useEffect(function () {
|
1256
1255
|
setSelectedItems(initialSelectedItems);
|
1257
1256
|
}, [initialSelectedItems, setSelectedItems]);
|
1258
|
-
|
1259
|
-
if (parentOnSelectionChange !== null) {
|
1260
|
-
parentOnSelectionChange(selectedItems);
|
1261
|
-
}
|
1262
|
-
}, [selectedItems, parentOnSelectionChange]);
|
1263
|
-
var onConfirmSelection = React.useCallback(function () {
|
1264
|
-
if (onChange !== null) {
|
1265
|
-
onChange(selectedItems || null);
|
1266
|
-
}
|
1267
|
-
}, [selectedItems, onChange]);
|
1268
|
-
var empty = selectedItems === null || isArray(selectedItems) && selectedItems.length === 0;
|
1257
|
+
console.log('selectedItems', selectedItems);
|
1269
1258
|
return /*#__PURE__*/React.createElement("div", {
|
1270
1259
|
className: className
|
1271
1260
|
}, /*#__PURE__*/React.createElement(MediasBrowser, Object.assign({
|
@@ -1274,46 +1263,8 @@ function MediasPicker(_ref) {
|
|
1274
1263
|
selectable: true,
|
1275
1264
|
selectedItems: selectedItems,
|
1276
1265
|
onSelectionChange: onSelectionChange,
|
1277
|
-
multipleSelection:
|
1278
|
-
|
1279
|
-
// extraItems={
|
1280
|
-
// !multiple && initialSelectedItems !== null
|
1281
|
-
// ? [initialSelectedItems]
|
1282
|
-
// : initialSelectedItems
|
1283
|
-
// }
|
1284
|
-
}, props)), !withoutButtons && currentMedia === null ? /*#__PURE__*/React.createElement("div", {
|
1285
|
-
className: "d-flex w-100 align-items-end justify-content-end mt-3"
|
1286
|
-
}, /*#__PURE__*/React.createElement("div", {
|
1287
|
-
className: "btn-group"
|
1288
|
-
}, onClose !== null ? /*#__PURE__*/React.createElement(Button, {
|
1289
|
-
type: "button",
|
1290
|
-
theme: "secondary",
|
1291
|
-
onClick: onClose,
|
1292
|
-
className: "d-block me-2"
|
1293
|
-
}, /*#__PURE__*/React.createElement(reactIntl.FormattedMessage, {
|
1294
|
-
id: "PyxZY2",
|
1295
|
-
defaultMessage: [{
|
1296
|
-
"type": 0,
|
1297
|
-
"value": "Cancel"
|
1298
|
-
}]
|
1299
|
-
})) : null, /*#__PURE__*/React.createElement(Button, {
|
1300
|
-
type: "button",
|
1301
|
-
theme: "primary",
|
1302
|
-
onClick: onConfirmSelection,
|
1303
|
-
className: "d-block"
|
1304
|
-
}, empty ? /*#__PURE__*/React.createElement(reactIntl.FormattedMessage, {
|
1305
|
-
id: "Krgf6j",
|
1306
|
-
defaultMessage: [{
|
1307
|
-
"type": 0,
|
1308
|
-
"value": "Clear selection"
|
1309
|
-
}]
|
1310
|
-
}) : /*#__PURE__*/React.createElement(reactIntl.FormattedMessage, {
|
1311
|
-
id: "rvOVCV",
|
1312
|
-
defaultMessage: [{
|
1313
|
-
"type": 0,
|
1314
|
-
"value": "Confirm selection"
|
1315
|
-
}]
|
1316
|
-
})))) : null);
|
1266
|
+
multipleSelection: multiple
|
1267
|
+
}, props)));
|
1317
1268
|
}
|
1318
1269
|
MediasPicker.propTypes = propTypes$4;
|
1319
1270
|
MediasPicker.defaultProps = defaultProps$4;
|
@@ -1340,7 +1291,7 @@ function MediasBrowserContainer(_ref) {
|
|
1340
1291
|
props = _objectWithoutProperties(_ref, _excluded$3);
|
1341
1292
|
return /*#__PURE__*/React.createElement(MediasApiProvider, {
|
1342
1293
|
api: api
|
1343
|
-
}, /*#__PURE__*/React.createElement(
|
1294
|
+
}, /*#__PURE__*/React.createElement(MediaProvider, {
|
1344
1295
|
media: media,
|
1345
1296
|
fields: fields
|
1346
1297
|
}, /*#__PURE__*/React.createElement(MediasBrowser, props)));
|
@@ -1348,33 +1299,27 @@ function MediasBrowserContainer(_ref) {
|
|
1348
1299
|
MediasBrowserContainer.propTypes = propTypes$3;
|
1349
1300
|
MediasBrowserContainer.defaultProps = defaultProps$3;
|
1350
1301
|
|
1351
|
-
var _excluded$2 = ["api", "media", "
|
1302
|
+
var _excluded$2 = ["api", "media", "onChange"];
|
1352
1303
|
var propTypes$2 = {
|
1353
1304
|
api: apiPropTypes,
|
1354
1305
|
media: PropTypes.shape({
|
1355
1306
|
id: PropTypes.oneOfType([PropTypes.string, PropTypes.number])
|
1356
1307
|
}),
|
1357
|
-
fields: PropTypes.arrayOf(PropTypes.shape({
|
1358
|
-
id: PropTypes.oneOfType([PropTypes.string, PropTypes.number])
|
1359
|
-
})),
|
1360
1308
|
onChange: PropTypes.func.isRequired
|
1361
1309
|
};
|
1362
1310
|
var defaultProps$2 = {
|
1363
1311
|
api: null,
|
1364
|
-
media: null
|
1365
|
-
fields: null
|
1312
|
+
media: null
|
1366
1313
|
};
|
1367
1314
|
function MediasPickerContainer(_ref) {
|
1368
1315
|
var api = _ref.api,
|
1369
1316
|
media = _ref.media,
|
1370
|
-
fields = _ref.fields,
|
1371
1317
|
onChange = _ref.onChange,
|
1372
1318
|
props = _objectWithoutProperties(_ref, _excluded$2);
|
1373
1319
|
return /*#__PURE__*/React.createElement(MediasApiProvider, {
|
1374
1320
|
api: api
|
1375
|
-
}, /*#__PURE__*/React.createElement(
|
1376
|
-
media: media
|
1377
|
-
fields: fields
|
1321
|
+
}, /*#__PURE__*/React.createElement(MediaProvider, {
|
1322
|
+
media: media
|
1378
1323
|
}, /*#__PURE__*/React.createElement(MediasPicker, Object.assign({}, props, {
|
1379
1324
|
onChange: onChange
|
1380
1325
|
}))));
|
@@ -1554,7 +1499,7 @@ exports.apiPropTypes = apiPropTypes;
|
|
1554
1499
|
exports.columns = defaultColumns;
|
1555
1500
|
exports.fields = defaultFields;
|
1556
1501
|
exports.filters = defaultFilters;
|
1557
|
-
exports.useMedia = useMedia$
|
1502
|
+
exports.useMedia = useMedia$2;
|
1558
1503
|
exports.useMediaCreate = useMediaCreate$1;
|
1559
1504
|
exports.useMediaDelete = useMediaDelete$1;
|
1560
1505
|
exports.useMediaTrash = useMediaTrash$1;
|
package/package.json
CHANGED
@@ -1,6 +1,6 @@
|
|
1
1
|
{
|
2
2
|
"name": "@panneau/medias",
|
3
|
-
"version": "3.0.
|
3
|
+
"version": "3.0.186",
|
4
4
|
"description": "",
|
5
5
|
"keywords": [
|
6
6
|
"javascript"
|
@@ -58,8 +58,8 @@
|
|
58
58
|
"@panneau/element-media-card": "^3.0.182",
|
59
59
|
"@panneau/element-media-player": "^3.0.182",
|
60
60
|
"@panneau/element-pagination": "^3.0.182",
|
61
|
-
"@panneau/element-table": "^3.0.
|
62
|
-
"@panneau/field-upload": "^3.0.
|
61
|
+
"@panneau/element-table": "^3.0.186",
|
62
|
+
"@panneau/field-upload": "^3.0.186",
|
63
63
|
"@panneau/filter-filters": "^3.0.182",
|
64
64
|
"classnames": "^2.5.1",
|
65
65
|
"lodash": "^4.17.21",
|
@@ -69,5 +69,5 @@
|
|
69
69
|
"publishConfig": {
|
70
70
|
"access": "public"
|
71
71
|
},
|
72
|
-
"gitHead": "
|
72
|
+
"gitHead": "28e6bd3e2185ae5ad5f0962f9883d1777d6a25aa"
|
73
73
|
}
|