@panneau/medias 3.0.187 → 3.0.189

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 +30 -20
  2. package/lib/index.js +30 -20
  3. package/package.json +4 -4
package/es/index.js CHANGED
@@ -815,7 +815,7 @@ var propTypes$5 = {
815
815
  layouts: PropTypes.arrayOf(PropTypes.shape({})),
816
816
  theme: PropTypes.string,
817
817
  onUpload: PropTypes.func,
818
- // onItemsChange: PropTypes.func,
818
+ onItemsChange: PropTypes.func,
819
819
  onLayoutChange: PropTypes.func,
820
820
  onMediaFormOpen: PropTypes.func,
821
821
  onMediaFormClose: PropTypes.func,
@@ -853,11 +853,11 @@ var defaultProps$5 = {
853
853
  }],
854
854
  theme: null,
855
855
  onUpload: null,
856
- // onItemsChange: null,
856
+ onItemsChange: null,
857
857
  onLayoutChange: null,
858
858
  onMediaFormOpen: null,
859
859
  onMediaFormClose: null,
860
- selectable: null,
860
+ selectable: false,
861
861
  selectedItems: null,
862
862
  onSelectionChange: null,
863
863
  multipleSelection: false,
@@ -881,6 +881,7 @@ function MediasBrowser(_ref) {
881
881
  layouts = _ref.layouts,
882
882
  theme = _ref.theme,
883
883
  onUpload = _ref.onUpload,
884
+ onItemsChange = _ref.onItemsChange,
884
885
  onLayoutChange = _ref.onLayoutChange,
885
886
  onMediaFormOpen = _ref.onMediaFormOpen,
886
887
  onMediaFormClose = _ref.onMediaFormClose,
@@ -964,14 +965,11 @@ function MediasBrowser(_ref) {
964
965
  _useMedias$pages = _useMedias.pages,
965
966
  pages = _useMedias$pages === void 0 ? null : _useMedias$pages,
966
967
  reload = _useMedias.reload;
967
-
968
- // For picker
969
- // useEffect(() => {
970
- // if (onItemsChange !== null) {
971
- // onItemsChange(items);
972
- // }
973
- // }, [items, onItemsChange]);
974
-
968
+ useEffect(function () {
969
+ if (onItemsChange !== null) {
970
+ onItemsChange(items);
971
+ }
972
+ }, [items, onItemsChange]);
975
973
  var _useState5 = useState(initialLayout || 'table'),
976
974
  _useState6 = _slicedToArray(_useState5, 2),
977
975
  layout = _useState6[0],
@@ -1006,25 +1004,37 @@ function MediasBrowser(_ref) {
1006
1004
  setCurrentMedia(null);
1007
1005
  updateItem(item);
1008
1006
  }, [setCurrentMedia, updateItem]);
1007
+ var _useState7 = useState(null),
1008
+ _useState8 = _slicedToArray(_useState7, 2),
1009
+ uploadedMedias = _useState8[0],
1010
+ setUploadedMedias = _useState8[1];
1009
1011
  var onMediaUploaded = useCallback(function () {
1010
1012
  var medias = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : null;
1011
1013
  if (medias === null) return;
1012
- var rawMedias = isArray(medias) ? medias : [medias];
1014
+ var rawMedias = (isArray(medias) ? medias : [medias]).filter(function (it) {
1015
+ return it !== null;
1016
+ });
1013
1017
  if (onUpload !== null) {
1014
1018
  onUpload(rawMedias).then(function (newMedias) {
1019
+ var uploadedNewMedias = (isArray(newMedias) ? [].concat(_toConsumableArray(uploadedMedias || []), _toConsumableArray(newMedias)) : [].concat(_toConsumableArray(uploadedMedias || []), [newMedias])).filter(function (it) {
1020
+ return it !== null;
1021
+ });
1022
+ setUploadedMedias(uploadedNewMedias);
1015
1023
  if (onSelectionChange !== null) {
1016
1024
  onSelectionChange(newMedias);
1017
- onQueryReset();
1025
+ onQueryReset(); // think about this
1018
1026
  reload();
1019
1027
  }
1020
1028
  });
1029
+ } else {
1030
+ setUploadedMedias(rawMedias);
1031
+ if (onSelectionChange !== null) {
1032
+ onSelectionChange(rawMedias);
1033
+ onQueryReset();
1034
+ reload();
1035
+ }
1021
1036
  }
1022
- if (onSelectionChange !== null) {
1023
- onSelectionChange(rawMedias);
1024
- onQueryReset();
1025
- reload();
1026
- }
1027
- }, [onUpload, reload, onQueryReset, onSelectionChange]);
1037
+ }, [onUpload, reload, onQueryReset, onSelectionChange, uploadedMedias, setUploadedMedias]);
1028
1038
  var pagination = /*#__PURE__*/React.createElement(Pagination, {
1029
1039
  page: page,
1030
1040
  lastPage: lastPage,
@@ -1085,7 +1095,7 @@ function MediasBrowser(_ref) {
1085
1095
  }, [columns, withTrash, showTrashed]);
1086
1096
  var finalItems = useMemo(function () {
1087
1097
  if (withStickySelection && extraItems !== null) {
1088
- return uniqBy([].concat(_toConsumableArray((extraItems || []).map(function (item) {
1098
+ return uniqBy([].concat(_toConsumableArray(page === 1 ? uploadedMedias || [] : []), _toConsumableArray((extraItems || []).map(function (item) {
1089
1099
  var _item$id = item.id,
1090
1100
  itemId = _item$id === void 0 ? null : _item$id;
1091
1101
  return (allItems || []).find(function () {
package/lib/index.js CHANGED
@@ -817,7 +817,7 @@ var propTypes$5 = {
817
817
  layouts: PropTypes.arrayOf(PropTypes.shape({})),
818
818
  theme: PropTypes.string,
819
819
  onUpload: PropTypes.func,
820
- // onItemsChange: PropTypes.func,
820
+ onItemsChange: PropTypes.func,
821
821
  onLayoutChange: PropTypes.func,
822
822
  onMediaFormOpen: PropTypes.func,
823
823
  onMediaFormClose: PropTypes.func,
@@ -855,11 +855,11 @@ var defaultProps$5 = {
855
855
  }],
856
856
  theme: null,
857
857
  onUpload: null,
858
- // onItemsChange: null,
858
+ onItemsChange: null,
859
859
  onLayoutChange: null,
860
860
  onMediaFormOpen: null,
861
861
  onMediaFormClose: null,
862
- selectable: null,
862
+ selectable: false,
863
863
  selectedItems: null,
864
864
  onSelectionChange: null,
865
865
  multipleSelection: false,
@@ -883,6 +883,7 @@ function MediasBrowser(_ref) {
883
883
  layouts = _ref.layouts,
884
884
  theme = _ref.theme,
885
885
  onUpload = _ref.onUpload,
886
+ onItemsChange = _ref.onItemsChange,
886
887
  onLayoutChange = _ref.onLayoutChange,
887
888
  onMediaFormOpen = _ref.onMediaFormOpen,
888
889
  onMediaFormClose = _ref.onMediaFormClose,
@@ -966,14 +967,11 @@ function MediasBrowser(_ref) {
966
967
  _useMedias$pages = _useMedias.pages,
967
968
  pages = _useMedias$pages === void 0 ? null : _useMedias$pages,
968
969
  reload = _useMedias.reload;
969
-
970
- // For picker
971
- // useEffect(() => {
972
- // if (onItemsChange !== null) {
973
- // onItemsChange(items);
974
- // }
975
- // }, [items, onItemsChange]);
976
-
970
+ React.useEffect(function () {
971
+ if (onItemsChange !== null) {
972
+ onItemsChange(items);
973
+ }
974
+ }, [items, onItemsChange]);
977
975
  var _useState5 = React.useState(initialLayout || 'table'),
978
976
  _useState6 = _slicedToArray(_useState5, 2),
979
977
  layout = _useState6[0],
@@ -1008,25 +1006,37 @@ function MediasBrowser(_ref) {
1008
1006
  setCurrentMedia(null);
1009
1007
  updateItem(item);
1010
1008
  }, [setCurrentMedia, updateItem]);
1009
+ var _useState7 = React.useState(null),
1010
+ _useState8 = _slicedToArray(_useState7, 2),
1011
+ uploadedMedias = _useState8[0],
1012
+ setUploadedMedias = _useState8[1];
1011
1013
  var onMediaUploaded = React.useCallback(function () {
1012
1014
  var medias = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : null;
1013
1015
  if (medias === null) return;
1014
- var rawMedias = isArray(medias) ? medias : [medias];
1016
+ var rawMedias = (isArray(medias) ? medias : [medias]).filter(function (it) {
1017
+ return it !== null;
1018
+ });
1015
1019
  if (onUpload !== null) {
1016
1020
  onUpload(rawMedias).then(function (newMedias) {
1021
+ var uploadedNewMedias = (isArray(newMedias) ? [].concat(_toConsumableArray(uploadedMedias || []), _toConsumableArray(newMedias)) : [].concat(_toConsumableArray(uploadedMedias || []), [newMedias])).filter(function (it) {
1022
+ return it !== null;
1023
+ });
1024
+ setUploadedMedias(uploadedNewMedias);
1017
1025
  if (onSelectionChange !== null) {
1018
1026
  onSelectionChange(newMedias);
1019
- onQueryReset();
1027
+ onQueryReset(); // think about this
1020
1028
  reload();
1021
1029
  }
1022
1030
  });
1031
+ } else {
1032
+ setUploadedMedias(rawMedias);
1033
+ if (onSelectionChange !== null) {
1034
+ onSelectionChange(rawMedias);
1035
+ onQueryReset();
1036
+ reload();
1037
+ }
1023
1038
  }
1024
- if (onSelectionChange !== null) {
1025
- onSelectionChange(rawMedias);
1026
- onQueryReset();
1027
- reload();
1028
- }
1029
- }, [onUpload, reload, onQueryReset, onSelectionChange]);
1039
+ }, [onUpload, reload, onQueryReset, onSelectionChange, uploadedMedias, setUploadedMedias]);
1030
1040
  var pagination = /*#__PURE__*/React.createElement(Pagination, {
1031
1041
  page: page,
1032
1042
  lastPage: lastPage,
@@ -1087,7 +1097,7 @@ function MediasBrowser(_ref) {
1087
1097
  }, [columns, withTrash, showTrashed]);
1088
1098
  var finalItems = React.useMemo(function () {
1089
1099
  if (withStickySelection && extraItems !== null) {
1090
- return uniqBy([].concat(_toConsumableArray((extraItems || []).map(function (item) {
1100
+ return uniqBy([].concat(_toConsumableArray(page === 1 ? uploadedMedias || [] : []), _toConsumableArray((extraItems || []).map(function (item) {
1091
1101
  var _item$id = item.id,
1092
1102
  itemId = _item$id === void 0 ? null : _item$id;
1093
1103
  return (allItems || []).find(function () {
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@panneau/medias",
3
- "version": "3.0.187",
3
+ "version": "3.0.189",
4
4
  "description": "",
5
5
  "keywords": [
6
6
  "javascript"
@@ -58,8 +58,8 @@
58
58
  "@panneau/element-media-card": "^3.0.187",
59
59
  "@panneau/element-media-player": "^3.0.187",
60
60
  "@panneau/element-pagination": "^3.0.187",
61
- "@panneau/element-table": "^3.0.187",
62
- "@panneau/field-upload": "^3.0.187",
61
+ "@panneau/element-table": "^3.0.189",
62
+ "@panneau/field-upload": "^3.0.189",
63
63
  "@panneau/filter-filters": "^3.0.187",
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": "659bc65b0123e1d2d5b9aefa6628d49726100747"
72
+ "gitHead": "8858e57d8a8e8f70d35ac3bcb037fd884102c819"
73
73
  }