@panneau/app 1.0.4 → 2.0.0
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 +330 -283
- package/lib/index.js +332 -282
- package/package.json +28 -28
- package/scss/styles.scss +8 -1
package/lib/index.js
CHANGED
@@ -18,17 +18,20 @@ var FiltersProvider = require('@panneau/filters');
|
|
18
18
|
var FormsProvider = require('@panneau/forms');
|
19
19
|
var intl = require('@panneau/intl');
|
20
20
|
var ListsProvider = require('@panneau/lists');
|
21
|
-
var
|
22
|
-
var utils = require('@panneau/core/utils');
|
21
|
+
var _toConsumableArray = require('@babel/runtime/helpers/toConsumableArray');
|
23
22
|
var _objectWithoutProperties = require('@babel/runtime/helpers/objectWithoutProperties');
|
23
|
+
var _slicedToArray = require('@babel/runtime/helpers/slicedToArray');
|
24
|
+
var isObject = require('lodash/isObject');
|
24
25
|
var queryString = require('query-string');
|
25
26
|
var reactIntl = require('react-intl');
|
26
27
|
var hooks = require('@panneau/core/hooks');
|
28
|
+
var utils = require('@panneau/core/utils');
|
27
29
|
var classNames = require('classnames');
|
28
30
|
var Button = require('@panneau/element-button');
|
29
31
|
var Form = require('@panneau/element-form');
|
30
|
-
var
|
32
|
+
var isArray = require('lodash/isArray');
|
31
33
|
var Menu = require('@panneau/element-menu');
|
34
|
+
var Navbar = require('@panneau/element-navbar');
|
32
35
|
var Label = require('@panneau/element-label');
|
33
36
|
var isString = require('lodash/isString');
|
34
37
|
var Alert = require('@panneau/element-alert');
|
@@ -50,13 +53,16 @@ var FieldsProvider__default = /*#__PURE__*/_interopDefaultLegacy(FieldsProvider)
|
|
50
53
|
var FiltersProvider__default = /*#__PURE__*/_interopDefaultLegacy(FiltersProvider);
|
51
54
|
var FormsProvider__default = /*#__PURE__*/_interopDefaultLegacy(FormsProvider);
|
52
55
|
var ListsProvider__default = /*#__PURE__*/_interopDefaultLegacy(ListsProvider);
|
53
|
-
var
|
56
|
+
var _toConsumableArray__default = /*#__PURE__*/_interopDefaultLegacy(_toConsumableArray);
|
54
57
|
var _objectWithoutProperties__default = /*#__PURE__*/_interopDefaultLegacy(_objectWithoutProperties);
|
58
|
+
var _slicedToArray__default = /*#__PURE__*/_interopDefaultLegacy(_slicedToArray);
|
59
|
+
var isObject__default = /*#__PURE__*/_interopDefaultLegacy(isObject);
|
55
60
|
var classNames__default = /*#__PURE__*/_interopDefaultLegacy(classNames);
|
56
61
|
var Button__default = /*#__PURE__*/_interopDefaultLegacy(Button);
|
57
62
|
var Form__default = /*#__PURE__*/_interopDefaultLegacy(Form);
|
58
|
-
var
|
63
|
+
var isArray__default = /*#__PURE__*/_interopDefaultLegacy(isArray);
|
59
64
|
var Menu__default = /*#__PURE__*/_interopDefaultLegacy(Menu);
|
65
|
+
var Navbar__default = /*#__PURE__*/_interopDefaultLegacy(Navbar);
|
60
66
|
var Label__default = /*#__PURE__*/_interopDefaultLegacy(Label);
|
61
67
|
var isString__default = /*#__PURE__*/_interopDefaultLegacy(isString);
|
62
68
|
var Alert__default = /*#__PURE__*/_interopDefaultLegacy(Alert);
|
@@ -65,8 +71,8 @@ var Pagination__default = /*#__PURE__*/_interopDefaultLegacy(Pagination);
|
|
65
71
|
var _toPropertyKey__default = /*#__PURE__*/_interopDefaultLegacy(_toPropertyKey);
|
66
72
|
var FormGroup__default = /*#__PURE__*/_interopDefaultLegacy(FormGroup);
|
67
73
|
|
68
|
-
var _excluded$
|
69
|
-
var propTypes$
|
74
|
+
var _excluded$6 = ["resource", "action", "previous", "status", "value", "onSubmit", "errors", "generalError", "className"];
|
75
|
+
var propTypes$m = {
|
70
76
|
resource: core.PropTypes.resource.isRequired,
|
71
77
|
action: PropTypes__default["default"].string,
|
72
78
|
previous: PropTypes__default["default"].string,
|
@@ -80,7 +86,7 @@ var propTypes$n = {
|
|
80
86
|
errors: PropTypes__default["default"].objectOf(PropTypes__default["default"].arrayOf(PropTypes__default["default"].string)),
|
81
87
|
className: PropTypes__default["default"].string
|
82
88
|
};
|
83
|
-
var defaultProps$
|
89
|
+
var defaultProps$m = {
|
84
90
|
action: null,
|
85
91
|
previous: null,
|
86
92
|
status: null,
|
@@ -100,7 +106,7 @@ var DeleteForm = function DeleteForm(_ref) {
|
|
100
106
|
_ref.errors;
|
101
107
|
var generalError = _ref.generalError,
|
102
108
|
className = _ref.className,
|
103
|
-
props = _objectWithoutProperties__default["default"](_ref, _excluded$
|
109
|
+
props = _objectWithoutProperties__default["default"](_ref, _excluded$6);
|
104
110
|
var _ref2 = value || {},
|
105
111
|
_ref2$id = _ref2.id,
|
106
112
|
id = _ref2$id === void 0 ? null : _ref2$id;
|
@@ -171,11 +177,11 @@ var DeleteForm = function DeleteForm(_ref) {
|
|
171
177
|
}]
|
172
178
|
})))));
|
173
179
|
};
|
174
|
-
DeleteForm.propTypes = propTypes$
|
175
|
-
DeleteForm.defaultProps = defaultProps$
|
180
|
+
DeleteForm.propTypes = propTypes$m;
|
181
|
+
DeleteForm.defaultProps = defaultProps$m;
|
176
182
|
|
177
|
-
var _excluded$
|
178
|
-
var propTypes$
|
183
|
+
var _excluded$5 = ["component", "resource", "onSuccess", "item", "type", "isDelete"];
|
184
|
+
var propTypes$l = {
|
179
185
|
component: PropTypes__default["default"].string,
|
180
186
|
resource: core.PropTypes.resource.isRequired,
|
181
187
|
item: PropTypes__default["default"].object,
|
@@ -184,7 +190,7 @@ var propTypes$m = {
|
|
184
190
|
onSuccess: PropTypes__default["default"].func,
|
185
191
|
isDelete: PropTypes__default["default"].bool
|
186
192
|
};
|
187
|
-
var defaultProps$
|
193
|
+
var defaultProps$l = {
|
188
194
|
component: null,
|
189
195
|
item: null,
|
190
196
|
type: null,
|
@@ -198,7 +204,7 @@ var ResourceForm = function ResourceForm(_ref) {
|
|
198
204
|
item = _ref.item,
|
199
205
|
type = _ref.type,
|
200
206
|
isDelete = _ref.isDelete,
|
201
|
-
props = _objectWithoutProperties__default["default"](_ref, _excluded$
|
207
|
+
props = _objectWithoutProperties__default["default"](_ref, _excluded$5);
|
202
208
|
var locales = contexts.useLocales();
|
203
209
|
var FormComponents = contexts.useFormsComponents();
|
204
210
|
var _resource$fields = resource.fields,
|
@@ -326,15 +332,15 @@ var ResourceForm = function ResourceForm(_ref) {
|
|
326
332
|
onChange: setValue
|
327
333
|
})));
|
328
334
|
};
|
329
|
-
ResourceForm.propTypes = propTypes$
|
330
|
-
ResourceForm.defaultProps = defaultProps$
|
335
|
+
ResourceForm.propTypes = propTypes$l;
|
336
|
+
ResourceForm.defaultProps = defaultProps$l;
|
331
337
|
|
332
|
-
var propTypes$
|
338
|
+
var propTypes$k = {
|
333
339
|
className: PropTypes__default["default"].string,
|
334
340
|
itemClassName: PropTypes__default["default"].string,
|
335
341
|
linkClassName: PropTypes__default["default"].string
|
336
342
|
};
|
337
|
-
var defaultProps$
|
343
|
+
var defaultProps$k = {
|
338
344
|
className: null,
|
339
345
|
itemClassName: null,
|
340
346
|
linkClassName: null
|
@@ -360,7 +366,7 @@ var AccountMenu = function AccountMenu(_ref) {
|
|
360
366
|
"value": "Account"
|
361
367
|
}]
|
362
368
|
}),
|
363
|
-
href: route('
|
369
|
+
href: route('account'),
|
364
370
|
dropdown: [
|
365
371
|
// {
|
366
372
|
// label: (
|
@@ -369,7 +375,7 @@ var AccountMenu = function AccountMenu(_ref) {
|
|
369
375
|
// description="Menu label"
|
370
376
|
// />
|
371
377
|
// ),
|
372
|
-
// href: route('
|
378
|
+
// href: route('account'),
|
373
379
|
// },
|
374
380
|
{
|
375
381
|
label: /*#__PURE__*/React__default["default"].createElement(reactIntl.FormattedMessage, {
|
@@ -390,7 +396,7 @@ var AccountMenu = function AccountMenu(_ref) {
|
|
390
396
|
"value": "Login"
|
391
397
|
}]
|
392
398
|
}),
|
393
|
-
href: route('login')
|
399
|
+
href: route('auth.login')
|
394
400
|
}];
|
395
401
|
}, [user, route, onClickLogout]);
|
396
402
|
return items !== null ? /*#__PURE__*/React__default["default"].createElement(Menu__default["default"], {
|
@@ -401,15 +407,15 @@ var AccountMenu = function AccountMenu(_ref) {
|
|
401
407
|
dropdownAlign: "end"
|
402
408
|
}) : null;
|
403
409
|
};
|
404
|
-
AccountMenu.propTypes = propTypes$
|
405
|
-
AccountMenu.defaultProps = defaultProps$
|
410
|
+
AccountMenu.propTypes = propTypes$k;
|
411
|
+
AccountMenu.defaultProps = defaultProps$k;
|
406
412
|
|
407
|
-
var propTypes$
|
413
|
+
var propTypes$j = {
|
408
414
|
className: PropTypes__default["default"].string,
|
409
415
|
itemClassName: PropTypes__default["default"].string,
|
410
416
|
linkClassName: PropTypes__default["default"].string
|
411
417
|
};
|
412
|
-
var defaultProps$
|
418
|
+
var defaultProps$j = {
|
413
419
|
className: null,
|
414
420
|
itemClassName: null,
|
415
421
|
linkClassName: null
|
@@ -446,42 +452,77 @@ var ResourcesMenu = function ResourcesMenu(_ref) {
|
|
446
452
|
linkClassName: linkClassName
|
447
453
|
});
|
448
454
|
};
|
449
|
-
ResourcesMenu.propTypes = propTypes$
|
450
|
-
ResourcesMenu.defaultProps = defaultProps$
|
455
|
+
ResourcesMenu.propTypes = propTypes$j;
|
456
|
+
ResourcesMenu.defaultProps = defaultProps$j;
|
451
457
|
|
452
|
-
|
453
|
-
var
|
454
|
-
var defaultProps$j = {};
|
458
|
+
var propTypes$i = {};
|
459
|
+
var defaultProps$i = {};
|
455
460
|
var MainNavbar = function MainNavbar(props) {
|
456
461
|
var _usePanneau = contexts.usePanneau(),
|
457
|
-
name = _usePanneau.name
|
462
|
+
name = _usePanneau.name,
|
463
|
+
_usePanneau$menus = _usePanneau.menus,
|
464
|
+
menus = _usePanneau$menus === void 0 ? null : _usePanneau$menus;
|
465
|
+
var _ref = menus || {},
|
466
|
+
_ref$main = _ref.main,
|
467
|
+
main = _ref$main === void 0 ? null : _ref$main,
|
468
|
+
_ref$guest = _ref.guest,
|
469
|
+
guest = _ref$guest === void 0 ? null : _ref$guest;
|
458
470
|
var _usePanneauColorSchem = contexts.usePanneauColorScheme(),
|
459
471
|
background = _usePanneauColorSchem.background;
|
460
472
|
var route = contexts.useUrlGenerator();
|
461
473
|
var user = auth.useUser();
|
474
|
+
var items = React.useMemo(function () {
|
475
|
+
var menuItems = (user !== null ? main : guest) || [];
|
476
|
+
var hasResources = menuItems.indexOf('resources') !== -1;
|
477
|
+
var hasAccount = menuItems.indexOf('account') !== -1;
|
478
|
+
return [!hasResources && user !== null ? 'resources' : null].concat(_toConsumableArray__default["default"](menuItems), [!hasAccount && menuItems.indexOf('separator') === -1 ? 'separator' : null, !hasAccount ? 'account' : null]).filter(function (it) {
|
479
|
+
return it !== null;
|
480
|
+
}).reduce(function (currentItems, item) {
|
481
|
+
if (item === 'resources') {
|
482
|
+
return [].concat(_toConsumableArray__default["default"](currentItems), [/*#__PURE__*/React__default["default"].createElement(ResourcesMenu, {
|
483
|
+
className: "navbar-nav",
|
484
|
+
itemClassName: "nav-item",
|
485
|
+
linkClassName: "nav-link"
|
486
|
+
})]);
|
487
|
+
}
|
488
|
+
if (item === 'account') {
|
489
|
+
return [].concat(_toConsumableArray__default["default"](currentItems), [/*#__PURE__*/React__default["default"].createElement(AccountMenu, {
|
490
|
+
className: "navbar-nav",
|
491
|
+
itemClassName: "nav-item",
|
492
|
+
linkClassName: "nav-link"
|
493
|
+
})]);
|
494
|
+
}
|
495
|
+
if (item === 'separator') {
|
496
|
+
return [].concat(_toConsumableArray__default["default"](currentItems), [/*#__PURE__*/React__default["default"].createElement("span", {
|
497
|
+
className: "ms-auto"
|
498
|
+
})]);
|
499
|
+
}
|
500
|
+
var lastItem = currentItems.length > 0 ? currentItems[currentItems.length - 1] : null;
|
501
|
+
return isArray__default["default"](lastItem) ? [].concat(_toConsumableArray__default["default"](currentItems.slice(0, currentItems.length - 1)), [[].concat(_toConsumableArray__default["default"](lastItem), [item])]) : [].concat(_toConsumableArray__default["default"](currentItems), [[item]]);
|
502
|
+
}, []).map(function (it) {
|
503
|
+
return isArray__default["default"](it) ? /*#__PURE__*/React__default["default"].createElement(Menu__default["default"], {
|
504
|
+
items: it,
|
505
|
+
className: "navbar-nav",
|
506
|
+
itemClassName: "nav-item",
|
507
|
+
linkClassName: "nav-link"
|
508
|
+
}) : it;
|
509
|
+
});
|
510
|
+
}, [main]);
|
462
511
|
return /*#__PURE__*/React__default["default"].createElement(Navbar__default["default"], Object.assign({
|
463
512
|
theme: background
|
464
513
|
}, props), name !== null ? /*#__PURE__*/React__default["default"].createElement(reactRouterDom.Link, {
|
465
514
|
to: route('home'),
|
466
515
|
className: "navbar-brand"
|
467
|
-
}, name) : null,
|
468
|
-
className: "navbar-nav ml-4",
|
469
|
-
itemClassName: "nav-item",
|
470
|
-
linkClassName: "nav-link"
|
471
|
-
}) : null, /*#__PURE__*/React__default["default"].createElement(AccountMenu, {
|
472
|
-
className: "navbar-nav ms-auto",
|
473
|
-
itemClassName: "nav-item",
|
474
|
-
linkClassName: "nav-link"
|
475
|
-
}));
|
516
|
+
}, name) : null, items);
|
476
517
|
};
|
477
|
-
MainNavbar.propTypes = propTypes$
|
478
|
-
MainNavbar.defaultProps = defaultProps$
|
518
|
+
MainNavbar.propTypes = propTypes$i;
|
519
|
+
MainNavbar.defaultProps = defaultProps$i;
|
479
520
|
|
480
|
-
var propTypes$
|
521
|
+
var propTypes$h = {
|
481
522
|
children: PropTypes__default["default"].node.isRequired,
|
482
523
|
fullscreen: PropTypes__default["default"].bool
|
483
524
|
};
|
484
|
-
var defaultProps$
|
525
|
+
var defaultProps$h = {
|
485
526
|
fullscreen: false
|
486
527
|
};
|
487
528
|
var MainLayout = function MainLayout(_ref) {
|
@@ -501,17 +542,17 @@ var MainLayout = function MainLayout(_ref) {
|
|
501
542
|
}, _defineProperty__default["default"](_ref2, "bg-".concat(background), background !== null), _defineProperty__default["default"](_ref2, "text-".concat(text), text !== null), _ref2)])
|
502
543
|
}, children));
|
503
544
|
};
|
504
|
-
MainLayout.propTypes = propTypes$
|
505
|
-
MainLayout.defaultProps = defaultProps$
|
545
|
+
MainLayout.propTypes = propTypes$h;
|
546
|
+
MainLayout.defaultProps = defaultProps$h;
|
506
547
|
|
507
|
-
var propTypes$
|
548
|
+
var propTypes$g = {
|
508
549
|
title: core.PropTypes.label,
|
509
550
|
actions: PropTypes__default["default"].node,
|
510
551
|
small: PropTypes__default["default"].bool,
|
511
552
|
className: PropTypes__default["default"].string,
|
512
553
|
children: PropTypes__default["default"].node
|
513
554
|
};
|
514
|
-
var defaultProps$
|
555
|
+
var defaultProps$g = {
|
515
556
|
title: null,
|
516
557
|
actions: null,
|
517
558
|
small: false,
|
@@ -549,22 +590,22 @@ var PageHeader = function PageHeader(_ref) {
|
|
549
590
|
className: "col-12 col-md-8 col-lg-7"
|
550
591
|
}, inner)) : inner), children);
|
551
592
|
};
|
552
|
-
PageHeader.propTypes = propTypes$
|
553
|
-
PageHeader.defaultProps = defaultProps$
|
593
|
+
PageHeader.propTypes = propTypes$g;
|
594
|
+
PageHeader.defaultProps = defaultProps$g;
|
554
595
|
|
555
|
-
var propTypes$
|
596
|
+
var propTypes$f = {
|
556
597
|
resource: core.PropTypes.resource.isRequired
|
557
598
|
};
|
558
|
-
var defaultProps$
|
599
|
+
var defaultProps$f = {};
|
559
600
|
var ResourceCreatePage = function ResourceCreatePage(_ref) {
|
560
601
|
var resource = _ref.resource;
|
561
|
-
var
|
602
|
+
var navigate = reactRouter.useNavigate();
|
562
603
|
var _useLocation = reactRouter.useLocation(),
|
563
604
|
search = _useLocation.search;
|
564
605
|
var resourceRoute = hooks.useResourceUrlGenerator(resource);
|
565
606
|
var onSuccess = React.useCallback(function () {
|
566
|
-
|
567
|
-
}, [
|
607
|
+
navigate("".concat(resourceRoute('index'), "?created=true"));
|
608
|
+
}, [navigate, resourceRoute]);
|
568
609
|
var _useMemo = React.useMemo(function () {
|
569
610
|
return queryString.parse(search);
|
570
611
|
}, [search]),
|
@@ -598,26 +639,26 @@ var ResourceCreatePage = function ResourceCreatePage(_ref) {
|
|
598
639
|
onSuccess: onSuccess
|
599
640
|
}))))));
|
600
641
|
};
|
601
|
-
ResourceCreatePage.propTypes = propTypes$
|
602
|
-
ResourceCreatePage.defaultProps = defaultProps$
|
642
|
+
ResourceCreatePage.propTypes = propTypes$f;
|
643
|
+
ResourceCreatePage.defaultProps = defaultProps$f;
|
603
644
|
|
604
645
|
// import Button from '../buttons/Button';
|
605
646
|
|
606
|
-
var propTypes$
|
607
|
-
resource: core.PropTypes.resource.isRequired
|
608
|
-
itemId: PropTypes__default["default"].string.isRequired
|
647
|
+
var propTypes$e = {
|
648
|
+
resource: core.PropTypes.resource.isRequired
|
609
649
|
};
|
610
|
-
var defaultProps$
|
650
|
+
var defaultProps$e = {};
|
611
651
|
var ResourceDeletePage = function ResourceDeletePage(_ref) {
|
612
|
-
var resource = _ref.resource
|
613
|
-
|
614
|
-
|
652
|
+
var resource = _ref.resource;
|
653
|
+
var _useParams = reactRouter.useParams(),
|
654
|
+
itemId = _useParams.id;
|
655
|
+
var navigate = reactRouter.useNavigate();
|
615
656
|
var resourceRoute = hooks.useResourceUrlGenerator(resource);
|
616
657
|
var _useResourceItem = data.useResourceItem(resource, itemId),
|
617
658
|
item = _useResourceItem.item;
|
618
659
|
var onSuccess = React.useCallback(function () {
|
619
|
-
return
|
620
|
-
}, [
|
660
|
+
return navigate("".concat(resourceRoute('index'), "?deleted=true"));
|
661
|
+
}, [navigate, resourceRoute]);
|
621
662
|
|
622
663
|
// Navigate back
|
623
664
|
var _ref2 = history || {},
|
@@ -656,19 +697,19 @@ var ResourceDeletePage = function ResourceDeletePage(_ref) {
|
|
656
697
|
isDelete: true
|
657
698
|
}) : null)))));
|
658
699
|
};
|
659
|
-
ResourceDeletePage.propTypes = propTypes$
|
660
|
-
ResourceDeletePage.defaultProps = defaultProps$
|
700
|
+
ResourceDeletePage.propTypes = propTypes$e;
|
701
|
+
ResourceDeletePage.defaultProps = defaultProps$e;
|
661
702
|
|
662
703
|
// import Button from '../buttons/Button';
|
663
704
|
|
664
|
-
var propTypes$
|
665
|
-
resource: core.PropTypes.resource.isRequired
|
666
|
-
itemId: PropTypes__default["default"].string.isRequired
|
705
|
+
var propTypes$d = {
|
706
|
+
resource: core.PropTypes.resource.isRequired
|
667
707
|
};
|
668
|
-
var defaultProps$
|
708
|
+
var defaultProps$d = {};
|
669
709
|
var ResourceEditPage = function ResourceEditPage(_ref) {
|
670
|
-
var resource = _ref.resource
|
671
|
-
|
710
|
+
var resource = _ref.resource;
|
711
|
+
var _useParams = reactRouter.useParams(),
|
712
|
+
itemId = _useParams.id;
|
672
713
|
var _useResourceItem = data.useResourceItem(resource, itemId),
|
673
714
|
item = _useResourceItem.item;
|
674
715
|
var _ref2 = item || {},
|
@@ -713,14 +754,14 @@ var ResourceEditPage = function ResourceEditPage(_ref) {
|
|
713
754
|
onSuccess: onSuccess
|
714
755
|
}) : null)))));
|
715
756
|
};
|
716
|
-
ResourceEditPage.propTypes = propTypes$
|
717
|
-
ResourceEditPage.defaultProps = defaultProps$
|
757
|
+
ResourceEditPage.propTypes = propTypes$d;
|
758
|
+
ResourceEditPage.defaultProps = defaultProps$d;
|
718
759
|
|
719
|
-
var propTypes$
|
760
|
+
var propTypes$c = {
|
720
761
|
resource: core.PropTypes.resource.isRequired,
|
721
762
|
className: PropTypes__default["default"].string
|
722
763
|
};
|
723
|
-
var defaultProps$
|
764
|
+
var defaultProps$c = {
|
724
765
|
className: null
|
725
766
|
};
|
726
767
|
var ResourceCreateButtom = function ResourceCreateButtom(_ref) {
|
@@ -737,10 +778,9 @@ var ResourceCreateButtom = function ResourceCreateButtom(_ref) {
|
|
737
778
|
setDropdownOpened = _useState2[1];
|
738
779
|
var onClickDropdown = React.useCallback(function (e) {
|
739
780
|
e.preventDefault();
|
740
|
-
|
741
|
-
|
742
|
-
|
743
|
-
}, [setDropdownOpened]);
|
781
|
+
e.stopPropagation();
|
782
|
+
setDropdownOpened(!dropdownOpened);
|
783
|
+
}, [setDropdownOpened, dropdownOpened]);
|
744
784
|
var finalTypes = types !== null ? types.filter(function (_ref2) {
|
745
785
|
var _ref2$settings = _ref2.settings,
|
746
786
|
_ref2$settings2 = _ref2$settings === void 0 ? {} : _ref2$settings,
|
@@ -750,8 +790,10 @@ var ResourceCreateButtom = function ResourceCreateButtom(_ref) {
|
|
750
790
|
}) : null;
|
751
791
|
var hasMultipleTypes = finalTypes !== null && finalTypes.length > 1;
|
752
792
|
var onDropdownClickOutside = React.useCallback(function () {
|
753
|
-
|
754
|
-
|
793
|
+
if (dropdownOpened) {
|
794
|
+
setDropdownOpened(false);
|
795
|
+
}
|
796
|
+
}, [setDropdownOpened, dropdownOpened]);
|
755
797
|
var button = /*#__PURE__*/React__default["default"].createElement(Button__default["default"], {
|
756
798
|
href: !hasMultipleTypes ? "".concat(resourceRoute('create')).concat(finalTypes !== null && finalTypes.length === 1 ? "?type=".concat(finalTypes[0].id) : '') : '#',
|
757
799
|
size: "lg",
|
@@ -788,11 +830,11 @@ var ResourceCreateButtom = function ResourceCreateButtom(_ref) {
|
|
788
830
|
onClickOutside: onDropdownClickOutside
|
789
831
|
})) : button;
|
790
832
|
};
|
791
|
-
ResourceCreateButtom.propTypes = propTypes$
|
792
|
-
ResourceCreateButtom.defaultProps = defaultProps$
|
833
|
+
ResourceCreateButtom.propTypes = propTypes$c;
|
834
|
+
ResourceCreateButtom.defaultProps = defaultProps$c;
|
793
835
|
|
794
|
-
var _excluded$
|
795
|
-
var propTypes$
|
836
|
+
var _excluded$4 = ["component", "name", "groupLabel"];
|
837
|
+
var propTypes$b = {
|
796
838
|
filters: PropTypes__default["default"].arrayOf(PropTypes__default["default"].shape({
|
797
839
|
id: PropTypes__default["default"].string.isRequired,
|
798
840
|
component: PropTypes__default["default"].string.isRequired
|
@@ -807,7 +849,7 @@ var propTypes$c = {
|
|
807
849
|
// eslint-disable-line react/forbid-prop-types
|
808
850
|
className: PropTypes__default["default"].string
|
809
851
|
};
|
810
|
-
var defaultProps$
|
852
|
+
var defaultProps$b = {
|
811
853
|
filters: [],
|
812
854
|
value: null,
|
813
855
|
onChange: null,
|
@@ -856,7 +898,7 @@ var ResourceFilters = function ResourceFilters(_ref) {
|
|
856
898
|
var component = _ref3.component,
|
857
899
|
name = _ref3.name,
|
858
900
|
groupLabel = _ref3.groupLabel,
|
859
|
-
filterProps = _objectWithoutProperties__default["default"](_ref3, _excluded$
|
901
|
+
filterProps = _objectWithoutProperties__default["default"](_ref3, _excluded$4);
|
860
902
|
var FilterComponent = utils.getComponentFromName(component, FilterComponents, null);
|
861
903
|
var filterValue = value !== null && value[name] ? value[name] : null;
|
862
904
|
var onFilterChange = React.useCallback(function (newFilterValue) {
|
@@ -888,12 +930,12 @@ var ResourceFilters = function ResourceFilters(_ref) {
|
|
888
930
|
icon: freeSolidSvgIcons.faUndo
|
889
931
|
})) : null);
|
890
932
|
};
|
891
|
-
ResourceFilters.propTypes = propTypes$
|
892
|
-
ResourceFilters.defaultProps = defaultProps$
|
933
|
+
ResourceFilters.propTypes = propTypes$b;
|
934
|
+
ResourceFilters.defaultProps = defaultProps$b;
|
893
935
|
|
894
|
-
var _excluded$
|
936
|
+
var _excluded$3 = ["component", "showPagination", "filters"],
|
895
937
|
_excluded2$1 = ["page"];
|
896
|
-
var propTypes$
|
938
|
+
var propTypes$a = {
|
897
939
|
resource: core.PropTypes.resource.isRequired,
|
898
940
|
query: PropTypes__default["default"].object,
|
899
941
|
// eslint-disable-line react/forbid-prop-types
|
@@ -905,7 +947,7 @@ var propTypes$b = {
|
|
905
947
|
onQueryChange: PropTypes__default["default"].func,
|
906
948
|
onQueryReset: PropTypes__default["default"].func
|
907
949
|
};
|
908
|
-
var defaultProps$
|
950
|
+
var defaultProps$a = {
|
909
951
|
query: null,
|
910
952
|
paginated: true,
|
911
953
|
component: null,
|
@@ -929,7 +971,7 @@ var ResourceItemsList = function ResourceItemsList(_ref) {
|
|
929
971
|
showPagination = _resource$index2$show === void 0 ? true : _resource$index2$show,
|
930
972
|
_resource$index2$filt = _resource$index2.filters,
|
931
973
|
filters = _resource$index2$filt === void 0 ? null : _resource$index2$filt,
|
932
|
-
listProps = _objectWithoutProperties__default["default"](_resource$index2, _excluded$
|
974
|
+
listProps = _objectWithoutProperties__default["default"](_resource$index2, _excluded$3);
|
933
975
|
var _usePanneauColorSchem = contexts.usePanneauColorScheme(),
|
934
976
|
_usePanneauColorSchem2 = _usePanneauColorSchem.background,
|
935
977
|
theme = _usePanneauColorSchem2 === void 0 ? null : _usePanneauColorSchem2;
|
@@ -979,16 +1021,16 @@ var ResourceItemsList = function ResourceItemsList(_ref) {
|
|
979
1021
|
className: "mt-4 mb-1"
|
980
1022
|
}) : null);
|
981
1023
|
};
|
982
|
-
ResourceItemsList.propTypes = propTypes$
|
983
|
-
ResourceItemsList.defaultProps = defaultProps$
|
1024
|
+
ResourceItemsList.propTypes = propTypes$a;
|
1025
|
+
ResourceItemsList.defaultProps = defaultProps$a;
|
984
1026
|
|
985
|
-
var _excluded$
|
986
|
-
var propTypes$
|
1027
|
+
var _excluded$2 = ["id", "component"];
|
1028
|
+
var propTypes$9 = {
|
987
1029
|
resource: core.PropTypes.resource.isRequired,
|
988
1030
|
defaultActions: PropTypes__default["default"].arrayOf(PropTypes__default["default"].object) // eslint-disable-line react/forbid-prop-types
|
989
1031
|
};
|
990
1032
|
|
991
|
-
var defaultProps$
|
1033
|
+
var defaultProps$9 = {
|
992
1034
|
defaultActions: ['create']
|
993
1035
|
};
|
994
1036
|
var ResourceIndexPage = function ResourceIndexPage(_ref) {
|
@@ -1023,7 +1065,7 @@ var ResourceIndexPage = function ResourceIndexPage(_ref) {
|
|
1023
1065
|
var componentsManager = contexts.useComponentsManager();
|
1024
1066
|
var _useLocation = reactRouter.useLocation(),
|
1025
1067
|
search = _useLocation.search;
|
1026
|
-
var
|
1068
|
+
var navigate = reactRouter.useNavigate();
|
1027
1069
|
var query = React.useMemo(function () {
|
1028
1070
|
return queryString.parse(search);
|
1029
1071
|
}, [search]);
|
@@ -1042,19 +1084,21 @@ var ResourceIndexPage = function ResourceIndexPage(_ref) {
|
|
1042
1084
|
var value = submitQuery[key];
|
1043
1085
|
return value !== null ? _objectSpread__default["default"](_objectSpread__default["default"]({}, currentQuery), {}, _defineProperty__default["default"]({}, key, value)) : currentQuery;
|
1044
1086
|
}, null) : null;
|
1045
|
-
|
1087
|
+
navigate("".concat(url).concat(newQuery !== null ? "?".concat(queryString.stringify(newQuery, {
|
1046
1088
|
arrayFormat: 'bracket'
|
1047
1089
|
})) : ''));
|
1048
|
-
}, [
|
1090
|
+
}, [navigate, url, query, paginated]);
|
1049
1091
|
var onQueryReset = React.useCallback(function () {
|
1050
1092
|
var queryString$1 = queryString.stringify(null, {
|
1051
1093
|
arrayFormat: 'bracket'
|
1052
1094
|
});
|
1053
|
-
|
1054
|
-
}, [
|
1095
|
+
navigate("".concat(url, "?").concat(queryString$1));
|
1096
|
+
}, [navigate, url, paginated]);
|
1055
1097
|
var onClickCloseAlert = React.useCallback(function () {
|
1056
|
-
|
1057
|
-
|
1098
|
+
navigate(url, {
|
1099
|
+
replace: true
|
1100
|
+
});
|
1101
|
+
}, [navigate, url]);
|
1058
1102
|
return /*#__PURE__*/React__default["default"].createElement(contexts.ResourceProvider, {
|
1059
1103
|
resource: resource
|
1060
1104
|
}, /*#__PURE__*/React__default["default"].createElement(MainLayout, null, /*#__PURE__*/React__default["default"].createElement(PageHeader, {
|
@@ -1065,7 +1109,7 @@ var ResourceIndexPage = function ResourceIndexPage(_ref) {
|
|
1065
1109
|
var id = _ref5.id,
|
1066
1110
|
_ref5$component = _ref5.component,
|
1067
1111
|
component = _ref5$component === void 0 ? Button__default["default"] : _ref5$component,
|
1068
|
-
actionProps = _objectWithoutProperties__default["default"](_ref5, _excluded$
|
1112
|
+
actionProps = _objectWithoutProperties__default["default"](_ref5, _excluded$2);
|
1069
1113
|
var ActionComponent = isString__default["default"](component) ? componentsManager.getComponent(component) : component;
|
1070
1114
|
return ActionComponent !== null ? /*#__PURE__*/React__default["default"].createElement(ActionComponent, Object.assign({
|
1071
1115
|
key: "action-".concat(id)
|
@@ -1112,13 +1156,13 @@ var ResourceIndexPage = function ResourceIndexPage(_ref) {
|
|
1112
1156
|
onQueryReset: onQueryReset
|
1113
1157
|
}))));
|
1114
1158
|
};
|
1115
|
-
ResourceIndexPage.propTypes = propTypes$
|
1116
|
-
ResourceIndexPage.defaultProps = defaultProps$
|
1159
|
+
ResourceIndexPage.propTypes = propTypes$9;
|
1160
|
+
ResourceIndexPage.defaultProps = defaultProps$9;
|
1117
1161
|
|
1118
|
-
var propTypes$
|
1162
|
+
var propTypes$8 = {
|
1119
1163
|
resource: core.PropTypes.resource.isRequired
|
1120
1164
|
};
|
1121
|
-
var defaultProps$
|
1165
|
+
var defaultProps$8 = {};
|
1122
1166
|
var ResourceShowPage = function ResourceShowPage(_ref) {
|
1123
1167
|
var resource = _ref.resource;
|
1124
1168
|
return /*#__PURE__*/React__default["default"].createElement(contexts.ResourceProvider, {
|
@@ -1129,12 +1173,12 @@ var ResourceShowPage = function ResourceShowPage(_ref) {
|
|
1129
1173
|
className: "container-sm"
|
1130
1174
|
}, "Show page")));
|
1131
1175
|
};
|
1132
|
-
ResourceShowPage.propTypes = propTypes$
|
1133
|
-
ResourceShowPage.defaultProps = defaultProps$
|
1176
|
+
ResourceShowPage.propTypes = propTypes$8;
|
1177
|
+
ResourceShowPage.defaultProps = defaultProps$8;
|
1134
1178
|
|
1135
1179
|
/* eslint-disable react/jsx-props-no-spreading */
|
1136
|
-
var propTypes$
|
1137
|
-
var defaultProps$
|
1180
|
+
var propTypes$7 = {};
|
1181
|
+
var defaultProps$7 = {};
|
1138
1182
|
var HomePage = function HomePage() {
|
1139
1183
|
var route = contexts.useUrlGenerator();
|
1140
1184
|
var resources = contexts.usePanneauResources();
|
@@ -1170,26 +1214,26 @@ var HomePage = function HomePage() {
|
|
1170
1214
|
}));
|
1171
1215
|
})));
|
1172
1216
|
};
|
1173
|
-
HomePage.propTypes = propTypes$
|
1174
|
-
HomePage.defaultProps = defaultProps$
|
1217
|
+
HomePage.propTypes = propTypes$7;
|
1218
|
+
HomePage.defaultProps = defaultProps$7;
|
1175
1219
|
|
1176
|
-
var propTypes$
|
1177
|
-
var defaultProps$
|
1220
|
+
var propTypes$6 = {};
|
1221
|
+
var defaultProps$6 = {};
|
1178
1222
|
var AccountPage = function AccountPage() {
|
1179
1223
|
return /*#__PURE__*/React__default["default"].createElement(MainLayout, null, /*#__PURE__*/React__default["default"].createElement("div", {
|
1180
1224
|
className: "container-sm py-4"
|
1181
1225
|
}, "Account page"));
|
1182
1226
|
};
|
1183
|
-
AccountPage.propTypes = propTypes$
|
1184
|
-
AccountPage.defaultProps = defaultProps$
|
1227
|
+
AccountPage.propTypes = propTypes$6;
|
1228
|
+
AccountPage.defaultProps = defaultProps$6;
|
1185
1229
|
|
1186
1230
|
/* eslint-disable react/jsx-props-no-spreading */
|
1187
|
-
var propTypes$
|
1231
|
+
var propTypes$5 = {
|
1188
1232
|
fields: core.PropTypes.fields,
|
1189
1233
|
className: PropTypes__default["default"].string,
|
1190
1234
|
onSuccess: PropTypes__default["default"].func
|
1191
1235
|
};
|
1192
|
-
var defaultProps$
|
1236
|
+
var defaultProps$5 = {
|
1193
1237
|
fields: [{
|
1194
1238
|
name: 'email',
|
1195
1239
|
type: 'email',
|
@@ -1261,14 +1305,14 @@ var LoginForm = function LoginForm(_ref) {
|
|
1261
1305
|
})
|
1262
1306
|
});
|
1263
1307
|
};
|
1264
|
-
LoginForm.propTypes = propTypes$
|
1265
|
-
LoginForm.defaultProps = defaultProps$
|
1308
|
+
LoginForm.propTypes = propTypes$5;
|
1309
|
+
LoginForm.defaultProps = defaultProps$5;
|
1266
1310
|
|
1267
|
-
var propTypes$
|
1311
|
+
var propTypes$4 = {
|
1268
1312
|
children: PropTypes__default["default"].node.isRequired,
|
1269
1313
|
fullscreen: PropTypes__default["default"].bool
|
1270
1314
|
};
|
1271
|
-
var defaultProps$
|
1315
|
+
var defaultProps$4 = {
|
1272
1316
|
fullscreen: false
|
1273
1317
|
};
|
1274
1318
|
var GuestLayout = function GuestLayout(_ref) {
|
@@ -1294,12 +1338,12 @@ var GuestLayout = function GuestLayout(_ref) {
|
|
1294
1338
|
})
|
1295
1339
|
}, children)));
|
1296
1340
|
};
|
1297
|
-
GuestLayout.propTypes = propTypes$
|
1298
|
-
GuestLayout.defaultProps = defaultProps$
|
1341
|
+
GuestLayout.propTypes = propTypes$4;
|
1342
|
+
GuestLayout.defaultProps = defaultProps$4;
|
1299
1343
|
|
1300
1344
|
/* eslint-disable react/jsx-props-no-spreading */
|
1301
|
-
var propTypes$
|
1302
|
-
var defaultProps$
|
1345
|
+
var propTypes$3 = {};
|
1346
|
+
var defaultProps$3 = {};
|
1303
1347
|
var LoginPage = function LoginPage() {
|
1304
1348
|
var route = contexts.useUrlGenerator();
|
1305
1349
|
var onSuccess = React.useCallback(function () {
|
@@ -1325,8 +1369,8 @@ var LoginPage = function LoginPage() {
|
|
1325
1369
|
onSuccess: onSuccess
|
1326
1370
|
})))));
|
1327
1371
|
};
|
1328
|
-
LoginPage.propTypes = propTypes$
|
1329
|
-
LoginPage.defaultProps = defaultProps$
|
1372
|
+
LoginPage.propTypes = propTypes$3;
|
1373
|
+
LoginPage.defaultProps = defaultProps$3;
|
1330
1374
|
|
1331
1375
|
var messages = reactIntl.defineMessages({
|
1332
1376
|
metaTitle401: {
|
@@ -1421,10 +1465,10 @@ var messages = reactIntl.defineMessages({
|
|
1421
1465
|
}]
|
1422
1466
|
}
|
1423
1467
|
});
|
1424
|
-
var propTypes$
|
1468
|
+
var propTypes$2 = {
|
1425
1469
|
statusCode: core.PropTypes.statusCode
|
1426
1470
|
};
|
1427
|
-
var defaultProps$
|
1471
|
+
var defaultProps$2 = {
|
1428
1472
|
statusCode: null
|
1429
1473
|
};
|
1430
1474
|
var ErrorPage = function ErrorPage(_ref) {
|
@@ -1439,37 +1483,20 @@ var ErrorPage = function ErrorPage(_ref) {
|
|
1439
1483
|
className: "col-12 col-sm-8 col-md-6"
|
1440
1484
|
}, /*#__PURE__*/React__default["default"].createElement("h1", null, /*#__PURE__*/React__default["default"].createElement(Label__default["default"], null, messages["title".concat(statusCode || 404)])), /*#__PURE__*/React__default["default"].createElement("p", null, /*#__PURE__*/React__default["default"].createElement(Label__default["default"], null, messages["description".concat(statusCode || 404)]))))));
|
1441
1485
|
};
|
1442
|
-
ErrorPage.propTypes = propTypes$
|
1443
|
-
ErrorPage.defaultProps = defaultProps$
|
1444
|
-
|
1445
|
-
var basePages = /*#__PURE__*/Object.freeze({
|
1446
|
-
__proto__: null,
|
1447
|
-
ResourceCreate: ResourceCreatePage,
|
1448
|
-
ResourceDelete: ResourceDeletePage,
|
1449
|
-
ResourceEdit: ResourceEditPage,
|
1450
|
-
ResourceIndex: ResourceIndexPage,
|
1451
|
-
ResourceShow: ResourceShowPage,
|
1452
|
-
Home: HomePage,
|
1453
|
-
Account: AccountPage,
|
1454
|
-
Login: LoginPage,
|
1455
|
-
Error: ErrorPage
|
1456
|
-
});
|
1486
|
+
ErrorPage.propTypes = propTypes$2;
|
1487
|
+
ErrorPage.defaultProps = defaultProps$2;
|
1457
1488
|
|
1458
|
-
var _excluded = ["path", "component", "exact"]
|
1459
|
-
|
1460
|
-
var
|
1461
|
-
|
1462
|
-
|
1463
|
-
|
1464
|
-
var ResourceRoutes = function ResourceRoutes(_ref) {
|
1465
|
-
var resource = _ref.resource;
|
1489
|
+
var _excluded$1 = ["path", "component", "exact"];
|
1490
|
+
var createResourceRoutes = function createResourceRoutes(resource, _ref) {
|
1491
|
+
var route = _ref.route,
|
1492
|
+
componentsManager = _ref.componentsManager,
|
1493
|
+
_ref$pages = _ref.pages,
|
1494
|
+
pages = _ref$pages === void 0 ? {} : _ref$pages;
|
1466
1495
|
var resourceId = resource.id,
|
1467
1496
|
_resource$pages = resource.pages,
|
1468
|
-
|
1497
|
+
resourcePages = _resource$pages === void 0 ? {} : _resource$pages,
|
1469
1498
|
_resource$extraRoutes = resource.extraRoutes,
|
1470
1499
|
extraRoutes = _resource$extraRoutes === void 0 ? [] : _resource$extraRoutes;
|
1471
|
-
var route = contexts.useUrlGenerator();
|
1472
|
-
var componentsManager = contexts.useComponentsManager();
|
1473
1500
|
|
1474
1501
|
// Load custom pages from resource
|
1475
1502
|
var _ref2 = pages || {},
|
@@ -1483,96 +1510,85 @@ var ResourceRoutes = function ResourceRoutes(_ref) {
|
|
1483
1510
|
editPage = _ref2$edit === void 0 ? null : _ref2$edit,
|
1484
1511
|
_ref2$delete = _ref2["delete"],
|
1485
1512
|
deletePage = _ref2$delete === void 0 ? null : _ref2$delete;
|
1486
|
-
var
|
1487
|
-
|
1488
|
-
|
1489
|
-
|
1490
|
-
|
1491
|
-
|
1492
|
-
|
1493
|
-
|
1494
|
-
|
1495
|
-
|
1496
|
-
|
1497
|
-
|
1498
|
-
|
1499
|
-
|
1500
|
-
|
1501
|
-
|
1502
|
-
|
1503
|
-
var _ref4$match$params = _ref4.match.params,
|
1504
|
-
id = _ref4$match$params.id,
|
1505
|
-
params = _objectWithoutProperties__default["default"](_ref4$match$params, _excluded2);
|
1506
|
-
return /*#__PURE__*/React__default["default"].createElement(RouteComponent, Object.assign({
|
1507
|
-
resource: resource,
|
1508
|
-
itemId: id
|
1509
|
-
}, pageProps, params));
|
1510
|
-
}
|
1511
|
-
}) : null;
|
1512
|
-
}), /*#__PURE__*/React__default["default"].createElement(reactRouter.Route, {
|
1513
|
+
var _ref3 = resourcePages || {},
|
1514
|
+
_ref3$index = _ref3.index,
|
1515
|
+
resourceIndexPage = _ref3$index === void 0 ? null : _ref3$index,
|
1516
|
+
_ref3$show = _ref3.show,
|
1517
|
+
resourceShowPage = _ref3$show === void 0 ? null : _ref3$show,
|
1518
|
+
_ref3$create = _ref3.create,
|
1519
|
+
resourceCreatePage = _ref3$create === void 0 ? null : _ref3$create,
|
1520
|
+
_ref3$edit = _ref3.edit,
|
1521
|
+
resourceEditPage = _ref3$edit === void 0 ? null : _ref3$edit,
|
1522
|
+
_ref3$delete = _ref3["delete"],
|
1523
|
+
resourceDeletePage = _ref3$delete === void 0 ? null : _ref3$delete;
|
1524
|
+
var ResourceIndexComponent = componentsManager.getComponent(resourceIndexPage === null || resourceIndexPage === void 0 ? void 0 : resourceIndexPage.component) || componentsManager.getComponent(indexPage === null || indexPage === void 0 ? void 0 : indexPage.component) || ResourceIndexPage;
|
1525
|
+
var ResourceShowComponent = componentsManager.getComponent(resourceShowPage === null || resourceShowPage === void 0 ? void 0 : resourceShowPage.component) || componentsManager.getComponent(showPage === null || showPage === void 0 ? void 0 : showPage.component) || ResourceShowPage;
|
1526
|
+
var ResourceCreateComponent = componentsManager.getComponent(resourceCreatePage === null || resourceCreatePage === void 0 ? void 0 : resourceCreatePage.component) || componentsManager.getComponent(createPage === null || createPage === void 0 ? void 0 : createPage.component) || ResourceCreatePage;
|
1527
|
+
var ResourceEditComponent = componentsManager.getComponent(resourceEditPage === null || resourceEditPage === void 0 ? void 0 : resourceEditPage.component) || componentsManager.getComponent(editPage === null || editPage === void 0 ? void 0 : editPage.component) || ResourceEditPage;
|
1528
|
+
var ResourceDeleteComponent = componentsManager.getComponent(resourceDeletePage === null || resourceDeletePage === void 0 ? void 0 : resourceDeletePage.component) || componentsManager.getComponent(deletePage === null || deletePage === void 0 ? void 0 : deletePage.component) || ResourceDeletePage;
|
1529
|
+
return [/*#__PURE__*/React__default["default"].createElement(reactRouter.Route, {
|
1513
1530
|
path: route('resources.index', {
|
1514
1531
|
resource: resourceId
|
1515
1532
|
}),
|
1516
1533
|
exact: true,
|
1517
|
-
|
1518
|
-
|
1519
|
-
|
1520
|
-
});
|
1521
|
-
}
|
1534
|
+
element: /*#__PURE__*/React__default["default"].createElement(ResourceIndexComponent, {
|
1535
|
+
resource: resource
|
1536
|
+
})
|
1522
1537
|
}), /*#__PURE__*/React__default["default"].createElement(reactRouter.Route, {
|
1523
1538
|
path: route('resources.create', {
|
1524
1539
|
resource: resourceId
|
1525
1540
|
}),
|
1526
1541
|
exact: true,
|
1527
|
-
|
1528
|
-
|
1529
|
-
|
1530
|
-
});
|
1531
|
-
}
|
1542
|
+
element: /*#__PURE__*/React__default["default"].createElement(ResourceCreateComponent, {
|
1543
|
+
resource: resource
|
1544
|
+
})
|
1532
1545
|
}), /*#__PURE__*/React__default["default"].createElement(reactRouter.Route, {
|
1533
1546
|
path: route('resources.show', {
|
1534
1547
|
resource: resourceId,
|
1535
1548
|
id: ':id'
|
1536
1549
|
}),
|
1537
1550
|
exact: true,
|
1538
|
-
|
1539
|
-
|
1540
|
-
|
1541
|
-
resource: resource,
|
1542
|
-
itemId: id
|
1543
|
-
});
|
1544
|
-
}
|
1551
|
+
element: /*#__PURE__*/React__default["default"].createElement(ResourceShowComponent, {
|
1552
|
+
resource: resource
|
1553
|
+
})
|
1545
1554
|
}), /*#__PURE__*/React__default["default"].createElement(reactRouter.Route, {
|
1546
1555
|
path: route('resources.edit', {
|
1547
1556
|
resource: resourceId,
|
1548
1557
|
id: ':id'
|
1549
1558
|
}),
|
1550
1559
|
exact: true,
|
1551
|
-
|
1552
|
-
|
1553
|
-
|
1554
|
-
resource: resource,
|
1555
|
-
itemId: id
|
1556
|
-
});
|
1557
|
-
}
|
1560
|
+
element: /*#__PURE__*/React__default["default"].createElement(ResourceEditComponent, {
|
1561
|
+
resource: resource
|
1562
|
+
})
|
1558
1563
|
}), /*#__PURE__*/React__default["default"].createElement(reactRouter.Route, {
|
1559
1564
|
path: route('resources.delete', {
|
1560
1565
|
resource: resourceId,
|
1561
1566
|
id: ':id'
|
1562
1567
|
}),
|
1563
1568
|
exact: true,
|
1564
|
-
|
1565
|
-
|
1566
|
-
|
1567
|
-
|
1568
|
-
|
1569
|
-
|
1570
|
-
|
1571
|
-
|
1569
|
+
element: /*#__PURE__*/React__default["default"].createElement(ResourceDeleteComponent, {
|
1570
|
+
resource: resource
|
1571
|
+
})
|
1572
|
+
})].concat(_toConsumableArray__default["default"](extraRoutes.map(function (_ref4) {
|
1573
|
+
var path = _ref4.path,
|
1574
|
+
component = _ref4.component,
|
1575
|
+
_ref4$exact = _ref4.exact,
|
1576
|
+
exact = _ref4$exact === void 0 ? true : _ref4$exact,
|
1577
|
+
pageProps = _objectWithoutProperties__default["default"](_ref4, _excluded$1);
|
1578
|
+
var RouteComponent = componentsManager.getComponent(component);
|
1579
|
+
return RouteComponent !== null ? /*#__PURE__*/React__default["default"].createElement(reactRouter.Route, {
|
1580
|
+
key: "route-".concat(path),
|
1581
|
+
path: path,
|
1582
|
+
exact: exact,
|
1583
|
+
element: /*#__PURE__*/React__default["default"].createElement(RouteComponent, Object.assign({
|
1584
|
+
resource: resource
|
1585
|
+
}, pageProps))
|
1586
|
+
}) : null;
|
1587
|
+
})));
|
1572
1588
|
};
|
1573
|
-
ResourceRoutes.propTypes = propTypes$2;
|
1574
|
-
ResourceRoutes.defaultProps = defaultProps$2;
|
1575
1589
|
|
1590
|
+
var _excluded = ["home", "login", "account", "error", "index", "show", "create", "edit", "delete"],
|
1591
|
+
_excluded2 = ["path", "route", "component", "exact"];
|
1576
1592
|
var propTypes$1 = {
|
1577
1593
|
statusCode: core.PropTypes.statusCode
|
1578
1594
|
};
|
@@ -1581,13 +1597,9 @@ var defaultProps$1 = {
|
|
1581
1597
|
};
|
1582
1598
|
var PanneauRoutes = function PanneauRoutes(_ref) {
|
1583
1599
|
var initialStatusCode = _ref.statusCode;
|
1584
|
-
var _usePanneau = contexts.usePanneau(),
|
1585
|
-
_usePanneau$pages = _usePanneau.pages,
|
1586
|
-
pages = _usePanneau$pages === void 0 ? {} : _usePanneau$pages;
|
1587
1600
|
var routes = contexts.useRoutes();
|
1588
1601
|
var _useLocation = reactRouter.useLocation(),
|
1589
|
-
pathname = _useLocation.pathname;
|
1590
|
-
|
1602
|
+
pathname = _useLocation.pathname;
|
1591
1603
|
var _useState = React.useState({
|
1592
1604
|
statusCode: initialStatusCode,
|
1593
1605
|
pathname: pathname
|
@@ -1595,27 +1607,26 @@ var PanneauRoutes = function PanneauRoutes(_ref) {
|
|
1595
1607
|
_useState2 = _slicedToArray__default["default"](_useState, 2),
|
1596
1608
|
_useState2$ = _useState2[0],
|
1597
1609
|
statusCode = _useState2$.statusCode,
|
1598
|
-
|
1610
|
+
lastPathname = _useState2$.pathname,
|
1599
1611
|
setInitialRequest = _useState2[1];
|
1600
1612
|
var user = auth.useUser();
|
1601
1613
|
var route = contexts.useUrlGenerator();
|
1602
1614
|
var resources = contexts.usePanneauResources();
|
1603
|
-
|
1604
|
-
// const nextUrl = useMemo(() => {
|
1605
|
-
// const query = parseQuery(search);
|
1606
|
-
// return query !== null ? query.next || null : null;
|
1607
|
-
// }, [search]);
|
1608
|
-
|
1615
|
+
var componentsManager = contexts.usePagesComponentsManager();
|
1609
1616
|
React.useEffect(function () {
|
1610
|
-
if (pathname !==
|
1617
|
+
if (pathname !== lastPathname) {
|
1611
1618
|
setInitialRequest({
|
1612
1619
|
pathname: pathname,
|
1613
1620
|
statusCode: null
|
1614
1621
|
});
|
1615
1622
|
}
|
1616
|
-
}, [pathname,
|
1623
|
+
}, [pathname, lastPathname]);
|
1617
1624
|
|
1618
1625
|
// Custom Pages
|
1626
|
+
var _usePanneau = contexts.usePanneau(),
|
1627
|
+
_usePanneau$pages = _usePanneau.pages,
|
1628
|
+
pages = _usePanneau$pages === void 0 ? null : _usePanneau$pages,
|
1629
|
+
routesDefinition = _usePanneau.routes;
|
1619
1630
|
var _ref2 = pages || {},
|
1620
1631
|
_ref2$home = _ref2.home,
|
1621
1632
|
homePage = _ref2$home === void 0 ? null : _ref2$home,
|
@@ -1625,55 +1636,94 @@ var PanneauRoutes = function PanneauRoutes(_ref) {
|
|
1625
1636
|
accountPage = _ref2$account === void 0 ? null : _ref2$account,
|
1626
1637
|
_ref2$error = _ref2.error,
|
1627
1638
|
errorPage = _ref2$error === void 0 ? null : _ref2$error;
|
1628
|
-
|
1629
|
-
|
1630
|
-
|
1631
|
-
|
1632
|
-
|
1633
|
-
|
1634
|
-
|
1635
|
-
|
1636
|
-
|
1637
|
-
|
1638
|
-
|
1639
|
-
|
1640
|
-
|
1641
|
-
|
1642
|
-
|
1643
|
-
|
1639
|
+
_ref2.index;
|
1640
|
+
_ref2.show;
|
1641
|
+
_ref2.create;
|
1642
|
+
_ref2.edit;
|
1643
|
+
_ref2["delete"];
|
1644
|
+
var otherPages = _objectWithoutProperties__default["default"](_ref2, _excluded);
|
1645
|
+
var customRoutes = React.useMemo(function () {
|
1646
|
+
return [].concat(_toConsumableArray__default["default"](Object.keys(routesDefinition).filter(function (key) {
|
1647
|
+
return key.match(/^(resources\.|auth\.)/) === null && key !== 'home' && key !== 'account';
|
1648
|
+
}).filter(function (key) {
|
1649
|
+
var routeDef = routesDefinition[key];
|
1650
|
+
return isObject__default["default"](routeDef) && typeof routeDef.component !== 'undefined' && typeof routeDef.path !== 'undefined';
|
1651
|
+
}).map(function (key) {
|
1652
|
+
return routesDefinition[key];
|
1653
|
+
})), _toConsumableArray__default["default"](Object.keys(otherPages).map(function (key) {
|
1654
|
+
return otherPages[key];
|
1655
|
+
}).filter(function (_ref3) {
|
1656
|
+
var _ref3$path = _ref3.path,
|
1657
|
+
path = _ref3$path === void 0 ? null : _ref3$path,
|
1658
|
+
_ref3$route = _ref3.route,
|
1659
|
+
pageRoute = _ref3$route === void 0 ? null : _ref3$route;
|
1660
|
+
return path !== null || pageRoute !== null;
|
1661
|
+
})));
|
1662
|
+
}, [routesDefinition, otherPages]);
|
1663
|
+
var HomeComponent = componentsManager.getComponent(homePage === null || homePage === void 0 ? void 0 : homePage.component) || HomePage;
|
1664
|
+
var LoginComponent = componentsManager.getComponent(loginPage === null || loginPage === void 0 ? void 0 : loginPage.component) || LoginPage;
|
1665
|
+
var AccountComponent = componentsManager.getComponent(accountPage === null || accountPage === void 0 ? void 0 : accountPage.component) || AccountPage;
|
1666
|
+
var ErrorComponent = componentsManager.getComponent(errorPage === null || errorPage === void 0 ? void 0 : errorPage.component) || ErrorPage;
|
1667
|
+
|
1668
|
+
// If there is an error status code
|
1669
|
+
if (statusCode !== null) {
|
1670
|
+
return /*#__PURE__*/React__default["default"].createElement(ErrorComponent, {
|
1671
|
+
statusCode: statusCode
|
1672
|
+
});
|
1673
|
+
}
|
1674
|
+
|
1675
|
+
// If user is unauthenticated
|
1676
|
+
if (user === null) {
|
1677
|
+
return /*#__PURE__*/React__default["default"].createElement(reactRouter.Routes, null, /*#__PURE__*/React__default["default"].createElement(reactRouter.Route, {
|
1678
|
+
path: routes['auth.login'],
|
1679
|
+
exact: true,
|
1680
|
+
element: /*#__PURE__*/React__default["default"].createElement(LoginComponent, null)
|
1681
|
+
}), /*#__PURE__*/React__default["default"].createElement(reactRouter.Route, {
|
1682
|
+
path: "*",
|
1683
|
+
element: /*#__PURE__*/React__default["default"].createElement(reactRouter.Navigate, {
|
1684
|
+
to: "".concat(route('auth.login'), "?next=").concat(encodeURIComponent(pathname)),
|
1685
|
+
replace: true
|
1686
|
+
})
|
1687
|
+
}));
|
1688
|
+
}
|
1689
|
+
|
1690
|
+
// Normal routes
|
1691
|
+
return /*#__PURE__*/React__default["default"].createElement(reactRouter.Routes, null, /*#__PURE__*/React__default["default"].createElement(reactRouter.Route, {
|
1644
1692
|
path: routes.home,
|
1645
1693
|
exact: true,
|
1646
|
-
|
1647
|
-
}) : /*#__PURE__*/React__default["default"].createElement(reactRouter.Redirect, {
|
1648
|
-
from: routes.home,
|
1649
|
-
exact: true,
|
1650
|
-
to: route('login')
|
1694
|
+
element: /*#__PURE__*/React__default["default"].createElement(HomeComponent, null)
|
1651
1695
|
}), resources.map(function (resource) {
|
1652
|
-
var
|
1653
|
-
resourceId =
|
1654
|
-
return
|
1655
|
-
key: "resource-".concat(resourceId)
|
1656
|
-
|
1657
|
-
|
1658
|
-
|
1659
|
-
|
1660
|
-
|
1661
|
-
resource: resource
|
1662
|
-
});
|
1663
|
-
}
|
1664
|
-
}) : /*#__PURE__*/React__default["default"].createElement(reactRouter.Redirect, {
|
1665
|
-
key: "resource-".concat(resourceId),
|
1666
|
-
from: route('resources.index', {
|
1667
|
-
resource: resourceId
|
1668
|
-
}),
|
1669
|
-
to: "".concat(route('login'), "?next=").concat(encodeURIComponent(pathname))
|
1670
|
-
});
|
1696
|
+
var _ref4 = resource || {},
|
1697
|
+
resourceId = _ref4.id;
|
1698
|
+
return /*#__PURE__*/React__default["default"].createElement(React.Fragment, {
|
1699
|
+
key: "resource-".concat(resourceId)
|
1700
|
+
}, createResourceRoutes(resource, {
|
1701
|
+
route: route,
|
1702
|
+
componentsManager: componentsManager,
|
1703
|
+
pages: pages
|
1704
|
+
}));
|
1671
1705
|
}), /*#__PURE__*/React__default["default"].createElement(reactRouter.Route, {
|
1672
|
-
path:
|
1673
|
-
|
1706
|
+
path: routes.account,
|
1707
|
+
exact: true,
|
1708
|
+
element: /*#__PURE__*/React__default["default"].createElement(AccountComponent, null)
|
1709
|
+
}), customRoutes.map(function (_ref5) {
|
1710
|
+
var _ref5$path = _ref5.path,
|
1711
|
+
path = _ref5$path === void 0 ? null : _ref5$path,
|
1712
|
+
_ref5$route = _ref5.route,
|
1713
|
+
pageRoute = _ref5$route === void 0 ? null : _ref5$route,
|
1714
|
+
component = _ref5.component,
|
1715
|
+
_ref5$exact = _ref5.exact,
|
1716
|
+
exact = _ref5$exact === void 0 ? true : _ref5$exact,
|
1717
|
+
props = _objectWithoutProperties__default["default"](_ref5, _excluded2);
|
1718
|
+
var PageComponent = componentsManager.getComponent(component);
|
1719
|
+
return PageComponent !== null ? /*#__PURE__*/React__default["default"].createElement(reactRouter.Route, {
|
1720
|
+
path: path || routes[pageRoute],
|
1721
|
+
exact: exact,
|
1722
|
+
element: /*#__PURE__*/React__default["default"].createElement(PageComponent, props)
|
1723
|
+
}) : null;
|
1674
1724
|
}), /*#__PURE__*/React__default["default"].createElement(reactRouter.Route, {
|
1675
1725
|
path: "*",
|
1676
|
-
|
1726
|
+
element: /*#__PURE__*/React__default["default"].createElement(ErrorComponent, null)
|
1677
1727
|
}));
|
1678
1728
|
};
|
1679
1729
|
PanneauRoutes.propTypes = propTypes$1;
|