@panneau/medias 3.0.185 → 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.
Files changed (3) hide show
  1. package/es/index.js +32 -47
  2. package/lib/index.js +32 -47
  3. package/package.json +4 -4
package/es/index.js CHANGED
@@ -817,6 +817,8 @@ var propTypes$5 = {
817
817
  onUpload: PropTypes.func,
818
818
  onItemsChange: PropTypes.func,
819
819
  onLayoutChange: PropTypes.func,
820
+ onMediaFormOpen: PropTypes.func,
821
+ onMediaFormClose: PropTypes.func,
820
822
  selectable: PropTypes.bool,
821
823
  selectedItems: PropTypes.arrayOf(PropTypes.shape({})),
822
824
  onSelectionChange: PropTypes.func,
@@ -853,6 +855,8 @@ var defaultProps$5 = {
853
855
  onUpload: null,
854
856
  onItemsChange: null,
855
857
  onLayoutChange: null,
858
+ onMediaFormOpen: null,
859
+ onMediaFormClose: null,
856
860
  selectable: null,
857
861
  selectedItems: null,
858
862
  onSelectionChange: null,
@@ -879,6 +883,8 @@ function MediasBrowser(_ref) {
879
883
  onUpload = _ref.onUpload,
880
884
  onItemsChange = _ref.onItemsChange,
881
885
  onLayoutChange = _ref.onLayoutChange,
886
+ onMediaFormOpen = _ref.onMediaFormOpen,
887
+ onMediaFormClose = _ref.onMediaFormClose,
882
888
  selectable = _ref.selectable,
883
889
  selectedItems = _ref.selectedItems,
884
890
  onSelectionChange = _ref.onSelectionChange,
@@ -982,6 +988,14 @@ function MediasBrowser(_ref) {
982
988
  var _useMedia = useMedia(),
983
989
  currentMedia = _useMedia.media,
984
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]);
985
999
  var onOpenMedia = useCallback(function (media) {
986
1000
  setCurrentMedia(media);
987
1001
  }, [setCurrentMedia]);
@@ -992,18 +1006,22 @@ function MediasBrowser(_ref) {
992
1006
  setCurrentMedia(null);
993
1007
  updateItem(item);
994
1008
  }, [setCurrentMedia, updateItem]);
995
- var onMediaUploaded = useCallback(function (medias) {
1009
+ var onMediaUploaded = useCallback(function () {
1010
+ var medias = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : null;
1011
+ if (medias === null) return;
996
1012
  var rawMedias = isArray(medias) ? medias : [medias];
997
1013
  if (onUpload !== null) {
998
1014
  onUpload(rawMedias).then(function (newMedias) {
999
1015
  if (onSelectionChange !== null) {
1000
1016
  onSelectionChange(newMedias);
1017
+ onQueryReset();
1001
1018
  reload();
1002
1019
  }
1003
1020
  });
1004
1021
  }
1005
1022
  if (onSelectionChange !== null) {
1006
1023
  onSelectionChange(rawMedias);
1024
+ onQueryReset();
1007
1025
  reload();
1008
1026
  }
1009
1027
  }, [onUpload]);
@@ -1100,7 +1118,7 @@ function MediasBrowser(_ref) {
1100
1118
  }]
1101
1119
  }))), /*#__PURE__*/React.createElement(MediaForm, {
1102
1120
  value: currentMedia,
1103
- fields: mediaFormFields || fields,
1121
+ fields: fields,
1104
1122
  onChange: setCurrentMedia,
1105
1123
  onSave: onSaveMedia,
1106
1124
  onClose: onCloseMedia,
@@ -1198,70 +1216,43 @@ function MediasBrowser(_ref) {
1198
1216
  MediasBrowser.propTypes = propTypes$5;
1199
1217
  MediasBrowser.defaultProps = defaultProps$5;
1200
1218
 
1201
- var _excluded$4 = ["items", "value", "onSelectionChange", "multipleSelection", "types", "onChange", "onClose", "withoutButtons", "className"];
1202
-
1203
- // import { useMediasForm } from './MediasFormContext';
1204
-
1219
+ var _excluded$4 = ["items", "value", "onChange", "multiple", "className"];
1205
1220
  var propTypes$4 = {
1206
- // eslint-disable-next-line react/forbid-prop-types
1207
1221
  items: PropTypes.arrayOf(PropTypes.shape({})),
1208
1222
  value: PropTypes.arrayOf(PropTypes.shape({})),
1209
- onSelectionChange: PropTypes.func,
1210
- multipleSelection: PropTypes.bool,
1211
- types: PropTypes.arrayOf(PropTypes.string),
1223
+ multiple: PropTypes.bool,
1212
1224
  onChange: PropTypes.func.isRequired,
1213
- onClose: PropTypes.func,
1214
- withoutButtons: PropTypes.bool,
1215
1225
  className: PropTypes.string
1216
1226
  };
1217
1227
  var defaultProps$4 = {
1218
1228
  items: null,
1219
1229
  value: null,
1220
- onSelectionChange: null,
1221
- multipleSelection: false,
1222
- types: null,
1223
- onClose: null,
1224
- withoutButtons: false,
1230
+ multiple: false,
1225
1231
  className: null
1226
1232
  };
1227
1233
  function MediasPicker(_ref) {
1228
1234
  var initialItems = _ref.items,
1229
1235
  initialSelectedItems = _ref.value,
1230
- parentOnSelectionChange = _ref.onSelectionChange,
1231
- multipleSelection = _ref.multipleSelection,
1232
- types = _ref.types;
1233
- _ref.onChange;
1234
- _ref.onClose;
1235
- _ref.withoutButtons;
1236
- var className = _ref.className,
1236
+ onChange = _ref.onChange,
1237
+ multiple = _ref.multiple,
1238
+ className = _ref.className,
1237
1239
  props = _objectWithoutProperties(_ref, _excluded$4);
1238
- // const { media: currentMedia } = useMediasForm();
1239
-
1240
1240
  var _useState = useState(initialSelectedItems || null),
1241
1241
  _useState2 = _slicedToArray(_useState, 2),
1242
1242
  selectedItems = _useState2[0],
1243
1243
  setSelectedItems = _useState2[1];
1244
1244
  var onSelectionChange = useCallback(function (newSelection) {
1245
1245
  setSelectedItems(newSelection);
1246
+ if (onChange !== null) {
1247
+ onChange(selectedItems);
1248
+ }
1246
1249
  }, [setSelectedItems]);
1250
+
1247
1251
  // Sync from the top
1248
1252
  useEffect(function () {
1249
1253
  setSelectedItems(initialSelectedItems);
1250
1254
  }, [initialSelectedItems, setSelectedItems]);
1251
- useEffect(function () {
1252
- if (parentOnSelectionChange !== null) {
1253
- parentOnSelectionChange(selectedItems);
1254
- }
1255
- }, [selectedItems, parentOnSelectionChange]);
1256
-
1257
- // const onConfirmSelection = useCallback(() => {
1258
- // if (onChange !== null) {
1259
- // onChange(selectedItems || null);
1260
- // }
1261
- // }, [selectedItems, onChange]);
1262
-
1263
- // const empty = selectedItems === null || (isArray(selectedItems) && selectedItems.length === 0);
1264
-
1255
+ console.log('selectedItems', selectedItems);
1265
1256
  return /*#__PURE__*/React.createElement("div", {
1266
1257
  className: className
1267
1258
  }, /*#__PURE__*/React.createElement(MediasBrowser, Object.assign({
@@ -1270,13 +1261,7 @@ function MediasPicker(_ref) {
1270
1261
  selectable: true,
1271
1262
  selectedItems: selectedItems,
1272
1263
  onSelectionChange: onSelectionChange,
1273
- multipleSelection: multipleSelection,
1274
- types: types
1275
- // extraItems={
1276
- // !multiple && initialSelectedItems !== null
1277
- // ? [initialSelectedItems]
1278
- // : initialSelectedItems
1279
- // }
1264
+ multipleSelection: multiple
1280
1265
  }, props)));
1281
1266
  }
1282
1267
  MediasPicker.propTypes = propTypes$4;
package/lib/index.js CHANGED
@@ -819,6 +819,8 @@ var propTypes$5 = {
819
819
  onUpload: PropTypes.func,
820
820
  onItemsChange: PropTypes.func,
821
821
  onLayoutChange: PropTypes.func,
822
+ onMediaFormOpen: PropTypes.func,
823
+ onMediaFormClose: PropTypes.func,
822
824
  selectable: PropTypes.bool,
823
825
  selectedItems: PropTypes.arrayOf(PropTypes.shape({})),
824
826
  onSelectionChange: PropTypes.func,
@@ -855,6 +857,8 @@ var defaultProps$5 = {
855
857
  onUpload: null,
856
858
  onItemsChange: null,
857
859
  onLayoutChange: null,
860
+ onMediaFormOpen: null,
861
+ onMediaFormClose: null,
858
862
  selectable: null,
859
863
  selectedItems: null,
860
864
  onSelectionChange: null,
@@ -881,6 +885,8 @@ function MediasBrowser(_ref) {
881
885
  onUpload = _ref.onUpload,
882
886
  onItemsChange = _ref.onItemsChange,
883
887
  onLayoutChange = _ref.onLayoutChange,
888
+ onMediaFormOpen = _ref.onMediaFormOpen,
889
+ onMediaFormClose = _ref.onMediaFormClose,
884
890
  selectable = _ref.selectable,
885
891
  selectedItems = _ref.selectedItems,
886
892
  onSelectionChange = _ref.onSelectionChange,
@@ -984,6 +990,14 @@ function MediasBrowser(_ref) {
984
990
  var _useMedia = useMedia(),
985
991
  currentMedia = _useMedia.media,
986
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]);
987
1001
  var onOpenMedia = React.useCallback(function (media) {
988
1002
  setCurrentMedia(media);
989
1003
  }, [setCurrentMedia]);
@@ -994,18 +1008,22 @@ function MediasBrowser(_ref) {
994
1008
  setCurrentMedia(null);
995
1009
  updateItem(item);
996
1010
  }, [setCurrentMedia, updateItem]);
997
- var onMediaUploaded = React.useCallback(function (medias) {
1011
+ var onMediaUploaded = React.useCallback(function () {
1012
+ var medias = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : null;
1013
+ if (medias === null) return;
998
1014
  var rawMedias = isArray(medias) ? medias : [medias];
999
1015
  if (onUpload !== null) {
1000
1016
  onUpload(rawMedias).then(function (newMedias) {
1001
1017
  if (onSelectionChange !== null) {
1002
1018
  onSelectionChange(newMedias);
1019
+ onQueryReset();
1003
1020
  reload();
1004
1021
  }
1005
1022
  });
1006
1023
  }
1007
1024
  if (onSelectionChange !== null) {
1008
1025
  onSelectionChange(rawMedias);
1026
+ onQueryReset();
1009
1027
  reload();
1010
1028
  }
1011
1029
  }, [onUpload]);
@@ -1102,7 +1120,7 @@ function MediasBrowser(_ref) {
1102
1120
  }]
1103
1121
  }))), /*#__PURE__*/React.createElement(MediaForm, {
1104
1122
  value: currentMedia,
1105
- fields: mediaFormFields || fields,
1123
+ fields: fields,
1106
1124
  onChange: setCurrentMedia,
1107
1125
  onSave: onSaveMedia,
1108
1126
  onClose: onCloseMedia,
@@ -1200,70 +1218,43 @@ function MediasBrowser(_ref) {
1200
1218
  MediasBrowser.propTypes = propTypes$5;
1201
1219
  MediasBrowser.defaultProps = defaultProps$5;
1202
1220
 
1203
- var _excluded$4 = ["items", "value", "onSelectionChange", "multipleSelection", "types", "onChange", "onClose", "withoutButtons", "className"];
1204
-
1205
- // import { useMediasForm } from './MediasFormContext';
1206
-
1221
+ var _excluded$4 = ["items", "value", "onChange", "multiple", "className"];
1207
1222
  var propTypes$4 = {
1208
- // eslint-disable-next-line react/forbid-prop-types
1209
1223
  items: PropTypes.arrayOf(PropTypes.shape({})),
1210
1224
  value: PropTypes.arrayOf(PropTypes.shape({})),
1211
- onSelectionChange: PropTypes.func,
1212
- multipleSelection: PropTypes.bool,
1213
- types: PropTypes.arrayOf(PropTypes.string),
1225
+ multiple: PropTypes.bool,
1214
1226
  onChange: PropTypes.func.isRequired,
1215
- onClose: PropTypes.func,
1216
- withoutButtons: PropTypes.bool,
1217
1227
  className: PropTypes.string
1218
1228
  };
1219
1229
  var defaultProps$4 = {
1220
1230
  items: null,
1221
1231
  value: null,
1222
- onSelectionChange: null,
1223
- multipleSelection: false,
1224
- types: null,
1225
- onClose: null,
1226
- withoutButtons: false,
1232
+ multiple: false,
1227
1233
  className: null
1228
1234
  };
1229
1235
  function MediasPicker(_ref) {
1230
1236
  var initialItems = _ref.items,
1231
1237
  initialSelectedItems = _ref.value,
1232
- parentOnSelectionChange = _ref.onSelectionChange,
1233
- multipleSelection = _ref.multipleSelection,
1234
- types = _ref.types;
1235
- _ref.onChange;
1236
- _ref.onClose;
1237
- _ref.withoutButtons;
1238
- var className = _ref.className,
1238
+ onChange = _ref.onChange,
1239
+ multiple = _ref.multiple,
1240
+ className = _ref.className,
1239
1241
  props = _objectWithoutProperties(_ref, _excluded$4);
1240
- // const { media: currentMedia } = useMediasForm();
1241
-
1242
1242
  var _useState = React.useState(initialSelectedItems || null),
1243
1243
  _useState2 = _slicedToArray(_useState, 2),
1244
1244
  selectedItems = _useState2[0],
1245
1245
  setSelectedItems = _useState2[1];
1246
1246
  var onSelectionChange = React.useCallback(function (newSelection) {
1247
1247
  setSelectedItems(newSelection);
1248
+ if (onChange !== null) {
1249
+ onChange(selectedItems);
1250
+ }
1248
1251
  }, [setSelectedItems]);
1252
+
1249
1253
  // Sync from the top
1250
1254
  React.useEffect(function () {
1251
1255
  setSelectedItems(initialSelectedItems);
1252
1256
  }, [initialSelectedItems, setSelectedItems]);
1253
- React.useEffect(function () {
1254
- if (parentOnSelectionChange !== null) {
1255
- parentOnSelectionChange(selectedItems);
1256
- }
1257
- }, [selectedItems, parentOnSelectionChange]);
1258
-
1259
- // const onConfirmSelection = useCallback(() => {
1260
- // if (onChange !== null) {
1261
- // onChange(selectedItems || null);
1262
- // }
1263
- // }, [selectedItems, onChange]);
1264
-
1265
- // const empty = selectedItems === null || (isArray(selectedItems) && selectedItems.length === 0);
1266
-
1257
+ console.log('selectedItems', selectedItems);
1267
1258
  return /*#__PURE__*/React.createElement("div", {
1268
1259
  className: className
1269
1260
  }, /*#__PURE__*/React.createElement(MediasBrowser, Object.assign({
@@ -1272,13 +1263,7 @@ function MediasPicker(_ref) {
1272
1263
  selectable: true,
1273
1264
  selectedItems: selectedItems,
1274
1265
  onSelectionChange: onSelectionChange,
1275
- multipleSelection: multipleSelection,
1276
- types: types
1277
- // extraItems={
1278
- // !multiple && initialSelectedItems !== null
1279
- // ? [initialSelectedItems]
1280
- // : initialSelectedItems
1281
- // }
1266
+ multipleSelection: multiple
1282
1267
  }, props)));
1283
1268
  }
1284
1269
  MediasPicker.propTypes = propTypes$4;
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@panneau/medias",
3
- "version": "3.0.185",
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.182",
62
- "@panneau/field-upload": "^3.0.182",
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": "d07cd67a86c77392ecaf3b2502b58ab4fb3e723b"
72
+ "gitHead": "28e6bd3e2185ae5ad5f0962f9883d1777d6a25aa"
73
73
  }