@panneau/app 1.0.3-y.0 → 1.0.4

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/lib/index.js CHANGED
@@ -19,12 +19,11 @@ var FormsProvider = require('@panneau/forms');
19
19
  var intl = require('@panneau/intl');
20
20
  var ListsProvider = require('@panneau/lists');
21
21
  var _slicedToArray = require('@babel/runtime/helpers/slicedToArray');
22
+ var utils = require('@panneau/core/utils');
22
23
  var _objectWithoutProperties = require('@babel/runtime/helpers/objectWithoutProperties');
23
- var _toConsumableArray = require('@babel/runtime/helpers/toConsumableArray');
24
24
  var queryString = require('query-string');
25
25
  var reactIntl = require('react-intl');
26
26
  var hooks = require('@panneau/core/hooks');
27
- var utils = require('@panneau/core/utils');
28
27
  var classNames = require('classnames');
29
28
  var Button = require('@panneau/element-button');
30
29
  var Form = require('@panneau/element-form');
@@ -53,7 +52,6 @@ var FormsProvider__default = /*#__PURE__*/_interopDefaultLegacy(FormsProvider);
53
52
  var ListsProvider__default = /*#__PURE__*/_interopDefaultLegacy(ListsProvider);
54
53
  var _slicedToArray__default = /*#__PURE__*/_interopDefaultLegacy(_slicedToArray);
55
54
  var _objectWithoutProperties__default = /*#__PURE__*/_interopDefaultLegacy(_objectWithoutProperties);
56
- var _toConsumableArray__default = /*#__PURE__*/_interopDefaultLegacy(_toConsumableArray);
57
55
  var classNames__default = /*#__PURE__*/_interopDefaultLegacy(classNames);
58
56
  var Button__default = /*#__PURE__*/_interopDefaultLegacy(Button);
59
57
  var Form__default = /*#__PURE__*/_interopDefaultLegacy(Form);
@@ -68,7 +66,7 @@ var _toPropertyKey__default = /*#__PURE__*/_interopDefaultLegacy(_toPropertyKey)
68
66
  var FormGroup__default = /*#__PURE__*/_interopDefaultLegacy(FormGroup);
69
67
 
70
68
  var _excluded$5 = ["resource", "action", "previous", "status", "value", "onSubmit", "errors", "generalError", "className"];
71
- var propTypes$m = {
69
+ var propTypes$n = {
72
70
  resource: core.PropTypes.resource.isRequired,
73
71
  action: PropTypes__default["default"].string,
74
72
  previous: PropTypes__default["default"].string,
@@ -82,7 +80,7 @@ var propTypes$m = {
82
80
  errors: PropTypes__default["default"].objectOf(PropTypes__default["default"].arrayOf(PropTypes__default["default"].string)),
83
81
  className: PropTypes__default["default"].string
84
82
  };
85
- var defaultProps$m = {
83
+ var defaultProps$n = {
86
84
  action: null,
87
85
  previous: null,
88
86
  status: null,
@@ -173,11 +171,11 @@ var DeleteForm = function DeleteForm(_ref) {
173
171
  }]
174
172
  })))));
175
173
  };
176
- DeleteForm.propTypes = propTypes$m;
177
- DeleteForm.defaultProps = defaultProps$m;
174
+ DeleteForm.propTypes = propTypes$n;
175
+ DeleteForm.defaultProps = defaultProps$n;
178
176
 
179
177
  var _excluded$4 = ["component", "resource", "onSuccess", "item", "type", "isDelete"];
180
- var propTypes$l = {
178
+ var propTypes$m = {
181
179
  component: PropTypes__default["default"].string,
182
180
  resource: core.PropTypes.resource.isRequired,
183
181
  item: PropTypes__default["default"].object,
@@ -186,7 +184,7 @@ var propTypes$l = {
186
184
  onSuccess: PropTypes__default["default"].func,
187
185
  isDelete: PropTypes__default["default"].bool
188
186
  };
189
- var defaultProps$l = {
187
+ var defaultProps$m = {
190
188
  component: null,
191
189
  item: null,
192
190
  type: null,
@@ -328,15 +326,15 @@ var ResourceForm = function ResourceForm(_ref) {
328
326
  onChange: setValue
329
327
  })));
330
328
  };
331
- ResourceForm.propTypes = propTypes$l;
332
- ResourceForm.defaultProps = defaultProps$l;
329
+ ResourceForm.propTypes = propTypes$m;
330
+ ResourceForm.defaultProps = defaultProps$m;
333
331
 
334
- var propTypes$k = {
332
+ var propTypes$l = {
335
333
  className: PropTypes__default["default"].string,
336
334
  itemClassName: PropTypes__default["default"].string,
337
335
  linkClassName: PropTypes__default["default"].string
338
336
  };
339
- var defaultProps$k = {
337
+ var defaultProps$l = {
340
338
  className: null,
341
339
  itemClassName: null,
342
340
  linkClassName: null
@@ -362,7 +360,7 @@ var AccountMenu = function AccountMenu(_ref) {
362
360
  "value": "Account"
363
361
  }]
364
362
  }),
365
- href: route('account'),
363
+ href: route('panneau.account'),
366
364
  dropdown: [
367
365
  // {
368
366
  // label: (
@@ -371,7 +369,7 @@ var AccountMenu = function AccountMenu(_ref) {
371
369
  // description="Menu label"
372
370
  // />
373
371
  // ),
374
- // href: route('account'),
372
+ // href: route('panneau.account'),
375
373
  // },
376
374
  {
377
375
  label: /*#__PURE__*/React__default["default"].createElement(reactIntl.FormattedMessage, {
@@ -392,7 +390,7 @@ var AccountMenu = function AccountMenu(_ref) {
392
390
  "value": "Login"
393
391
  }]
394
392
  }),
395
- href: route('auth.login')
393
+ href: route('login')
396
394
  }];
