@panneau/medias 3.0.245 → 3.0.247
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.
- package/es/index.js +107 -51
- package/package.json +4 -4
package/es/index.js
CHANGED
@@ -263,7 +263,22 @@ var defaultFields = [{
|
|
263
263
|
}),
|
264
264
|
type: 'text',
|
265
265
|
component: 'text'
|
266
|
-
},
|
266
|
+
},
|
267
|
+
// Creatable example
|
268
|
+
// {
|
269
|
+
// name: 'tags',
|
270
|
+
// label: <FormattedMessage defaultMessage="Tags" description="Field name" />,
|
271
|
+
// type: 'array',
|
272
|
+
// component: 'select',
|
273
|
+
// requestUrl: '/api/tags',
|
274
|
+
// optionLabelPath: 'label',
|
275
|
+
// optionValuePath: 'id', // Uses taggable so change the logic here
|
276
|
+
// valueIsOption: true,
|
277
|
+
// multiple: true,
|
278
|
+
// paginated: false,
|
279
|
+
// creatable: true, // TODO
|
280
|
+
// },
|
281
|
+
{
|
267
282
|
id: 'info',
|
268
283
|
component: 'fields',
|
269
284
|
label: /*#__PURE__*/React.createElement(FormattedMessage, {
|
@@ -578,6 +593,25 @@ function MediaForm(_ref) {
|
|
578
593
|
MediaForm.propTypes = propTypes$7;
|
579
594
|
MediaForm.defaultProps = defaultProps$7;
|
580
595
|
|
596
|
+
var useMediaRestore = function useMediaRestore() {
|
597
|
+
var _useState = useState(false),
|
598
|
+
_useState2 = _slicedToArray(_useState, 2),
|
599
|
+
restoring = _useState2[0],
|
600
|
+
setRestoring = _useState2[1];
|
601
|
+
var api = useMediasApi();
|
602
|
+
var mediaRestore = useCallback(function (id, data) {
|
603
|
+
setRestoring(true);
|
604
|
+
return api.restore(id, data).then(function (response) {
|
605
|
+
setRestoring(false);
|
606
|
+
return response;
|
607
|
+
});
|
608
|
+
}, [api, setRestoring]);
|
609
|
+
return {
|
610
|
+
mediaRestore: mediaRestore,
|
611
|
+
restoring: restoring
|
612
|
+
};
|
613
|
+
};
|
614
|
+
|
581
615
|
var MediaContext = /*#__PURE__*/React.createContext(null);
|
582
616
|
var useCurrentMedia = function useCurrentMedia() {
|
583
617
|
return useContext(MediaContext);
|
@@ -821,31 +855,17 @@ var defaultFilters = [{
|
|
821
855
|
// },
|
822
856
|
];
|
823
857
|
|
824
|
-
var useMediaRestore = function useMediaRestore() {
|
825
|
-
var _useState = useState(false),
|
826
|
-
_useState2 = _slicedToArray(_useState, 2),
|
827
|
-
restoring = _useState2[0],
|
828
|
-
setRestoring = _useState2[1];
|
829
|
-
var api = useMediasApi();
|
830
|
-
var mediaRestore = useCallback(function (id, data) {
|
831
|
-
setRestoring(true);
|
832
|
-
return api.restore(id, data).then(function (response) {
|
833
|
-
setRestoring(false);
|
834
|
-
return response;
|
835
|
-
});
|
836
|
-
}, [api, setRestoring]);
|
837
|
-
return {
|
838
|
-
mediaRestore: mediaRestore,
|
839
|
-
restoring: restoring
|
840
|
-
};
|
841
|
-
};
|
842
|
-
|
843
858
|
var _excluded$5 = ["page", "count"],
|
844
859
|
_excluded2 = ["types", "trashed"];
|
845
860
|
var propTypes$5 = {
|
846
861
|
items: PropTypes$1.medias,
|
847
862
|
extraItems: PropTypes$1.medias,
|
848
863
|
types: PropTypes.arrayOf(PropTypes.string),
|
864
|
+
permissions: PropTypes.shape({
|
865
|
+
create: PropTypes.bool,
|
866
|
+
edit: PropTypes.bool,
|
867
|
+
"delete": PropTypes.bool
|
868
|
+
}),
|
849
869
|
filters: PropTypes$1.filters,
|
850
870
|
columns: PropTypes$1.tableColumns,
|
851
871
|
query: PropTypes.shape({}),
|
@@ -875,6 +895,7 @@ var defaultProps$5 = {
|
|
875
895
|
items: null,
|
876
896
|
extraItems: null,
|
877
897
|
types: null,
|
898
|
+
permissions: null,
|
878
899
|
filters: defaultFilters,
|
879
900
|
columns: defaultColumns,
|
880
901
|
fields: defaultFields,
|
@@ -914,6 +935,7 @@ function MediasBrowser(_ref) {
|
|
914
935
|
var initialItems = _ref.items,
|
915
936
|
extraItems = _ref.extraItems,
|
916
937
|
types = _ref.types,
|
938
|
+
permissions = _ref.permissions,
|
917
939
|
baseUrl = _ref.baseUrl,
|
918
940
|
filters = _ref.filters,
|
919
941
|
columns = _ref.columns,
|
@@ -972,13 +994,21 @@ function MediasBrowser(_ref) {
|
|
972
994
|
count = _useMemo$count === void 0 ? null : _useMemo$count,
|
973
995
|
_useMemo$query = _useMemo.query,
|
974
996
|
query = _useMemo$query === void 0 ? null : _useMemo$query;
|
997
|
+
var _ref3 = permissions || {},
|
998
|
+
_ref3$create = _ref3.create,
|
999
|
+
canCreate = _ref3$create === void 0 ? true : _ref3$create,
|
1000
|
+
_ref3$edit = _ref3.edit,
|
1001
|
+
canEdit = _ref3$edit === void 0 ? true : _ref3$edit,
|
1002
|
+
_ref3$delete = _ref3["delete"],
|
1003
|
+
canDelete = _ref3$delete === void 0 ? true : _ref3$delete;
|
1004
|
+
var canUpload = canCreate && !withoutUpload;
|
975
1005
|
|
976
1006
|
// eslint-disable-next-line no-unused-vars
|
977
|
-
var
|
978
|
-
|
979
|
-
var
|
980
|
-
trashed =
|
981
|
-
queryWithoutTypes = _objectWithoutProperties(
|
1007
|
+
var _ref4 = query || {};
|
1008
|
+
_ref4.types;
|
1009
|
+
var _ref4$trashed = _ref4.trashed,
|
1010
|
+
trashed = _ref4$trashed === void 0 ? null : _ref4$trashed,
|
1011
|
+
queryWithoutTypes = _objectWithoutProperties(_ref4, _excluded2);
|
982
1012
|
var _useMediaTrash = useMediaTrash$1(),
|
983
1013
|
mediaTrash = _useMediaTrash.mediaTrash,
|
984
1014
|
trashing = _useMediaTrash.trashing;
|
@@ -1061,9 +1091,9 @@ function MediasBrowser(_ref) {
|
|
1061
1091
|
var onTrashMedia = useCallback(function (id) {
|
1062
1092
|
return !showTrashed && withTrash ? mediaTrash(id).then(function () {
|
1063
1093
|
if (!multipleSelection) {
|
1064
|
-
var
|
1065
|
-
|
1066
|
-
selectedId =
|
1094
|
+
var _ref5 = selectedItems || {},
|
1095
|
+
_ref5$id = _ref5.id,
|
1096
|
+
selectedId = _ref5$id === void 0 ? null : _ref5$id;
|
1067
1097
|
if (selectedId !== null && selectedId === id) {
|
1068
1098
|
onSelectionChange(null);
|
1069
1099
|
}
|
@@ -1071,9 +1101,9 @@ function MediasBrowser(_ref) {
|
|
1071
1101
|
// Todo remove from mult selection
|
1072
1102
|
}).then(reload) : mediaDelete(id).then(function () {
|
1073
1103
|
if (!multipleSelection) {
|
1074
|
-
var
|
1075
|
-
|
1076
|
-
selectedId =
|
1104
|
+
var _ref6 = selectedItems || {},
|
1105
|
+
_ref6$id = _ref6.id,
|
1106
|
+
selectedId = _ref6$id === void 0 ? null : _ref6$id;
|
1077
1107
|
if (selectedId !== null && selectedId === id) {
|
1078
1108
|
onSelectionChange(null);
|
1079
1109
|
}
|
@@ -1095,10 +1125,10 @@ function MediasBrowser(_ref) {
|
|
1095
1125
|
});
|
1096
1126
|
setUploadedMedias(uploadedNewMedias);
|
1097
1127
|
if (onSelectionChange !== null) {
|
1098
|
-
var
|
1099
|
-
|
1100
|
-
|
1101
|
-
firstMedia =
|
1128
|
+
var _ref7 = newMedias || [],
|
1129
|
+
_ref8 = _slicedToArray(_ref7, 1),
|
1130
|
+
_ref8$ = _ref8[0],
|
1131
|
+
firstMedia = _ref8$ === void 0 ? null : _ref8$;
|
1102
1132
|
onSelectionChange(multipleSelection && isArray(newMedias) ? newMedias : firstMedia);
|
1103
1133
|
onQueryReset();
|
1104
1134
|
reload();
|
@@ -1151,9 +1181,9 @@ function MediasBrowser(_ref) {
|
|
1151
1181
|
}]) : filters;
|
1152
1182
|
if (types !== null && partialFilters !== null) {
|
1153
1183
|
return (partialFilters || []).map(function (filter) {
|
1154
|
-
var
|
1155
|
-
|
1156
|
-
id =
|
1184
|
+
var _ref9 = filter || {},
|
1185
|
+
_ref9$id = _ref9.id,
|
1186
|
+
id = _ref9$id === void 0 ? null : _ref9$id;
|
1157
1187
|
return id === 'types' ? _objectSpread(_objectSpread({}, filter), {}, {
|
1158
1188
|
disabled: true
|
1159
1189
|
}) : filter;
|
@@ -1161,11 +1191,11 @@ function MediasBrowser(_ref) {
|
|
1161
1191
|
}
|
1162
1192
|
return partialFilters;
|
1163
1193
|
}, [filters, types, withTrash, showTrashed, onClickTrash]);
|
1164
|
-
var
|
1194
|
+
var partialColumns = useMemo(function () {
|
1165
1195
|
return withTrash && showTrashed ? (columns || []).map(function (column) {
|
1166
|
-
var
|
1167
|
-
|
1168
|
-
columnId =
|
1196
|
+
var _ref10 = column || {},
|
1197
|
+
_ref10$id = _ref10.id,
|
1198
|
+
columnId = _ref10$id === void 0 ? null : _ref10$id;
|
1169
1199
|
if (columnId === 'created_at') {
|
1170
1200
|
return _objectSpread(_objectSpread({}, column), {}, {
|
1171
1201
|
path: 'deleted_at',
|
@@ -1179,9 +1209,9 @@ function MediasBrowser(_ref) {
|
|
1179
1209
|
});
|
1180
1210
|
}
|
1181
1211
|
if (columnId === 'actions') {
|
1182
|
-
var
|
1183
|
-
|
1184
|
-
actions =
|
1212
|
+
var _ref11 = column || {},
|
1213
|
+
_ref11$actions = _ref11.actions,
|
1214
|
+
actions = _ref11$actions === void 0 ? [] : _ref11$actions;
|
1185
1215
|
return _objectSpread(_objectSpread({}, column), {}, {
|
1186
1216
|
actions: (actions || []).reduce(function (acc, action) {
|
1187
1217
|
if (action === 'delete') {
|
@@ -1204,6 +1234,32 @@ function MediasBrowser(_ref) {
|
|
1204
1234
|
return column;
|
1205
1235
|
}) : columns;
|
1206
1236
|
}, [columns, withTrash, showTrashed]);
|
1237
|
+
var finalColumns = useMemo(function () {
|
1238
|
+
return (partialColumns || []).map(function (column) {
|
1239
|
+
var _ref12 = column || {},
|
1240
|
+
_ref12$id = _ref12.id,
|
1241
|
+
columnId = _ref12$id === void 0 ? null : _ref12$id;
|
1242
|
+
if (columnId === 'actions') {
|
1243
|
+
var _ref13 = column || {},
|
1244
|
+
_ref13$actions = _ref13.actions,
|
1245
|
+
actions = _ref13$actions === void 0 ? [] : _ref13$actions;
|
1246
|
+
var availableActions = actions.filter(function (act) {
|
1247
|
+
return act !== 'delete' || canDelete;
|
1248
|
+
}).filter(function (act) {
|
1249
|
+
return act !== 'edit' || canEdit;
|
1250
|
+
});
|
1251
|
+
if (availableActions.length === 0) {
|
1252
|
+
return null;
|
1253
|
+
}
|
1254
|
+
return _objectSpread(_objectSpread({}, column), {}, {
|
1255
|
+
actions: availableActions
|
1256
|
+
});
|
1257
|
+
}
|
1258
|
+
return column;
|
1259
|
+
}).filter(function (act) {
|
1260
|
+
return act !== null;
|
1261
|
+
});
|
1262
|
+
}, [partialColumns, canEdit, canDelete]);
|
1207
1263
|
var hasQueryItem = useMemo(function () {
|
1208
1264
|
var showOnTopQuery = types === null ? query : queryWithoutTypes;
|
1209
1265
|
return showOnTopQuery !== null && !trashed ? Object.keys(showOnTopQuery).length > 0 : false;
|
@@ -1219,9 +1275,9 @@ function MediasBrowser(_ref) {
|
|
1219
1275
|
var _item$id = item.id,
|
1220
1276
|
itemId = _item$id === void 0 ? null : _item$id;
|
1221
1277
|
return (allItems || []).find(function () {
|
1222
|
-
var
|
1223
|
-
|
1224
|
-
otherId =
|
1278
|
+
var _ref14 = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {},
|
1279
|
+
_ref14$id = _ref14.id,
|
1280
|
+
otherId = _ref14$id === void 0 ? null : _ref14$id;
|
1225
1281
|
return otherId === itemId;
|
1226
1282
|
}) || item || null;
|
1227
1283
|
}).filter(function (it) {
|
@@ -1258,7 +1314,7 @@ function MediasBrowser(_ref) {
|
|
1258
1314
|
onChange: onQueryChange,
|
1259
1315
|
onReset: onQueryReset,
|
1260
1316
|
theme: theme
|
1261
|
-
}) : null,
|
1317
|
+
}) : null, canUpload ? /*#__PURE__*/React.createElement(UploadField, {
|
1262
1318
|
className: "ms-auto w-auto text-nowrap mt-2 mb-2 ps-2",
|
1263
1319
|
withButton: true,
|
1264
1320
|
withoutMedia: true,
|
@@ -1331,8 +1387,8 @@ function MediasBrowser(_ref) {
|
|
1331
1387
|
,
|
1332
1388
|
actionsProps: {
|
1333
1389
|
getDeletePropsFromItem: function getDeletePropsFromItem() {
|
1334
|
-
var
|
1335
|
-
|
1390
|
+
var _ref15 = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};
|
1391
|
+
_ref15.id;
|
1336
1392
|
return {
|
1337
1393
|
href: null,
|
1338
1394
|
withConfirmation: true,
|
package/package.json
CHANGED
@@ -1,6 +1,6 @@
|
|
1
1
|
{
|
2
2
|
"name": "@panneau/medias",
|
3
|
-
"version": "3.0.
|
3
|
+
"version": "3.0.247",
|
4
4
|
"description": "",
|
5
5
|
"keywords": [
|
6
6
|
"javascript"
|
@@ -64,8 +64,8 @@
|
|
64
64
|
"@panneau/element-media-player": "^3.0.244",
|
65
65
|
"@panneau/element-pagination": "^3.0.244",
|
66
66
|
"@panneau/element-table": "^3.0.244",
|
67
|
-
"@panneau/field-upload": "^3.0.
|
68
|
-
"@panneau/filter-filters": "^3.0.
|
67
|
+
"@panneau/field-upload": "^3.0.247",
|
68
|
+
"@panneau/filter-filters": "^3.0.247",
|
69
69
|
"classnames": "^2.5.1",
|
70
70
|
"lodash": "^4.17.21",
|
71
71
|
"prop-types": "^15.7.2",
|
@@ -74,5 +74,5 @@
|
|
74
74
|
"publishConfig": {
|
75
75
|
"access": "public"
|
76
76
|
},
|
77
|
-
"gitHead": "
|
77
|
+
"gitHead": "a8c051170781e27da715dcd48d808c0468cc5367"
|
78
78
|
}
|