@panneau/medias 3.0.209 → 3.0.211

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 +46 -26
  2. package/lib/index.js +46 -26
  3. package/package.json +13 -13
package/es/index.js CHANGED
@@ -469,7 +469,7 @@ function MediaForm(_ref) {
469
469
  }
470
470
  });
471
471
  }
472
- }, [initialValue, mediaDelete, mediaTrash, deletedAt, setChanged, withTrash]);
472
+ }, [initialValue, mediaDelete, mediaTrash, deletedAt, setChanged, onDelete, withTrash]);
473
473
  var postForm = useCallback(function (action, data) {
474
474
  return initialValue !== null ? update(initialValue.id, data) : new Promise();
475
475
  }, [initialValue, update]);
@@ -496,7 +496,20 @@ function MediaForm(_ref) {
496
496
  style: {
497
497
  maxWidth: '66%'
498
498
  }
499
- }, /*#__PURE__*/React.createElement("h4", {
499
+ }, /*#__PURE__*/React.createElement("div", {
500
+ className: "me-3 mb-0"
501
+ }, /*#__PURE__*/React.createElement(Button, {
502
+ theme: "secondary",
503
+ outline: true,
504
+ onClick: onClose,
505
+ icon: "arrow-left"
506
+ }, /*#__PURE__*/React.createElement(FormattedMessage, {
507
+ id: "8NyYTH",
508
+ defaultMessage: [{
509
+ "type": 0,
510
+ "value": "Back"
511
+ }]
512
+ }))), /*#__PURE__*/React.createElement("h4", {
500
513
  className: "d-inline text-truncate mb-0"
501
514
  }, name), /*#__PURE__*/React.createElement("span", {
502
515
  className: "mx-2"
@@ -1011,6 +1024,11 @@ function MediasBrowser(_ref) {
1011
1024
  setCurrentMedia(null);
1012
1025
  updateItem(item);
1013
1026
  }, [setCurrentMedia, updateItem]);
1027
+ var onDeleteMedia = useCallback(function () {
1028
+ if (reload !== null) {
1029
+ reload();
1030
+ }
1031
+ }, [reload]);
1014
1032
  var _useState7 = useState(null),
1015
1033
  _useState8 = _slicedToArray(_useState7, 2),
1016
1034
  uploadedMedias = _useState8[0],
@@ -1068,6 +1086,7 @@ function MediasBrowser(_ref) {
1068
1086
  withPreviousNext: true,
1069
1087
  alwaysShowButtons: true
1070
1088
  });
1089
+ var hidePagination = loaded && !loading && (items || []).length === 0;
1071
1090
  var finalFilters = useMemo(function () {
1072
1091
  var partialFilters = withTrash ? (filters || []).concat([{
1073
1092
  name: 'trashed',
@@ -1114,7 +1133,11 @@ function MediasBrowser(_ref) {
1114
1133
  return _objectSpread(_objectSpread({}, column), {}, {
1115
1134
  actions: (actions || []).reduce(function (acc, action) {
1116
1135
  if (action === 'delete') {
1117
- acc.push('restore');
1136
+ acc.push({
1137
+ id: 'restore',
1138
+ component: 'restore',
1139
+ withConfirmation: true
1140
+ });
1118
1141
  }
1119
1142
  acc.push(action);
1120
1143
  return acc;
@@ -1162,26 +1185,15 @@ function MediasBrowser(_ref) {
1162
1185
 
1163
1186
  return /*#__PURE__*/React.createElement("div", {
1164
1187
  className: className
1165
- }, currentMedia !== null ? /*#__PURE__*/React.createElement(React.Fragment, null, /*#__PURE__*/React.createElement("div", {
1166
- className: "mt-2 mb-0"
1167
- }, /*#__PURE__*/React.createElement(Button, {
1168
- theme: "primary",
1169
- onClick: onCloseMedia,
1170
- icon: "arrow-left"
1171
- }, /*#__PURE__*/React.createElement(FormattedMessage, {
1172
- id: "ac4218",
1173
- defaultMessage: [{
1174
- "type": 0,
1175
- "value": "Back to files"
1176
- }]
1177
- }))), /*#__PURE__*/React.createElement(MediaForm, {
1188
+ }, currentMedia !== null ? /*#__PURE__*/React.createElement(MediaForm, {
1178
1189
  value: currentMedia,
1179
1190
  fields: fields,
1180
1191
  onChange: setCurrentMedia,
1181
1192
  onSave: onSaveMedia,
1182
1193
  onClose: onCloseMedia,
1194
+ onDelete: onDeleteMedia,
1183
1195
  withTrash: withTrash
1184
- }, formChildren)) : /*#__PURE__*/React.createElement(React.Fragment, null, /*#__PURE__*/React.createElement("div", {
1196
+ }, formChildren) : /*#__PURE__*/React.createElement(React.Fragment, null, /*#__PURE__*/React.createElement("div", {
1185
1197
  className: classNames(['d-flex', 'justify-content-between'])
1186
1198
  }, filters !== null ? /*#__PURE__*/React.createElement(Filters, {
1187
1199
  value: query,
@@ -1216,10 +1228,10 @@ function MediasBrowser(_ref) {
1216
1228
  onClick: function onClick() {
1217
1229
  return onClickLayout(lay.id);
1218
1230
  },
1219
- className: 'px-3'
1231
+ className: 'px-3 py-2'
1220
1232
  });
1221
1233
  })
1222
- }) : null, pagination), layout === 'grid' ? /*#__PURE__*/React.createElement(Grid, {
1234
+ }) : null, !hidePagination ? pagination : /*#__PURE__*/React.createElement("div", null)), layout === 'grid' ? /*#__PURE__*/React.createElement(Grid, {
1223
1235
  size: "small",
1224
1236
  theme: theme,
1225
1237
  component: MediaCard,
@@ -1235,6 +1247,9 @@ function MediasBrowser(_ref) {
1235
1247
  selectedItems: selectedItems,
1236
1248
  onSelectionChange: uploadProcessing ? null : onSelectionChange,
1237
1249
  multipleSelection: multipleSelection,
1250
+ query: query // For sort
1251
+ ,
1252
+ onQueryChange: onQueryChange,
1238
1253
  items: finalItems || [],
1239
1254
  loading: loading,
1240
1255
  loaded: loaded
@@ -1249,6 +1264,9 @@ function MediasBrowser(_ref) {
1249
1264
  selectedItems: selectedItems,
1250
1265
  onSelectionChange: uploadProcessing ? null : onSelectionChange,
1251
1266
  multipleSelection: multipleSelection,
1267
+ query: query // For sort
1268
+ ,
1269
+ onQueryChange: onQueryChange,
1252
1270
  items: finalItems,
1253
1271
  loading: loading,
1254
1272
  loaded: loaded
@@ -1259,14 +1277,16 @@ function MediasBrowser(_ref) {
1259
1277
  var _ref10 = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {},
1260
1278
  _ref10$id = _ref10.id,
1261
1279
  id = _ref10$id === void 0 ? null : _ref10$id;
1262
- return {
1280
+ return _objectSpread({
1263
1281
  href: null,
1264
- onClick: function onClick() {
1265
- return !showTrashed && withTrash ? mediaTrash(id) : mediaDelete(id);
1266
- },
1282
+ withConfirmation: true,
1267
1283
  disabled: trashing || deleting,
1268
1284
  icon: showTrashed ? 'trash-fill' : 'trash'
1269
- };
1285
+ }, withTrash ? {
1286
+ onClick: function onClick() {
1287
+ return !showTrashed && withTrash ? mediaTrash(id) : mediaDelete(id);
1288
+ }
1289
+ } : null);
1270
1290
  },
1271
1291
  getEditPropsFromItem: function getEditPropsFromItem(it) {
1272
1292
  return {
@@ -1277,9 +1297,9 @@ function MediasBrowser(_ref) {
1277
1297
  };
1278
1298
  }
1279
1299
  }
1280
- }) : null, /*#__PURE__*/React.createElement("div", {
1300
+ }) : null, !hidePagination ? /*#__PURE__*/React.createElement("div", {
1281
1301
  className: classNames(['d-flex', 'mt-3', 'mb-1', 'justify-content-end'])
1282
- }, pagination)));
1302
+ }, pagination) : null));
1283
1303
  }
1284
1304
  MediasBrowser.propTypes = propTypes$5;
1285
1305
  MediasBrowser.defaultProps = defaultProps$5;
package/lib/index.js CHANGED
@@ -471,7 +471,7 @@ function MediaForm(_ref) {
471
471
  }
472
472
  });
473
473
  }
474
- }, [initialValue, mediaDelete, mediaTrash, deletedAt, setChanged, withTrash]);
474
+ }, [initialValue, mediaDelete, mediaTrash, deletedAt, setChanged, onDelete, withTrash]);
475
475
  var postForm = React.useCallback(function (action, data) {
476
476
  return initialValue !== null ? update(initialValue.id, data) : new Promise();
477
477
  }, [initialValue, update]);
