@panneau/app 2.0.92 → 3.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 +1 -1
- package/es/index.js +85 -93
- package/lib/index.js +104 -111
- package/package.json +33 -32
package/es/index.js
CHANGED
@@ -1,9 +1,9 @@
|
|
1
1
|
import _defineProperty from '@babel/runtime/helpers/defineProperty';
|
2
2
|
import _objectSpread from '@babel/runtime/helpers/objectSpread2';
|
3
|
+
import { useLocation, createPathToRegexpMatcher, useMemoryLocationHook } from '@folklore/routes';
|
3
4
|
import PropTypes from 'prop-types';
|
4
5
|
import React, { useCallback, useMemo, useState, useEffect, Fragment } from 'react';
|
5
|
-
import {
|
6
|
-
import { Link, BrowserRouter } from 'react-router-dom';
|
6
|
+
import { Route, Switch, Redirect, Router } from 'wouter';
|
7
7
|
import { useUser, useLogout, useAuth, AuthProvider } from '@panneau/auth';
|
8
8
|
import { PropTypes as PropTypes$1 } from '@panneau/core';
|
9
9
|
import { useUrlGenerator, usePanneauResources, usePanneau, usePanneauColorScheme, ResourceProvider, useComponentsManager, useFormsComponents, useRoutes, usePagesComponentsManager, PanneauProvider, UppyProvider, RoutesProvider, ModalProvider, ComponentsProvider } from '@panneau/core/contexts';
|
@@ -26,6 +26,7 @@ import ResourceForm from '@panneau/form-resource';
|
|
26
26
|
import classNames from 'classnames';
|
27
27
|
import { Modals } from '@panneau/element-modal';
|
28
28
|
import isArray from 'lodash/isArray';
|
29
|
+
import Link from '@panneau/element-link';
|
29
30
|
import Menu from '@panneau/element-menu';
|
30
31
|
import Navbar from '@panneau/element-navbar';
|
31
32
|
import Label from '@panneau/element-label';
|
@@ -136,7 +137,8 @@ var ResourcesMenu = function ResourcesMenu(_ref) {
|
|
136
137
|
itemClassName = _ref.itemClassName,
|
137
138
|
linkClassName = _ref.linkClassName;
|
138
139
|
var _useLocation = useLocation(),
|
139
|
-
|
140
|
+
_useLocation2 = _slicedToArray(_useLocation, 1),
|
141
|
+
pathname = _useLocation2[0].pathname;
|
140
142
|
var resources = usePanneauResources();
|
141
143
|
var resourceRoute = useResourceUrlGenerator();
|
142
144
|
var items = useMemo(function () {
|
@@ -226,7 +228,7 @@ var MainNavbar = function MainNavbar(props) {
|
|
226
228
|
return /*#__PURE__*/React.createElement(Navbar, Object.assign({
|
227
229
|
theme: background
|
228
230
|
}, props), name !== null ? /*#__PURE__*/React.createElement(Link, {
|
229
|
-
|
231
|
+
href: route('home'),
|
230
232
|
className: "navbar-brand"
|
231
233
|
}, name) : null, items);
|
232
234
|
};
|
@@ -322,9 +324,10 @@ var propTypes$e = {
|
|
322
324
|
var defaultProps$d = {};
|
323
325
|
var ResourceCreatePage = function ResourceCreatePage(_ref) {
|
324
326
|
var resource = _ref.resource;
|
325
|
-
var navigate = useNavigate();
|
326
327
|
var _useLocation = useLocation(),
|
327
|
-
|
328
|
+
_useLocation2 = _slicedToArray(_useLocation, 2),
|
329
|
+
search = _useLocation2[0].search,
|
330
|
+
navigate = _useLocation2[1];
|
328
331
|
var resourceRoute = useResourceUrlGenerator(resource);
|
329
332
|
var _useMemo = useMemo(function () {
|
330
333
|
return queryString.parse(search);
|
@@ -368,16 +371,17 @@ var ResourceCreatePage = function ResourceCreatePage(_ref) {
|
|
368
371
|
ResourceCreatePage.propTypes = propTypes$e;
|
369
372
|
ResourceCreatePage.defaultProps = defaultProps$d;
|
370
373
|
|
371
|
-
// import PropTypes from 'prop-types';
|
372
374
|
var propTypes$d = {
|
375
|
+
itemId: PropTypes.string.isRequired,
|
373
376
|
resource: PropTypes$1.resource.isRequired
|
374
377
|
};
|
375
378
|
var defaultProps$c = {};
|
376
379
|
var ResourceDeletePage = function ResourceDeletePage(_ref) {
|
377
|
-
var
|
378
|
-
|
379
|
-
|
380
|
-
|
380
|
+
var itemId = _ref.itemId,
|
381
|
+
resource = _ref.resource;
|
382
|
+
var _useLocation = useLocation(),
|
383
|
+
_useLocation2 = _slicedToArray(_useLocation, 2),
|
384
|
+
navigate = _useLocation2[1];
|
381
385
|
var resourceRoute = useResourceUrlGenerator(resource);
|
382
386
|
var _useResourceItem = useResourceItem(resource, itemId),
|
383
387
|
item = _useResourceItem.item;
|
@@ -423,13 +427,13 @@ ResourceDeletePage.propTypes = propTypes$d;
|
|
423
427
|
ResourceDeletePage.defaultProps = defaultProps$c;
|
424
428
|
|
425
429
|
var propTypes$c = {
|
430
|
+
itemId: PropTypes.string.isRequired,
|
426
431
|
resource: PropTypes$1.resource.isRequired
|
427
432
|
};
|
428
433
|
var defaultProps$b = {};
|
429
434
|
var ResourceEditPage = function ResourceEditPage(_ref) {
|
430
|
-
var
|
431
|
-
|
432
|
-
itemId = _useParams.id;
|
435
|
+
var itemId = _ref.itemId,
|
436
|
+
resource = _ref.resource;
|
433
437
|
var _useResourceItem = useResourceItem(resource, itemId),
|
434
438
|
item = _useResourceItem.item;
|
435
439
|
var _ref2 = item || {},
|
@@ -621,8 +625,9 @@ var ResourceIndexPage = function ResourceIndexPage(_ref) {
|
|
621
625
|
var resourceValues = useResourceValues(resource);
|
622
626
|
var componentsManager = useComponentsManager();
|
623
627
|
var _useLocation = useLocation(),
|
624
|
-
|
625
|
-
|
628
|
+
_useLocation2 = _slicedToArray(_useLocation, 2),
|
629
|
+
search = _useLocation2[0].search,
|
630
|
+
navigate = _useLocation2[1];
|
626
631
|
var query = useMemo(function () {
|
627
632
|
return queryString.parse(search);
|
628
633
|
}, [search]);
|
@@ -718,14 +723,14 @@ ResourceIndexPage.propTypes = propTypes$9;
|
|
718
723
|
ResourceIndexPage.defaultProps = defaultProps$9;
|
719
724
|
|
720
725
|
var propTypes$8 = {
|
721
|
-
resource: PropTypes$1.resource.isRequired
|
726
|
+
resource: PropTypes$1.resource.isRequired,
|
727
|
+
itemId: PropTypes.string.isRequired
|
722
728
|
};
|
723
729
|
var defaultProps$8 = {};
|
724
730
|
var ResourceShowPage = function ResourceShowPage(_ref) {
|
725
|
-
var resource = _ref.resource
|
731
|
+
var resource = _ref.resource,
|
732
|
+
itemId = _ref.itemId;
|
726
733
|
var name = resource.name;
|
727
|
-
var _useParams = useParams(),
|
728
|
-
itemId = _useParams.id;
|
729
734
|
var _useResourceItem = useResourceItem(resource, itemId),
|
730
735
|
item = _useResourceItem.item;
|
731
736
|
var _ref2 = item || {},
|
@@ -774,7 +779,7 @@ var HomePage = function HomePage() {
|
|
774
779
|
return /*#__PURE__*/React.createElement(Link, {
|
775
780
|
className: "d-block my-2",
|
776
781
|
key: "resource-link-".concat(resourceId),
|
777
|
-
|
782
|
+
href: route('resources.index', {
|
778
783
|
resource: resourceId
|
779
784
|
})
|
780
785
|
}, /*#__PURE__*/React.createElement(FormattedMessage, {
|
@@ -1029,7 +1034,7 @@ var ErrorPage = function ErrorPage(_ref) {
|
|
1029
1034
|
ErrorPage.propTypes = propTypes$2;
|
1030
1035
|
ErrorPage.defaultProps = defaultProps$2;
|
1031
1036
|
|
1032
|
-
var _excluded$1 = ["path", "component"
|
1037
|
+
var _excluded$1 = ["path", "component"];
|
1033
1038
|
var createResourceRoutes = function createResourceRoutes(resource, _ref) {
|
1034
1039
|
var route = _ref.route,
|
1035
1040
|
componentsManager = _ref.componentsManager,
|
@@ -1070,73 +1075,72 @@ var createResourceRoutes = function createResourceRoutes(resource, _ref) {
|
|
1070
1075
|
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;
|
1071
1076
|
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;
|
1072
1077
|
return [/*#__PURE__*/React.createElement(Route, {
|
1073
|
-
key: "".concat(resourceId, "-index"),
|
1074
|
-
path: route('resources.index', {
|
1075
|
-
resource: resourceId
|
1076
|
-
}),
|
1077
|
-
exact: true,
|
1078
|
-
element: /*#__PURE__*/React.createElement(ResourceIndexComponent, {
|
1079
|
-
resource: resource
|
1080
|
-
})
|
1081
|
-
}), /*#__PURE__*/React.createElement(Route, {
|
1082
1078
|
key: "".concat(resourceId, "-create"),
|
1083
1079
|
path: route('resources.create', {
|
1084
1080
|
resource: resourceId
|
1085
1081
|
}),
|
1086
|
-
exact: true
|
1087
|
-
|
1082
|
+
exact: true
|
1083
|
+
}, function () {
|
1084
|
+
return /*#__PURE__*/React.createElement(ResourceCreateComponent, {
|
1088
1085
|
resource: resource
|
1089
|
-
})
|
1086
|
+
});
|
1090
1087
|
}), /*#__PURE__*/React.createElement(Route, {
|
1091
1088
|
key: "".concat(resourceId, "-show"),
|
1092
1089
|
path: route('resources.show', {
|
1093
1090
|
resource: resourceId,
|
1094
1091
|
id: ':id'
|
1095
|
-
}),
|
1096
|
-
exact: true,
|
1097
|
-
element: /*#__PURE__*/React.createElement(ResourceShowComponent, {
|
1098
|
-
resource: resource
|
1099
1092
|
})
|
1093
|
+
}, function () {
|
1094
|
+
return /*#__PURE__*/React.createElement(ResourceShowComponent, {
|
1095
|
+
resource: resource
|
1096
|
+
});
|
1100
1097
|
}), /*#__PURE__*/React.createElement(Route, {
|
1101
1098
|
key: "".concat(resourceId, "-edit"),
|
1102
1099
|
path: route('resources.edit', {
|
1103
1100
|
resource: resourceId,
|
1104
1101
|
id: ':id'
|
1105
|
-
}),
|
1106
|
-
exact: true,
|
1107
|
-
element: /*#__PURE__*/React.createElement(ResourceEditComponent, {
|
1108
|
-
resource: resource
|
1109
1102
|
})
|
1103
|
+
}, function () {
|
1104
|
+
return /*#__PURE__*/React.createElement(ResourceEditComponent, {
|
1105
|
+
resource: resource
|
1106
|
+
});
|
1110
1107
|
}), /*#__PURE__*/React.createElement(Route, {
|
1111
1108
|
key: "".concat(resourceId, "-delete"),
|
1112
1109
|
path: route('resources.delete', {
|
1113
1110
|
resource: resourceId,
|
1114
1111
|
id: ':id'
|
1115
|
-
}),
|
1116
|
-
exact: true,
|
1117
|
-
element: /*#__PURE__*/React.createElement(ResourceDeleteComponent, {
|
1118
|
-
resource: resource
|
1119
1112
|
})
|
1113
|
+
}, function () {
|
1114
|
+
return /*#__PURE__*/React.createElement(ResourceDeleteComponent, {
|
1115
|
+
resource: resource
|
1116
|
+
});
|
1120
1117
|
})].concat(_toConsumableArray(extraRoutes.map(function (_ref4) {
|
1121
1118
|
var path = _ref4.path,
|
1122
1119
|
component = _ref4.component,
|
1123
|
-
_ref4$exact = _ref4.exact,
|
1124
|
-
exact = _ref4$exact === void 0 ? true : _ref4$exact,
|
1125
1120
|
pageProps = _objectWithoutProperties(_ref4, _excluded$1);
|
1126
1121
|
var RouteComponent = componentsManager.getComponent(component);
|
1127
1122
|
return RouteComponent !== null ? /*#__PURE__*/React.createElement(Route, {
|
1128
1123
|
key: "route-".concat(path),
|
1129
|
-
path: path
|
1130
|
-
|
1131
|
-
|
1124
|
+
path: path
|
1125
|
+
}, function () {
|
1126
|
+
return /*#__PURE__*/React.createElement(RouteComponent, Object.assign({
|
1132
1127
|
resource: resource
|
1133
|
-
}, pageProps))
|
1128
|
+
}, pageProps));
|
1134
1129
|
}) : null;
|
1135
|
-
}))
|
1130
|
+
})), [/*#__PURE__*/React.createElement(Route, {
|
1131
|
+
key: "".concat(resourceId, "-index"),
|
1132
|
+
path: route('resources.index', {
|
1133
|
+
resource: resourceId
|
1134
|
+
})
|
1135
|
+
}, function () {
|
1136
|
+
return /*#__PURE__*/React.createElement(ResourceIndexComponent, {
|
1137
|
+
resource: resource
|
1138
|
+
});
|
1139
|
+
})]);
|
1136
1140
|
};
|
1137
1141
|
|
1138
1142
|
var _excluded = ["home", "login", "account", "error", "index", "show", "create", "edit", "delete"],
|
1139
|
-
_excluded2 = ["path", "route", "component"
|
1143
|
+
_excluded2 = ["path", "route", "component"];
|
1140
1144
|
var propTypes$1 = {
|
1141
1145
|
statusCode: PropTypes$1.statusCode
|
1142
1146
|
};
|
@@ -1147,7 +1151,8 @@ var PanneauRoutes = function PanneauRoutes(_ref) {
|
|
1147
1151
|
var initialStatusCode = _ref.statusCode;
|
1148
1152
|
var routes = useRoutes();
|
1149
1153
|
var _useLocation = useLocation(),
|
1150
|
-
|
1154
|
+
_useLocation2 = _slicedToArray(_useLocation, 1),
|
1155
|
+
pathname = _useLocation2[0].pathname;
|
1151
1156
|
var _useState = useState({
|
1152
1157
|
statusCode: initialStatusCode,
|
1153
1158
|
pathname: pathname
|
@@ -1222,32 +1227,21 @@ var PanneauRoutes = function PanneauRoutes(_ref) {
|
|
1222
1227
|
|
1223
1228
|
// If user is unauthenticated
|
1224
1229
|
if (user === null) {
|
1225
|
-
return /*#__PURE__*/React.createElement(
|
1226
|
-
path: routes['auth.login']
|
1227
|
-
|
1228
|
-
|
1229
|
-
|
1230
|
-
|
1231
|
-
element: /*#__PURE__*/React.createElement(Navigate, {
|
1232
|
-
to: "".concat(route('auth.login'), "?next=").concat(encodeURIComponent(pathname)),
|
1233
|
-
replace: true
|
1234
|
-
})
|
1235
|
-
}));
|
1230
|
+
return /*#__PURE__*/React.createElement(Switch, null, /*#__PURE__*/React.createElement(Route, {
|
1231
|
+
path: routes['auth.login']
|
1232
|
+
}, /*#__PURE__*/React.createElement(LoginComponent, loginPage)), /*#__PURE__*/React.createElement(Route, null, /*#__PURE__*/React.createElement(Redirect, {
|
1233
|
+
to: "".concat(route('auth.login'), "?next=").concat(encodeURIComponent(pathname)),
|
1234
|
+
replace: true
|
1235
|
+
})));
|
1236
1236
|
}
|
1237
1237
|
|
1238
1238
|
// Normal routes
|
1239
|
-
return /*#__PURE__*/React.createElement(
|
1240
|
-
path: routes.
|
1241
|
-
|
1242
|
-
|
1243
|
-
|
1244
|
-
|
1245
|
-
exact: true,
|
1246
|
-
element: /*#__PURE__*/React.createElement(Navigate, {
|
1247
|
-
to: routes.home,
|
1248
|
-
replace: true
|
1249
|
-
})
|
1250
|
-
}) : null, resources.map(function (resource) {
|
1239
|
+
return /*#__PURE__*/React.createElement(Switch, null, user !== null ? /*#__PURE__*/React.createElement(Route, {
|
1240
|
+
path: routes['auth.login']
|
1241
|
+
}, /*#__PURE__*/React.createElement(Redirect, {
|
1242
|
+
to: routes.home,
|
1243
|
+
replace: true
|
1244
|
+
})) : null, resources.map(function (resource) {
|
1251
1245
|
var _ref4 = resource || {},
|
1252
1246
|
resourceId = _ref4.id;
|
1253
1247
|
return /*#__PURE__*/React.createElement(Fragment, {
|
@@ -1258,34 +1252,28 @@ var PanneauRoutes = function PanneauRoutes(_ref) {
|
|
1258
1252
|
pages: pages
|
1259
1253
|
}));
|
1260
1254
|
}), /*#__PURE__*/React.createElement(Route, {
|
1261
|
-
path: routes.account
|
1262
|
-
|
1263
|
-
element: /*#__PURE__*/React.createElement(AccountComponent, accountPage)
|
1264
|
-
}), customRoutes.map(function (_ref5) {
|
1255
|
+
path: routes.account
|
1256
|
+
}, /*#__PURE__*/React.createElement(AccountComponent, accountPage)), customRoutes.map(function (_ref5) {
|
1265
1257
|
var _ref5$path = _ref5.path,
|
1266
1258
|
path = _ref5$path === void 0 ? null : _ref5$path,
|
1267
1259
|
_ref5$route = _ref5.route,
|
1268
1260
|
pageRoute = _ref5$route === void 0 ? null : _ref5$route,
|
1269
1261
|
component = _ref5.component,
|
1270
|
-
_ref5$exact = _ref5.exact,
|
1271
|
-
exact = _ref5$exact === void 0 ? true : _ref5$exact,
|
1272
1262
|
props = _objectWithoutProperties(_ref5, _excluded2);
|
1273
1263
|
var PageComponent = componentsManager.getComponent(component);
|
1274
1264
|
var finalPath = path || routes[pageRoute];
|
1275
1265
|
return PageComponent !== null ? /*#__PURE__*/React.createElement(Route, {
|
1276
1266
|
key: "custom-route-".concat(finalPath),
|
1277
|
-
path: path || routes[pageRoute]
|
1278
|
-
|
1279
|
-
element: /*#__PURE__*/React.createElement(PageComponent, props)
|
1280
|
-
}) : null;
|
1267
|
+
path: path || routes[pageRoute]
|
1268
|
+
}, /*#__PURE__*/React.createElement(PageComponent, props)) : null;
|
1281
1269
|
}), /*#__PURE__*/React.createElement(Route, {
|
1282
|
-
path:
|
1283
|
-
|
1284
|
-
}));
|
1270
|
+
path: routes.home
|
1271
|
+
}, /*#__PURE__*/React.createElement(HomeComponent, homePage)), /*#__PURE__*/React.createElement(Route, null, /*#__PURE__*/React.createElement(ErrorComponent, null)));
|
1285
1272
|
};
|
1286
1273
|
PanneauRoutes.propTypes = propTypes$1;
|
1287
1274
|
PanneauRoutes.defaultProps = defaultProps$1;
|
1288
1275
|
|
1276
|
+
var pathToRegexpMatcher = createPathToRegexpMatcher();
|
1289
1277
|
var propTypes = {
|
1290
1278
|
definition: PropTypes$1.panneauDefinition.isRequired,
|
1291
1279
|
components: PropTypes.oneOfType([PropTypes.objectOf(PropTypes.elementType), PropTypes.objectOf(PropTypes.objectOf(PropTypes.elementType))]),
|
@@ -1323,7 +1311,7 @@ var Container = function Container(_ref) {
|
|
1323
1311
|
_definition$settings2 = _definition$settings === void 0 ? {} : _definition$settings,
|
1324
1312
|
_definition$settings3 = _definition$settings2.memoryRouter,
|
1325
1313
|
usesMemoryRouter = _definition$settings3 === void 0 ? false : _definition$settings3;
|
1326
|
-
var
|
1314
|
+
var isMemoryRouter = memoryRouter || usesMemoryRouter || false;
|
1327
1315
|
var extraMessages = useMemo(function () {
|
1328
1316
|
var _definition$intl3 = definition.intl,
|
1329
1317
|
_definition$intl4 = _definition$intl3 === void 0 ? {} : _definition$intl3,
|
@@ -1348,7 +1336,11 @@ var Container = function Container(_ref) {
|
|
1348
1336
|
var onLogout = useCallback(function () {
|
1349
1337
|
window.location.reload();
|
1350
1338
|
}, [baseUrl]);
|
1351
|
-
|
1339
|
+
var memoryLocationHook = useMemoryLocationHook();
|
1340
|
+
return /*#__PURE__*/React.createElement(Router, {
|
1341
|
+
hook: isMemoryRouter ? memoryLocationHook : null,
|
1342
|
+
matcher: pathToRegexpMatcher
|
1343
|
+
}, /*#__PURE__*/React.createElement(IntlProvider, {
|
1352
1344
|
locale: locale,
|
1353
1345
|
locales: locales,
|
1354
1346
|
extraMessages: extraMessages
|