@panneau/app 1.1.0 → 1.1.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/assets/css/styles.css +3 -3
- package/es/index.js +283 -330
- package/lib/index.js +282 -332
- package/package.json +28 -28
- package/scss/styles.scss +1 -8
package/es/index.js
CHANGED
@@ -1,12 +1,12 @@
|
|
1
1
|
import _defineProperty from '@babel/runtime/helpers/defineProperty';
|
2
2
|
import _objectSpread from '@babel/runtime/helpers/objectSpread2';
|
3
3
|
import PropTypes$1 from 'prop-types';
|
4
|
-
import React, { useMemo, useCallback, useState, useEffect
|
5
|
-
import { useLocation,
|
4
|
+
import React, { useMemo, useCallback, useState, useEffect } from 'react';
|
5
|
+
import { useLocation, useHistory, Switch, Route, Redirect, MemoryRouter } from 'react-router';
|
6
6
|
import { Link, BrowserRouter } from 'react-router-dom';
|
7
7
|
import { useUser, useLogout, useAuth, AuthProvider } from '@panneau/auth';
|
8
8
|
import { PropTypes } from '@panneau/core';
|
9
|
-
import { useLocales, useFormsComponents, FormProvider, useUrlGenerator, usePanneauResources, usePanneau, usePanneauColorScheme, ResourceProvider, useFiltersComponents, useListsComponents, useComponentsManager, useFormComponent, useRoutes,
|
9
|
+
import { useLocales, useFormsComponents, FormProvider, useUrlGenerator, usePanneauResources, usePanneau, usePanneauColorScheme, ResourceProvider, useFiltersComponents, useListsComponents, useComponentsManager, useFormComponent, useRoutes, PanneauProvider, UppyProvider, RoutesProvider, ComponentsProvider } from '@panneau/core/contexts';
|
10
10
|
import { useResourceStore, useResourceUpdate, useResourceDestroy, useResourceItem, useResourceItems, ApiProvider } from '@panneau/data';
|
11
11
|
import DisplaysProvider from '@panneau/displays';
|
12
12
|
import FieldsProvider from '@panneau/fields';
|
@@ -14,20 +14,17 @@ import FiltersProvider from '@panneau/filters';
|
|
14
14
|
import FormsProvider from '@panneau/forms';
|
15
15
|
import { useResourceValues, IntlProvider } from '@panneau/intl';
|
16
16
|
import ListsProvider from '@panneau/lists';
|
17
|
-
import _toConsumableArray from '@babel/runtime/helpers/toConsumableArray';
|
18
|
-
import _objectWithoutProperties from '@babel/runtime/helpers/objectWithoutProperties';
|
19
17
|
import _slicedToArray from '@babel/runtime/helpers/slicedToArray';
|
20
|
-
import
|
18
|
+
import { getComponentFromName } from '@panneau/core/utils';
|
19
|
+
import _objectWithoutProperties from '@babel/runtime/helpers/objectWithoutProperties';
|
21
20
|
import { parse, stringify } from 'query-string';
|
22
21
|
import { FormattedMessage, defineMessages } from 'react-intl';
|
23
22
|
import { useResourceUrlGenerator, useForm } from '@panneau/core/hooks';
|
24
|
-
import { getComponentFromName } from '@panneau/core/utils';
|
25
23
|
import classNames from 'classnames';
|
26
24
|
import Button from '@panneau/element-button';
|
27
25
|
import Form from '@panneau/element-form';
|
28
|
-
import isArray from 'lodash/isArray';
|
29
|
-
import Menu from '@panneau/element-menu';
|
30
26
|
import Navbar from '@panneau/element-navbar';
|
27
|
+
import Menu from '@panneau/element-menu';
|
31
28
|
import Label from '@panneau/element-label';
|
32
29
|
import isString from 'lodash/isString';
|
33
30
|
import Alert from '@panneau/element-alert';
|
@@ -38,8 +35,8 @@ import { faUndo } from '@fortawesome/free-solid-svg-icons';
|
|
38
35
|
import { FontAwesomeIcon } from '@fortawesome/react-fontawesome';
|
39
36
|
import FormGroup from '@panneau/element-form-group';
|
40
37
|
|
41
|
-
var _excluded$
|
42
|
-
var propTypes$
|
38
|
+
var _excluded$5 = ["resource", "action", "previous", "status", "value", "onSubmit", "errors", "generalError", "className"];
|
39
|
+
var propTypes$n = {
|
43
40
|
resource: PropTypes.resource.isRequired,
|
44
41
|
action: PropTypes$1.string,
|
45
42
|
previous: PropTypes$1.string,
|
@@ -53,7 +50,7 @@ var propTypes$m = {
|
|
53
50
|
errors: PropTypes$1.objectOf(PropTypes$1.arrayOf(PropTypes$1.string)),
|
54
51
|
className: PropTypes$1.string
|
55
52
|
};
|
56
|
-
var defaultProps$
|
53
|
+
var defaultProps$n = {
|
57
54
|
action: null,
|
58
55
|
previous: null,
|
59
56
|
status: null,
|
@@ -73,7 +70,7 @@ var DeleteForm = function DeleteForm(_ref) {
|
|
73
70
|
_ref.errors;
|
74
71
|
var generalError = _ref.generalError,
|
75
72
|
className = _ref.className,
|
76
|
-
props = _objectWithoutProperties(_ref, _excluded$
|
73
|
+
props = _objectWithoutProperties(_ref, _excluded$5);
|
77
74
|
var _ref2 = value || {},
|
78
75
|
_ref2$id = _ref2.id,
|
79
76
|
id = _ref2$id === void 0 ? null : _ref2$id;
|
@@ -144,11 +141,11 @@ var DeleteForm = function DeleteForm(_ref) {
|
|
144
141
|
}]
|
145
142
|
})))));
|
146
143
|
};
|
147
|
-
DeleteForm.propTypes = propTypes$
|
148
|
-
DeleteForm.defaultProps = defaultProps$
|
144
|
+
DeleteForm.propTypes = propTypes$n;
|
145
|
+
DeleteForm.defaultProps = defaultProps$n;
|
149
146
|
|
150
|
-
var _excluded$
|
151
|
-
var propTypes$
|
147
|
+
var _excluded$4 = ["component", "resource", "onSuccess", "item", "type", "isDelete"];
|
148
|
+
var propTypes$m = {
|
152
149
|
component: PropTypes$1.string,
|
153
150
|
resource: PropTypes.resource.isRequired,
|
154
151
|
item: PropTypes$1.object,
|
@@ -157,7 +154,7 @@ var propTypes$l = {
|
|
157
154
|
onSuccess: PropTypes$1.func,
|
158
155
|
isDelete: PropTypes$1.bool
|
159
156
|
};
|
160
|
-
var defaultProps$
|
157
|
+
var defaultProps$m = {
|
161
158
|
component: null,
|
162
159
|
item: null,
|
163
160
|
type: null,
|
@@ -171,7 +168,7 @@ var ResourceForm = function ResourceForm(_ref) {
|
|
171
168
|
item = _ref.item,
|
172
169
|
type = _ref.type,
|
173
170
|
isDelete = _ref.isDelete,
|
174
|
-
props = _objectWithoutProperties(_ref, _excluded$
|
171
|
+
props = _objectWithoutProperties(_ref, _excluded$4);
|
175
172
|
var locales = useLocales();
|
176
173
|
var FormComponents = useFormsComponents();
|
177
174
|
var _resource$fields = resource.fields,
|
@@ -299,15 +296,15 @@ var ResourceForm = function ResourceForm(_ref) {
|
|
299
296
|
onChange: setValue
|
300
297
|
})));
|
301
298
|
};
|
302
|
-
ResourceForm.propTypes = propTypes$
|
303
|
-
ResourceForm.defaultProps = defaultProps$
|
299
|
+
ResourceForm.propTypes = propTypes$m;
|
300
|
+
ResourceForm.defaultProps = defaultProps$m;
|
304
301
|
|
305
|
-
var propTypes$
|
302
|
+
var propTypes$l = {
|
306
303
|
className: PropTypes$1.string,
|
307
304
|
itemClassName: PropTypes$1.string,
|
308
305
|
linkClassName: PropTypes$1.string
|
309
306
|
};
|
310
|
-
var defaultProps$
|
307
|
+
var defaultProps$l = {
|
311
308
|
className: null,
|
312
309
|
itemClassName: null,
|
313
310
|
linkClassName: null
|
@@ -333,7 +330,7 @@ var AccountMenu = function AccountMenu(_ref) {
|
|
333
330
|
"value": "Account"
|
334
331
|
}]
|
335
332
|
}),
|
336
|
-
href: route('account'),
|
333
|
+
href: route('panneau.account'),
|
337
334
|
dropdown: [
|
338
335
|
// {
|
339
336
|
// label: (
|
@@ -342,7 +339,7 @@ var AccountMenu = function AccountMenu(_ref) {
|
|
342
339
|
// description="Menu label"
|
343
340
|
// />
|
344
341
|
// ),
|
345
|
-
// href: route('account'),
|
342
|
+
// href: route('panneau.account'),
|
346
343
|
// },
|
347
344
|
{
|
348
345
|
label: /*#__PURE__*/React.createElement(FormattedMessage, {
|
@@ -363,7 +360,7 @@ var AccountMenu = function AccountMenu(_ref) {
|
|
363
360
|
"value": "Login"
|
364
361
|
}]
|
365
362
|
}),
|
366
|
-
href: route('
|
363
|
+
href: route('login')
|
367
364
|
}];
|
368
365
|
}, [user, route, onClickLogout]);
|
369
366
|
return items !== null ? /*#__PURE__*/React.createElement(Menu, {
|
@@ -374,15 +371,15 @@ var AccountMenu = function AccountMenu(_ref) {
|
|
374
371
|
dropdownAlign: "end"
|
375
372
|
}) : null;
|
376
373
|
};
|
377
|
-
AccountMenu.propTypes = propTypes$
|
378
|
-
AccountMenu.defaultProps = defaultProps$
|
374
|
+
AccountMenu.propTypes = propTypes$l;
|
375
|
+
AccountMenu.defaultProps = defaultProps$l;
|
379
376
|
|
380
|
-
var propTypes$
|
377
|
+
var propTypes$k = {
|
381
378
|
className: PropTypes$1.string,
|
382
379
|
itemClassName: PropTypes$1.string,
|
383
380
|
linkClassName: PropTypes$1.string
|
384
381
|
};
|
385
|
-
var defaultProps$
|
382
|
+
var defaultProps$k = {
|
386
383
|
className: null,
|
387
384
|
itemClassName: null,
|
388
385
|
linkClassName: null
|
@@ -419,77 +416,42 @@ var ResourcesMenu = function ResourcesMenu(_ref) {
|
|
419
416
|
linkClassName: linkClassName
|
420
417
|
});
|
421
418
|
};
|
422
|
-
ResourcesMenu.propTypes = propTypes$
|
423
|
-
ResourcesMenu.defaultProps = defaultProps$
|
419
|
+
ResourcesMenu.propTypes = propTypes$k;
|
420
|
+
ResourcesMenu.defaultProps = defaultProps$k;
|
424
421
|
|
425
|
-
|
426
|
-
var
|
422
|
+
/* eslint-disable react/jsx-props-no-spreading */
|
423
|
+
var propTypes$j = {};
|
424
|
+
var defaultProps$j = {};
|
427
425
|
var MainNavbar = function MainNavbar(props) {
|
428
426
|
var _usePanneau = usePanneau(),
|
429
|
-
name = _usePanneau.name
|
430
|
-
_usePanneau$menus = _usePanneau.menus,
|
431
|
-
menus = _usePanneau$menus === void 0 ? null : _usePanneau$menus;
|
432
|
-
var _ref = menus || {},
|
433
|
-
_ref$main = _ref.main,
|
434
|
-
main = _ref$main === void 0 ? null : _ref$main,
|
435
|
-
_ref$guest = _ref.guest,
|
436
|
-
guest = _ref$guest === void 0 ? null : _ref$guest;
|
427
|
+
name = _usePanneau.name;
|
437
428
|
var _usePanneauColorSchem = usePanneauColorScheme(),
|
438
429
|
background = _usePanneauColorSchem.background;
|
439
430
|
var route = useUrlGenerator();
|
440
431
|
var user = useUser();
|
441
|
-
var items = useMemo(function () {
|
442
|
-
var menuItems = (user !== null ? main : guest) || [];
|
443
|
-
var hasResources = menuItems.indexOf('resources') !== -1;
|
444
|
-
var hasAccount = menuItems.indexOf('account') !== -1;
|
445
|
-
return [!hasResources && user !== null ? 'resources' : null].concat(_toConsumableArray(menuItems), [!hasAccount && menuItems.indexOf('separator') === -1 ? 'separator' : null, !hasAccount ? 'account' : null]).filter(function (it) {
|
446
|
-
return it !== null;
|
447
|
-
}).reduce(function (currentItems, item) {
|
448
|
-
if (item === 'resources') {
|
449
|
-
return [].concat(_toConsumableArray(currentItems), [/*#__PURE__*/React.createElement(ResourcesMenu, {
|
450
|
-
className: "navbar-nav",
|
451
|
-
itemClassName: "nav-item",
|
452
|
-
linkClassName: "nav-link"
|
453
|
-
})]);
|
454
|
-
}
|
455
|
-
if (item === 'account') {
|
456
|
-
return [].concat(_toConsumableArray(currentItems), [/*#__PURE__*/React.createElement(AccountMenu, {
|
457
|
-
className: "navbar-nav",
|
458
|
-
itemClassName: "nav-item",
|
459
|
-
linkClassName: "nav-link"
|
460
|
-
})]);
|
461
|
-
}
|
462
|
-
if (item === 'separator') {
|
463
|
-
return [].concat(_toConsumableArray(currentItems), [/*#__PURE__*/React.createElement("span", {
|
464
|
-
className: "ms-auto"
|
465
|
-
})]);
|
466
|
-
}
|
467
|
-
var lastItem = currentItems.length > 0 ? currentItems[currentItems.length - 1] : null;
|
468
|
-
return isArray(lastItem) ? [].concat(_toConsumableArray(currentItems.slice(0, currentItems.length - 1)), [[].concat(_toConsumableArray(lastItem), [item])]) : [].concat(_toConsumableArray(currentItems), [[item]]);
|
469
|
-
}, []).map(function (it) {
|
470
|
-
return isArray(it) ? /*#__PURE__*/React.createElement(Menu, {
|
471
|
-
items: it,
|
472
|
-
className: "navbar-nav",
|
473
|
-
itemClassName: "nav-item",
|
474
|
-
linkClassName: "nav-link"
|
475
|
-
}) : it;
|
476
|
-
});
|
477
|
-
}, [main]);
|
478
432
|
return /*#__PURE__*/React.createElement(Navbar, Object.assign({
|
479
433
|
theme: background
|
480
434
|
}, props), name !== null ? /*#__PURE__*/React.createElement(Link, {
|
481
435
|
to: route('home'),
|
482
436
|
className: "navbar-brand"
|
483
|
-
}, name) : null,
|
437
|
+
}, name) : null, user !== null ? /*#__PURE__*/React.createElement(ResourcesMenu, {
|
438
|
+
className: "navbar-nav ml-4",
|
439
|
+
itemClassName: "nav-item",
|
440
|
+
linkClassName: "nav-link"
|
441
|
+
}) : null, /*#__PURE__*/React.createElement(AccountMenu, {
|
442
|
+
className: "navbar-nav ms-auto",
|
443
|
+
itemClassName: "nav-item",
|
444
|
+
linkClassName: "nav-link"
|
445
|
+
}));
|
484
446
|
};
|
485
|
-
MainNavbar.propTypes = propTypes$
|
486
|
-
MainNavbar.defaultProps = defaultProps$
|
447
|
+
MainNavbar.propTypes = propTypes$j;
|
448
|
+
MainNavbar.defaultProps = defaultProps$j;
|
487
449
|
|
488
|
-
var propTypes$
|
450
|
+
var propTypes$i = {
|
489
451
|
children: PropTypes$1.node.isRequired,
|
490
452
|
fullscreen: PropTypes$1.bool
|
491
453
|
};
|
492
|
-
var defaultProps$
|
454
|
+
var defaultProps$i = {
|
493
455
|
fullscreen: false
|
494
456
|
};
|
495
457
|
var MainLayout = function MainLayout(_ref) {
|
@@ -509,17 +471,17 @@ var MainLayout = function MainLayout(_ref) {
|
|
509
471
|
}, _defineProperty(_ref2, "bg-".concat(background), background !== null), _defineProperty(_ref2, "text-".concat(text), text !== null), _ref2)])
|
510
472
|
}, children));
|
511
473
|
};
|
512
|
-
MainLayout.propTypes = propTypes$
|
513
|
-
MainLayout.defaultProps = defaultProps$
|
474
|
+
MainLayout.propTypes = propTypes$i;
|
475
|
+
MainLayout.defaultProps = defaultProps$i;
|
514
476
|
|
515
|
-
var propTypes$
|
477
|
+
var propTypes$h = {
|
516
478
|
title: PropTypes.label,
|
517
479
|
actions: PropTypes$1.node,
|
518
480
|
small: PropTypes$1.bool,
|
519
481
|
className: PropTypes$1.string,
|
520
482
|
children: PropTypes$1.node
|
521
483
|
};
|
522
|
-
var defaultProps$
|
484
|
+
var defaultProps$h = {
|
523
485
|
title: null,
|
524
486
|
actions: null,
|
525
487
|
small: false,
|
@@ -557,22 +519,22 @@ var PageHeader = function PageHeader(_ref) {
|
|
557
519
|
className: "col-12 col-md-8 col-lg-7"
|
558
520
|
}, inner)) : inner), children);
|
559
521
|
};
|
560
|
-
PageHeader.propTypes = propTypes$
|
561
|
-
PageHeader.defaultProps = defaultProps$
|
522
|
+
PageHeader.propTypes = propTypes$h;
|
523
|
+
PageHeader.defaultProps = defaultProps$h;
|
562
524
|
|
563
|
-
var propTypes$
|
525
|
+
var propTypes$g = {
|
564
526
|
resource: PropTypes.resource.isRequired
|
565
527
|
};
|
566
|
-
var defaultProps$
|
528
|
+
var defaultProps$g = {};
|
567
529
|
var ResourceCreatePage = function ResourceCreatePage(_ref) {
|
568
530
|
var resource = _ref.resource;
|
569
|
-
var
|
531
|
+
var history = useHistory();
|
570
532
|
var _useLocation = useLocation(),
|
571
533
|
search = _useLocation.search;
|
572
534
|
var resourceRoute = useResourceUrlGenerator(resource);
|
573
535
|
var onSuccess = useCallback(function () {
|
574
|
-
|
575
|
-
}, [
|
536
|
+
history.push("".concat(resourceRoute('index'), "?created=true"));
|
537
|
+
}, [history, resourceRoute]);
|
576
538
|
var _useMemo = useMemo(function () {
|
577
539
|
return parse(search);
|
578
540
|
}, [search]),
|
@@ -606,26 +568,26 @@ var ResourceCreatePage = function ResourceCreatePage(_ref) {
|
|
606
568
|
onSuccess: onSuccess
|
607
569
|
}))))));
|
608
570
|
};
|
609
|
-
ResourceCreatePage.propTypes = propTypes$
|
610
|
-
ResourceCreatePage.defaultProps = defaultProps$
|
571
|
+
ResourceCreatePage.propTypes = propTypes$g;
|
572
|
+
ResourceCreatePage.defaultProps = defaultProps$g;
|
611
573
|
|
612
574
|
// import Button from '../buttons/Button';
|
613
575
|
|
614
|
-
var propTypes$
|
615
|
-
resource: PropTypes.resource.isRequired
|
576
|
+
var propTypes$f = {
|
577
|
+
resource: PropTypes.resource.isRequired,
|
578
|
+
itemId: PropTypes$1.string.isRequired
|
616
579
|
};
|
617
|
-
var defaultProps$
|
580
|
+
var defaultProps$f = {};
|
618
581
|
var ResourceDeletePage = function ResourceDeletePage(_ref) {
|
619
|
-
var resource = _ref.resource
|
620
|
-
|
621
|
-
|
622
|
-
var navigate = useNavigate();
|
582
|
+
var resource = _ref.resource,
|
583
|
+
itemId = _ref.itemId;
|
584
|
+
var history = useHistory();
|
623
585
|
var resourceRoute = useResourceUrlGenerator(resource);
|
624
586
|
var _useResourceItem = useResourceItem(resource, itemId),
|
625
587
|
item = _useResourceItem.item;
|
626
588
|
var onSuccess = useCallback(function () {
|
627
|
-
return
|
628
|
-
}, [
|
589
|
+
return history.push("".concat(resourceRoute('index'), "?deleted=true"));
|
590
|
+
}, [history, resourceRoute]);
|
629
591
|
|
630
592
|
// Navigate back
|
631
593
|
var _ref2 = history || {},
|
@@ -664,19 +626,19 @@ var ResourceDeletePage = function ResourceDeletePage(_ref) {
|
|
664
626
|
isDelete: true
|
665
627
|
}) : null)))));
|
666
628
|
};
|
667
|
-
ResourceDeletePage.propTypes = propTypes$
|
668
|
-
ResourceDeletePage.defaultProps = defaultProps$
|
629
|
+
ResourceDeletePage.propTypes = propTypes$f;
|
630
|
+
ResourceDeletePage.defaultProps = defaultProps$f;
|
669
631
|
|
670
632
|
// import Button from '../buttons/Button';
|
671
633
|
|
672
|
-
var propTypes$
|
673
|
-
resource: PropTypes.resource.isRequired
|
634
|
+
var propTypes$e = {
|
635
|
+
resource: PropTypes.resource.isRequired,
|
636
|
+
itemId: PropTypes$1.string.isRequired
|
674
637
|
};
|
675
|
-
var defaultProps$
|
638
|
+
var defaultProps$e = {};
|
676
639
|
var ResourceEditPage = function ResourceEditPage(_ref) {
|
677
|
-
var resource = _ref.resource
|
678
|
-
|
679
|
-
itemId = _useParams.id;
|
640
|
+
var resource = _ref.resource,
|
641
|
+
itemId = _ref.itemId;
|
680
642
|
var _useResourceItem = useResourceItem(resource, itemId),
|
681
643
|
item = _useResourceItem.item;
|
682
644
|
var _ref2 = item || {},
|
@@ -721,14 +683,14 @@ var ResourceEditPage = function ResourceEditPage(_ref) {
|
|
721
683
|
onSuccess: onSuccess
|
722
684
|
}) : null)))));
|
723
685
|
};
|
724
|
-
ResourceEditPage.propTypes = propTypes$
|
725
|
-
ResourceEditPage.defaultProps = defaultProps$
|
686
|
+
ResourceEditPage.propTypes = propTypes$e;
|
687
|
+
ResourceEditPage.defaultProps = defaultProps$e;
|
726
688
|
|
727
|
-
var propTypes$
|
689
|
+
var propTypes$d = {
|
728
690
|
resource: PropTypes.resource.isRequired,
|
729
691
|
className: PropTypes$1.string
|
730
692
|
};
|
731
|
-
var defaultProps$
|
693
|
+
var defaultProps$d = {
|
732
694
|
className: null
|
733
695
|
};
|
734
696
|
var ResourceCreateButtom = function ResourceCreateButtom(_ref) {
|
@@ -745,9 +707,10 @@ var ResourceCreateButtom = function ResourceCreateButtom(_ref) {
|
|
745
707
|
setDropdownOpened = _useState2[1];
|
746
708
|
var onClickDropdown = useCallback(function (e) {
|
747
709
|
e.preventDefault();
|
748
|
-
|
749
|
-
|
750
|
-
|
710
|
+
setDropdownOpened(function (opened) {
|
711
|
+
return !opened;
|
712
|
+
});
|
713
|
+
}, [setDropdownOpened]);
|
751
714
|
var finalTypes = types !== null ? types.filter(function (_ref2) {
|
752
715
|
var _ref2$settings = _ref2.settings,
|
753
716
|
_ref2$settings2 = _ref2$settings === void 0 ? {} : _ref2$settings,
|
@@ -757,10 +720,8 @@ var ResourceCreateButtom = function ResourceCreateButtom(_ref) {
|
|
757
720
|
}) : null;
|
758
721
|
var hasMultipleTypes = finalTypes !== null && finalTypes.length > 1;
|
759
722
|
var onDropdownClickOutside = useCallback(function () {
|
760
|
-
|
761
|
-
|
762
|
-
}
|
763
|
-
}, [setDropdownOpened, dropdownOpened]);
|
723
|
+
setDropdownOpened(false);
|
724
|
+
}, [setDropdownOpened]);
|
764
725
|
var button = /*#__PURE__*/React.createElement(Button, {
|
765
726
|
href: !hasMultipleTypes ? "".concat(resourceRoute('create')).concat(finalTypes !== null && finalTypes.length === 1 ? "?type=".concat(finalTypes[0].id) : '') : '#',
|
766
727
|
size: "lg",
|
@@ -797,11 +758,11 @@ var ResourceCreateButtom = function ResourceCreateButtom(_ref) {
|
|
797
758
|
onClickOutside: onDropdownClickOutside
|
798
759
|
})) : button;
|
799
760
|
};
|
800
|
-
ResourceCreateButtom.propTypes = propTypes$
|
801
|
-
ResourceCreateButtom.defaultProps = defaultProps$
|
761
|
+
ResourceCreateButtom.propTypes = propTypes$d;
|
762
|
+
ResourceCreateButtom.defaultProps = defaultProps$d;
|
802
763
|
|
803
|
-
var _excluded$
|
804
|
-
var propTypes$
|
764
|
+
var _excluded$3 = ["component", "name", "groupLabel"];
|
765
|
+
var propTypes$c = {
|
805
766
|
filters: PropTypes$1.arrayOf(PropTypes$1.shape({
|
806
767
|
id: PropTypes$1.string.isRequired,
|
807
768
|
component: PropTypes$1.string.isRequired
|
@@ -816,7 +777,7 @@ var propTypes$b = {
|
|
816
777
|
// eslint-disable-line react/forbid-prop-types
|
817
778
|
className: PropTypes$1.string
|
818
779
|
};
|
819
|
-
var defaultProps$
|
780
|
+
var defaultProps$c = {
|
820
781
|
filters: [],
|
821
782
|
value: null,
|
822
783
|
onChange: null,
|
@@ -865,7 +826,7 @@ var ResourceFilters = function ResourceFilters(_ref) {
|
|
865
826
|
var component = _ref3.component,
|
866
827
|
name = _ref3.name,
|
867
828
|
groupLabel = _ref3.groupLabel,
|
868
|
-
filterProps = _objectWithoutProperties(_ref3, _excluded$
|
829
|
+
filterProps = _objectWithoutProperties(_ref3, _excluded$3);
|
869
830
|
var FilterComponent = getComponentFromName(component, FilterComponents, null);
|
870
831
|
var filterValue = value !== null && value[name] ? value[name] : null;
|
871
832
|
var onFilterChange = useCallback(function (newFilterValue) {
|
@@ -897,12 +858,12 @@ var ResourceFilters = function ResourceFilters(_ref) {
|
|
897
858
|
icon: faUndo
|
898
859
|
})) : null);
|
899
860
|
};
|
900
|
-
ResourceFilters.propTypes = propTypes$
|
901
|
-
ResourceFilters.defaultProps = defaultProps$
|
861
|
+
ResourceFilters.propTypes = propTypes$c;
|
862
|
+
ResourceFilters.defaultProps = defaultProps$c;
|
902
863
|
|
903
|
-
var _excluded$
|
864
|
+
var _excluded$2 = ["component", "showPagination", "filters"],
|
904
865
|
_excluded2$1 = ["page"];
|
905
|
-
var propTypes$
|
866
|
+
var propTypes$b = {
|
906
867
|
resource: PropTypes.resource.isRequired,
|
907
868
|
query: PropTypes$1.object,
|
908
869
|
// eslint-disable-line react/forbid-prop-types
|
@@ -914,7 +875,7 @@ var propTypes$a = {
|
|
914
875
|
onQueryChange: PropTypes$1.func,
|
915
876
|
onQueryReset: PropTypes$1.func
|
916
877
|
};
|
917
|
-
var defaultProps$
|
878
|
+
var defaultProps$b = {
|
918
879
|
query: null,
|
919
880
|
paginated: true,
|
920
881
|
component: null,
|
@@ -938,7 +899,7 @@ var ResourceItemsList = function ResourceItemsList(_ref) {
|
|
938
899
|
showPagination = _resource$index2$show === void 0 ? true : _resource$index2$show,
|
939
900
|
_resource$index2$filt = _resource$index2.filters,
|
940
901
|
filters = _resource$index2$filt === void 0 ? null : _resource$index2$filt,
|
941
|
-
listProps = _objectWithoutProperties(_resource$index2, _excluded$
|
902
|
+
listProps = _objectWithoutProperties(_resource$index2, _excluded$2);
|
942
903
|
var _usePanneauColorSchem = usePanneauColorScheme(),
|
943
904
|
_usePanneauColorSchem2 = _usePanneauColorSchem.background,
|
944
905
|
theme = _usePanneauColorSchem2 === void 0 ? null : _usePanneauColorSchem2;
|
@@ -988,16 +949,16 @@ var ResourceItemsList = function ResourceItemsList(_ref) {
|
|
988
949
|
className: "mt-4 mb-1"
|
989
950
|
}) : null);
|
990
951
|
};
|
991
|
-
ResourceItemsList.propTypes = propTypes$
|
992
|
-
ResourceItemsList.defaultProps = defaultProps$
|
952
|
+
ResourceItemsList.propTypes = propTypes$b;
|
953
|
+
ResourceItemsList.defaultProps = defaultProps$b;
|
993
954
|
|
994
|
-
var _excluded$
|
995
|
-
var propTypes$
|
955
|
+
var _excluded$1 = ["id", "component"];
|
956
|
+
var propTypes$a = {
|
996
957
|
resource: PropTypes.resource.isRequired,
|
997
958
|
defaultActions: PropTypes$1.arrayOf(PropTypes$1.object) // eslint-disable-line react/forbid-prop-types
|
998
959
|
};
|
999
960
|
|
1000
|
-
var defaultProps$
|
961
|
+
var defaultProps$a = {
|
1001
962
|
defaultActions: ['create']
|
1002
963
|
};
|
1003
964
|
var ResourceIndexPage = function ResourceIndexPage(_ref) {
|
@@ -1032,7 +993,7 @@ var ResourceIndexPage = function ResourceIndexPage(_ref) {
|
|
1032
993
|
var componentsManager = useComponentsManager();
|
1033
994
|
var _useLocation = useLocation(),
|
1034
995
|
search = _useLocation.search;
|
1035
|
-
var
|
996
|
+
var history = useHistory();
|
1036
997
|
var query = useMemo(function () {
|
1037
998
|
return parse(search);
|
1038
999
|
}, [search]);
|
@@ -1051,21 +1012,19 @@ var ResourceIndexPage = function ResourceIndexPage(_ref) {
|
|
1051
1012
|
var value = submitQuery[key];
|
1052
1013
|
return value !== null ? _objectSpread(_objectSpread({}, currentQuery), {}, _defineProperty({}, key, value)) : currentQuery;
|
1053
1014
|
}, null) : null;
|
1054
|
-
|
1015
|
+
history.push("".concat(url).concat(newQuery !== null ? "?".concat(stringify(newQuery, {
|
1055
1016
|
arrayFormat: 'bracket'
|
1056
1017
|
})) : ''));
|
1057
|
-
}, [
|
1018
|
+
}, [history, url, query, paginated]);
|
1058
1019
|
var onQueryReset = useCallback(function () {
|
1059
1020
|
var queryString = stringify(null, {
|
1060
1021
|
arrayFormat: 'bracket'
|
1061
1022
|
});
|
1062
|
-
|
1063
|
-
}, [
|
1023
|
+
history.push("".concat(url, "?").concat(queryString));
|
1024
|
+
}, [history, url, paginated]);
|
1064
1025
|
var onClickCloseAlert = useCallback(function () {
|
1065
|
-
|
1066
|
-
|
1067
|
-
});
|
1068
|
-
}, [navigate, url]);
|
1026
|
+
history.replace(url);
|
1027
|
+
}, [history, url]);
|
1069
1028
|
return /*#__PURE__*/React.createElement(ResourceProvider, {
|
1070
1029
|
resource: resource
|
1071
1030
|
}, /*#__PURE__*/React.createElement(MainLayout, null, /*#__PURE__*/React.createElement(PageHeader, {
|
@@ -1076,7 +1035,7 @@ var ResourceIndexPage = function ResourceIndexPage(_ref) {
|
|
1076
1035
|
var id = _ref5.id,
|
1077
1036
|
_ref5$component = _ref5.component,
|
1078
1037
|
component = _ref5$component === void 0 ? Button : _ref5$component,
|
1079
|
-
actionProps = _objectWithoutProperties(_ref5, _excluded$
|
1038
|
+
actionProps = _objectWithoutProperties(_ref5, _excluded$1);
|
1080
1039
|
var ActionComponent = isString(component) ? componentsManager.getComponent(component) : component;
|
1081
1040
|
return ActionComponent !== null ? /*#__PURE__*/React.createElement(ActionComponent, Object.assign({
|
1082
1041
|
key: "action-".concat(id)
|
@@ -1123,13 +1082,13 @@ var ResourceIndexPage = function ResourceIndexPage(_ref) {
|
|
1123
1082
|
onQueryReset: onQueryReset
|
1124
1083
|
}))));
|
1125
1084
|
};
|
1126
|
-
ResourceIndexPage.propTypes = propTypes$
|
1127
|
-
ResourceIndexPage.defaultProps = defaultProps$
|
1085
|
+
ResourceIndexPage.propTypes = propTypes$a;
|
1086
|
+
ResourceIndexPage.defaultProps = defaultProps$a;
|
1128
1087
|
|
1129
|
-
var propTypes$
|
1088
|
+
var propTypes$9 = {
|
1130
1089
|
resource: PropTypes.resource.isRequired
|
1131
1090
|
};
|
1132
|
-
var defaultProps$
|
1091
|
+
var defaultProps$9 = {};
|
1133
1092
|
var ResourceShowPage = function ResourceShowPage(_ref) {
|
1134
1093
|
var resource = _ref.resource;
|
1135
1094
|
return /*#__PURE__*/React.createElement(ResourceProvider, {
|
@@ -1140,12 +1099,12 @@ var ResourceShowPage = function ResourceShowPage(_ref) {
|
|
1140
1099
|
className: "container-sm"
|
1141
1100
|
}, "Show page")));
|
1142
1101
|
};
|
1143
|
-
ResourceShowPage.propTypes = propTypes$
|
1144
|
-
ResourceShowPage.defaultProps = defaultProps$
|
1102
|
+
ResourceShowPage.propTypes = propTypes$9;
|
1103
|
+
ResourceShowPage.defaultProps = defaultProps$9;
|
1145
1104
|
|
1146
1105
|
/* eslint-disable react/jsx-props-no-spreading */
|
1147
|
-
var propTypes$
|
1148
|
-
var defaultProps$
|
1106
|
+
var propTypes$8 = {};
|
1107
|
+
var defaultProps$8 = {};
|
1149
1108
|
var HomePage = function HomePage() {
|
1150
1109
|
var route = useUrlGenerator();
|
1151
1110
|
var resources = usePanneauResources();
|
@@ -1181,26 +1140,26 @@ var HomePage = function HomePage() {
|
|
1181
1140
|
}));
|
1182
1141
|
})));
|
1183
1142
|
};
|
1184
|
-
HomePage.propTypes = propTypes$
|
1185
|
-
HomePage.defaultProps = defaultProps$
|
1143
|
+
HomePage.propTypes = propTypes$8;
|
1144
|
+
HomePage.defaultProps = defaultProps$8;
|
1186
1145
|
|
1187
|
-
var propTypes$
|
1188
|
-
var defaultProps$
|
1146
|
+
var propTypes$7 = {};
|
1147
|
+
var defaultProps$7 = {};
|
1189
1148
|
var AccountPage = function AccountPage() {
|
1190
1149
|
return /*#__PURE__*/React.createElement(MainLayout, null, /*#__PURE__*/React.createElement("div", {
|
1191
1150
|
className: "container-sm py-4"
|
1192
1151
|
}, "Account page"));
|
1193
1152
|
};
|
1194
|
-
AccountPage.propTypes = propTypes$
|
1195
|
-
AccountPage.defaultProps = defaultProps$
|
1153
|
+
AccountPage.propTypes = propTypes$7;
|
1154
|
+
AccountPage.defaultProps = defaultProps$7;
|
1196
1155
|
|
1197
1156
|
/* eslint-disable react/jsx-props-no-spreading */
|
1198
|
-
var propTypes$
|
1157
|
+
var propTypes$6 = {
|
1199
1158
|
fields: PropTypes.fields,
|
1200
1159
|
className: PropTypes$1.string,
|
1201
1160
|
onSuccess: PropTypes$1.func
|
1202
1161
|
};
|
1203
|
-
var defaultProps$
|
1162
|
+
var defaultProps$6 = {
|
1204
1163
|
fields: [{
|
1205
1164
|
name: 'email',
|
1206
1165
|
type: 'email',
|
@@ -1272,14 +1231,14 @@ var LoginForm = function LoginForm(_ref) {
|
|
1272
1231
|
})
|
1273
1232
|
});
|
1274
1233
|
};
|
1275
|
-
LoginForm.propTypes = propTypes$
|
1276
|
-
LoginForm.defaultProps = defaultProps$
|
1234
|
+
LoginForm.propTypes = propTypes$6;
|
1235
|
+
LoginForm.defaultProps = defaultProps$6;
|
1277
1236
|
|
1278
|
-
var propTypes$
|
1237
|
+
var propTypes$5 = {
|
1279
1238
|
children: PropTypes$1.node.isRequired,
|
1280
1239
|
fullscreen: PropTypes$1.bool
|
1281
1240
|
};
|
1282
|
-
var defaultProps$
|
1241
|
+
var defaultProps$5 = {
|
1283
1242
|
fullscreen: false
|
1284
1243
|
};
|
1285
1244
|
var GuestLayout = function GuestLayout(_ref) {
|
@@ -1305,12 +1264,12 @@ var GuestLayout = function GuestLayout(_ref) {
|
|
1305
1264
|
})
|
1306
1265
|
}, children)));
|
1307
1266
|
};
|
1308
|
-
GuestLayout.propTypes = propTypes$
|
1309
|
-
GuestLayout.defaultProps = defaultProps$
|
1267
|
+
GuestLayout.propTypes = propTypes$5;
|
1268
|
+
GuestLayout.defaultProps = defaultProps$5;
|
1310
1269
|
|
1311
1270
|
/* eslint-disable react/jsx-props-no-spreading */
|
1312
|
-
var propTypes$
|
1313
|
-
var defaultProps$
|
1271
|
+
var propTypes$4 = {};
|
1272
|
+
var defaultProps$4 = {};
|
1314
1273
|
var LoginPage = function LoginPage() {
|
1315
1274
|
var route = useUrlGenerator();
|
1316
1275
|
var onSuccess = useCallback(function () {
|
@@ -1336,8 +1295,8 @@ var LoginPage = function LoginPage() {
|
|
1336
1295
|
onSuccess: onSuccess
|
1337
1296
|
})))));
|
1338
1297
|
};
|
1339
|
-
LoginPage.propTypes = propTypes$
|
1340
|
-
LoginPage.defaultProps = defaultProps$
|
1298
|
+
LoginPage.propTypes = propTypes$4;
|
1299
|
+
LoginPage.defaultProps = defaultProps$4;
|
1341
1300
|
|
1342
1301
|
var messages = defineMessages({
|
1343
1302
|
metaTitle401: {
|
@@ -1432,10 +1391,10 @@ var messages = defineMessages({
|
|
1432
1391
|
}]
|
1433
1392
|
}
|
1434
1393
|
});
|
1435
|
-
var propTypes$
|
1394
|
+
var propTypes$3 = {
|
1436
1395
|
statusCode: PropTypes.statusCode
|
1437
1396
|
};
|
1438
|
-
var defaultProps$
|
1397
|
+
var defaultProps$3 = {
|
1439
1398
|
statusCode: null
|
1440
1399
|
};
|
1441
1400
|
var ErrorPage = function ErrorPage(_ref) {
|
@@ -1450,20 +1409,37 @@ var ErrorPage = function ErrorPage(_ref) {
|
|
1450
1409
|
className: "col-12 col-sm-8 col-md-6"
|
1451
1410
|
}, /*#__PURE__*/React.createElement("h1", null, /*#__PURE__*/React.createElement(Label, null, messages["title".concat(statusCode || 404)])), /*#__PURE__*/React.createElement("p", null, /*#__PURE__*/React.createElement(Label, null, messages["description".concat(statusCode || 404)]))))));
|
1452
1411
|
};
|
1453
|
-
ErrorPage.propTypes = propTypes$
|
1454
|
-
ErrorPage.defaultProps = defaultProps$
|
1412
|
+
ErrorPage.propTypes = propTypes$3;
|
1413
|
+
ErrorPage.defaultProps = defaultProps$3;
|
1455
1414
|
|
1456
|
-
var
|
1457
|
-
|
1458
|
-
|
1459
|
-
|
1460
|
-
|
1461
|
-
|
1415
|
+
var basePages = /*#__PURE__*/Object.freeze({
|
1416
|
+
__proto__: null,
|
1417
|
+
ResourceCreate: ResourceCreatePage,
|
1418
|
+
ResourceDelete: ResourceDeletePage,
|
1419
|
+
ResourceEdit: ResourceEditPage,
|
1420
|
+
ResourceIndex: ResourceIndexPage,
|
1421
|
+
ResourceShow: ResourceShowPage,
|
1422
|
+
Home: HomePage,
|
1423
|
+
Account: AccountPage,
|
1424
|
+
Login: LoginPage,
|
1425
|
+
Error: ErrorPage
|
1426
|
+
});
|
1427
|
+
|
1428
|
+
var _excluded = ["path", "component", "exact"],
|
1429
|
+
_excluded2 = ["id"];
|
1430
|
+
var propTypes$2 = {
|
1431
|
+
resource: PropTypes.resource.isRequired
|
1432
|
+
};
|
1433
|
+
var defaultProps$2 = {};
|
1434
|
+
var ResourceRoutes = function ResourceRoutes(_ref) {
|
1435
|
+
var resource = _ref.resource;
|
1462
1436
|
var resourceId = resource.id,
|
1463
1437
|
_resource$pages = resource.pages,
|
1464
|
-
|
1438
|
+
pages = _resource$pages === void 0 ? {} : _resource$pages,
|
1465
1439
|
_resource$extraRoutes = resource.extraRoutes,
|
1466
1440
|
extraRoutes = _resource$extraRoutes === void 0 ? [] : _resource$extraRoutes;
|
1441
|
+
var route = useUrlGenerator();
|
1442
|
+
var componentsManager = useComponentsManager();
|
1467
1443
|
|
1468
1444
|
// Load custom pages from resource
|
1469
1445
|
var _ref2 = pages || {},
|
@@ -1477,85 +1453,96 @@ var createResourceRoutes = function createResourceRoutes(resource, _ref) {
|
|
1477
1453
|
editPage = _ref2$edit === void 0 ? null : _ref2$edit,
|
1478
1454
|
_ref2$delete = _ref2["delete"],
|
1479
1455
|
deletePage = _ref2$delete === void 0 ? null : _ref2$delete;
|
1480
|
-
var
|
1481
|
-
|
1482
|
-
|
1483
|
-
|
1484
|
-
|
1485
|
-
|
1486
|
-
|
1487
|
-
|
1488
|
-
|
1489
|
-
|
1490
|
-
|
1491
|
-
|
1492
|
-
|
1493
|
-
|
1494
|
-
|
1495
|
-
|
1496
|
-
|
1456
|
+
var ResourceIndexComponent = indexPage !== null && typeof indexPage.component !== 'undefined' ? componentsManager.getComponent(indexPage.component) : ResourceIndexPage;
|
1457
|
+
var ResourceShowComponent = showPage !== null && typeof showPage.component !== 'undefined' ? componentsManager.getComponent(showPage.component) : ResourceShowPage;
|
1458
|
+
var ResourceCreateComponent = createPage !== null && typeof createPage.component !== 'undefined' ? componentsManager.getComponent(createPage.component) : ResourceCreatePage;
|
1459
|
+
var ResourceEditComponent = editPage !== null && typeof editPage.component !== 'undefined' ? componentsManager.getComponent(editPage.component) : ResourceEditPage;
|
1460
|
+
var ResourceDeleteComponent = deletePage !== null && typeof deletePage.component !== 'undefined' ? componentsManager.getComponent(deletePage.component) : ResourceDeletePage;
|
1461
|
+
return /*#__PURE__*/React.createElement(Switch, null, extraRoutes.map(function (_ref3) {
|
1462
|
+
var path = _ref3.path,
|
1463
|
+
component = _ref3.component,
|
1464
|
+
_ref3$exact = _ref3.exact,
|
1465
|
+
exact = _ref3$exact === void 0 ? true : _ref3$exact,
|
1466
|
+
pageProps = _objectWithoutProperties(_ref3, _excluded);
|
1467
|
+
var RouteComponent = componentsManager.getComponent(component);
|
1468
|
+
return RouteComponent !== null ? /*#__PURE__*/React.createElement(Route, {
|
1469
|
+
key: "route-".concat(path),
|
1470
|
+
path: path,
|
1471
|
+
exact: exact,
|
1472
|
+
render: function render(_ref4) {
|
1473
|
+
var _ref4$match$params = _ref4.match.params,
|
1474
|
+
id = _ref4$match$params.id,
|
1475
|
+
params = _objectWithoutProperties(_ref4$match$params, _excluded2);
|
1476
|
+
return /*#__PURE__*/React.createElement(RouteComponent, Object.assign({
|
1477
|
+
resource: resource,
|
1478
|
+
itemId: id
|
1479
|
+
}, pageProps, params));
|
1480
|
+
}
|
1481
|
+
}) : null;
|
1482
|
+
}), /*#__PURE__*/React.createElement(Route, {
|
1497
1483
|
path: route('resources.index', {
|
1498
1484
|
resource: resourceId
|
1499
1485
|
}),
|
1500
1486
|
exact: true,
|
1501
|
-
|
1502
|
-
|
1503
|
-
|
1487
|
+
render: function render() {
|
1488
|
+
return /*#__PURE__*/React.createElement(ResourceIndexComponent, {
|
1489
|
+
resource: resource
|
1490
|
+
});
|
1491
|
+
}
|
1504
1492
|
}), /*#__PURE__*/React.createElement(Route, {
|
1505
1493
|
path: route('resources.create', {
|
1506
1494
|
resource: resourceId
|
1507
1495
|
}),
|
1508
1496
|
exact: true,
|
1509
|
-
|
1510
|
-
|
1511
|
-
|
1497
|
+
render: function render() {
|
1498
|
+
return /*#__PURE__*/React.createElement(ResourceCreateComponent, {
|
1499
|
+
resource: resource
|
1500
|
+
});
|
1501
|
+
}
|
1512
1502
|
}), /*#__PURE__*/React.createElement(Route, {
|
1513
1503
|
path: route('resources.show', {
|
1514
1504
|
resource: resourceId,
|
1515
1505
|
id: ':id'
|
1516
1506
|
}),
|
1517
1507
|
exact: true,
|
1518
|
-
|
1519
|
-
|
1520
|
-
|
1508
|
+
render: function render(_ref5) {
|
1509
|
+
var id = _ref5.match.params.id;
|
1510
|
+
return /*#__PURE__*/React.createElement(ResourceShowComponent, {
|
1511
|
+
resource: resource,
|
1512
|
+
itemId: id
|
1513
|
+
});
|
1514
|
+
}
|
1521
1515
|
}), /*#__PURE__*/React.createElement(Route, {
|
1522
1516
|
path: route('resources.edit', {
|
1523
1517
|
resource: resourceId,
|
1524
1518
|
id: ':id'
|
1525
1519
|
}),
|
1526
1520
|
exact: true,
|
1527
|
-
|
1528
|
-
|
1529
|
-
|
1521
|
+
render: function render(_ref6) {
|
1522
|
+
var id = _ref6.match.params.id;
|
1523
|
+
return /*#__PURE__*/React.createElement(ResourceEditComponent, {
|
1524
|
+
resource: resource,
|
1525
|
+
itemId: id
|
1526
|
+
});
|
1527
|
+
}
|
1530
1528
|
}), /*#__PURE__*/React.createElement(Route, {
|
1531
1529
|
path: route('resources.delete', {
|
1532
1530
|
resource: resourceId,
|
1533
1531
|
id: ':id'
|
1534
1532
|
}),
|
1535
1533
|
exact: true,
|
1536
|
-
|
1537
|
-
|
1538
|
-
|
1539
|
-
|
1540
|
-
|
1541
|
-
|
1542
|
-
|
1543
|
-
|
1544
|
-
pageProps = _objectWithoutProperties(_ref4, _excluded$1);
|
1545
|
-
var RouteComponent = componentsManager.getComponent(component);
|
1546
|
-
return RouteComponent !== null ? /*#__PURE__*/React.createElement(Route, {
|
1547
|
-
key: "route-".concat(path),
|
1548
|
-
path: path,
|
1549
|
-
exact: exact,
|
1550
|
-
element: /*#__PURE__*/React.createElement(RouteComponent, Object.assign({
|
1551
|
-
resource: resource
|
1552
|
-
}, pageProps))
|
1553
|
-
}) : null;
|
1554
|
-
})));
|
1534
|
+
render: function render(_ref7) {
|
1535
|
+
var id = _ref7.match.params.id;
|
1536
|
+
return /*#__PURE__*/React.createElement(ResourceDeleteComponent, {
|
1537
|
+
resource: resource,
|
1538
|
+
itemId: id
|
1539
|
+
});
|
1540
|
+
}
|
1541
|
+
}));
|
1555
1542
|
};
|
1543
|
+
ResourceRoutes.propTypes = propTypes$2;
|
1544
|
+
ResourceRoutes.defaultProps = defaultProps$2;
|
1556
1545
|
|
1557
|
-
var _excluded = ["home", "login", "account", "error", "index", "show", "create", "edit", "delete"],
|
1558
|
-
_excluded2 = ["path", "route", "component", "exact"];
|
1559
1546
|
var propTypes$1 = {
|
1560
1547
|
statusCode: PropTypes.statusCode
|
1561
1548
|
};
|
@@ -1564,9 +1551,13 @@ var defaultProps$1 = {
|
|
1564
1551
|
};
|
1565
1552
|
var PanneauRoutes = function PanneauRoutes(_ref) {
|
1566
1553
|
var initialStatusCode = _ref.statusCode;
|
1554
|
+
var _usePanneau = usePanneau(),
|
1555
|
+
_usePanneau$pages = _usePanneau.pages,
|
1556
|
+
pages = _usePanneau$pages === void 0 ? {} : _usePanneau$pages;
|
1567
1557
|
var routes = useRoutes();
|
1568
1558
|
var _useLocation = useLocation(),
|
1569
|
-
pathname = _useLocation.pathname;
|
1559
|
+
pathname = _useLocation.pathname; // search
|
1560
|
+
|
1570
1561
|
var _useState = useState({
|
1571
1562
|
statusCode: initialStatusCode,
|
1572
1563
|
pathname: pathname
|
@@ -1574,26 +1565,27 @@ var PanneauRoutes = function PanneauRoutes(_ref) {
|
|
1574
1565
|
_useState2 = _slicedToArray(_useState, 2),
|
1575
1566
|
_useState2$ = _useState2[0],
|
1576
1567
|
statusCode = _useState2$.statusCode,
|
1577
|
-
|
1568
|
+
initialPathname = _useState2$.pathname,
|
1578
1569
|
setInitialRequest = _useState2[1];
|
1579
1570
|
var user = useUser();
|
1580
1571
|
var route = useUrlGenerator();
|
1581
1572
|
var resources = usePanneauResources();
|
1582
|
-
|
1573
|
+
|
1574
|
+
// const nextUrl = useMemo(() => {
|
1575
|
+
// const query = parseQuery(search);
|
1576
|
+
// return query !== null ? query.next || null : null;
|
1577
|
+
// }, [search]);
|
1578
|
+
|
1583
1579
|
useEffect(function () {
|
1584
|
-
if (pathname !==
|
1580
|
+
if (pathname !== initialPathname) {
|
1585
1581
|
setInitialRequest({
|
1586
1582
|
pathname: pathname,
|
1587
1583
|
statusCode: null
|
1588
1584
|
});
|
1589
1585
|
}
|
1590
|
-
}, [pathname,
|
1586
|
+
}, [pathname, initialPathname]);
|
1591
1587
|
|
1592
1588
|
// Custom Pages
|
1593
|
-
var _usePanneau = usePanneau(),
|
1594
|
-
_usePanneau$pages = _usePanneau.pages,
|
1595
|
-
pages = _usePanneau$pages === void 0 ? null : _usePanneau$pages,
|
1596
|
-
routesDefinition = _usePanneau.routes;
|
1597
1589
|
var _ref2 = pages || {},
|
1598
1590
|
_ref2$home = _ref2.home,
|
1599
1591
|
homePage = _ref2$home === void 0 ? null : _ref2$home,
|
@@ -1603,94 +1595,55 @@ var PanneauRoutes = function PanneauRoutes(_ref) {
|
|
1603
1595
|
accountPage = _ref2$account === void 0 ? null : _ref2$account,
|
1604
1596
|
_ref2$error = _ref2.error,
|
1605
1597
|
errorPage = _ref2$error === void 0 ? null : _ref2$error;
|
1606
|
-
|
1607
|
-
|
1608
|
-
|
1609
|
-
|
1610
|
-
|
1611
|
-
|
1612
|
-
|
1613
|
-
|
1614
|
-
|
1615
|
-
|
1616
|
-
|
1617
|
-
|
1618
|
-
|
1619
|
-
|
1620
|
-
|
1621
|
-
|
1622
|
-
}).filter(function (_ref3) {
|
1623
|
-
var _ref3$path = _ref3.path,
|
1624
|
-
path = _ref3$path === void 0 ? null : _ref3$path,
|
1625
|
-
_ref3$route = _ref3.route,
|
1626
|
-
pageRoute = _ref3$route === void 0 ? null : _ref3$route;
|
1627
|
-
return path !== null || pageRoute !== null;
|
1628
|
-
})));
|
1629
|
-
}, [routesDefinition, otherPages]);
|
1630
|
-
var HomeComponent = componentsManager.getComponent(homePage === null || homePage === void 0 ? void 0 : homePage.component) || HomePage;
|
1631
|
-
var LoginComponent = componentsManager.getComponent(loginPage === null || loginPage === void 0 ? void 0 : loginPage.component) || LoginPage;
|
1632
|
-
var AccountComponent = componentsManager.getComponent(accountPage === null || accountPage === void 0 ? void 0 : accountPage.component) || AccountPage;
|
1633
|
-
var ErrorComponent = componentsManager.getComponent(errorPage === null || errorPage === void 0 ? void 0 : errorPage.component) || ErrorPage;
|
1634
|
-
|
1635
|
-
// If there is an error status code
|
1636
|
-
if (statusCode !== null) {
|
1637
|
-
return /*#__PURE__*/React.createElement(ErrorComponent, {
|
1638
|
-
statusCode: statusCode
|
1639
|
-
});
|
1640
|
-
}
|
1641
|
-
|
1642
|
-
// If user is unauthenticated
|
1643
|
-
if (user === null) {
|
1644
|
-
return /*#__PURE__*/React.createElement(Routes, null, /*#__PURE__*/React.createElement(Route, {
|
1645
|
-
path: routes['auth.login'],
|
1646
|
-
exact: true,
|
1647
|
-
element: /*#__PURE__*/React.createElement(LoginComponent, null)
|
1648
|
-
}), /*#__PURE__*/React.createElement(Route, {
|
1649
|
-
path: "*",
|
1650
|
-
element: /*#__PURE__*/React.createElement(Navigate, {
|
1651
|
-
to: "".concat(route('auth.login'), "?next=").concat(encodeURIComponent(pathname)),
|
1652
|
-
replace: true
|
1653
|
-
})
|
1654
|
-
}));
|
1655
|
-
}
|
1656
|
-
|
1657
|
-
// Normal routes
|
1658
|
-
return /*#__PURE__*/React.createElement(Routes, null, /*#__PURE__*/React.createElement(Route, {
|
1598
|
+
var HomeComponent = getComponentFromName((homePage === null || homePage === void 0 ? void 0 : homePage.component) || 'home', basePages, homePage === null || homePage === void 0 ? void 0 : homePage.component);
|
1599
|
+
var LoginComponent = getComponentFromName((loginPage === null || loginPage === void 0 ? void 0 : loginPage.component) || 'login', basePages, loginPage === null || loginPage === void 0 ? void 0 : loginPage.component);
|
1600
|
+
var AccountComponent = getComponentFromName((accountPage === null || accountPage === void 0 ? void 0 : accountPage.component) || 'account', basePages, accountPage === null || accountPage === void 0 ? void 0 : accountPage.component);
|
1601
|
+
var ErrorComponent = getComponentFromName((errorPage === null || errorPage === void 0 ? void 0 : errorPage.component) || 'error', basePages, errorPage === null || errorPage === void 0 ? void 0 : errorPage.component);
|
1602
|
+
return /*#__PURE__*/React.createElement(Switch, null, statusCode !== null ? /*#__PURE__*/React.createElement(Route, {
|
1603
|
+
path: "*",
|
1604
|
+
render: function render() {
|
1605
|
+
return /*#__PURE__*/React.createElement(ErrorComponent, {
|
1606
|
+
statusCode: statusCode
|
1607
|
+
});
|
1608
|
+
}
|
1609
|
+
}) : null, user === null ? /*#__PURE__*/React.createElement(Route, {
|
1610
|
+
path: "*",
|
1611
|
+
exact: true,
|
1612
|
+
component: LoginComponent
|
1613
|
+
}) : null, user !== null ? /*#__PURE__*/React.createElement(Route, {
|
1659
1614
|
path: routes.home,
|
1660
1615
|
exact: true,
|
1661
|
-
|
1616
|
+
component: HomeComponent
|
1617
|
+
}) : /*#__PURE__*/React.createElement(Redirect, {
|
1618
|
+
from: routes.home,
|
1619
|
+
exact: true,
|
1620
|
+
to: route('login')
|
1662
1621
|
}), resources.map(function (resource) {
|
1663
|
-
var
|
1664
|
-
resourceId =
|
1665
|
-
return /*#__PURE__*/React.createElement(
|
1666
|
-
key: "resource-".concat(resourceId)
|
1667
|
-
|
1668
|
-
|
1669
|
-
|
1670
|
-
|
1671
|
-
|
1622
|
+
var _ref3 = resource || {},
|
1623
|
+
resourceId = _ref3.id;
|
1624
|
+
return user !== null ? /*#__PURE__*/React.createElement(Route, {
|
1625
|
+
key: "resource-".concat(resourceId),
|
1626
|
+
path: route('resources.index', {
|
1627
|
+
resource: resourceId
|
1628
|
+
}),
|
1629
|
+
render: function render() {
|
1630
|
+
return /*#__PURE__*/React.createElement(ResourceRoutes, {
|
1631
|
+
resource: resource
|
1632
|
+
});
|
1633
|
+
}
|
1634
|
+
}) : /*#__PURE__*/React.createElement(Redirect, {
|
1635
|
+
key: "resource-".concat(resourceId),
|
1636
|
+
from: route('resources.index', {
|
1637
|
+
resource: resourceId
|
1638
|
+
}),
|
1639
|
+
to: "".concat(route('login'), "?next=").concat(encodeURIComponent(pathname))
|
1640
|
+
});
|
1672
1641
|
}), /*#__PURE__*/React.createElement(Route, {
|
1673
|
-
path:
|
1674
|
-
|
1675
|
-
element: /*#__PURE__*/React.createElement(AccountComponent, null)
|
1676
|
-
}), customRoutes.map(function (_ref5) {
|
1677
|
-
var _ref5$path = _ref5.path,
|
1678
|
-
path = _ref5$path === void 0 ? null : _ref5$path,
|
1679
|
-
_ref5$route = _ref5.route,
|
1680
|
-
pageRoute = _ref5$route === void 0 ? null : _ref5$route,
|
1681
|
-
component = _ref5.component,
|
1682
|
-
_ref5$exact = _ref5.exact,
|
1683
|
-
exact = _ref5$exact === void 0 ? true : _ref5$exact,
|
1684
|
-
props = _objectWithoutProperties(_ref5, _excluded2);
|
1685
|
-
var PageComponent = componentsManager.getComponent(component);
|
1686
|
-
return PageComponent !== null ? /*#__PURE__*/React.createElement(Route, {
|
1687
|
-
path: path || routes[pageRoute],
|
1688
|
-
exact: exact,
|
1689
|
-
element: /*#__PURE__*/React.createElement(PageComponent, props)
|
1690
|
-
}) : null;
|
1642
|
+
path: route('auth.account'),
|
1643
|
+
component: AccountComponent
|
1691
1644
|
}), /*#__PURE__*/React.createElement(Route, {
|
1692
1645
|
path: "*",
|
1693
|
-
|
1646
|
+
component: ErrorComponent
|
1694
1647
|
}));
|
1695
1648
|
};
|
1696
1649
|
PanneauRoutes.propTypes = propTypes$1;
|