@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/lib/index.js
CHANGED
@@ -26,10 +26,8 @@ var isObject = require('lodash/isObject');
|
|
26
26
|
var queryString = require('query-string');
|
27
27
|
var reactIntl = require('react-intl');
|
28
28
|
var hooks = require('@panneau/core/hooks');
|
29
|
-
var
|
29
|
+
var ResourceForm = require('@panneau/form-resource');
|
30
30
|
var classNames = require('classnames');
|
31
|
-
var Button = require('@panneau/element-button');
|
32
|
-
var Form = require('@panneau/element-form');
|
33
31
|
var elementModal = require('@panneau/element-modal');
|
34
32
|
var isArray = require('lodash/isArray');
|
35
33
|
var Menu = require('@panneau/element-menu');
|
@@ -37,12 +35,11 @@ var Navbar = require('@panneau/element-navbar');
|
|
37
35
|
var Label = require('@panneau/element-label');
|
38
36
|
var isString = require('lodash/isString');
|
39
37
|
var Alert = require('@panneau/element-alert');
|
38
|
+
var Button = require('@panneau/element-button');
|
40
39
|
var Dropdown = require('@panneau/element-dropdown');
|
41
|
-
var
|
42
|
-
var
|
43
|
-
var
|
44
|
-
var reactFontawesome = require('@fortawesome/react-fontawesome');
|
45
|
-
var FormGroup = require('@panneau/element-form-group');
|
40
|
+
var ResourceList = require('@panneau/list-resource-items');
|
41
|
+
var utils = require('@panneau/core/utils');
|
42
|
+
var Filters = require('@panneau/filter-filters');
|
46
43
|
|
47
44
|
function _interopDefaultLegacy (e) { return e && typeof e === 'object' && 'default' in e ? e : { 'default': e }; }
|
48
45
|
|
@@ -61,293 +58,33 @@ var _objectWithoutProperties__default = /*#__PURE__*/_interopDefaultLegacy(_obje
|
|
61
58
|
var _slicedToArray__default = /*#__PURE__*/_interopDefaultLegacy(_slicedToArray);
|
62
59
|
var isObject__default = /*#__PURE__*/_interopDefaultLegacy(isObject);
|
63
60
|
var queryString__default = /*#__PURE__*/_interopDefaultLegacy(queryString);
|
61
|
+
var ResourceForm__default = /*#__PURE__*/_interopDefaultLegacy(ResourceForm);
|
64
62
|
var classNames__default = /*#__PURE__*/_interopDefaultLegacy(classNames);
|
65
|
-
var Button__default = /*#__PURE__*/_interopDefaultLegacy(Button);
|
66
|
-
var Form__default = /*#__PURE__*/_interopDefaultLegacy(Form);
|
67
63
|
var isArray__default = /*#__PURE__*/_interopDefaultLegacy(isArray);
|
68
64
|
var Menu__default = /*#__PURE__*/_interopDefaultLegacy(Menu);
|
69
65
|
var Navbar__default = /*#__PURE__*/_interopDefaultLegacy(Navbar);
|
70
66
|
var Label__default = /*#__PURE__*/_interopDefaultLegacy(Label);
|
71
67
|
var isString__default = /*#__PURE__*/_interopDefaultLegacy(isString);
|
72
68
|
var Alert__default = /*#__PURE__*/_interopDefaultLegacy(Alert);
|
69
|
+
var Button__default = /*#__PURE__*/_interopDefaultLegacy(Button);
|
73
70
|
var Dropdown__default = /*#__PURE__*/_interopDefaultLegacy(Dropdown);
|
74
|
-
var
|
75
|
-
var
|
76
|
-
var FormGroup__default = /*#__PURE__*/_interopDefaultLegacy(FormGroup);
|
77
|
-
|
78
|
-
var _excluded$6 = ["resource", "action", "previous", "status", "value", "onSubmit", "errors", "generalError", "className"];
|
79
|
-
var propTypes$m = {
|
80
|
-
resource: core.PropTypes.resource.isRequired,
|
81
|
-
action: PropTypes__default["default"].string,
|
82
|
-
previous: PropTypes__default["default"].string,
|
83
|
-
fields: core.PropTypes.fields.isRequired,
|
84
|
-
value: PropTypes__default["default"].object,
|
85
|
-
// eslint-disable-line react/forbid-prop-types
|
86
|
-
onChange: PropTypes__default["default"].func.isRequired,
|
87
|
-
onSubmit: PropTypes__default["default"].func,
|
88
|
-
status: core.PropTypes.formStatus,
|
89
|
-
generalError: PropTypes__default["default"].string,
|
90
|
-
errors: PropTypes__default["default"].objectOf(PropTypes__default["default"].arrayOf(PropTypes__default["default"].string)),
|
91
|
-
className: PropTypes__default["default"].string
|
92
|
-
};
|
93
|
-
var defaultProps$m = {
|
94
|
-
action: null,
|
95
|
-
previous: null,
|
96
|
-
status: null,
|
97
|
-
value: null,
|
98
|
-
onSubmit: null,
|
99
|
-
generalError: null,
|
100
|
-
errors: null,
|
101
|
-
className: null
|
102
|
-
};
|
103
|
-
var DeleteForm = function DeleteForm(_ref) {
|
104
|
-
var resource = _ref.resource,
|
105
|
-
action = _ref.action,
|
106
|
-
previous = _ref.previous;
|
107
|
-
_ref.status;
|
108
|
-
var value = _ref.value,
|
109
|
-
onSubmit = _ref.onSubmit;
|
110
|
-
_ref.errors;
|
111
|
-
var generalError = _ref.generalError,
|
112
|
-
className = _ref.className,
|
113
|
-
props = _objectWithoutProperties__default["default"](_ref, _excluded$6);
|
114
|
-
var _ref2 = value || {},
|
115
|
-
_ref2$id = _ref2.id,
|
116
|
-
id = _ref2$id === void 0 ? null : _ref2$id;
|
117
|
-
var resourceValues = intl.useResourceValues(resource, {
|
118
|
-
id: id
|
119
|
-
});
|
120
|
-
// const { text, background } = usePanneauColorScheme();
|
121
|
-
|
122
|
-
return /*#__PURE__*/React__default["default"].createElement(Form__default["default"], Object.assign({
|
123
|
-
className: classNames__default["default"](['form', _defineProperty__default["default"]({
|
124
|
-
'invalid-feedback': generalError !== null
|
125
|
-
}, className, className !== null)]),
|
126
|
-
action: action,
|
127
|
-
onSubmit: onSubmit,
|
128
|
-
withoutActions: true,
|
129
|
-
withoutErrors: true
|
130
|
-
}, props), /*#__PURE__*/React__default["default"].createElement("div", {
|
131
|
-
className: classNames__default["default"](['card', _defineProperty__default["default"]({}, className, className !== null)])
|
132
|
-
}, /*#__PURE__*/React__default["default"].createElement("div", {
|
133
|
-
className: "card-body"
|
134
|
-
}, /*#__PURE__*/React__default["default"].createElement(reactIntl.FormattedMessage, {
|
135
|
-
values: resourceValues,
|
136
|
-
id: "yzfiXJ",
|
137
|
-
defaultMessage: [{
|
138
|
-
"type": 0,
|
139
|
-
"value": "Are you sure you want to delete "
|
140
|
-
}, {
|
141
|
-
"type": 1,
|
142
|
-
"value": "the_singular"
|
143
|
-
}, {
|
144
|
-
"type": 0,
|
145
|
-
"value": " #"
|
146
|
-
}, {
|
147
|
-
"type": 1,
|
148
|
-
"value": "id"
|
149
|
-
}, {
|
150
|
-
"type": 0,
|
151
|
-
"value": "?"
|
152
|
-
}]
|
153
|
-
}), generalError ? /*#__PURE__*/React__default["default"].createElement("p", {
|
154
|
-
className: "text-danger"
|
155
|
-
}, /*#__PURE__*/React__default["default"].createElement(reactIntl.FormattedMessage, {
|
156
|
-
id: "y9zauY",
|
157
|
-
defaultMessage: [{
|
158
|
-
"type": 0,
|
159
|
-
"value": "An error occured and we could not delete this item successfully."
|
160
|
-
}]
|
161
|
-
})) : null), /*#__PURE__*/React__default["default"].createElement("div", {
|
162
|
-
className: "card-body d-flex"
|
163
|
-
}, previous !== null ? /*#__PURE__*/React__default["default"].createElement(Button__default["default"], {
|
164
|
-
href: previous,
|
165
|
-
className: "me-2",
|
166
|
-
theme: "secondary",
|
167
|
-
outline: true
|
168
|
-
}, /*#__PURE__*/React__default["default"].createElement(reactIntl.FormattedMessage, {
|
169
|
-
id: "PyxZY2",
|
170
|
-
defaultMessage: [{
|
171
|
-
"type": 0,
|
172
|
-
"value": "Cancel"
|
173
|
-
}]
|
174
|
-
})) : null, /*#__PURE__*/React__default["default"].createElement(Button__default["default"], {
|
175
|
-
type: "submit",
|
176
|
-
className: "ms-auto",
|
177
|
-
theme: "danger"
|
178
|
-
}, /*#__PURE__*/React__default["default"].createElement(reactIntl.FormattedMessage, {
|
179
|
-
id: "Bhu3B2",
|
180
|
-
defaultMessage: [{
|
181
|
-
"type": 0,
|
182
|
-
"value": "Delete"
|
183
|
-
}]
|
184
|
-
})))));
|
185
|
-
};
|
186
|
-
DeleteForm.propTypes = propTypes$m;
|
187
|
-
DeleteForm.defaultProps = defaultProps$m;
|
188
|
-
|
189
|
-
var _excluded$5 = ["component", "resource", "onSuccess", "item", "type", "isDelete"];
|
190
|
-
var propTypes$l = {
|
191
|
-
component: PropTypes__default["default"].string,
|
192
|
-
resource: core.PropTypes.resource.isRequired,
|
193
|
-
item: PropTypes__default["default"].object,
|
194
|
-
// eslint-disable-line react/forbid-prop-types
|
195
|
-
type: PropTypes__default["default"].string,
|
196
|
-
onSuccess: PropTypes__default["default"].func,
|
197
|
-
isDelete: PropTypes__default["default"].bool
|
198
|
-
};
|
199
|
-
var defaultProps$l = {
|
200
|
-
component: null,
|
201
|
-
item: null,
|
202
|
-
type: null,
|
203
|
-
onSuccess: null,
|
204
|
-
isDelete: false
|
205
|
-
};
|
206
|
-
var ResourceForm = function ResourceForm(_ref) {
|
207
|
-
var component = _ref.component,
|
208
|
-
resource = _ref.resource,
|
209
|
-
onSuccess = _ref.onSuccess,
|
210
|
-
item = _ref.item,
|
211
|
-
type = _ref.type,
|
212
|
-
isDelete = _ref.isDelete,
|
213
|
-
props = _objectWithoutProperties__default["default"](_ref, _excluded$5);
|
214
|
-
var locales = contexts.useLocales();
|
215
|
-
var FormComponents = contexts.useFormsComponents();
|
216
|
-
var _resource$fields = resource.fields,
|
217
|
-
resourceFields = _resource$fields === void 0 ? [] : _resource$fields,
|
218
|
-
_resource$types = resource.types,
|
219
|
-
resourceTypes = _resource$types === void 0 ? [] : _resource$types,
|
220
|
-
forms = resource.forms;
|
221
|
-
var resourceType = type !== null ? resourceTypes.find(function (it) {
|
222
|
-
return it.id === type;
|
223
|
-
}) || null : null;
|
224
|
-
var _ref2 = resourceType || {},
|
225
|
-
_ref2$fields = _ref2.fields,
|
226
|
-
resourceTypeFields = _ref2$fields === void 0 ? null : _ref2$fields;
|
227
|
-
var isCreate = item === null || !item.id;
|
228
|
-
|
229
|
-
// Pick fields from resource root or form
|
230
|
-
var _ref3 = forms || {},
|
231
|
-
_ref3$default = _ref3["default"],
|
232
|
-
defaultForm = _ref3$default === void 0 ? null : _ref3$default,
|
233
|
-
_ref3$create = _ref3.create,
|
234
|
-
createForm = _ref3$create === void 0 ? null : _ref3$create,
|
235
|
-
_ref3$edit = _ref3.edit,
|
236
|
-
editForm = _ref3$edit === void 0 ? null : _ref3$edit,
|
237
|
-
_ref3$delete = _ref3["delete"],
|
238
|
-
deleteForm = _ref3$delete === void 0 ? null : _ref3$delete;
|
239
|
-
var _ref4 = defaultForm || {},
|
240
|
-
_ref4$fields = _ref4.fields,
|
241
|
-
defaultFields = _ref4$fields === void 0 ? null : _ref4$fields,
|
242
|
-
defaultComponent = _ref4.component;
|
243
|
-
var createOrEditSource = isCreate ? createForm || {} : editForm || {};
|
244
|
-
var _ref5 = isDelete ? deleteForm || {} : createOrEditSource || {},
|
245
|
-
_ref5$fields = _ref5.fields,
|
246
|
-
formFields = _ref5$fields === void 0 ? null : _ref5$fields,
|
247
|
-
_ref5$component = _ref5.component,
|
248
|
-
formComponent = _ref5$component === void 0 ? null : _ref5$component;
|
249
|
-
var finalFields = React.useMemo(function () {
|
250
|
-
return (formFields || defaultFields || resourceTypeFields || resourceFields).filter(function (_ref6) {
|
251
|
-
var _ref6$settings = _ref6.settings,
|
252
|
-
_ref6$settings2 = _ref6$settings === void 0 ? {} : _ref6$settings,
|
253
|
-
_ref6$settings2$hidde = _ref6$settings2.hiddenInForm,
|
254
|
-
hiddenInForm = _ref6$settings2$hidde === void 0 ? false : _ref6$settings2$hidde;
|
255
|
-
return !hiddenInForm;
|
256
|
-
});
|
257
|
-
}, [formFields, defaultFields, resourceTypeFields, resourceFields]);
|
258
|
-
|
259
|
-
// Form routes
|
260
|
-
var resourceRoute = hooks.useResourceUrlGenerator(resource);
|
261
|
-
var _useResourceStore = data.useResourceStore(resource),
|
262
|
-
store = _useResourceStore.store;
|
263
|
-
var _useResourceUpdate = data.useResourceUpdate(resource, item != null ? item.id : null),
|
264
|
-
update = _useResourceUpdate.update;
|
265
|
-
var _useResourceDestroy = data.useResourceDestroy(resource, item != null ? item.id : null),
|
266
|
-
destroy = _useResourceDestroy.destroy;
|
267
|
-
|
268
|
-
// Post actions
|
269
|
-
var postAction = isCreate ? store : update;
|
270
|
-
var postForm = React.useCallback(function (action, data) {
|
271
|
-
return isDelete ? destroy() : postAction(data);
|
272
|
-
}, [postAction, isDelete, destroy, store, update]);
|
273
|
-
|
274
|
-
// Form state
|
275
|
-
var getInitialValue = React.useCallback(function () {
|
276
|
-
return item !== null ? item : finalFields.reduce(function (defaultValues, _ref7) {
|
277
|
-
var name = _ref7.name,
|
278
|
-
_ref7$defaultValue = _ref7.defaultValue,
|
279
|
-
defaultValue = _ref7$defaultValue === void 0 ? null : _ref7$defaultValue;
|
280
|
-
return defaultValue !== null ? _objectSpread__default["default"](_objectSpread__default["default"]({}, defaultValues), {}, _defineProperty__default["default"]({}, name, defaultValue)) : defaultValues;
|
281
|
-
}, type !== null ? {
|
282
|
-
type: type
|
283
|
-
} : null);
|
284
|
-
}, [item, type, finalFields]);
|
285
|
-
var _useState = React.useState(getInitialValue()),
|
286
|
-
_useState2 = _slicedToArray__default["default"](_useState, 2),
|
287
|
-
value = _useState2[0],
|
288
|
-
setValueState = _useState2[1];
|
289
|
-
var setValue = React.useCallback(function (newValue) {
|
290
|
-
// console.log('new value in resource form', newValue); // eslint-disable-line
|
291
|
-
setValueState(newValue);
|
292
|
-
}, [setValueState]);
|
293
|
-
var _useForm = hooks.useForm({
|
294
|
-
fields: finalFields,
|
295
|
-
value: value,
|
296
|
-
postForm: postForm,
|
297
|
-
setValue: setValue,
|
298
|
-
onComplete: onSuccess,
|
299
|
-
locales: locales
|
300
|
-
}),
|
301
|
-
fields = _useForm.fields,
|
302
|
-
onSubmit = _useForm.onSubmit,
|
303
|
-
status = _useForm.status,
|
304
|
-
generalError = _useForm.generalError,
|
305
|
-
errors = _useForm.errors;
|
306
|
-
|
307
|
-
// Form action
|
308
|
-
var modifyAction = isCreate ? resourceRoute('store') : resourceRoute('update', {
|
309
|
-
id: item.id
|
310
|
-
});
|
311
|
-
var action = isDelete ? resourceRoute('destroy', {
|
312
|
-
id: item.id
|
313
|
-
}) : modifyAction;
|
314
|
-
var defaultFormName = isDelete ? component || formComponent || null : component || formComponent || defaultComponent || 'normal';
|
71
|
+
var ResourceList__default = /*#__PURE__*/_interopDefaultLegacy(ResourceList);
|
72
|
+
var Filters__default = /*#__PURE__*/_interopDefaultLegacy(Filters);
|
315
73
|
|
316
|
-
|
317
|
-
var FormComponent = utils.getComponentFromName(defaultFormName, FormComponents, isDelete ? DeleteForm : component);
|
74
|
+
/* eslint-disable react/jsx-props-no-spreading */
|
318
75
|
|
319
|
-
|
320
|
-
|
321
|
-
|
322
|
-
setValue(getInitialValue());
|
323
|
-
}, [getInitialValue, setValue]);
|
324
|
-
return /*#__PURE__*/React__default["default"].createElement(contexts.FormProvider, {
|
325
|
-
value: value,
|
326
|
-
setValue: setValue
|
327
|
-
}, /*#__PURE__*/React__default["default"].createElement(FormComponent, Object.assign({}, props, {
|
328
|
-
status: status,
|
329
|
-
resource: resource,
|
330
|
-
item: item,
|
331
|
-
fields: fields,
|
332
|
-
generalError: generalError,
|
333
|
-
errors: errors,
|
334
|
-
action: action,
|
335
|
-
onSubmit: onSubmit,
|
336
|
-
isCreate: isCreate,
|
337
|
-
value: value,
|
338
|
-
onChange: setValue
|
339
|
-
})));
|
76
|
+
// Kept for backward compatibility with exports
|
77
|
+
var ResourceFormWrapper = function ResourceFormWrapper(props) {
|
78
|
+
return /*#__PURE__*/React__default["default"].createElement(ResourceForm__default["default"], props);
|
340
79
|
};
|
341
|
-
ResourceForm.propTypes = propTypes$l;
|
342
|
-
ResourceForm.defaultProps = defaultProps$l;
|
343
80
|
|
344
|
-
var propTypes$
|
81
|
+
var propTypes$j = {
|
345
82
|
withAccountForm: PropTypes__default["default"].bool,
|
346
83
|
className: PropTypes__default["default"].string,
|
347
84
|
itemClassName: PropTypes__default["default"].string,
|
348
85
|
linkClassName: PropTypes__default["default"].string
|
349
86
|
};
|
350
|
-
var defaultProps$
|
87
|
+
var defaultProps$i = {
|
351
88
|
withAccountForm: false,
|
352
89
|
className: null,
|
353
90
|
itemClassName: null,
|
@@ -415,15 +152,15 @@ var AccountMenu = function AccountMenu(_ref) {
|
|
415
152
|
dropdownAlign: "end"
|
416
153
|
}) : null;
|
417
154
|
};
|
418
|
-
AccountMenu.propTypes = propTypes$
|
419
|
-
AccountMenu.defaultProps = defaultProps$
|
155
|
+
AccountMenu.propTypes = propTypes$j;
|
156
|
+
AccountMenu.defaultProps = defaultProps$i;
|
420
157
|
|
421
|
-
var propTypes$
|
158
|
+
var propTypes$i = {
|
422
159
|
className: PropTypes__default["default"].string,
|
423
160
|
itemClassName: PropTypes__default["default"].string,
|
424
161
|
linkClassName: PropTypes__default["default"].string
|
425
162
|
};
|
426
|
-
var defaultProps$
|
163
|
+
var defaultProps$h = {
|
427
164
|
className: null,
|
428
165
|
itemClassName: null,
|
429
166
|
linkClassName: null
|
@@ -460,11 +197,11 @@ var ResourcesMenu = function ResourcesMenu(_ref) {
|
|
460
197
|
linkClassName: linkClassName
|
461
198
|
});
|
462
199
|
};
|
463
|
-
ResourcesMenu.propTypes = propTypes$
|
464
|
-
ResourcesMenu.defaultProps = defaultProps$
|
200
|
+
ResourcesMenu.propTypes = propTypes$i;
|
201
|
+
ResourcesMenu.defaultProps = defaultProps$h;
|
465
202
|
|
466
|
-
var propTypes$
|
467
|
-
var defaultProps$
|
203
|
+
var propTypes$h = {};
|
204
|
+
var defaultProps$g = {};
|
468
205
|
var MainNavbar = function MainNavbar(props) {
|
469
206
|
var _usePanneau = contexts.usePanneau(),
|
470
207
|
name = _usePanneau.name,
|
@@ -527,16 +264,16 @@ var MainNavbar = function MainNavbar(props) {
|
|
527
264
|
className: "navbar-brand"
|
528
265
|
}, name) : null, items);
|
529
266
|
};
|
530
|
-
MainNavbar.propTypes = propTypes$
|
531
|
-
MainNavbar.defaultProps = defaultProps$
|
267
|
+
MainNavbar.propTypes = propTypes$h;
|
268
|
+
MainNavbar.defaultProps = defaultProps$g;
|
532
269
|
|
533
270
|
var styles$1 = {};
|
534
271
|
|
535
|
-
var propTypes$
|
272
|
+
var propTypes$g = {
|
536
273
|
children: PropTypes__default["default"].node.isRequired,
|
537
274
|
fullscreen: PropTypes__default["default"].bool
|
538
275
|
};
|
539
|
-
var defaultProps$
|
276
|
+
var defaultProps$f = {
|
540
277
|
fullscreen: false
|
541
278
|
};
|
542
279
|
var MainLayout = function MainLayout(_ref) {
|
@@ -561,17 +298,17 @@ var MainLayout = function MainLayout(_ref) {
|
|
561
298
|
}, _defineProperty__default["default"](_ref2, "bg-".concat(background), background !== null), _defineProperty__default["default"](_ref2, "text-".concat(text), text !== null), _ref2)])
|
562
299
|
}, children), /*#__PURE__*/React__default["default"].createElement(elementModal.Modals, null));
|
563
300
|
};
|
564
|
-
MainLayout.propTypes = propTypes$
|
565
|
-
MainLayout.defaultProps = defaultProps$
|
301
|
+
MainLayout.propTypes = propTypes$g;
|
302
|
+
MainLayout.defaultProps = defaultProps$f;
|
566
303
|
|
567
|
-
var propTypes$
|
304
|
+
var propTypes$f = {
|
568
305
|
title: core.PropTypes.label,
|
569
306
|
actions: PropTypes__default["default"].node,
|
570
307
|
small: PropTypes__default["default"].bool,
|
571
308
|
className: PropTypes__default["default"].string,
|
572
309
|
children: PropTypes__default["default"].node
|
573
310
|
};
|
574
|
-
var defaultProps$
|
311
|
+
var defaultProps$e = {
|
575
312
|
title: null,
|
576
313
|
actions: null,
|
577
314
|
small: false,
|
@@ -608,13 +345,13 @@ var PageHeader = function PageHeader(_ref) {
|
|
608
345
|
className: "col-12 col-md-8 col-lg-7"
|
609
346
|
}, inner)) : inner), children);
|
610
347
|
};
|
611
|
-
PageHeader.propTypes = propTypes$
|
612
|
-
PageHeader.defaultProps = defaultProps$
|
348
|
+
PageHeader.propTypes = propTypes$f;
|
349
|
+
PageHeader.defaultProps = defaultProps$e;
|
613
350
|
|
614
|
-
var propTypes$
|
351
|
+
var propTypes$e = {
|
615
352
|
resource: core.PropTypes.resource.isRequired
|
616
353
|
};
|
617
|
-
var defaultProps$
|
354
|
+
var defaultProps$d = {};
|
618
355
|
var ResourceCreatePage = function ResourceCreatePage(_ref) {
|
619
356
|
var resource = _ref.resource;
|
620
357
|
var navigate = reactRouter.useNavigate();
|
@@ -651,20 +388,20 @@ var ResourceCreatePage = function ResourceCreatePage(_ref) {
|
|
651
388
|
className: "row justify-content-center"
|
652
389
|
}, /*#__PURE__*/React__default["default"].createElement("div", {
|
653
390
|
className: "col-12 col-md-8 col-lg-7"
|
654
|
-
}, /*#__PURE__*/React__default["default"].createElement(
|
391
|
+
}, /*#__PURE__*/React__default["default"].createElement(ResourceFormWrapper, {
|
655
392
|
resource: resource,
|
656
393
|
type: type,
|
657
394
|
onSuccess: onSuccess
|
658
395
|
}))))));
|
659
396
|
};
|
660
|
-
ResourceCreatePage.propTypes = propTypes$
|
661
|
-
ResourceCreatePage.defaultProps = defaultProps$
|
397
|
+
ResourceCreatePage.propTypes = propTypes$e;
|
398
|
+
ResourceCreatePage.defaultProps = defaultProps$d;
|
662
399
|
|
663
400
|
// import PropTypes from 'prop-types';
|
664
|
-
var propTypes$
|
401
|
+
var propTypes$d = {
|
665
402
|
resource: core.PropTypes.resource.isRequired
|
666
403
|
};
|
667
|
-
var defaultProps$
|
404
|
+
var defaultProps$c = {};
|
668
405
|
var ResourceDeletePage = function ResourceDeletePage(_ref) {
|
669
406
|
var resource = _ref.resource;
|
670
407
|
var _useParams = reactRouter.useParams(),
|
@@ -698,20 +435,20 @@ var ResourceDeletePage = function ResourceDeletePage(_ref) {
|
|
698
435
|
className: "row justify-content-center"
|
699
436
|
}, /*#__PURE__*/React__default["default"].createElement("div", {
|
700
437
|
className: "col-12 col-md-8 col-lg-7"
|
701
|
-
}, item !== null ? /*#__PURE__*/React__default["default"].createElement(
|
438
|
+
}, item !== null ? /*#__PURE__*/React__default["default"].createElement(ResourceFormWrapper, {
|
702
439
|
resource: resource,
|
703
440
|
item: item,
|
704
441
|
onSuccess: onSuccess,
|
705
442
|
isDelete: true
|
706
443
|
}) : null)))));
|
707
444
|
};
|
708
|
-
ResourceDeletePage.propTypes = propTypes$
|
709
|
-
ResourceDeletePage.defaultProps = defaultProps$
|
445
|
+
ResourceDeletePage.propTypes = propTypes$d;
|
446
|
+
ResourceDeletePage.defaultProps = defaultProps$c;
|
710
447
|
|
711
|
-
var propTypes$
|
448
|
+
var propTypes$c = {
|
712
449
|
resource: core.PropTypes.resource.isRequired
|
713
450
|
};
|
714
|
-
var defaultProps$
|
451
|
+
var defaultProps$b = {};
|
715
452
|
var ResourceEditPage = function ResourceEditPage(_ref) {
|
716
453
|
var resource = _ref.resource;
|
717
454
|
var _useParams = reactRouter.useParams(),
|
@@ -753,21 +490,21 @@ var ResourceEditPage = function ResourceEditPage(_ref) {
|
|
753
490
|
className: "row justify-content-center"
|
754
491
|
}, /*#__PURE__*/React__default["default"].createElement("div", {
|
755
492
|
className: "col-12 col-md-8 col-lg-7"
|
756
|
-
}, editItem !== null ? /*#__PURE__*/React__default["default"].createElement(
|
493
|
+
}, editItem !== null ? /*#__PURE__*/React__default["default"].createElement(ResourceFormWrapper, {
|
757
494
|
resource: resource,
|
758
495
|
item: editItem,
|
759
496
|
type: type,
|
760
497
|
onSuccess: onSuccess
|
761
498
|
}) : null)))));
|
762
499
|
};
|
763
|
-
ResourceEditPage.propTypes = propTypes$
|
764
|
-
ResourceEditPage.defaultProps = defaultProps$
|
500
|
+
ResourceEditPage.propTypes = propTypes$c;
|
501
|
+
ResourceEditPage.defaultProps = defaultProps$b;
|
765
502
|
|
766
|
-
var propTypes$
|
503
|
+
var propTypes$b = {
|
767
504
|
resource: core.PropTypes.resource.isRequired,
|
768
505
|
className: PropTypes__default["default"].string
|
769
506
|
};
|
770
|
-
var defaultProps$
|
507
|
+
var defaultProps$a = {
|
771
508
|
className: null
|
772
509
|
};
|
773
510
|
var ResourceCreateButtom = function ResourceCreateButtom(_ref) {
|
@@ -836,227 +573,30 @@ var ResourceCreateButtom = function ResourceCreateButtom(_ref) {
|
|
836
573
|
onClickOutside: onDropdownClickOutside
|
837
574
|
})) : button;
|
838
575
|
};
|
839
|
-
ResourceCreateButtom.propTypes = propTypes$
|
840
|
-
ResourceCreateButtom.defaultProps = defaultProps$
|
576
|
+
ResourceCreateButtom.propTypes = propTypes$b;
|
577
|
+
ResourceCreateButtom.defaultProps = defaultProps$a;
|
841
578
|
|
842
|
-
var _excluded$
|
843
|
-
var propTypes$b = {
|
844
|
-
filters: PropTypes__default["default"].arrayOf(PropTypes__default["default"].shape({
|
845
|
-
id: PropTypes__default["default"].string,
|
846
|
-
component: PropTypes__default["default"].string.isRequired
|
847
|
-
})),
|
848
|
-
value: PropTypes__default["default"].object,
|
849
|
-
// eslint-disable-line react/forbid-prop-types
|
850
|
-
onChange: PropTypes__default["default"].func,
|
851
|
-
onReset: PropTypes__default["default"].func,
|
852
|
-
withContainer: PropTypes__default["default"].bool,
|
853
|
-
withReset: PropTypes__default["default"].bool,
|
854
|
-
defaultValue: PropTypes__default["default"].objectOf(PropTypes__default["default"].object),
|
855
|
-
// eslint-disable-line react/forbid-prop-types
|
856
|
-
className: PropTypes__default["default"].string
|
857
|
-
};
|
858
|
-
var defaultProps$b = {
|
859
|
-
filters: [],
|
860
|
-
value: null,
|
861
|
-
onChange: null,
|
862
|
-
onReset: null,
|
863
|
-
withContainer: false,
|
864
|
-
withReset: true,
|
865
|
-
defaultValue: {
|
866
|
-
page: null
|
867
|
-
},
|
868
|
-
className: null
|
869
|
-
};
|
870
|
-
var ResourceFilters = function ResourceFilters(_ref) {
|
871
|
-
var filters = _ref.filters,
|
872
|
-
value = _ref.value,
|
873
|
-
onChange = _ref.onChange,
|
874
|
-
onReset = _ref.onReset,
|
875
|
-
withContainer = _ref.withContainer,
|
876
|
-
withReset = _ref.withReset,
|
877
|
-
defaultValue = _ref.defaultValue,
|
878
|
-
className = _ref.className;
|
879
|
-
var FilterComponents = contexts.useFiltersComponents();
|
880
|
-
var _usePanneauColorSchem = contexts.usePanneauColorScheme(),
|
881
|
-
background = _usePanneauColorSchem.background;
|
882
|
-
var currentFilters = filters || [];
|
883
|
-
var onFiltersReset = React.useCallback(function () {
|
884
|
-
if (onReset !== null) {
|
885
|
-
onReset(null);
|
886
|
-
}
|
887
|
-
}, [onReset]);
|
888
|
-
var hasActiveFilter = (currentFilters || []).reduce(function (isActive, item) {
|
889
|
-
if (value !== null && value[item.name]) {
|
890
|
-
return true;
|
891
|
-
}
|
892
|
-
return isActive;
|
893
|
-
}, false);
|
894
|
-
var onFilterChange = React.useCallback(function (name, newFilterValue) {
|
895
|
-
if (name !== null && onChange !== null) {
|
896
|
-
onChange(_objectSpread__default["default"](_objectSpread__default["default"]({}, value), {}, _defineProperty__default["default"]({}, name, newFilterValue), defaultValue));
|
897
|
-
}
|
898
|
-
}, [onChange, value, defaultValue]);
|
899
|
-
var onFilterClear = React.useCallback(function (name) {
|
900
|
-
if (name !== null && onChange !== null) {
|
901
|
-
var _ref2 = value || {};
|
902
|
-
_ref2[name];
|
903
|
-
var newValue = _objectWithoutProperties__default["default"](_ref2, [name].map(_toPropertyKey__default["default"]));
|
904
|
-
onChange(_objectSpread__default["default"](_objectSpread__default["default"]({}, newValue), defaultValue));
|
905
|
-
}
|
906
|
-
}, [onChange, value, defaultValue]);
|
907
|
-
return /*#__PURE__*/React__default["default"].createElement(Navbar__default["default"], {
|
908
|
-
className: classNames__default["default"]([_defineProperty__default["default"]({
|
909
|
-
'navbar-expand-md': withContainer
|
910
|
-
}, className, className !== null), 'justify-content-start', 'align-items-start', 'flex-column', 'flex-md-row']),
|
911
|
-
theme: background,
|
912
|
-
withoutCollapse: true
|
913
|
-
}, currentFilters.map(function (_ref4, index) {
|
914
|
-
var component = _ref4.component,
|
915
|
-
name = _ref4.name,
|
916
|
-
groupLabel = _ref4.groupLabel,
|
917
|
-
filterProps = _objectWithoutProperties__default["default"](_ref4, _excluded$4);
|
918
|
-
var FilterComponent = utils.getComponentFromName(component, FilterComponents, null);
|
919
|
-
var filterValue = value !== null && value[name] ? value[name] : null;
|
920
|
-
return FilterComponent !== null ? /*#__PURE__*/React__default["default"].createElement(FormGroup__default["default"], {
|
921
|
-
key: "filter-".concat(name, "-").concat(index + 1),
|
922
|
-
label: groupLabel,
|
923
|
-
className: "mb-3 me-3"
|
924
|
-
}, /*#__PURE__*/React__default["default"].createElement(FilterComponent, Object.assign({}, filterProps, {
|
925
|
-
value: filterValue,
|
926
|
-
onChange: function onChange(newValue) {
|
927
|
-
return onFilterChange(name, newValue);
|
928
|
-
},
|
929
|
-
onClear: function onClear() {
|
930
|
-
return onFilterClear(name);
|
931
|
-
}
|
932
|
-
}))) : null;
|
933
|
-
}), withReset && hasActiveFilter && currentFilters.length > 0 ? /*#__PURE__*/React__default["default"].createElement(Button__default["default"], {
|
934
|
-
theme: "primary",
|
935
|
-
onClick: onFiltersReset
|
936
|
-
}, /*#__PURE__*/React__default["default"].createElement(reactFontawesome.FontAwesomeIcon, {
|
937
|
-
icon: freeSolidSvgIcons.faUndo
|
938
|
-
})) : null);
|
939
|
-
};
|
940
|
-
ResourceFilters.propTypes = propTypes$b;
|
941
|
-
ResourceFilters.defaultProps = defaultProps$b;
|
942
|
-
|
943
|
-
var _excluded$3 = ["component", "showPagination", "filters", "actions"],
|
944
|
-
_excluded2$1 = ["page"];
|
579
|
+
var _excluded$3 = ["resource"];
|
945
580
|
var propTypes$a = {
|
946
|
-
resource:
|
947
|
-
|
948
|
-
|
949
|
-
paginated: PropTypes__default["default"].bool,
|
950
|
-
baseUrl: PropTypes__default["default"].string,
|
951
|
-
component: PropTypes__default["default"].oneOfType([PropTypes__default["default"].elementType, PropTypes__default["default"].string]),
|
952
|
-
componentProps: PropTypes__default["default"].object,
|
953
|
-
// eslint-disable-line react/forbid-prop-types
|
954
|
-
onQueryChange: PropTypes__default["default"].func,
|
955
|
-
onQueryReset: PropTypes__default["default"].func,
|
956
|
-
onClickPage: PropTypes__default["default"].func,
|
957
|
-
showFilters: PropTypes__default["default"].bool,
|
958
|
-
listProps: PropTypes__default["default"].shape({})
|
959
|
-
};
|
960
|
-
var defaultProps$a = {
|
961
|
-
query: null,
|
962
|
-
paginated: true,
|
963
|
-
component: null,
|
964
|
-
baseUrl: null,
|
965
|
-
componentProps: null,
|
966
|
-
onQueryChange: null,
|
967
|
-
onQueryReset: null,
|
968
|
-
onClickPage: null,
|
969
|
-
showFilters: true,
|
970
|
-
listProps: null
|
581
|
+
resource: PropTypes__default["default"].oneOfType([PropTypes__default["default"].string, PropTypes__default["default"].shape({
|
582
|
+
id: PropTypes__default["default"].string
|
583
|
+
})]).isRequired
|
971
584
|
};
|
585
|
+
|
586
|
+
// Kept for backward compatibility with exports
|
972
587
|
var ResourceItemsList = function ResourceItemsList(_ref) {
|
973
588
|
var resource = _ref.resource,
|
974
|
-
|
975
|
-
|
976
|
-
|
977
|
-
|
978
|
-
|
979
|
-
|
980
|
-
|
981
|
-
|
982
|
-
|
983
|
-
_resource$index2 = _resource$index === void 0 ? {} : _resource$index,
|
984
|
-
_resource$index2$comp = _resource$index2.component,
|
985
|
-
listComponent = _resource$index2$comp === void 0 ? null : _resource$index2$comp,
|
986
|
-
_resource$index2$show = _resource$index2.showPagination,
|
987
|
-
showPagination = _resource$index2$show === void 0 ? true : _resource$index2$show,
|
988
|
-
_resource$index2$filt = _resource$index2.filters,
|
989
|
-
filters = _resource$index2$filt === void 0 ? null : _resource$index2$filt;
|
990
|
-
_resource$index2.actions;
|
991
|
-
var listProps = _objectWithoutProperties__default["default"](_resource$index2, _excluded$3);
|
992
|
-
var _usePanneauColorSchem = contexts.usePanneauColorScheme(),
|
993
|
-
_usePanneauColorSchem2 = _usePanneauColorSchem.background,
|
994
|
-
theme = _usePanneauColorSchem2 === void 0 ? null : _usePanneauColorSchem2;
|
995
|
-
var ListComponents = contexts.useListsComponents();
|
996
|
-
var _useMemo = React.useMemo(function () {
|
997
|
-
var _ref2 = query || {},
|
998
|
-
_ref2$page = _ref2.page,
|
999
|
-
currentPage = _ref2$page === void 0 ? 1 : _ref2$page,
|
1000
|
-
rest = _objectWithoutProperties__default["default"](_ref2, _excluded2$1);
|
1001
|
-
return [currentPage, rest];
|
1002
|
-
}, [query]),
|
1003
|
-
_useMemo2 = _slicedToArray__default["default"](_useMemo, 2),
|
1004
|
-
page = _useMemo2[0],
|
1005
|
-
queryWithoutPage = _useMemo2[1];
|
1006
|
-
var itemsProps = data.useResourceItems(resource, queryWithoutPage, paginated ? parseInt(page, 10) : null);
|
1007
|
-
var _ref3 = itemsProps || {},
|
1008
|
-
_ref3$loaded = _ref3.loaded,
|
1009
|
-
loaded = _ref3$loaded === void 0 ? false : _ref3$loaded,
|
1010
|
-
_ref3$loading = _ref3.loading,
|
1011
|
-
loading = _ref3$loading === void 0 ? false : _ref3$loading,
|
1012
|
-
_ref3$lastPage = _ref3.lastPage,
|
1013
|
-
lastPage = _ref3$lastPage === void 0 ? 0 : _ref3$lastPage,
|
1014
|
-
_ref3$total = _ref3.total,
|
1015
|
-
total = _ref3$total === void 0 ? 0 : _ref3$total;
|
1016
|
-
var finalEmpty = loaded && !loading && total === 0;
|
1017
|
-
var ListComponent = utils.getComponentFromName(listComponent || 'table', ListComponents);
|
1018
|
-
return /*#__PURE__*/React__default["default"].createElement(React__default["default"].Fragment, null, showFilters && filters !== null ? /*#__PURE__*/React__default["default"].createElement(ResourceFilters, {
|
1019
|
-
filters: filters,
|
1020
|
-
value: query,
|
1021
|
-
onChange: onQueryChange,
|
1022
|
-
onReset: onQueryReset
|
1023
|
-
}) : null, paginated && showPagination ? /*#__PURE__*/React__default["default"].createElement(Pagination__default["default"], {
|
1024
|
-
page: page,
|
1025
|
-
lastPage: lastPage,
|
1026
|
-
total: total,
|
1027
|
-
url: baseUrl,
|
1028
|
-
query: query,
|
1029
|
-
onClickPage: onClickPage,
|
1030
|
-
className: "mt-1 mb-1"
|
1031
|
-
}) : null, ListComponent !== null ? /*#__PURE__*/React__default["default"].createElement(ListComponent, Object.assign({}, itemsProps, listProps, {
|
1032
|
-
resource: resource,
|
1033
|
-
baseUrl: baseUrl,
|
1034
|
-
query: query,
|
1035
|
-
onQueryChange: onQueryChange,
|
1036
|
-
onQueryReset: onQueryReset,
|
1037
|
-
theme: theme,
|
1038
|
-
showEmptyLabel: finalEmpty,
|
1039
|
-
emptyLabel: /*#__PURE__*/React__default["default"].createElement("p", {
|
1040
|
-
className: "my-2"
|
1041
|
-
}, /*#__PURE__*/React__default["default"].createElement(reactIntl.FormattedMessage, {
|
1042
|
-
id: "WgIC2T",
|
1043
|
-
defaultMessage: [{
|
1044
|
-
"type": 0,
|
1045
|
-
"value": "No results found"
|
1046
|
-
}]
|
1047
|
-
}))
|
1048
|
-
}, customListProps)) : null, paginated && showPagination ? /*#__PURE__*/React__default["default"].createElement(Pagination__default["default"], {
|
1049
|
-
page: page,
|
1050
|
-
lastPage: lastPage,
|
1051
|
-
total: total,
|
1052
|
-
url: baseUrl,
|
1053
|
-
query: query,
|
1054
|
-
onClickPage: onClickPage,
|
1055
|
-
className: "mt-4 mb-1"
|
1056
|
-
}) : null);
|
589
|
+
props = _objectWithoutProperties__default["default"](_ref, _excluded$3);
|
590
|
+
var _ref2 = isObject__default["default"](resource) ? resource : {
|
591
|
+
id: resource
|
592
|
+
},
|
593
|
+
_ref2$id = _ref2.id,
|
594
|
+
finalResource = _ref2$id === void 0 ? null : _ref2$id;
|
595
|
+
return /*#__PURE__*/React__default["default"].createElement(ResourceList__default["default"], Object.assign({
|
596
|
+
resource: finalResource
|
597
|
+
}, props));
|
1057
598
|
};
|
1058
599
|
ResourceItemsList.propTypes = propTypes$a;
|
1059
|
-
ResourceItemsList.defaultProps = defaultProps$a;
|
1060
600
|
|
1061
601
|
var _excluded$2 = ["id", "component"];
|
1062
602
|
var propTypes$9 = {
|
@@ -1218,7 +758,7 @@ var ResourceShowPage = function ResourceShowPage(_ref) {
|
|
1218
758
|
className: "row justify-content-center"
|
1219
759
|
}, /*#__PURE__*/React__default["default"].createElement("div", {
|
1220
760
|
className: "col-12 col-md-8 col-lg-7"
|
1221
|
-
}, /*#__PURE__*/React__default["default"].createElement(
|
761
|
+
}, /*#__PURE__*/React__default["default"].createElement(ResourceFormWrapper, {
|
1222
762
|
resource: resource,
|
1223
763
|
item: item,
|
1224
764
|
type: type,
|
@@ -1847,10 +1387,17 @@ var Container = function Container(_ref) {
|
|
1847
1387
|
Container.propTypes = propTypes;
|
1848
1388
|
Container.defaultProps = defaultProps;
|
1849
1389
|
|
1390
|
+
/* eslint-disable react/jsx-props-no-spreading */
|
1391
|
+
|
1392
|
+
// Kept for backward compatibility with exports
|
1393
|
+
var ResourceFilters = function ResourceFilters(props) {
|
1394
|
+
return /*#__PURE__*/React__default["default"].createElement(Filters__default["default"], props);
|
1395
|
+
};
|
1396
|
+
|
1850
1397
|
exports.GuestLayout = GuestLayout;
|
1851
1398
|
exports.MainLayout = MainLayout;
|
1852
1399
|
exports.PageHeader = PageHeader;
|
1853
1400
|
exports.ResourceFilters = ResourceFilters;
|
1854
|
-
exports.ResourceForm =
|
1401
|
+
exports.ResourceForm = ResourceFormWrapper;
|
1855
1402
|
exports.ResourceItemsList = ResourceItemsList;
|
1856
1403
|
exports["default"] = Container;
|