@panneau/medias 3.0.171 → 3.0.172

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.
@@ -1 +1 @@
1
- .panneau-medias-mediaFrame{margin-bottom:10px;position:relative}.panneau-medias-playButton{left:50%;position:absolute;top:50%;-webkit-transform:translate(-50%,-50%);-ms-transform:translate(-50%,-50%);transform:translate(-50%,-50%)}
1
+ .panneau-medias-mediaFrame{aspect-ratio:1/1;margin-bottom:10px;position:relative}.panneau-medias-playButton{left:50%;position:absolute;top:50%;-webkit-transform:translate(-50%,-50%);-ms-transform:translate(-50%,-50%);transform:translate(-50%,-50%)}
package/es/index.js CHANGED
@@ -9,10 +9,12 @@ import { useForm, useQuery, useItemSelection } from '@panneau/core/hooks';
9
9
  import Button from '@panneau/element-button';
10
10
  import Form from '@panneau/element-form';
11
11
  import FormStatus from '@panneau/element-form-status';
12
+ import ImageDisplay from '@panneau/display-image';
12
13
  import MediaPlayer from '@panneau/element-media-player';
13
- import MediaPreview from '@panneau/element-media-preview';
14
+ import _toConsumableArray from '@babel/runtime/helpers/toConsumableArray';
14
15
  import _objectWithoutProperties from '@babel/runtime/helpers/objectWithoutProperties';
15
16
  import _objectSpread from '@babel/runtime/helpers/objectSpread2';
17
+ import uniqBy from 'lodash/uniqBy';
16
18
  import { PropTypes as PropTypes$1 } from '@panneau/core';
17
19
  import Buttons from '@panneau/element-buttons';
18
20
  import Grid from '@panneau/element-grid';
@@ -22,7 +24,6 @@ import Pagination from '@panneau/element-pagination';
22
24
  import Table from '@panneau/element-table';
23
25
  import Filters from '@panneau/filter-filters';
24
26
  import { useItems, useData, useApi } from '@panneau/data';
25
- import _toConsumableArray from '@babel/runtime/helpers/toConsumableArray';
26
27
 
27
28
  /* eslint-disable react/jsx-props-no-spreading */
28
29
  var MediasApiContext = /*#__PURE__*/React.createContext(null);
@@ -214,22 +215,18 @@ function MediaFrame(_ref) {
214
215
  setShowPlayer(!showPlayer);
215
216
  }, [showPlayer, setShowPlayer]);
216
217
  return /*#__PURE__*/React.createElement("div", {
217
- className: classNames([className, 'position-relative', _defineProperty({}, className, className != null)])
218
+ className: classNames([styles.mediaFrame, 'position-relative', 'd-flex', 'flex-grow-1', 'w-100', 'mw-100', _defineProperty({}, className, className != null)])
218
219
  }, showPlayer ? /*#__PURE__*/React.createElement(MediaPlayer, {
219
220
  value: value,
220
221
  width: "100%"
221
- }) : /*#__PURE__*/React.createElement(MediaPreview, {
222
+ }) : /*#__PURE__*/React.createElement(ImageDisplay, {
223
+ className: "w-100",
222
224
  value: value,
223
- width: "100%"
224
- }, /*#__PURE__*/React.createElement("div", {
225
- className: styles.playButton
226
- }, !showPlayer && (type === 'video' || type === 'embed' || type === 'audio') ? /*#__PURE__*/React.createElement(Button, {
227
- className: "rounded-circle",
228
- theme: "secondary",
229
- onClick: onClick,
230
- icon: "play-fill",
231
- size: "lg"
232
- }) : null)));
225
+ maxWidth: "100%",
226
+ maxHeight: "100%",
227
+ withoutZoom: true,
228
+ onClick: type === 'video' || type === 'audio' ? onClick : null
229
+ }));
233
230
  }
234
231
  MediaFrame.propTypes = propTypes$8;
235
232
  MediaFrame.defaultProps = defaultProps$8;