397
395
  }, [user, route, onClickLogout]);
398
396
  return items !== null ? /*#__PURE__*/React__default["default"].createElement(Menu__default["default"], {
@@ -403,15 +401,15 @@ var AccountMenu = function AccountMenu(_ref) {
403
401
  dropdownAlign: "end"
404
402
  }) : null;
405
403
  };
406
- AccountMenu.propTypes = propTypes$k;
407
- AccountMenu.defaultProps = defaultProps$k;
404
+ AccountMenu.propTypes = propTypes$l;
405
+ AccountMenu.defaultProps = defaultProps$l;
408
406
 
409
- var propTypes$j = {
407
+ var propTypes$k = {
410
408
  className: PropTypes__default["default"].string,
411
409
  itemClassName: PropTypes__default["default"].string,
412
410
  linkClassName: PropTypes__default["default"].string
413
411
  };
414
- var defaultProps$j = {
412
+ var defaultProps$k = {
415
413
  className: null,
416
414
  itemClassName: null,
417
415
  linkClassName: null
@@ -448,12 +446,12 @@ var ResourcesMenu = function ResourcesMenu(_ref) {
448
446
  linkClassName: linkClassName
449
447
  });
450
448
  };
451
- ResourcesMenu.propTypes = propTypes$j;
452
- ResourcesMenu.defaultProps = defaultProps$j;
449
+ ResourcesMenu.propTypes = propTypes$k;
450
+ ResourcesMenu.defaultProps = defaultProps$k;
453
451
 
454
452
  /* eslint-disable react/jsx-props-no-spreading */
455
- var propTypes$i = {};
456
- var defaultProps$i = {};
453
+ var propTypes$j = {};
454
+ var defaultProps$j = {};
457
455
  var MainNavbar = function MainNavbar(props) {
458
456
  var _usePanneau = contexts.usePanneau(),
459
457
  name = _usePanneau.name;
@@ -476,14 +474,14 @@ var MainNavbar = function MainNavbar(props) {
476
474
  linkClassName: "nav-link"
477
475
  }));
478
476
  };
479
- MainNavbar.propTypes = propTypes$i;
480
- MainNavbar.defaultProps = defaultProps$i;
477
+ MainNavbar.propTypes = propTypes$j;
478
+ MainNavbar.defaultProps = defaultProps$j;
481
479
 
482
- var propTypes$h = {
480
+ var propTypes$i = {
483
481
  children: PropTypes__default["default"].node.isRequired,
484
482
  fullscreen: PropTypes__default["default"].bool
485
483
  };
486
- var defaultProps$h = {
484
+ var defaultProps$i = {
487
485
  fullscreen: false
488
486
  };
489
487
  var MainLayout = function MainLayout(_ref) {
@@ -503,17 +501,17 @@ var MainLayout = function MainLayout(_ref) {
503
501
  }, _defineProperty__default["default"](_ref2, "bg-".concat(background), background !== null), _defineProperty__default["default"](_ref2, "text-".concat(text), text !== null), _ref2)])
504
502
  }, children));
505
503
  };
506
- MainLayout.propTypes = propTypes$h;
507
- MainLayout.defaultProps = defaultProps$h;
504
+ MainLayout.propTypes = propTypes$i;
505
+ MainLayout.defaultProps = defaultProps$i;
508
506
 
509
- var propTypes$g = {
507
+ var propTypes$h = {
510
508
  title: core.PropTypes.label,
511
509
  actions: PropTypes__default["default"].node,
512
510
  small: PropTypes__default["default"].bool,
513
511
  className: PropTypes__default["default"].string,
514
512
  children: PropTypes__default["default"].node
515
513
  };
516
- var defaultProps$g = {
514
+ var defaultProps$h = {
517
515
  title: null,
518
516
  actions: null,
519
517
  small: false,
@@ -551,22 +549,22 @@ var PageHeader = function PageHeader(_ref) {
551
549
  className: "col-12 col-md-8 col-lg-7"
552
550
  }, inner)) : inner), children);
553
551
  };
554
- PageHeader.propTypes = propTypes$g;
555
- PageHeader.defaultProps = defaultProps$g;
552
+ PageHeader.propTypes = propTypes$h;
553
+ PageHeader.defaultProps = defaultProps$h;
556
554
 
557
- var propTypes$f = {
555
+ var propTypes$g = {
558
556
  resource: core.PropTypes.resource.isRequired
559
557
  };
560
- var defaultProps$f = {};
558
+ var defaultProps$g = {};
561
559
  var ResourceCreatePage = function ResourceCreatePage(_ref) {
562
560
  var resource = _ref.resource;
563
- var navigate = reactRouter.useNavigate();
561
+ var history = reactRouter.useHistory();
564
562
  var _useLocation = reactRouter.useLocation(),
565
563
  search = _useLocation.search;
566
564
  var resourceRoute = hooks.useResourceUrlGenerator(resource);
567
565
  var onSuccess = React.useCallback(function () {
568
- navigate("".concat(resourceRoute('index'), "?created=true"));
569
- }, [navigate, resourceRoute]);
566
+ history.push("".concat(resourceRoute('index'), "?created=true"));
567
+ }, [history, resourceRoute]);
570
568
  var _useMemo = React.useMemo(function () {
571
569
  return queryString.parse(search);
572
570
  }, [search]),
@@ -600,26 +598,26 @@ var ResourceCreatePage = function ResourceCreatePage(_ref) {
600
598
  onSuccess: onSuccess
601
599
  }))))));
602
600
  };
