@panneau/medias 3.0.170 → 3.0.171

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 +43 -44
  2. package/lib/index.js +43 -44
  3. package/package.json +4 -5
package/es/index.js CHANGED
@@ -20,7 +20,6 @@ import Icon from '@panneau/element-icon';
20
20
  import MediaCard from '@panneau/element-media-card';
21
21
  import Pagination from '@panneau/element-pagination';
22
22
  import Table from '@panneau/element-table';
23
- import UploadField from '@panneau/field-upload';
24
23
  import Filters from '@panneau/filter-filters';
25
24
  import { useItems, useData, useApi } from '@panneau/data';
26
25
  import _toConsumableArray from '@babel/runtime/helpers/toConsumableArray';
@@ -268,6 +267,7 @@ var defaultFields = [{
268
267
  }]
269
268
  }),
270
269
  isList: true,
270
+ hideWithoutValue: true,
271
271
  fields: [{
272
272
  id: 'user',
273
273
  label: /*#__PURE__*/React.createElement(FormattedMessage, {
@@ -309,6 +309,7 @@ var defaultFields = [{
309
309
  }]
310
310
  }),
311
311
  isList: true,
312
+ hideWithoutValue: true,
312
313
  fields: [{
313
314
  id: 'format',
314
315
  label: /*#__PURE__*/React.createElement(FormattedMessage, {
@@ -696,6 +697,10 @@ var defaultColumns = [{
696
697
  ];
697
698
 
698
699
  var defaultFilters = [{
700
+ id: 'search',
701
+ component: 'search',
702
+ name: 'search'
703
+ }, {
699
704
  id: 'types',
700
705
  component: 'select',
701
706
  name: 'types',
@@ -744,7 +749,8 @@ var defaultFilters = [{
744
749
  value: 'document'
745
750
  }],
746
751
  multiple: true
747
- },
752
+ }
753
+
748
754
  // {
749
755
  // id: 'author',
750
756
  // component: 'select',
@@ -763,20 +769,16 @@ var defaultFilters = [{
763
769
  // itemLabelPath: 'label',
764
770
  // multiple: true,
765
771
  // },
766
- {
767
- id: 'search',
768
- component: 'search',
769
- name: 'search'
770
- }];
772
+ ];
771
773
 
772
774
  var _excluded$5 = ["page", "count"],
773
775
  _excluded2 = ["types"];
774
776
  var propTypes$5 = {
775
777
  items: PropTypes$1.medias,
776
778
  types: PropTypes.arrayOf(PropTypes.string),
777
- uploadButton: PropTypes.shape({
778
- value: PropTypes.oneOfType([PropTypes$1.medias, PropTypes$1.media])
779
- }),
779
+ // uploadButton: PropTypes.shape({
780
+ // value: PropTypes.oneOfType([PanneauPropTypes.medias, PanneauPropTypes.media]),
781
+ // }),
780
782
  buttons: PropTypes$1.buttons,
781
783
  filters: PropTypes$1.filters,
782
784
  columns: PropTypes$1.tableColumns,
@@ -798,7 +800,6 @@ var propTypes$5 = {
798
800
  var defaultProps$5 = {
799
801
  items: null,
800
802
  types: null,
801
- uploadButton: null,
802
803
  buttons: null,
803
804
  filters: defaultFilters,
804
805
  columns: defaultColumns,
@@ -831,7 +832,6 @@ function MediasBrowser(_ref) {
831
832
  var initialItems = _ref.items,
832
833
  types = _ref.types,
833
834
  baseUrl = _ref.baseUrl,
834
- uploadButton = _ref.uploadButton,
835
835
  buttons = _ref.buttons,
836
836
  filters = _ref.filters,
837
837
  columns = _ref.columns,
@@ -901,7 +901,7 @@ function MediasBrowser(_ref) {
901
901
  onItemsChange(items);
902
902
  }
903
903
  }, [items, onItemsChange]);
904
- var _useState3 = useState(initialLayout || 'grid'),
904
+ var _useState3 = useState(initialLayout || 'table'),
905
905
  _useState4 = _slicedToArray(_useState3, 2),
906
906
  layout = _useState4[0],
907
907
  setLayout = _useState4[1];
@@ -925,7 +925,9 @@ function MediasBrowser(_ref) {
925
925
  var onCloseMedia = useCallback(function () {
926
926
  setCurrentMedia(null);
927
927
  }, [setCurrentMedia]);
928
- var onChangeMedia = useCallback(function () {
928
+
929
+ // TODO: context for this?
930
+ useCallback(function () {
929
931
  var media = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : null;
930
932
  onSelectItems(media);
931
933
  onQueryReset();
@@ -982,10 +984,7 @@ function MediasBrowser(_ref) {
982
984
  onChange: setCurrentMedia,
983
985
  onSave: onSaveMedia,
984
986
  onClose: onCloseMedia
985
- })) : /*#__PURE__*/React.createElement(React.Fragment, null, buttons !== null ? /*#__PURE__*/React.createElement(Buttons, {
986
- items: buttons,
987
- className: "mb-2"
988
- }) : null, filters !== null ? /*#__PURE__*/React.createElement(Filters, {
987
+ })) : /*#__PURE__*/React.createElement(React.Fragment, null, filters !== null ? /*#__PURE__*/React.createElement(Filters, {
989
988
  className: "mt-0 pt-0",
990
989
  value: query,
991
990
  clearValue: types !== null ? queryWithoutTypes : null,
@@ -993,18 +992,15 @@ function MediasBrowser(_ref) {
993
992
  onChange: onQueryChange,
994
993
  onReset: onQueryReset,
995
994
  theme: theme
996
- }, uploadButton !== null ? /*#__PURE__*/React.createElement(UploadField, Object.assign({
997
- className: "w-auto mb-2",
998
- onChange: onChangeMedia,
999
- withButton: true,
1000
- withoutMedia: true
1001
- }, uploadButton)) : null) : null, filters === null && uploadButton !== null ? /*#__PURE__*/React.createElement("div", {
995
+ }, buttons !== null ? /*#__PURE__*/React.createElement(Buttons, {
996
+ items: buttons,
997
+ className: "ms-xl-auto"
998
+ }) : null) : null, filters === null && buttons !== null ? /*#__PURE__*/React.createElement("div", {
1002
999
  className: "mt-2 mb-2"
1003
- }, /*#__PURE__*/React.createElement(UploadField, Object.assign({
1004
- onChange: onChangeMedia,
1005
- withButton: true,
1006
- withoutMedia: true
1007
- }, uploadButton))) : null, /*#__PURE__*/React.createElement("div", {
1000
+ }, buttons !== null ? /*#__PURE__*/React.createElement(Buttons, {
1001
+ items: buttons,
1002
+ className: "ms-xl-auto"
1003
+ }) : null) : null, /*#__PURE__*/React.createElement("div", {
1008
1004
  className: classNames(['d-flex', 'mt-1', 'mb-3', {
1009
1005
  'justify-content-between': hasLayouts,
1010
1006
  'justify-content-end': !hasLayouts
@@ -1029,7 +1025,11 @@ function MediasBrowser(_ref) {
1029
1025
  componentProps: {
1030
1026
  className: 'd-flex w-100',
1031
1027
  cardClassName: 'flex-grow-1',
1032
- vertical: true
1028
+ vertical: true,
1029
+ selectable: onSelectItem !== null,
1030
+ onClickDescription: function onClickDescription(it) {
1031
+ onOpenMedia(it);
1032
+ }
1033
1033
  }
1034
1034
  }, tableProps, {
1035
1035
  items: items || [],
@@ -1066,13 +1066,12 @@ function MediasBrowser(_ref) {
1066
1066
  MediasBrowser.propTypes = propTypes$5;
1067
1067
  MediasBrowser.defaultProps = defaultProps$5;
1068
1068
 
1069
- var _excluded$4 = ["items", "value", "types", "uploadButton", "onChange", "onConfirm", "onClose", "multiple", "withoutButtons", "tableProps", "className"];
1069
+ var _excluded$4 = ["items", "value", "types", "onChange", "onConfirm", "onClose", "multiple", "withoutButtons", "tableProps", "className"];
1070
1070
  var propTypes$4 = {
1071
1071
  // eslint-disable-next-line react/forbid-prop-types
1072
1072
  items: PropTypes.arrayOf(PropTypes.shape({})),
1073
1073
  value: PropTypes.arrayOf(PropTypes.shape({})),
1074
1074
  types: PropTypes.arrayOf(PropTypes.string),
1075
- uploadButton: PropTypes.shape({}),
1076
1075
  onChange: PropTypes.func.isRequired,
1077
1076
  onConfirm: PropTypes.func.isRequired,
1078
1077
  onClose: PropTypes.func,
@@ -1087,7 +1086,6 @@ var defaultProps$4 = {
1087
1086
  items: null,
1088
1087
  value: null,
1089
1088
  types: null,
1090
- uploadButton: null,
1091
1089
  onClose: null,
1092
1090
  multiple: false,
1093
1091
  withoutButtons: false,
@@ -1098,7 +1096,6 @@ function MediasPicker(_ref) {
1098
1096
  var initialItems = _ref.items,
1099
1097
  initialSelectedItems = _ref.value,
1100
1098
  types = _ref.types,
1101
- uploadButton = _ref.uploadButton,
1102
1099
  onChange = _ref.onChange,
1103
1100
  onConfirm = _ref.onConfirm,
1104
1101
  onClose = _ref.onClose,
@@ -1135,15 +1132,18 @@ function MediasPicker(_ref) {
1135
1132
  onConfirm(selectedItems);
1136
1133
  }
1137
1134
  }, [selectedItems, onConfirm]);
1138
- var finalUploadButton = useMemo(function () {
1139
- return _objectSpread(_objectSpread(_objectSpread({}, uploadButton || null), types !== null ? {
1140
- types: types
1141
- } : null), {}, {
1142
- allowMultipleUploads: multiple,
1143
- maxNumberOfFiles: multiple ? 10 : 0,
1144
- value: selectedItems
1145
- });
1146
- }, [uploadButton, selectedItems, multiple]);
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
1147
  return /*#__PURE__*/React.createElement("div", {
1148
1148
  className: className
1149
1149
  }, /*#__PURE__*/React.createElement(MediasBrowser, Object.assign({
@@ -1161,7 +1161,6 @@ function MediasPicker(_ref) {
1161
1161
  onItemsChange: onItemsChange,
1162
1162
  selectedCount: selectedCount,
1163
1163
  onClearSelected: onClearSelected,
1164
- uploadButton: finalUploadButton,
1165
1164
  types: types
1166
1165
  }, props)), multiple && !withoutButtons && currentMedia === null ? /*#__PURE__*/React.createElement("div", {
1167
1166
  className: "d-flex w-100 align-items-end justify-content-end mt-3"
package/lib/index.js CHANGED
@@ -22,7 +22,6 @@ var Icon = require('@panneau/element-icon');
22
22
  var MediaCard = require('@panneau/element-media-card');
23
23
  var Pagination = require('@panneau/element-pagination');
24
24
  var Table = require('@panneau/element-table');
25
- var UploadField = require('@panneau/field-upload');
26
25
  var Filters = require('@panneau/filter-filters');
27
26
  var data = require('@panneau/data');
28
27
  var _toConsumableArray = require('@babel/runtime/helpers/toConsumableArray');
@@ -270,6 +269,7 @@ var defaultFields = [{
270
269
  }]
271
270
  }),
272
271
  isList: true,
272
+ hideWithoutValue: true,
273
273
  fields: [{
274
274
  id: 'user',
275
275
  label: /*#__PURE__*/React.createElement(reactIntl.FormattedMessage, {
@@ -311,6 +311,7 @@ var defaultFields = [{
311
311
  }]
312
312
  }),
313
313
  isList: true,
314
+ hideWithoutValue: true,
314
315
  fields: [{
315
316
  id: 'format',
316
317
  label: /*#__PURE__*/React.createElement(reactIntl.FormattedMessage, {
@@ -698,6 +699,10 @@ var defaultColumns = [{
698
699
  ];
699
700
 
700
701
  var defaultFilters = [{
702
+ id: 'search',
703
+ component: 'search',
704
+ name: 'search'
705
+ }, {
701
706
  id: 'types',
702
707
  component: 'select',
703
708
  name: 'types',
@@ -746,7 +751,8 @@ var defaultFilters = [{
746
751
  value: 'document'
747
752
  }],
748
753
  multiple: true
749
- },
754
+ }
755
+
750
756
  // {
751
757
  // id: 'author',
752
758
  // component: 'select',
@@ -765,20 +771,16 @@ var defaultFilters = [{
765
771
  // itemLabelPath: 'label',
766
772
  // multiple: true,
767
773
  // },
768
- {
769
- id: 'search',
770
- component: 'search',
771
- name: 'search'
772
- }];
774
+ ];
773
775
 
774
776
  var _excluded$5 = ["page", "count"],
775
777
  _excluded2 = ["types"];
776
778
  var propTypes$5 = {
777
779
  items: core.PropTypes.medias,
778
780
  types: PropTypes.arrayOf(PropTypes.string),
779
- uploadButton: PropTypes.shape({
780
- value: PropTypes.oneOfType([core.PropTypes.medias, core.PropTypes.media])
781
- }),
781
+ // uploadButton: PropTypes.shape({
782
+ // value: PropTypes.oneOfType([PanneauPropTypes.medias, PanneauPropTypes.media]),
783
+ // }),
782
784
  buttons: core.PropTypes.buttons,
783
785
  filters: core.PropTypes.filters,
784
786
  columns: core.PropTypes.tableColumns,
@@ -800,7 +802,6 @@ var propTypes$5 = {
800
802
  var defaultProps$5 = {
801
803
  items: null,
802
804
  types: null,
803
- uploadButton: null,
804
805
  buttons: null,
805
806
  filters: defaultFilters,
806
807
  columns: defaultColumns,
@@ -833,7 +834,6 @@ function MediasBrowser(_ref) {
833
834
  var initialItems = _ref.items,
834
835
  types = _ref.types,
835
836
  baseUrl = _ref.baseUrl,
836
- uploadButton = _ref.uploadButton,
837
837
  buttons = _ref.buttons,
838
838
  filters = _ref.filters,
839
839
  columns = _ref.columns,
@@ -903,7 +903,7 @@ function MediasBrowser(_ref) {
903
903
  onItemsChange(items);
904
904
  }
905
905
  }, [items, onItemsChange]);
906
- var _useState3 = React.useState(initialLayout || 'grid'),
906
+ var _useState3 = React.useState(initialLayout || 'table'),
907
907
  _useState4 = _slicedToArray(_useState3, 2),
908
908
  layout = _useState4[0],
909
909
  setLayout = _useState4[1];
@@ -927,7 +927,9 @@ function MediasBrowser(_ref) {
927
927
  var onCloseMedia = React.useCallback(function () {
928
928
  setCurrentMedia(null);
929
929
  }, [setCurrentMedia]);
930
- var onChangeMedia = React.useCallback(function () {
930
+
931
+ // TODO: context for this?
932
+ React.useCallback(function () {
931
933
  var media = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : null;
932
934
  onSelectItems(media);
933
935
  onQueryReset();
@@ -984,10 +986,7 @@ function MediasBrowser(_ref) {
984
986
  onChange: setCurrentMedia,
985
987
  onSave: onSaveMedia,
986
988
  onClose: onCloseMedia
987
- })) : /*#__PURE__*/React.createElement(React.Fragment, null, buttons !== null ? /*#__PURE__*/React.createElement(Buttons, {
988
- items: buttons,
989
- className: "mb-2"
990
- }) : null, filters !== null ? /*#__PURE__*/React.createElement(Filters, {
989
+ })) : /*#__PURE__*/React.createElement(React.Fragment, null, filters !== null ? /*#__PURE__*/React.createElement(Filters, {
991
990
  className: "mt-0 pt-0",
992
991
  value: query,
993
992
  clearValue: types !== null ? queryWithoutTypes : null,
@@ -995,18 +994,15 @@ function MediasBrowser(_ref) {
995
994
  onChange: onQueryChange,
996
995
  onReset: onQueryReset,
997
996
  theme: theme
998
- }, uploadButton !== null ? /*#__PURE__*/React.createElement(UploadField, Object.assign({
999
- className: "w-auto mb-2",
1000
- onChange: onChangeMedia,
1001
- withButton: true,
1002
- withoutMedia: true
1003
- }, uploadButton)) : null) : null, filters === null && uploadButton !== null ? /*#__PURE__*/React.createElement("div", {
997
+ }, buttons !== null ? /*#__PURE__*/React.createElement(Buttons, {
998
+ items: buttons,
999
+ className: "ms-xl-auto"
1000
+ }) : null) : null, filters === null && buttons !== null ? /*#__PURE__*/React.createElement("div", {
1004
1001
  className: "mt-2 mb-2"
1005
- }, /*#__PURE__*/React.createElement(UploadField, Object.assign({
1006
- onChange: onChangeMedia,
1007
- withButton: true,
1008
- withoutMedia: true
1009
- }, uploadButton))) : null, /*#__PURE__*/React.createElement("div", {
1002
+ }, buttons !== null ? /*#__PURE__*/React.createElement(Buttons, {
1003
+ items: buttons,
1004
+ className: "ms-xl-auto"
1005
+ }) : null) : null, /*#__PURE__*/React.createElement("div", {
1010
1006
  className: classNames(['d-flex', 'mt-1', 'mb-3', {
1011
1007
  'justify-content-between': hasLayouts,
1012
1008
  'justify-content-end': !hasLayouts
@@ -1031,7 +1027,11 @@ function MediasBrowser(_ref) {
1031
1027
  componentProps: {
1032
1028
  className: 'd-flex w-100',
1033
1029
  cardClassName: 'flex-grow-1',
1034
- vertical: true
1030
+ vertical: true,
1031
+ selectable: onSelectItem !== null,
1032
+ onClickDescription: function onClickDescription(it) {
1033
+ onOpenMedia(it);
1034
+ }
1035
1035
  }
1036
1036
  }, tableProps, {
1037
1037
  items: items || [],
@@ -1068,13 +1068,12 @@ function MediasBrowser(_ref) {
1068
1068
  MediasBrowser.propTypes = propTypes$5;
1069
1069
  MediasBrowser.defaultProps = defaultProps$5;
1070
1070
 
1071
- var _excluded$4 = ["items", "value", "types", "uploadButton", "onChange", "onConfirm", "onClose", "multiple", "withoutButtons", "tableProps", "className"];
1071
+ var _excluded$4 = ["items", "value", "types", "onChange", "onConfirm", "onClose", "multiple", "withoutButtons", "tableProps", "className"];
1072
1072
  var propTypes$4 = {
1073
1073
  // eslint-disable-next-line react/forbid-prop-types
1074
1074
  items: PropTypes.arrayOf(PropTypes.shape({})),
1075
1075
  value: PropTypes.arrayOf(PropTypes.shape({})),
1076
1076
  types: PropTypes.arrayOf(PropTypes.string),
1077
- uploadButton: PropTypes.shape({}),
1078
1077
  onChange: PropTypes.func.isRequired,
1079
1078
  onConfirm: PropTypes.func.isRequired,
1080
1079
  onClose: PropTypes.func,
@@ -1089,7 +1088,6 @@ var defaultProps$4 = {
1089
1088
  items: null,
1090
1089
  value: null,
1091
1090
  types: null,
1092
- uploadButton: null,
1093
1091
  onClose: null,
1094
1092
  multiple: false,
1095
1093
  withoutButtons: false,
@@ -1100,7 +1098,6 @@ function MediasPicker(_ref) {
1100
1098
  var initialItems = _ref.items,
1101
1099
  initialSelectedItems = _ref.value,
1102
1100
  types = _ref.types,
1103
- uploadButton = _ref.uploadButton,
1104
1101
  onChange = _ref.onChange,
1105
1102
  onConfirm = _ref.onConfirm,
1106
1103
  onClose = _ref.onClose,
@@ -1137,15 +1134,18 @@ function MediasPicker(_ref) {
1137
1134
  onConfirm(selectedItems);
1138
1135
  }
1139
1136
  }, [selectedItems, onConfirm]);
1140
- var finalUploadButton = React.useMemo(function () {
1141
- return _objectSpread(_objectSpread(_objectSpread({}, uploadButton || null), types !== null ? {
1142
- types: types
1143
- } : null), {}, {
1144
- allowMultipleUploads: multiple,
1145
- maxNumberOfFiles: multiple ? 10 : 0,
1146
- value: selectedItems
1147
- });
1148
- }, [uploadButton, selectedItems, multiple]);
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
1149
  return /*#__PURE__*/React.createElement("div", {
1150
1150
  className: className
1151
1151
  }, /*#__PURE__*/React.createElement(MediasBrowser, Object.assign({
@@ -1163,7 +1163,6 @@ function MediasPicker(_ref) {
1163
1163
  onItemsChange: onItemsChange,
1164
1164
  selectedCount: selectedCount,
1165
1165
  onClearSelected: onClearSelected,
1166
- uploadButton: finalUploadButton,
1167
1166
  types: types
1168
1167
  }, props)), multiple && !withoutButtons && currentMedia === null ? /*#__PURE__*/React.createElement("div", {
1169
1168
  className: "d-flex w-100 align-items-end justify-content-end mt-3"
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@panneau/medias",
3
- "version": "3.0.170",
3
+ "version": "3.0.171",
4
4
  "description": "",
5
5
  "keywords": [
6
6
  "javascript"
@@ -54,13 +54,12 @@
54
54
  "@panneau/element-form-status": "^3.0.169",
55
55
  "@panneau/element-grid": "^3.0.169",
56
56
  "@panneau/element-icon": "^3.0.169",
57
- "@panneau/element-media-card": "^3.0.169",
57
+ "@panneau/element-media-card": "^3.0.171",
58
58
  "@panneau/element-media-player": "^3.0.169",
59
59
  "@panneau/element-media-preview": "^3.0.169",
60
60
  "@panneau/element-pagination": "^3.0.169",
61
61
  "@panneau/element-table": "^3.0.170",
62
- "@panneau/field-upload": "^3.0.170",
63
- "@panneau/filter-filters": "^3.0.169",
62
+ "@panneau/filter-filters": "^3.0.171",
64
63
  "classnames": "^2.5.1",
65
64
  "lodash": "^4.17.21",
66
65
  "prop-types": "^15.7.2",
@@ -69,5 +68,5 @@
69
68
  "publishConfig": {
70
69
  "access": "public"
71
70
  },
72
- "gitHead": "45ef2fa2498fa7a3cd2bcea9a76ac0410d7e3d7f"
71
+ "gitHead": "38e041e7659ef78ddbec9da1232c1456366c2040"
73
72
  }