@@ -775,10 +772,8 @@ var _excluded$5 = ["page", "count"],
775
772
  _excluded2 = ["types"];
776
773
  var propTypes$5 = {
777
774
  items: PropTypes$1.medias,
775
+ extraItems: PropTypes$1.medias,
778
776
  types: PropTypes.arrayOf(PropTypes.string),
779
- // uploadButton: PropTypes.shape({
780
- // value: PropTypes.oneOfType([PanneauPropTypes.medias, PanneauPropTypes.media]),
781
- // }),
782
777
  buttons: PropTypes$1.buttons,
783
778
  filters: PropTypes$1.filters,
784
779
  columns: PropTypes$1.tableColumns,
@@ -789,16 +784,16 @@ var propTypes$5 = {
789
784
  layouts: PropTypes.arrayOf(PropTypes.shape({})),
790
785
  theme: PropTypes.string,
791
786
  tableProps: PropTypes.bool,
792
- onSelectItem: PropTypes.func,
793
- onSelectItems: PropTypes.func,
794
787
  onItemsChange: PropTypes.func,
795
788
  onLayoutChange: PropTypes.func,
796
789
  selectedCount: PropTypes.number,
797
790
  onClearSelected: PropTypes.func,
798
- className: PropTypes.string
791
+ className: PropTypes.string,
792
+ buttonsClassName: PropTypes.string
799
793
  };
800
794
  var defaultProps$5 = {
801
795
  items: null,
796
+ extraItems: null,
802
797
  types: null,
803
798
  buttons: null,
804
799
  filters: defaultFilters,
@@ -820,16 +815,16 @@ var defaultProps$5 = {
820
815
  }],
821
816
  theme: null,
822
817
  tableProps: null,
823
- onSelectItem: null,
824
- onSelectItems: null,
825
818
  onItemsChange: null,
826
819
  onLayoutChange: null,
827
820
  selectedCount: null,
828
821
  onClearSelected: null,
829
- className: null
822
+ className: null,
823
+ buttonsClassName: null
830
824
  };
