@panneau/app 2.0.67 → 2.0.69
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 +128 -578
- package/lib/index.js +92 -543
- 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,298 +58,41 @@ 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);
|
71
|
+
var ResourceList__default = /*#__PURE__*/_interopDefaultLegacy(ResourceList);
|
72
|
+
var Filters__default = /*#__PURE__*/_interopDefaultLegacy(Filters);
|
77
73
|
|
78
|
-
|
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';
|
315
|
-
|
316
|
-
// Form component
|
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 = {
|
82
|
+
withAccountForm: PropTypes__default["default"].bool,
|
345
83
|
className: PropTypes__default["default"].string,
|
346
84
|
itemClassName: PropTypes__default["default"].string,
|
347
85
|
linkClassName: PropTypes__default["default"].string
|
348
86
|
};
|
349
|
-
var defaultProps$
|
87
|
+
var defaultProps$i = {
|
88
|
+
withAccountForm: false,
|
350
89
|
className: null,
|
351
90
|
itemClassName: null,
|
352
91
|
linkClassName: null
|
353
92
|
};
|
354
93
|
var AccountMenu = function AccountMenu(_ref) {
|
355
|
-
var
|
94
|
+
var withAccountForm = _ref.withAccountForm,
|
95
|
+
className = _ref.className,
|
356
96
|
itemClassName = _ref.itemClassName,
|
357
97
|
linkClassName = _ref.linkClassName;
|
358
98
|
var route = contexts.useUrlGenerator();
|
@@ -373,17 +113,16 @@ var AccountMenu = function AccountMenu(_ref) {
|
|
373
113
|
}]
|
374
114
|
}),
|
375
115
|
href: route('account'),
|
376
|
-
dropdown: [
|
377
|
-
|
378
|
-
|
379
|
-
|
380
|
-
|
381
|
-
|
382
|
-
|
383
|
-
|
384
|
-
|
385
|
-
|
386
|
-
{
|
116
|
+
dropdown: [].concat(_toConsumableArray__default["default"](withAccountForm ? [{
|
117
|
+
label: /*#__PURE__*/React__default["default"].createElement(reactIntl.FormattedMessage, {
|
118
|
+
id: "V7Us0a",
|
119
|
+
defaultMessage: [{
|
120
|
+
"type": 0,
|
121
|
+
"value": "Update account"
|
122
|
+
}]
|
123
|
+
}),
|
124
|
+
href: route('account')
|
125
|
+
}] : []), [{
|
387
126
|
label: /*#__PURE__*/React__default["default"].createElement(reactIntl.FormattedMessage, {
|
388
127
|
id: "REIcPg",
|
389
128
|
defaultMessage: [{
|
@@ -393,7 +132,7 @@ var AccountMenu = function AccountMenu(_ref) {
|
|
393
132
|
}),
|
394
133
|
href: route('auth.logout'),
|
395
134
|
onClick: onClickLogout
|
396
|
-
}]
|
135
|
+
}])
|
397
136
|
}] : [{
|
398
137
|
label: /*#__PURE__*/React__default["default"].createElement(reactIntl.FormattedMessage, {
|
399
138
|
id: "d0g58T",
|
@@ -404,7 +143,7 @@ var AccountMenu = function AccountMenu(_ref) {
|
|
404
143
|
}),
|
405
144
|
href: route('auth.login')
|
406
145
|
}];
|
407
|
-
}, [user, route, onClickLogout]);
|
146
|
+
}, [user, route, onClickLogout, withAccountForm]);
|
408
147
|
return items !== null ? /*#__PURE__*/React__default["default"].createElement(Menu__default["default"], {
|
409
148
|
className: className,
|
410
149
|
itemClassName: itemClassName,
|
@@ -413,15 +152,15 @@ var AccountMenu = function AccountMenu(_ref) {
|
|
413
152
|
dropdownAlign: "end"
|
414
153
|
}) : null;
|
415
154
|
};
|
416
|
-
AccountMenu.propTypes = propTypes$
|
417
|
-
AccountMenu.defaultProps = defaultProps$
|
155
|
+
AccountMenu.propTypes = propTypes$j;
|
156
|
+
AccountMenu.defaultProps = defaultProps$i;
|
418
157
|
|
419
|
-
var propTypes$
|
158
|
+
var propTypes$i = {
|
420
159
|
className: PropTypes__default["default"].string,
|
421
160
|
itemClassName: PropTypes__default["default"].string,
|
422
161
|
linkClassName: PropTypes__default["default"].string
|
423
162
|
};
|
424
|
-
var defaultProps$
|
163
|
+
var defaultProps$h = {
|
425
164
|
className: null,
|
426
165
|
itemClassName: null,
|
427
166
|
linkClassName: null
|
@@ -458,11 +197,11 @@ var ResourcesMenu = function ResourcesMenu(_ref) {
|
|
458
197
|
linkClassName: linkClassName
|
459
198
|
});
|
460
199
|
};
|
461
|
-
ResourcesMenu.propTypes = propTypes$
|
462
|
-
ResourcesMenu.defaultProps = defaultProps$
|
200
|
+
ResourcesMenu.propTypes = propTypes$i;
|
201
|
+
ResourcesMenu.defaultProps = defaultProps$h;
|
463
202
|
|
464
|
-
var propTypes$
|
465
|
-
var defaultProps$
|
203
|
+
var propTypes$h = {};
|
204
|
+
var defaultProps$g = {};
|
466
205
|
var MainNavbar = function MainNavbar(props) {
|
467
206
|
var _usePanneau = contexts.usePanneau(),
|
468
207
|
name = _usePanneau.name,
|
@@ -525,16 +264,16 @@ var MainNavbar = function MainNavbar(props) {
|
|
525
264
|
className: "navbar-brand"
|
526
265
|
}, name) : null, items);
|
527
266
|
};
|
528
|
-
MainNavbar.propTypes = propTypes$
|
529
|
-
MainNavbar.defaultProps = defaultProps$
|
267
|
+
MainNavbar.propTypes = propTypes$h;
|
268
|
+
MainNavbar.defaultProps = defaultProps$g;
|
530
269
|
|
531
270
|
var styles$1 = {};
|
532
271
|
|
533
|
-
var propTypes$
|
272
|
+
var propTypes$g = {
|
534
273
|
children: PropTypes__default["default"].node.isRequired,
|
535
274
|
fullscreen: PropTypes__default["default"].bool
|
536
275
|
};
|
537
|
-
var defaultProps$
|
276
|
+
var defaultProps$f = {
|
538
277
|
fullscreen: false
|
539
278
|
};
|
540
279
|
var MainLayout = function MainLayout(_ref) {
|
@@ -559,17 +298,17 @@ var MainLayout = function MainLayout(_ref) {
|
|
559
298
|
}, _defineProperty__default["default"](_ref2, "bg-".concat(background), background !== null), _defineProperty__default["default"](_ref2, "text-".concat(text), text !== null), _ref2)])
|
560
299
|
}, children), /*#__PURE__*/React__default["default"].createElement(elementModal.Modals, null));
|
561
300
|
};
|
562
|
-
MainLayout.propTypes = propTypes$
|
563
|
-
MainLayout.defaultProps = defaultProps$
|
301
|
+
MainLayout.propTypes = propTypes$g;
|
302
|
+
MainLayout.defaultProps = defaultProps$f;
|
564
303
|
|
565
|
-
var propTypes$
|
304
|
+
var propTypes$f = {
|
566
305
|
title: core.PropTypes.label,
|
567
306
|
actions: PropTypes__default["default"].node,
|
568
307
|
small: PropTypes__default["default"].bool,
|
569
308
|
className: PropTypes__default["default"].string,
|
570
309
|
children: PropTypes__default["default"].node
|
571
310
|
};
|
572
|
-
var defaultProps$
|
311
|
+
var defaultProps$e = {
|
573
312
|
title: null,
|
574
313
|
actions: null,
|
575
314
|
small: false,
|
@@ -606,13 +345,13 @@ var PageHeader = function PageHeader(_ref) {
|
|
606
345
|
className: "col-12 col-md-8 col-lg-7"
|
607
346
|
}, inner)) : inner), children);
|
608
347
|
};
|
609
|
-
PageHeader.propTypes = propTypes$
|
610
|
-
PageHeader.defaultProps = defaultProps$
|
348
|
+
PageHeader.propTypes = propTypes$f;
|
349
|
+
PageHeader.defaultProps = defaultProps$e;
|
611
350
|
|
612
|
-
var propTypes$
|
351
|
+
var propTypes$e = {
|
613
352
|
resource: core.PropTypes.resource.isRequired
|
614
353
|
};
|
615
|
-
var defaultProps$
|
354
|
+
var defaultProps$d = {};
|
616
355
|
var ResourceCreatePage = function ResourceCreatePage(_ref) {
|
617
356
|
var resource = _ref.resource;
|
618
357
|
var navigate = reactRouter.useNavigate();
|
@@ -649,20 +388,20 @@ var ResourceCreatePage = function ResourceCreatePage(_ref) {
|
|
649
388
|
className: "row justify-content-center"
|
650
389
|
}, /*#__PURE__*/React__default["default"].createElement("div", {
|
651
390
|
className: "col-12 col-md-8 col-lg-7"
|
652
|
-
}, /*#__PURE__*/React__default["default"].createElement(
|
391
|
+
}, /*#__PURE__*/React__default["default"].createElement(ResourceFormWrapper, {
|
653
392
|
resource: resource,
|
654
393
|
type: type,
|
655
394
|
onSuccess: onSuccess
|
656
395
|
}))))));
|
657
396
|
};
|
658
|
-
ResourceCreatePage.propTypes = propTypes$
|
659
|
-
ResourceCreatePage.defaultProps = defaultProps$
|
397
|
+
ResourceCreatePage.propTypes = propTypes$e;
|
398
|
+
ResourceCreatePage.defaultProps = defaultProps$d;
|
660
399
|
|
661
400
|
// import PropTypes from 'prop-types';
|
662
|
-
var propTypes$
|
401
|
+
var propTypes$d = {
|
663
402
|
resource: core.PropTypes.resource.isRequired
|
664
403
|
};
|
665
|
-
var defaultProps$
|
404
|
+
var defaultProps$c = {};
|
666
405
|
var ResourceDeletePage = function ResourceDeletePage(_ref) {
|
667
406
|
var resource = _ref.resource;
|
668
407
|
var _useParams = reactRouter.useParams(),
|
@@ -696,20 +435,20 @@ var ResourceDeletePage = function ResourceDeletePage(_ref) {
|
|
696
435
|
className: "row justify-content-center"
|
697
436
|
}, /*#__PURE__*/React__default["default"].createElement("div", {
|
698
437
|
className: "col-12 col-md-8 col-lg-7"
|
699
|
-
}, item !== null ? /*#__PURE__*/React__default["default"].createElement(
|
438
|
+
}, item !== null ? /*#__PURE__*/React__default["default"].createElement(ResourceFormWrapper, {
|
700
439
|
resource: resource,
|
701
440
|
item: item,
|
702
441
|
onSuccess: onSuccess,
|
703
442
|
isDelete: true
|
704
443
|
}) : null)))));
|
705
444
|
};
|
706
|
-
ResourceDeletePage.propTypes = propTypes$
|
707
|
-
ResourceDeletePage.defaultProps = defaultProps$
|
445
|
+
ResourceDeletePage.propTypes = propTypes$d;
|
446
|
+
ResourceDeletePage.defaultProps = defaultProps$c;
|
708
447
|
|
709
|
-
var propTypes$
|
448
|
+
var propTypes$c = {
|
710
449
|
resource: core.PropTypes.resource.isRequired
|
711
450
|
};
|
712
|
-
var defaultProps$
|
451
|
+
var defaultProps$b = {};
|
713
452
|
var ResourceEditPage = function ResourceEditPage(_ref) {
|
714
453
|
var resource = _ref.resource;
|
715
454
|
var _useParams = reactRouter.useParams(),
|
@@ -751,21 +490,21 @@ var ResourceEditPage = function ResourceEditPage(_ref) {
|
|
751
490
|
className: "row justify-content-center"
|
752
491
|
}, /*#__PURE__*/React__default["default"].createElement("div", {
|
753
492
|
className: "col-12 col-md-8 col-lg-7"
|
754
|
-
}, editItem !== null ? /*#__PURE__*/React__default["default"].createElement(
|
493
|
+
}, editItem !== null ? /*#__PURE__*/React__default["default"].createElement(ResourceFormWrapper, {
|
755
494
|
resource: resource,
|
756
495
|
item: editItem,
|
757
496
|
type: type,
|
758
497
|
onSuccess: onSuccess
|
759
498
|
}) : null)))));
|
760
499
|
};
|
761
|
-
ResourceEditPage.propTypes = propTypes$
|
762
|
-
ResourceEditPage.defaultProps = defaultProps$
|
500
|
+
ResourceEditPage.propTypes = propTypes$c;
|
501
|
+
ResourceEditPage.defaultProps = defaultProps$b;
|
763
502
|
|
764
|
-
var propTypes$
|
503
|
+
var propTypes$b = {
|
765
504
|
resource: core.PropTypes.resource.isRequired,
|
766
505
|
className: PropTypes__default["default"].string
|
767
506
|
};
|
768
|
-
var defaultProps$
|
507
|
+
var defaultProps$a = {
|
769
508
|
className: null
|
770
509
|
};
|
771
510
|
var ResourceCreateButtom = function ResourceCreateButtom(_ref) {
|
@@ -834,227 +573,30 @@ var ResourceCreateButtom = function ResourceCreateButtom(_ref) {
|
|
834
573
|
onClickOutside: onDropdownClickOutside
|
835
574
|
})) : button;
|
836
575
|
};
|
837
|
-
ResourceCreateButtom.propTypes = propTypes$
|
838
|
-
ResourceCreateButtom.defaultProps = defaultProps$
|
576
|
+
ResourceCreateButtom.propTypes = propTypes$b;
|
577
|
+
ResourceCreateButtom.defaultProps = defaultProps$a;
|
839
578
|
|
840
|
-
var _excluded$
|
841
|
-
var propTypes$b = {
|
842
|
-
filters: PropTypes__default["default"].arrayOf(PropTypes__default["default"].shape({
|
843
|
-
id: PropTypes__default["default"].string,
|
844
|
-
component: PropTypes__default["default"].string.isRequired
|
845
|
-
})),
|
846
|
-
value: PropTypes__default["default"].object,
|
847
|
-
// eslint-disable-line react/forbid-prop-types
|
848
|
-
onChange: PropTypes__default["default"].func,
|
849
|
-
onReset: PropTypes__default["default"].func,
|
850
|
-
withContainer: PropTypes__default["default"].bool,
|
851
|
-
withReset: PropTypes__default["default"].bool,
|
852
|
-
defaultValue: PropTypes__default["default"].objectOf(PropTypes__default["default"].object),
|
853
|
-
// eslint-disable-line react/forbid-prop-types
|
854
|
-
className: PropTypes__default["default"].string
|
855
|
-
};
|
856
|
-
var defaultProps$b = {
|
857
|
-
filters: [],
|
858
|
-
value: null,
|
859
|
-
onChange: null,
|
860
|
-
onReset: null,
|
861
|
-
withContainer: false,
|
862
|
-
withReset: true,
|
863
|
-
defaultValue: {
|
864
|
-
page: null
|
865
|
-
},
|
866
|
-
className: null
|
867
|
-
};
|
868
|
-
var ResourceFilters = function ResourceFilters(_ref) {
|
869
|
-
var filters = _ref.filters,
|
870
|
-
value = _ref.value,
|
871
|
-
onChange = _ref.onChange,
|
872
|
-
onReset = _ref.onReset,
|
873
|
-
withContainer = _ref.withContainer,
|
874
|
-
withReset = _ref.withReset,
|
875
|
-
defaultValue = _ref.defaultValue,
|
876
|
-
className = _ref.className;
|
877
|
-
var FilterComponents = contexts.useFiltersComponents();
|
878
|
-
var _usePanneauColorSchem = contexts.usePanneauColorScheme(),
|
879
|
-
background = _usePanneauColorSchem.background;
|
880
|
-
var currentFilters = filters || [];
|
881
|
-
var onFiltersReset = React.useCallback(function () {
|
882
|
-
if (onReset !== null) {
|
883
|
-
onReset(null);
|
884
|
-
}
|
885
|
-
}, [onReset]);
|
886
|
-
var hasActiveFilter = (currentFilters || []).reduce(function (isActive, item) {
|
887
|
-
if (value !== null && value[item.name]) {
|
888
|
-
return true;
|
889
|
-
}
|
890
|
-
return isActive;
|
891
|
-
}, false);
|
892
|
-
var onFilterChange = React.useCallback(function (name, newFilterValue) {
|
893
|
-
if (name !== null && onChange !== null) {
|
894
|
-
onChange(_objectSpread__default["default"](_objectSpread__default["default"]({}, value), {}, _defineProperty__default["default"]({}, name, newFilterValue), defaultValue));
|
895
|
-
}
|
896
|
-
}, [onChange, value, defaultValue]);
|
897
|
-
var onFilterClear = React.useCallback(function (name) {
|
898
|
-
if (name !== null && onChange !== null) {
|
899
|
-
var _ref2 = value || {};
|
900
|
-
_ref2[name];
|
901
|
-
var newValue = _objectWithoutProperties__default["default"](_ref2, [name].map(_toPropertyKey__default["default"]));
|
902
|
-
onChange(_objectSpread__default["default"](_objectSpread__default["default"]({}, newValue), defaultValue));
|
903
|
-
}
|
904
|
-
}, [onChange, value, defaultValue]);
|
905
|
-
return /*#__PURE__*/React__default["default"].createElement(Navbar__default["default"], {
|
906
|
-
className: classNames__default["default"]([_defineProperty__default["default"]({
|
907
|
-
'navbar-expand-md': withContainer
|
908
|
-
}, className, className !== null), 'justify-content-start', 'align-items-start', 'flex-column', 'flex-md-row']),
|
909
|
-
theme: background,
|
910
|
-
withoutCollapse: true
|
911
|
-
}, currentFilters.map(function (_ref4, index) {
|
912
|
-
var component = _ref4.component,
|
913
|
-
name = _ref4.name,
|
914
|
-
groupLabel = _ref4.groupLabel,
|
915
|
-
filterProps = _objectWithoutProperties__default["default"](_ref4, _excluded$4);
|
916
|
-
var FilterComponent = utils.getComponentFromName(component, FilterComponents, null);
|
917
|
-
var filterValue = value !== null && value[name] ? value[name] : null;
|
918
|
-
return FilterComponent !== null ? /*#__PURE__*/React__default["default"].createElement(FormGroup__default["default"], {
|
919
|
-
key: "filter-".concat(name, "-").concat(index + 1),
|
920
|
-
label: groupLabel,
|
921
|
-
className: "mb-3 me-3"
|
922
|
-
}, /*#__PURE__*/React__default["default"].createElement(FilterComponent, Object.assign({}, filterProps, {
|
923
|
-
value: filterValue,
|
924
|
-
onChange: function onChange(newValue) {
|
925
|
-
return onFilterChange(name, newValue);
|
926
|
-
},
|
927
|
-
onClear: function onClear() {
|
928
|
-
return onFilterClear(name);
|
929
|
-
}
|
930
|
-
}))) : null;
|
931
|
-
}), withReset && hasActiveFilter && currentFilters.length > 0 ? /*#__PURE__*/React__default["default"].createElement(Button__default["default"], {
|
932
|
-
theme: "primary",
|
933
|
-
onClick: onFiltersReset
|
934
|
-
}, /*#__PURE__*/React__default["default"].createElement(reactFontawesome.FontAwesomeIcon, {
|
935
|
-
icon: freeSolidSvgIcons.faUndo
|
936
|
-
})) : null);
|
937
|
-
};
|
938
|
-
ResourceFilters.propTypes = propTypes$b;
|
939
|
-
ResourceFilters.defaultProps = defaultProps$b;
|
940
|
-
|
941
|
-
var _excluded$3 = ["component", "showPagination", "filters", "actions"],
|
942
|
-
_excluded2$1 = ["page"];
|
579
|
+
var _excluded$3 = ["resource"];
|
943
580
|
var propTypes$a = {
|
944
|
-
resource:
|
945
|
-
|
946
|
-
|
947
|
-
paginated: PropTypes__default["default"].bool,
|
948
|
-
baseUrl: PropTypes__default["default"].string,
|
949
|
-
component: PropTypes__default["default"].oneOfType([PropTypes__default["default"].elementType, PropTypes__default["default"].string]),
|
950
|
-
componentProps: PropTypes__default["default"].object,
|
951
|
-
// eslint-disable-line react/forbid-prop-types
|
952
|
-
onQueryChange: PropTypes__default["default"].func,
|
953
|
-
onQueryReset: PropTypes__default["default"].func,
|
954
|
-
onClickPage: PropTypes__default["default"].func,
|
955
|
-
showFilters: PropTypes__default["default"].bool,
|
956
|
-
listProps: PropTypes__default["default"].shape({})
|
957
|
-
};
|
958
|
-
var defaultProps$a = {
|
959
|
-
query: null,
|
960
|
-
paginated: true,
|
961
|
-
component: null,
|
962
|
-
baseUrl: null,
|
963
|
-
componentProps: null,
|
964
|
-
onQueryChange: null,
|
965
|
-
onQueryReset: null,
|
966
|
-
onClickPage: null,
|
967
|
-
showFilters: true,
|
968
|
-
listProps: null
|
581
|
+
resource: PropTypes__default["default"].oneOfType([PropTypes__default["default"].string, PropTypes__default["default"].shape({
|
582
|
+
id: PropTypes__default["default"].string
|
583
|
+
})]).isRequired
|
969
584
|
};
|
585
|
+
|
586
|
+
// Kept for backward compatibility with exports
|
970
587
|
var ResourceItemsList = function ResourceItemsList(_ref) {
|
971
588
|
var resource = _ref.resource,
|
972
|
-
|
973
|
-
|
974
|
-
|
975
|
-
|
976
|
-
|
977
|
-
|
978
|
-
|
979
|
-
|
980
|
-
|
981
|
-
_resource$index2 = _resource$index === void 0 ? {} : _resource$index,
|
982
|
-
_resource$index2$comp = _resource$index2.component,
|
983
|
-
listComponent = _resource$index2$comp === void 0 ? null : _resource$index2$comp,
|
984
|
-
_resource$index2$show = _resource$index2.showPagination,
|
985
|
-
showPagination = _resource$index2$show === void 0 ? true : _resource$index2$show,
|
986
|
-
_resource$index2$filt = _resource$index2.filters,
|
987
|
-
filters = _resource$index2$filt === void 0 ? null : _resource$index2$filt;
|
988
|
-
_resource$index2.actions;
|
989
|
-
var listProps = _objectWithoutProperties__default["default"](_resource$index2, _excluded$3);
|
990
|
-
var _usePanneauColorSchem = contexts.usePanneauColorScheme(),
|
991
|
-
_usePanneauColorSchem2 = _usePanneauColorSchem.background,
|
992
|
-
theme = _usePanneauColorSchem2 === void 0 ? null : _usePanneauColorSchem2;
|
993
|
-
var ListComponents = contexts.useListsComponents();
|
994
|
-
var _useMemo = React.useMemo(function () {
|
995
|
-
var _ref2 = query || {},
|
996
|
-
_ref2$page = _ref2.page,
|
997
|
-
currentPage = _ref2$page === void 0 ? 1 : _ref2$page,
|
998
|
-
rest = _objectWithoutProperties__default["default"](_ref2, _excluded2$1);
|
999
|
-
return [currentPage, rest];
|
1000
|
-
}, [query]),
|
1001
|
-
_useMemo2 = _slicedToArray__default["default"](_useMemo, 2),
|
1002
|
-
page = _useMemo2[0],
|
1003
|
-
queryWithoutPage = _useMemo2[1];
|
1004
|
-
var itemsProps = data.useResourceItems(resource, queryWithoutPage, paginated ? parseInt(page, 10) : null);
|
1005
|
-
var _ref3 = itemsProps || {},
|
1006
|
-
_ref3$loaded = _ref3.loaded,
|
1007
|
-
loaded = _ref3$loaded === void 0 ? false : _ref3$loaded,
|
1008
|
-
_ref3$loading = _ref3.loading,
|
1009
|
-
loading = _ref3$loading === void 0 ? false : _ref3$loading,
|
1010
|
-
_ref3$lastPage = _ref3.lastPage,
|
1011
|
-
lastPage = _ref3$lastPage === void 0 ? 0 : _ref3$lastPage,
|
1012
|
-
_ref3$total = _ref3.total,
|
1013
|
-
total = _ref3$total === void 0 ? 0 : _ref3$total;
|
1014
|
-
var finalEmpty = loaded && !loading && total === 0;
|
1015
|
-
var ListComponent = utils.getComponentFromName(listComponent || 'table', ListComponents);
|
1016
|
-
return /*#__PURE__*/React__default["default"].createElement(React__default["default"].Fragment, null, showFilters && filters !== null ? /*#__PURE__*/React__default["default"].createElement(ResourceFilters, {
|
1017
|
-
filters: filters,
|
1018
|
-
value: query,
|
1019
|
-
onChange: onQueryChange,
|
1020
|
-
onReset: onQueryReset
|
1021
|
-
}) : null, paginated && showPagination ? /*#__PURE__*/React__default["default"].createElement(Pagination__default["default"], {
|
1022
|
-
page: page,
|
1023
|
-
lastPage: lastPage,
|
1024
|
-
total: total,
|
1025
|
-
url: baseUrl,
|
1026
|
-
query: query,
|
1027
|
-
onClickPage: onClickPage,
|
1028
|
-
className: "mt-1 mb-1"
|
1029
|
-
}) : null, ListComponent !== null ? /*#__PURE__*/React__default["default"].createElement(ListComponent, Object.assign({}, itemsProps, listProps, {
|
1030
|
-
resource: resource,
|
1031
|
-
baseUrl: baseUrl,
|
1032
|
-
query: query,
|
1033
|
-
onQueryChange: onQueryChange,
|
1034
|
-
onQueryReset: onQueryReset,
|
1035
|
-
theme: theme,
|
1036
|
-
showEmptyLabel: finalEmpty,
|
1037
|
-
emptyLabel: /*#__PURE__*/React__default["default"].createElement("p", {
|
1038
|
-
className: "my-2"
|
1039
|
-
}, /*#__PURE__*/React__default["default"].createElement(reactIntl.FormattedMessage, {
|
1040
|
-
id: "WgIC2T",
|
1041
|
-
defaultMessage: [{
|
1042
|
-
"type": 0,
|
1043
|
-
"value": "No results found"
|
1044
|
-
}]
|
1045
|
-
}))
|
1046
|
-
}, customListProps)) : null, paginated && showPagination ? /*#__PURE__*/React__default["default"].createElement(Pagination__default["default"], {
|
1047
|
-
page: page,
|
1048
|
-
lastPage: lastPage,
|
1049
|
-
total: total,
|
1050
|
-
url: baseUrl,
|
1051
|
-
query: query,
|
1052
|
-
onClickPage: onClickPage,
|
1053
|
-
className: "mt-4 mb-1"
|
1054
|
-
}) : 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));
|
1055
598
|
};
|
1056
599
|
ResourceItemsList.propTypes = propTypes$a;
|
1057
|
-
ResourceItemsList.defaultProps = defaultProps$a;
|
1058
600
|
|
1059
601
|
var _excluded$2 = ["id", "component"];
|
1060
602
|
var propTypes$9 = {
|
@@ -1216,7 +758,7 @@ var ResourceShowPage = function ResourceShowPage(_ref) {
|
|
1216
758
|
className: "row justify-content-center"
|
1217
759
|
}, /*#__PURE__*/React__default["default"].createElement("div", {
|
1218
760
|
className: "col-12 col-md-8 col-lg-7"
|
1219
|
-
}, /*#__PURE__*/React__default["default"].createElement(
|
761
|
+
}, /*#__PURE__*/React__default["default"].createElement(ResourceFormWrapper, {
|
1220
762
|
resource: resource,
|
1221
763
|
item: item,
|
1222
764
|
type: type,
|
@@ -1845,10 +1387,17 @@ var Container = function Container(_ref) {
|
|
1845
1387
|
Container.propTypes = propTypes;
|
1846
1388
|
Container.defaultProps = defaultProps;
|
1847
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
|
+
|
1848
1397
|
exports.GuestLayout = GuestLayout;
|
1849
1398
|
exports.MainLayout = MainLayout;
|
1850
1399
|
exports.PageHeader = PageHeader;
|
1851
1400
|
exports.ResourceFilters = ResourceFilters;
|
1852
|
-
exports.ResourceForm =
|
1401
|
+
exports.ResourceForm = ResourceFormWrapper;
|
1853
1402
|
exports.ResourceItemsList = ResourceItemsList;
|
1854
1403
|
exports["default"] = Container;
|