603
- ResourceCreatePage.propTypes = propTypes$f;
604
- ResourceCreatePage.defaultProps = defaultProps$f;
601
+ ResourceCreatePage.propTypes = propTypes$g;
602
+ ResourceCreatePage.defaultProps = defaultProps$g;
605
603
 
606
604
  // import Button from '../buttons/Button';
607
605
 
608
- var propTypes$e = {
609
- resource: core.PropTypes.resource.isRequired
606
+ var propTypes$f = {
607
+ resource: core.PropTypes.resource.isRequired,
608
+ itemId: PropTypes__default["default"].string.isRequired
610
609
  };
611
- var defaultProps$e = {};
610
+ var defaultProps$f = {};
612
611
  var ResourceDeletePage = function ResourceDeletePage(_ref) {
613
- var resource = _ref.resource;
614
- var _useParams = reactRouter.useParams(),
615
- itemId = _useParams.id;
616
- var navigate = reactRouter.useNavigate();
612
+ var resource = _ref.resource,
613
+ itemId = _ref.itemId;
614
+ var history = reactRouter.useHistory();
617
615
  var resourceRoute = hooks.useResourceUrlGenerator(resource);
618
616
  var _useResourceItem = data.useResourceItem(resource, itemId),
619
617
  item = _useResourceItem.item;
620
618
  var onSuccess = React.useCallback(function () {
621
- return navigate("".concat(resourceRoute('index'), "?deleted=true"));
622
- }, [navigate, resourceRoute]);
619
+ return history.push("".concat(resourceRoute('index'), "?deleted=true"));
620
+ }, [history, resourceRoute]);
623
621
 
624
622
  // Navigate back
625
623
  var _ref2 = history || {},
@@ -658,19 +656,19 @@ var ResourceDeletePage = function ResourceDeletePage(_ref) {
658
656
  isDelete: true
659
657
  }) : null)))));
660
658
  };
661
- ResourceDeletePage.propTypes = propTypes$e;
662
- ResourceDeletePage.defaultProps = defaultProps$e;
659
+ ResourceDeletePage.propTypes = propTypes$f;
660
+ ResourceDeletePage.defaultProps = defaultProps$f;
663
661
 
664
662
  // import Button from '../buttons/Button';
665
663
 
666
- var propTypes$d = {
667
- resource: core.PropTypes.resource.isRequired
664
+ var propTypes$e = {
665
+ resource: core.PropTypes.resource.isRequired,
666
+ itemId: PropTypes__default["default"].string.isRequired
668
667
  };
669
- var defaultProps$d = {};
668
+ var defaultProps$e = {};
670
669
  var ResourceEditPage = function ResourceEditPage(_ref) {
671
- var resource = _ref.resource;
672
- var _useParams = reactRouter.useParams(),
673
- itemId = _useParams.id;
670
+ var resource = _ref.resource,
671
+ itemId = _ref.itemId;
674
672
  var _useResourceItem = data.useResourceItem(resource, itemId),
675
673
  item = _useResourceItem.item;
676
674
  var _ref2 = item || {},
@@ -715,14 +713,14 @@ var ResourceEditPage = function ResourceEditPage(_ref) {
715
713
  onSuccess: onSuccess
716
714
  }) : null)))));
717
715
  };
718
- ResourceEditPage.propTypes = propTypes$d;
719
- ResourceEditPage.defaultProps = defaultProps$d;
716
+ ResourceEditPage.propTypes = propTypes$e;
717
+ ResourceEditPage.defaultProps = defaultProps$e;
720
718
 
721
- var propTypes$c = {
719
+ var propTypes$d = {
722
720
  resource: core.PropTypes.resource.isRequired,
723
721
  className: PropTypes__default["default"].string
724
722
  };
725
- var defaultProps$c = {
723
+ var defaultProps$d = {
726
724
  className: null
727
725
  };
728
726
  var ResourceCreateButtom = function ResourceCreateButtom(_ref) {
@@ -790,11 +788,11 @@ var ResourceCreateButtom = function ResourceCreateButtom(_ref) {
790
788
  onClickOutside: onDropdownClickOutside
791
789
  })) : button;
792
790
  };
793
- ResourceCreateButtom.propTypes = propTypes$c;
794
- ResourceCreateButtom.defaultProps = defaultProps$c;
791
+ ResourceCreateButtom.propTypes = propTypes$d;
792
+ ResourceCreateButtom.defaultProps = defaultProps$d;
795
793
 
796
794
  var _excluded$3 = ["component", "name", "groupLabel"];