831
825
  function MediasBrowser(_ref) {
832
826
  var initialItems = _ref.items,
827
+ extraItems = _ref.extraItems,
833
828
  types = _ref.types,
834
829
  baseUrl = _ref.baseUrl,
835
830
  buttons = _ref.buttons,
@@ -841,13 +836,12 @@ function MediasBrowser(_ref) {
841
836
  layouts = _ref.layouts,
842
837
  theme = _ref.theme,
843
838
  tableProps = _ref.tableProps,
844
- onSelectItem = _ref.onSelectItem,
845
- onSelectItems = _ref.onSelectItems,
846
839
  onItemsChange = _ref.onItemsChange,
847
840
  onLayoutChange = _ref.onLayoutChange,
848
841
  selectedCount = _ref.selectedCount,
849
842
  onClearSelected = _ref.onClearSelected,
850
- className = _ref.className;
843
+ className = _ref.className,
844
+ buttonsClassName = _ref.buttonsClassName;
851
845
  var _useState = useState(initialItems || null),
852
846
  _useState2 = _slicedToArray(_useState, 1),
853
847
  baseItems = _useState2[0];
@@ -925,13 +919,6 @@ function MediasBrowser(_ref) {
925
919
  var onCloseMedia = useCallback(function () {
926
920
  setCurrentMedia(null);
927
921
  }, [setCurrentMedia]);
928
-
929
- // TODO: context for this?
930
- useCallback(function () {
931
- var media = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : null;
932
- onSelectItems(media);
933
- onQueryReset();
934
- }, [setCurrentMedia, onQueryReset, onSelectItems]);
935
922
  var onSaveMedia = useCallback(function () {
936
923
  setCurrentMedia(null);
937
924
  onQueryReset();
@@ -963,13 +950,20 @@ function MediasBrowser(_ref) {
963
950
  }
964
951
  return filters;
965
952
  }, [filters, types]);
953
+ var finalItems = useMemo(function () {
954
+ if (page === 1 && extraItems !== null) {
955
+ return uniqBy([].concat(_toConsumableArray(extraItems), _toConsumableArray(items || [])), function (it) {
956
+ return it === null || it === void 0 ? void 0 : it.id;
957
+ });
958
+ }
959
+ return items;
960
+ }, [items, page, extraItems]);
966
961
  return /*#__PURE__*/React.createElement("div", {
967
962
  className: classNames([styles.container, className])
968
963
  }, currentMedia !== null ? /*#__PURE__*/React.createElement(React.Fragment, null, /*#__PURE__*/React.createElement("div", {
969
964
  className: "mt-2 mb-4"
970
965
  }, /*#__PURE__*/React.createElement(Button, {
971
966
  theme: "primary",
972
- outline: true,
973
967
  onClick: onCloseMedia,
974
968
  icon: "arrow-left"
975
969
  }, /*#__PURE__*/React.createElement(FormattedMessage, {
@@ -985,7 +979,6 @@ function MediasBrowser(_ref) {
985
979
  onSave: onSaveMedia,
986
980
  onClose: onCloseMedia
987
981
  })) : /*#__PURE__*/React.createElement(React.Fragment, null, filters !== null ? /*#__PURE__*/React.createElement(Filters, {
988
- className: "mt-0 pt-0",
989
982
  value: query,
990
983
  clearValue: types !== null ? queryWithoutTypes : null,
991
984
  filters: finalFilters,
@@ -994,12 +987,12 @@ function MediasBrowser(_ref) {
994
987
  theme: theme
995
988
  }, buttons !== null ? /*#__PURE__*/React.createElement(Buttons, {
996
989
  items: buttons,
997
- className: "ms-xl-auto"
990
+ className: buttonsClassName
998
991
  }) : null) : null, filters === null && buttons !== null ? /*#__PURE__*/React.createElement("div", {
999
992
  className: "mt-2 mb-2"
1000
993
  }, buttons !== null ? /*#__PURE__*/React.createElement(Buttons, {
1001
994
  items: buttons,
1002
- className: "ms-xl-auto"
995
+ className: buttonsClassName
1003
996
  }) : null) : null, /*#__PURE__*/React.createElement("div", {
1004
997
  className: classNames(['d-flex', 'mt-1', 'mb-3', {
1005
998
  'justify-content-between': hasLayouts,
@@ -1026,29 +1019,28 @@ function MediasBrowser(_ref) {
1026
1019
  className: 'd-flex w-100',
1027
1020
  cardClassName: 'flex-grow-1',
1028
1021
  vertical: true,
1029
- selectable: onSelectItem !== null,
1030
1022
  onClickDescription: function onClickDescription(it) {
1031
1023
  onOpenMedia(it);
1032
1024
  }
1033
- }
1034
- }, tableProps, {
1035
- items: items || [],
1036
- loading: loading,
1037
- onSelectItem: onSelectItem !== null ? onSelectItem : function (it) {
1025
+ },
1026
+ onSelectItem: function onSelectItem(it) {
1038
1027
  return onOpenMedia(it);
1039
1028
  }
1029
+ }, tableProps, {
1030
+ items: finalItems || [],
1031
+ loading: loading
1040
1032
  })) : null, layout === 'table' ? /*#__PURE__*/React.createElement(Table, Object.assign({
1041
1033
  theme: theme,
1042
1034
  columns: columns,
1043
1035
  displayPlaceholder: /*#__PURE__*/React.createElement("span", {
1044
1036
  className: "text-secondary text-opacity-75"
1045
- }, "\u2014")
1037
+ }, "\u2014"),
1038
+ onSelectItem: function onSelectItem(it) {
1039
+ return onOpenMedia(it);
1040
+ }
1046
1041
  }, tableProps, {
1047
- items: items,
1042
+ items: finalItems,
1048
1043
  loading: loading,
1049
- onSelectItem: onSelectItem !== null ? onSelectItem : function (it) {
1050
- return onOpenMedia(it);
1051
- },
1052
1044
  actionsProps: {
1053
1045
  getEditPropsFromItem: function getEditPropsFromItem(it) {
1054
1046
  return {
@@ -1104,60 +1096,47 @@ function MediasPicker(_ref) {
1104
1096
  tableProps = _ref.tableProps,
1105
1097
  className = _ref.className,
1106
1098
  props = _objectWithoutProperties(_ref, _excluded$4);
1099
+ // For selection only
1107
1100
  var _useState = useState(initialItems),
1108
1101
  _useState2 = _slicedToArray(_useState, 2),
1109
- items = _useState2[0],
1102
+ currentItems = _useState2[0],
1110
1103
  setItems = _useState2[1];
1111
1104
  var onItemsChange = useCallback(function (pageItems) {
1112
1105
  setItems(pageItems);
1113
1106
  }, [setItems]);
1114
- var disabled = initialItems === null || initialItems.length < 1;
1115
1107
  var _useMediasForm = useMediasForm(),
1116
1108
  currentMedia = _useMediasForm.media;
1117
1109
  var _useItemSelection = useItemSelection({
1118
- items: items,
1110
+ currentItems: currentItems,
1119
1111
  selectedItems: initialSelectedItems,
1120
1112
  onSelectionChange: onChange,
1121
1113
  multipleSelection: multiple
1122
1114
  }),
1123
1115
  onSelectItem = _useItemSelection.onSelectItem,
1124
- onSelectItems = _useItemSelection.onSelectItems,
1125
1116
  onSelectPage = _useItemSelection.onSelectPage,
1126
1117
  onClearSelected = _useItemSelection.onClearSelected,
1127
1118
  pageSelected = _useItemSelection.pageSelected,
1128
1119
  selectedCount = _useItemSelection.selectedCount,
1129
1120
  selectedItems = _useItemSelection.selectedItems;
1121
+ var disabled = currentItems === null || currentItems.length < 1;
1130
1122
  var onConfirmSelection = useCallback(function () {
1131
1123
  if (onConfirm !== null) {
1132
1124
  onConfirm(selectedItems);
1133
1125
  }
1134
1126
  }, [selectedItems, onConfirm]);
1135
-
1136
- // const finalUploadButton = useMemo(
1137
- // () => ({
1138
- // ...(uploadButton || null),
1139
- // ...(types !== null ? { types } : null),
1140
- // allowMultipleUploads: multiple,
1141
- // maxNumberOfFiles: multiple ? 10 : 0,
1142
- // value: selectedItems,
1143
- // }),
1144
- // [uploadButton, selectedItems, multiple],
1145
- // );
1146
-
1147
1127
  return /*#__PURE__*/React.createElement("div", {
1148
1128
  className: className
1149
1129
  }, /*#__PURE__*/React.createElement(MediasBrowser, Object.assign({
1150
1130
  tableProps: _objectSpread({
1151
- selectable: multiple,
1131
+ selectable: true,
1152
1132
  multipleSelection: multiple,
1153
1133
  onSelectItem: onSelectItem,
1154
1134
  onSelectPage: onSelectPage,
1155
1135
  selectedItems: selectedItems,
1156
1136
  pageSelected: pageSelected
1157
- }, tableProps),
1158
- items: items,
1159
- onSelectItem: onSelectItem,
1160
- onSelectItems: onSelectItems,
1137
+ }, tableProps)
1138
+ // items={initialItems} // TODO: fix useItems if using this
1139
+ ,
1161
1140
  onItemsChange: onItemsChange,
1162
1141
  selectedCount: selectedCount,
1163
1142
  onClearSelected: onClearSelected,
package/lib/index.js CHANGED
@@ -11,10 +11,12 @@ var hooks = require('@panneau/core/hooks');
11
11
  var Button = require('@panneau/element-button');
12
12
  var Form = require('@panneau/element-form');
13
13
  var FormStatus = require('@panneau/element-form-status');
14
+ var ImageDisplay = require('@panneau/display-image');
14
15
  var MediaPlayer = require('@panneau/element-media-player');
15
- var MediaPreview = require('@panneau/element-media-preview');
16
+ var _toConsumableArray = require('@babel/runtime/helpers/toConsumableArray');
16
17
  var _objectWithoutProperties = require('@babel/runtime/helpers/objectWithoutProperties');
17
18
  var _objectSpread = require('@babel/runtime/helpers/objectSpread2');
19
+ var uniqBy = require('lodash/uniqBy');
18
20
  var core = require('@panneau/core');
19
21
  var Buttons = require('@panneau/element-buttons');
20
22
  var Grid = require('@panneau/element-grid');
@@ -24,7 +26,6 @@ var Pagination = require('@panneau/element-pagination');
24
26
  var Table = require('@panneau/element-table');
25
27
  var Filters = require('@panneau/filter-filters');
26
28
  var data = require('@panneau/data');
27
- var _toConsumableArray = require('@babel/runtime/helpers/toConsumableArray');
28
29
 
29
30
  /* eslint-disable react/jsx-props-no-spreading */
30
31
  var MediasApiContext = /*#__PURE__*/React.createContext(null);
@@ -216,22 +217,18 @@ function MediaFrame(_ref) {
216
217
  setShowPlayer(!showPlayer);
217
218
  }, [showPlayer, setShowPlayer]);
218
219
  return /*#__PURE__*/React.createElement("div", {
219
- className: classNames([className, 'position-relative', _defineProperty({}, className, className != null)])
220
+ className: classNames([styles.mediaFrame, 'position-relative', 'd-flex', 'flex-grow-1', 'w-100', 'mw-100', _defineProperty({}, className, className != null)])
220
221
  }, showPlayer ? /*#__PURE__*/React.createElement(MediaPlayer, {
221
222
  value: value,
222
223
  width: "100%"
223
- }) : /*#__PURE__*/React.createElement(MediaPreview, {
224
+ }) : /*#__PURE__*/React.createElement(ImageDisplay, {
225
+ className: "w-100",
224
226
  value: value,
225
- width: "100%"
226
- }, /*#__PURE__*/React.createElement("div", {
227
- className: styles.playButton
228
- }, !showPlayer && (type === 'video' || type === 'embed' || type === 'audio') ? /*#__PURE__*/React.createElement(Button, {
229
- className: "rounded-circle",
230
- theme: "secondary",
231
- onClick: onClick,
232
- icon: "play-fill",
233
- size: "lg"
234
- }) : null)));
227
+ maxWidth: "100%",
228
+ maxHeight: "100%",
229
+ withoutZoom: true,
230
+ onClick: type === 'video' || type === 'audio' ? onClick : null
231
+ }));
235
232
  }
236
233
  MediaFrame.propTypes = propTypes$8;
237
234
  MediaFrame.defaultProps = defaultProps$8;
@@ -777,10 +774,8 @@ var _excluded$5 = ["page", "count"],
777
774
  _excluded2 = ["types"];
778
775
  var propTypes$5 = {
779
776
  items: core.PropTypes.medias,
777
+ extraItems: core.PropTypes.medias,
780
778
  types: PropTypes.arrayOf(PropTypes.string),
781
- // uploadButton: PropTypes.shape({
782
- // value: PropTypes.oneOfType([PanneauPropTypes.medias, PanneauPropTypes.media]),
783
- // }),
784
779
  buttons: core.PropTypes.buttons,
785
780
  filters: core.PropTypes.filters,
786
781
  columns: core.PropTypes.tableColumns,
@@ -791,16 +786,16 @@ var propTypes$5 = {
791
786
  layouts: PropTypes.arrayOf(PropTypes.shape({})),
792
787
  theme: PropTypes.string,
793
788
  tableProps: PropTypes.bool,
794
- onSelectItem: PropTypes.func,
795
- onSelectItems: PropTypes.func,
796
789
  onItemsChange: PropTypes.func,
797
790
  onLayoutChange: PropTypes.func,
798
791
  selectedCount: PropTypes.number,
799
792
  onClearSelected: PropTypes.func,
800
- className: PropTypes.string
793
+ className: PropTypes.string,
794
+ buttonsClassName: PropTypes.string
801
795
  };
802
796
  var defaultProps$5 = {
803
797
  items: null,
798
+ extraItems: null,
804
799
  types: null,
805
800
  buttons: null,
806
801
  filters: defaultFilters,
@@ -822,16 +817,16 @@ var defaultProps$5 = {
822
817
  }],
823
818
  theme: null,
824
819
  tableProps: null,
825
- onSelectItem: null,
826
- onSelectItems: null,
827
820
  onItemsChange: null,
828
821
  onLayoutChange: null,
829
822
  selectedCount: null,
830
823
  onClearSelected: null,
831
- className: null
824
+ className: null,
825
+ buttonsClassName: null
832
826
  };
833
827
  function MediasBrowser(_ref) {
834
828
  var initialItems = _ref.items,
829
+ extraItems = _ref.extraItems,
835
830
  types = _ref.types,
836
831
  baseUrl = _ref.baseUrl,
837
832
  buttons = _ref.buttons,
@@ -843,13 +838,12 @@ function MediasBrowser(_ref) {
843
838
  layouts = _ref.layouts,
844
839
  theme = _ref.theme,
845
840
  tableProps = _ref.tableProps,
846
- onSelectItem = _ref.onSelectItem,
847
- onSelectItems = _ref.onSelectItems,
848
841
  onItemsChange = _ref.onItemsChange,
849
842
  onLayoutChange = _ref.onLayoutChange,
850
843
  selectedCount = _ref.selectedCount,
851
844
  onClearSelected = _ref.onClearSelected,
852
- className = _ref.className;
845
+ className = _ref.className,
846
+ buttonsClassName = _ref.buttonsClassName;
853
847
  var _useState = React.useState(initialItems || null),
854
848
  _useState2 = _slicedToArray(_useState, 1),
855
849
  baseItems = _useState2[0];
@@ -927,13 +921,6 @@ function MediasBrowser(_ref) {
927
921
  var onCloseMedia = React.useCallback(function () {
928
922
  setCurrentMedia(null);
929
923
  }, [setCurrentMedia]);
930
-
931
- // TODO: context for this?
932
- React.useCallback(function () {
933
- var media = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : null;
934
- onSelectItems(media);
935
- onQueryReset();
936
- }, [setCurrentMedia, onQueryReset, onSelectItems]);
937
924
  var onSaveMedia = React.useCallback(function () {
938
925
  setCurrentMedia(null);
939
926
  onQueryReset();
@@ -965,13 +952,20 @@ function MediasBrowser(_ref) {
965
952
  }
966
953
  return filters;
967
954
  }, [filters, types]);
955
+ var finalItems = React.useMemo(function () {
956
+ if (page === 1 && extraItems !== null) {
957
+ return uniqBy([].concat(_toConsumableArray(extraItems), _toConsumableArray(items || [])), function (it) {
958
+ return it === null || it === void 0 ? void 0 : it.id;
959
+ });
960
+ }
961
+ return items;
962
+ }, [items, page, extraItems]);
968
963
  return /*#__PURE__*/React.createElement("div", {
969
964
  className: classNames([styles.container, className])
970
965
  }, currentMedia !== null ? /*#__PURE__*/React.createElement(React.Fragment, null, /*#__PURE__*/React.createElement("div", {
971
966
  className: "mt-2 mb-4"
972
967
  }, /*#__PURE__*/React.createElement(Button, {
973
968
  theme: "primary",
974
- outline: true,
975
969
  onClick: onCloseMedia,
976
970
  icon: "arrow-left"
977
971
  }, /*#__PURE__*/React.createElement(reactIntl.FormattedMessage, {
@@ -987,7 +981,6 @@ function MediasBrowser(_ref) {
987
981
  onSave: onSaveMedia,
988
982
  onClose: onCloseMedia
989
983
  })) : /*#__PURE__*/React.createElement(React.Fragment, null, filters !== null ? /*#__PURE__*/React.createElement(Filters, {
990
- className: "mt-0 pt-0",
991
984
  value: query,
992
985
  clearValue: types !== null ? queryWithoutTypes : null,
993
986
  filters: finalFilters,
@@ -996,12 +989,12 @@ function MediasBrowser(_ref) {
996
989
  theme: theme
997
990
  }, buttons !== null ? /*#__PURE__*/React.createElement(Buttons, {
998
991
  items: buttons,
999
- className: "ms-xl-auto"
992
+ className: buttonsClassName
1000
993
  }) : null) : null, filters === null && buttons !== null ? /*#__PURE__*/React.createElement("div", {
1001
994
  className: "mt-2 mb-2"
1002
995
  }, buttons !== null ? /*#__PURE__*/React.createElement(Buttons, {
1003
996
  items: buttons,
1004
- className: "ms-xl-auto"
997
+ className: buttonsClassName
1005
998
  }) : null) : null, /*#__PURE__*/React.createElement("div", {
1006
999
  className: classNames(['d-flex', 'mt-1', 'mb-3', {
1007
1000
  'justify-content-between': hasLayouts,
@@ -1028,29 +1021,28 @@ function MediasBrowser(_ref) {
1028
1021
  className: 'd-flex w-100',
1029
1022
  cardClassName: 'flex-grow-1',
1030
1023
  vertical: true,
1031
- selectable: onSelectItem !== null,
1032
1024
  onClickDescription: function onClickDescription(it) {
1033
1025
  onOpenMedia(it);
1034
1026
  }
1035
- }
1036
- }, tableProps, {
1037
- items: items || [],
1038
- loading: loading,
1039
- onSelectItem: onSelectItem !== null ? onSelectItem : function (it) {
1027
+ },
1028
+ onSelectItem: function onSelectItem(it) {
1040
1029
  return onOpenMedia(it);
1041
1030
  }
1031
+ }, tableProps, {
1032
+ items: finalItems || [],
1033
+ loading: loading
1042
1034
  })) : null, layout === 'table' ? /*#__PURE__*/React.createElement(Table, Object.assign({
1043
1035
  theme: theme,
1044
1036
  columns: columns,
1045
1037
  displayPlaceholder: /*#__PURE__*/React.createElement("span", {
1046
1038
  className: "text-secondary text-opacity-75"
1047
- }, "\u2014")
1039
+ }, "\u2014"),
1040
+ onSelectItem: function onSelectItem(it) {
1041
+ return onOpenMedia(it);
1042
+ }
1048
1043
  }, tableProps, {
1049
- items: items,
1044
+ items: finalItems,
1050
1045
  loading: loading,
1051
- onSelectItem: onSelectItem !== null ? onSelectItem : function (it) {
1052
- return onOpenMedia(it);
1053
- },
1054
1046
  actionsProps: {
1055
1047
  getEditPropsFromItem: function getEditPropsFromItem(it) {
1056
1048
  return {
@@ -1106,60 +1098,47 @@ function MediasPicker(_ref) {
1106
1098
  tableProps = _ref.tableProps,
1107
1099
  className = _ref.className,
1108
1100
  props = _objectWithoutProperties(_ref, _excluded$4);
1101
+ // For selection only
1109
1102
  var _useState = React.useState(initialItems),
1110
1103
  _useState2 = _slicedToArray(_useState, 2),
1111
- items = _useState2[0],
1104
+ currentItems = _useState2[0],
1112
1105
  setItems = _useState2[1];
1113
1106
  var onItemsChange = React.useCallback(function (pageItems) {
1114
1107
  setItems(pageItems);
1115
1108
  }, [setItems]);
1116
- var disabled = initialItems === null || initialItems.length < 1;
1117
1109
  var _useMediasForm = useMediasForm(),
1118
1110
  currentMedia = _useMediasForm.media;
1119
1111
  var _useItemSelection = hooks.useItemSelection({
1120
- items: items,
1112
+ currentItems: currentItems,
1121
1113
  selectedItems: initialSelectedItems,
1122
1114
  onSelectionChange: onChange,
1123
1115
  multipleSelection: multiple
1124
1116
  }),
1125
1117
  onSelectItem = _useItemSelection.onSelectItem,
1126
- onSelectItems = _useItemSelection.onSelectItems,
1127
1118
  onSelectPage = _useItemSelection.onSelectPage,
1128
1119
  onClearSelected = _useItemSelection.onClearSelected,
1129
1120
  pageSelected = _useItemSelection.pageSelected,
1130
1121
  selectedCount = _useItemSelection.selectedCount,
1131
1122
  selectedItems = _useItemSelection.selectedItems;
1123
+ var disabled = currentItems === null || currentItems.length < 1;
1132
1124
  var onConfirmSelection = React.useCallback(function () {
1133
1125
  if (onConfirm !== null) {
1134
1126
  onConfirm(selectedItems);
1135
1127
  }
1136
1128
  }, [selectedItems, onConfirm]);
1137
-
1138
- // const finalUploadButton = useMemo(
1139
- // () => ({
1140
- // ...(uploadButton || null),
1141
- // ...(types !== null ? { types } : null),
1142
- // allowMultipleUploads: multiple,
1143
- // maxNumberOfFiles: multiple ? 10 : 0,
1144
- // value: selectedItems,
1145
- // }),
1146
- // [uploadButton, selectedItems, multiple],
1147
- // );
1148
-
1149
1129
  return /*#__PURE__*/React.createElement("div", {
1150
1130
  className: className
1151
1131
  }, /*#__PURE__*/React.createElement(MediasBrowser, Object.assign({
1152
1132
  tableProps: _objectSpread({
1153
- selectable: multiple,
1133
+ selectable: true,
1154
1134
  multipleSelection: multiple,
1155
1135
  onSelectItem: onSelectItem,
1156
1136
  onSelectPage: onSelectPage,
1157
1137
  selectedItems: selectedItems,
1158
1138
  pageSelected: pageSelected
1159
- }, tableProps),
1160
- items: items,
1161
- onSelectItem: onSelectItem,
1162
- onSelectItems: onSelectItems,
1139
+ }, tableProps)
1140
+ // items={initialItems} // TODO: fix useItems if using this
1141
+ ,
1163
1142
  onItemsChange: onItemsChange,
1164
1143
  selectedCount: selectedCount,
1165
1144
  onClearSelected: onClearSelected,
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@panneau/medias",
3
- "version": "3.0.171",
3
+ "version": "3.0.172",
4
4
  "description": "",
5
5
  "keywords": [
6
6
  "javascript"
@@ -48,15 +48,15 @@
48
48
  "@babel/runtime": "^7.12.5",
49
49
  "@panneau/core": "^3.0.169",
50
50
  "@panneau/data": "^3.0.169",
51
+ "@panneau/display-image": "^3.0.172",
51
52
  "@panneau/element-button": "^3.0.169",
52
53
  "@panneau/element-buttons": "^3.0.169",
53
54
  "@panneau/element-form": "^3.0.169",
54
55
  "@panneau/element-form-status": "^3.0.169",
55
- "@panneau/element-grid": "^3.0.169",
56
+ "@panneau/element-grid": "^3.0.172",
56
57
  "@panneau/element-icon": "^3.0.169",
57
- "@panneau/element-media-card": "^3.0.171",
58
- "@panneau/element-media-player": "^3.0.169",
59
- "@panneau/element-media-preview": "^3.0.169",
58
+ "@panneau/element-media-card": "^3.0.172",
59
+ "@panneau/element-media-player": "^3.0.172",
60
60
  "@panneau/element-pagination": "^3.0.169",
61
61
  "@panneau/element-table": "^3.0.170",
62
62
  "@panneau/filter-filters": "^3.0.171",
@@ -68,5 +68,5 @@
68
68
  "publishConfig": {
69
69
  "access": "public"
70
70
  },
71
- "gitHead": "38e041e7659ef78ddbec9da1232c1456366c2040"
71
+ "gitHead": "74ada3ded1a27ab2d7008d67790d8431f57c5b0a"
72
72
  }