@panneau/medias 3.0.244 → 3.0.246
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 +91 -50
- package/package.json +3 -3
package/es/index.js
CHANGED
@@ -578,6 +578,25 @@ function MediaForm(_ref) {
|
|
578
578
|
MediaForm.propTypes = propTypes$7;
|
579
579
|
MediaForm.defaultProps = defaultProps$7;
|
580
580
|
|
581
|
+
var useMediaRestore = function useMediaRestore() {
|
582
|
+
var _useState = useState(false),
|
583
|
+
_useState2 = _slicedToArray(_useState, 2),
|
584
|
+
restoring = _useState2[0],
|
585
|
+
setRestoring = _useState2[1];
|
586
|
+
var api = useMediasApi();
|
587
|
+
var mediaRestore = useCallback(function (id, data) {
|
588
|
+
setRestoring(true);
|
589
|
+
return api.restore(id, data).then(function (response) {
|
590
|
+
setRestoring(false);
|
591
|
+
return response;
|
592
|
+
});
|
593
|
+
}, [api, setRestoring]);
|
594
|
+
return {
|
595
|
+
mediaRestore: mediaRestore,
|
596
|
+
restoring: restoring
|
597
|
+
};
|
598
|
+
};
|
599
|
+
|
581
600
|
var MediaContext = /*#__PURE__*/React.createContext(null);
|
582
601
|
var useCurrentMedia = function useCurrentMedia() {
|
583
602
|
return useContext(MediaContext);
|
@@ -821,31 +840,17 @@ var defaultFilters = [{
|
|
821
840
|
// },
|
822
841
|
];
|
823
842
|
|
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
843
|
var _excluded$5 = ["page", "count"],
|
844
844
|
_excluded2 = ["types", "trashed"];
|
845
845
|
var propTypes$5 = {
|
846
846
|
items: PropTypes$1.medias,
|
847
847
|
extraItems: PropTypes$1.medias,
|
848
848
|
types: PropTypes.arrayOf(PropTypes.string),
|
849
|
+
permissions: PropTypes.shape({
|
850
|
+
create: PropTypes.bool,
|
851
|
+
edit: PropTypes.bool,
|
852
|
+
"delete": PropTypes.bool
|
853
|
+
}),
|
849
854
|
filters: PropTypes$1.filters,
|
850
855
|
columns: PropTypes$1.tableColumns,
|
851
856
|
query: PropTypes.shape({}),
|
@@ -875,6 +880,7 @@ var defaultProps$5 = {
|
|
875
880
|
items: null,
|
876
881
|
extraItems: null,
|
877
882
|
types: null,
|
883
|
+
permissions: null,
|
878
884
|
filters: defaultFilters,
|
879
885
|
columns: defaultColumns,
|
880
886
|
fields: defaultFields,
|
@@ -914,6 +920,7 @@ function MediasBrowser(_ref) {
|
|
914
920
|
var initialItems = _ref.items,
|
915
921
|
extraItems = _ref.extraItems,
|
916
922
|
types = _ref.types,
|
923
|
+
permissions = _ref.permissions,
|
917
924
|
baseUrl = _ref.baseUrl,
|
918
925
|
filters = _ref.filters,
|
919
926
|
columns = _ref.columns,
|
@@ -972,13 +979,21 @@ function MediasBrowser(_ref) {
|
|
972
979
|
count = _useMemo$count === void 0 ? null : _useMemo$count,
|
973
980
|
_useMemo$query = _useMemo.query,
|
974
981
|
query = _useMemo$query === void 0 ? null : _useMemo$query;
|
982
|
+
var _ref3 = permissions || {},
|
983
|
+
_ref3$create = _ref3.create,
|
984
|
+
canCreate = _ref3$create === void 0 ? true : _ref3$create,
|
985
|
+
_ref3$edit = _ref3.edit,
|
986
|
+
canEdit = _ref3$edit === void 0 ? true : _ref3$edit,
|
987
|
+
_ref3$delete = _ref3["delete"],
|
988
|
+
canDelete = _ref3$delete === void 0 ? true : _ref3$delete;
|
989
|
+
var canUpload = canCreate && !withoutUpload;
|
975
990
|
|
976
991
|
// eslint-disable-next-line no-unused-vars
|
977
|
-
var
|
978
|
-
|
979
|
-
var
|
980
|
-
trashed =
|
981
|
-
queryWithoutTypes = _objectWithoutProperties(
|
992
|
+
var _ref4 = query || {};
|
993
|
+
_ref4.types;
|
994
|
+
var _ref4$trashed = _ref4.trashed,
|
995
|
+
trashed = _ref4$trashed === void 0 ? null : _ref4$trashed,
|
996
|
+
queryWithoutTypes = _objectWithoutProperties(_ref4, _excluded2);
|
982
997
|
var _useMediaTrash = useMediaTrash$1(),
|
983
998
|
mediaTrash = _useMediaTrash.mediaTrash,
|
984
999
|
trashing = _useMediaTrash.trashing;
|
@@ -1061,9 +1076,9 @@ function MediasBrowser(_ref) {
|
|
1061
1076
|
var onTrashMedia = useCallback(function (id) {
|
1062
1077
|
return !showTrashed && withTrash ? mediaTrash(id).then(function () {
|
1063
1078
|
if (!multipleSelection) {
|
1064
|
-
var
|
1065
|
-
|
1066
|
-
selectedId =
|
1079
|
+
var _ref5 = selectedItems || {},
|
1080
|
+
_ref5$id = _ref5.id,
|
1081
|
+
selectedId = _ref5$id === void 0 ? null : _ref5$id;
|
1067
1082
|
if (selectedId !== null && selectedId === id) {
|
1068
1083
|
onSelectionChange(null);
|
1069
1084
|
}
|
@@ -1071,9 +1086,9 @@ function MediasBrowser(_ref) {
|
|
1071
1086
|
// Todo remove from mult selection
|
1072
1087
|
}).then(reload) : mediaDelete(id).then(function () {
|
1073
1088
|
if (!multipleSelection) {
|
1074
|
-
var
|
1075
|
-
|
1076
|
-
selectedId =
|
1089
|
+
var _ref6 = selectedItems || {},
|
1090
|
+
_ref6$id = _ref6.id,
|
1091
|
+
selectedId = _ref6$id === void 0 ? null : _ref6$id;
|
1077
1092
|
if (selectedId !== null && selectedId === id) {
|
1078
1093
|
onSelectionChange(null);
|
1079
1094
|
}
|
@@ -1095,10 +1110,10 @@ function MediasBrowser(_ref) {
|
|
1095
1110
|
});
|
1096
1111
|
setUploadedMedias(uploadedNewMedias);
|
1097
1112
|
if (onSelectionChange !== null) {
|
1098
|
-
var
|
1099
|
-
|
1100
|
-
|
1101
|
-
firstMedia =
|
1113
|
+
var _ref7 = newMedias || [],
|
1114
|
+
_ref8 = _slicedToArray(_ref7, 1),
|
1115
|
+
_ref8$ = _ref8[0],
|
1116
|
+
firstMedia = _ref8$ === void 0 ? null : _ref8$;
|
1102
1117
|
onSelectionChange(multipleSelection && isArray(newMedias) ? newMedias : firstMedia);
|
1103
1118
|
onQueryReset();
|
1104
1119
|
reload();
|
@@ -1151,9 +1166,9 @@ function MediasBrowser(_ref) {
|
|
1151
1166
|
}]) : filters;
|
1152
1167
|
if (types !== null && partialFilters !== null) {
|
1153
1168
|
return (partialFilters || []).map(function (filter) {
|
1154
|
-
var
|
1155
|
-
|
1156
|
-
id =
|
1169
|
+
var _ref9 = filter || {},
|
1170
|
+
_ref9$id = _ref9.id,
|
1171
|
+
id = _ref9$id === void 0 ? null : _ref9$id;
|
1157
1172
|
return id === 'types' ? _objectSpread(_objectSpread({}, filter), {}, {
|
1158
1173
|
disabled: true
|
1159
1174
|
}) : filter;
|
@@ -1161,11 +1176,11 @@ function MediasBrowser(_ref) {
|
|
1161
1176
|
}
|
1162
1177
|
return partialFilters;
|
1163
1178
|
}, [filters, types, withTrash, showTrashed, onClickTrash]);
|
1164
|
-
var
|
1179
|
+
var partialColumns = useMemo(function () {
|
1165
1180
|
return withTrash && showTrashed ? (columns || []).map(function (column) {
|
1166
|
-
var
|
1167
|
-
|
1168
|
-
columnId =
|
1181
|
+
var _ref10 = column || {},
|
1182
|
+
_ref10$id = _ref10.id,
|
1183
|
+
columnId = _ref10$id === void 0 ? null : _ref10$id;
|
1169
1184
|
if (columnId === 'created_at') {
|
1170
1185
|
return _objectSpread(_objectSpread({}, column), {}, {
|
1171
1186
|
path: 'deleted_at',
|
@@ -1179,9 +1194,9 @@ function MediasBrowser(_ref) {
|
|
1179
1194
|
});
|
1180
1195
|
}
|
1181
1196
|
if (columnId === 'actions') {
|
1182
|
-
var
|
1183
|
-
|
1184
|
-
actions =
|
1197
|
+
var _ref11 = column || {},
|
1198
|
+
_ref11$actions = _ref11.actions,
|
1199
|
+
actions = _ref11$actions === void 0 ? [] : _ref11$actions;
|
1185
1200
|
return _objectSpread(_objectSpread({}, column), {}, {
|
1186
1201
|
actions: (actions || []).reduce(function (acc, action) {
|
1187
1202
|
if (action === 'delete') {
|
@@ -1204,6 +1219,32 @@ function MediasBrowser(_ref) {
|
|
1204
1219
|
return column;
|
1205
1220
|
}) : columns;
|
1206
1221
|
}, [columns, withTrash, showTrashed]);
|
1222
|
+
var finalColumns = useMemo(function () {
|
1223
|
+
return (partialColumns || []).map(function (column) {
|
1224
|
+
var _ref12 = column || {},
|
1225
|
+
_ref12$id = _ref12.id,
|
1226
|
+
columnId = _ref12$id === void 0 ? null : _ref12$id;
|
1227
|
+
if (columnId === 'actions') {
|
1228
|
+
var _ref13 = column || {},
|
1229
|
+
_ref13$actions = _ref13.actions,
|
1230
|
+
actions = _ref13$actions === void 0 ? [] : _ref13$actions;
|
1231
|
+
var availableActions = actions.filter(function (act) {
|
1232
|
+
return act !== 'delete' || canDelete;
|
1233
|
+
}).filter(function (act) {
|
1234
|
+
return act !== 'edit' || canEdit;
|
1235
|
+
});
|
1236
|
+
if (availableActions.length === 0) {
|
1237
|
+
return null;
|
1238
|
+
}
|
1239
|
+
return _objectSpread(_objectSpread({}, column), {}, {
|
1240
|
+
actions: availableActions
|
1241
|
+
});
|
1242
|
+
}
|
1243
|
+
return column;
|
1244
|
+
}).filter(function (act) {
|
1245
|
+
return act !== null;
|
1246
|
+
});
|
1247
|
+
}, [partialColumns, canEdit, canDelete]);
|
1207
1248
|
var hasQueryItem = useMemo(function () {
|
1208
1249
|
var showOnTopQuery = types === null ? query : queryWithoutTypes;
|
1209
1250
|
return showOnTopQuery !== null && !trashed ? Object.keys(showOnTopQuery).length > 0 : false;
|
@@ -1219,9 +1260,9 @@ function MediasBrowser(_ref) {
|
|
1219
1260
|
var _item$id = item.id,
|
1220
1261
|
itemId = _item$id === void 0 ? null : _item$id;
|
1221
1262
|
return (allItems || []).find(function () {
|
1222
|
-
var
|
1223
|
-
|
1224
|
-
otherId =
|
1263
|
+
var _ref14 = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {},
|
1264
|
+
_ref14$id = _ref14.id,
|
1265
|
+
otherId = _ref14$id === void 0 ? null : _ref14$id;
|
1225
1266
|
return otherId === itemId;
|
1226
1267
|
}) || item || null;
|
1227
1268
|
}).filter(function (it) {
|
@@ -1258,7 +1299,7 @@ function MediasBrowser(_ref) {
|
|
1258
1299
|
onChange: onQueryChange,
|
1259
1300
|
onReset: onQueryReset,
|
1260
1301
|
theme: theme
|
1261
|
-
}) : null,
|
1302
|
+
}) : null, canUpload ? /*#__PURE__*/React.createElement(UploadField, {
|
1262
1303
|
className: "ms-auto w-auto text-nowrap mt-2 mb-2 ps-2",
|
1263
1304
|
withButton: true,
|
1264
1305
|
withoutMedia: true,
|
@@ -1331,8 +1372,8 @@ function MediasBrowser(_ref) {
|
|
1331
1372
|
,
|
1332
1373
|
actionsProps: {
|
1333
1374
|
getDeletePropsFromItem: function getDeletePropsFromItem() {
|
1334
|
-
var
|
1335
|
-
|
1375
|
+
var _ref15 = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};
|
1376
|
+
_ref15.id;
|
1336
1377
|
return {
|
1337
1378
|
href: null,
|
1338
1379
|
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.246",
|
4
4
|
"description": "",
|
5
5
|
"keywords": [
|
6
6
|
"javascript"
|
@@ -64,7 +64,7 @@
|
|
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.
|
67
|
+
"@panneau/field-upload": "^3.0.245",
|
68
68
|
"@panneau/filter-filters": "^3.0.244",
|
69
69
|
"classnames": "^2.5.1",
|
70
70
|
"lodash": "^4.17.21",
|
@@ -74,5 +74,5 @@
|
|
74
74
|
"publishConfig": {
|
75
75
|
"access": "public"
|
76
76
|
},
|
77
|
-
"gitHead": "
|
77
|
+
"gitHead": "ff4eb6478ed963f29c9686e4463ffbf4d3791bcb"
|
78
78
|
}
|