797
- var propTypes$b = {
795
+ var propTypes$c = {
798
796
  filters: PropTypes__default["default"].arrayOf(PropTypes__default["default"].shape({
799
797
  id: PropTypes__default["default"].string.isRequired,
800
798
  component: PropTypes__default["default"].string.isRequired
@@ -809,7 +807,7 @@ var propTypes$b = {
809
807
  // eslint-disable-line react/forbid-prop-types
810
808
  className: PropTypes__default["default"].string
811
809
  };
812
- var defaultProps$b = {
810
+ var defaultProps$c = {
813
811
  filters: [],
814
812
  value: null,
815
813
  onChange: null,
@@ -890,12 +888,12 @@ var ResourceFilters = function ResourceFilters(_ref) {
890
888
  icon: freeSolidSvgIcons.faUndo
891
889
  })) : null);
892
890
  };
893
- ResourceFilters.propTypes = propTypes$b;
894
- ResourceFilters.defaultProps = defaultProps$b;
891
+ ResourceFilters.propTypes = propTypes$c;
892
+ ResourceFilters.defaultProps = defaultProps$c;
895
893
 
896
894
  var _excluded$2 = ["component", "showPagination", "filters"],
897
- _excluded2 = ["page"];
898
- var propTypes$a = {
895
+ _excluded2$1 = ["page"];
896
+ var propTypes$b = {
899
897
  resource: core.PropTypes.resource.isRequired,
900
898
  query: PropTypes__default["default"].object,
901
899
  // eslint-disable-line react/forbid-prop-types
@@ -907,7 +905,7 @@ var propTypes$a = {
907
905
  onQueryChange: PropTypes__default["default"].func,
908
906
  onQueryReset: PropTypes__default["default"].func
909
907
  };
910
- var defaultProps$a = {
908
+ var defaultProps$b = {
911
909
  query: null,
912
910
  paginated: true,
913
911
  component: null,
@@ -940,7 +938,7 @@ var ResourceItemsList = function ResourceItemsList(_ref) {
940
938
  var _ref2 = query || {},
941
939
  _ref2$page = _ref2.page,
942
940
  currentPage = _ref2$page === void 0 ? 1 : _ref2$page,
943
- rest = _objectWithoutProperties__default["default"](_ref2, _excluded2);
941
+ rest = _objectWithoutProperties__default["default"](_ref2, _excluded2$1);
944
942
  return [currentPage, rest];
945
943
  }, [query]),
946
944
  _useMemo2 = _slicedToArray__default["default"](_useMemo, 2),
@@ -981,16 +979,16 @@ var ResourceItemsList = function ResourceItemsList(_ref) {
981
979
  className: "mt-4 mb-1"
982
980
  }) : null);
983
981
  };
984
- ResourceItemsList.propTypes = propTypes$a;
985
- ResourceItemsList.defaultProps = defaultProps$a;
982
+ ResourceItemsList.propTypes = propTypes$b;
983
+ ResourceItemsList.defaultProps = defaultProps$b;
986
984
 
987
985
  var _excluded$1 = ["id", "component"];
988
- var propTypes$9 = {
986
+ var propTypes$a = {
989
987
  resource: core.PropTypes.resource.isRequired,
990
988
  defaultActions: PropTypes__default["default"].arrayOf(PropTypes__default["default"].object) // eslint-disable-line react/forbid-prop-types
991
989
  };
992
990
 
993
- var defaultProps$9 = {
991
+ var defaultProps$a = {
994
992
  defaultActions: ['create']
995
993
  };
996
994
  var ResourceIndexPage = function ResourceIndexPage(_ref) {
@@ -1025,7 +1023,7 @@ var ResourceIndexPage = function ResourceIndexPage(_ref) {
1025
1023
  var componentsManager = contexts.useComponentsManager();
1026
1024
  var _useLocation = reactRouter.useLocation(),
1027
1025
  search = _useLocation.search;
1028
- var navigate = reactRouter.useNavigate();
1026
+ var history = reactRouter.useHistory();
1029
1027
  var query = React.useMemo(function () {
1030
1028
  return queryString.parse(search);
1031
1029
  }, [search]);
@@ -1044,16 +1042,16 @@ var ResourceIndexPage = function ResourceIndexPage(_ref) {
1044
1042
  var value = submitQuery[key];
1045
1043
  return value !== null ? _objectSpread__default["default"](_objectSpread__default["default"]({}, currentQuery), {}, _defineProperty__default["default"]({}, key, value)) : currentQuery;
1046
1044
  }, null) : null;
1047
- navigate("".concat(url).concat(newQuery !== null ? "?".concat(queryString.stringify(newQuery, {
1045
+ history.push("".concat(url).concat(newQuery !== null ? "?".concat(queryString.stringify(newQuery, {
1048
1046
  arrayFormat: 'bracket'
1049
1047
  })) : ''));
1050
- }, [navigate, url, query, paginated]);
1048
+ }, [history, url, query, paginated]);
1051
1049
  var onQueryReset = React.useCallback(function () {
1052
1050
  var queryString$1 = queryString.stringify(null, {
1053
1051
  arrayFormat: 'bracket'
1054
1052
  });
1055
- navigate("".concat(url, "?").concat(queryString$1));
1056
- }, [navigate, url, paginated]);
1053
+ history.push("".concat(url, "?").concat(queryString$1));
1054
+ }, [history, url, paginated]);
1057
1055
  var onClickCloseAlert = React.useCallback(function () {
1058
1056
  history.replace(url);
1059
1057
  }, [history, url]);
@@ -1114,13 +1112,13 @@ var ResourceIndexPage = function ResourceIndexPage(_ref) {
1114
1112
  onQueryReset: onQueryReset
1115
1113
  }))));
1116
1114
  };
1117
- ResourceIndexPage.propTypes = propTypes$9;
1118
- ResourceIndexPage.defaultProps = defaultProps$9;
1115
+ ResourceIndexPage.propTypes = propTypes$a;
1116
+ ResourceIndexPage.defaultProps = defaultProps$a;
1119
1117
 
1120
- var propTypes$8 = {
1118
+ var propTypes$9 = {
1121
1119
  resource: core.PropTypes.resource.isRequired
1122
1120
  };
1123
- var defaultProps$8 = {};
1121
+ var defaultProps$9 = {};
1124
1122
  var ResourceShowPage = function ResourceShowPage(_ref) {
1125
1123
  var resource = _ref.resource;
1126
1124
  return /*#__PURE__*/React__default["default"].createElement(contexts.ResourceProvider, {
@@ -1131,12 +1129,12 @@ var ResourceShowPage = function ResourceShowPage(_ref) {
1131
1129
  className: "container-sm"
1132
1130
  }, "Show page")));
1133
1131
  };
1134
- ResourceShowPage.propTypes = propTypes$8;
1135
- ResourceShowPage.defaultProps = defaultProps$8;
1132
+ ResourceShowPage.propTypes = propTypes$9;
1133
+ ResourceShowPage.defaultProps = defaultProps$9;
1136
1134
 
