@panneau/app 2.0.68 → 2.0.70
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 +113 -565
- package/lib/index.js +76 -529
- package/package.json +30 -27
package/es/index.js
CHANGED
@@ -1,13 +1,13 @@
|
|
1
1
|
import _defineProperty from '@babel/runtime/helpers/defineProperty';
|
2
2
|
import _objectSpread from '@babel/runtime/helpers/objectSpread2';
|
3
|
-
import PropTypes
|
4
|
-
import React, {
|
3
|
+
import PropTypes from 'prop-types';
|
4
|
+
import React, { useCallback, useMemo, useState, useEffect, Fragment } from 'react';
|
5
5
|
import { useLocation, useNavigate, useParams, Route, Routes, Navigate, MemoryRouter } from 'react-router';
|
6
6
|
import { Link, BrowserRouter } from 'react-router-dom';
|
7
7
|
import { useUser, useLogout, useAuth, AuthProvider } from '@panneau/auth';
|
8
|
-
import { PropTypes } from '@panneau/core';
|
9
|
-
import {
|
10
|
-
import {
|
8
|
+
import { PropTypes as PropTypes$1 } from '@panneau/core';
|
9
|
+
import { useUrlGenerator, usePanneauResources, usePanneau, usePanneauColorScheme, ResourceProvider, useComponentsManager, useFormsComponents, useRoutes, usePagesComponentsManager, PanneauProvider, UppyProvider, RoutesProvider, ModalProvider, ComponentsProvider } from '@panneau/core/contexts';
|
10
|
+
import { useResourceItem, ApiProvider } from '@panneau/data';
|
11
11
|
import DisplaysProvider from '@panneau/displays';
|
12
12
|
import FieldsProvider from '@panneau/fields';
|
13
13
|
import FiltersProvider from '@panneau/filters';
|
@@ -21,11 +21,9 @@ import _slicedToArray from '@babel/runtime/helpers/slicedToArray';
|
|
21
21
|
import isObject from 'lodash/isObject';
|
22
22
|
import queryString from 'query-string';
|
23
23
|
import { FormattedMessage, defineMessages } from 'react-intl';
|
24
|
-
import { useResourceUrlGenerator
|
25
|
-
import
|
24
|
+
import { useResourceUrlGenerator } from '@panneau/core/hooks';
|
25
|
+
import ResourceForm from '@panneau/form-resource';
|
26
26
|
import classNames from 'classnames';
|
27
|
-
import Button from '@panneau/element-button';
|
28
|
-
import Form from '@panneau/element-form';
|
29
27
|
import { Modals } from '@panneau/element-modal';
|
30
28
|
import isArray from 'lodash/isArray';
|
31
29
|
import Menu from '@panneau/element-menu';
|
@@ -33,286 +31,26 @@ import Navbar from '@panneau/element-navbar';
|
|
33
31
|
import Label from '@panneau/element-label';
|
34
32
|
import isString from 'lodash/isString';
|
35
33
|
import Alert from '@panneau/element-alert';
|
34
|
+
import Button from '@panneau/element-button';
|
36
35
|
import Dropdown from '@panneau/element-dropdown';
|
37
|
-
import
|
38
|
-
import
|
39
|
-
import
|
40
|
-
import { FontAwesomeIcon } from '@fortawesome/react-fontawesome';
|
41
|
-
import FormGroup from '@panneau/element-form-group';
|
42
|
-
|
43
|
-
var _excluded$6 = ["resource", "action", "previous", "status", "value", "onSubmit", "errors", "generalError", "className"];
|
44
|
-
var propTypes$m = {
|
45
|
-
resource: PropTypes.resource.isRequired,
|
46
|
-
action: PropTypes$1.string,
|
47
|
-
previous: PropTypes$1.string,
|
48
|
-
fields: PropTypes.fields.isRequired,
|
49
|
-
value: PropTypes$1.object,
|
50
|
-
// eslint-disable-line react/forbid-prop-types
|
51
|
-
onChange: PropTypes$1.func.isRequired,
|
52
|
-
onSubmit: PropTypes$1.func,
|
53
|
-
status: PropTypes.formStatus,
|
54
|
-
generalError: PropTypes$1.string,
|
55
|
-
errors: PropTypes$1.objectOf(PropTypes$1.arrayOf(PropTypes$1.string)),
|
56
|
-
className: PropTypes$1.string
|
57
|
-
};
|
58
|
-
var defaultProps$m = {
|
59
|
-
action: null,
|
60
|
-
previous: null,
|
61
|
-
status: null,
|
62
|
-
value: null,
|
63
|
-
onSubmit: null,
|
64
|
-
generalError: null,
|
65
|
-
errors: null,
|
66
|
-
className: null
|
67
|
-
};
|
68
|
-
var DeleteForm = function DeleteForm(_ref) {
|
69
|
-
var resource = _ref.resource,
|
70
|
-
action = _ref.action,
|
71
|
-
previous = _ref.previous;
|
72
|
-
_ref.status;
|
73
|
-
var value = _ref.value,
|
74
|
-
onSubmit = _ref.onSubmit;
|
75
|
-
_ref.errors;
|
76
|
-
var generalError = _ref.generalError,
|
77
|
-
className = _ref.className,
|
78
|
-
props = _objectWithoutProperties(_ref, _excluded$6);
|
79
|
-
var _ref2 = value || {},
|
80
|
-
_ref2$id = _ref2.id,
|
81
|
-
id = _ref2$id === void 0 ? null : _ref2$id;
|
82
|
-
var resourceValues = useResourceValues(resource, {
|
83
|
-
id: id
|
84
|
-
});
|
85
|
-
// const { text, background } = usePanneauColorScheme();
|
86
|
-
|
87
|
-
return /*#__PURE__*/React.createElement(Form, Object.assign({
|
88
|
-
className: classNames(['form', _defineProperty({
|
89
|
-
'invalid-feedback': generalError !== null
|
90
|
-
}, className, className !== null)]),
|
91
|
-
action: action,
|
92
|
-
onSubmit: onSubmit,
|
93
|
-
withoutActions: true,
|
94
|
-
withoutErrors: true
|
95
|
-
}, props), /*#__PURE__*/React.createElement("div", {
|
96
|
-
className: classNames(['card', _defineProperty({}, className, className !== null)])
|
97
|
-
}, /*#__PURE__*/React.createElement("div", {
|
98
|
-
className: "card-body"
|
99
|
-
}, /*#__PURE__*/React.createElement(FormattedMessage, {
|
100
|
-
values: resourceValues,
|
101
|
-
id: "yzfiXJ",
|
102
|
-
defaultMessage: [{
|
103
|
-
"type": 0,
|
104
|
-
"value": "Are you sure you want to delete "
|
105
|
-
}, {
|
106
|
-
"type": 1,
|
107
|
-
"value": "the_singular"
|
108
|
-
}, {
|
109
|
-
"type": 0,
|
110
|
-
"value": " #"
|
111
|
-
}, {
|
112
|
-
"type": 1,
|
113
|
-
"value": "id"
|
114
|
-
}, {
|
115
|
-
"type": 0,
|
116
|
-
"value": "?"
|
117
|
-
}]
|
118
|
-
}), generalError ? /*#__PURE__*/React.createElement("p", {
|
119
|
-
className: "text-danger"
|
120
|
-
}, /*#__PURE__*/React.createElement(FormattedMessage, {
|
121
|
-
id: "y9zauY",
|
122
|
-
defaultMessage: [{
|
123
|
-
"type": 0,
|
124
|
-
"value": "An error occured and we could not delete this item successfully."
|
125
|
-
}]
|
126
|
-
})) : null), /*#__PURE__*/React.createElement("div", {
|
127
|
-
className: "card-body d-flex"
|
128
|
-
}, previous !== null ? /*#__PURE__*/React.createElement(Button, {
|
129
|
-
href: previous,
|
130
|
-
className: "me-2",
|
131
|
-
theme: "secondary",
|
132
|
-
outline: true
|
133
|
-
}, /*#__PURE__*/React.createElement(FormattedMessage, {
|
134
|
-
id: "PyxZY2",
|
135
|
-
defaultMessage: [{
|
136
|
-
"type": 0,
|
137
|
-
"value": "Cancel"
|
138
|
-
}]
|
139
|
-
})) : null, /*#__PURE__*/React.createElement(Button, {
|
140
|
-
type: "submit",
|
141
|
-
className: "ms-auto",
|
142
|
-
theme: "danger"
|
143
|
-
}, /*#__PURE__*/React.createElement(FormattedMessage, {
|
144
|
-
id: "Bhu3B2",
|
145
|
-
defaultMessage: [{
|
146
|
-
"type": 0,
|
147
|
-
"value": "Delete"
|
148
|
-
}]
|
149
|
-
})))));
|
150
|
-
};
|
151
|
-
DeleteForm.propTypes = propTypes$m;
|
152
|
-
DeleteForm.defaultProps = defaultProps$m;
|
153
|
-
|
154
|
-
var _excluded$5 = ["component", "resource", "onSuccess", "item", "type", "isDelete"];
|
155
|
-
var propTypes$l = {
|
156
|
-
component: PropTypes$1.string,
|
157
|
-
resource: PropTypes.resource.isRequired,
|
158
|
-
item: PropTypes$1.object,
|
159
|
-
// eslint-disable-line react/forbid-prop-types
|
160
|
-
type: PropTypes$1.string,
|
161
|
-
onSuccess: PropTypes$1.func,
|
162
|
-
isDelete: PropTypes$1.bool
|
163
|
-
};
|
164
|
-
var defaultProps$l = {
|
165
|
-
component: null,
|
166
|
-
item: null,
|
167
|
-
type: null,
|
168
|
-
onSuccess: null,
|
169
|
-
isDelete: false
|
170
|
-
};
|
171
|
-
var ResourceForm = function ResourceForm(_ref) {
|
172
|
-
var component = _ref.component,
|
173
|
-
resource = _ref.resource,
|
174
|
-
onSuccess = _ref.onSuccess,
|
175
|
-
item = _ref.item,
|
176
|
-
type = _ref.type,
|
177
|
-
isDelete = _ref.isDelete,
|
178
|
-
props = _objectWithoutProperties(_ref, _excluded$5);
|
179
|
-
var locales = useLocales();
|
180
|
-
var FormComponents = useFormsComponents();
|
181
|
-
var _resource$fields = resource.fields,
|
182
|
-
resourceFields = _resource$fields === void 0 ? [] : _resource$fields,
|
183
|
-
_resource$types = resource.types,
|
184
|
-
resourceTypes = _resource$types === void 0 ? [] : _resource$types,
|
185
|
-
forms = resource.forms;
|
186
|
-
var resourceType = type !== null ? resourceTypes.find(function (it) {
|
187
|
-
return it.id === type;
|
188
|
-
}) || null : null;
|
189
|
-
var _ref2 = resourceType || {},
|
190
|
-
_ref2$fields = _ref2.fields,
|
191
|
-
resourceTypeFields = _ref2$fields === void 0 ? null : _ref2$fields;
|
192
|
-
var isCreate = item === null || !item.id;
|
193
|
-
|
194
|
-
// Pick fields from resource root or form
|
195
|
-
var _ref3 = forms || {},
|
196
|
-
_ref3$default = _ref3["default"],
|
197
|
-
defaultForm = _ref3$default === void 0 ? null : _ref3$default,
|
198
|
-
_ref3$create = _ref3.create,
|
199
|
-
createForm = _ref3$create === void 0 ? null : _ref3$create,
|
200
|
-
_ref3$edit = _ref3.edit,
|
201
|
-
editForm = _ref3$edit === void 0 ? null : _ref3$edit,
|
202
|
-
_ref3$delete = _ref3["delete"],
|
203
|
-
deleteForm = _ref3$delete === void 0 ? null : _ref3$delete;
|
204
|
-
var _ref4 = defaultForm || {},
|
205
|
-
_ref4$fields = _ref4.fields,
|
206
|
-
defaultFields = _ref4$fields === void 0 ? null : _ref4$fields,
|
207
|
-
defaultComponent = _ref4.component;
|
208
|
-
var createOrEditSource = isCreate ? createForm || {} : editForm || {};
|
209
|
-
var _ref5 = isDelete ? deleteForm || {} : createOrEditSource || {},
|
210
|
-
_ref5$fields = _ref5.fields,
|
211
|
-
formFields = _ref5$fields === void 0 ? null : _ref5$fields,
|
212
|
-
_ref5$component = _ref5.component,
|
213
|
-
formComponent = _ref5$component === void 0 ? null : _ref5$component;
|
214
|
-
var finalFields = useMemo(function () {
|
215
|
-
return (formFields || defaultFields || resourceTypeFields || resourceFields).filter(function (_ref6) {
|
216
|
-
var _ref6$settings = _ref6.settings,
|
217
|
-
_ref6$settings2 = _ref6$settings === void 0 ? {} : _ref6$settings,
|
218
|
-
_ref6$settings2$hidde = _ref6$settings2.hiddenInForm,
|
219
|
-
hiddenInForm = _ref6$settings2$hidde === void 0 ? false : _ref6$settings2$hidde;
|
220
|
-
return !hiddenInForm;
|
221
|
-
});
|
222
|
-
}, [formFields, defaultFields, resourceTypeFields, resourceFields]);
|
223
|
-
|
224
|
-
// Form routes
|
225
|
-
var resourceRoute = useResourceUrlGenerator(resource);
|
226
|
-
var _useResourceStore = useResourceStore(resource),
|
227
|
-
store = _useResourceStore.store;
|
228
|
-
var _useResourceUpdate = useResourceUpdate(resource, item != null ? item.id : null),
|
229
|
-
update = _useResourceUpdate.update;
|
230
|
-
var _useResourceDestroy = useResourceDestroy(resource, item != null ? item.id : null),
|
231
|
-
destroy = _useResourceDestroy.destroy;
|
232
|
-
|
233
|
-
// Post actions
|
234
|
-
var postAction = isCreate ? store : update;
|
235
|
-
var postForm = useCallback(function (action, data) {
|
236
|
-
return isDelete ? destroy() : postAction(data);
|
237
|
-
}, [postAction, isDelete, destroy, store, update]);
|
238
|
-
|
239
|
-
// Form state
|
240
|
-
var getInitialValue = useCallback(function () {
|
241
|
-
return item !== null ? item : finalFields.reduce(function (defaultValues, _ref7) {
|
242
|
-
var name = _ref7.name,
|
243
|
-
_ref7$defaultValue = _ref7.defaultValue,
|
244
|
-
defaultValue = _ref7$defaultValue === void 0 ? null : _ref7$defaultValue;
|
245
|
-
return defaultValue !== null ? _objectSpread(_objectSpread({}, defaultValues), {}, _defineProperty({}, name, defaultValue)) : defaultValues;
|
246
|
-
}, type !== null ? {
|
247
|
-
type: type
|
248
|
-
} : null);
|
249
|
-
}, [item, type, finalFields]);
|
250
|
-
var _useState = useState(getInitialValue()),
|
251
|
-
_useState2 = _slicedToArray(_useState, 2),
|
252
|
-
value = _useState2[0],
|
253
|
-
setValueState = _useState2[1];
|
254
|
-
var setValue = useCallback(function (newValue) {
|
255
|
-
// console.log('new value in resource form', newValue); // eslint-disable-line
|
256
|
-
setValueState(newValue);
|
257
|
-
}, [setValueState]);
|
258
|
-
var _useForm = useForm({
|
259
|
-
fields: finalFields,
|
260
|
-
value: value,
|
261
|
-
postForm: postForm,
|
262
|
-
setValue: setValue,
|
263
|
-
onComplete: onSuccess,
|
264
|
-
locales: locales
|
265
|
-
}),
|
266
|
-
fields = _useForm.fields,
|
267
|
-
onSubmit = _useForm.onSubmit,
|
268
|
-
status = _useForm.status,
|
269
|
-
generalError = _useForm.generalError,
|
270
|
-
errors = _useForm.errors;
|
271
|
-
|
272
|
-
// Form action
|
273
|
-
var modifyAction = isCreate ? resourceRoute('store') : resourceRoute('update', {
|
274
|
-
id: item.id
|
275
|
-
});
|
276
|
-
var action = isDelete ? resourceRoute('destroy', {
|
277
|
-
id: item.id
|
278
|
-
}) : modifyAction;
|
279
|
-
var defaultFormName = isDelete ? component || formComponent || null : component || formComponent || defaultComponent || 'normal';
|
36
|
+
import ResourceList from '@panneau/list-resource-items';
|
37
|
+
import { getComponentFromName } from '@panneau/core/utils';
|
38
|
+
import Filters from '@panneau/filter-filters';
|
280
39
|
|
281
|
-
|
282
|
-
var FormComponent = getComponentFromName(defaultFormName, FormComponents, isDelete ? DeleteForm : component);
|
40
|
+
/* eslint-disable react/jsx-props-no-spreading */
|
283
41
|
|
284
|
-
|
285
|
-
|
286
|
-
|
287
|
-
setValue(getInitialValue());
|
288
|
-
}, [getInitialValue, setValue]);
|
289
|
-
return /*#__PURE__*/React.createElement(FormProvider, {
|
290
|
-
value: value,
|
291
|
-
setValue: setValue
|
292
|
-
}, /*#__PURE__*/React.createElement(FormComponent, Object.assign({}, props, {
|
293
|
-
status: status,
|
294
|
-
resource: resource,
|
295
|
-
item: item,
|
296
|
-
fields: fields,
|
297
|
-
generalError: generalError,
|
298
|
-
errors: errors,
|
299
|
-
action: action,
|
300
|
-
onSubmit: onSubmit,
|
301
|
-
isCreate: isCreate,
|
302
|
-
value: value,
|
303
|
-
onChange: setValue
|
304
|
-
})));
|
42
|
+
// Kept for backward compatibility with exports
|
43
|
+
var ResourceFormWrapper = function ResourceFormWrapper(props) {
|
44
|
+
return /*#__PURE__*/React.createElement(ResourceForm, props);
|
305
45
|
};
|
306
|
-
ResourceForm.propTypes = propTypes$l;
|
307
|
-
ResourceForm.defaultProps = defaultProps$l;
|
308
46
|
|
309
|
-
var propTypes$
|
310
|
-
withAccountForm: PropTypes
|
311
|
-
className: PropTypes
|
312
|
-
itemClassName: PropTypes
|
313
|
-
linkClassName: PropTypes
|
47
|
+
var propTypes$j = {
|
48
|
+
withAccountForm: PropTypes.bool,
|
49
|
+
className: PropTypes.string,
|
50
|
+
itemClassName: PropTypes.string,
|
51
|
+
linkClassName: PropTypes.string
|
314
52
|
};
|
315
|
-
var defaultProps$
|
53
|
+
var defaultProps$i = {
|
316
54
|
withAccountForm: false,
|
317
55
|
className: null,
|
318
56
|
itemClassName: null,
|
@@ -380,15 +118,15 @@ var AccountMenu = function AccountMenu(_ref) {
|
|
380
118
|
dropdownAlign: "end"
|
381
119
|
}) : null;
|
382
120
|
};
|
383
|
-
AccountMenu.propTypes = propTypes$
|
384
|
-
AccountMenu.defaultProps = defaultProps$
|
121
|
+
AccountMenu.propTypes = propTypes$j;
|
122
|
+
AccountMenu.defaultProps = defaultProps$i;
|
385
123
|
|
386
|
-
var propTypes$
|
387
|
-
className: PropTypes
|
388
|
-
itemClassName: PropTypes
|
389
|
-
linkClassName: PropTypes
|
124
|
+
var propTypes$i = {
|
125
|
+
className: PropTypes.string,
|
126
|
+
itemClassName: PropTypes.string,
|
127
|
+
linkClassName: PropTypes.string
|
390
128
|
};
|
391
|
-
var defaultProps$
|
129
|
+
var defaultProps$h = {
|
392
130
|
className: null,
|
393
131
|
itemClassName: null,
|
394
132
|
linkClassName: null
|
@@ -425,11 +163,11 @@ var ResourcesMenu = function ResourcesMenu(_ref) {
|
|
425
163
|
linkClassName: linkClassName
|
426
164
|
});
|
427
165
|
};
|
428
|
-
ResourcesMenu.propTypes = propTypes$
|
429
|
-
ResourcesMenu.defaultProps = defaultProps$
|
166
|
+
ResourcesMenu.propTypes = propTypes$i;
|
167
|
+
ResourcesMenu.defaultProps = defaultProps$h;
|
430
168
|
|
431
|
-
var propTypes$
|
432
|
-
var defaultProps$
|
169
|
+
var propTypes$h = {};
|
170
|
+
var defaultProps$g = {};
|
433
171
|
var MainNavbar = function MainNavbar(props) {
|
434
172
|
var _usePanneau = usePanneau(),
|
435
173
|
name = _usePanneau.name,
|
@@ -492,16 +230,16 @@ var MainNavbar = function MainNavbar(props) {
|
|
492
230
|
className: "navbar-brand"
|
493
231
|
}, name) : null, items);
|
494
232
|
};
|
495
|
-
MainNavbar.propTypes = propTypes$
|
496
|
-
MainNavbar.defaultProps = defaultProps$
|
233
|
+
MainNavbar.propTypes = propTypes$h;
|
234
|
+
MainNavbar.defaultProps = defaultProps$g;
|
497
235
|
|
498
236
|
var styles$1 = {};
|
499
237
|
|
500
|
-
var propTypes$
|
501
|
-
children: PropTypes
|
502
|
-
fullscreen: PropTypes
|
238
|
+
var propTypes$g = {
|
239
|
+
children: PropTypes.node.isRequired,
|
240
|
+
fullscreen: PropTypes.bool
|
503
241
|
};
|
504
|
-
var defaultProps$
|
242
|
+
var defaultProps$f = {
|
505
243
|
fullscreen: false
|
506
244
|
};
|
507
245
|
var MainLayout = function MainLayout(_ref) {
|
@@ -526,17 +264,17 @@ var MainLayout = function MainLayout(_ref) {
|
|
526
264
|
}, _defineProperty(_ref2, "bg-".concat(background), background !== null), _defineProperty(_ref2, "text-".concat(text), text !== null), _ref2)])
|
527
265
|
}, children), /*#__PURE__*/React.createElement(Modals, null));
|
528
266
|
};
|
529
|
-
MainLayout.propTypes = propTypes$
|
530
|
-
MainLayout.defaultProps = defaultProps$
|
267
|
+
MainLayout.propTypes = propTypes$g;
|
268
|
+
MainLayout.defaultProps = defaultProps$f;
|
531
269
|
|
532
|
-
var propTypes$
|
533
|
-
title: PropTypes.label,
|
534
|
-
actions: PropTypes
|
535
|
-
small: PropTypes
|
536
|
-
className: PropTypes
|
537
|
-
children: PropTypes
|
270
|
+
var propTypes$f = {
|
271
|
+
title: PropTypes$1.label,
|
272
|
+
actions: PropTypes.node,
|
273
|
+
small: PropTypes.bool,
|
274
|
+
className: PropTypes.string,
|
275
|
+
children: PropTypes.node
|
538
276
|
};
|
539
|
-
var defaultProps$
|
277
|
+
var defaultProps$e = {
|
540
278
|
title: null,
|
541
279
|
actions: null,
|
542
280
|
small: false,
|
@@ -573,13 +311,13 @@ var PageHeader = function PageHeader(_ref) {
|
|
573
311
|
className: "col-12 col-md-8 col-lg-7"
|
574
312
|
}, inner)) : inner), children);
|
575
313
|
};
|
576
|
-
PageHeader.propTypes = propTypes$
|
577
|
-
PageHeader.defaultProps = defaultProps$
|
314
|
+
PageHeader.propTypes = propTypes$f;
|
315
|
+
PageHeader.defaultProps = defaultProps$e;
|
578
316
|
|
579
|
-
var propTypes$
|
580
|
-
resource: PropTypes.resource.isRequired
|
317
|
+
var propTypes$e = {
|
318
|
+
resource: PropTypes$1.resource.isRequired
|
581
319
|
};
|
582
|
-
var defaultProps$
|
320
|
+
var defaultProps$d = {};
|
583
321
|
var ResourceCreatePage = function ResourceCreatePage(_ref) {
|
584
322
|
var resource = _ref.resource;
|
585
323
|
var navigate = useNavigate();
|
@@ -616,20 +354,20 @@ var ResourceCreatePage = function ResourceCreatePage(_ref) {
|
|
616
354
|
className: "row justify-content-center"
|
617
355
|
}, /*#__PURE__*/React.createElement("div", {
|
618
356
|
className: "col-12 col-md-8 col-lg-7"
|
619
|
-
}, /*#__PURE__*/React.createElement(
|
357
|
+
}, /*#__PURE__*/React.createElement(ResourceFormWrapper, {
|
620
358
|
resource: resource,
|
621
359
|
type: type,
|
622
360
|
onSuccess: onSuccess
|
623
361
|
}))))));
|
624
362
|
};
|
625
|
-
ResourceCreatePage.propTypes = propTypes$
|
626
|
-
ResourceCreatePage.defaultProps = defaultProps$
|
363
|
+
ResourceCreatePage.propTypes = propTypes$e;
|
364
|
+
ResourceCreatePage.defaultProps = defaultProps$d;
|
627
365
|
|
628
366
|
// import PropTypes from 'prop-types';
|
629
|
-
var propTypes$
|
630
|
-
resource: PropTypes.resource.isRequired
|
367
|
+
var propTypes$d = {
|
368
|
+
resource: PropTypes$1.resource.isRequired
|
631
369
|
};
|
632
|
-
var defaultProps$
|
370
|
+
var defaultProps$c = {};
|
633
371
|
var ResourceDeletePage = function ResourceDeletePage(_ref) {
|
634
372
|
var resource = _ref.resource;
|
635
373
|
var _useParams = useParams(),
|
@@ -663,20 +401,20 @@ var ResourceDeletePage = function ResourceDeletePage(_ref) {
|
|
663
401
|
className: "row justify-content-center"
|
664
402
|
}, /*#__PURE__*/React.createElement("div", {
|
665
403
|
className: "col-12 col-md-8 col-lg-7"
|
666
|
-
}, item !== null ? /*#__PURE__*/React.createElement(
|
404
|
+
}, item !== null ? /*#__PURE__*/React.createElement(ResourceFormWrapper, {
|
667
405
|
resource: resource,
|
668
406
|
item: item,
|
669
407
|
onSuccess: onSuccess,
|
670
408
|
isDelete: true
|
671
409
|
}) : null)))));
|
672
410
|
};
|
673
|
-
ResourceDeletePage.propTypes = propTypes$
|
674
|
-
ResourceDeletePage.defaultProps = defaultProps$
|
411
|
+
ResourceDeletePage.propTypes = propTypes$d;
|
412
|
+
ResourceDeletePage.defaultProps = defaultProps$c;
|
675
413
|
|
676
|
-
var propTypes$
|
677
|
-
resource: PropTypes.resource.isRequired
|
414
|
+
var propTypes$c = {
|
415
|
+
resource: PropTypes$1.resource.isRequired
|
678
416
|
};
|
679
|
-
var defaultProps$
|
417
|
+
var defaultProps$b = {};
|
680
418
|
var ResourceEditPage = function ResourceEditPage(_ref) {
|
681
419
|
var resource = _ref.resource;
|
682
420
|
var _useParams = useParams(),
|
@@ -718,21 +456,21 @@ var ResourceEditPage = function ResourceEditPage(_ref) {
|
|
718
456
|
className: "row justify-content-center"
|
719
457
|
}, /*#__PURE__*/React.createElement("div", {
|
720
458
|
className: "col-12 col-md-8 col-lg-7"
|
721
|
-
}, editItem !== null ? /*#__PURE__*/React.createElement(
|
459
|
+
}, editItem !== null ? /*#__PURE__*/React.createElement(ResourceFormWrapper, {
|
722
460
|
resource: resource,
|
723
461
|
item: editItem,
|
724
462
|
type: type,
|
725
463
|
onSuccess: onSuccess
|
726
464
|
}) : null)))));
|
727
465
|
};
|
728
|
-
ResourceEditPage.propTypes = propTypes$
|
729
|
-
ResourceEditPage.defaultProps = defaultProps$
|
466
|
+
ResourceEditPage.propTypes = propTypes$c;
|
467
|
+
ResourceEditPage.defaultProps = defaultProps$b;
|
730
468
|
|
731
|
-
var propTypes$
|
732
|
-
resource: PropTypes.resource.isRequired,
|
733
|
-
className: PropTypes
|
469
|
+
var propTypes$b = {
|
470
|
+
resource: PropTypes$1.resource.isRequired,
|
471
|
+
className: PropTypes.string
|
734
472
|
};
|
735
|
-
var defaultProps$
|
473
|
+
var defaultProps$a = {
|
736
474
|
className: null
|
737
475
|
};
|
738
476
|
var ResourceCreateButtom = function ResourceCreateButtom(_ref) {
|
@@ -801,232 +539,35 @@ var ResourceCreateButtom = function ResourceCreateButtom(_ref) {
|
|
801
539
|
onClickOutside: onDropdownClickOutside
|
802
540
|
})) : button;
|
803
541
|
};
|
804
|
-
ResourceCreateButtom.propTypes = propTypes$
|
805
|
-
ResourceCreateButtom.defaultProps = defaultProps$
|
542
|
+
ResourceCreateButtom.propTypes = propTypes$b;
|
543
|
+
ResourceCreateButtom.defaultProps = defaultProps$a;
|
806
544
|
|
807
|
-
var _excluded$
|
808
|
-
var propTypes$b = {
|
809
|
-
filters: PropTypes$1.arrayOf(PropTypes$1.shape({
|
810
|
-
id: PropTypes$1.string,
|
811
|
-
component: PropTypes$1.string.isRequired
|
812
|
-
})),
|
813
|
-
value: PropTypes$1.object,
|
814
|
-
// eslint-disable-line react/forbid-prop-types
|
815
|
-
onChange: PropTypes$1.func,
|
816
|
-
onReset: PropTypes$1.func,
|
817
|
-
withContainer: PropTypes$1.bool,
|
818
|
-
withReset: PropTypes$1.bool,
|
819
|
-
defaultValue: PropTypes$1.objectOf(PropTypes$1.object),
|
820
|
-
// eslint-disable-line react/forbid-prop-types
|
821
|
-
className: PropTypes$1.string
|
822
|
-
};
|
823
|
-
var defaultProps$b = {
|
824
|
-
filters: [],
|
825
|
-
value: null,
|
826
|
-
onChange: null,
|
827
|
-
onReset: null,
|
828
|
-
withContainer: false,
|
829
|
-
withReset: true,
|
830
|
-
defaultValue: {
|
831
|
-
page: null
|
832
|
-
},
|
833
|
-
className: null
|
834
|
-
};
|
835
|
-
var ResourceFilters = function ResourceFilters(_ref) {
|
836
|
-
var filters = _ref.filters,
|
837
|
-
value = _ref.value,
|
838
|
-
onChange = _ref.onChange,
|
839
|
-
onReset = _ref.onReset,
|
840
|
-
withContainer = _ref.withContainer,
|
841
|
-
withReset = _ref.withReset,
|
842
|
-
defaultValue = _ref.defaultValue,
|
843
|
-
className = _ref.className;
|
844
|
-
var FilterComponents = useFiltersComponents();
|
845
|
-
var _usePanneauColorSchem = usePanneauColorScheme(),
|
846
|
-
background = _usePanneauColorSchem.background;
|
847
|
-
var currentFilters = filters || [];
|
848
|
-
var onFiltersReset = useCallback(function () {
|
849
|
-
if (onReset !== null) {
|
850
|
-
onReset(null);
|
851
|
-
}
|
852
|
-
}, [onReset]);
|
853
|
-
var hasActiveFilter = (currentFilters || []).reduce(function (isActive, item) {
|
854
|
-
if (value !== null && value[item.name]) {
|
855
|
-
return true;
|
856
|
-
}
|
857
|
-
return isActive;
|
858
|
-
}, false);
|
859
|
-
var onFilterChange = useCallback(function (name, newFilterValue) {
|
860
|
-
if (name !== null && onChange !== null) {
|
861
|
-
onChange(_objectSpread(_objectSpread({}, value), {}, _defineProperty({}, name, newFilterValue), defaultValue));
|
862
|
-
}
|
863
|
-
}, [onChange, value, defaultValue]);
|
864
|
-
var onFilterClear = useCallback(function (name) {
|
865
|
-
if (name !== null && onChange !== null) {
|
866
|
-
var _ref2 = value || {};
|
867
|
-
_ref2[name];
|
868
|
-
var newValue = _objectWithoutProperties(_ref2, [name].map(_toPropertyKey));
|
869
|
-
onChange(_objectSpread(_objectSpread({}, newValue), defaultValue));
|
870
|
-
}
|
871
|
-
}, [onChange, value, defaultValue]);
|
872
|
-
return /*#__PURE__*/React.createElement(Navbar, {
|
873
|
-
className: classNames([_defineProperty({
|
874
|
-
'navbar-expand-md': withContainer
|
875
|
-
}, className, className !== null), 'justify-content-start', 'align-items-start', 'flex-column', 'flex-md-row']),
|
876
|
-
theme: background,
|
877
|
-
withoutCollapse: true
|
878
|
-
}, currentFilters.map(function (_ref4, index) {
|
879
|
-
var component = _ref4.component,
|
880
|
-
name = _ref4.name,
|
881
|
-
groupLabel = _ref4.groupLabel,
|
882
|
-
filterProps = _objectWithoutProperties(_ref4, _excluded$4);
|
883
|
-
var FilterComponent = getComponentFromName(component, FilterComponents, null);
|
884
|
-
var filterValue = value !== null && value[name] ? value[name] : null;
|
885
|
-
return FilterComponent !== null ? /*#__PURE__*/React.createElement(FormGroup, {
|
886
|
-
key: "filter-".concat(name, "-").concat(index + 1),
|
887
|
-
label: groupLabel,
|
888
|
-
className: "mb-3 me-3"
|
889
|
-
}, /*#__PURE__*/React.createElement(FilterComponent, Object.assign({}, filterProps, {
|
890
|
-
value: filterValue,
|
891
|
-
onChange: function onChange(newValue) {
|
892
|
-
return onFilterChange(name, newValue);
|
893
|
-
},
|
894
|
-
onClear: function onClear() {
|
895
|
-
return onFilterClear(name);
|
896
|
-
}
|
897
|
-
}))) : null;
|
898
|
-
}), withReset && hasActiveFilter && currentFilters.length > 0 ? /*#__PURE__*/React.createElement(Button, {
|
899
|
-
theme: "primary",
|
900
|
-
onClick: onFiltersReset
|
901
|
-
}, /*#__PURE__*/React.createElement(FontAwesomeIcon, {
|
902
|
-
icon: faUndo
|
903
|
-
})) : null);
|
904
|
-
};
|
905
|
-
ResourceFilters.propTypes = propTypes$b;
|
906
|
-
ResourceFilters.defaultProps = defaultProps$b;
|
907
|
-
|
908
|
-
var _excluded$3 = ["component", "showPagination", "filters", "actions"],
|
909
|
-
_excluded2$1 = ["page"];
|
545
|
+
var _excluded$3 = ["resource"];
|
910
546
|
var propTypes$a = {
|
911
|
-
resource: PropTypes.
|
912
|
-
|
913
|
-
|
914
|
-
paginated: PropTypes$1.bool,
|
915
|
-
baseUrl: PropTypes$1.string,
|
916
|
-
component: PropTypes$1.oneOfType([PropTypes$1.elementType, PropTypes$1.string]),
|
917
|
-
componentProps: PropTypes$1.object,
|
918
|
-
// eslint-disable-line react/forbid-prop-types
|
919
|
-
onQueryChange: PropTypes$1.func,
|
920
|
-
onQueryReset: PropTypes$1.func,
|
921
|
-
onClickPage: PropTypes$1.func,
|
922
|
-
showFilters: PropTypes$1.bool,
|
923
|
-
listProps: PropTypes$1.shape({})
|
924
|
-
};
|
925
|
-
var defaultProps$a = {
|
926
|
-
query: null,
|
927
|
-
paginated: true,
|
928
|
-
component: null,
|
929
|
-
baseUrl: null,
|
930
|
-
componentProps: null,
|
931
|
-
onQueryChange: null,
|
932
|
-
onQueryReset: null,
|
933
|
-
onClickPage: null,
|
934
|
-
showFilters: true,
|
935
|
-
listProps: null
|
547
|
+
resource: PropTypes.oneOfType([PropTypes.string, PropTypes.shape({
|
548
|
+
id: PropTypes.string
|
549
|
+
})]).isRequired
|
936
550
|
};
|
551
|
+
|
552
|
+
// Kept for backward compatibility with exports
|
937
553
|
var ResourceItemsList = function ResourceItemsList(_ref) {
|
938
554
|
var resource = _ref.resource,
|
939
|
-
|
940
|
-
|
941
|
-
|
942
|
-
|
943
|
-
|
944
|
-
|
945
|
-
|
946
|
-
|
947
|
-
|
948
|
-
_resource$index2 = _resource$index === void 0 ? {} : _resource$index,
|
949
|
-
_resource$index2$comp = _resource$index2.component,
|
950
|
-
listComponent = _resource$index2$comp === void 0 ? null : _resource$index2$comp,
|
951
|
-
_resource$index2$show = _resource$index2.showPagination,
|
952
|
-
showPagination = _resource$index2$show === void 0 ? true : _resource$index2$show,
|
953
|
-
_resource$index2$filt = _resource$index2.filters,
|
954
|
-
filters = _resource$index2$filt === void 0 ? null : _resource$index2$filt;
|
955
|
-
_resource$index2.actions;
|
956
|
-
var listProps = _objectWithoutProperties(_resource$index2, _excluded$3);
|
957
|
-
var _usePanneauColorSchem = usePanneauColorScheme(),
|
958
|
-
_usePanneauColorSchem2 = _usePanneauColorSchem.background,
|
959
|
-
theme = _usePanneauColorSchem2 === void 0 ? null : _usePanneauColorSchem2;
|
960
|
-
var ListComponents = useListsComponents();
|
961
|
-
var _useMemo = useMemo(function () {
|
962
|
-
var _ref2 = query || {},
|
963
|
-
_ref2$page = _ref2.page,
|
964
|
-
currentPage = _ref2$page === void 0 ? 1 : _ref2$page,
|
965
|
-
rest = _objectWithoutProperties(_ref2, _excluded2$1);
|
966
|
-
return [currentPage, rest];
|
967
|
-
}, [query]),
|
968
|
-
_useMemo2 = _slicedToArray(_useMemo, 2),
|
969
|
-
page = _useMemo2[0],
|
970
|
-
queryWithoutPage = _useMemo2[1];
|
971
|
-
var itemsProps = useResourceItems(resource, queryWithoutPage, paginated ? parseInt(page, 10) : null);
|
972
|
-
var _ref3 = itemsProps || {},
|
973
|
-
_ref3$loaded = _ref3.loaded,
|
974
|
-
loaded = _ref3$loaded === void 0 ? false : _ref3$loaded,
|
975
|
-
_ref3$loading = _ref3.loading,
|
976
|
-
loading = _ref3$loading === void 0 ? false : _ref3$loading,
|
977
|
-
_ref3$lastPage = _ref3.lastPage,
|
978
|
-
lastPage = _ref3$lastPage === void 0 ? 0 : _ref3$lastPage,
|
979
|
-
_ref3$total = _ref3.total,
|
980
|
-
total = _ref3$total === void 0 ? 0 : _ref3$total;
|
981
|
-
var finalEmpty = loaded && !loading && total === 0;
|
982
|
-
var ListComponent = getComponentFromName(listComponent || 'table', ListComponents);
|
983
|
-
return /*#__PURE__*/React.createElement(React.Fragment, null, showFilters && filters !== null ? /*#__PURE__*/React.createElement(ResourceFilters, {
|
984
|
-
filters: filters,
|
985
|
-
value: query,
|
986
|
-
onChange: onQueryChange,
|
987
|
-
onReset: onQueryReset
|
988
|
-
}) : null, paginated && showPagination ? /*#__PURE__*/React.createElement(Pagination, {
|
989
|
-
page: page,
|
990
|
-
lastPage: lastPage,
|
991
|
-
total: total,
|
992
|
-
url: baseUrl,
|
993
|
-
query: query,
|
994
|
-
onClickPage: onClickPage,
|
995
|
-
className: "mt-1 mb-1"
|
996
|
-
}) : null, ListComponent !== null ? /*#__PURE__*/React.createElement(ListComponent, Object.assign({}, itemsProps, listProps, {
|
997
|
-
resource: resource,
|
998
|
-
baseUrl: baseUrl,
|
999
|
-
query: query,
|
1000
|
-
onQueryChange: onQueryChange,
|
1001
|
-
onQueryReset: onQueryReset,
|
1002
|
-
theme: theme,
|
1003
|
-
showEmptyLabel: finalEmpty,
|
1004
|
-
emptyLabel: /*#__PURE__*/React.createElement("p", {
|
1005
|
-
className: "my-2"
|
1006
|
-
}, /*#__PURE__*/React.createElement(FormattedMessage, {
|
1007
|
-
id: "WgIC2T",
|
1008
|
-
defaultMessage: [{
|
1009
|
-
"type": 0,
|
1010
|
-
"value": "No results found"
|
1011
|
-
}]
|
1012
|
-
}))
|
1013
|
-
}, customListProps)) : null, paginated && showPagination ? /*#__PURE__*/React.createElement(Pagination, {
|
1014
|
-
page: page,
|
1015
|
-
lastPage: lastPage,
|
1016
|
-
total: total,
|
1017
|
-
url: baseUrl,
|
1018
|
-
query: query,
|
1019
|
-
onClickPage: onClickPage,
|
1020
|
-
className: "mt-4 mb-1"
|
1021
|
-
}) : null);
|
555
|
+
props = _objectWithoutProperties(_ref, _excluded$3);
|
556
|
+
var _ref2 = isObject(resource) ? resource : {
|
557
|
+
id: resource
|
558
|
+
},
|
559
|
+
_ref2$id = _ref2.id,
|
560
|
+
finalResource = _ref2$id === void 0 ? null : _ref2$id;
|
561
|
+
return /*#__PURE__*/React.createElement(ResourceList, Object.assign({
|
562
|
+
resource: finalResource
|
563
|
+
}, props));
|
1022
564
|
};
|
1023
565
|
ResourceItemsList.propTypes = propTypes$a;
|
1024
|
-
ResourceItemsList.defaultProps = defaultProps$a;
|
1025
566
|
|
1026
567
|
var _excluded$2 = ["id", "component"];
|
1027
568
|
var propTypes$9 = {
|
1028
|
-
resource: PropTypes.resource.isRequired,
|
1029
|
-
defaultActions: PropTypes
|
569
|
+
resource: PropTypes$1.resource.isRequired,
|
570
|
+
defaultActions: PropTypes.arrayOf(PropTypes.oneOfType([PropTypes.string, PropTypes.object])) // eslint-disable-line react/forbid-prop-types
|
1030
571
|
};
|
1031
572
|
|
1032
573
|
var defaultProps$9 = {
|
@@ -1159,7 +700,7 @@ ResourceIndexPage.propTypes = propTypes$9;
|
|
1159
700
|
ResourceIndexPage.defaultProps = defaultProps$9;
|
1160
701
|
|
1161
702
|
var propTypes$8 = {
|
1162
|
-
resource: PropTypes.resource.isRequired
|
703
|
+
resource: PropTypes$1.resource.isRequired
|
1163
704
|
};
|
1164
705
|
var defaultProps$8 = {};
|
1165
706
|
var ResourceShowPage = function ResourceShowPage(_ref) {
|
@@ -1183,7 +724,7 @@ var ResourceShowPage = function ResourceShowPage(_ref) {
|
|
1183
724
|
className: "row justify-content-center"
|
1184
725
|
}, /*#__PURE__*/React.createElement("div", {
|
1185
726
|
className: "col-12 col-md-8 col-lg-7"
|
1186
|
-
}, /*#__PURE__*/React.createElement(
|
727
|
+
}, /*#__PURE__*/React.createElement(ResourceFormWrapper, {
|
1187
728
|
resource: resource,
|
1188
729
|
item: item,
|
1189
730
|
type: type,
|
@@ -1246,8 +787,8 @@ AccountPage.defaultProps = defaultProps$6;
|
|
1246
787
|
|
1247
788
|
/* eslint-disable react/jsx-props-no-spreading */
|
1248
789
|
var propTypes$5 = {
|
1249
|
-
className: PropTypes
|
1250
|
-
onSuccess: PropTypes
|
790
|
+
className: PropTypes.string,
|
791
|
+
onSuccess: PropTypes.func
|
1251
792
|
};
|
1252
793
|
var defaultProps$5 = {
|
1253
794
|
className: null,
|
@@ -1286,8 +827,8 @@ LoginForm.defaultProps = defaultProps$5;
|
|
1286
827
|
var styles = {};
|
1287
828
|
|
1288
829
|
var propTypes$4 = {
|
1289
|
-
children: PropTypes
|
1290
|
-
fullscreen: PropTypes
|
830
|
+
children: PropTypes.node.isRequired,
|
831
|
+
fullscreen: PropTypes.bool
|
1291
832
|
};
|
1292
833
|
var defaultProps$4 = {
|
1293
834
|
fullscreen: false
|
@@ -1450,7 +991,7 @@ var messages = defineMessages({
|
|
1450
991
|
}
|
1451
992
|
});
|
1452
993
|
var propTypes$2 = {
|
1453
|
-
statusCode: PropTypes.statusCode
|
994
|
+
statusCode: PropTypes$1.statusCode
|
1454
995
|
};
|
1455
996
|
var defaultProps$2 = {
|
1456
997
|
statusCode: null
|
@@ -1579,7 +1120,7 @@ var createResourceRoutes = function createResourceRoutes(resource, _ref) {
|
|
1579
1120
|
var _excluded = ["home", "login", "account", "error", "index", "show", "create", "edit", "delete"],
|
1580
1121
|
_excluded2 = ["path", "route", "component", "exact"];
|
1581
1122
|
var propTypes$1 = {
|
1582
|
-
statusCode: PropTypes.statusCode
|
1123
|
+
statusCode: PropTypes$1.statusCode
|
1583
1124
|
};
|
1584
1125
|
var defaultProps$1 = {
|
1585
1126
|
statusCode: null
|
@@ -1728,13 +1269,13 @@ PanneauRoutes.propTypes = propTypes$1;
|
|
1728
1269
|
PanneauRoutes.defaultProps = defaultProps$1;
|
1729
1270
|
|
1730
1271
|
var propTypes = {
|
1731
|
-
definition: PropTypes.panneauDefinition.isRequired,
|
1732
|
-
components: PropTypes
|
1733
|
-
user: PropTypes.user,
|
1734
|
-
memoryRouter: PropTypes
|
1735
|
-
baseUrl: PropTypes
|
1736
|
-
uppy: PropTypes.uppy,
|
1737
|
-
statusCode: PropTypes.statusCode
|
1272
|
+
definition: PropTypes$1.panneauDefinition.isRequired,
|
1273
|
+
components: PropTypes.oneOfType([PropTypes.objectOf(PropTypes.elementType), PropTypes.objectOf(PropTypes.objectOf(PropTypes.elementType))]),
|
1274
|
+
user: PropTypes$1.user,
|
1275
|
+
memoryRouter: PropTypes.bool,
|
1276
|
+
baseUrl: PropTypes.string,
|
1277
|
+
uppy: PropTypes$1.uppy,
|
1278
|
+
statusCode: PropTypes$1.statusCode
|
1738
1279
|
};
|
1739
1280
|
var defaultProps = {
|
1740
1281
|
components: null,
|
@@ -1812,4 +1353,11 @@ var Container = function Container(_ref) {
|
|
1812
1353
|
Container.propTypes = propTypes;
|
1813
1354
|
Container.defaultProps = defaultProps;
|
1814
1355
|
|
1815
|
-
|
1356
|
+
/* eslint-disable react/jsx-props-no-spreading */
|
1357
|
+
|
1358
|
+
// Kept for backward compatibility with exports
|
1359
|
+
var ResourceFilters = function ResourceFilters(props) {
|
1360
|
+
return /*#__PURE__*/React.createElement(Filters, props);
|
1361
|
+
};
|
1362
|
+
|
1363
|
+
export { GuestLayout, MainLayout, PageHeader, ResourceFilters, ResourceFormWrapper as ResourceForm, ResourceItemsList, Container as default };
|