@panneau/app 1.0.0-alpha.225 → 1.0.0-alpha.229
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/es/index.js +105 -39
- package/lib/index.js +105 -38
- package/package.json +24 -18
package/es/index.js
CHANGED
@@ -2,7 +2,7 @@ import _defineProperty from '@babel/runtime/helpers/defineProperty';
|
|
2
2
|
import _objectSpread from '@babel/runtime/helpers/objectSpread2';
|
3
3
|
import { useUser, useLogout, useAuth, AuthProvider } from '@panneau/auth';
|
4
4
|
import { PropTypes } from '@panneau/core';
|
5
|
-
import { useLocales, useFormsComponents, FormProvider, useUrlGenerator, usePanneauResources, usePanneau, usePanneauColorScheme, ResourceProvider, useFiltersComponents, useListsComponents, useFormComponent, useRoutes, PanneauProvider, UppyProvider, RoutesProvider, ComponentsProvider } from '@panneau/core/contexts';
|
5
|
+
import { useLocales, useFormsComponents, FormProvider, useUrlGenerator, usePanneauResources, usePanneau, usePanneauColorScheme, ResourceProvider, useFiltersComponents, useListsComponents, useComponentsManager, useFormComponent, useRoutes, PanneauProvider, UppyProvider, RoutesProvider, ComponentsProvider } from '@panneau/core/contexts';
|
6
6
|
import { useResourceStore, useResourceUpdate, useResourceDestroy, useResourceItem, useResourceItems, ApiProvider } from '@panneau/data';
|
7
7
|
import DisplaysProvider from '@panneau/displays';
|
8
8
|
import FieldsProvider from '@panneau/fields';
|
@@ -27,13 +27,14 @@ import Navbar from '@panneau/element-navbar';
|
|
27
27
|
import Menu from '@panneau/element-menu';
|
28
28
|
import Label from '@panneau/element-label';
|
29
29
|
import Alert from '@panneau/element-alert';
|
30
|
+
import isString from 'lodash/isString';
|
30
31
|
import Dropdown from '@panneau/element-dropdown';
|
31
32
|
import Pagination from '@panneau/element-pagination';
|
32
33
|
import { faUndo } from '@fortawesome/free-solid-svg-icons';
|
33
34
|
import { FontAwesomeIcon } from '@fortawesome/react-fontawesome';
|
34
35
|
import FormGroup from '@panneau/element-form-group';
|
35
36
|
|
36
|
-
var _excluded$
|
37
|
+
var _excluded$5 = ["resource", "action", "previous", "status", "value", "onSubmit", "errors", "generalError", "className"];
|
37
38
|
var propTypes$n = {
|
38
39
|
resource: PropTypes.resource.isRequired,
|
39
40
|
action: PropTypes$1.string,
|
@@ -69,7 +70,7 @@ var DeleteForm = function DeleteForm(_ref) {
|
|
69
70
|
_ref.errors;
|
70
71
|
var generalError = _ref.generalError,
|
71
72
|
className = _ref.className,
|
72
|
-
props = _objectWithoutProperties(_ref, _excluded$
|
73
|
+
props = _objectWithoutProperties(_ref, _excluded$5);
|
73
74
|
|
74
75
|
return /*#__PURE__*/React.createElement(Form, Object.assign({
|
75
76
|
className: classNames(['form', _defineProperty({
|
@@ -126,7 +127,7 @@ var DeleteForm = function DeleteForm(_ref) {
|
|
126
127
|
DeleteForm.propTypes = propTypes$n;
|
127
128
|
DeleteForm.defaultProps = defaultProps$n;
|
128
129
|
|
129
|
-
var _excluded$
|
130
|
+
var _excluded$4 = ["component", "resource", "onSuccess", "item", "type", "isDelete"];
|
130
131
|
var propTypes$m = {
|
131
132
|
component: PropTypes$1.string,
|
132
133
|
resource: PropTypes.resource.isRequired,
|
@@ -151,7 +152,7 @@ var ResourceForm = function ResourceForm(_ref) {
|
|
151
152
|
item = _ref.item,
|
152
153
|
type = _ref.type,
|
153
154
|
isDelete = _ref.isDelete,
|
154
|
-
props = _objectWithoutProperties(_ref, _excluded$
|
155
|
+
props = _objectWithoutProperties(_ref, _excluded$4);
|
155
156
|
|
156
157
|
var locales = useLocales();
|
157
158
|
var FormComponents = useFormsComponents();
|
@@ -762,7 +763,7 @@ var ResourceCreateButtom = function ResourceCreateButtom(_ref) {
|
|
762
763
|
ResourceCreateButtom.propTypes = propTypes$d;
|
763
764
|
ResourceCreateButtom.defaultProps = defaultProps$d;
|
764
765
|
|
765
|
-
var _excluded$
|
766
|
+
var _excluded$3 = ["component", "name", "groupLabel"];
|
766
767
|
var propTypes$c = {
|
767
768
|
filters: PropTypes$1.arrayOf(PropTypes$1.shape({
|
768
769
|
id: PropTypes$1.string.isRequired,
|
@@ -822,7 +823,7 @@ var ResourceFilters = function ResourceFilters(_ref) {
|
|
822
823
|
var component = _ref3.component,
|
823
824
|
name = _ref3.name,
|
824
825
|
groupLabel = _ref3.groupLabel,
|
825
|
-
filterProps = _objectWithoutProperties(_ref3, _excluded$
|
826
|
+
filterProps = _objectWithoutProperties(_ref3, _excluded$3);
|
826
827
|
|
827
828
|
var FilterComponent = getComponentFromName(component, FilterComponents, null);
|
828
829
|
var filterValue = value !== null && value[name] ? value[name] : null;
|
@@ -850,8 +851,8 @@ var ResourceFilters = function ResourceFilters(_ref) {
|
|
850
851
|
ResourceFilters.propTypes = propTypes$c;
|
851
852
|
ResourceFilters.defaultProps = defaultProps$c;
|
852
853
|
|
853
|
-
var _excluded = ["component", "showPagination", "filters"],
|
854
|
-
_excluded2 = ["page"];
|
854
|
+
var _excluded$2 = ["component", "showPagination", "filters"],
|
855
|
+
_excluded2$1 = ["page"];
|
855
856
|
var propTypes$b = {
|
856
857
|
resource: PropTypes.resource.isRequired,
|
857
858
|
query: PropTypes$1.object,
|
@@ -890,7 +891,7 @@ var ResourceItemsList = function ResourceItemsList(_ref) {
|
|
890
891
|
showPagination = _resource$index$showP === void 0 ? true : _resource$index$showP,
|
891
892
|
_resource$index$filte = _resource$index.filters,
|
892
893
|
filters = _resource$index$filte === void 0 ? null : _resource$index$filte,
|
893
|
-
listProps = _objectWithoutProperties(_resource$index, _excluded);
|
894
|
+
listProps = _objectWithoutProperties(_resource$index, _excluded$2);
|
894
895
|
|
895
896
|
var _usePanneauColorSchem = usePanneauColorScheme(),
|
896
897
|
_usePanneauColorSchem2 = _usePanneauColorSchem.background,
|
@@ -902,7 +903,7 @@ var ResourceItemsList = function ResourceItemsList(_ref) {
|
|
902
903
|
var _ref2 = query || {},
|
903
904
|
_ref2$page = _ref2.page,
|
904
905
|
currentPage = _ref2$page === void 0 ? 1 : _ref2$page,
|
905
|
-
rest = _objectWithoutProperties(_ref2, _excluded2);
|
906
|
+
rest = _objectWithoutProperties(_ref2, _excluded2$1);
|
906
907
|
|
907
908
|
return [currentPage, rest];
|
908
909
|
}, [query]),
|
@@ -951,16 +952,23 @@ var ResourceItemsList = function ResourceItemsList(_ref) {
|
|
951
952
|
ResourceItemsList.propTypes = propTypes$b;
|
952
953
|
ResourceItemsList.defaultProps = defaultProps$b;
|
953
954
|
|
955
|
+
var _excluded$1 = ["id", "component"];
|
954
956
|
var propTypes$a = {
|
955
|
-
resource: PropTypes.resource.isRequired
|
957
|
+
resource: PropTypes.resource.isRequired,
|
958
|
+
defaultActions: PropTypes$1.arrayOf(PropTypes$1.object)
|
959
|
+
};
|
960
|
+
var defaultProps$a = {
|
961
|
+
defaultActions: ['create']
|
956
962
|
};
|
957
|
-
var defaultProps$a = {};
|
958
963
|
|
959
964
|
var ResourceIndexPage = function ResourceIndexPage(_ref) {
|
960
|
-
var resource = _ref.resource
|
965
|
+
var resource = _ref.resource,
|
966
|
+
defaultActions = _ref.defaultActions;
|
961
967
|
var name = resource.name,
|
962
968
|
_resource$settings = resource.settings,
|
963
|
-
settings = _resource$settings === void 0 ? {} : _resource$settings
|
969
|
+
settings = _resource$settings === void 0 ? {} : _resource$settings,
|
970
|
+
_resource$index = resource.index,
|
971
|
+
index = _resource$index === void 0 ? {} : _resource$index;
|
964
972
|
|
965
973
|
var _ref2 = settings || {},
|
966
974
|
_ref2$canCreate = _ref2.canCreate,
|
@@ -968,6 +976,24 @@ var ResourceIndexPage = function ResourceIndexPage(_ref) {
|
|
968
976
|
_ref2$indexIsPaginate = _ref2.indexIsPaginated,
|
969
977
|
paginated = _ref2$indexIsPaginate === void 0 ? false : _ref2$indexIsPaginate;
|
970
978
|
|
979
|
+
var _ref3 = index || {},
|
980
|
+
_ref3$actions = _ref3.actions,
|
981
|
+
actions = _ref3$actions === void 0 ? null : _ref3$actions;
|
982
|
+
|
983
|
+
var finalActions = useMemo(function () {
|
984
|
+
return (actions || defaultActions.filter(function (it) {
|
985
|
+
return it !== 'create' || canCreate;
|
986
|
+
})).map(function (it) {
|
987
|
+
return it === 'create' ? {
|
988
|
+
id: 'create',
|
989
|
+
component: ResourceCreateButtom,
|
990
|
+
size: 'lg',
|
991
|
+
theme: 'primary'
|
992
|
+
} : it;
|
993
|
+
});
|
994
|
+
}, [canCreate, actions]);
|
995
|
+
var componentsManager = useComponentsManager();
|
996
|
+
|
971
997
|
var _useLocation = useLocation(),
|
972
998
|
search = _useLocation.search;
|
973
999
|
|
@@ -979,11 +1005,11 @@ var ResourceIndexPage = function ResourceIndexPage(_ref) {
|
|
979
1005
|
return query;
|
980
1006
|
}, [query]); // TODO: omit routes
|
981
1007
|
|
982
|
-
var
|
983
|
-
|
984
|
-
created =
|
985
|
-
|
986
|
-
deleted =
|
1008
|
+
var _ref4 = query || {},
|
1009
|
+
_ref4$created = _ref4.created,
|
1010
|
+
created = _ref4$created === void 0 ? false : _ref4$created,
|
1011
|
+
_ref4$deleted = _ref4.deleted,
|
1012
|
+
deleted = _ref4$deleted === void 0 ? false : _ref4$deleted;
|
987
1013
|
|
988
1014
|
var resourceRoute = useResourceUrlGenerator(resource);
|
989
1015
|
var url = resourceRoute('index');
|
@@ -1009,11 +1035,23 @@ var ResourceIndexPage = function ResourceIndexPage(_ref) {
|
|
1009
1035
|
resource: resource
|
1010
1036
|
}, /*#__PURE__*/React.createElement(MainLayout, null, /*#__PURE__*/React.createElement(PageHeader, {
|
1011
1037
|
title: name,
|
1012
|
-
actions:
|
1013
|
-
|
1014
|
-
|
1015
|
-
|
1016
|
-
|
1038
|
+
actions: finalActions.length > 0 ? /*#__PURE__*/React.createElement("div", {
|
1039
|
+
className: "d-flex align-items-center"
|
1040
|
+
}, finalActions.map(function (_ref5) {
|
1041
|
+
var id = _ref5.id,
|
1042
|
+
_ref5$component = _ref5.component,
|
1043
|
+
component = _ref5$component === void 0 ? Button : _ref5$component,
|
1044
|
+
actionProps = _objectWithoutProperties(_ref5, _excluded$1);
|
1045
|
+
|
1046
|
+
var ActionComponent = isString(component) ? componentsManager.getComponent(component) : component;
|
1047
|
+
return ActionComponent !== null ? /*#__PURE__*/React.createElement(ActionComponent, Object.assign({
|
1048
|
+
key: "action-".concat(id)
|
1049
|
+
}, actionProps, ActionComponent !== Button ? {
|
1050
|
+
resource: resource,
|
1051
|
+
query: query,
|
1052
|
+
onQueryChange: onQueryChange
|
1053
|
+
} : {})) : null;
|
1054
|
+
})) : null
|
1017
1055
|
}), /*#__PURE__*/React.createElement("div", {
|
1018
1056
|
className: classNames(['container-sm py-4'])
|
1019
1057
|
}, created ? /*#__PURE__*/React.createElement(Alert, {
|
@@ -1401,6 +1439,8 @@ var basePages = /*#__PURE__*/Object.freeze({
|
|
1401
1439
|
Error: ErrorPage
|
1402
1440
|
});
|
1403
1441
|
|
1442
|
+
var _excluded = ["path", "component", "exact"],
|
1443
|
+
_excluded2 = ["id"];
|
1404
1444
|
var propTypes$2 = {
|
1405
1445
|
resource: PropTypes.resource.isRequired
|
1406
1446
|
};
|
@@ -1410,8 +1450,11 @@ var ResourceRoutes = function ResourceRoutes(_ref) {
|
|
1410
1450
|
var resource = _ref.resource;
|
1411
1451
|
var resourceId = resource.id,
|
1412
1452
|
_resource$pages = resource.pages,
|
1413
|
-
pages = _resource$pages === void 0 ? {} : _resource$pages
|
1414
|
-
|
1453
|
+
pages = _resource$pages === void 0 ? {} : _resource$pages,
|
1454
|
+
_resource$extraRoutes = resource.extraRoutes,
|
1455
|
+
extraRoutes = _resource$extraRoutes === void 0 ? [] : _resource$extraRoutes;
|
1456
|
+
var route = useUrlGenerator();
|
1457
|
+
var componentsManager = useComponentsManager(); // Load custom pages from resource
|
1415
1458
|
|
1416
1459
|
var _ref2 = pages || {},
|
1417
1460
|
_ref2$index = _ref2.index,
|
@@ -1425,12 +1468,35 @@ var ResourceRoutes = function ResourceRoutes(_ref) {
|
|
1425
1468
|
_ref2$delete = _ref2["delete"],
|
1426
1469
|
deletePage = _ref2$delete === void 0 ? null : _ref2$delete;
|
1427
1470
|
|
1428
|
-
var ResourceIndexComponent =
|
1429
|
-
var ResourceShowComponent =
|
1430
|
-
var ResourceCreateComponent =
|
1431
|
-
var ResourceEditComponent =
|
1432
|
-
var ResourceDeleteComponent =
|
1433
|
-
return /*#__PURE__*/React.createElement(Switch, null,
|
1471
|
+
var ResourceIndexComponent = indexPage !== null && typeof indexPage.component !== 'undefined' ? componentsManager.getComponent(indexPage.component) : ResourceIndexPage;
|
1472
|
+
var ResourceShowComponent = showPage !== null && typeof showPage.component !== 'undefined' ? componentsManager.getComponent(showPage.component) : ResourceShowPage;
|
1473
|
+
var ResourceCreateComponent = createPage !== null && typeof createPage.component !== 'undefined' ? componentsManager.getComponent(createPage.component) : ResourceCreatePage;
|
1474
|
+
var ResourceEditComponent = editPage !== null && typeof editPage.component !== 'undefined' ? componentsManager.getComponent(editPage.component) : ResourceEditPage;
|
1475
|
+
var ResourceDeleteComponent = deletePage !== null && typeof deletePage.component !== 'undefined' ? componentsManager.getComponent(deletePage.component) : ResourceDeletePage;
|
1476
|
+
return /*#__PURE__*/React.createElement(Switch, null, extraRoutes.map(function (_ref3) {
|
1477
|
+
var path = _ref3.path,
|
1478
|
+
component = _ref3.component,
|
1479
|
+
_ref3$exact = _ref3.exact,
|
1480
|
+
exact = _ref3$exact === void 0 ? true : _ref3$exact,
|
1481
|
+
routeProps = _objectWithoutProperties(_ref3, _excluded);
|
1482
|
+
|
1483
|
+
var RouteComponent = componentsManager.getComponent(component);
|
1484
|
+
return RouteComponent !== null ? /*#__PURE__*/React.createElement(Route, Object.assign({
|
1485
|
+
key: "route-".concat(path),
|
1486
|
+
path: path,
|
1487
|
+
exact: exact,
|
1488
|
+
render: function render(_ref4) {
|
1489
|
+
var _ref4$match$params = _ref4.match.params,
|
1490
|
+
id = _ref4$match$params.id,
|
1491
|
+
params = _objectWithoutProperties(_ref4$match$params, _excluded2);
|
1492
|
+
|
1493
|
+
return /*#__PURE__*/React.createElement(RouteComponent, Object.assign({
|
1494
|
+
resource: resource,
|
1495
|
+
itemId: id
|
1496
|
+
}, params));
|
1497
|
+
}
|
1498
|
+
}, routeProps)) : null;
|
1499
|
+
}), /*#__PURE__*/React.createElement(Route, {
|
1434
1500
|
path: route('resources.index', {
|
1435
1501
|
resource: resourceId
|
1436
1502
|
}),
|
@@ -1456,8 +1522,8 @@ var ResourceRoutes = function ResourceRoutes(_ref) {
|
|
1456
1522
|
id: ':id'
|
1457
1523
|
}),
|
1458
1524
|
exact: true,
|
1459
|
-
render: function render(
|
1460
|
-
var id =
|
1525
|
+
render: function render(_ref5) {
|
1526
|
+
var id = _ref5.match.params.id;
|
1461
1527
|
return /*#__PURE__*/React.createElement(ResourceShowComponent, {
|
1462
1528
|
resource: resource,
|
1463
1529
|
itemId: id
|
@@ -1469,8 +1535,8 @@ var ResourceRoutes = function ResourceRoutes(_ref) {
|
|
1469
1535
|
id: ':id'
|
1470
1536
|
}),
|
1471
1537
|
exact: true,
|
1472
|
-
render: function render(
|
1473
|
-
var id =
|
1538
|
+
render: function render(_ref6) {
|
1539
|
+
var id = _ref6.match.params.id;
|
1474
1540
|
return /*#__PURE__*/React.createElement(ResourceEditComponent, {
|
1475
1541
|
resource: resource,
|
1476
1542
|
itemId: id
|
@@ -1482,8 +1548,8 @@ var ResourceRoutes = function ResourceRoutes(_ref) {
|
|
1482
1548
|
id: ':id'
|
1483
1549
|
}),
|
1484
1550
|
exact: true,
|
1485
|
-
render: function render(
|
1486
|
-
var id =
|
1551
|
+
render: function render(_ref7) {
|
1552
|
+
var id = _ref7.match.params.id;
|
1487
1553
|
return /*#__PURE__*/React.createElement(ResourceDeleteComponent, {
|
1488
1554
|
resource: resource,
|
1489
1555
|
itemId: id
|
package/lib/index.js
CHANGED
@@ -31,6 +31,7 @@ var Navbar = require('@panneau/element-navbar');
|
|
31
31
|
var Menu = require('@panneau/element-menu');
|
32
32
|
var Label = require('@panneau/element-label');
|
33
33
|
var Alert = require('@panneau/element-alert');
|
34
|
+
var isString = require('lodash/isString');
|
34
35
|
var Dropdown = require('@panneau/element-dropdown');
|
35
36
|
var Pagination = require('@panneau/element-pagination');
|
36
37
|
var freeSolidSvgIcons = require('@fortawesome/free-solid-svg-icons');
|
@@ -57,11 +58,12 @@ var Navbar__default = /*#__PURE__*/_interopDefaultLegacy(Navbar);
|
|
57
58
|
var Menu__default = /*#__PURE__*/_interopDefaultLegacy(Menu);
|
58
59
|
var Label__default = /*#__PURE__*/_interopDefaultLegacy(Label);
|
59
60
|
var Alert__default = /*#__PURE__*/_interopDefaultLegacy(Alert);
|
61
|
+
var isString__default = /*#__PURE__*/_interopDefaultLegacy(isString);
|
60
62
|
var Dropdown__default = /*#__PURE__*/_interopDefaultLegacy(Dropdown);
|
61
63
|
var Pagination__default = /*#__PURE__*/_interopDefaultLegacy(Pagination);
|
62
64
|
var FormGroup__default = /*#__PURE__*/_interopDefaultLegacy(FormGroup);
|
63
65
|
|
64
|
-
var _excluded$
|
66
|
+
var _excluded$5 = ["resource", "action", "previous", "status", "value", "onSubmit", "errors", "generalError", "className"];
|
65
67
|
var propTypes$n = {
|
66
68
|
resource: core.PropTypes.resource.isRequired,
|
67
69
|
action: PropTypes__default["default"].string,
|
@@ -97,7 +99,7 @@ var DeleteForm = function DeleteForm(_ref) {
|
|
97
99
|
_ref.errors;
|
98
100
|
var generalError = _ref.generalError,
|
99
101
|
className = _ref.className,
|
100
|
-
props = _objectWithoutProperties__default["default"](_ref, _excluded$
|
102
|
+
props = _objectWithoutProperties__default["default"](_ref, _excluded$5);
|
101
103
|
|
102
104
|
return /*#__PURE__*/React__default["default"].createElement(Form__default["default"], Object.assign({
|
103
105
|
className: classNames__default["default"](['form', _defineProperty__default["default"]({
|
@@ -154,7 +156,7 @@ var DeleteForm = function DeleteForm(_ref) {
|
|
154
156
|
DeleteForm.propTypes = propTypes$n;
|
155
157
|
DeleteForm.defaultProps = defaultProps$n;
|
156
158
|
|
157
|
-
var _excluded$
|
159
|
+
var _excluded$4 = ["component", "resource", "onSuccess", "item", "type", "isDelete"];
|
158
160
|
var propTypes$m = {
|
159
161
|
component: PropTypes__default["default"].string,
|
160
162
|
resource: core.PropTypes.resource.isRequired,
|
@@ -179,7 +181,7 @@ var ResourceForm = function ResourceForm(_ref) {
|
|
179
181
|
item = _ref.item,
|
180
182
|
type = _ref.type,
|
181
183
|
isDelete = _ref.isDelete,
|
182
|
-
props = _objectWithoutProperties__default["default"](_ref, _excluded$
|
184
|
+
props = _objectWithoutProperties__default["default"](_ref, _excluded$4);
|
183
185
|
|
184
186
|
var locales = contexts.useLocales();
|
185
187
|
var FormComponents = contexts.useFormsComponents();
|
@@ -790,7 +792,7 @@ var ResourceCreateButtom = function ResourceCreateButtom(_ref) {
|
|
790
792
|
ResourceCreateButtom.propTypes = propTypes$d;
|
791
793
|
ResourceCreateButtom.defaultProps = defaultProps$d;
|
792
794
|
|
793
|
-
var _excluded$
|
795
|
+
var _excluded$3 = ["component", "name", "groupLabel"];
|
794
796
|
var propTypes$c = {
|
795
797
|
filters: PropTypes__default["default"].arrayOf(PropTypes__default["default"].shape({
|
796
798
|
id: PropTypes__default["default"].string.isRequired,
|
@@ -850,7 +852,7 @@ var ResourceFilters = function ResourceFilters(_ref) {
|
|
850
852
|
var component = _ref3.component,
|
851
853
|
name = _ref3.name,
|
852
854
|
groupLabel = _ref3.groupLabel,
|
853
|
-
filterProps = _objectWithoutProperties__default["default"](_ref3, _excluded$
|
855
|
+
filterProps = _objectWithoutProperties__default["default"](_ref3, _excluded$3);
|
854
856
|
|
855
857
|
var FilterComponent = utils.getComponentFromName(component, FilterComponents, null);
|
856
858
|
var filterValue = value !== null && value[name] ? value[name] : null;
|
@@ -878,8 +880,8 @@ var ResourceFilters = function ResourceFilters(_ref) {
|
|
878
880
|
ResourceFilters.propTypes = propTypes$c;
|
879
881
|
ResourceFilters.defaultProps = defaultProps$c;
|
880
882
|
|
881
|
-
var _excluded = ["component", "showPagination", "filters"],
|
882
|
-
_excluded2 = ["page"];
|
883
|
+
var _excluded$2 = ["component", "showPagination", "filters"],
|
884
|
+
_excluded2$1 = ["page"];
|
883
885
|
var propTypes$b = {
|
884
886
|
resource: core.PropTypes.resource.isRequired,
|
885
887
|
query: PropTypes__default["default"].object,
|
@@ -918,7 +920,7 @@ var ResourceItemsList = function ResourceItemsList(_ref) {
|
|
918
920
|
showPagination = _resource$index$showP === void 0 ? true : _resource$index$showP,
|
919
921
|
_resource$index$filte = _resource$index.filters,
|
920
922
|
filters = _resource$index$filte === void 0 ? null : _resource$index$filte,
|
921
|
-
listProps = _objectWithoutProperties__default["default"](_resource$index, _excluded);
|
923
|
+
listProps = _objectWithoutProperties__default["default"](_resource$index, _excluded$2);
|
922
924
|
|
923
925
|
var _usePanneauColorSchem = contexts.usePanneauColorScheme(),
|
924
926
|
_usePanneauColorSchem2 = _usePanneauColorSchem.background,
|
@@ -930,7 +932,7 @@ var ResourceItemsList = function ResourceItemsList(_ref) {
|
|
930
932
|
var _ref2 = query || {},
|
931
933
|
_ref2$page = _ref2.page,
|
932
934
|
currentPage = _ref2$page === void 0 ? 1 : _ref2$page,
|
933
|
-
rest = _objectWithoutProperties__default["default"](_ref2, _excluded2);
|
935
|
+
rest = _objectWithoutProperties__default["default"](_ref2, _excluded2$1);
|
934
936
|
|
935
937
|
return [currentPage, rest];
|
936
938
|
}, [query]),
|
@@ -979,16 +981,23 @@ var ResourceItemsList = function ResourceItemsList(_ref) {
|
|
979
981
|
ResourceItemsList.propTypes = propTypes$b;
|
980
982
|
ResourceItemsList.defaultProps = defaultProps$b;
|
981
983
|
|
984
|
+
var _excluded$1 = ["id", "component"];
|
982
985
|
var propTypes$a = {
|
983
|
-
resource: core.PropTypes.resource.isRequired
|
986
|
+
resource: core.PropTypes.resource.isRequired,
|
987
|
+
defaultActions: PropTypes__default["default"].arrayOf(PropTypes__default["default"].object)
|
988
|
+
};
|
989
|
+
var defaultProps$a = {
|
990
|
+
defaultActions: ['create']
|
984
991
|
};
|
985
|
-
var defaultProps$a = {};
|
986
992
|
|
987
993
|
var ResourceIndexPage = function ResourceIndexPage(_ref) {
|
988
|
-
var resource = _ref.resource
|
994
|
+
var resource = _ref.resource,
|
995
|
+
defaultActions = _ref.defaultActions;
|
989
996
|
var name = resource.name,
|
990
997
|
_resource$settings = resource.settings,
|
991
|
-
settings = _resource$settings === void 0 ? {} : _resource$settings
|
998
|
+
settings = _resource$settings === void 0 ? {} : _resource$settings,
|
999
|
+
_resource$index = resource.index,
|
1000
|
+
index = _resource$index === void 0 ? {} : _resource$index;
|
992
1001
|
|
993
1002
|
var _ref2 = settings || {},
|
994
1003
|
_ref2$canCreate = _ref2.canCreate,
|
@@ -996,6 +1005,24 @@ var ResourceIndexPage = function ResourceIndexPage(_ref) {
|
|
996
1005
|
_ref2$indexIsPaginate = _ref2.indexIsPaginated,
|
997
1006
|
paginated = _ref2$indexIsPaginate === void 0 ? false : _ref2$indexIsPaginate;
|
998
1007
|
|
1008
|
+
var _ref3 = index || {},
|
1009
|
+
_ref3$actions = _ref3.actions,
|
1010
|
+
actions = _ref3$actions === void 0 ? null : _ref3$actions;
|
1011
|
+
|
1012
|
+
var finalActions = React.useMemo(function () {
|
1013
|
+
return (actions || defaultActions.filter(function (it) {
|
1014
|
+
return it !== 'create' || canCreate;
|
1015
|
+
})).map(function (it) {
|
1016
|
+
return it === 'create' ? {
|
1017
|
+
id: 'create',
|
1018
|
+
component: ResourceCreateButtom,
|
1019
|
+
size: 'lg',
|
1020
|
+
theme: 'primary'
|
1021
|
+
} : it;
|
1022
|
+
});
|
1023
|
+
}, [canCreate, actions]);
|
1024
|
+
var componentsManager = contexts.useComponentsManager();
|
1025
|
+
|
999
1026
|
var _useLocation = reactRouter.useLocation(),
|
1000
1027
|
search = _useLocation.search;
|
1001
1028
|
|
@@ -1007,11 +1034,11 @@ var ResourceIndexPage = function ResourceIndexPage(_ref) {
|
|
1007
1034
|
return query;
|
1008
1035
|
}, [query]); // TODO: omit routes
|
1009
1036
|
|
1010
|
-
var
|
1011
|
-
|
1012
|
-
created =
|
1013
|
-
|
1014
|
-
deleted =
|
1037
|
+
var _ref4 = query || {},
|
1038
|
+
_ref4$created = _ref4.created,
|
1039
|
+
created = _ref4$created === void 0 ? false : _ref4$created,
|
1040
|
+
_ref4$deleted = _ref4.deleted,
|
1041
|
+
deleted = _ref4$deleted === void 0 ? false : _ref4$deleted;
|
1015
1042
|
|
1016
1043
|
var resourceRoute = hooks.useResourceUrlGenerator(resource);
|
1017
1044
|
var url = resourceRoute('index');
|
@@ -1037,11 +1064,23 @@ var ResourceIndexPage = function ResourceIndexPage(_ref) {
|
|
1037
1064
|
resource: resource
|
1038
1065
|
}, /*#__PURE__*/React__default["default"].createElement(MainLayout, null, /*#__PURE__*/React__default["default"].createElement(PageHeader, {
|
1039
1066
|
title: name,
|
1040
|
-
actions:
|
1041
|
-
|
1042
|
-
|
1043
|
-
|
1044
|
-
|
1067
|
+
actions: finalActions.length > 0 ? /*#__PURE__*/React__default["default"].createElement("div", {
|
1068
|
+
className: "d-flex align-items-center"
|
1069
|
+
}, finalActions.map(function (_ref5) {
|
1070
|
+
var id = _ref5.id,
|
1071
|
+
_ref5$component = _ref5.component,
|
1072
|
+
component = _ref5$component === void 0 ? Button__default["default"] : _ref5$component,
|
1073
|
+
actionProps = _objectWithoutProperties__default["default"](_ref5, _excluded$1);
|
1074
|
+
|
1075
|
+
var ActionComponent = isString__default["default"](component) ? componentsManager.getComponent(component) : component;
|
1076
|
+
return ActionComponent !== null ? /*#__PURE__*/React__default["default"].createElement(ActionComponent, Object.assign({
|
1077
|
+
key: "action-".concat(id)
|
1078
|
+
}, actionProps, ActionComponent !== Button__default["default"] ? {
|
1079
|
+
resource: resource,
|
1080
|
+
query: query,
|
1081
|
+
onQueryChange: onQueryChange
|
1082
|
+
} : {})) : null;
|
1083
|
+
})) : null
|
1045
1084
|
}), /*#__PURE__*/React__default["default"].createElement("div", {
|
1046
1085
|
className: classNames__default["default"](['container-sm py-4'])
|
1047
1086
|
}, created ? /*#__PURE__*/React__default["default"].createElement(Alert__default["default"], {
|
@@ -1429,6 +1468,8 @@ var basePages = /*#__PURE__*/Object.freeze({
|
|
1429
1468
|
Error: ErrorPage
|
1430
1469
|
});
|
1431
1470
|
|
1471
|
+
var _excluded = ["path", "component", "exact"],
|
1472
|
+
_excluded2 = ["id"];
|
1432
1473
|
var propTypes$2 = {
|
1433
1474
|
resource: core.PropTypes.resource.isRequired
|
1434
1475
|
};
|
@@ -1438,8 +1479,11 @@ var ResourceRoutes = function ResourceRoutes(_ref) {
|
|
1438
1479
|
var resource = _ref.resource;
|
1439
1480
|
var resourceId = resource.id,
|
1440
1481
|
_resource$pages = resource.pages,
|
1441
|
-
pages = _resource$pages === void 0 ? {} : _resource$pages
|
1442
|
-
|
1482
|
+
pages = _resource$pages === void 0 ? {} : _resource$pages,
|
1483
|
+
_resource$extraRoutes = resource.extraRoutes,
|
1484
|
+
extraRoutes = _resource$extraRoutes === void 0 ? [] : _resource$extraRoutes;
|
1485
|
+
var route = contexts.useUrlGenerator();
|
1486
|
+
var componentsManager = contexts.useComponentsManager(); // Load custom pages from resource
|
1443
1487
|
|
1444
1488
|
var _ref2 = pages || {},
|
1445
1489
|
_ref2$index = _ref2.index,
|
@@ -1453,12 +1497,35 @@ var ResourceRoutes = function ResourceRoutes(_ref) {
|
|
1453
1497
|
_ref2$delete = _ref2["delete"],
|
1454
1498
|
deletePage = _ref2$delete === void 0 ? null : _ref2$delete;
|
1455
1499
|
|
1456
|
-
var ResourceIndexComponent =
|
1457
|
-
var ResourceShowComponent =
|
1458
|
-
var ResourceCreateComponent =
|
1459
|
-
var ResourceEditComponent =
|
1460
|
-
var ResourceDeleteComponent =
|
1461
|
-
return /*#__PURE__*/React__default["default"].createElement(reactRouter.Switch, null,
|
1500
|
+
var ResourceIndexComponent = indexPage !== null && typeof indexPage.component !== 'undefined' ? componentsManager.getComponent(indexPage.component) : ResourceIndexPage;
|
1501
|
+
var ResourceShowComponent = showPage !== null && typeof showPage.component !== 'undefined' ? componentsManager.getComponent(showPage.component) : ResourceShowPage;
|
1502
|
+
var ResourceCreateComponent = createPage !== null && typeof createPage.component !== 'undefined' ? componentsManager.getComponent(createPage.component) : ResourceCreatePage;
|
1503
|
+
var ResourceEditComponent = editPage !== null && typeof editPage.component !== 'undefined' ? componentsManager.getComponent(editPage.component) : ResourceEditPage;
|
1504
|
+
var ResourceDeleteComponent = deletePage !== null && typeof deletePage.component !== 'undefined' ? componentsManager.getComponent(deletePage.component) : ResourceDeletePage;
|
1505
|
+
return /*#__PURE__*/React__default["default"].createElement(reactRouter.Switch, null, extraRoutes.map(function (_ref3) {
|
1506
|
+
var path = _ref3.path,
|
1507
|
+
component = _ref3.component,
|
1508
|
+
_ref3$exact = _ref3.exact,
|
1509
|
+
exact = _ref3$exact === void 0 ? true : _ref3$exact,
|
1510
|
+
routeProps = _objectWithoutProperties__default["default"](_ref3, _excluded);
|
1511
|
+
|
1512
|
+
var RouteComponent = componentsManager.getComponent(component);
|
1513
|
+
return RouteComponent !== null ? /*#__PURE__*/React__default["default"].createElement(reactRouter.Route, Object.assign({
|
1514
|
+
key: "route-".concat(path),
|
1515
|
+
path: path,
|
1516
|
+
exact: exact,
|
1517
|
+
render: function render(_ref4) {
|
1518
|
+
var _ref4$match$params = _ref4.match.params,
|
1519
|
+
id = _ref4$match$params.id,
|
1520
|
+
params = _objectWithoutProperties__default["default"](_ref4$match$params, _excluded2);
|
1521
|
+
|
1522
|
+
return /*#__PURE__*/React__default["default"].createElement(RouteComponent, Object.assign({
|
1523
|
+
resource: resource,
|
1524
|
+
itemId: id
|
1525
|
+
}, params));
|
1526
|
+
}
|
1527
|
+
}, routeProps)) : null;
|
1528
|
+
}), /*#__PURE__*/React__default["default"].createElement(reactRouter.Route, {
|
1462
1529
|
path: route('resources.index', {
|
1463
1530
|
resource: resourceId
|
1464
1531
|
}),
|
@@ -1484,8 +1551,8 @@ var ResourceRoutes = function ResourceRoutes(_ref) {
|
|
1484
1551
|
id: ':id'
|
1485
1552
|
}),
|
1486
1553
|
exact: true,
|
1487
|
-
render: function render(
|
1488
|
-
var id =
|
1554
|
+
render: function render(_ref5) {
|
1555
|
+
var id = _ref5.match.params.id;
|
1489
1556
|
return /*#__PURE__*/React__default["default"].createElement(ResourceShowComponent, {
|
1490
1557
|
resource: resource,
|
1491
1558
|
itemId: id
|
@@ -1497,8 +1564,8 @@ var ResourceRoutes = function ResourceRoutes(_ref) {
|
|
1497
1564
|
id: ':id'
|
1498
1565
|
}),
|
1499
1566
|
exact: true,
|
1500
|
-
render: function render(
|
1501
|
-
var id =
|
1567
|
+
render: function render(_ref6) {
|
1568
|
+
var id = _ref6.match.params.id;
|
1502
1569
|
return /*#__PURE__*/React__default["default"].createElement(ResourceEditComponent, {
|
1503
1570
|
resource: resource,
|
1504
1571
|
itemId: id
|
@@ -1510,8 +1577,8 @@ var ResourceRoutes = function ResourceRoutes(_ref) {
|
|
1510
1577
|
id: ':id'
|
1511
1578
|
}),
|
1512
1579
|
exact: true,
|
1513
|
-
render: function render(
|
1514
|
-
var id =
|
1580
|
+
render: function render(_ref7) {
|
1581
|
+
var id = _ref7.match.params.id;
|
1515
1582
|
return /*#__PURE__*/React__default["default"].createElement(ResourceDeleteComponent, {
|
1516
1583
|
resource: resource,
|
1517
1584
|
itemId: id
|
package/package.json
CHANGED
@@ -1,6 +1,6 @@
|
|
1
1
|
{
|
2
2
|
"name": "@panneau/app",
|
3
|
-
"version": "1.0.0-alpha.
|
3
|
+
"version": "1.0.0-alpha.229",
|
4
4
|
"description": "",
|
5
5
|
"keywords": [
|
6
6
|
"javascript"
|
@@ -35,6 +35,12 @@
|
|
35
35
|
"license": "ISC",
|
36
36
|
"main": "lib/index.js",
|
37
37
|
"module": "es/index.js",
|
38
|
+
"exports": {
|
39
|
+
".": "./lib/index.js",
|
40
|
+
"./scss/styles": "./scss/styles.scss",
|
41
|
+
"./scss/styles.scss": "./scss/styles.scss",
|
42
|
+
"./assets/css/styles.css": "./assets/css/styles.css"
|
43
|
+
},
|
38
44
|
"files": [
|
39
45
|
"lib",
|
40
46
|
"es",
|
@@ -60,27 +66,27 @@
|
|
60
66
|
"@panneau/auth": "^1.0.0-alpha.224",
|
61
67
|
"@panneau/core": "^1.0.0-alpha.224",
|
62
68
|
"@panneau/data": "^1.0.0-alpha.224",
|
63
|
-
"@panneau/displays": "^1.0.0-alpha.
|
64
|
-
"@panneau/element-alert": "^1.0.0-alpha.
|
65
|
-
"@panneau/element-button": "^1.0.0-alpha.
|
66
|
-
"@panneau/element-buttons": "^1.0.0-alpha.
|
67
|
-
"@panneau/element-dropdown": "^1.0.0-alpha.
|
68
|
-
"@panneau/element-form": "^1.0.0-alpha.
|
69
|
-
"@panneau/element-form-group": "^1.0.0-alpha.
|
69
|
+
"@panneau/displays": "^1.0.0-alpha.227",
|
70
|
+
"@panneau/element-alert": "^1.0.0-alpha.227",
|
71
|
+
"@panneau/element-button": "^1.0.0-alpha.227",
|
72
|
+
"@panneau/element-buttons": "^1.0.0-alpha.227",
|
73
|
+
"@panneau/element-dropdown": "^1.0.0-alpha.227",
|
74
|
+
"@panneau/element-form": "^1.0.0-alpha.227",
|
75
|
+
"@panneau/element-form-group": "^1.0.0-alpha.227",
|
70
76
|
"@panneau/element-label": "^1.0.0-alpha.224",
|
71
77
|
"@panneau/element-link": "^1.0.0-alpha.224",
|
72
78
|
"@panneau/element-loading": "^1.0.0-alpha.224",
|
73
|
-
"@panneau/element-menu": "^1.0.0-alpha.
|
74
|
-
"@panneau/element-navbar": "^1.0.0-alpha.
|
79
|
+
"@panneau/element-menu": "^1.0.0-alpha.227",
|
80
|
+
"@panneau/element-navbar": "^1.0.0-alpha.227",
|
75
81
|
"@panneau/element-pagination": "^1.0.0-alpha.224",
|
76
|
-
"@panneau/element-radios": "^1.0.0-alpha.
|
77
|
-
"@panneau/fields": "^1.0.0-alpha.
|
78
|
-
"@panneau/filters": "^1.0.0-alpha.
|
79
|
-
"@panneau/forms": "^1.0.0-alpha.
|
82
|
+
"@panneau/element-radios": "^1.0.0-alpha.227",
|
83
|
+
"@panneau/fields": "^1.0.0-alpha.227",
|
84
|
+
"@panneau/filters": "^1.0.0-alpha.227",
|
85
|
+
"@panneau/forms": "^1.0.0-alpha.227",
|
80
86
|
"@panneau/intl": "^1.0.0-alpha.225",
|
81
|
-
"@panneau/lists": "^1.0.0-alpha.
|
82
|
-
"@panneau/modals": "^1.0.0-alpha.
|
83
|
-
"@panneau/themes": "^1.0.0-alpha.
|
87
|
+
"@panneau/lists": "^1.0.0-alpha.227",
|
88
|
+
"@panneau/modals": "^1.0.0-alpha.227",
|
89
|
+
"@panneau/themes": "^1.0.0-alpha.227",
|
84
90
|
"classnames": "^2.2.6",
|
85
91
|
"lodash": "^4.17.21",
|
86
92
|
"prop-types": "^15.7.2",
|
@@ -92,5 +98,5 @@
|
|
92
98
|
"publishConfig": {
|
93
99
|
"access": "public"
|
94
100
|
},
|
95
|
-
"gitHead": "
|
101
|
+
"gitHead": "c536479c610184d385873f2a1d3936707f8baaae"
|
96
102
|
}
|