1137
1135
  /* eslint-disable react/jsx-props-no-spreading */
1138
- var propTypes$7 = {};
1139
- var defaultProps$7 = {};
1136
+ var propTypes$8 = {};
1137
+ var defaultProps$8 = {};
1140
1138
  var HomePage = function HomePage() {
1141
1139
  var route = contexts.useUrlGenerator();
1142
1140
  var resources = contexts.usePanneauResources();
@@ -1172,26 +1170,26 @@ var HomePage = function HomePage() {
1172
1170
  }));
1173
1171
  })));
1174
1172
  };
1175
- HomePage.propTypes = propTypes$7;
1176
- HomePage.defaultProps = defaultProps$7;
1173
+ HomePage.propTypes = propTypes$8;
1174
+ HomePage.defaultProps = defaultProps$8;
1177
1175
 
1178
- var propTypes$6 = {};
1179
- var defaultProps$6 = {};
1176
+ var propTypes$7 = {};
1177
+ var defaultProps$7 = {};
1180
1178
  var AccountPage = function AccountPage() {
1181
1179
  return /*#__PURE__*/React__default["default"].createElement(MainLayout, null, /*#__PURE__*/React__default["default"].createElement("div", {
1182
1180
  className: "container-sm py-4"
1183
1181
  }, "Account page"));
1184
1182
  };
1185
- AccountPage.propTypes = propTypes$6;
1186
- AccountPage.defaultProps = defaultProps$6;
1183
+ AccountPage.propTypes = propTypes$7;
1184
+ AccountPage.defaultProps = defaultProps$7;
1187
1185
 
1188
1186
  /* eslint-disable react/jsx-props-no-spreading */
1189
- var propTypes$5 = {
1187
+ var propTypes$6 = {
1190
1188
  fields: core.PropTypes.fields,
1191
1189
  className: PropTypes__default["default"].string,
1192
1190
  onSuccess: PropTypes__default["default"].func
1193
1191
  };
1194
- var defaultProps$5 = {
1192
+ var defaultProps$6 = {
1195
1193
  fields: [{
1196
1194
  name: 'email',
1197
1195
  type: 'email',
@@ -1263,14 +1261,14 @@ var LoginForm = function LoginForm(_ref) {
1263
1261
  })
1264
1262
  });
1265
1263
  };
1266
- LoginForm.propTypes = propTypes$5;
1267
- LoginForm.defaultProps = defaultProps$5;
1264
+ LoginForm.propTypes = propTypes$6;
1265
+ LoginForm.defaultProps = defaultProps$6;
1268
1266
 
1269
- var propTypes$4 = {
1267
+ var propTypes$5 = {
1270
1268
  children: PropTypes__default["default"].node.isRequired,
1271
1269
  fullscreen: PropTypes__default["default"].bool
1272
1270
  };
1273
- var defaultProps$4 = {
1271
+ var defaultProps$5 = {
1274
1272
  fullscreen: false
1275
1273
  };
1276
1274
  var GuestLayout = function GuestLayout(_ref) {
@@ -1296,12 +1294,12 @@ var GuestLayout = function GuestLayout(_ref) {
1296
1294
  })
1297
1295
  }, children)));
1298
1296
  };
1299
- GuestLayout.propTypes = propTypes$4;
1300
- GuestLayout.defaultProps = defaultProps$4;
1297
+ GuestLayout.propTypes = propTypes$5;
1298
+ GuestLayout.defaultProps = defaultProps$5;
1301
1299
 
1302
1300
  /* eslint-disable react/jsx-props-no-spreading */
1303
- var propTypes$3 = {};
1304
- var defaultProps$3 = {};
1301
+ var propTypes$4 = {};
1302
+ var defaultProps$4 = {};
1305
1303
  var LoginPage = function LoginPage() {
1306
1304
  var route = contexts.useUrlGenerator();
1307
1305
  var onSuccess = React.useCallback(function () {
@@ -1327,8 +1325,8 @@ var LoginPage = function LoginPage() {
1327
1325
  onSuccess: onSuccess
1328
1326
  })))));
1329
1327
  };
1330
- LoginPage.propTypes = propTypes$3;
1331
- LoginPage.defaultProps = defaultProps$3;
1328
+ LoginPage.propTypes = propTypes$4;
1329
+ LoginPage.defaultProps = defaultProps$4;
1332
1330
 
1333
1331
  var messages = reactIntl.defineMessages({
1334
1332
  metaTitle401: {
@@ -1423,10 +1421,10 @@ var messages = reactIntl.defineMessages({
1423
1421
  }]
1424
1422
  }
1425
1423
  });