@@ -498,7 +498,20 @@ function MediaForm(_ref) {
498
498
  style: {
499
499
  maxWidth: '66%'
500
500
  }
501
- }, /*#__PURE__*/React.createElement("h4", {
501
+ }, /*#__PURE__*/React.createElement("div", {
502
+ className: "me-3 mb-0"
503
+ }, /*#__PURE__*/React.createElement(Button, {
504
+ theme: "secondary",
505
+ outline: true,
506
+ onClick: onClose,
507
+ icon: "arrow-left"
508
+ }, /*#__PURE__*/React.createElement(reactIntl.FormattedMessage, {
509
+ id: "8NyYTH",
510
+ defaultMessage: [{
511
+ "type": 0,
512
+ "value": "Back"
513
+ }]
514
+ }))), /*#__PURE__*/React.createElement("h4", {
502
515
  className: "d-inline text-truncate mb-0"
503
516
  }, name), /*#__PURE__*/React.createElement("span", {
504
517
  className: "mx-2"
@@ -1013,6 +1026,11 @@ function MediasBrowser(_ref) {
1013
1026
  setCurrentMedia(null);
1014
1027
  updateItem(item);
1015
1028
  }, [setCurrentMedia, updateItem]);
1029
+ var onDeleteMedia = React.useCallback(function () {
1030
+ if (reload !== null) {
1031
+ reload();
1032
+ }
1033
+ }, [reload]);
1016
1034
  var _useState7 = React.useState(null),
1017
1035
  _useState8 = _slicedToArray(_useState7, 2),
1018
1036
  uploadedMedias = _useState8[0],
@@ -1070,6 +1088,7 @@ function MediasBrowser(_ref) {
1070
1088
  withPreviousNext: true,
1071
1089
  alwaysShowButtons: true
1072
1090
  });
1091
+ var hidePagination = loaded && !loading && (items || []).length === 0;
1073
1092
  var finalFilters = React.useMemo(function () {
1074
1093
  var partialFilters = withTrash ? (filters || []).concat([{
1075
1094
  name: 'trashed',
@@ -1116,7 +1135,11 @@ function MediasBrowser(_ref) {
1116
1135
  return _objectSpread(_objectSpread({}, column), {}, {
1117
1136
  actions: (actions || []).reduce(function (acc, action) {
1118
1137
  if (action === 'delete') {
1119
- acc.push('restore');
1138
+ acc.push({
1139
+ id: 'restore',
1140
+ component: 'restore',
1141
+ withConfirmation: true
1142
+ });
1120
1143
  }
1121
1144
  acc.push(action);
1122
1145
  return acc;
@@ -1164,26 +1187,15 @@ function MediasBrowser(_ref) {
1164
1187
 
1165
1188
  return /*#__PURE__*/React.createElement("div", {
1166
1189
  className: className
1167
- }, currentMedia !== null ? /*#__PURE__*/React.createElement(React.Fragment, null, /*#__PURE__*/React.createElement("div", {
1168
- className: "mt-2 mb-0"
1169
- }, /*#__PURE__*/React.createElement(Button, {
1170
- theme: "primary",
1171
- onClick: onCloseMedia,
1172
- icon: "arrow-left"
1173
- }, /*#__PURE__*/React.createElement(reactIntl.FormattedMessage, {
1174
- id: "ac4218",
1175
- defaultMessage: [{
1176
- "type": 0,
1177
- "value": "Back to files"
1178
- }]
1179
- }))), /*#__PURE__*/React.createElement(MediaForm, {
1190
+ }, currentMedia !== null ? /*#__PURE__*/React.createElement(MediaForm, {
1180
1191
  value: currentMedia,
1181
1192
  fields: fields,
1182
1193
  onChange: setCurrentMedia,
1183
1194
  onSave: onSaveMedia,
1184
1195
  onClose: onCloseMedia,
1196
+ onDelete: onDeleteMedia,
1185
1197
  withTrash: withTrash
1186
- }, formChildren)) : /*#__PURE__*/React.createElement(React.Fragment, null, /*#__PURE__*/React.createElement("div", {
1198
+ }, formChildren) : /*#__PURE__*/React.createElement(React.Fragment, null, /*#__PURE__*/React.createElement("div", {
1187
1199
  className: classNames(['d-flex', 'justify-content-between'])
1188
1200
  }, filters !== null ? /*#__PURE__*/React.createElement(Filters, {
1189
1201
  value: query,
@@ -1218,10 +1230,10 @@ function MediasBrowser(_ref) {
1218
1230
  onClick: function onClick() {
1219
1231
  return onClickLayout(lay.id);
1220
1232
  },
1221
- className: 'px-3'
1233
+ className: 'px-3 py-2'
1222
1234
  });
1223
1235
  })
1224
- }) : null, pagination), layout === 'grid' ? /*#__PURE__*/React.createElement(Grid, {
1236
+ }) : null, !hidePagination ? pagination : /*#__PURE__*/React.createElement("div", null)), layout === 'grid' ? /*#__PURE__*/React.createElement(Grid, {
1225
1237
  size: "small",
1226
1238
  theme: theme,
1227
1239
  component: MediaCard,
@@ -1237,6 +1249,9 @@ function MediasBrowser(_ref) {
1237
1249
  selectedItems: selectedItems,
1238
1250
  onSelectionChange: uploadProcessing ? null : onSelectionChange,
1239
1251
  multipleSelection: multipleSelection,
1252
+ query: query // For sort
1253
+ ,
1254
+ onQueryChange: onQueryChange,
1240
1255
  items: finalItems || [],
1241
1256
  loading: loading,
1242
1257
  loaded: loaded
@@ -1251,6 +1266,9 @@ function MediasBrowser(_ref) {
1251
1266
  selectedItems: selectedItems,
1252
1267
  onSelectionChange: uploadProcessing ? null : onSelectionChange,
1253
1268
  multipleSelection: multipleSelection,
1269
+ query: query // For sort
1270
+ ,
1271
+ onQueryChange: onQueryChange,
1254
1272
  items: finalItems,
1255
1273
  loading: loading,
1256
1274
  loaded: loaded
@@ -1261,14 +1279,16 @@ function MediasBrowser(_ref) {
1261
1279
  var _ref10 = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {},
1262
1280
  _ref10$id = _ref10.id,
1263
1281
  id = _ref10$id === void 0 ? null : _ref10$id;
1264
- return {
1282
+ return _objectSpread({
1265
1283
  href: null,
1266
- onClick: function onClick() {
1267
- return !showTrashed && withTrash ? mediaTrash(id) : mediaDelete(id);
1268
- },
1284
+ withConfirmation: true,
1269
1285
  disabled: trashing || deleting,
1270
1286
  icon: showTrashed ? 'trash-fill' : 'trash'
1271
- };
1287
+ }, withTrash ? {
1288
+ onClick: function onClick() {
1289
+ return !showTrashed && withTrash ? mediaTrash(id) : mediaDelete(id);
1290
+ }
1291
+ } : null);
1272
1292
  },
1273
1293
  getEditPropsFromItem: function getEditPropsFromItem(it) {
1274
1294
  return {
@@ -1279,9 +1299,9 @@ function MediasBrowser(_ref) {
1279
1299
  };
1280
1300
  }
1281
1301
  }
1282
- }) : null, /*#__PURE__*/React.createElement("div", {
1302
+ }) : null, !hidePagination ? /*#__PURE__*/React.createElement("div", {
1283
1303
  className: classNames(['d-flex', 'mt-3', 'mb-1', 'justify-content-end'])
1284
- }, pagination)));
1304
+ }, pagination) : null));
1285
1305
  }
1286
1306
  MediasBrowser.propTypes = propTypes$5;
1287
1307
  MediasBrowser.defaultProps = defaultProps$5;
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@panneau/medias",
3
- "version": "3.0.209",
3
+ "version": "3.0.211",
4
4
  "description": "",
5
5
  "keywords": [
6
6
  "javascript"
@@ -49,18 +49,18 @@
49
49
  "@panneau/core": "^3.0.194",
50
50
  "@panneau/data": "^3.0.209",
51
51
  "@panneau/display-image": "^3.0.201",
52
- "@panneau/element-button": "^3.0.194",
53
- "@panneau/element-buttons": "^3.0.194",
54
- "@panneau/element-form": "^3.0.199",
52
+ "@panneau/element-button": "^3.0.211",
53
+ "@panneau/element-buttons": "^3.0.211",
54
+ "@panneau/element-form": "^3.0.211",
55
55
  "@panneau/element-form-status": "^3.0.194",
56
- "@panneau/element-grid": "^3.0.209",
57
- "@panneau/element-icon": "^3.0.194",
58
- "@panneau/element-media-card": "^3.0.201",
59
- "@panneau/element-media-player": "^3.0.199",
60
- "@panneau/element-pagination": "^3.0.194",
61
- "@panneau/element-table": "^3.0.209",
62
- "@panneau/field-upload": "^3.0.209",
63
- "@panneau/filter-filters": "^3.0.208",
56
+ "@panneau/element-grid": "^3.0.211",
57
+ "@panneau/element-icon": "^3.0.211",
58
+ "@panneau/element-media-card": "^3.0.211",
59
+ "@panneau/element-media-player": "^3.0.210",
60
+ "@panneau/element-pagination": "^3.0.211",
61
+ "@panneau/element-table": "^3.0.211",
62
+ "@panneau/field-upload": "^3.0.211",
63
+ "@panneau/filter-filters": "^3.0.211",
64
64
  "classnames": "^2.5.1",
65
65
  "lodash": "^4.17.21",
66
66
  "prop-types": "^15.7.2",
@@ -69,5 +69,5 @@
69
69
  "publishConfig": {
70
70
  "access": "public"
71
71
  },
72
- "gitHead": "35ea686893c9fbbd809ad9738634ae5c30344842"
72
+ "gitHead": "852b4a2eb4644413197a8f91739cf74f42b039f4"
73
73
  }