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