1426
- var propTypes$2 = {
1424
+ var propTypes$3 = {
1427
1425
  statusCode: core.PropTypes.statusCode
1428
1426
  };
1429
- var defaultProps$2 = {
1427
+ var defaultProps$3 = {
1430
1428
  statusCode: null
1431
1429
  };
1432
1430
  var ErrorPage = function ErrorPage(_ref) {
@@ -1441,20 +1439,37 @@ var ErrorPage = function ErrorPage(_ref) {
1441
1439
  className: "col-12 col-sm-8 col-md-6"
1442
1440
  }, /*#__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)]))))));
1443
1441
  };
1444
- ErrorPage.propTypes = propTypes$2;
1445
- ErrorPage.defaultProps = defaultProps$2;
1442
+ ErrorPage.propTypes = propTypes$3;
1443
+ ErrorPage.defaultProps = defaultProps$3;
1446
1444
 
1447
- var _excluded = ["path", "component", "exact"];
1448
- var createResourceRoutes = function createResourceRoutes(resource, _ref) {
1449
- var route = _ref.route,
1450
- componentsManager = _ref.componentsManager,
1451
- _ref$pages = _ref.pages,
1452
- pages = _ref$pages === void 0 ? {} : _ref$pages;
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
+ });
1457
+
1458
+ var _excluded = ["path", "component", "exact"],
1459
+ _excluded2 = ["id"];
1460
+ var propTypes$2 = {
1461
+ resource: core.PropTypes.resource.isRequired
1462
+ };
1463
+ var defaultProps$2 = {};
1464
+ var ResourceRoutes = function ResourceRoutes(_ref) {
1465
+ var resource = _ref.resource;
1453
1466
  var resourceId = resource.id,
1454
1467
  _resource$pages = resource.pages,
1455
- resourcePages = _resource$pages === void 0 ? {} : _resource$pages,
1468
+ pages = _resource$pages === void 0 ? {} : _resource$pages,
1456
1469
  _resource$extraRoutes = resource.extraRoutes,
1457
1470
  extraRoutes = _resource$extraRoutes === void 0 ? [] : _resource$extraRoutes;
1471
+ var route = contexts.useUrlGenerator();
1472
+ var componentsManager = contexts.useComponentsManager();
1458
1473
 
1459
1474
  // Load custom pages from resource
1460
1475
  var _ref2 = pages || {},
@@ -1468,82 +1483,95 @@ var createResourceRoutes = function createResourceRoutes(resource, _ref) {
1468
1483
  editPage = _ref2$edit === void 0 ? null : _ref2$edit,
1469
1484
  _ref2$delete = _ref2["delete"],
1470
1485
  deletePage = _ref2$delete === void 0 ? null : _ref2$delete;
1471
- var _ref3 = resourcePages || {},
1472
- _ref3$index = _ref3.index,
1473
- resourceIndexPage = _ref3$index === void 0 ? null : _ref3$index,
1474
- _ref3$show = _ref3.show,
1475
- resourceShowPage = _ref3$show === void 0 ? null : _ref3$show,
1476
- _ref3$create = _ref3.create,
1477
- resourceCreatePage = _ref3$create === void 0 ? null : _ref3$create,
1478
- _ref3$edit = _ref3.edit,
1479
- resourceEditPage = _ref3$edit === void 0 ? null : _ref3$edit,
1480
- _ref3$delete = _ref3["delete"],
1481
- resourceDeletePage = _ref3$delete === void 0 ? null : _ref3$delete;
1482
- 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;
1483
- 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;
1484
- 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;
1485
- 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;
1486
- 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;
1487
- return [/*#__PURE__*/React__default["default"].createElement(reactRouter.Route, {
1486
+ var ResourceIndexComponent = indexPage !== null && typeof indexPage.component !== 'undefined' ? componentsManager.getComponent(indexPage.component) : ResourceIndexPage;
1487
+ var ResourceShowComponent = showPage !== null && typeof showPage.component !== 'undefined' ? componentsManager.getComponent(showPage.component) : ResourceShowPage;
1488
+ var ResourceCreateComponent = createPage !== null && typeof createPage.component !== 'undefined' ? componentsManager.getComponent(createPage.component) : ResourceCreatePage;
1489
+ var ResourceEditComponent = editPage !== null && typeof editPage.component !== 'undefined' ? componentsManager.getComponent(editPage.component) : ResourceEditPage;
1490
+ var ResourceDeleteComponent = deletePage !== null && typeof deletePage.component !== 'undefined' ? componentsManager.getComponent(deletePage.component) : ResourceDeletePage;
1491
+ return /*#__PURE__*/React__default["default"].createElement(reactRouter.Switch, null, extraRoutes.map(function (_ref3) {
1492
+ var path = _ref3.path,
1493
+ component = _ref3.component,
1494
+ _ref3$exact = _ref3.exact,
1495
+ exact = _ref3$exact === void 0 ? true : _ref3$exact,
1496
+ pageProps = _objectWithoutProperties__default["default"](_ref3, _excluded);
1497
+ var RouteComponent = componentsManager.getComponent(component);
1498
+ return RouteComponent !== null ? /*#__PURE__*/React__default["default"].createElement(reactRouter.Route, {
1499
+ key: "route-".concat(path),
1500
+ path: path,
1501
+ exact: exact,
1502
+ render: function render(_ref4) {
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, {
1488
1513
  path: route('resources.index', {
1489
1514
  resource: resourceId
1490
1515
  }),
1491
1516
  exact: true,
1492
- element: /*#__PURE__*/React__default["default"].createElement(ResourceIndexComponent, {
1493
- resource: resource
1494
- })
1517
+ render: function render() {
1518
+ return /*#__PURE__*/React__default["default"].createElement(ResourceIndexComponent, {
1519
+ resource: resource
1520
+ });
1521
+ }
1495
1522
  }), /*#__PURE__*/React__default["default"].createElement(reactRouter.Route, {
1496
1523
  path: route('resources.create', {
1497
1524
  resource: resourceId
1498
1525
  }),
1499
1526
  exact: true,
1500
- element: /*#__PURE__*/React__default["default"].createElement(ResourceCreateComponent, {
1501
- resource: resource
1502
- })
1527
+ render: function render() {
1528
+ return /*#__PURE__*/React__default["default"].createElement(ResourceCreateComponent, {
1529
+ resource: resource
1530
+ });
1531
+ }
1503
1532
  }), /*#__PURE__*/React__default["default"].createElement(reactRouter.Route, {
1504
1533
  path: route('resources.show', {
1505
1534
  resource: resourceId,
1506
1535
  id: ':id'
1507
1536
  }),
1508
1537
  exact: true,
1509
- element: /*#__PURE__*/React__default["default"].createElement(ResourceShowComponent, {
1510
- resource: resource
1511
- })
1538
+ render: function render(_ref5) {
1539
+ var id = _ref5.match.params.id;
1540
+ return /*#__PURE__*/React__default["default"].createElement(ResourceShowComponent, {
1541
+ resource: resource,
1542
+ itemId: id
1543
+ });
1544
+ }
1512
1545
  }), /*#__PURE__*/React__default["default"].createElement(reactRouter.Route, {
1513
1546
  path: route('resources.edit', {
1514
1547
  resource: resourceId,
1515
1548
  id: ':id'
1516
1549
  }),
1517
1550
  exact: true,
1518
- element: /*#__PURE__*/React__default["default"].createElement(ResourceEditComponent, {
1519
- resource: resource
1520
- })
1551
+ render: function render(_ref6) {
1552
+ var id = _ref6.match.params.id;
1553
+ return /*#__PURE__*/React__default["default"].createElement(ResourceEditComponent, {
1554
+ resource: resource,
1555
+ itemId: id
1556
+ });
1557
+ }
1521
1558
  }), /*#__PURE__*/React__default["default"].createElement(reactRouter.Route, {
1522
1559
  path: route('resources.delete', {
1523
1560
  resource: resourceId,
1524
1561
  id: ':id'
1525
1562
  }),
1526
1563
  exact: true,
1527
- element: /*#__PURE__*/React__default["default"].createElement(ResourceDeleteComponent, {
1528
- resource: resource
1529
- })
1530
- })].concat(_toConsumableArray__default["default"](extraRoutes.map(function (_ref4) {
1531
- var path = _ref4.path,
1532
- component = _ref4.component,
1533
- _ref4$exact = _ref4.exact,
1534
- exact = _ref4$exact === void 0 ? true : _ref4$exact,
1535
- pageProps = _objectWithoutProperties__default["default"](_ref4, _excluded);
1536
- var RouteComponent = componentsManager.getComponent(component);
1537
- return RouteComponent !== null ? /*#__PURE__*/React__default["default"].createElement(reactRouter.Route, {
1538
- key: "route-".concat(path),
1539
- path: path,
1540
- exact: exact,
1541
- element: /*#__PURE__*/React__default["default"].createElement(RouteComponent, Object.assign({
1542
- resource: resource
1543
- }, pageProps))
1544
- }) : null;
1545
- })));
1564
+ render: function render(_ref7) {
1565
+ var id = _ref7.match.params.id;
1566
+ return /*#__PURE__*/React__default["default"].createElement(ResourceDeleteComponent, {
1567
+ resource: resource,
1568
+ itemId: id
1569
+ });
1570
+ }
1571
+ }));
1546
1572
  };
1573
+ ResourceRoutes.propTypes = propTypes$2;
1574
+ ResourceRoutes.defaultProps = defaultProps$2;
1547
1575
 
1548
1576
  var propTypes$1 = {
1549
1577
  statusCode: core.PropTypes.statusCode
@@ -1553,9 +1581,13 @@ var defaultProps$1 = {
1553
1581
  };
1554
1582
  var PanneauRoutes = function PanneauRoutes(_ref) {
1555
1583
  var initialStatusCode = _ref.statusCode;
1584
+ var _usePanneau = contexts.usePanneau(),
1585
+ _usePanneau$pages = _usePanneau.pages,
1586
+ pages = _usePanneau$pages === void 0 ? {} : _usePanneau$pages;
1556
1587
  var routes = contexts.useRoutes();
1557
1588
  var _useLocation = reactRouter.useLocation(),
1558
- pathname = _useLocation.pathname;
1589
+ pathname = _useLocation.pathname; // search
1590
+
1559
1591
  var _useState = React.useState({
1560
1592
  statusCode: initialStatusCode,
1561
1593
  pathname: pathname
@@ -1563,25 +1595,27 @@ var PanneauRoutes = function PanneauRoutes(_ref) {
1563
1595
  _useState2 = _slicedToArray__default["default"](_useState, 2),
1564
1596
  _useState2$ = _useState2[0],
1565
1597
  statusCode = _useState2$.statusCode,
1566
- lastPathname = _useState2$.pathname,
1598
+ initialPathname = _useState2$.pathname,
1567
1599
  setInitialRequest = _useState2[1];
1568
1600
  var user = auth.useUser();
1569
1601
  var route = contexts.useUrlGenerator();
1570
1602
  var resources = contexts.usePanneauResources();
1571
- var componentsManager = contexts.usePagesComponentsManager();
1603
+
1604
+ // const nextUrl = useMemo(() => {
1605
+ // const query = parseQuery(search);
1606
+ // return query !== null ? query.next || null : null;
1607
+ // }, [search]);
1608
+
1572
1609
  React.useEffect(function () {
1573
- if (pathname !== lastPathname) {
1610
+ if (pathname !== initialPathname) {
1574
1611
  setInitialRequest({
1575
1612
  pathname: pathname,
1576
1613
  statusCode: null
1577
1614
  });
1578
1615
  }
1579
- }, [pathname, lastPathname]);
1616
+ }, [pathname, initialPathname]);
1580
1617
 
1581
1618
  // Custom Pages
1582
- var _usePanneau = contexts.usePanneau(),
1583
- _usePanneau$pages = _usePanneau.pages,
1584
- pages = _usePanneau$pages === void 0 ? null : _usePanneau$pages;
1585
1619
  var _ref2 = pages || {},
1586
1620
  _ref2$home = _ref2.home,
1587
1621
  homePage = _ref2$home === void 0 ? null : _ref2$home,
@@ -1591,55 +1625,55 @@ var PanneauRoutes = function PanneauRoutes(_ref) {
1591
1625
  accountPage = _ref2$account === void 0 ? null : _ref2$account,
1592
1626
  _ref2$error = _ref2.error,
1593
1627
  errorPage = _ref2$error === void 0 ? null : _ref2$error;
1594
- var HomeComponent = componentsManager.getComponent(homePage === null || homePage === void 0 ? void 0 : homePage.component) || HomePage;
1595
- var LoginComponent = componentsManager.getComponent(loginPage === null || loginPage === void 0 ? void 0 : loginPage.component) || LoginPage;
1596
- var AccountComponent = componentsManager.getComponent(accountPage === null || accountPage === void 0 ? void 0 : accountPage.component) || AccountPage;
1597
- var ErrorComponent = componentsManager.getComponent(errorPage === null || errorPage === void 0 ? void 0 : errorPage.component) || ErrorPage;
1598
-
1599
- // If there is an error status code
1600
- if (statusCode !== null) {
1601
- return /*#__PURE__*/React__default["default"].createElement(ErrorComponent, {
1602
- statusCode: statusCode
1603
- });
1604
- }
1605
-
1606
- // If user is unauthenticated
1607
- if (user === null) {
1608
- return /*#__PURE__*/React__default["default"].createElement(reactRouter.Routes, null, /*#__PURE__*/React__default["default"].createElement(reactRouter.Route, {
1609
- path: routes['auth.login'],
1610
- exact: true,
1611
- element: /*#__PURE__*/React__default["default"].createElement(LoginComponent, null)
1612
- }), /*#__PURE__*/React__default["default"].createElement(reactRouter.Route, {
1613
- path: "*",
1614
- element: /*#__PURE__*/React__default["default"].createElement(reactRouter.Navigate, {
1615
- to: "".concat(route('auth.login'), "?next=").concat(encodeURIComponent(pathname)),
1616
- replace: true
1617
- })
1618
- }));
1619
- }
1620
-
1621
- // Normal routes
1622
- return /*#__PURE__*/React__default["default"].createElement(reactRouter.Routes, null, /*#__PURE__*/React__default["default"].createElement(reactRouter.Route, {
1628
+ var HomeComponent = utils.getComponentFromName((homePage === null || homePage === void 0 ? void 0 : homePage.component) || 'home', basePages, homePage === null || homePage === void 0 ? void 0 : homePage.component);
1629
+ var LoginComponent = utils.getComponentFromName((loginPage === null || loginPage === void 0 ? void 0 : loginPage.component) || 'login', basePages, loginPage === null || loginPage === void 0 ? void 0 : loginPage.component);
1630
+ var AccountComponent = utils.getComponentFromName((accountPage === null || accountPage === void 0 ? void 0 : accountPage.component) || 'account', basePages, accountPage === null || accountPage === void 0 ? void 0 : accountPage.component);
1631
+ var ErrorComponent = utils.getComponentFromName((errorPage === null || errorPage === void 0 ? void 0 : errorPage.component) || 'error', basePages, errorPage === null || errorPage === void 0 ? void 0 : errorPage.component);
1632
+ return /*#__PURE__*/React__default["default"].createElement(reactRouter.Switch, null, statusCode !== null ? /*#__PURE__*/React__default["default"].createElement(reactRouter.Route, {
1633
+ path: "*",
1634
+ render: function render() {
1635
+ return /*#__PURE__*/React__default["default"].createElement(ErrorComponent, {
1636
+ statusCode: statusCode
1637
+ });
1638
+ }
1639
+ }) : null, user === null ? /*#__PURE__*/React__default["default"].createElement(reactRouter.Route, {
1640
+ path: "*",
1641
+ exact: true,
1642
+ component: LoginComponent
1643
+ }) : null, user !== null ? /*#__PURE__*/React__default["default"].createElement(reactRouter.Route, {
1623
1644
  path: routes.home,
1624
1645
  exact: true,
1625
- element: /*#__PURE__*/React__default["default"].createElement(HomeComponent, null)
1646
+ component: HomeComponent
1647
+ }) : /*#__PURE__*/React__default["default"].createElement(reactRouter.Redirect, {
1648
+ from: routes.home,
1649
+ exact: true,
1650
+ to: route('login')
1626
1651
  }), resources.map(function (resource) {
1627
1652
  var _ref3 = resource || {},
1628
1653
  resourceId = _ref3.id;
1629
- return /*#__PURE__*/React__default["default"].createElement(React.Fragment, {
1630
- key: "resource-".concat(resourceId)
1631
- }, createResourceRoutes(resource, {
1632
- route: route,
1633
- componentsManager: componentsManager,
1634
- pages: pages
1635
- }));
1654
+ return user !== null ? /*#__PURE__*/React__default["default"].createElement(reactRouter.Route, {
1655
+ key: "resource-".concat(resourceId),
1656
+ path: route('resources.index', {
1657
+ resource: resourceId
1658
+ }),
1659
+ render: function render() {
1660
+ return /*#__PURE__*/React__default["default"].createElement(ResourceRoutes, {
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
+ });
1636
1671
  }), /*#__PURE__*/React__default["default"].createElement(reactRouter.Route, {
1637
- path: routes.account,
1638
- exact: true,
1639
- element: /*#__PURE__*/React__default["default"].createElement(AccountComponent, null)
1672
+ path: route('auth.account'),
1673
+ component: AccountComponent
1640
1674
  }), /*#__PURE__*/React__default["default"].createElement(reactRouter.Route, {
1641
1675
  path: "*",
1642
- element: /*#__PURE__*/React__default["default"].createElement(ErrorComponent, null)
1676
+ component: ErrorComponent
1643
1677
  }));
1644
1678
  };
1645
1679
  PanneauRoutes.propTypes = propTypes$1;