@panneau/app 1.0.0-alpha.18 → 1.0.0-alpha.180
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/assets/css/styles.css +3 -3
- package/es/index.js +750 -953
- package/lib/index.js +720 -919
- package/package.json +29 -25
- package/scss/styles.scss +3 -0
package/lib/index.js
CHANGED
@@ -1,302 +1,404 @@
|
|
1
1
|
'use strict';
|
2
2
|
|
3
|
-
|
4
|
-
|
5
|
-
var
|
6
|
-
var
|
7
|
-
var
|
3
|
+
Object.defineProperty(exports, '__esModule', { value: true });
|
4
|
+
|
5
|
+
var _defineProperty = require('@babel/runtime/helpers/defineProperty');
|
6
|
+
var _objectSpread = require('@babel/runtime/helpers/objectSpread2');
|
7
|
+
var auth = require('@panneau/auth');
|
8
8
|
var core = require('@panneau/core');
|
9
9
|
var contexts = require('@panneau/core/contexts');
|
10
10
|
var data = require('@panneau/data');
|
11
|
+
var DisplaysProvider = require('@panneau/displays');
|
11
12
|
var FieldsProvider = require('@panneau/fields');
|
13
|
+
var FiltersProvider = require('@panneau/filters');
|
12
14
|
var FormsProvider = require('@panneau/forms');
|
15
|
+
var intl = require('@panneau/intl');
|
13
16
|
var ListsProvider = require('@panneau/lists');
|
14
|
-
var
|
15
|
-
var
|
17
|
+
var PropTypes = require('prop-types');
|
18
|
+
var React = require('react');
|
19
|
+
var reactRouter = require('react-router');
|
20
|
+
var reactRouterDom = require('react-router-dom');
|
16
21
|
var _slicedToArray = require('@babel/runtime/helpers/slicedToArray');
|
17
22
|
var utils = require('@panneau/core/utils');
|
18
23
|
var hooks = require('@panneau/core/hooks');
|
19
|
-
var
|
24
|
+
var queryString = require('query-string');
|
25
|
+
var _objectWithoutProperties = require('@babel/runtime/helpers/objectWithoutProperties');
|
26
|
+
var Button = require('@panneau/element-button');
|
27
|
+
var Form = require('@panneau/element-form');
|
20
28
|
var classNames = require('classnames');
|
29
|
+
var reactIntl = require('react-intl');
|
21
30
|
var Navbar = require('@panneau/element-navbar');
|
22
31
|
var Menu = require('@panneau/element-menu');
|
23
32
|
var Label = require('@panneau/element-label');
|
24
|
-
var _objectSpread = require('@babel/runtime/helpers/objectSpread2');
|
25
|
-
var _objectWithoutProperties = require('@babel/runtime/helpers/objectWithoutProperties');
|
26
|
-
var queryString = require('query-string');
|
27
33
|
var Alert = require('@panneau/element-alert');
|
28
|
-
var Button = require('@panneau/element-button');
|
29
34
|
var Dropdown = require('@panneau/element-dropdown');
|
35
|
+
var Pagination = require('@panneau/element-pagination');
|
36
|
+
var freeSolidSvgIcons = require('@fortawesome/free-solid-svg-icons');
|
37
|
+
var reactFontawesome = require('@fortawesome/react-fontawesome');
|
30
38
|
var FormGroup = require('@panneau/element-form-group');
|
31
39
|
|
32
40
|
function _interopDefaultLegacy (e) { return e && typeof e === 'object' && 'default' in e ? e : { 'default': e }; }
|
33
41
|
|
34
|
-
var
|
35
|
-
var
|
42
|
+
var _defineProperty__default = /*#__PURE__*/_interopDefaultLegacy(_defineProperty);
|
43
|
+
var _objectSpread__default = /*#__PURE__*/_interopDefaultLegacy(_objectSpread);
|
44
|
+
var DisplaysProvider__default = /*#__PURE__*/_interopDefaultLegacy(DisplaysProvider);
|
36
45
|
var FieldsProvider__default = /*#__PURE__*/_interopDefaultLegacy(FieldsProvider);
|
46
|
+
var FiltersProvider__default = /*#__PURE__*/_interopDefaultLegacy(FiltersProvider);
|
37
47
|
var FormsProvider__default = /*#__PURE__*/_interopDefaultLegacy(FormsProvider);
|
38
48
|
var ListsProvider__default = /*#__PURE__*/_interopDefaultLegacy(ListsProvider);
|
39
|
-
var
|
40
|
-
var
|
49
|
+
var PropTypes__default = /*#__PURE__*/_interopDefaultLegacy(PropTypes);
|
50
|
+
var React__default = /*#__PURE__*/_interopDefaultLegacy(React);
|
41
51
|
var _slicedToArray__default = /*#__PURE__*/_interopDefaultLegacy(_slicedToArray);
|
42
|
-
var
|
52
|
+
var _objectWithoutProperties__default = /*#__PURE__*/_interopDefaultLegacy(_objectWithoutProperties);
|
53
|
+
var Button__default = /*#__PURE__*/_interopDefaultLegacy(Button);
|
54
|
+
var Form__default = /*#__PURE__*/_interopDefaultLegacy(Form);
|
43
55
|
var classNames__default = /*#__PURE__*/_interopDefaultLegacy(classNames);
|
44
56
|
var Navbar__default = /*#__PURE__*/_interopDefaultLegacy(Navbar);
|
45
57
|
var Menu__default = /*#__PURE__*/_interopDefaultLegacy(Menu);
|
46
58
|
var Label__default = /*#__PURE__*/_interopDefaultLegacy(Label);
|
47
|
-
var _objectSpread__default = /*#__PURE__*/_interopDefaultLegacy(_objectSpread);
|
48
|
-
var _objectWithoutProperties__default = /*#__PURE__*/_interopDefaultLegacy(_objectWithoutProperties);
|
49
59
|
var Alert__default = /*#__PURE__*/_interopDefaultLegacy(Alert);
|
50
|
-
var Button__default = /*#__PURE__*/_interopDefaultLegacy(Button);
|
51
60
|
var Dropdown__default = /*#__PURE__*/_interopDefaultLegacy(Dropdown);
|
61
|
+
var Pagination__default = /*#__PURE__*/_interopDefaultLegacy(Pagination);
|
52
62
|
var FormGroup__default = /*#__PURE__*/_interopDefaultLegacy(FormGroup);
|
53
63
|
|
54
|
-
var
|
55
|
-
|
56
|
-
|
57
|
-
|
58
|
-
|
59
|
-
|
60
|
-
|
61
|
-
|
62
|
-
|
63
|
-
|
64
|
-
|
65
|
-
|
66
|
-
|
67
|
-
setLoading(false);
|
68
|
-
throw e;
|
69
|
-
});
|
70
|
-
}, [api, setLoading]);
|
71
|
-
return {
|
72
|
-
check: check,
|
73
|
-
loading: loading
|
74
|
-
};
|
64
|
+
var propTypes$n = {
|
65
|
+
resource: core.PropTypes.resource.isRequired,
|
66
|
+
action: PropTypes__default['default'].string,
|
67
|
+
previous: PropTypes__default['default'].string,
|
68
|
+
fields: core.PropTypes.fields.isRequired,
|
69
|
+
value: PropTypes__default['default'].object,
|
70
|
+
// eslint-disable-line react/forbid-prop-types
|
71
|
+
onChange: PropTypes__default['default'].func.isRequired,
|
72
|
+
onSubmit: PropTypes__default['default'].func,
|
73
|
+
status: core.PropTypes.formStatus,
|
74
|
+
generalError: PropTypes__default['default'].string,
|
75
|
+
errors: PropTypes__default['default'].objectOf(PropTypes__default['default'].arrayOf(PropTypes__default['default'].string)),
|
76
|
+
className: PropTypes__default['default'].string
|
75
77
|
};
|
76
|
-
|
77
|
-
|
78
|
-
|
79
|
-
|
80
|
-
|
81
|
-
|
82
|
-
|
83
|
-
|
84
|
-
|
85
|
-
setLoading(true);
|
86
|
-
return api.auth.login(email, password).then(function (response) {
|
87
|
-
setLoading(false);
|
88
|
-
return response;
|
89
|
-
})["catch"](function (e) {
|
90
|
-
setLoading(false);
|
91
|
-
throw e;
|
92
|
-
});
|
93
|
-
}, [api, setLoading]);
|
94
|
-
return {
|
95
|
-
login: login,
|
96
|
-
loading: loading
|
97
|
-
};
|
78
|
+
var defaultProps$n = {
|
79
|
+
action: null,
|
80
|
+
previous: null,
|
81
|
+
status: null,
|
82
|
+
value: null,
|
83
|
+
onSubmit: null,
|
84
|
+
generalError: null,
|
85
|
+
errors: null,
|
86
|
+
className: null
|
98
87
|
};
|
99
88
|
|
100
|
-
var
|
101
|
-
var
|
102
|
-
|
103
|
-
|
104
|
-
|
105
|
-
|
106
|
-
|
107
|
-
|
108
|
-
|
109
|
-
|
110
|
-
|
111
|
-
return response;
|
112
|
-
})["catch"](function (e) {
|
113
|
-
setLoading(false);
|
114
|
-
throw e;
|
115
|
-
});
|
116
|
-
}, [api, setLoading]);
|
117
|
-
return {
|
118
|
-
logout: logout,
|
119
|
-
loading: loading
|
120
|
-
};
|
121
|
-
};
|
89
|
+
var DeleteForm = function DeleteForm(_ref) {
|
90
|
+
var resource = _ref.resource,
|
91
|
+
action = _ref.action,
|
92
|
+
previous = _ref.previous;
|
93
|
+
_ref.status;
|
94
|
+
var value = _ref.value,
|
95
|
+
onSubmit = _ref.onSubmit;
|
96
|
+
_ref.errors;
|
97
|
+
var generalError = _ref.generalError,
|
98
|
+
className = _ref.className,
|
99
|
+
props = _objectWithoutProperties__default['default'](_ref, ["resource", "action", "previous", "status", "value", "onSubmit", "errors", "generalError", "className"]);
|
122
100
|
|
123
|
-
|
124
|
-
|
125
|
-
|
126
|
-
|
127
|
-
|
128
|
-
|
129
|
-
|
130
|
-
|
131
|
-
|
132
|
-
|
133
|
-
|
134
|
-
|
135
|
-
|
136
|
-
|
137
|
-
|
138
|
-
|
139
|
-
|
140
|
-
|
141
|
-
|
142
|
-
|
143
|
-
}
|
101
|
+
return /*#__PURE__*/React__default['default'].createElement(Form__default['default'], Object.assign({
|
102
|
+
className: classNames__default['default'](['form', _defineProperty__default['default']({
|
103
|
+
'invalid-feedback': generalError !== null
|
104
|
+
}, className, className !== null)]),
|
105
|
+
action: action,
|
106
|
+
onSubmit: onSubmit,
|
107
|
+
withoutActions: true,
|
108
|
+
withoutErrors: true
|
109
|
+
}, props), /*#__PURE__*/React__default['default'].createElement("div", {
|
110
|
+
className: "card"
|
111
|
+
}, /*#__PURE__*/React__default['default'].createElement("div", {
|
112
|
+
className: "card-body"
|
113
|
+
}, /*#__PURE__*/React__default['default'].createElement(intl.ResourceMessage, {
|
114
|
+
resource: resource,
|
115
|
+
values: value,
|
116
|
+
id: "resources.confirm_delete",
|
117
|
+
defaultMessage: "Are you sure you want to delete {the_singular} #{id}?",
|
118
|
+
description: "Confirmation message"
|
119
|
+
}), generalError ? /*#__PURE__*/React__default['default'].createElement("p", {
|
120
|
+
className: "text-danger"
|
121
|
+
}, /*#__PURE__*/React__default['default'].createElement(reactIntl.FormattedMessage, {
|
122
|
+
id: "y9zauY",
|
123
|
+
defaultMessage: [{
|
124
|
+
"type": 0,
|
125
|
+
"value": "An error occured and we could not delete this item successfully."
|
126
|
+
}]
|
127
|
+
})) : null), /*#__PURE__*/React__default['default'].createElement("div", {
|
128
|
+
className: "card-body d-flex"
|
129
|
+
}, previous !== null ? /*#__PURE__*/React__default['default'].createElement(Button__default['default'], {
|
130
|
+
href: previous,
|
131
|
+
className: "me-2",
|
132
|
+
theme: "secondary",
|
133
|
+
outline: true
|
134
|
+
}, /*#__PURE__*/React__default['default'].createElement(reactIntl.FormattedMessage, {
|
135
|
+
id: "PyxZY2",
|
136
|
+
defaultMessage: [{
|
137
|
+
"type": 0,
|
138
|
+
"value": "Cancel"
|
139
|
+
}]
|
140
|
+
})) : null, /*#__PURE__*/React__default['default'].createElement(Button__default['default'], {
|
141
|
+
type: "submit",
|
142
|
+
className: "ms-auto",
|
143
|
+
theme: "danger"
|
144
|
+
}, /*#__PURE__*/React__default['default'].createElement(reactIntl.FormattedMessage, {
|
145
|
+
id: "Bhu3B2",
|
146
|
+
defaultMessage: [{
|
147
|
+
"type": 0,
|
148
|
+
"value": "Delete"
|
149
|
+
}]
|
150
|
+
})))));
|
144
151
|
};
|
145
152
|
|
146
|
-
|
147
|
-
|
148
|
-
|
149
|
-
|
150
|
-
|
151
|
-
|
152
|
-
|
153
|
-
|
154
|
-
|
155
|
-
|
156
|
-
|
157
|
-
|
158
|
-
|
159
|
-
|
160
|
-
|
161
|
-
|
162
|
-
|
163
|
-
|
164
|
-
request: request,
|
165
|
-
loading: loading
|
166
|
-
};
|
153
|
+
DeleteForm.propTypes = propTypes$n;
|
154
|
+
DeleteForm.defaultProps = defaultProps$n;
|
155
|
+
|
156
|
+
var propTypes$m = {
|
157
|
+
component: PropTypes__default['default'].string,
|
158
|
+
resource: core.PropTypes.resource.isRequired,
|
159
|
+
item: PropTypes__default['default'].object,
|
160
|
+
// eslint-disable-line react/forbid-prop-types
|
161
|
+
type: PropTypes__default['default'].string,
|
162
|
+
onSuccess: PropTypes__default['default'].func,
|
163
|
+
isDelete: PropTypes__default['default'].bool
|
164
|
+
};
|
165
|
+
var defaultProps$m = {
|
166
|
+
component: null,
|
167
|
+
item: null,
|
168
|
+
type: null,
|
169
|
+
onSuccess: null,
|
170
|
+
isDelete: false
|
167
171
|
};
|
168
172
|
|
169
|
-
var
|
170
|
-
var
|
171
|
-
|
172
|
-
|
173
|
-
|
174
|
-
|
175
|
-
|
176
|
-
|
177
|
-
|
178
|
-
|
179
|
-
|
180
|
-
|
181
|
-
|
182
|
-
|
183
|
-
|
173
|
+
var ResourceForm = function ResourceForm(_ref) {
|
174
|
+
var component = _ref.component,
|
175
|
+
resource = _ref.resource,
|
176
|
+
onSuccess = _ref.onSuccess,
|
177
|
+
item = _ref.item,
|
178
|
+
type = _ref.type,
|
179
|
+
isDelete = _ref.isDelete,
|
180
|
+
props = _objectWithoutProperties__default['default'](_ref, ["component", "resource", "onSuccess", "item", "type", "isDelete"]);
|
181
|
+
|
182
|
+
var locales = contexts.useLocales();
|
183
|
+
var FormComponents = contexts.useFormsComponents();
|
184
|
+
var _resource$fields = resource.fields,
|
185
|
+
resourceFields = _resource$fields === void 0 ? [] : _resource$fields,
|
186
|
+
_resource$types = resource.types,
|
187
|
+
resourceTypes = _resource$types === void 0 ? [] : _resource$types,
|
188
|
+
forms = resource.forms;
|
189
|
+
var resourceType = type !== null ? resourceTypes.find(function (it) {
|
190
|
+
return it.id === type;
|
191
|
+
}) || null : null;
|
192
|
+
|
193
|
+
var _ref2 = resourceType || {},
|
194
|
+
_ref2$fields = _ref2.fields,
|
195
|
+
resourceTypeFields = _ref2$fields === void 0 ? null : _ref2$fields;
|
196
|
+
|
197
|
+
var isCreate = item === null || !item.id; // Pick fields from resource root or form
|
198
|
+
|
199
|
+
var _ref3 = forms || {},
|
200
|
+
_ref3$default = _ref3["default"],
|
201
|
+
defaultForm = _ref3$default === void 0 ? null : _ref3$default,
|
202
|
+
_ref3$create = _ref3.create,
|
203
|
+
createForm = _ref3$create === void 0 ? null : _ref3$create,
|
204
|
+
_ref3$edit = _ref3.edit,
|
205
|
+
editForm = _ref3$edit === void 0 ? null : _ref3$edit,
|
206
|
+
_ref3$delete = _ref3["delete"],
|
207
|
+
deleteForm = _ref3$delete === void 0 ? null : _ref3$delete;
|
208
|
+
|
209
|
+
var _ref4 = defaultForm || {},
|
210
|
+
_ref4$fields = _ref4.fields,
|
211
|
+
defaultFields = _ref4$fields === void 0 ? null : _ref4$fields,
|
212
|
+
defaultComponent = _ref4.component;
|
213
|
+
|
214
|
+
var createOrEditSource = isCreate ? createForm || {} : editForm || {};
|
215
|
+
|
216
|
+
var _ref5 = isDelete ? deleteForm || {} : createOrEditSource || {},
|
217
|
+
_ref5$fields = _ref5.fields,
|
218
|
+
formFields = _ref5$fields === void 0 ? null : _ref5$fields,
|
219
|
+
_ref5$component = _ref5.component,
|
220
|
+
formComponent = _ref5$component === void 0 ? null : _ref5$component;
|
221
|
+
|
222
|
+
var finalFields = React.useMemo(function () {
|
223
|
+
return (formFields || defaultFields || resourceTypeFields || resourceFields).filter(function (_ref6) {
|
224
|
+
var _ref6$settings = _ref6.settings;
|
225
|
+
_ref6$settings = _ref6$settings === void 0 ? {} : _ref6$settings;
|
226
|
+
var _ref6$settings$hidden = _ref6$settings.hiddenInForm,
|
227
|
+
hiddenInForm = _ref6$settings$hidden === void 0 ? false : _ref6$settings$hidden;
|
228
|
+
return !hiddenInForm;
|
184
229
|
});
|
185
|
-
}, [
|
186
|
-
return {
|
187
|
-
reset: reset,
|
188
|
-
loading: loading
|
189
|
-
};
|
190
|
-
};
|
230
|
+
}, [formFields, defaultFields, resourceTypeFields, resourceFields]); // Form routes
|
191
231
|
|
192
|
-
var
|
193
|
-
var useAuth = function useAuth() {
|
194
|
-
return React.useContext(AuthContext);
|
195
|
-
};
|
196
|
-
var useUser = function useUser() {
|
197
|
-
var _useAuth = useAuth(),
|
198
|
-
user = _useAuth.user;
|
232
|
+
var resourceRoute = hooks.useResourceUrlGenerator(resource);
|
199
233
|
|
200
|
-
|
201
|
-
|
202
|
-
var useLogout = function useLogout() {
|
203
|
-
var _useAuth3 = useAuth(),
|
204
|
-
logout = _useAuth3.logout;
|
234
|
+
var _useResourceStore = data.useResourceStore(resource),
|
235
|
+
store = _useResourceStore.store;
|
205
236
|
|
206
|
-
|
207
|
-
|
208
|
-
var propTypes$o = {
|
209
|
-
children: PropTypes__default['default'].node.isRequired,
|
210
|
-
user: core.PropTypes.user,
|
211
|
-
checkOnMount: PropTypes__default['default'].bool
|
212
|
-
};
|
213
|
-
var defaultProps$o = {
|
214
|
-
user: null,
|
215
|
-
checkOnMount: false
|
216
|
-
};
|
217
|
-
var AuthProvider = function AuthProvider(_ref) {
|
218
|
-
var initialUser = _ref.user,
|
219
|
-
checkOnMount = _ref.checkOnMount,
|
220
|
-
children = _ref.children;
|
237
|
+
var _useResourceUpdate = data.useResourceUpdate(resource, item != null ? item.id : null),
|
238
|
+
update = _useResourceUpdate.update;
|
221
239
|
|
222
|
-
var
|
223
|
-
|
224
|
-
user = _useState2[0],
|
225
|
-
setUser = _useState2[1];
|
240
|
+
var _useResourceDestroy = data.useResourceDestroy(resource, item != null ? item.id : null),
|
241
|
+
destroy = _useResourceDestroy.destroy; // Post actions
|
226
242
|
|
227
|
-
var _useAuthLogin = useAuthLogin(),
|
228
|
-
authLogin = _useAuthLogin.login;
|
229
243
|
|
230
|
-
var
|
231
|
-
|
244
|
+
var postAction = isCreate ? store : update;
|
245
|
+
var postForm = React.useCallback(function (action, data) {
|
246
|
+
return isDelete ? destroy() : postAction(data);
|
247
|
+
}, [postAction, isDelete, destroy, store, update]); // Form state
|
248
|
+
|
249
|
+
var getInitialValue = React.useCallback(function () {
|
250
|
+
return item !== null ? item : finalFields.reduce(function (defaultValues, _ref7) {
|
251
|
+
var name = _ref7.name,
|
252
|
+
_ref7$defaultValue = _ref7.defaultValue,
|
253
|
+
defaultValue = _ref7$defaultValue === void 0 ? null : _ref7$defaultValue;
|
254
|
+
return defaultValue !== null ? _objectSpread__default['default'](_objectSpread__default['default']({}, defaultValues), {}, _defineProperty__default['default']({}, name, defaultValue)) : defaultValues;
|
255
|
+
}, type !== null ? {
|
256
|
+
type: type
|
257
|
+
} : null);
|
258
|
+
}, [item, type, finalFields]);
|
232
259
|
|
233
|
-
var
|
234
|
-
|
260
|
+
var _useState = React.useState(getInitialValue()),
|
261
|
+
_useState2 = _slicedToArray__default['default'](_useState, 2),
|
262
|
+
value = _useState2[0],
|
263
|
+
setValueState = _useState2[1];
|
264
|
+
|
265
|
+
var setValue = React.useCallback(function (newValue) {
|
266
|
+
// console.log('new value in resource form', newValue); // eslint-disable-line
|
267
|
+
setValueState(newValue);
|
268
|
+
}, [setValueState]);
|
269
|
+
|
270
|
+
var _useForm = hooks.useForm({
|
271
|
+
fields: finalFields,
|
272
|
+
value: value,
|
273
|
+
postForm: postForm,
|
274
|
+
setValue: setValue,
|
275
|
+
onComplete: onSuccess,
|
276
|
+
locales: locales
|
277
|
+
}),
|
278
|
+
fields = _useForm.fields,
|
279
|
+
onSubmit = _useForm.onSubmit,
|
280
|
+
status = _useForm.status,
|
281
|
+
generalError = _useForm.generalError,
|
282
|
+
errors = _useForm.errors; // Form action
|
235
283
|
|
236
|
-
var _useAuthRegister = useAuthRegister(),
|
237
|
-
authRegister = _useAuthRegister.register;
|
238
284
|
|
239
|
-
var
|
240
|
-
|
285
|
+
var modifyAction = isCreate ? resourceRoute('store') : resourceRoute('update', {
|
286
|
+
id: item.id
|
287
|
+
});
|
288
|
+
var action = isDelete ? resourceRoute('destroy', {
|
289
|
+
id: item.id
|
290
|
+
}) : modifyAction;
|
291
|
+
var defaultFormName = isDelete ? component || formComponent || null : component || formComponent || defaultComponent || 'normal'; // Form component
|
241
292
|
|
242
|
-
var
|
243
|
-
authResetPassword = _useAuthResetPassword.reset;
|
293
|
+
var FormComponent = utils.getComponentFromName(defaultFormName, FormComponents, isDelete ? DeleteForm : component); // Lisen to item value change - this is important
|
244
294
|
|
245
|
-
var login = React.useCallback(function (email, password) {
|
246
|
-
return authLogin(email, password).then(function (newUser) {
|
247
|
-
setUser(newUser);
|
248
|
-
return newUser;
|
249
|
-
});
|
250
|
-
}, [authLogin, setUser]);
|
251
|
-
var logout = React.useCallback(function () {
|
252
|
-
return authLogout().then(function () {
|
253
|
-
setUser(null);
|
254
|
-
});
|
255
|
-
}, [authLogout, setUser]);
|
256
|
-
var register = React.useCallback(function (data) {
|
257
|
-
return authRegister(data).then(function (newUser) {
|
258
|
-
setUser(newUser);
|
259
|
-
return newUser;
|
260
|
-
});
|
261
|
-
}, [authRegister, setUser]);
|
262
|
-
var requestPassword = React.useCallback(function (email) {
|
263
|
-
return authRequestPassword(email);
|
264
|
-
}, [authRequestPassword]);
|
265
|
-
var resetPassword = React.useCallback(function (data) {
|
266
|
-
return authResetPassword(data);
|
267
|
-
}, [authResetPassword]);
|
268
295
|
React.useEffect(function () {
|
269
|
-
|
270
|
-
|
271
|
-
|
272
|
-
|
273
|
-
|
274
|
-
|
275
|
-
|
276
|
-
|
277
|
-
|
278
|
-
|
279
|
-
|
280
|
-
|
281
|
-
|
282
|
-
|
283
|
-
|
284
|
-
|
285
|
-
|
286
|
-
|
287
|
-
|
288
|
-
}
|
289
|
-
}, children);
|
296
|
+
// console.log('get initial value from the top'); // eslint-disable-line
|
297
|
+
setValue(getInitialValue());
|
298
|
+
}, [getInitialValue, setValue]);
|
299
|
+
return /*#__PURE__*/React__default['default'].createElement(contexts.FormProvider, {
|
300
|
+
value: value,
|
301
|
+
setValue: setValue
|
302
|
+
}, /*#__PURE__*/React__default['default'].createElement(FormComponent, Object.assign({}, props, {
|
303
|
+
status: status,
|
304
|
+
resource: resource,
|
305
|
+
item: item,
|
306
|
+
fields: fields,
|
307
|
+
generalError: generalError,
|
308
|
+
errors: errors,
|
309
|
+
action: action,
|
310
|
+
onSubmit: onSubmit,
|
311
|
+
isCreate: isCreate,
|
312
|
+
value: value,
|
313
|
+
onChange: setValue
|
314
|
+
})));
|
290
315
|
};
|
291
|
-
AuthProvider.propTypes = propTypes$o;
|
292
|
-
AuthProvider.defaultProps = defaultProps$o;
|
293
316
|
|
294
|
-
|
317
|
+
ResourceForm.propTypes = propTypes$m;
|
318
|
+
ResourceForm.defaultProps = defaultProps$m;
|
319
|
+
|
320
|
+
var propTypes$l = {
|
295
321
|
className: PropTypes__default['default'].string,
|
296
322
|
itemClassName: PropTypes__default['default'].string,
|
297
323
|
linkClassName: PropTypes__default['default'].string
|
298
324
|
};
|
299
|
-
var defaultProps$
|
325
|
+
var defaultProps$l = {
|
326
|
+
className: null,
|
327
|
+
itemClassName: null,
|
328
|
+
linkClassName: null
|
329
|
+
};
|
330
|
+
|
331
|
+
var AccountMenu = function AccountMenu(_ref) {
|
332
|
+
var className = _ref.className,
|
333
|
+
itemClassName = _ref.itemClassName,
|
334
|
+
linkClassName = _ref.linkClassName;
|
335
|
+
var route = contexts.useUrlGenerator();
|
336
|
+
var user = auth.useUser();
|
337
|
+
var logout = auth.useLogout();
|
338
|
+
var onClickLogout = React.useCallback(function (e) {
|
339
|
+
e.preventDefault();
|
340
|
+
logout();
|
341
|
+
}, [logout, route]);
|
342
|
+
var items = React.useMemo(function () {
|
343
|
+
return user !== null ? [{
|
344
|
+
id: 'account',
|
345
|
+
label: /*#__PURE__*/React__default['default'].createElement(reactIntl.FormattedMessage, {
|
346
|
+
id: "IuqEHB",
|
347
|
+
defaultMessage: [{
|
348
|
+
"type": 0,
|
349
|
+
"value": "Account"
|
350
|
+
}]
|
351
|
+
}),
|
352
|
+
href: route('panneau.account'),
|
353
|
+
dropdown: [// {
|
354
|
+
// label: (
|
355
|
+
// <FormattedMessage
|
356
|
+
// defaultMessage="Update account"
|
357
|
+
// description="Menu label"
|
358
|
+
// />
|
359
|
+
// ),
|
360
|
+
// href: route('panneau.account'),
|
361
|
+
// },
|
362
|
+
{
|
363
|
+
label: /*#__PURE__*/React__default['default'].createElement(reactIntl.FormattedMessage, {
|
364
|
+
id: "REIcPg",
|
365
|
+
defaultMessage: [{
|
366
|
+
"type": 0,
|
367
|
+
"value": "Logout"
|
368
|
+
}]
|
369
|
+
}),
|
370
|
+
href: route('auth.logout'),
|
371
|
+
onClick: onClickLogout
|
372
|
+
}]
|
373
|
+
}] : [{
|
374
|
+
label: /*#__PURE__*/React__default['default'].createElement(reactIntl.FormattedMessage, {
|
375
|
+
id: "d0g58T",
|
376
|
+
defaultMessage: [{
|
377
|
+
"type": 0,
|
378
|
+
"value": "Login"
|
379
|
+
}]
|
380
|
+
}),
|
381
|
+
href: route('login')
|
382
|
+
}];
|
383
|
+
}, [user, route, onClickLogout]);
|
384
|
+
return items !== null ? /*#__PURE__*/React__default['default'].createElement(Menu__default['default'], {
|
385
|
+
className: className,
|
386
|
+
itemClassName: itemClassName,
|
387
|
+
linkClassName: linkClassName,
|
388
|
+
items: items,
|
389
|
+
dropdownAlign: "end"
|
390
|
+
}) : null;
|
391
|
+
};
|
392
|
+
|
393
|
+
AccountMenu.propTypes = propTypes$l;
|
394
|
+
AccountMenu.defaultProps = defaultProps$l;
|
395
|
+
|
396
|
+
var propTypes$k = {
|
397
|
+
className: PropTypes__default['default'].string,
|
398
|
+
itemClassName: PropTypes__default['default'].string,
|
399
|
+
linkClassName: PropTypes__default['default'].string
|
400
|
+
};
|
401
|
+
var defaultProps$k = {
|
300
402
|
className: null,
|
301
403
|
itemClassName: null,
|
302
404
|
linkClassName: null
|
@@ -332,224 +434,17 @@ var ResourcesMenu = function ResourcesMenu(_ref) {
|
|
332
434
|
return /*#__PURE__*/React__default['default'].createElement(Menu__default['default'], {
|
333
435
|
items: items,
|
334
436
|
className: className,
|
335
|
-
itemClassName: itemClassName,
|
336
|
-
linkClassName: linkClassName
|
337
|
-
});
|
338
|
-
};
|
339
|
-
|
340
|
-
ResourcesMenu.propTypes = propTypes$n;
|
341
|
-
ResourcesMenu.defaultProps = defaultProps$n;
|
342
|
-
|
343
|
-
var messages$1 = reactIntl.defineMessages({
|
344
|
-
// Resources
|
345
|
-
index: {
|
346
|
-
"id": "resources.index",
|
347
|
-
"defaultMessage": [{
|
348
|
-
"type": 0,
|
349
|
-
"value": "View "
|
350
|
-
}, {
|
351
|
-
"type": 1,
|
352
|
-
"value": "a_plural"
|
353
|
-
}]
|
354
|
-
},
|
355
|
-
create: {
|
356
|
-
"id": "resources.create",
|
357
|
-
"defaultMessage": [{
|
358
|
-
"type": 0,
|
359
|
-
"value": "Create "
|
360
|
-
}, {
|
361
|
-
"type": 1,
|
362
|
-
"value": "a_singular"
|
363
|
-
}]
|
364
|
-
},
|
365
|
-
edit: {
|
366
|
-
"id": "resources.edit",
|
367
|
-
"defaultMessage": [{
|
368
|
-
"type": 0,
|
369
|
-
"value": "Edit "
|
370
|
-
}, {
|
371
|
-
"type": 1,
|
372
|
-
"value": "a_singular"
|
373
|
-
}]
|
374
|
-
},
|
375
|
-
"delete": {
|
376
|
-
"id": "resources.delete",
|
377
|
-
"defaultMessage": [{
|
378
|
-
"type": 0,
|
379
|
-
"value": "Delete "
|
380
|
-
}, {
|
381
|
-
"type": 1,
|
382
|
-
"value": "a_singular"
|
383
|
-
}]
|
384
|
-
},
|
385
|
-
created: {
|
386
|
-
"id": "resources.created",
|
387
|
-
"defaultMessage": [{
|
388
|
-
"type": 1,
|
389
|
-
"value": "the_singular"
|
390
|
-
}, {
|
391
|
-
"type": 0,
|
392
|
-
"value": " has been created."
|
393
|
-
}]
|
394
|
-
},
|
395
|
-
deleted: {
|
396
|
-
"id": "resources.deleted",
|
397
|
-
"defaultMessage": [{
|
398
|
-
"type": 1,
|
399
|
-
"value": "the_singular"
|
400
|
-
}, {
|
401
|
-
"type": 0,
|
402
|
-
"value": " has been deleted."
|
403
|
-
}]
|
404
|
-
},
|
405
|
-
loading: {
|
406
|
-
"id": "resources.loading",
|
407
|
-
"defaultMessage": [{
|
408
|
-
"type": 0,
|
409
|
-
"value": "Loading "
|
410
|
-
}, {
|
411
|
-
"type": 1,
|
412
|
-
"value": "plural"
|
413
|
-
}, {
|
414
|
-
"type": 0,
|
415
|
-
"value": "..."
|
416
|
-
}]
|
417
|
-
},
|
418
|
-
// Forms
|
419
|
-
confirm_delete: {
|
420
|
-
"id": "form.confirm_delete",
|
421
|
-
"defaultMessage": [{
|
422
|
-
"type": 0,
|
423
|
-
"value": "Are you sure you want to delete item #"
|
424
|
-
}, {
|
425
|
-
"type": 1,
|
426
|
-
"value": "id"
|
427
|
-
}, {
|
428
|
-
"type": 0,
|
429
|
-
"value": "?"
|
430
|
-
}]
|
431
|
-
},
|
432
|
-
show_button: {
|
433
|
-
"id": "form.show_button",
|
434
|
-
"defaultMessage": [{
|
435
|
-
"type": 0,
|
436
|
-
"value": "Cancel"
|
437
|
-
}]
|
438
|
-
},
|
439
|
-
edit_button: {
|
440
|
-
"id": "form.edit_button",
|
441
|
-
"defaultMessage": [{
|
442
|
-
"type": 0,
|
443
|
-
"value": "Edit"
|
444
|
-
}]
|
445
|
-
},
|
446
|
-
cancel_button: {
|
447
|
-
"id": "form.cancel_button",
|
448
|
-
"defaultMessage": [{
|
449
|
-
"type": 0,
|
450
|
-
"value": "Cancel"
|
451
|
-
}]
|
452
|
-
},
|
453
|
-
delete_button: {
|
454
|
-
"id": "form.delete_button",
|
455
|
-
"defaultMessage": [{
|
456
|
-
"type": 0,
|
457
|
-
"value": "Delete"
|
458
|
-
}]
|
459
|
-
},
|
460
|
-
// Auth
|
461
|
-
login_title: {
|
462
|
-
"id": "auth.login.title",
|
463
|
-
"defaultMessage": [{
|
464
|
-
"type": 0,
|
465
|
-
"value": "Login"
|
466
|
-
}]
|
467
|
-
},
|
468
|
-
login: {
|
469
|
-
"id": "auth.login",
|
470
|
-
"defaultMessage": [{
|
471
|
-
"type": 0,
|
472
|
-
"value": "Login"
|
473
|
-
}]
|
474
|
-
},
|
475
|
-
logout: {
|
476
|
-
"id": "auth.logout",
|
477
|
-
"defaultMessage": [{
|
478
|
-
"type": 0,
|
479
|
-
"value": "Logout"
|
480
|
-
}]
|
481
|
-
},
|
482
|
-
account: {
|
483
|
-
"id": "auth.account",
|
484
|
-
"defaultMessage": [{
|
485
|
-
"type": 0,
|
486
|
-
"value": "Account"
|
487
|
-
}]
|
488
|
-
},
|
489
|
-
updateAccount: {
|
490
|
-
"id": "auth.update_account",
|
491
|
-
"defaultMessage": [{
|
492
|
-
"type": 0,
|
493
|
-
"value": "Update account"
|
494
|
-
}]
|
495
|
-
}
|
496
|
-
});
|
497
|
-
|
498
|
-
var propTypes$m = {
|
499
|
-
className: PropTypes__default['default'].string,
|
500
|
-
itemClassName: PropTypes__default['default'].string,
|
501
|
-
linkClassName: PropTypes__default['default'].string
|
502
|
-
};
|
503
|
-
var defaultProps$m = {
|
504
|
-
className: null,
|
505
|
-
itemClassName: null,
|
506
|
-
linkClassName: null
|
507
|
-
};
|
508
|
-
|
509
|
-
var AccountMenu = function AccountMenu(_ref) {
|
510
|
-
var className = _ref.className,
|
511
|
-
itemClassName = _ref.itemClassName,
|
512
|
-
linkClassName = _ref.linkClassName;
|
513
|
-
var route = contexts.useUrlGenerator();
|
514
|
-
var user = useUser();
|
515
|
-
var logout = useLogout();
|
516
|
-
var onClickLogout = React.useCallback(function (e) {
|
517
|
-
e.preventDefault();
|
518
|
-
logout();
|
519
|
-
}, [logout]);
|
520
|
-
var items = React.useMemo(function () {
|
521
|
-
return user !== null ? [{
|
522
|
-
id: 'account',
|
523
|
-
label: messages$1.account,
|
524
|
-
href: route('auth.account'),
|
525
|
-
dropdown: [{
|
526
|
-
label: messages$1.updateAccount,
|
527
|
-
href: route('auth.account')
|
528
|
-
}, {
|
529
|
-
label: messages$1.logout,
|
530
|
-
href: route('auth.logout'),
|
531
|
-
onClick: onClickLogout
|
532
|
-
}]
|
533
|
-
}] : [{
|
534
|
-
label: messages$1.login,
|
535
|
-
href: route('login')
|
536
|
-
}];
|
537
|
-
}, [user, route, onClickLogout]);
|
538
|
-
return items !== null ? /*#__PURE__*/React__default['default'].createElement(Menu__default['default'], {
|
539
|
-
className: className,
|
540
|
-
itemClassName: itemClassName,
|
541
|
-
linkClassName: linkClassName,
|
542
|
-
items: items,
|
543
|
-
dropdownAlign: "end"
|
544
|
-
}) : null;
|
437
|
+
itemClassName: itemClassName,
|
438
|
+
linkClassName: linkClassName
|
439
|
+
});
|
545
440
|
};
|
546
441
|
|
547
|
-
|
548
|
-
|
442
|
+
ResourcesMenu.propTypes = propTypes$k;
|
443
|
+
ResourcesMenu.defaultProps = defaultProps$k;
|
549
444
|
|
550
445
|
/* eslint-disable react/jsx-props-no-spreading */
|
551
|
-
var propTypes$
|
552
|
-
var defaultProps$
|
446
|
+
var propTypes$j = {};
|
447
|
+
var defaultProps$j = {};
|
553
448
|
|
554
449
|
var MainNavbar = function MainNavbar(props) {
|
555
450
|
var _usePanneau = contexts.usePanneau(),
|
@@ -559,7 +454,7 @@ var MainNavbar = function MainNavbar(props) {
|
|
559
454
|
background = _usePanneauColorSchem.background;
|
560
455
|
|
561
456
|
var route = contexts.useUrlGenerator();
|
562
|
-
var user = useUser();
|
457
|
+
var user = auth.useUser();
|
563
458
|
return /*#__PURE__*/React__default['default'].createElement(Navbar__default['default'], Object.assign({
|
564
459
|
theme: background
|
565
460
|
}, props), name !== null ? /*#__PURE__*/React__default['default'].createElement(reactRouterDom.Link, {
|
@@ -576,19 +471,19 @@ var MainNavbar = function MainNavbar(props) {
|
|
576
471
|
}));
|
577
472
|
};
|
578
473
|
|
579
|
-
MainNavbar.propTypes = propTypes$
|
580
|
-
MainNavbar.defaultProps = defaultProps$
|
474
|
+
MainNavbar.propTypes = propTypes$j;
|
475
|
+
MainNavbar.defaultProps = defaultProps$j;
|
581
476
|
|
582
|
-
var propTypes$
|
477
|
+
var propTypes$i = {
|
583
478
|
children: PropTypes__default['default'].node.isRequired,
|
584
479
|
fullscreen: PropTypes__default['default'].bool
|
585
480
|
};
|
586
|
-
var defaultProps$
|
481
|
+
var defaultProps$i = {
|
587
482
|
fullscreen: false
|
588
483
|
};
|
589
484
|
|
590
485
|
var MainLayout = function MainLayout(_ref) {
|
591
|
-
var
|
486
|
+
var _ref2;
|
592
487
|
|
593
488
|
var children = _ref.children,
|
594
489
|
fullscreen = _ref.fullscreen;
|
@@ -598,29 +493,27 @@ var MainLayout = function MainLayout(_ref) {
|
|
598
493
|
text = _usePanneauColorSchem.text;
|
599
494
|
|
600
495
|
return /*#__PURE__*/React__default['default'].createElement("div", {
|
601
|
-
className: classNames__default['default'](
|
602
|
-
'd-flex flex-column min-vh-100': fullscreen
|
603
|
-
})
|
496
|
+
className: classNames__default['default'](['d-flex', 'flex-column', 'min-vh-100'])
|
604
497
|
}, /*#__PURE__*/React__default['default'].createElement(MainNavbar, {
|
605
498
|
className: classNames__default['default'](['border-bottom', 'sticky-top', 'px-3'])
|
606
499
|
}), /*#__PURE__*/React__default['default'].createElement("div", {
|
607
|
-
className: classNames__default['default']((
|
608
|
-
'd-flex flex-column
|
609
|
-
}, _defineProperty__default['default'](
|
500
|
+
className: classNames__default['default'](['flex-grow-1', (_ref2 = {
|
501
|
+
'd-flex flex-column': fullscreen
|
502
|
+
}, _defineProperty__default['default'](_ref2, "bg-".concat(background), background !== null), _defineProperty__default['default'](_ref2, "text-".concat(text), text !== null), _ref2)])
|
610
503
|
}, children));
|
611
504
|
};
|
612
505
|
|
613
|
-
MainLayout.propTypes = propTypes$
|
614
|
-
MainLayout.defaultProps = defaultProps$
|
506
|
+
MainLayout.propTypes = propTypes$i;
|
507
|
+
MainLayout.defaultProps = defaultProps$i;
|
615
508
|
|
616
|
-
var propTypes$
|
509
|
+
var propTypes$h = {
|
617
510
|
title: core.PropTypes.label,
|
618
511
|
actions: PropTypes__default['default'].node,
|
619
512
|
small: PropTypes__default['default'].bool,
|
620
513
|
className: PropTypes__default['default'].string,
|
621
514
|
children: PropTypes__default['default'].node
|
622
515
|
};
|
623
|
-
var defaultProps$
|
516
|
+
var defaultProps$h = {
|
624
517
|
title: null,
|
625
518
|
actions: null,
|
626
519
|
small: false,
|
@@ -637,14 +530,13 @@ var PageHeader = function PageHeader(_ref) {
|
|
637
530
|
className = _ref.className,
|
638
531
|
children = _ref.children;
|
639
532
|
|
640
|
-
|
641
|
-
|
642
|
-
|
533
|
+
// TODO: fix page header components
|
534
|
+
// const { components } = usePanneau();
|
643
535
|
var _usePanneauColorSchem = contexts.usePanneauColorScheme(),
|
644
536
|
text = _usePanneauColorSchem.text,
|
645
|
-
background = _usePanneauColorSchem.background;
|
537
|
+
background = _usePanneauColorSchem.background; // console.log('page-header', components); // eslint-disable-line
|
538
|
+
|
646
539
|
|
647
|
-
console.log(components);
|
648
540
|
var inner = /*#__PURE__*/React__default['default'].createElement("div", {
|
649
541
|
className: "d-flex align-items-center flex-wrap"
|
650
542
|
}, title !== null ? /*#__PURE__*/React__default['default'].createElement("h1", {
|
@@ -663,172 +555,8 @@ var PageHeader = function PageHeader(_ref) {
|
|
663
555
|
}, inner)) : inner), children);
|
664
556
|
};
|
665
557
|
|
666
|
-
PageHeader.propTypes = propTypes$
|
667
|
-
PageHeader.defaultProps = defaultProps$
|
668
|
-
|
669
|
-
var propTypes$i = {
|
670
|
-
resource: core.PropTypes.resource.isRequired,
|
671
|
-
values: PropTypes__default['default'].object,
|
672
|
-
// eslint-disable-line react/forbid-prop-types,
|
673
|
-
message: core.PropTypes.message.isRequired
|
674
|
-
};
|
675
|
-
var defaultProps$i = {
|
676
|
-
values: null
|
677
|
-
};
|
678
|
-
|
679
|
-
var ResourceLabel = function ResourceLabel(_ref) {
|
680
|
-
var resource = _ref.resource,
|
681
|
-
values = _ref.values,
|
682
|
-
message = _ref.message;
|
683
|
-
var _resource$label = resource.label,
|
684
|
-
label = _resource$label === void 0 ? null : _resource$label,
|
685
|
-
_resource$intl = resource.intl,
|
686
|
-
intl = _resource$intl === void 0 ? null : _resource$intl,
|
687
|
-
_resource$localizatio = resource.localization,
|
688
|
-
localization = _resource$localizatio === void 0 ? null : _resource$localizatio;
|
689
|
-
|
690
|
-
var _ref2 = intl || localization || {},
|
691
|
-
resourceValues = _ref2.values;
|
692
|
-
|
693
|
-
return /*#__PURE__*/React__default['default'].createElement(reactIntl.FormattedMessage, Object.assign({
|
694
|
-
values: _objectSpread__default['default'](_objectSpread__default['default']({
|
695
|
-
label: label
|
696
|
-
}, resourceValues), values)
|
697
|
-
}, message));
|
698
|
-
};
|
699
|
-
|
700
|
-
ResourceLabel.propTypes = propTypes$i;
|
701
|
-
ResourceLabel.defaultProps = defaultProps$i;
|
702
|
-
|
703
|
-
var propTypes$h = {
|
704
|
-
component: PropTypes__default['default'].string,
|
705
|
-
resource: core.PropTypes.resource.isRequired,
|
706
|
-
messages: PropTypes__default['default'].object,
|
707
|
-
// eslint-disable-line react/forbid-prop-types
|
708
|
-
item: PropTypes__default['default'].object,
|
709
|
-
// eslint-disable-line react/forbid-prop-types
|
710
|
-
onSuccess: PropTypes__default['default'].func,
|
711
|
-
isDelete: PropTypes__default['default'].bool
|
712
|
-
};
|
713
|
-
var defaultProps$h = {
|
714
|
-
component: null,
|
715
|
-
item: null,
|
716
|
-
messages: null,
|
717
|
-
onSuccess: null,
|
718
|
-
isDelete: false
|
719
|
-
};
|
720
|
-
|
721
|
-
var ResourceForm = function ResourceForm(_ref) {
|
722
|
-
var component = _ref.component,
|
723
|
-
resource = _ref.resource,
|
724
|
-
messages = _ref.messages,
|
725
|
-
onSuccess = _ref.onSuccess,
|
726
|
-
item = _ref.item,
|
727
|
-
isDelete = _ref.isDelete,
|
728
|
-
props = _objectWithoutProperties__default['default'](_ref, ["component", "resource", "messages", "onSuccess", "item", "isDelete"]);
|
729
|
-
|
730
|
-
var FormComponents = contexts.useFormsComponents();
|
731
|
-
|
732
|
-
var _ref2 = resource || {},
|
733
|
-
baseFields = _ref2.fields,
|
734
|
-
_ref2$forms = _ref2.forms,
|
735
|
-
forms = _ref2$forms === void 0 ? {} : _ref2$forms;
|
736
|
-
|
737
|
-
var isCreate = item === null || !item.id; // Pick fields from resource root or form
|
738
|
-
|
739
|
-
var _ref3 = forms || {},
|
740
|
-
_ref3$default = _ref3["default"],
|
741
|
-
defaultForm = _ref3$default === void 0 ? null : _ref3$default,
|
742
|
-
_ref3$create = _ref3.create,
|
743
|
-
createForm = _ref3$create === void 0 ? null : _ref3$create,
|
744
|
-
_ref3$edit = _ref3.edit,
|
745
|
-
editForm = _ref3$edit === void 0 ? null : _ref3$edit;
|
746
|
-
|
747
|
-
var _ref4 = defaultForm || {},
|
748
|
-
defaultFields = _ref4.fields,
|
749
|
-
defaultComponent = _ref4.component;
|
750
|
-
|
751
|
-
var _ref5 = isCreate ? createForm || {} : editForm || {},
|
752
|
-
_ref5$fields = _ref5.fields,
|
753
|
-
formFields = _ref5$fields === void 0 ? null : _ref5$fields,
|
754
|
-
_ref5$component = _ref5.component,
|
755
|
-
formComponent = _ref5$component === void 0 ? null : _ref5$component;
|
756
|
-
|
757
|
-
var resourceFields = formFields || defaultFields || baseFields; // Form routes
|
758
|
-
|
759
|
-
var resourceRoute = hooks.useResourceUrlGenerator(resource);
|
760
|
-
|
761
|
-
var _useResourceStore = data.useResourceStore(resource),
|
762
|
-
store = _useResourceStore.store;
|
763
|
-
|
764
|
-
var _useResourceUpdate = data.useResourceUpdate(resource, item != null ? item.id : null),
|
765
|
-
update = _useResourceUpdate.update;
|
766
|
-
|
767
|
-
var postForm = React.useCallback(function (action, data) {
|
768
|
-
return isCreate ? store(data) : update(data);
|
769
|
-
}, [isCreate, store, update]); // Form state
|
770
|
-
|
771
|
-
var getInitialValue = React.useCallback(function () {
|
772
|
-
return item !== null ? item : resourceFields.reduce(function (defaultValues, _ref6) {
|
773
|
-
var name = _ref6.name,
|
774
|
-
_ref6$default_value = _ref6.default_value,
|
775
|
-
defaultValue = _ref6$default_value === void 0 ? null : _ref6$default_value;
|
776
|
-
return defaultValue !== null ? _objectSpread__default['default'](_objectSpread__default['default']({}, defaultValues), {}, _defineProperty__default['default']({}, name, defaultValue)) : defaultValues;
|
777
|
-
}, null);
|
778
|
-
}, [item, resourceFields]);
|
779
|
-
|
780
|
-
var _useState = React.useState(getInitialValue()),
|
781
|
-
_useState2 = _slicedToArray__default['default'](_useState, 2),
|
782
|
-
value = _useState2[0],
|
783
|
-
setValue = _useState2[1];
|
784
|
-
|
785
|
-
var _useForm = hooks.useForm({
|
786
|
-
fields: resourceFields,
|
787
|
-
value: value,
|
788
|
-
postForm: postForm,
|
789
|
-
setValue: setValue,
|
790
|
-
onComplete: onSuccess
|
791
|
-
}),
|
792
|
-
fields = _useForm.fields,
|
793
|
-
onSubmit = _useForm.onSubmit,
|
794
|
-
status = _useForm.status,
|
795
|
-
generalError = _useForm.generalError,
|
796
|
-
errors = _useForm.errors; // Form action
|
797
|
-
|
798
|
-
|
799
|
-
var modifyAction = isCreate ? resourceRoute('store') : resourceRoute('update', {
|
800
|
-
id: item.id
|
801
|
-
});
|
802
|
-
var action = isDelete ? resourceRoute('destroy', {
|
803
|
-
id: item.id
|
804
|
-
}) : modifyAction; // Form component
|
805
|
-
|
806
|
-
var FormComponent = utils.getComponentFromName(component || formComponent || defaultComponent || 'normal', FormComponents, component); // Lisen to item value change
|
807
|
-
|
808
|
-
React.useEffect(function () {
|
809
|
-
setValue(getInitialValue());
|
810
|
-
}, [getInitialValue, setValue]);
|
811
|
-
return /*#__PURE__*/React__default['default'].createElement(contexts.FormProvider, {
|
812
|
-
value: value,
|
813
|
-
setValue: setValue
|
814
|
-
}, /*#__PURE__*/React__default['default'].createElement(FormComponent, Object.assign({}, props, {
|
815
|
-
status: status,
|
816
|
-
resource: resource,
|
817
|
-
item: item,
|
818
|
-
fields: fields,
|
819
|
-
generalError: generalError,
|
820
|
-
errors: errors,
|
821
|
-
action: action,
|
822
|
-
onSubmit: onSubmit,
|
823
|
-
isCreate: isCreate,
|
824
|
-
value: value,
|
825
|
-
messages: messages,
|
826
|
-
onChange: setValue
|
827
|
-
})));
|
828
|
-
};
|
829
|
-
|
830
|
-
ResourceForm.propTypes = propTypes$h;
|
831
|
-
ResourceForm.defaultProps = defaultProps$h;
|
558
|
+
PageHeader.propTypes = propTypes$h;
|
559
|
+
PageHeader.defaultProps = defaultProps$h;
|
832
560
|
|
833
561
|
var propTypes$g = {
|
834
562
|
resource: core.PropTypes.resource.isRequired
|
@@ -838,16 +566,29 @@ var defaultProps$g = {};
|
|
838
566
|
var ResourceCreatePage = function ResourceCreatePage(_ref) {
|
839
567
|
var resource = _ref.resource;
|
840
568
|
var history = reactRouter.useHistory();
|
569
|
+
|
570
|
+
var _useLocation = reactRouter.useLocation(),
|
571
|
+
search = _useLocation.search;
|
572
|
+
|
841
573
|
var resourceRoute = hooks.useResourceUrlGenerator(resource);
|
842
574
|
var onSuccess = React.useCallback(function () {
|
843
575
|
history.push("".concat(resourceRoute('index'), "?created=true"));
|
844
576
|
}, [history, resourceRoute]);
|
577
|
+
|
578
|
+
var _useMemo = React.useMemo(function () {
|
579
|
+
return queryString.parse(search);
|
580
|
+
}, [search]),
|
581
|
+
_useMemo$type = _useMemo.type,
|
582
|
+
type = _useMemo$type === void 0 ? null : _useMemo$type;
|
583
|
+
|
845
584
|
return /*#__PURE__*/React__default['default'].createElement(contexts.ResourceProvider, {
|
846
585
|
resource: resource
|
847
586
|
}, /*#__PURE__*/React__default['default'].createElement(MainLayout, null, /*#__PURE__*/React__default['default'].createElement(PageHeader, {
|
848
|
-
title: /*#__PURE__*/React__default['default'].createElement(
|
587
|
+
title: /*#__PURE__*/React__default['default'].createElement(intl.ResourceMessage, {
|
849
588
|
resource: resource,
|
850
|
-
|
589
|
+
id: "resources.create",
|
590
|
+
defaultMessage: "Create {a_singular}",
|
591
|
+
description: "Page title"
|
851
592
|
}),
|
852
593
|
small: true
|
853
594
|
}), /*#__PURE__*/React__default['default'].createElement("div", {
|
@@ -858,7 +599,7 @@ var ResourceCreatePage = function ResourceCreatePage(_ref) {
|
|
858
599
|
className: "col-12 col-md-8 col-lg-7"
|
859
600
|
}, /*#__PURE__*/React__default['default'].createElement(ResourceForm, {
|
860
601
|
resource: resource,
|
861
|
-
|
602
|
+
type: type,
|
862
603
|
onSuccess: onSuccess
|
863
604
|
}))))));
|
864
605
|
};
|
@@ -885,18 +626,20 @@ var ResourceDeletePage = function ResourceDeletePage(_ref) {
|
|
885
626
|
return history.push("".concat(resourceRoute('index'), "?deleted=true"));
|
886
627
|
}, [history, resourceRoute]); // Navigate back
|
887
628
|
|
888
|
-
var _ref2 = history ||
|
889
|
-
entries = _ref2.entries,
|
890
|
-
|
629
|
+
var _ref2 = history || {},
|
630
|
+
_ref2$entries = _ref2.entries,
|
631
|
+
entries = _ref2$entries === void 0 ? [] : _ref2$entries;
|
891
632
|
|
892
|
-
var previousEntry = length > 1 ? entries[length - 2] : null;
|
633
|
+
var previousEntry = entries !== null && entries.length > 1 ? entries[entries.length - 2] : null;
|
893
634
|
var previous = (previousEntry === null || previousEntry === void 0 ? void 0 : previousEntry.pathname) || null;
|
894
635
|
return /*#__PURE__*/React__default['default'].createElement(contexts.ResourceProvider, {
|
895
636
|
resource: resource
|
896
637
|
}, /*#__PURE__*/React__default['default'].createElement(MainLayout, null, /*#__PURE__*/React__default['default'].createElement(PageHeader, {
|
897
|
-
title: /*#__PURE__*/React__default['default'].createElement(
|
638
|
+
title: /*#__PURE__*/React__default['default'].createElement(intl.ResourceMessage, {
|
898
639
|
resource: resource,
|
899
|
-
|
640
|
+
id: "resources.delete",
|
641
|
+
defaultMessage: "Delete {a_singular}",
|
642
|
+
description: "Page title"
|
900
643
|
}),
|
901
644
|
small: true
|
902
645
|
}), /*#__PURE__*/React__default['default'].createElement("div", {
|
@@ -906,9 +649,8 @@ var ResourceDeletePage = function ResourceDeletePage(_ref) {
|
|
906
649
|
}, /*#__PURE__*/React__default['default'].createElement("div", {
|
907
650
|
className: "col-12 col-md-8 col-lg-7"
|
908
651
|
}, item !== null ? /*#__PURE__*/React__default['default'].createElement(ResourceForm, {
|
909
|
-
component: "
|
652
|
+
component: "",
|
910
653
|
resource: resource,
|
911
|
-
messages: messages$1,
|
912
654
|
item: item,
|
913
655
|
onSuccess: onSuccess,
|
914
656
|
previous: previous,
|
@@ -929,11 +671,13 @@ var ResourceEditPage = function ResourceEditPage(_ref) {
|
|
929
671
|
var resource = _ref.resource,
|
930
672
|
itemId = _ref.itemId;
|
931
673
|
|
932
|
-
// console.log(itemId);
|
933
|
-
// const resourceRoute = useResourceUrlGenerator(resource);
|
934
674
|
var _useResourceItem = data.useResourceItem(resource, itemId),
|
935
675
|
item = _useResourceItem.item;
|
936
676
|
|
677
|
+
var _ref2 = item || {},
|
678
|
+
_ref2$type = _ref2.type,
|
679
|
+
type = _ref2$type === void 0 ? null : _ref2$type;
|
680
|
+
|
937
681
|
var _useState = React.useState(item),
|
938
682
|
_useState2 = _slicedToArray__default['default'](_useState, 2),
|
939
683
|
editItem = _useState2[0],
|
@@ -948,9 +692,11 @@ var ResourceEditPage = function ResourceEditPage(_ref) {
|
|
948
692
|
return /*#__PURE__*/React__default['default'].createElement(contexts.ResourceProvider, {
|
949
693
|
resource: resource
|
950
694
|
}, /*#__PURE__*/React__default['default'].createElement(MainLayout, null, /*#__PURE__*/React__default['default'].createElement(PageHeader, {
|
951
|
-
title: /*#__PURE__*/React__default['default'].createElement(
|
695
|
+
title: /*#__PURE__*/React__default['default'].createElement(intl.ResourceMessage, {
|
952
696
|
resource: resource,
|
953
|
-
|
697
|
+
id: "resources.edit",
|
698
|
+
defaultMessage: "Edit {a_singular}",
|
699
|
+
description: "Page title"
|
954
700
|
}),
|
955
701
|
small: true
|
956
702
|
}), /*#__PURE__*/React__default['default'].createElement("div", {
|
@@ -961,8 +707,8 @@ var ResourceEditPage = function ResourceEditPage(_ref) {
|
|
961
707
|
className: "col-12 col-md-8 col-lg-7"
|
962
708
|
}, editItem !== null ? /*#__PURE__*/React__default['default'].createElement(ResourceForm, {
|
963
709
|
resource: resource,
|
964
|
-
messages: messages$1,
|
965
710
|
item: editItem,
|
711
|
+
type: type,
|
966
712
|
onSuccess: onSuccess
|
967
713
|
}) : null)))));
|
968
714
|
};
|
@@ -994,30 +740,34 @@ var ResourceCreateButtom = function ResourceCreateButtom(_ref) {
|
|
994
740
|
e.preventDefault();
|
995
741
|
setDropdownOpened(!dropdownOpened);
|
996
742
|
}, [dropdownOpened, setDropdownOpened]);
|
743
|
+
var finalTypes = types !== null ? types.filter(function (_ref2) {
|
744
|
+
var _ref2$settings = _ref2.settings;
|
745
|
+
_ref2$settings = _ref2$settings === void 0 ? {} : _ref2$settings;
|
746
|
+
var _ref2$settings$canCre = _ref2$settings.canCreate,
|
747
|
+
canCreate = _ref2$settings$canCre === void 0 ? true : _ref2$settings$canCre;
|
748
|
+
return canCreate;
|
749
|
+
}) : null;
|
750
|
+
var hasMultipleTypes = finalTypes !== null && finalTypes.length > 1;
|
997
751
|
var button = /*#__PURE__*/React__default['default'].createElement(Button__default['default'], {
|
998
|
-
href:
|
752
|
+
href: !hasMultipleTypes ? "".concat(resourceRoute('create')).concat(finalTypes !== null && finalTypes.length === 1 ? "?type=".concat(finalTypes[0].id) : '') : '#',
|
999
753
|
size: "lg",
|
1000
754
|
theme: "primary",
|
1001
755
|
className: classNames__default['default']([_defineProperty__default['default']({
|
1002
|
-
'dropdown-toggle':
|
756
|
+
'dropdown-toggle': hasMultipleTypes
|
1003
757
|
}, className, className !== null)]),
|
1004
|
-
onClick:
|
1005
|
-
}, /*#__PURE__*/React__default['default'].createElement(
|
758
|
+
onClick: hasMultipleTypes ? onClickDropdown : null
|
759
|
+
}, /*#__PURE__*/React__default['default'].createElement(intl.ResourceMessage, {
|
1006
760
|
resource: resource,
|
1007
|
-
|
761
|
+
id: "resources.create_btn",
|
762
|
+
defaultMessage: "Create {a_singular}",
|
763
|
+
description: "Button label"
|
1008
764
|
}));
|
1009
|
-
return
|
765
|
+
return hasMultipleTypes ? /*#__PURE__*/React__default['default'].createElement("div", {
|
1010
766
|
className: classNames__default['default'](['dropdown', {
|
1011
767
|
show: dropdownOpened
|
1012
768
|
}])
|
1013
769
|
}, button, /*#__PURE__*/React__default['default'].createElement(Dropdown__default['default'], {
|
1014
|
-
items:
|
1015
|
-
var _ref3$meta = _ref3.meta;
|
1016
|
-
_ref3$meta = _ref3$meta === void 0 ? {} : _ref3$meta;
|
1017
|
-
var _ref3$meta$can_create = _ref3$meta.can_create,
|
1018
|
-
canCreate = _ref3$meta$can_create === void 0 ? true : _ref3$meta$can_create;
|
1019
|
-
return canCreate;
|
1020
|
-
}).map(function (it) {
|
770
|
+
items: finalTypes.map(function (it) {
|
1021
771
|
return {
|
1022
772
|
id: it.id,
|
1023
773
|
label: it.name,
|
@@ -1032,18 +782,15 @@ var ResourceCreateButtom = function ResourceCreateButtom(_ref) {
|
|
1032
782
|
ResourceCreateButtom.propTypes = propTypes$d;
|
1033
783
|
ResourceCreateButtom.defaultProps = defaultProps$d;
|
1034
784
|
|
1035
|
-
var getValueWithout = function getValueWithout(value, withoutKey) {
|
1036
|
-
return value !== null ? _objectSpread__default['default']({}, Object.keys(value).reduce(function (newValueMap, key) {
|
1037
|
-
return key !== withoutKey ? _objectSpread__default['default'](_objectSpread__default['default']({}, newValueMap), {}, _defineProperty__default['default']({}, key, value[key])) : newValueMap;
|
1038
|
-
}, {})) : null;
|
1039
|
-
};
|
1040
|
-
|
1041
785
|
var propTypes$c = {
|
1042
|
-
filters: PropTypes__default['default'].arrayOf(PropTypes__default['default'].
|
786
|
+
filters: PropTypes__default['default'].arrayOf(PropTypes__default['default'].shape({
|
787
|
+
id: PropTypes__default['default'].string.isRequired,
|
788
|
+
component: PropTypes__default['default'].string.isRequired
|
789
|
+
})),
|
1043
790
|
value: PropTypes__default['default'].object,
|
1044
791
|
// eslint-disable-line react/forbid-prop-types
|
1045
792
|
onChange: PropTypes__default['default'].func,
|
1046
|
-
|
793
|
+
onReset: PropTypes__default['default'].func,
|
1047
794
|
withContainer: PropTypes__default['default'].bool,
|
1048
795
|
withReset: PropTypes__default['default'].bool,
|
1049
796
|
className: PropTypes__default['default'].string
|
@@ -1052,73 +799,69 @@ var defaultProps$c = {
|
|
1052
799
|
filters: [],
|
1053
800
|
value: null,
|
1054
801
|
onChange: null,
|
1055
|
-
|
802
|
+
onReset: null,
|
1056
803
|
withContainer: false,
|
1057
|
-
withReset:
|
804
|
+
withReset: true,
|
1058
805
|
className: null
|
1059
806
|
};
|
1060
807
|
|
1061
808
|
var ResourceFilters = function ResourceFilters(_ref) {
|
1062
809
|
var filters = _ref.filters,
|
1063
|
-
|
810
|
+
value = _ref.value,
|
1064
811
|
onChange = _ref.onChange,
|
1065
|
-
|
812
|
+
onReset = _ref.onReset,
|
1066
813
|
withContainer = _ref.withContainer,
|
1067
814
|
withReset = _ref.withReset,
|
1068
815
|
className = _ref.className;
|
1069
816
|
var FilterComponents = contexts.useFiltersComponents();
|
1070
817
|
|
1071
|
-
var
|
1072
|
-
|
1073
|
-
value = _useState2[0],
|
1074
|
-
setValue = _useState2[1];
|
1075
|
-
|
1076
|
-
var onFormChange = React.useCallback(function (newFieldValue, key) {
|
1077
|
-
var newValue = newFieldValue !== null ? _objectSpread__default['default'](_objectSpread__default['default']({}, value), {}, _defineProperty__default['default']({}, key, newFieldValue)) : getValueWithout(value, key);
|
1078
|
-
setValue(newValue);
|
818
|
+
var _usePanneauColorSchem = contexts.usePanneauColorScheme(),
|
819
|
+
background = _usePanneauColorSchem.background;
|
1079
820
|
|
1080
|
-
|
1081
|
-
|
821
|
+
var currentFilters = filters || [];
|
822
|
+
var onFiltersReset = React.useCallback(function () {
|
823
|
+
if (onReset !== null) {
|
824
|
+
onReset(null);
|
1082
825
|
}
|
1083
|
-
}, [
|
1084
|
-
var
|
1085
|
-
|
1086
|
-
|
1087
|
-
|
1088
|
-
|
1089
|
-
return
|
1090
|
-
});
|
826
|
+
}, [onReset]);
|
827
|
+
var hasActiveFilter = (currentFilters || []).reduce(function (isActive, item) {
|
828
|
+
if (value !== null && value[item.name]) {
|
829
|
+
return true;
|
830
|
+
}
|
831
|
+
|
832
|
+
return isActive;
|
833
|
+
}, false);
|
1091
834
|
return /*#__PURE__*/React__default['default'].createElement(Navbar__default['default'], {
|
1092
835
|
className: classNames__default['default']([_defineProperty__default['default']({
|
1093
836
|
'navbar-expand-md': withContainer
|
1094
|
-
}, className, className !== null)]),
|
837
|
+
}, className, className !== null), 'justify-content-start', 'align-items-start', 'flex-column', 'flex-md-row']),
|
838
|
+
theme: background,
|
1095
839
|
withoutCollapse: true
|
1096
|
-
},
|
1097
|
-
var
|
1098
|
-
|
840
|
+
}, currentFilters.map(function (_ref3, index) {
|
841
|
+
var component = _ref3.component,
|
842
|
+
name = _ref3.name,
|
843
|
+
filterProps = _objectWithoutProperties__default['default'](_ref3, ["component", "name"]);
|
844
|
+
|
1099
845
|
var FilterComponent = utils.getComponentFromName(component, FilterComponents, null);
|
1100
|
-
|
1101
|
-
|
1102
|
-
onChange
|
1103
|
-
|
1104
|
-
|
1105
|
-
|
1106
|
-
|
1107
|
-
|
1108
|
-
|
1109
|
-
|
1110
|
-
|
1111
|
-
|
1112
|
-
|
1113
|
-
|
846
|
+
var filterValue = value !== null && value[name] ? value[name] : null;
|
847
|
+
var onFilterChange = React.useCallback(function (newFilterValue) {
|
848
|
+
if (name !== null && onChange !== null) {
|
849
|
+
onChange(_objectSpread__default['default'](_objectSpread__default['default']({}, value), {}, _defineProperty__default['default']({}, name, newFilterValue)));
|
850
|
+
}
|
851
|
+
}, [onChange, name]);
|
852
|
+
return FilterComponent !== null ? /*#__PURE__*/React__default['default'].createElement(FormGroup__default['default'], {
|
853
|
+
key: "filter-".concat(name, "-").concat(index + 1),
|
854
|
+
label: filterProps.label,
|
855
|
+
className: "me-4"
|
856
|
+
}, /*#__PURE__*/React__default['default'].createElement(FilterComponent, Object.assign({}, filterProps, {
|
857
|
+
value: filterValue,
|
858
|
+
onChange: onFilterChange
|
859
|
+
}))) : null;
|
860
|
+
}), withReset && hasActiveFilter && currentFilters.length > 1 ? /*#__PURE__*/React__default['default'].createElement(Button__default['default'], {
|
1114
861
|
theme: "primary",
|
1115
|
-
onClick:
|
1116
|
-
}, /*#__PURE__*/React__default['default'].createElement(
|
1117
|
-
|
1118
|
-
defaultMessage: [{
|
1119
|
-
"type": 0,
|
1120
|
-
"value": "Reset"
|
1121
|
-
}]
|
862
|
+
onClick: onFiltersReset
|
863
|
+
}, /*#__PURE__*/React__default['default'].createElement(reactFontawesome.FontAwesomeIcon, {
|
864
|
+
icon: freeSolidSvgIcons.faUndo
|
1122
865
|
})) : null);
|
1123
866
|
};
|
1124
867
|
|
@@ -1130,30 +873,40 @@ var propTypes$b = {
|
|
1130
873
|
query: PropTypes__default['default'].object,
|
1131
874
|
// eslint-disable-line react/forbid-prop-types
|
1132
875
|
paginated: PropTypes__default['default'].bool,
|
876
|
+
baseUrl: PropTypes__default['default'].string,
|
1133
877
|
component: PropTypes__default['default'].oneOfType([PropTypes__default['default'].elementType, PropTypes__default['default'].string]),
|
1134
878
|
componentProps: PropTypes__default['default'].object,
|
1135
879
|
// eslint-disable-line react/forbid-prop-types
|
1136
|
-
|
1137
|
-
|
880
|
+
onQueryChange: PropTypes__default['default'].func,
|
881
|
+
onQueryReset: PropTypes__default['default'].func
|
1138
882
|
};
|
1139
883
|
var defaultProps$b = {
|
1140
884
|
query: null,
|
1141
885
|
paginated: true,
|
1142
886
|
component: null,
|
887
|
+
baseUrl: null,
|
1143
888
|
componentProps: null,
|
1144
|
-
|
1145
|
-
|
889
|
+
onQueryChange: null,
|
890
|
+
onQueryReset: null
|
1146
891
|
};
|
1147
892
|
|
1148
893
|
var ResourceItemsList = function ResourceItemsList(_ref) {
|
1149
894
|
var resource = _ref.resource,
|
1150
|
-
component = _ref.component,
|
1151
|
-
componentProps = _ref.componentProps,
|
1152
895
|
query = _ref.query,
|
896
|
+
baseUrl = _ref.baseUrl,
|
1153
897
|
onQueryChange = _ref.onQueryChange,
|
1154
|
-
|
1155
|
-
|
1156
|
-
|
898
|
+
onQueryReset = _ref.onQueryReset,
|
899
|
+
paginated = _ref.paginated;
|
900
|
+
var _resource$index = resource.index;
|
901
|
+
_resource$index = _resource$index === void 0 ? {} : _resource$index;
|
902
|
+
|
903
|
+
var _resource$index$compo = _resource$index.component,
|
904
|
+
listComponent = _resource$index$compo === void 0 ? null : _resource$index$compo,
|
905
|
+
_resource$index$showP = _resource$index.showPagination,
|
906
|
+
showPagination = _resource$index$showP === void 0 ? true : _resource$index$showP,
|
907
|
+
_resource$index$filte = _resource$index.filters,
|
908
|
+
filters = _resource$index$filte === void 0 ? null : _resource$index$filte,
|
909
|
+
listProps = _objectWithoutProperties__default['default'](_resource$index, ["component", "showPagination", "filters"]);
|
1157
910
|
|
1158
911
|
var _usePanneauColorSchem = contexts.usePanneauColorScheme(),
|
1159
912
|
_usePanneauColorSchem2 = _usePanneauColorSchem.background,
|
@@ -1165,24 +918,43 @@ var ResourceItemsList = function ResourceItemsList(_ref) {
|
|
1165
918
|
_ref2$page = _ref2.page,
|
1166
919
|
page = _ref2$page === void 0 ? 1 : _ref2$page;
|
1167
920
|
|
1168
|
-
var
|
1169
|
-
|
1170
|
-
|
1171
|
-
|
1172
|
-
|
1173
|
-
|
1174
|
-
|
1175
|
-
|
1176
|
-
|
921
|
+
var itemsProps = data.useResourceItems(resource, query, paginated ? parseInt(page, 10) : null);
|
922
|
+
|
923
|
+
var _ref3 = itemsProps || {},
|
924
|
+
_ref3$lastPage = _ref3.lastPage,
|
925
|
+
lastPage = _ref3$lastPage === void 0 ? 0 : _ref3$lastPage,
|
926
|
+
_ref3$total = _ref3.total,
|
927
|
+
total = _ref3$total === void 0 ? 0 : _ref3$total;
|
928
|
+
|
929
|
+
var ListComponent = utils.getComponentFromName(listComponent || 'table', ListComponents);
|
930
|
+
return /*#__PURE__*/React__default['default'].createElement(React__default['default'].Fragment, null, filters !== null ? /*#__PURE__*/React__default['default'].createElement(ResourceFilters, {
|
931
|
+
filters: filters,
|
1177
932
|
value: query,
|
1178
|
-
|
1179
|
-
|
1180
|
-
}) : null,
|
933
|
+
onChange: onQueryChange,
|
934
|
+
onReset: onQueryReset
|
935
|
+
}) : null, paginated && showPagination ? /*#__PURE__*/React__default['default'].createElement(Pagination__default['default'], {
|
936
|
+
page: page,
|
937
|
+
lastPage: lastPage,
|
938
|
+
total: total,
|
939
|
+
url: baseUrl,
|
940
|
+
query: query,
|
941
|
+
className: "mt-1 mb-1"
|
942
|
+
}) : null, ListComponent !== null ? /*#__PURE__*/React__default['default'].createElement(ListComponent, Object.assign({}, itemsProps, listProps, {
|
943
|
+
page: paginated ? parseInt(page, 10) : null,
|
944
|
+
baseUrl: baseUrl,
|
1181
945
|
resource: resource,
|
1182
946
|
query: query,
|
1183
|
-
onQueryChange:
|
947
|
+
onQueryChange: onQueryChange,
|
948
|
+
onQueryReset: onQueryReset,
|
1184
949
|
theme: theme
|
1185
|
-
})) : null
|
950
|
+
})) : null, paginated && showPagination ? /*#__PURE__*/React__default['default'].createElement(Pagination__default['default'], {
|
951
|
+
page: page,
|
952
|
+
lastPage: lastPage,
|
953
|
+
total: total,
|
954
|
+
url: baseUrl,
|
955
|
+
query: query,
|
956
|
+
className: "mt-4 mb-1"
|
957
|
+
}) : null);
|
1186
958
|
};
|
1187
959
|
|
1188
960
|
ResourceItemsList.propTypes = propTypes$b;
|
@@ -1197,11 +969,7 @@ var ResourceIndexPage = function ResourceIndexPage(_ref) {
|
|
1197
969
|
var resource = _ref.resource;
|
1198
970
|
var name = resource.name,
|
1199
971
|
_resource$settings = resource.settings,
|
1200
|
-
settings = _resource$settings === void 0 ? {} : _resource$settings
|
1201
|
-
_resource$components = resource.components;
|
1202
|
-
_resource$components = _resource$components === void 0 ? {} : _resource$components;
|
1203
|
-
var _resource$components$ = _resource$components.index,
|
1204
|
-
index = _resource$components$ === void 0 ? {} : _resource$components$;
|
972
|
+
settings = _resource$settings === void 0 ? {} : _resource$settings;
|
1205
973
|
|
1206
974
|
var _ref2 = settings || {},
|
1207
975
|
_ref2$canCreate = _ref2.canCreate,
|
@@ -1209,12 +977,6 @@ var ResourceIndexPage = function ResourceIndexPage(_ref) {
|
|
1209
977
|
_ref2$indexIsPaginate = _ref2.indexIsPaginated,
|
1210
978
|
paginated = _ref2$indexIsPaginate === void 0 ? false : _ref2$indexIsPaginate;
|
1211
979
|
|
1212
|
-
var _ref3 = index || {},
|
1213
|
-
_ref3$component = _ref3.component,
|
1214
|
-
indexComponent = _ref3$component === void 0 ? null : _ref3$component,
|
1215
|
-
_ref3$props = _ref3.props,
|
1216
|
-
indexProps = _ref3$props === void 0 ? null : _ref3$props;
|
1217
|
-
|
1218
980
|
var _useLocation = reactRouter.useLocation(),
|
1219
981
|
search = _useLocation.search;
|
1220
982
|
|
@@ -1226,19 +988,39 @@ var ResourceIndexPage = function ResourceIndexPage(_ref) {
|
|
1226
988
|
return query;
|
1227
989
|
}, [query]); // TODO: omit routes
|
1228
990
|
|
1229
|
-
var
|
1230
|
-
|
1231
|
-
created =
|
1232
|
-
|
1233
|
-
deleted =
|
991
|
+
var _ref3 = query || {},
|
992
|
+
_ref3$created = _ref3.created,
|
993
|
+
created = _ref3$created === void 0 ? false : _ref3$created,
|
994
|
+
_ref3$deleted = _ref3.deleted,
|
995
|
+
deleted = _ref3$deleted === void 0 ? false : _ref3$deleted;
|
1234
996
|
|
1235
997
|
var resourceRoute = hooks.useResourceUrlGenerator(resource);
|
1236
998
|
var url = resourceRoute('index');
|
1237
999
|
var onQueryChange = React.useCallback(function (submitQuery) {
|
1238
|
-
|
1000
|
+
var newQuery = Object.fromEntries( // eslint-disable-next-line no-unused-vars
|
1001
|
+
Object.entries(_objectSpread__default['default'](_objectSpread__default['default']({}, query), submitQuery)).filter(function (_ref4) {
|
1002
|
+
var _ref5 = _slicedToArray__default['default'](_ref4, 2);
|
1003
|
+
_ref5[0];
|
1004
|
+
var v = _ref5[1];
|
1005
|
+
|
1006
|
+
return v != null;
|
1007
|
+
}));
|
1008
|
+
|
1009
|
+
var _ref6 = newQuery || {};
|
1010
|
+
_ref6.page;
|
1011
|
+
var queryWithoutPage = _objectWithoutProperties__default['default'](_ref6, ["page"]);
|
1012
|
+
|
1013
|
+
var queryString$1 = queryString.stringify(queryWithoutPage, {
|
1239
1014
|
arrayFormat: 'bracket'
|
1240
|
-
})
|
1241
|
-
|
1015
|
+
});
|
1016
|
+
history.push("".concat(url, "?").concat(queryString$1));
|
1017
|
+
}, [history, url, query, paginated]);
|
1018
|
+
var onQueryReset = React.useCallback(function () {
|
1019
|
+
var queryString$1 = queryString.stringify(null, {
|
1020
|
+
arrayFormat: 'bracket'
|
1021
|
+
});
|
1022
|
+
history.push("".concat(url, "?").concat(queryString$1));
|
1023
|
+
}, [history, url, paginated]);
|
1242
1024
|
var onClickCloseAlert = React.useCallback(function () {
|
1243
1025
|
history.replace(url);
|
1244
1026
|
}, [history, url]);
|
@@ -1256,24 +1038,26 @@ var ResourceIndexPage = function ResourceIndexPage(_ref) {
|
|
1256
1038
|
}, created ? /*#__PURE__*/React__default['default'].createElement(Alert__default['default'], {
|
1257
1039
|
className: "mb-4",
|
1258
1040
|
onClose: onClickCloseAlert
|
1259
|
-
}, /*#__PURE__*/React__default['default'].createElement(
|
1041
|
+
}, /*#__PURE__*/React__default['default'].createElement(intl.ResourceMessage, {
|
1260
1042
|
resource: resource,
|
1261
|
-
|
1043
|
+
id: "resources.created",
|
1044
|
+
defaultMessage: "{the_singular} has been created.",
|
1045
|
+
description: "Alert message"
|
1262
1046
|
})) : null, deleted ? /*#__PURE__*/React__default['default'].createElement(Alert__default['default'], {
|
1263
1047
|
className: "mb-4",
|
1264
1048
|
onClose: onClickCloseAlert
|
1265
|
-
}, /*#__PURE__*/React__default['default'].createElement(
|
1049
|
+
}, /*#__PURE__*/React__default['default'].createElement(intl.ResourceMessage, {
|
1266
1050
|
resource: resource,
|
1267
|
-
|
1051
|
+
id: "resources.deleted",
|
1052
|
+
defaultMessage: "{the_singular} has been deleted.",
|
1053
|
+
description: "Alert message"
|
1268
1054
|
})) : null, /*#__PURE__*/React__default['default'].createElement(ResourceItemsList, {
|
1269
1055
|
resource: resource,
|
1270
|
-
messages: messages$1,
|
1271
1056
|
baseUrl: url,
|
1272
1057
|
query: listQuery,
|
1273
1058
|
paginated: paginated,
|
1274
|
-
|
1275
|
-
|
1276
|
-
onQueryChange: onQueryChange
|
1059
|
+
onQueryChange: onQueryChange,
|
1060
|
+
onQueryReset: onQueryReset
|
1277
1061
|
}))));
|
1278
1062
|
};
|
1279
1063
|
|
@@ -1306,23 +1090,30 @@ var defaultProps$8 = {};
|
|
1306
1090
|
var HomePage = function HomePage() {
|
1307
1091
|
var route = contexts.useUrlGenerator();
|
1308
1092
|
var resources = contexts.usePanneauResources();
|
1093
|
+
var visibleResources = resources.filter(function (_ref) {
|
1094
|
+
var _ref$settings = _ref.settings;
|
1095
|
+
_ref$settings = _ref$settings === void 0 ? {} : _ref$settings;
|
1096
|
+
var _ref$settings$hideInN = _ref$settings.hideInNavbar,
|
1097
|
+
hideInNavbar = _ref$settings$hideInN === void 0 ? false : _ref$settings$hideInN;
|
1098
|
+
return !hideInNavbar;
|
1099
|
+
});
|
1309
1100
|
return /*#__PURE__*/React__default['default'].createElement(MainLayout, null, /*#__PURE__*/React__default['default'].createElement("div", {
|
1310
1101
|
className: "container-sm py-4"
|
1311
|
-
},
|
1312
|
-
var
|
1313
|
-
resourceId =
|
1314
|
-
hasRoutes = _ref.has_routes;
|
1102
|
+
}, visibleResources.map(function (resource) {
|
1103
|
+
var _ref2 = resource || {},
|
1104
|
+
resourceId = _ref2.id;
|
1315
1105
|
|
1316
|
-
var routeName = hasRoutes ? "resources.".concat(resourceId, ".index") : 'resources.index';
|
1317
1106
|
return /*#__PURE__*/React__default['default'].createElement(reactRouterDom.Link, {
|
1318
1107
|
className: "d-block my-2",
|
1319
1108
|
key: "resource-link-".concat(resourceId),
|
1320
|
-
to: route(
|
1109
|
+
to: route('resources.index', {
|
1321
1110
|
resource: resourceId
|
1322
1111
|
})
|
1323
|
-
}, /*#__PURE__*/React__default['default'].createElement(
|
1112
|
+
}, /*#__PURE__*/React__default['default'].createElement(intl.ResourceMessage, {
|
1324
1113
|
resource: resource,
|
1325
|
-
|
1114
|
+
id: "resources.view",
|
1115
|
+
defaultMessage: "View {the_plural}",
|
1116
|
+
description: "Button label"
|
1326
1117
|
}));
|
1327
1118
|
})));
|
1328
1119
|
};
|
@@ -1380,104 +1171,88 @@ var GuestLayout = function GuestLayout(_ref) {
|
|
1380
1171
|
GuestLayout.propTypes = propTypes$6;
|
1381
1172
|
GuestLayout.defaultProps = defaultProps$6;
|
1382
1173
|
|
1174
|
+
/* eslint-disable react/jsx-props-no-spreading */
|
1383
1175
|
var propTypes$5 = {
|
1176
|
+
fields: core.PropTypes.fields,
|
1384
1177
|
className: PropTypes__default['default'].string,
|
1385
1178
|
onSuccess: PropTypes__default['default'].func
|
1386
1179
|
};
|
1387
1180
|
var defaultProps$5 = {
|
1181
|
+
fields: [{
|
1182
|
+
name: 'email',
|
1183
|
+
type: 'email',
|
1184
|
+
size: 'lg',
|
1185
|
+
label: /*#__PURE__*/React__default['default'].createElement(reactIntl.FormattedMessage, {
|
1186
|
+
id: "LI0Gz4",
|
1187
|
+
defaultMessage: [{
|
1188
|
+
"type": 0,
|
1189
|
+
"value": "Email"
|
1190
|
+
}]
|
1191
|
+
})
|
1192
|
+
}, {
|
1193
|
+
name: 'password',
|
1194
|
+
type: 'password',
|
1195
|
+
size: 'lg',
|
1196
|
+
label: /*#__PURE__*/React__default['default'].createElement(reactIntl.FormattedMessage, {
|
1197
|
+
id: "4yfet+",
|
1198
|
+
defaultMessage: [{
|
1199
|
+
"type": 0,
|
1200
|
+
"value": "Password"
|
1201
|
+
}]
|
1202
|
+
})
|
1203
|
+
}],
|
1388
1204
|
className: null,
|
1389
1205
|
onSuccess: null
|
1390
1206
|
};
|
1391
1207
|
|
1392
1208
|
var LoginForm = function LoginForm(_ref) {
|
1393
|
-
var
|
1209
|
+
var formFields = _ref.fields,
|
1210
|
+
className = _ref.className,
|
1394
1211
|
onSuccess = _ref.onSuccess;
|
1212
|
+
var url = contexts.useUrlGenerator();
|
1395
1213
|
|
1396
|
-
|
1397
|
-
var _useAuth = useAuth(),
|
1214
|
+
var _useAuth = auth.useAuth(),
|
1398
1215
|
login = _useAuth.login;
|
1399
1216
|
|
1400
|
-
var
|
1217
|
+
var postForm = React.useCallback(function (action, _ref2) {
|
1218
|
+
var email = _ref2.email,
|
1219
|
+
password = _ref2.password;
|
1220
|
+
return login(email, password);
|
1221
|
+
}, [login]);
|
1401
1222
|
|
1402
|
-
var
|
1403
|
-
|
1404
|
-
|
1405
|
-
|
1406
|
-
|
1407
|
-
|
1408
|
-
|
1409
|
-
|
1410
|
-
|
1411
|
-
|
1412
|
-
|
1413
|
-
|
1414
|
-
|
1415
|
-
|
1416
|
-
|
1417
|
-
|
1418
|
-
return login(email, password).then(function () {
|
1419
|
-
return onSuccess();
|
1420
|
-
})["catch"](function (e) {
|
1421
|
-
console.error(e);
|
1422
|
-
|
1423
|
-
if (e.message) {
|
1424
|
-
setError(e.message);
|
1425
|
-
}
|
1426
|
-
});
|
1427
|
-
}, [login, email, password, setError]);
|
1428
|
-
var onChangeEmail = React.useCallback(function (value) {
|
1429
|
-
setEmail(value);
|
1430
|
-
}, [setEmail]);
|
1431
|
-
var onChangePassword = React.useCallback(function (value) {
|
1432
|
-
setPassword(value);
|
1433
|
-
}, [setPassword]);
|
1434
|
-
return /*#__PURE__*/React__default['default'].createElement("form", {
|
1223
|
+
var _useForm = hooks.useForm({
|
1224
|
+
fields: formFields,
|
1225
|
+
postForm: postForm,
|
1226
|
+
onComplete: onSuccess
|
1227
|
+
}),
|
1228
|
+
value = _useForm.value,
|
1229
|
+
setValue = _useForm.setValue,
|
1230
|
+
fields = _useForm.fields,
|
1231
|
+
onSubmit = _useForm.onSubmit,
|
1232
|
+
status = _useForm.status,
|
1233
|
+
generalError = _useForm.generalError,
|
1234
|
+
errors = _useForm.errors;
|
1235
|
+
|
1236
|
+
var NormalForm = contexts.useFormComponent('normal');
|
1237
|
+
return /*#__PURE__*/React__default['default'].createElement(NormalForm, {
|
1238
|
+
action: url('auth.login'),
|
1435
1239
|
method: "post",
|
1436
|
-
|
1437
|
-
|
1438
|
-
className:
|
1439
|
-
|
1440
|
-
|
1441
|
-
|
1442
|
-
|
1443
|
-
|
1444
|
-
|
1445
|
-
|
1446
|
-
})
|
1447
|
-
}, /*#__PURE__*/React__default['default'].createElement(TextField, {
|
1448
|
-
type: "email",
|
1449
|
-
size: "lg",
|
1450
|
-
value: email,
|
1451
|
-
onChange: onChangeEmail
|
1452
|
-
})), /*#__PURE__*/React__default['default'].createElement(FormGroup__default['default'], {
|
1453
|
-
label: /*#__PURE__*/React__default['default'].createElement(reactIntl.FormattedMessage, {
|
1454
|
-
id: "form.password",
|
1240
|
+
fields: fields,
|
1241
|
+
onSubmit: onSubmit,
|
1242
|
+
className: className,
|
1243
|
+
status: status,
|
1244
|
+
generalError: generalError,
|
1245
|
+
errors: errors,
|
1246
|
+
value: value,
|
1247
|
+
onChange: setValue,
|
1248
|
+
submitButtonLabel: /*#__PURE__*/React__default['default'].createElement(reactIntl.FormattedMessage, {
|
1249
|
+
id: "g6qbbX",
|
1455
1250
|
defaultMessage: [{
|
1456
1251
|
"type": 0,
|
1457
|
-
"value": "
|
1252
|
+
"value": "Log in"
|
1458
1253
|
}]
|
1459
1254
|
})
|
1460
|
-
}
|
1461
|
-
type: "password",
|
1462
|
-
size: "lg",
|
1463
|
-
value: password,
|
1464
|
-
onChange: onChangePassword
|
1465
|
-
})), /*#__PURE__*/React__default['default'].createElement("div", {
|
1466
|
-
className: "mt4 d-flex"
|
1467
|
-
}, /*#__PURE__*/React__default['default'].createElement(Button__default['default'], {
|
1468
|
-
onClick: postForm,
|
1469
|
-
type: "button",
|
1470
|
-
theme: "primary",
|
1471
|
-
size: "lg",
|
1472
|
-
className: "ms-auto",
|
1473
|
-
disabled: email === '' || password === ''
|
1474
|
-
}, /*#__PURE__*/React__default['default'].createElement(reactIntl.FormattedMessage, {
|
1475
|
-
id: "login",
|
1476
|
-
defaultMessage: [{
|
1477
|
-
"type": 0,
|
1478
|
-
"value": "Log in"
|
1479
|
-
}]
|
1480
|
-
}))));
|
1255
|
+
});
|
1481
1256
|
};
|
1482
1257
|
|
1483
1258
|
LoginForm.propTypes = propTypes$5;
|
@@ -1488,10 +1263,6 @@ var propTypes$4 = {};
|
|
1488
1263
|
var defaultProps$4 = {};
|
1489
1264
|
|
1490
1265
|
var LoginPage = function LoginPage() {
|
1491
|
-
var _ref = messages$1 || {},
|
1492
|
-
_ref$login_title = _ref.login_title,
|
1493
|
-
loginMessage = _ref$login_title === void 0 ? null : _ref$login_title;
|
1494
|
-
|
1495
1266
|
var route = contexts.useUrlGenerator();
|
1496
1267
|
var onSuccess = React.useCallback(function () {
|
1497
1268
|
window.location.href = route('home');
|
@@ -1506,7 +1277,13 @@ var LoginPage = function LoginPage() {
|
|
1506
1277
|
className: "col-12 col-sm-8 col-md-6"
|
1507
1278
|
}, /*#__PURE__*/React__default['default'].createElement("h1", {
|
1508
1279
|
className: "mb-4"
|
1509
|
-
}, /*#__PURE__*/React__default['default'].createElement(reactIntl.FormattedMessage,
|
1280
|
+
}, /*#__PURE__*/React__default['default'].createElement(reactIntl.FormattedMessage, {
|
1281
|
+
id: "AeOZq+",
|
1282
|
+
defaultMessage: [{
|
1283
|
+
"type": 0,
|
1284
|
+
"value": "Login"
|
1285
|
+
}]
|
1286
|
+
})), /*#__PURE__*/React__default['default'].createElement(LoginForm, {
|
1510
1287
|
onSuccess: onSuccess
|
1511
1288
|
})))));
|
1512
1289
|
};
|
@@ -1516,91 +1293,91 @@ LoginPage.defaultProps = defaultProps$4;
|
|
1516
1293
|
|
1517
1294
|
var messages = reactIntl.defineMessages({
|
1518
1295
|
metaTitle401: {
|
1519
|
-
"id": "
|
1296
|
+
"id": "HOobY2",
|
1520
1297
|
"defaultMessage": [{
|
1521
1298
|
"type": 0,
|
1522
1299
|
"value": "Error 401"
|
1523
1300
|
}]
|
1524
1301
|
},
|
1525
1302
|
title401: {
|
1526
|
-
"id": "
|
1303
|
+
"id": "6nwWPR",
|
1527
1304
|
"defaultMessage": [{
|
1528
1305
|
"type": 0,
|
1529
1306
|
"value": "Error 401"
|
1530
1307
|
}]
|
1531
1308
|
},
|
1532
1309
|
description401: {
|
1533
|
-
"id": "
|
1310
|
+
"id": "82P2dS",
|
1534
1311
|
"defaultMessage": [{
|
1535
1312
|
"type": 0,
|
1536
1313
|
"value": "You are not authorized to access this page."
|
1537
1314
|
}]
|
1538
1315
|
},
|
1539
1316
|
metaTitle403: {
|
1540
|
-
"id": "
|
1317
|
+
"id": "+6cCPF",
|
1541
1318
|
"defaultMessage": [{
|
1542
1319
|
"type": 0,
|
1543
1320
|
"value": "Error 403"
|
1544
1321
|
}]
|
1545
1322
|
},
|
1546
1323
|
title403: {
|
1547
|
-
"id": "
|
1324
|
+
"id": "Pih2UO",
|
1548
1325
|
"defaultMessage": [{
|
1549
1326
|
"type": 0,
|
1550
1327
|
"value": "Error 403"
|
1551
1328
|
}]
|
1552
1329
|
},
|
1553
1330
|
description403: {
|
1554
|
-
"id": "
|
1331
|
+
"id": "8HFiMs",
|
1555
1332
|
"defaultMessage": [{
|
1556
1333
|
"type": 0,
|
1557
1334
|
"value": "Access to this page is forbidden"
|
1558
1335
|
}]
|
1559
1336
|
},
|
1560
1337
|
metaTitle404: {
|
1561
|
-
"id": "
|
1338
|
+
"id": "US/AMe",
|
1562
1339
|
"defaultMessage": [{
|
1563
1340
|
"type": 0,
|
1564
1341
|
"value": "Error 404"
|
1565
1342
|
}]
|
1566
1343
|
},
|
1567
1344
|
title404: {
|
1568
|
-
"id": "
|
1345
|
+
"id": "6Ie+vL",
|
1569
1346
|
"defaultMessage": [{
|
1570
1347
|
"type": 0,
|
1571
1348
|
"value": "Error 404"
|
1572
1349
|
}]
|
1573
1350
|
},
|
1574
1351
|
description404: {
|
1575
|
-
"id": "
|
1352
|
+
"id": "wKPI1y",
|
1576
1353
|
"defaultMessage": [{
|
1577
1354
|
"type": 0,
|
1578
1355
|
"value": "This page doesn’t exist"
|
1579
1356
|
}]
|
1580
1357
|
},
|
1581
1358
|
metaTitle500: {
|
1582
|
-
"id": "
|
1359
|
+
"id": "ejwBSw",
|
1583
1360
|
"defaultMessage": [{
|
1584
1361
|
"type": 0,
|
1585
1362
|
"value": "Error 500"
|
1586
1363
|
}]
|
1587
1364
|
},
|
1588
1365
|
title500: {
|
1589
|
-
"id": "
|
1366
|
+
"id": "owrRHV",
|
1590
1367
|
"defaultMessage": [{
|
1591
1368
|
"type": 0,
|
1592
1369
|
"value": "Error 500"
|
1593
1370
|
}]
|
1594
1371
|
},
|
1595
1372
|
description500: {
|
1596
|
-
"id": "
|
1373
|
+
"id": "yALN2p",
|
1597
1374
|
"defaultMessage": [{
|
1598
1375
|
"type": 0,
|
1599
1376
|
"value": "There was an error"
|
1600
1377
|
}]
|
1601
1378
|
},
|
1602
1379
|
gotoHome: {
|
1603
|
-
"id": "
|
1380
|
+
"id": "hezcGl",
|
1604
1381
|
"defaultMessage": [{
|
1605
1382
|
"type": 0,
|
1606
1383
|
"value": "Go to home page"
|
@@ -1651,11 +1428,9 @@ var defaultProps$2 = {};
|
|
1651
1428
|
var ResourceRoutes = function ResourceRoutes(_ref) {
|
1652
1429
|
var resource = _ref.resource;
|
1653
1430
|
var resourceId = resource.id,
|
1654
|
-
hasRoutes = resource.has_routes,
|
1655
1431
|
_resource$pages = resource.pages,
|
1656
1432
|
pages = _resource$pages === void 0 ? {} : _resource$pages;
|
1657
|
-
var route = contexts.useUrlGenerator();
|
1658
|
-
var routeName = hasRoutes ? "resources.".concat(resourceId) : 'resources'; // Load custom pages from resource
|
1433
|
+
var route = contexts.useUrlGenerator(); // Load custom pages from resource
|
1659
1434
|
|
1660
1435
|
var _ref2 = pages || {},
|
1661
1436
|
_ref2$index = _ref2.index,
|
@@ -1675,7 +1450,7 @@ var ResourceRoutes = function ResourceRoutes(_ref) {
|
|
1675
1450
|
var ResourceEditComponent = utils.getComponentFromName((editPage === null || editPage === void 0 ? void 0 : editPage.component) || 'resource-edit', basePages, editPage === null || editPage === void 0 ? void 0 : editPage.component);
|
1676
1451
|
var ResourceDeleteComponent = utils.getComponentFromName((deletePage === null || deletePage === void 0 ? void 0 : deletePage.component) || 'resource-delete', basePages, deletePage === null || deletePage === void 0 ? void 0 : deletePage.component);
|
1677
1452
|
return /*#__PURE__*/React__default['default'].createElement(reactRouter.Switch, null, /*#__PURE__*/React__default['default'].createElement(reactRouter.Route, {
|
1678
|
-
path: route(
|
1453
|
+
path: route('resources.index', {
|
1679
1454
|
resource: resourceId
|
1680
1455
|
}),
|
1681
1456
|
exact: true,
|
@@ -1685,7 +1460,7 @@ var ResourceRoutes = function ResourceRoutes(_ref) {
|
|
1685
1460
|
});
|
1686
1461
|
}
|
1687
1462
|
}), /*#__PURE__*/React__default['default'].createElement(reactRouter.Route, {
|
1688
|
-
path: route(
|
1463
|
+
path: route('resources.create', {
|
1689
1464
|
resource: resourceId
|
1690
1465
|
}),
|
1691
1466
|
exact: true,
|
@@ -1695,7 +1470,7 @@ var ResourceRoutes = function ResourceRoutes(_ref) {
|
|
1695
1470
|
});
|
1696
1471
|
}
|
1697
1472
|
}), /*#__PURE__*/React__default['default'].createElement(reactRouter.Route, {
|
1698
|
-
path: route(
|
1473
|
+
path: route('resources.show', {
|
1699
1474
|
resource: resourceId,
|
1700
1475
|
id: ':id'
|
1701
1476
|
}),
|
@@ -1708,7 +1483,7 @@ var ResourceRoutes = function ResourceRoutes(_ref) {
|
|
1708
1483
|
});
|
1709
1484
|
}
|
1710
1485
|
}), /*#__PURE__*/React__default['default'].createElement(reactRouter.Route, {
|
1711
|
-
path: route(
|
1486
|
+
path: route('resources.edit', {
|
1712
1487
|
resource: resourceId,
|
1713
1488
|
id: ':id'
|
1714
1489
|
}),
|
@@ -1721,7 +1496,7 @@ var ResourceRoutes = function ResourceRoutes(_ref) {
|
|
1721
1496
|
});
|
1722
1497
|
}
|
1723
1498
|
}), /*#__PURE__*/React__default['default'].createElement(reactRouter.Route, {
|
1724
|
-
path: route(
|
1499
|
+
path: route('resources.delete', {
|
1725
1500
|
resource: resourceId,
|
1726
1501
|
id: ':id'
|
1727
1502
|
}),
|
@@ -1757,7 +1532,6 @@ var PanneauRoutes = function PanneauRoutes(_ref) {
|
|
1757
1532
|
|
1758
1533
|
var _useLocation = reactRouter.useLocation(),
|
1759
1534
|
pathname = _useLocation.pathname; // search
|
1760
|
-
// console.log('PATHNAME', pathname); // eslint-disable-line
|
1761
1535
|
|
1762
1536
|
|
1763
1537
|
var _useState = React.useState({
|
@@ -1770,7 +1544,7 @@ var PanneauRoutes = function PanneauRoutes(_ref) {
|
|
1770
1544
|
initialPathname = _useState2$.pathname,
|
1771
1545
|
setInitialRequest = _useState2[1];
|
1772
1546
|
|
1773
|
-
var user = useUser();
|
1547
|
+
var user = auth.useUser();
|
1774
1548
|
var route = contexts.useUrlGenerator();
|
1775
1549
|
var resources = contexts.usePanneauResources(); // const nextUrl = useMemo(() => {
|
1776
1550
|
// const query = parseQuery(search);
|
@@ -1821,13 +1595,11 @@ var PanneauRoutes = function PanneauRoutes(_ref) {
|
|
1821
1595
|
to: route('login')
|
1822
1596
|
}), resources.map(function (resource) {
|
1823
1597
|
var _ref3 = resource || {},
|
1824
|
-
resourceId = _ref3.id
|
1825
|
-
hasRoutes = _ref3.has_routes;
|
1598
|
+
resourceId = _ref3.id;
|
1826
1599
|
|
1827
|
-
var routeName = hasRoutes ? "resources.".concat(resourceId) : 'resources.index';
|
1828
1600
|
return user !== null ? /*#__PURE__*/React__default['default'].createElement(reactRouter.Route, {
|
1829
1601
|
key: "resource-".concat(resourceId),
|
1830
|
-
path: route(
|
1602
|
+
path: route('resources.index', {
|
1831
1603
|
resource: resourceId
|
1832
1604
|
}),
|
1833
1605
|
render: function render() {
|
@@ -1837,7 +1609,7 @@ var PanneauRoutes = function PanneauRoutes(_ref) {
|
|
1837
1609
|
}
|
1838
1610
|
}) : /*#__PURE__*/React__default['default'].createElement(reactRouter.Redirect, {
|
1839
1611
|
key: "resource-".concat(resourceId),
|
1840
|
-
from: route(
|
1612
|
+
from: route('resources.index', {
|
1841
1613
|
resource: resourceId
|
1842
1614
|
}),
|
1843
1615
|
to: "".concat(route('login'), "?next=").concat(encodeURIComponent(pathname))
|
@@ -1856,62 +1628,91 @@ PanneauRoutes.defaultProps = defaultProps$1;
|
|
1856
1628
|
|
1857
1629
|
var propTypes = {
|
1858
1630
|
definition: core.PropTypes.panneauDefinition.isRequired,
|
1631
|
+
components: PropTypes__default['default'].oneOfType([PropTypes__default['default'].objectOf(PropTypes__default['default'].elementType), PropTypes__default['default'].objectOf(PropTypes__default['default'].objectOf(PropTypes__default['default'].elementType))]),
|
1859
1632
|
user: core.PropTypes.user,
|
1860
1633
|
memoryRouter: PropTypes__default['default'].bool,
|
1861
1634
|
baseUrl: PropTypes__default['default'].string,
|
1635
|
+
uppy: core.PropTypes.uppy,
|
1862
1636
|
statusCode: core.PropTypes.statusCode
|
1863
1637
|
};
|
1864
1638
|
var defaultProps = {
|
1639
|
+
components: null,
|
1865
1640
|
user: null,
|
1866
1641
|
memoryRouter: false,
|
1867
1642
|
baseUrl: null,
|
1643
|
+
uppy: null,
|
1868
1644
|
statusCode: null
|
1869
1645
|
};
|
1870
1646
|
|
1871
1647
|
var Container = function Container(_ref) {
|
1872
1648
|
var definition = _ref.definition,
|
1649
|
+
components = _ref.components,
|
1873
1650
|
user = _ref.user,
|
1874
1651
|
memoryRouter = _ref.memoryRouter,
|
1875
1652
|
baseUrl = _ref.baseUrl,
|
1653
|
+
uppy = _ref.uppy,
|
1876
1654
|
statusCode = _ref.statusCode;
|
1877
1655
|
var _definition$intl = definition.intl;
|
1878
1656
|
_definition$intl = _definition$intl === void 0 ? {} : _definition$intl;
|
1879
1657
|
var _definition$intl$loca = _definition$intl.locale,
|
1880
1658
|
locale = _definition$intl$loca === void 0 ? 'en' : _definition$intl$loca,
|
1881
|
-
|
1882
|
-
_definition$intl$
|
1883
|
-
translations = _definition$intl$mess === void 0 ? {} : _definition$intl$mess,
|
1659
|
+
_definition$intl$loca2 = _definition$intl.locales,
|
1660
|
+
locales = _definition$intl$loca2 === void 0 ? [] : _definition$intl$loca2,
|
1884
1661
|
_definition$routes = definition.routes,
|
1885
1662
|
routes = _definition$routes === void 0 ? {} : _definition$routes,
|
1886
|
-
_definition$settings = definition.settings
|
1887
|
-
|
1888
|
-
|
1889
|
-
|
1890
|
-
|
1891
|
-
|
1892
|
-
|
1893
|
-
|
1894
|
-
|
1895
|
-
|
1896
|
-
|
1897
|
-
|
1898
|
-
|
1899
|
-
|
1900
|
-
|
1663
|
+
_definition$settings = definition.settings;
|
1664
|
+
_definition$settings = _definition$settings === void 0 ? {} : _definition$settings;
|
1665
|
+
var _definition$settings$ = _definition$settings.memoryRouter,
|
1666
|
+
usesMemoryRouter = _definition$settings$ === void 0 ? false : _definition$settings$;
|
1667
|
+
var Router = memoryRouter || usesMemoryRouter ? reactRouter.MemoryRouter : reactRouterDom.BrowserRouter;
|
1668
|
+
var extraMessages = React.useMemo(function () {
|
1669
|
+
var _definition$intl2 = definition.intl;
|
1670
|
+
_definition$intl2 = _definition$intl2 === void 0 ? {} : _definition$intl2;
|
1671
|
+
var _definition$intl2$mes = _definition$intl2.messages,
|
1672
|
+
messages = _definition$intl2$mes === void 0 ? null : _definition$intl2$mes,
|
1673
|
+
_definition$resources = definition.resources,
|
1674
|
+
resources = _definition$resources === void 0 ? [] : _definition$resources;
|
1675
|
+
return _objectSpread__default['default'](_objectSpread__default['default']({}, messages), resources.reduce(function (allMessages, _ref2) {
|
1676
|
+
var id = _ref2.id,
|
1677
|
+
_ref2$intl = _ref2.intl;
|
1678
|
+
_ref2$intl = _ref2$intl === void 0 ? {} : _ref2$intl;
|
1679
|
+
var _ref2$intl$messages = _ref2$intl.messages,
|
1680
|
+
resourceMessages = _ref2$intl$messages === void 0 ? {} : _ref2$intl$messages;
|
1681
|
+
return _objectSpread__default['default'](_objectSpread__default['default']({}, allMessages), Object.keys(resourceMessages).reduce(function (allResourceMessages, key) {
|
1682
|
+
return _objectSpread__default['default'](_objectSpread__default['default']({}, allResourceMessages), {}, _defineProperty__default['default']({}, "resources.".concat(id, ".").concat(key), resourceMessages[key]));
|
1683
|
+
}, {}));
|
1684
|
+
}, {}));
|
1685
|
+
}, [definition]);
|
1686
|
+
var onUnauthorized = React.useCallback(function () {
|
1687
|
+
window.location.href = baseUrl;
|
1688
|
+
}, [baseUrl]);
|
1689
|
+
var onLogout = React.useCallback(function () {
|
1690
|
+
console.log('logout'); // eslint-disable-line
|
1691
|
+
}, [baseUrl]);
|
1692
|
+
console.log('definition', definition); // eslint-disable-line
|
1693
|
+
|
1694
|
+
return /*#__PURE__*/React__default['default'].createElement(Router, null, /*#__PURE__*/React__default['default'].createElement(intl.IntlProvider, {
|
1901
1695
|
locale: locale,
|
1902
|
-
locales: locales
|
1903
|
-
|
1696
|
+
locales: locales,
|
1697
|
+
extraMessages: extraMessages
|
1698
|
+
}, /*#__PURE__*/React__default['default'].createElement(contexts.PanneauProvider, {
|
1699
|
+
definition: definition
|
1700
|
+
}, /*#__PURE__*/React__default['default'].createElement(contexts.UppyProvider, uppy, /*#__PURE__*/React__default['default'].createElement(contexts.RoutesProvider, {
|
1904
1701
|
routes: routes
|
1905
|
-
}, /*#__PURE__*/React__default['default'].createElement(FieldsProvider__default['default'], null, /*#__PURE__*/React__default['default'].createElement(FormsProvider__default['default'], null, /*#__PURE__*/React__default['default'].createElement(ListsProvider__default['default'], null, /*#__PURE__*/React__default['default'].createElement(
|
1906
|
-
baseUrl: baseUrl
|
1907
|
-
|
1908
|
-
|
1702
|
+
}, /*#__PURE__*/React__default['default'].createElement(FieldsProvider__default['default'], null, /*#__PURE__*/React__default['default'].createElement(FormsProvider__default['default'], null, /*#__PURE__*/React__default['default'].createElement(ListsProvider__default['default'], null, /*#__PURE__*/React__default['default'].createElement(DisplaysProvider__default['default'], null, /*#__PURE__*/React__default['default'].createElement(FiltersProvider__default['default'], null, /*#__PURE__*/React__default['default'].createElement(data.ApiProvider, {
|
1703
|
+
baseUrl: baseUrl,
|
1704
|
+
onUnauthorized: onUnauthorized
|
1705
|
+
}, /*#__PURE__*/React__default['default'].createElement(auth.AuthProvider, {
|
1706
|
+
user: user,
|
1707
|
+
onLogout: onLogout
|
1708
|
+
}, /*#__PURE__*/React__default['default'].createElement(contexts.ComponentsProvider, {
|
1709
|
+
components: components
|
1909
1710
|
}, /*#__PURE__*/React__default['default'].createElement(PanneauRoutes, {
|
1910
1711
|
statusCode: statusCode
|
1911
|
-
})))))))))))));
|
1712
|
+
}))))))))))))));
|
1912
1713
|
};
|
1913
1714
|
|
1914
1715
|
Container.propTypes = propTypes;
|
1915
1716
|
Container.defaultProps = defaultProps;
|
1916
1717
|
|
1917
|
-
|
1718
|
+
exports.default = Container;
|