@panneau/app 3.0.107 → 3.0.108
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/package.json +4 -4
- package/assets/css/styles.css +0 -8
- package/es/index.js +0 -1410
- package/lib/index.js +0 -1451
package/lib/index.js
DELETED
@@ -1,1451 +0,0 @@
|
|
1
|
-
'use strict';
|
2
|
-
|
3
|
-
Object.defineProperty(exports, '__esModule', { value: true });
|
4
|
-
|
5
|
-
var _defineProperty = require('@babel/runtime/helpers/defineProperty');
|
6
|
-
var _objectSpread = require('@babel/runtime/helpers/objectSpread2');
|
7
|
-
var routes = require('@folklore/routes');
|
8
|
-
var PropTypes = require('prop-types');
|
9
|
-
var React = require('react');
|
10
|
-
var wouter = require('wouter');
|
11
|
-
var auth = require('@panneau/auth');
|
12
|
-
var core = require('@panneau/core');
|
13
|
-
var contexts = require('@panneau/core/contexts');
|
14
|
-
var uppy = require('@panneau/uppy');
|
15
|
-
var data = require('@panneau/data');
|
16
|
-
var DisplaysProvider = require('@panneau/displays');
|
17
|
-
var FieldsProvider = require('@panneau/fields');
|
18
|
-
var FiltersProvider = require('@panneau/filters');
|
19
|
-
var FormsProvider = require('@panneau/forms');
|
20
|
-
var intl = require('@panneau/intl');
|
21
|
-
var ListsProvider = require('@panneau/lists');
|
22
|
-
var ModalsProvider = require('@panneau/modals');
|
23
|
-
var _toConsumableArray = require('@babel/runtime/helpers/toConsumableArray');
|
24
|
-
var _objectWithoutProperties = require('@babel/runtime/helpers/objectWithoutProperties');
|
25
|
-
var _slicedToArray = require('@babel/runtime/helpers/slicedToArray');
|
26
|
-
var isObject = require('lodash/isObject');
|
27
|
-
var classNames = require('classnames');
|
28
|
-
var isString = require('lodash/isString');
|
29
|
-
var queryString = require('query-string');
|
30
|
-
var reactIntl = require('react-intl');
|
31
|
-
var hooks = require('@panneau/core/hooks');
|
32
|
-
var Alert = require('@panneau/element-alert');
|
33
|
-
var Button = require('@panneau/element-button');
|
34
|
-
var Dropdown = require('@panneau/element-dropdown');
|
35
|
-
var elementModal = require('@panneau/element-modal');
|
36
|
-
var isArray = require('lodash/isArray');
|
37
|
-
var Link = require('@panneau/element-link');
|
38
|
-
var Menu = require('@panneau/element-menu');
|
39
|
-
var Navbar = require('@panneau/element-navbar');
|
40
|
-
var Label = require('@panneau/element-label');
|
41
|
-
var ResourceList = require('@panneau/list-resource-items');
|
42
|
-
var ResourceForm$1 = require('@panneau/form-resource');
|
43
|
-
var utils = require('@panneau/core/utils');
|
44
|
-
var Filters = require('@panneau/filter-filters');
|
45
|
-
|
46
|
-
function _interopDefaultLegacy (e) { return e && typeof e === 'object' && 'default' in e ? e : { 'default': e }; }
|
47
|
-
|
48
|
-
var _defineProperty__default = /*#__PURE__*/_interopDefaultLegacy(_defineProperty);
|
49
|
-
var _objectSpread__default = /*#__PURE__*/_interopDefaultLegacy(_objectSpread);
|
50
|
-
var PropTypes__default = /*#__PURE__*/_interopDefaultLegacy(PropTypes);
|
51
|
-
var React__default = /*#__PURE__*/_interopDefaultLegacy(React);
|
52
|
-
var DisplaysProvider__default = /*#__PURE__*/_interopDefaultLegacy(DisplaysProvider);
|
53
|
-
var FieldsProvider__default = /*#__PURE__*/_interopDefaultLegacy(FieldsProvider);
|
54
|
-
var FiltersProvider__default = /*#__PURE__*/_interopDefaultLegacy(FiltersProvider);
|
55
|
-
var FormsProvider__default = /*#__PURE__*/_interopDefaultLegacy(FormsProvider);
|
56
|
-
var ListsProvider__default = /*#__PURE__*/_interopDefaultLegacy(ListsProvider);
|
57
|
-
var ModalsProvider__default = /*#__PURE__*/_interopDefaultLegacy(ModalsProvider);
|
58
|
-
var _toConsumableArray__default = /*#__PURE__*/_interopDefaultLegacy(_toConsumableArray);
|
59
|
-
var _objectWithoutProperties__default = /*#__PURE__*/_interopDefaultLegacy(_objectWithoutProperties);
|
60
|
-
var _slicedToArray__default = /*#__PURE__*/_interopDefaultLegacy(_slicedToArray);
|
61
|
-
var isObject__default = /*#__PURE__*/_interopDefaultLegacy(isObject);
|
62
|
-
var classNames__default = /*#__PURE__*/_interopDefaultLegacy(classNames);
|
63
|
-
var isString__default = /*#__PURE__*/_interopDefaultLegacy(isString);
|
64
|
-
var queryString__default = /*#__PURE__*/_interopDefaultLegacy(queryString);
|
65
|
-
var Alert__default = /*#__PURE__*/_interopDefaultLegacy(Alert);
|
66
|
-
var Button__default = /*#__PURE__*/_interopDefaultLegacy(Button);
|
67
|
-
var Dropdown__default = /*#__PURE__*/_interopDefaultLegacy(Dropdown);
|
68
|
-
var isArray__default = /*#__PURE__*/_interopDefaultLegacy(isArray);
|
69
|
-
var Link__default = /*#__PURE__*/_interopDefaultLegacy(Link);
|
70
|
-
var Menu__default = /*#__PURE__*/_interopDefaultLegacy(Menu);
|
71
|
-
var Navbar__default = /*#__PURE__*/_interopDefaultLegacy(Navbar);
|
72
|
-
var Label__default = /*#__PURE__*/_interopDefaultLegacy(Label);
|
73
|
-
var ResourceList__default = /*#__PURE__*/_interopDefaultLegacy(ResourceList);
|
74
|
-
var ResourceForm__default = /*#__PURE__*/_interopDefaultLegacy(ResourceForm$1);
|
75
|
-
var Filters__default = /*#__PURE__*/_interopDefaultLegacy(Filters);
|
76
|
-
|
77
|
-
/* eslint-disable react/jsx-props-no-spreading */
|
78
|
-
|
79
|
-
// Kept for backward compatibility with exports
|
80
|
-
var ResourceFormWrapper = function ResourceFormWrapper(props) {
|
81
|
-
return /*#__PURE__*/React__default["default"].createElement(ResourceForm__default["default"], props);
|
82
|
-
};
|
83
|
-
var ResourceForm = ResourceFormWrapper;
|
84
|
-
|
85
|
-
var propTypes$j = {
|
86
|
-
withAccountForm: PropTypes__default["default"].bool,
|
87
|
-
className: PropTypes__default["default"].string,
|
88
|
-
itemClassName: PropTypes__default["default"].string,
|
89
|
-
linkClassName: PropTypes__default["default"].string
|
90
|
-
};
|
91
|
-
var defaultProps$i = {
|
92
|
-
withAccountForm: false,
|
93
|
-
className: null,
|
94
|
-
itemClassName: null,
|
95
|
-
linkClassName: null
|
96
|
-
};
|
97
|
-
var AccountMenu = function AccountMenu(_ref) {
|
98
|
-
var withAccountForm = _ref.withAccountForm,
|
99
|
-
className = _ref.className,
|
100
|
-
itemClassName = _ref.itemClassName,
|
101
|
-
linkClassName = _ref.linkClassName;
|
102
|
-
var route = contexts.useUrlGenerator();
|
103
|
-
var user = auth.useUser();
|
104
|
-
var logout = auth.useLogout();
|
105
|
-
var onClickLogout = React.useCallback(function (e) {
|
106
|
-
e.preventDefault();
|
107
|
-
logout();
|
108
|
-
}, [logout, route]);
|
109
|
-
var items = React.useMemo(function () {
|
110
|
-
return user !== null ? [{
|
111
|
-
id: 'account',
|
112
|
-
label: /*#__PURE__*/React__default["default"].createElement(reactIntl.FormattedMessage, {
|
113
|
-
id: "IuqEHB",
|
114
|
-
defaultMessage: [{
|
115
|
-
"type": 0,
|
116
|
-
"value": "Account"
|
117
|
-
}]
|
118
|
-
}),
|
119
|
-
href: route('account'),
|
120
|
-
dropdown: [].concat(_toConsumableArray__default["default"](withAccountForm ? [{
|
121
|
-
label: /*#__PURE__*/React__default["default"].createElement(reactIntl.FormattedMessage, {
|
122
|
-
id: "V7Us0a",
|
123
|
-
defaultMessage: [{
|
124
|
-
"type": 0,
|
125
|
-
"value": "Update account"
|
126
|
-
}]
|
127
|
-
}),
|
128
|
-
href: route('account')
|
129
|
-
}] : []), [{
|
130
|
-
label: /*#__PURE__*/React__default["default"].createElement(reactIntl.FormattedMessage, {
|
131
|
-
id: "REIcPg",
|
132
|
-
defaultMessage: [{
|
133
|
-
"type": 0,
|
134
|
-
"value": "Logout"
|
135
|
-
}]
|
136
|
-
}),
|
137
|
-
href: route('auth.logout'),
|
138
|
-
onClick: onClickLogout
|
139
|
-
}])
|
140
|
-
}] : [{
|
141
|
-
label: /*#__PURE__*/React__default["default"].createElement(reactIntl.FormattedMessage, {
|
142
|
-
id: "d0g58T",
|
143
|
-
defaultMessage: [{
|
144
|
-
"type": 0,
|
145
|
-
"value": "Login"
|
146
|
-
}]
|
147
|
-
}),
|
148
|
-
href: route('auth.login')
|
149
|
-
}];
|
150
|
-
}, [user, route, onClickLogout, withAccountForm]);
|
151
|
-
return items !== null ? /*#__PURE__*/React__default["default"].createElement(Menu__default["default"], {
|
152
|
-
className: className,
|
153
|
-
itemClassName: itemClassName,
|
154
|
-
linkClassName: linkClassName,
|
155
|
-
items: items,
|
156
|
-
dropdownAlign: "end"
|
157
|
-
}) : null;
|
158
|
-
};
|
159
|
-
AccountMenu.propTypes = propTypes$j;
|
160
|
-
AccountMenu.defaultProps = defaultProps$i;
|
161
|
-
var AccountMenu$1 = AccountMenu;
|
162
|
-
|
163
|
-
var propTypes$i = {
|
164
|
-
className: PropTypes__default["default"].string,
|
165
|
-
itemClassName: PropTypes__default["default"].string,
|
166
|
-
linkClassName: PropTypes__default["default"].string
|
167
|
-
};
|
168
|
-
var defaultProps$h = {
|
169
|
-
className: null,
|
170
|
-
itemClassName: null,
|
171
|
-
linkClassName: null
|
172
|
-
};
|
173
|
-
var ResourcesMenu = function ResourcesMenu(_ref) {
|
174
|
-
var className = _ref.className,
|
175
|
-
itemClassName = _ref.itemClassName,
|
176
|
-
linkClassName = _ref.linkClassName;
|
177
|
-
var _useLocation = routes.useLocation(),
|
178
|
-
_useLocation2 = _slicedToArray__default["default"](_useLocation, 1),
|
179
|
-
pathname = _useLocation2[0].pathname;
|
180
|
-
var resources = contexts.usePanneauResources();
|
181
|
-
var resourceRoute = hooks.useResourceUrlGenerator();
|
182
|
-
var items = React.useMemo(function () {
|
183
|
-
return resources.filter(function (_ref2) {
|
184
|
-
var _ref2$settings = _ref2.settings,
|
185
|
-
_ref2$settings2 = _ref2$settings === void 0 ? {} : _ref2$settings,
|
186
|
-
_ref2$settings2$hideI = _ref2$settings2.hideInNavbar,
|
187
|
-
hideInNavbar = _ref2$settings2$hideI === void 0 ? false : _ref2$settings2$hideI;
|
188
|
-
return !hideInNavbar;
|
189
|
-
}).map(function (it) {
|
190
|
-
var url = resourceRoute(it, 'index');
|
191
|
-
return {
|
192
|
-
id: it.id,
|
193
|
-
label: it.name,
|
194
|
-
href: url,
|
195
|
-
active: pathname.substr(0, url.length) === url
|
196
|
-
};
|
197
|
-
});
|
198
|
-
}, [resources, pathname, resourceRoute]);
|
199
|
-
return /*#__PURE__*/React__default["default"].createElement(Menu__default["default"], {
|
200
|
-
items: items,
|
201
|
-
className: className,
|
202
|
-
itemClassName: itemClassName,
|
203
|
-
linkClassName: linkClassName
|
204
|
-
});
|
205
|
-
};
|
206
|
-
ResourcesMenu.propTypes = propTypes$i;
|
207
|
-
ResourcesMenu.defaultProps = defaultProps$h;
|
208
|
-
var ResourcesMenu$1 = ResourcesMenu;
|
209
|
-
|
210
|
-
var propTypes$h = {};
|
211
|
-
var defaultProps$g = {};
|
212
|
-
var MainNavbar = function MainNavbar(props) {
|
213
|
-
var _usePanneau = contexts.usePanneau(),
|
214
|
-
name = _usePanneau.name,
|
215
|
-
_usePanneau$menus = _usePanneau.menus,
|
216
|
-
menus = _usePanneau$menus === void 0 ? null : _usePanneau$menus;
|
217
|
-
var _ref = menus || {},
|
218
|
-
_ref$main = _ref.main,
|
219
|
-
main = _ref$main === void 0 ? null : _ref$main,
|
220
|
-
_ref$guest = _ref.guest,
|
221
|
-
guest = _ref$guest === void 0 ? null : _ref$guest;
|
222
|
-
var _usePanneauColorSchem = contexts.usePanneauColorScheme(),
|
223
|
-
background = _usePanneauColorSchem.background;
|
224
|
-
var route = contexts.useUrlGenerator();
|
225
|
-
var user = auth.useUser();
|
226
|
-
var items = React.useMemo(function () {
|
227
|
-
var menuItems = (user !== null ? main : guest) || [];
|
228
|
-
var hasResources = menuItems.indexOf('resources') !== -1;
|
229
|
-
var hasAccount = menuItems.indexOf('account') !== -1;
|
230
|
-
return [!hasResources && user !== null ? 'resources' : null].concat(_toConsumableArray__default["default"](menuItems), [!hasAccount && menuItems.indexOf('separator') === -1 ? 'separator' : null, !hasAccount ? 'account' : null]).filter(function (it) {
|
231
|
-
return it !== null;
|
232
|
-
}).reduce(function (currentItems, item, index) {
|
233
|
-
if (item === 'resources') {
|
234
|
-
return [].concat(_toConsumableArray__default["default"](currentItems), [/*#__PURE__*/React__default["default"].createElement(ResourcesMenu$1, {
|
235
|
-
key: "menu-item-resource-".concat(index + 1),
|
236
|
-
className: "navbar-nav",
|
237
|
-
itemClassName: "nav-item",
|
238
|
-
linkClassName: "nav-link"
|
239
|
-
})]);
|
240
|
-
}
|
241
|
-
if (item === 'account') {
|
242
|
-
return [].concat(_toConsumableArray__default["default"](currentItems), [/*#__PURE__*/React__default["default"].createElement(AccountMenu$1, {
|
243
|
-
key: "menu-item-account-".concat(index + 1),
|
244
|
-
className: "navbar-nav",
|
245
|
-
itemClassName: "nav-item",
|
246
|
-
linkClassName: "nav-link"
|
247
|
-
})]);
|
248
|
-
}
|
249
|
-
if (item === 'separator') {
|
250
|
-
return [].concat(_toConsumableArray__default["default"](currentItems), [/*#__PURE__*/React__default["default"].createElement("span", {
|
251
|
-
key: "menu-item-spacer-".concat(index + 1),
|
252
|
-
className: "ms-auto"
|
253
|
-
})]);
|
254
|
-
}
|
255
|
-
var lastItem = currentItems.length > 0 ? currentItems[currentItems.length - 1] : null;
|
256
|
-
return isArray__default["default"](lastItem) ? [].concat(_toConsumableArray__default["default"](currentItems.slice(0, currentItems.length - 1)), [[].concat(_toConsumableArray__default["default"](lastItem), [item])]) : [].concat(_toConsumableArray__default["default"](currentItems), [[item]]);
|
257
|
-
}, []).map(function (it, index) {
|
258
|
-
return isArray__default["default"](it) ? /*#__PURE__*/React__default["default"].createElement(Menu__default["default"], {
|
259
|
-
items: it,
|
260
|
-
key: "submenu-item-".concat(index + 1),
|
261
|
-
className: "navbar-nav",
|
262
|
-
itemClassName: "nav-item",
|
263
|
-
linkClassName: "nav-link"
|
264
|
-
}) : it;
|
265
|
-
});
|
266
|
-
}, [main]);
|
267
|
-
return /*#__PURE__*/React__default["default"].createElement(Navbar__default["default"], Object.assign({
|
268
|
-
theme: background
|
269
|
-
}, props), name !== null ? /*#__PURE__*/React__default["default"].createElement(Link__default["default"], {
|
270
|
-
href: route('home'),
|
271
|
-
className: "navbar-brand"
|
272
|
-
}, name) : null, items);
|
273
|
-
};
|
274
|
-
MainNavbar.propTypes = propTypes$h;
|
275
|
-
MainNavbar.defaultProps = defaultProps$g;
|
276
|
-
var MainNavbar$1 = MainNavbar;
|
277
|
-
|
278
|
-
var styles$1 = {};
|
279
|
-
|
280
|
-
var propTypes$g = {
|
281
|
-
children: PropTypes__default["default"].node.isRequired,
|
282
|
-
fullscreen: PropTypes__default["default"].bool
|
283
|
-
};
|
284
|
-
var defaultProps$f = {
|
285
|
-
fullscreen: false
|
286
|
-
};
|
287
|
-
var MainLayout = function MainLayout(_ref) {
|
288
|
-
var _ref2;
|
289
|
-
var children = _ref.children,
|
290
|
-
fullscreen = _ref.fullscreen;
|
291
|
-
var _usePanneauColorSchem = contexts.usePanneauColorScheme(),
|
292
|
-
_usePanneauColorSchem2 = _usePanneauColorSchem.theme,
|
293
|
-
theme = _usePanneauColorSchem2 === void 0 ? null : _usePanneauColorSchem2,
|
294
|
-
_usePanneauColorSchem3 = _usePanneauColorSchem.background,
|
295
|
-
background = _usePanneauColorSchem3 === void 0 ? null : _usePanneauColorSchem3,
|
296
|
-
_usePanneauColorSchem4 = _usePanneauColorSchem.text,
|
297
|
-
text = _usePanneauColorSchem4 === void 0 ? null : _usePanneauColorSchem4;
|
298
|
-
return /*#__PURE__*/React__default["default"].createElement("div", {
|
299
|
-
className: classNames__default["default"]([styles$1.container, 'd-flex', 'flex-column', 'min-vh-100']),
|
300
|
-
"data-bs-theme": theme !== null ? theme : null
|
301
|
-
}, /*#__PURE__*/React__default["default"].createElement(MainNavbar$1, {
|
302
|
-
className: classNames__default["default"](['border-bottom', 'sticky-top', 'px-3'])
|
303
|
-
}), /*#__PURE__*/React__default["default"].createElement("div", {
|
304
|
-
className: classNames__default["default"](['flex-grow-1', (_ref2 = {
|
305
|
-
'd-flex flex-column': fullscreen
|
306
|
-
}, _defineProperty__default["default"](_ref2, "bg-".concat(background), background !== null), _defineProperty__default["default"](_ref2, "text-".concat(text), text !== null), _ref2)])
|
307
|
-
}, children), /*#__PURE__*/React__default["default"].createElement(elementModal.Modals, null));
|
308
|
-
};
|
309
|
-
MainLayout.propTypes = propTypes$g;
|
310
|
-
MainLayout.defaultProps = defaultProps$f;
|
311
|
-
var MainLayout$1 = MainLayout;
|
312
|
-
|
313
|
-
var propTypes$f = {
|
314
|
-
title: core.PropTypes.label,
|
315
|
-
actions: PropTypes__default["default"].node,
|
316
|
-
small: PropTypes__default["default"].bool,
|
317
|
-
className: PropTypes__default["default"].string,
|
318
|
-
children: PropTypes__default["default"].node
|
319
|
-
};
|
320
|
-
var defaultProps$e = {
|
321
|
-
title: null,
|
322
|
-
actions: null,
|
323
|
-
small: false,
|
324
|
-
className: null,
|
325
|
-
children: null
|
326
|
-
};
|
327
|
-
var PageHeader = function PageHeader(_ref) {
|
328
|
-
var _ref2;
|
329
|
-
var title = _ref.title,
|
330
|
-
actions = _ref.actions,
|
331
|
-
small = _ref.small,
|
332
|
-
className = _ref.className,
|
333
|
-
children = _ref.children;
|
334
|
-
// TODO: fix page header components
|
335
|
-
// const { components } = usePanneau();
|
336
|
-
// console.log('page-header', components); // eslint-disable-line
|
337
|
-
var _usePanneauColorSchem = contexts.usePanneauColorScheme(),
|
338
|
-
text = _usePanneauColorSchem.text,
|
339
|
-
background = _usePanneauColorSchem.background;
|
340
|
-
var inner = /*#__PURE__*/React__default["default"].createElement("div", {
|
341
|
-
className: "d-flex align-items-center flex-wrap"
|
342
|
-
}, title !== null ? /*#__PURE__*/React__default["default"].createElement("h1", {
|
343
|
-
className: classNames__default["default"](['mb-0', {
|
344
|
-
h2: small
|
345
|
-
}])
|
346
|
-
}, /*#__PURE__*/React__default["default"].createElement(Label__default["default"], null, title)) : null, actions !== null ? /*#__PURE__*/React__default["default"].createElement("div", {
|
347
|
-
className: "ms-auto"
|
348
|
-
}, actions) : null);
|
349
|
-
return /*#__PURE__*/React__default["default"].createElement("div", {
|
350
|
-
className: classNames__default["default"](['py-4', (_ref2 = {}, _defineProperty__default["default"](_ref2, "bg-".concat(background), background !== null), _defineProperty__default["default"](_ref2, "text-".concat(text), text !== null), _defineProperty__default["default"](_ref2, "border-bottom", background || text !== null), _defineProperty__default["default"](_ref2, className, className !== null), _ref2)])
|
351
|
-
}, /*#__PURE__*/React__default["default"].createElement("div", {
|
352
|
-
className: "container-sm"
|
353
|
-
}, small ? /*#__PURE__*/React__default["default"].createElement("div", {
|
354
|
-
className: "row justify-content-center"
|
355
|
-
}, /*#__PURE__*/React__default["default"].createElement("div", {
|
356
|
-
className: "col-12 col-md-8 col-lg-7"
|
357
|
-
}, inner)) : inner), children);
|
358
|
-
};
|
359
|
-
PageHeader.propTypes = propTypes$f;
|
360
|
-
PageHeader.defaultProps = defaultProps$e;
|
361
|
-
var PageHeader$1 = PageHeader;
|
362
|
-
|
363
|
-
var propTypes$e = {
|
364
|
-
resource: core.PropTypes.resource.isRequired
|
365
|
-
};
|
366
|
-
var defaultProps$d = {};
|
367
|
-
var ResourceCreatePage = function ResourceCreatePage(_ref) {
|
368
|
-
var resource = _ref.resource;
|
369
|
-
var _useLocation = routes.useLocation(),
|
370
|
-
_useLocation2 = _slicedToArray__default["default"](_useLocation, 2),
|
371
|
-
search = _useLocation2[0].search,
|
372
|
-
navigate = _useLocation2[1];
|
373
|
-
var resourceRoute = hooks.useResourceUrlGenerator(resource);
|
374
|
-
var _useMemo = React.useMemo(function () {
|
375
|
-
return queryString__default["default"].parse(search, {
|
376
|
-
arrayFormat: 'bracket'
|
377
|
-
});
|
378
|
-
}, [search]),
|
379
|
-
_useMemo$type = _useMemo.type,
|
380
|
-
type = _useMemo$type === void 0 ? null : _useMemo$type;
|
381
|
-
var resourceValues = intl.useResourceValues(resource);
|
382
|
-
var typeName = hooks.useResourceTypeName(resource, type);
|
383
|
-
var onSuccess = React.useCallback(function () {
|
384
|
-
navigate("".concat(resourceRoute('index'), "?created=true"));
|
385
|
-
}, [navigate, resourceRoute]);
|
386
|
-
return /*#__PURE__*/React__default["default"].createElement(contexts.ResourceProvider, {
|
387
|
-
resource: resource
|
388
|
-
}, /*#__PURE__*/React__default["default"].createElement(MainLayout$1, null, /*#__PURE__*/React__default["default"].createElement(PageHeader$1, {
|
389
|
-
title: /*#__PURE__*/React__default["default"].createElement(React__default["default"].Fragment, null, /*#__PURE__*/React__default["default"].createElement(reactIntl.FormattedMessage, {
|
390
|
-
values: resourceValues,
|
391
|
-
id: "6viUpq",
|
392
|
-
defaultMessage: [{
|
393
|
-
"type": 0,
|
394
|
-
"value": "Create "
|
395
|
-
}, {
|
396
|
-
"type": 1,
|
397
|
-
"value": "a_singular"
|
398
|
-
}]
|
399
|
-
}), typeName !== null ? /*#__PURE__*/React__default["default"].createElement("span", {
|
400
|
-
className: "text-body-secondary"
|
401
|
-
}, " (", typeName, ")") : null),
|
402
|
-
small: true
|
403
|
-
}), /*#__PURE__*/React__default["default"].createElement("div", {
|
404
|
-
className: "container-sm py-4"
|
405
|
-
}, /*#__PURE__*/React__default["default"].createElement("div", {
|
406
|
-
className: "row justify-content-center"
|
407
|
-
}, /*#__PURE__*/React__default["default"].createElement("div", {
|
408
|
-
className: "col-12 col-md-8 col-lg-7"
|
409
|
-
}, /*#__PURE__*/React__default["default"].createElement(ResourceForm, {
|
410
|
-
resource: resource,
|
411
|
-
type: type,
|
412
|
-
onSuccess: onSuccess
|
413
|
-
}))))));
|
414
|
-
};
|
415
|
-
ResourceCreatePage.propTypes = propTypes$e;
|
416
|
-
ResourceCreatePage.defaultProps = defaultProps$d;
|
417
|
-
var ResourceCreate = ResourceCreatePage;
|
418
|
-
|
419
|
-
var propTypes$d = {
|
420
|
-
itemId: PropTypes__default["default"].string.isRequired,
|
421
|
-
resource: core.PropTypes.resource.isRequired
|
422
|
-
};
|
423
|
-
var defaultProps$c = {};
|
424
|
-
var ResourceDeletePage = function ResourceDeletePage(_ref) {
|
425
|
-
var itemId = _ref.itemId,
|
426
|
-
resource = _ref.resource;
|
427
|
-
var _useLocation = routes.useLocation(),
|
428
|
-
_useLocation2 = _slicedToArray__default["default"](_useLocation, 2),
|
429
|
-
navigate = _useLocation2[1];
|
430
|
-
var resourceRoute = hooks.useResourceUrlGenerator(resource);
|
431
|
-
var _useResourceItem = data.useResourceItem(resource, itemId),
|
432
|
-
item = _useResourceItem.item;
|
433
|
-
var _ref2 = item || {},
|
434
|
-
_ref2$type = _ref2.type,
|
435
|
-
type = _ref2$type === void 0 ? null : _ref2$type;
|
436
|
-
var resourceValues = intl.useResourceValues(resource);
|
437
|
-
var typeName = hooks.useResourceTypeName(resource, type);
|
438
|
-
var onSuccess = React.useCallback(function () {
|
439
|
-
return navigate("".concat(resourceRoute('index'), "?deleted=true"));
|
440
|
-
}, [navigate, resourceRoute]);
|
441
|
-
return /*#__PURE__*/React__default["default"].createElement(contexts.ResourceProvider, {
|
442
|
-
resource: resource
|
443
|
-
}, /*#__PURE__*/React__default["default"].createElement(MainLayout$1, null, /*#__PURE__*/React__default["default"].createElement(PageHeader$1, {
|
444
|
-
title: /*#__PURE__*/React__default["default"].createElement(React__default["default"].Fragment, null, /*#__PURE__*/React__default["default"].createElement(reactIntl.FormattedMessage, {
|
445
|
-
values: resourceValues,
|
446
|
-
id: "zN5N/Q",
|
447
|
-
defaultMessage: [{
|
448
|
-
"type": 0,
|
449
|
-
"value": "Delete "
|
450
|
-
}, {
|
451
|
-
"type": 1,
|
452
|
-
"value": "a_singular"
|
453
|
-
}]
|
454
|
-
}), typeName !== null ? /*#__PURE__*/React__default["default"].createElement("span", {
|
455
|
-
className: "text-body-secondary"
|
456
|
-
}, " (", typeName, ")") : null),
|
457
|
-
small: true
|
458
|
-
}), /*#__PURE__*/React__default["default"].createElement("div", {
|
459
|
-
className: "container-sm py-4"
|
460
|
-
}, /*#__PURE__*/React__default["default"].createElement("div", {
|
461
|
-
className: "row justify-content-center"
|
462
|
-
}, /*#__PURE__*/React__default["default"].createElement("div", {
|
463
|
-
className: "col-12 col-md-8 col-lg-7"
|
464
|
-
}, item !== null ? /*#__PURE__*/React__default["default"].createElement(ResourceForm, {
|
465
|
-
resource: resource,
|
466
|
-
item: item,
|
467
|
-
onSuccess: onSuccess,
|
468
|
-
isDelete: true
|
469
|
-
}) : null)))));
|
470
|
-
};
|
471
|
-
ResourceDeletePage.propTypes = propTypes$d;
|
472
|
-
ResourceDeletePage.defaultProps = defaultProps$c;
|
473
|
-
var ResourceDelete = ResourceDeletePage;
|
474
|
-
|
475
|
-
var propTypes$c = {
|
476
|
-
itemId: PropTypes__default["default"].string.isRequired,
|
477
|
-
resource: core.PropTypes.resource.isRequired
|
478
|
-
};
|
479
|
-
var defaultProps$b = {};
|
480
|
-
var ResourceEditPage = function ResourceEditPage(_ref) {
|
481
|
-
var itemId = _ref.itemId,
|
482
|
-
resource = _ref.resource;
|
483
|
-
var _useResourceItem = data.useResourceItem(resource, itemId),
|
484
|
-
item = _useResourceItem.item;
|
485
|
-
var _ref2 = item || {},
|
486
|
-
_ref2$type = _ref2.type,
|
487
|
-
type = _ref2$type === void 0 ? null : _ref2$type;
|
488
|
-
var _useState = React.useState(item),
|
489
|
-
_useState2 = _slicedToArray__default["default"](_useState, 2),
|
490
|
-
editItem = _useState2[0],
|
491
|
-
setEditItem = _useState2[1];
|
492
|
-
var typeName = hooks.useResourceTypeName(resource, type);
|
493
|
-
var onSuccess = React.useCallback(function (newItem) {
|
494
|
-
return setEditItem(newItem);
|
495
|
-
}, []);
|
496
|
-
React.useEffect(function () {
|
497
|
-
setEditItem(item);
|
498
|
-
}, [item, setEditItem]);
|
499
|
-
var resourceValues = intl.useResourceValues(resource);
|
500
|
-
return /*#__PURE__*/React__default["default"].createElement(contexts.ResourceProvider, {
|
501
|
-
resource: resource
|
502
|
-
}, /*#__PURE__*/React__default["default"].createElement(MainLayout$1, null, /*#__PURE__*/React__default["default"].createElement(PageHeader$1, {
|
503
|
-
title: /*#__PURE__*/React__default["default"].createElement(React__default["default"].Fragment, null, /*#__PURE__*/React__default["default"].createElement(reactIntl.FormattedMessage, {
|
504
|
-
values: resourceValues,
|
505
|
-
id: "mCfzkJ",
|
506
|
-
defaultMessage: [{
|
507
|
-
"type": 0,
|
508
|
-
"value": "Edit "
|
509
|
-
}, {
|
510
|
-
"type": 1,
|
511
|
-
"value": "a_singular"
|
512
|
-
}]
|
513
|
-
}), typeName !== null ? /*#__PURE__*/React__default["default"].createElement("span", {
|
514
|
-
className: "text-body-secondary"
|
515
|
-
}, " (", typeName, ")") : null),
|
516
|
-
small: true
|
517
|
-
}), /*#__PURE__*/React__default["default"].createElement("div", {
|
518
|
-
className: "container-sm py-4"
|
519
|
-
}, /*#__PURE__*/React__default["default"].createElement("div", {
|
520
|
-
className: "row justify-content-center"
|
521
|
-
}, /*#__PURE__*/React__default["default"].createElement("div", {
|
522
|
-
className: "col-12 col-md-8 col-lg-7"
|
523
|
-
}, editItem !== null ? /*#__PURE__*/React__default["default"].createElement(ResourceForm, {
|
524
|
-
resource: resource,
|
525
|
-
item: editItem,
|
526
|
-
type: type,
|
527
|
-
onSuccess: onSuccess
|
528
|
-
}) : null)))));
|
529
|
-
};
|
530
|
-
ResourceEditPage.propTypes = propTypes$c;
|
531
|
-
ResourceEditPage.defaultProps = defaultProps$b;
|
532
|
-
var ResourceEdit = ResourceEditPage;
|
533
|
-
|
534
|
-
var propTypes$b = {
|
535
|
-
resource: core.PropTypes.resource.isRequired,
|
536
|
-
className: PropTypes__default["default"].string
|
537
|
-
};
|
538
|
-
var defaultProps$a = {
|
539
|
-
className: null
|
540
|
-
};
|
541
|
-
var ResourceCreateButtom = function ResourceCreateButtom(_ref) {
|
542
|
-
var resource = _ref.resource,
|
543
|
-
className = _ref.className;
|
544
|
-
var _resource$types = resource.types,
|
545
|
-
types = _resource$types === void 0 ? null : _resource$types;
|
546
|
-
// const intl = useIntl();
|
547
|
-
var resourceRoute = hooks.useResourceUrlGenerator(resource);
|
548
|
-
var resourceValues = intl.useResourceValues(resource);
|
549
|
-
var _useState = React.useState(false),
|
550
|
-
_useState2 = _slicedToArray__default["default"](_useState, 2),
|
551
|
-
dropdownOpened = _useState2[0],
|
552
|
-
setDropdownOpened = _useState2[1];
|
553
|
-
var onClickDropdown = React.useCallback(function (e) {
|
554
|
-
e.preventDefault();
|
555
|
-
e.stopPropagation();
|
556
|
-
setDropdownOpened(!dropdownOpened);
|
557
|
-
}, [setDropdownOpened, dropdownOpened]);
|
558
|
-
var finalTypes = types !== null ? types.filter(function (_ref2) {
|
559
|
-
var _ref2$settings = _ref2.settings,
|
560
|
-
_ref2$settings2 = _ref2$settings === void 0 ? {} : _ref2$settings,
|
561
|
-
_ref2$settings2$canCr = _ref2$settings2.canCreate,
|
562
|
-
canCreate = _ref2$settings2$canCr === void 0 ? true : _ref2$settings2$canCr;
|
563
|
-
return canCreate;
|
564
|
-
}) : null;
|
565
|
-
var hasMultipleTypes = finalTypes !== null && finalTypes.length > 1;
|
566
|
-
var onDropdownClickOutside = React.useCallback(function () {
|
567
|
-
if (dropdownOpened) {
|
568
|
-
setDropdownOpened(false);
|
569
|
-
}
|
570
|
-
}, [setDropdownOpened, dropdownOpened]);
|
571
|
-
var button = /*#__PURE__*/React__default["default"].createElement(Button__default["default"], {
|
572
|
-
href: !hasMultipleTypes ? "".concat(resourceRoute('create')).concat(finalTypes !== null && finalTypes.length === 1 ? "?type=".concat(finalTypes[0].id) : '') : '#',
|
573
|
-
size: "lg",
|
574
|
-
theme: "primary",
|
575
|
-
className: classNames__default["default"]([_defineProperty__default["default"]({
|
576
|
-
'dropdown-toggle': hasMultipleTypes
|
577
|
-
}, className, className !== null)]),
|
578
|
-
onClick: hasMultipleTypes ? onClickDropdown : null
|
579
|
-
}, /*#__PURE__*/React__default["default"].createElement(reactIntl.FormattedMessage, {
|
580
|
-
values: resourceValues,
|
581
|
-
id: "l+ddDH",
|
582
|
-
defaultMessage: [{
|
583
|
-
"type": 0,
|
584
|
-
"value": "Create "
|
585
|
-
}, {
|
586
|
-
"type": 1,
|
587
|
-
"value": "a_singular"
|
588
|
-
}]
|
589
|
-
}));
|
590
|
-
return hasMultipleTypes ? /*#__PURE__*/React__default["default"].createElement("div", {
|
591
|
-
className: classNames__default["default"](['dropdown', {
|
592
|
-
show: dropdownOpened
|
593
|
-
}])
|
594
|
-
}, button, /*#__PURE__*/React__default["default"].createElement(Dropdown__default["default"], {
|
595
|
-
items: finalTypes.map(function (it) {
|
596
|
-
return {
|
597
|
-
id: it.id,
|
598
|
-
label: it.name,
|
599
|
-
href: "".concat(resourceRoute('create'), "?type=").concat(it.id)
|
600
|
-
};
|
601
|
-
}),
|
602
|
-
visible: dropdownOpened,
|
603
|
-
align: "end",
|
604
|
-
onClickOutside: onDropdownClickOutside
|
605
|
-
})) : button;
|
606
|
-
};
|
607
|
-
ResourceCreateButtom.propTypes = propTypes$b;
|
608
|
-
ResourceCreateButtom.defaultProps = defaultProps$a;
|
609
|
-
var ResourceCreateButton = ResourceCreateButtom;
|
610
|
-
|
611
|
-
var _excluded$3 = ["resource"];
|
612
|
-
var propTypes$a = {
|
613
|
-
resource: PropTypes__default["default"].oneOfType([PropTypes__default["default"].string, PropTypes__default["default"].shape({
|
614
|
-
id: PropTypes__default["default"].string
|
615
|
-
})]).isRequired
|
616
|
-
};
|
617
|
-
|
618
|
-
// Kept for backward compatibility with exports
|
619
|
-
var ResourceItemsList = function ResourceItemsList(_ref) {
|
620
|
-
var resource = _ref.resource,
|
621
|
-
props = _objectWithoutProperties__default["default"](_ref, _excluded$3);
|
622
|
-
var _ref2 = isObject__default["default"](resource) ? resource : {
|
623
|
-
id: resource
|
624
|
-
},
|
625
|
-
_ref2$id = _ref2.id,
|
626
|
-
finalResource = _ref2$id === void 0 ? null : _ref2$id;
|
627
|
-
return /*#__PURE__*/React__default["default"].createElement(ResourceList__default["default"], Object.assign({
|
628
|
-
resource: finalResource
|
629
|
-
}, props));
|
630
|
-
};
|
631
|
-
ResourceItemsList.propTypes = propTypes$a;
|
632
|
-
var ResourceItemsList$1 = ResourceItemsList;
|
633
|
-
|
634
|
-
var _excluded$2 = ["id", "component"];
|
635
|
-
var propTypes$9 = {
|
636
|
-
resource: core.PropTypes.resource.isRequired,
|
637
|
-
defaultActions: PropTypes__default["default"].arrayOf(PropTypes__default["default"].oneOfType([PropTypes__default["default"].string, PropTypes__default["default"].object])) // eslint-disable-line react/forbid-prop-types
|
638
|
-
};
|
639
|
-
|
640
|
-
var defaultProps$9 = {
|
641
|
-
defaultActions: ['create']
|
642
|
-
};
|
643
|
-
var ResourceIndexPage = function ResourceIndexPage(_ref) {
|
644
|
-
var resource = _ref.resource,
|
645
|
-
defaultActions = _ref.defaultActions;
|
646
|
-
var _usePanneauColorSchem = contexts.usePanneauColorScheme(),
|
647
|
-
_usePanneauColorSchem2 = _usePanneauColorSchem.theme,
|
648
|
-
theme = _usePanneauColorSchem2 === void 0 ? null : _usePanneauColorSchem2;
|
649
|
-
var name = resource.name,
|
650
|
-
_resource$settings = resource.settings,
|
651
|
-
settings = _resource$settings === void 0 ? {} : _resource$settings,
|
652
|
-
_resource$index = resource.index,
|
653
|
-
index = _resource$index === void 0 ? {} : _resource$index;
|
654
|
-
var _ref2 = settings || {},
|
655
|
-
_ref2$canCreate = _ref2.canCreate,
|
656
|
-
canCreate = _ref2$canCreate === void 0 ? true : _ref2$canCreate,
|
657
|
-
_ref2$indexIsPaginate = _ref2.indexIsPaginated,
|
658
|
-
paginated = _ref2$indexIsPaginate === void 0 ? false : _ref2$indexIsPaginate;
|
659
|
-
var _ref3 = index || {},
|
660
|
-
_ref3$actions = _ref3.actions,
|
661
|
-
actions = _ref3$actions === void 0 ? null : _ref3$actions;
|
662
|
-
var finalActions = React.useMemo(function () {
|
663
|
-
return (actions || defaultActions.filter(function (it) {
|
664
|
-
return it !== 'create' || canCreate;
|
665
|
-
})).map(function (it) {
|
666
|
-
return it === 'create' ? {
|
667
|
-
id: 'create',
|
668
|
-
component: ResourceCreateButton,
|
669
|
-
size: 'lg',
|
670
|
-
theme: 'primary'
|
671
|
-
} : it;
|
672
|
-
});
|
673
|
-
}, [canCreate, actions]);
|
674
|
-
var resourceValues = intl.useResourceValues(resource);
|
675
|
-
var componentsManager = contexts.useComponentsManager();
|
676
|
-
var _useLocation = routes.useLocation(),
|
677
|
-
_useLocation2 = _slicedToArray__default["default"](_useLocation, 2),
|
678
|
-
search = _useLocation2[0].search,
|
679
|
-
navigate = _useLocation2[1];
|
680
|
-
var query = React.useMemo(function () {
|
681
|
-
return queryString__default["default"].parse(search, {
|
682
|
-
arrayFormat: 'bracket'
|
683
|
-
});
|
684
|
-
}, [search]);
|
685
|
-
var listQuery = React.useMemo(function () {
|
686
|
-
return query;
|
687
|
-
}, [query]); // TODO: omit routes
|
688
|
-
var _ref4 = query || {},
|
689
|
-
_ref4$created = _ref4.created,
|
690
|
-
created = _ref4$created === void 0 ? false : _ref4$created,
|
691
|
-
_ref4$deleted = _ref4.deleted,
|
692
|
-
deleted = _ref4$deleted === void 0 ? false : _ref4$deleted;
|
693
|
-
var resourceRoute = hooks.useResourceUrlGenerator(resource);
|
694
|
-
var url = resourceRoute('index');
|
695
|
-
var onQueryChange = React.useCallback(function (submitQuery) {
|
696
|
-
var newQuery = submitQuery !== null ? Object.keys(submitQuery).reduce(function (currentQuery, key) {
|
697
|
-
var value = submitQuery[key];
|
698
|
-
return value !== null ? _objectSpread__default["default"](_objectSpread__default["default"]({}, currentQuery), {}, _defineProperty__default["default"]({}, key, value)) : currentQuery;
|
699
|
-
}, null) : null;
|
700
|
-
navigate("".concat(url).concat(newQuery !== null ? "?".concat(queryString__default["default"].stringify(newQuery, {
|
701
|
-
arrayFormat: 'bracket'
|
702
|
-
})) : ''));
|
703
|
-
}, [navigate, url, query, paginated]);
|
704
|
-
var onQueryReset = React.useCallback(function () {
|
705
|
-
var resetQuery = queryString__default["default"].stringify(null, {
|
706
|
-
arrayFormat: 'bracket'
|
707
|
-
});
|
708
|
-
navigate("".concat(url, "?").concat(resetQuery));
|
709
|
-
}, [navigate, url, paginated]);
|
710
|
-
var onClickCloseAlert = React.useCallback(function () {
|
711
|
-
navigate(url, {
|
712
|
-
replace: true
|
713
|
-
});
|
714
|
-
}, [navigate, url]);
|
715
|
-
return /*#__PURE__*/React__default["default"].createElement(contexts.ResourceProvider, {
|
716
|
-
resource: resource
|
717
|
-
}, /*#__PURE__*/React__default["default"].createElement(MainLayout$1, null, /*#__PURE__*/React__default["default"].createElement(PageHeader$1, {
|
718
|
-
title: name,
|
719
|
-
actions: finalActions.length > 0 ? /*#__PURE__*/React__default["default"].createElement("div", {
|
720
|
-
className: "d-flex align-items-center"
|
721
|
-
}, finalActions.map(function (_ref5) {
|
722
|
-
var id = _ref5.id,
|
723
|
-
_ref5$component = _ref5.component,
|
724
|
-
component = _ref5$component === void 0 ? Button__default["default"] : _ref5$component,
|
725
|
-
actionProps = _objectWithoutProperties__default["default"](_ref5, _excluded$2);
|
726
|
-
var ActionComponent = isString__default["default"](component) ? componentsManager.getComponent(component) : component;
|
727
|
-
return ActionComponent !== null ? /*#__PURE__*/React__default["default"].createElement(ActionComponent, Object.assign({
|
728
|
-
key: "action-".concat(id)
|
729
|
-
}, actionProps, ActionComponent !== Button__default["default"] ? {
|
730
|
-
resource: resource,
|
731
|
-
query: query,
|
732
|
-
onQueryChange: onQueryChange
|
733
|
-
} : {})) : null;
|
734
|
-
})) : null
|
735
|
-
}), /*#__PURE__*/React__default["default"].createElement("div", {
|
736
|
-
className: classNames__default["default"](['container-sm py-4'])
|
737
|
-
}, created ? /*#__PURE__*/React__default["default"].createElement(Alert__default["default"], {
|
738
|
-
className: "mb-4",
|
739
|
-
onClose: onClickCloseAlert
|
740
|
-
}, /*#__PURE__*/React__default["default"].createElement(reactIntl.FormattedMessage, {
|
741
|
-
values: resourceValues,
|
742
|
-
id: "bfP/d8",
|
743
|
-
defaultMessage: [{
|
744
|
-
"type": 1,
|
745
|
-
"value": "The_singular"
|
746
|
-
}, {
|
747
|
-
"type": 0,
|
748
|
-
"value": " has been created."
|
749
|
-
}]
|
750
|
-
})) : null, deleted ? /*#__PURE__*/React__default["default"].createElement(Alert__default["default"], {
|
751
|
-
className: "mb-4",
|
752
|
-
onClose: onClickCloseAlert
|
753
|
-
}, /*#__PURE__*/React__default["default"].createElement(reactIntl.FormattedMessage, {
|
754
|
-
values: resourceValues,
|
755
|
-
id: "dkRdks",
|
756
|
-
defaultMessage: [{
|
757
|
-
"type": 1,
|
758
|
-
"value": "The_singular"
|
759
|
-
}, {
|
760
|
-
"type": 0,
|
761
|
-
"value": " has been deleted."
|
762
|
-
}]
|
763
|
-
})) : null, /*#__PURE__*/React__default["default"].createElement(ResourceItemsList$1, {
|
764
|
-
resource: resource,
|
765
|
-
baseUrl: url,
|
766
|
-
query: listQuery,
|
767
|
-
paginated: paginated,
|
768
|
-
onQueryChange: onQueryChange,
|
769
|
-
onQueryReset: onQueryReset,
|
770
|
-
theme: theme
|
771
|
-
}))));
|
772
|
-
};
|
773
|
-
ResourceIndexPage.propTypes = propTypes$9;
|
774
|
-
ResourceIndexPage.defaultProps = defaultProps$9;
|
775
|
-
var ResourceIndex = ResourceIndexPage;
|
776
|
-
|
777
|
-
var propTypes$8 = {
|
778
|
-
resource: core.PropTypes.resource.isRequired,
|
779
|
-
itemId: PropTypes__default["default"].string.isRequired
|
780
|
-
};
|
781
|
-
var defaultProps$8 = {};
|
782
|
-
var ResourceShowPage = function ResourceShowPage(_ref) {
|
783
|
-
var resource = _ref.resource,
|
784
|
-
itemId = _ref.itemId;
|
785
|
-
var name = resource.name;
|
786
|
-
var _useResourceItem = data.useResourceItem(resource, itemId),
|
787
|
-
item = _useResourceItem.item;
|
788
|
-
var _ref2 = item || {},
|
789
|
-
_ref2$type = _ref2.type,
|
790
|
-
type = _ref2$type === void 0 ? null : _ref2$type;
|
791
|
-
return /*#__PURE__*/React__default["default"].createElement(contexts.ResourceProvider, {
|
792
|
-
resource: resource
|
793
|
-
}, /*#__PURE__*/React__default["default"].createElement(MainLayout$1, null, /*#__PURE__*/React__default["default"].createElement(PageHeader$1, {
|
794
|
-
title: "".concat(name, " #").concat(itemId),
|
795
|
-
small: true
|
796
|
-
}), /*#__PURE__*/React__default["default"].createElement("div", {
|
797
|
-
className: "container-sm py-4"
|
798
|
-
}, /*#__PURE__*/React__default["default"].createElement("div", {
|
799
|
-
className: "row justify-content-center"
|
800
|
-
}, /*#__PURE__*/React__default["default"].createElement("div", {
|
801
|
-
className: "col-12 col-md-8 col-lg-7"
|
802
|
-
}, /*#__PURE__*/React__default["default"].createElement(ResourceForm, {
|
803
|
-
resource: resource,
|
804
|
-
item: item,
|
805
|
-
type: type,
|
806
|
-
disabled: true
|
807
|
-
}))))));
|
808
|
-
};
|
809
|
-
ResourceShowPage.propTypes = propTypes$8;
|
810
|
-
ResourceShowPage.defaultProps = defaultProps$8;
|
811
|
-
var ResourceShow = ResourceShowPage;
|
812
|
-
|
813
|
-
/* eslint-disable react/jsx-props-no-spreading */
|
814
|
-
var propTypes$7 = {};
|
815
|
-
var defaultProps$7 = {};
|
816
|
-
var HomePage = function HomePage() {
|
817
|
-
var route = contexts.useUrlGenerator();
|
818
|
-
var resources = contexts.usePanneauResources();
|
819
|
-
var visibleResources = resources.filter(function (_ref) {
|
820
|
-
var _ref$settings = _ref.settings,
|
821
|
-
_ref$settings2 = _ref$settings === void 0 ? {} : _ref$settings,
|
822
|
-
_ref$settings2$hideIn = _ref$settings2.hideInNavbar,
|
823
|
-
hideInNavbar = _ref$settings2$hideIn === void 0 ? false : _ref$settings2$hideIn;
|
824
|
-
return !hideInNavbar;
|
825
|
-
});
|
826
|
-
return /*#__PURE__*/React__default["default"].createElement(MainLayout$1, null, /*#__PURE__*/React__default["default"].createElement("div", {
|
827
|
-
className: "container-sm py-4"
|
828
|
-
}, visibleResources.map(function (resource) {
|
829
|
-
var _ref2 = resource || {},
|
830
|
-
resourceId = _ref2.id;
|
831
|
-
var resourceValues = intl.useResourceValues(resource);
|
832
|
-
return /*#__PURE__*/React__default["default"].createElement(Link__default["default"], {
|
833
|
-
className: "d-block my-2",
|
834
|
-
key: "resource-link-".concat(resourceId),
|
835
|
-
href: route('resources.index', {
|
836
|
-
resource: resourceId
|
837
|
-
})
|
838
|
-
}, /*#__PURE__*/React__default["default"].createElement(reactIntl.FormattedMessage, {
|
839
|
-
values: resourceValues,
|
840
|
-
id: "FntHPK",
|
841
|
-
defaultMessage: [{
|
842
|
-
"type": 0,
|
843
|
-
"value": "View "
|
844
|
-
}, {
|
845
|
-
"type": 1,
|
846
|
-
"value": "the_plural"
|
847
|
-
}]
|
848
|
-
}));
|
849
|
-
})));
|
850
|
-
};
|
851
|
-
HomePage.propTypes = propTypes$7;
|
852
|
-
HomePage.defaultProps = defaultProps$7;
|
853
|
-
var HomePage$1 = HomePage;
|
854
|
-
|
855
|
-
var propTypes$6 = {};
|
856
|
-
var defaultProps$6 = {};
|
857
|
-
var AccountPage = function AccountPage() {
|
858
|
-
return /*#__PURE__*/React__default["default"].createElement(MainLayout$1, null, /*#__PURE__*/React__default["default"].createElement("div", {
|
859
|
-
className: "container-sm py-4"
|
860
|
-
}, "Account page"));
|
861
|
-
};
|
862
|
-
AccountPage.propTypes = propTypes$6;
|
863
|
-
AccountPage.defaultProps = defaultProps$6;
|
864
|
-
var AccountPage$1 = AccountPage;
|
865
|
-
|
866
|
-
/* eslint-disable react/jsx-props-no-spreading */
|
867
|
-
var propTypes$5 = {
|
868
|
-
className: PropTypes__default["default"].string,
|
869
|
-
onSuccess: PropTypes__default["default"].func
|
870
|
-
};
|
871
|
-
var defaultProps$5 = {
|
872
|
-
className: null,
|
873
|
-
onSuccess: null
|
874
|
-
};
|
875
|
-
var LoginForm = function LoginForm(_ref) {
|
876
|
-
var className = _ref.className,
|
877
|
-
onSuccess = _ref.onSuccess;
|
878
|
-
var url = contexts.useUrlGenerator();
|
879
|
-
var _useAuth = auth.useAuth(),
|
880
|
-
login = _useAuth.login;
|
881
|
-
var postForm = React.useCallback(function (action, _ref2) {
|
882
|
-
var email = _ref2.email,
|
883
|
-
password = _ref2.password;
|
884
|
-
return login(email, password);
|
885
|
-
}, [login]);
|
886
|
-
var FormComponents = contexts.useFormsComponents();
|
887
|
-
var FormComponent = utils.getComponentFromName('login', FormComponents);
|
888
|
-
return FormComponent !== null ? /*#__PURE__*/React__default["default"].createElement(FormComponent, {
|
889
|
-
action: url('auth.login'),
|
890
|
-
postForm: postForm,
|
891
|
-
onComplete: onSuccess,
|
892
|
-
className: className,
|
893
|
-
submitButtonLabel: /*#__PURE__*/React__default["default"].createElement(reactIntl.FormattedMessage, {
|
894
|
-
id: "g6qbbX",
|
895
|
-
defaultMessage: [{
|
896
|
-
"type": 0,
|
897
|
-
"value": "Log in"
|
898
|
-
}]
|
899
|
-
})
|
900
|
-
}) : null;
|
901
|
-
};
|
902
|
-
LoginForm.propTypes = propTypes$5;
|
903
|
-
LoginForm.defaultProps = defaultProps$5;
|
904
|
-
var LoginForm$1 = LoginForm;
|
905
|
-
|
906
|
-
var styles = {};
|
907
|
-
|
908
|
-
var propTypes$4 = {
|
909
|
-
children: PropTypes__default["default"].node.isRequired,
|
910
|
-
fullscreen: PropTypes__default["default"].bool
|
911
|
-
};
|
912
|
-
var defaultProps$4 = {
|
913
|
-
fullscreen: false
|
914
|
-
};
|
915
|
-
var GuestLayout = function GuestLayout(_ref) {
|
916
|
-
var _classNames;
|
917
|
-
var fullscreen = _ref.fullscreen,
|
918
|
-
children = _ref.children;
|
919
|
-
var _usePanneauColorSchem = contexts.usePanneauColorScheme(),
|
920
|
-
_usePanneauColorSchem2 = _usePanneauColorSchem.theme,
|
921
|
-
theme = _usePanneauColorSchem2 === void 0 ? null : _usePanneauColorSchem2,
|
922
|
-
_usePanneauColorSchem3 = _usePanneauColorSchem.background,
|
923
|
-
background = _usePanneauColorSchem3 === void 0 ? null : _usePanneauColorSchem3,
|
924
|
-
_usePanneauColorSchem4 = _usePanneauColorSchem.text,
|
925
|
-
text = _usePanneauColorSchem4 === void 0 ? null : _usePanneauColorSchem4;
|
926
|
-
return /*#__PURE__*/React__default["default"].createElement("div", {
|
927
|
-
className: classNames__default["default"]([styles.container, {
|
928
|
-
'd-flex flex-column min-vh-100': fullscreen
|
929
|
-
}]),
|
930
|
-
"data-bs-theme": theme !== null ? theme : null
|
931
|
-
}, /*#__PURE__*/React__default["default"].createElement(MainNavbar$1, {
|
932
|
-
className: classNames__default["default"](['sticky-top', 'px-3'])
|
933
|
-
}), /*#__PURE__*/React__default["default"].createElement("div", {
|
934
|
-
className: classNames__default["default"]((_classNames = {
|
935
|
-
'd-flex flex-column flex-grow-1': fullscreen
|
936
|
-
}, _defineProperty__default["default"](_classNames, "bg-".concat(background), background !== null), _defineProperty__default["default"](_classNames, "text-".concat(text), text !== null), _classNames))
|
937
|
-
}, /*#__PURE__*/React__default["default"].createElement("div", {
|
938
|
-
className: classNames__default["default"]({
|
939
|
-
'w-100 my-auto': fullscreen
|
940
|
-
})
|
941
|
-
}, children)));
|
942
|
-
};
|
943
|
-
GuestLayout.propTypes = propTypes$4;
|
944
|
-
GuestLayout.defaultProps = defaultProps$4;
|
945
|
-
var GuestLayout$1 = GuestLayout;
|
946
|
-
|
947
|
-
/* eslint-disable react/jsx-props-no-spreading */
|
948
|
-
var propTypes$3 = {};
|
949
|
-
var defaultProps$3 = {};
|
950
|
-
var LoginPage = function LoginPage() {
|
951
|
-
var route = contexts.useUrlGenerator();
|
952
|
-
// Sadly necessary to update cookies and routes correctly from the backend,
|
953
|
-
// make it post directly instead of api call
|
954
|
-
var onSuccess = React.useCallback(function () {
|
955
|
-
window.location.href = route('home');
|
956
|
-
}, [route]);
|
957
|
-
return /*#__PURE__*/React__default["default"].createElement(GuestLayout$1, {
|
958
|
-
fullscreen: true
|
959
|
-
}, /*#__PURE__*/React__default["default"].createElement("div", {
|
960
|
-
className: "container-sm py-4"
|
961
|
-
}, /*#__PURE__*/React__default["default"].createElement("div", {
|
962
|
-
className: "row justify-content-center"
|
963
|
-
}, /*#__PURE__*/React__default["default"].createElement("div", {
|
964
|
-
className: "col-12 col-sm-8 col-md-6"
|
965
|
-
}, /*#__PURE__*/React__default["default"].createElement("h1", {
|
966
|
-
className: "mb-4"
|
967
|
-
}, /*#__PURE__*/React__default["default"].createElement(reactIntl.FormattedMessage, {
|
968
|
-
id: "AeOZq+",
|
969
|
-
defaultMessage: [{
|
970
|
-
"type": 0,
|
971
|
-
"value": "Login"
|
972
|
-
}]
|
973
|
-
})), /*#__PURE__*/React__default["default"].createElement(LoginForm$1, {
|
974
|
-
onSuccess: onSuccess
|
975
|
-
})))));
|
976
|
-
};
|
977
|
-
LoginPage.propTypes = propTypes$3;
|
978
|
-
LoginPage.defaultProps = defaultProps$3;
|
979
|
-
var LoginPage$1 = LoginPage;
|
980
|
-
|
981
|
-
var messages = reactIntl.defineMessages({
|
982
|
-
metaTitle401: {
|
983
|
-
"id": "HOobY2",
|
984
|
-
"defaultMessage": [{
|
985
|
-
"type": 0,
|
986
|
-
"value": "Error 401"
|
987
|
-
}]
|
988
|
-
},
|
989
|
-
title401: {
|
990
|
-
"id": "6nwWPR",
|
991
|
-
"defaultMessage": [{
|
992
|
-
"type": 0,
|
993
|
-
"value": "Error 401"
|
994
|
-
}]
|
995
|
-
},
|
996
|
-
description401: {
|
997
|
-
"id": "82P2dS",
|
998
|
-
"defaultMessage": [{
|
999
|
-
"type": 0,
|
1000
|
-
"value": "You are not authorized to access this page."
|
1001
|
-
}]
|
1002
|
-
},
|
1003
|
-
metaTitle403: {
|
1004
|
-
"id": "+6cCPF",
|
1005
|
-
"defaultMessage": [{
|
1006
|
-
"type": 0,
|
1007
|
-
"value": "Error 403"
|
1008
|
-
}]
|
1009
|
-
},
|
1010
|
-
title403: {
|
1011
|
-
"id": "Pih2UO",
|
1012
|
-
"defaultMessage": [{
|
1013
|
-
"type": 0,
|
1014
|
-
"value": "Error 403"
|
1015
|
-
}]
|
1016
|
-
},
|
1017
|
-
description403: {
|
1018
|
-
"id": "8HFiMs",
|
1019
|
-
"defaultMessage": [{
|
1020
|
-
"type": 0,
|
1021
|
-
"value": "Access to this page is forbidden"
|
1022
|
-
}]
|
1023
|
-
},
|
1024
|
-
metaTitle404: {
|
1025
|
-
"id": "US/AMe",
|
1026
|
-
"defaultMessage": [{
|
1027
|
-
"type": 0,
|
1028
|
-
"value": "Error 404"
|
1029
|
-
}]
|
1030
|
-
},
|
1031
|
-
title404: {
|
1032
|
-
"id": "6Ie+vL",
|
1033
|
-
"defaultMessage": [{
|
1034
|
-
"type": 0,
|
1035
|
-
"value": "Error 404"
|
1036
|
-
}]
|
1037
|
-
},
|
1038
|
-
description404: {
|
1039
|
-
"id": "wKPI1y",
|
1040
|
-
"defaultMessage": [{
|
1041
|
-
"type": 0,
|
1042
|
-
"value": "This page doesn’t exist"
|
1043
|
-
}]
|
1044
|
-
},
|
1045
|
-
metaTitle500: {
|
1046
|
-
"id": "ejwBSw",
|
1047
|
-
"defaultMessage": [{
|
1048
|
-
"type": 0,
|
1049
|
-
"value": "Error 500"
|
1050
|
-
}]
|
1051
|
-
},
|
1052
|
-
title500: {
|
1053
|
-
"id": "owrRHV",
|
1054
|
-
"defaultMessage": [{
|
1055
|
-
"type": 0,
|
1056
|
-
"value": "Error 500"
|
1057
|
-
}]
|
1058
|
-
},
|
1059
|
-
description500: {
|
1060
|
-
"id": "yALN2p",
|
1061
|
-
"defaultMessage": [{
|
1062
|
-
"type": 0,
|
1063
|
-
"value": "There was an error"
|
1064
|
-
}]
|
1065
|
-
},
|
1066
|
-
gotoHome: {
|
1067
|
-
"id": "hezcGl",
|
1068
|
-
"defaultMessage": [{
|
1069
|
-
"type": 0,
|
1070
|
-
"value": "Go to home page"
|
1071
|
-
}]
|
1072
|
-
}
|
1073
|
-
});
|
1074
|
-
var propTypes$2 = {
|
1075
|
-
statusCode: core.PropTypes.statusCode
|
1076
|
-
};
|
1077
|
-
var defaultProps$2 = {
|
1078
|
-
statusCode: null
|
1079
|
-
};
|
1080
|
-
var ErrorPage = function ErrorPage(_ref) {
|
1081
|
-
var statusCode = _ref.statusCode;
|
1082
|
-
return /*#__PURE__*/React__default["default"].createElement(GuestLayout$1, {
|
1083
|
-
fullscreen: true
|
1084
|
-
}, /*#__PURE__*/React__default["default"].createElement("div", {
|
1085
|
-
className: "container-sm py-4"
|
1086
|
-
}, /*#__PURE__*/React__default["default"].createElement("div", {
|
1087
|
-
className: "row justify-content-center"
|
1088
|
-
}, /*#__PURE__*/React__default["default"].createElement("div", {
|
1089
|
-
className: "col-12 col-sm-8 col-md-6"
|
1090
|
-
}, /*#__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)]))))));
|
1091
|
-
};
|
1092
|
-
ErrorPage.propTypes = propTypes$2;
|
1093
|
-
ErrorPage.defaultProps = defaultProps$2;
|
1094
|
-
var ErrorPage$1 = ErrorPage;
|
1095
|
-
|
1096
|
-
var _excluded$1 = ["path", "component"];
|
1097
|
-
var createResourceRoutes = function createResourceRoutes(resource, _ref) {
|
1098
|
-
var route = _ref.route,
|
1099
|
-
componentsManager = _ref.componentsManager,
|
1100
|
-
_ref$pages = _ref.pages,
|
1101
|
-
pages = _ref$pages === void 0 ? {} : _ref$pages;
|
1102
|
-
var resourceId = resource.id,
|
1103
|
-
_resource$pages = resource.pages,
|
1104
|
-
resourcePages = _resource$pages === void 0 ? {} : _resource$pages,
|
1105
|
-
_resource$extraRoutes = resource.extraRoutes,
|
1106
|
-
extraRoutes = _resource$extraRoutes === void 0 ? [] : _resource$extraRoutes;
|
1107
|
-
|
1108
|
-
// Load custom pages from resource
|
1109
|
-
var _ref2 = pages || {},
|
1110
|
-
_ref2$index = _ref2.index,
|
1111
|
-
indexPage = _ref2$index === void 0 ? null : _ref2$index,
|
1112
|
-
_ref2$show = _ref2.show,
|
1113
|
-
showPage = _ref2$show === void 0 ? null : _ref2$show,
|
1114
|
-
_ref2$create = _ref2.create,
|
1115
|
-
createPage = _ref2$create === void 0 ? null : _ref2$create,
|
1116
|
-
_ref2$edit = _ref2.edit,
|
1117
|
-
editPage = _ref2$edit === void 0 ? null : _ref2$edit,
|
1118
|
-
_ref2$delete = _ref2["delete"],
|
1119
|
-
deletePage = _ref2$delete === void 0 ? null : _ref2$delete;
|
1120
|
-
var _ref3 = resourcePages || {},
|
1121
|
-
_ref3$index = _ref3.index,
|
1122
|
-
resourceIndexPage = _ref3$index === void 0 ? null : _ref3$index,
|
1123
|
-
_ref3$show = _ref3.show,
|
1124
|
-
resourceShowPage = _ref3$show === void 0 ? null : _ref3$show,
|
1125
|
-
_ref3$create = _ref3.create,
|
1126
|
-
resourceCreatePage = _ref3$create === void 0 ? null : _ref3$create,
|
1127
|
-
_ref3$edit = _ref3.edit,
|
1128
|
-
resourceEditPage = _ref3$edit === void 0 ? null : _ref3$edit,
|
1129
|
-
_ref3$delete = _ref3["delete"],
|
1130
|
-
resourceDeletePage = _ref3$delete === void 0 ? null : _ref3$delete;
|
1131
|
-
var ResourceIndexComponent = componentsManager.getComponent(resourceIndexPage === null || resourceIndexPage === void 0 ? void 0 : resourceIndexPage.component) || componentsManager.getComponent(indexPage === null || indexPage === void 0 ? void 0 : indexPage.component) || ResourceIndex;
|
1132
|
-
var ResourceShowComponent = componentsManager.getComponent(resourceShowPage === null || resourceShowPage === void 0 ? void 0 : resourceShowPage.component) || componentsManager.getComponent(showPage === null || showPage === void 0 ? void 0 : showPage.component) || ResourceShow;
|
1133
|
-
var ResourceCreateComponent = componentsManager.getComponent(resourceCreatePage === null || resourceCreatePage === void 0 ? void 0 : resourceCreatePage.component) || componentsManager.getComponent(createPage === null || createPage === void 0 ? void 0 : createPage.component) || ResourceCreate;
|
1134
|
-
var ResourceEditComponent = componentsManager.getComponent(resourceEditPage === null || resourceEditPage === void 0 ? void 0 : resourceEditPage.component) || componentsManager.getComponent(editPage === null || editPage === void 0 ? void 0 : editPage.component) || ResourceEdit;
|
1135
|
-
var ResourceDeleteComponent = componentsManager.getComponent(resourceDeletePage === null || resourceDeletePage === void 0 ? void 0 : resourceDeletePage.component) || componentsManager.getComponent(deletePage === null || deletePage === void 0 ? void 0 : deletePage.component) || ResourceDelete;
|
1136
|
-
return [/*#__PURE__*/React__default["default"].createElement(wouter.Route, {
|
1137
|
-
key: "".concat(resourceId, "-create"),
|
1138
|
-
path: route('resources.create', {
|
1139
|
-
resource: resourceId
|
1140
|
-
}),
|
1141
|
-
exact: true
|
1142
|
-
}, function () {
|
1143
|
-
return /*#__PURE__*/React__default["default"].createElement(ResourceCreateComponent, {
|
1144
|
-
resource: resource
|
1145
|
-
});
|
1146
|
-
}), /*#__PURE__*/React__default["default"].createElement(wouter.Route, {
|
1147
|
-
key: "".concat(resourceId, "-show"),
|
1148
|
-
path: route('resources.show', {
|
1149
|
-
resource: resourceId,
|
1150
|
-
id: ':id'
|
1151
|
-
})
|
1152
|
-
}, function (_ref4) {
|
1153
|
-
var _ref4$id = _ref4.id,
|
1154
|
-
id = _ref4$id === void 0 ? null : _ref4$id;
|
1155
|
-
return /*#__PURE__*/React__default["default"].createElement(ResourceShowComponent, {
|
1156
|
-
itemId: id,
|
1157
|
-
resource: resource
|
1158
|
-
});
|
1159
|
-
}), /*#__PURE__*/React__default["default"].createElement(wouter.Route, {
|
1160
|
-
key: "".concat(resourceId, "-edit"),
|
1161
|
-
path: route('resources.edit', {
|
1162
|
-
resource: resourceId,
|
1163
|
-
id: ':id'
|
1164
|
-
})
|
1165
|
-
}, function (_ref5) {
|
1166
|
-
var _ref5$id = _ref5.id,
|
1167
|
-
id = _ref5$id === void 0 ? null : _ref5$id;
|
1168
|
-
return /*#__PURE__*/React__default["default"].createElement(ResourceEditComponent, {
|
1169
|
-
itemId: id,
|
1170
|
-
resource: resource
|
1171
|
-
});
|
1172
|
-
}), /*#__PURE__*/React__default["default"].createElement(wouter.Route, {
|
1173
|
-
key: "".concat(resourceId, "-delete"),
|
1174
|
-
path: route('resources.delete', {
|
1175
|
-
resource: resourceId,
|
1176
|
-
id: ':id'
|
1177
|
-
})
|
1178
|
-
}, function (_ref6) {
|
1179
|
-
var _ref6$id = _ref6.id,
|
1180
|
-
id = _ref6$id === void 0 ? null : _ref6$id;
|
1181
|
-
return /*#__PURE__*/React__default["default"].createElement(ResourceDeleteComponent, {
|
1182
|
-
itemId: id,
|
1183
|
-
resource: resource
|
1184
|
-
});
|
1185
|
-
})].concat(_toConsumableArray__default["default"](extraRoutes.map(function (_ref7) {
|
1186
|
-
var path = _ref7.path,
|
1187
|
-
component = _ref7.component,
|
1188
|
-
pageProps = _objectWithoutProperties__default["default"](_ref7, _excluded$1);
|
1189
|
-
var RouteComponent = componentsManager.getComponent(component);
|
1190
|
-
return RouteComponent !== null ? /*#__PURE__*/React__default["default"].createElement(wouter.Route, {
|
1191
|
-
key: "route-".concat(path),
|
1192
|
-
path: path
|
1193
|
-
}, function () {
|
1194
|
-
return /*#__PURE__*/React__default["default"].createElement(RouteComponent, Object.assign({
|
1195
|
-
resource: resource
|
1196
|
-
}, pageProps));
|
1197
|
-
}) : null;
|
1198
|
-
})), [/*#__PURE__*/React__default["default"].createElement(wouter.Route, {
|
1199
|
-
key: "".concat(resourceId, "-index"),
|
1200
|
-
path: route('resources.index', {
|
1201
|
-
resource: resourceId
|
1202
|
-
})
|
1203
|
-
}, function () {
|
1204
|
-
return /*#__PURE__*/React__default["default"].createElement(ResourceIndexComponent, {
|
1205
|
-
resource: resource
|
1206
|
-
});
|
1207
|
-
})]);
|
1208
|
-
};
|
1209
|
-
var createResourceRoutes$1 = createResourceRoutes;
|
1210
|
-
|
1211
|
-
var _excluded = ["home", "login", "account", "error", "index", "show", "create", "edit", "delete"],
|
1212
|
-
_excluded2 = ["path", "route", "component"];
|
1213
|
-
var propTypes$1 = {
|
1214
|
-
statusCode: core.PropTypes.statusCode
|
1215
|
-
};
|
1216
|
-
var defaultProps$1 = {
|
1217
|
-
statusCode: null
|
1218
|
-
};
|
1219
|
-
var PanneauRoutes = function PanneauRoutes(_ref) {
|
1220
|
-
var initialStatusCode = _ref.statusCode;
|
1221
|
-
var routes$1 = contexts.useRoutes();
|
1222
|
-
var _useLocation = routes.useLocation(),
|
1223
|
-
_useLocation2 = _slicedToArray__default["default"](_useLocation, 1),
|
1224
|
-
pathname = _useLocation2[0].pathname;
|
1225
|
-
var _useState = React.useState({
|
1226
|
-
statusCode: initialStatusCode,
|
1227
|
-
pathname: pathname
|
1228
|
-
}),
|
1229
|
-
_useState2 = _slicedToArray__default["default"](_useState, 2),
|
1230
|
-
_useState2$ = _useState2[0],
|
1231
|
-
statusCode = _useState2$.statusCode,
|
1232
|
-
lastPathname = _useState2$.pathname,
|
1233
|
-
setInitialRequest = _useState2[1];
|
1234
|
-
var user = auth.useUser();
|
1235
|
-
var route = contexts.useUrlGenerator();
|
1236
|
-
var resources = contexts.usePanneauResources();
|
1237
|
-
var componentsManager = contexts.usePagesComponentsManager();
|
1238
|
-
React.useEffect(function () {
|
1239
|
-
if (pathname !== lastPathname) {
|
1240
|
-
setInitialRequest({
|
1241
|
-
pathname: pathname,
|
1242
|
-
statusCode: null
|
1243
|
-
});
|
1244
|
-
}
|
1245
|
-
}, [pathname, lastPathname]);
|
1246
|
-
|
1247
|
-
// Custom Pages
|
1248
|
-
var _usePanneau = contexts.usePanneau(),
|
1249
|
-
_usePanneau$pages = _usePanneau.pages,
|
1250
|
-
pages = _usePanneau$pages === void 0 ? null : _usePanneau$pages,
|
1251
|
-
routesDefinition = _usePanneau.routes;
|
1252
|
-
var _ref2 = pages || {},
|
1253
|
-
_ref2$home = _ref2.home,
|
1254
|
-
homePage = _ref2$home === void 0 ? null : _ref2$home,
|
1255
|
-
_ref2$login = _ref2.login,
|
1256
|
-
loginPage = _ref2$login === void 0 ? null : _ref2$login,
|
1257
|
-
_ref2$account = _ref2.account,
|
1258
|
-
accountPage = _ref2$account === void 0 ? null : _ref2$account,
|
1259
|
-
_ref2$error = _ref2.error,
|
1260
|
-
errorPage = _ref2$error === void 0 ? null : _ref2$error;
|
1261
|
-
_ref2.index;
|
1262
|
-
_ref2.show;
|
1263
|
-
_ref2.create;
|
1264
|
-
_ref2.edit;
|
1265
|
-
_ref2["delete"];
|
1266
|
-
var otherPages = _objectWithoutProperties__default["default"](_ref2, _excluded);
|
1267
|
-
var customRoutes = React.useMemo(function () {
|
1268
|
-
return [].concat(_toConsumableArray__default["default"](Object.keys(routesDefinition).filter(function (key) {
|
1269
|
-
return key.match(/^(resources\.|auth\.)/) === null && key !== 'home' && key !== 'account';
|
1270
|
-
}).filter(function (key) {
|
1271
|
-
var routeDef = routesDefinition[key];
|
1272
|
-
return isObject__default["default"](routeDef) && typeof routeDef.component !== 'undefined' && typeof routeDef.path !== 'undefined';
|
1273
|
-
}).map(function (key) {
|
1274
|
-
return routesDefinition[key];
|
1275
|
-
})), _toConsumableArray__default["default"](Object.keys(otherPages).map(function (key) {
|
1276
|
-
return otherPages[key];
|
1277
|
-
}).filter(function (_ref3) {
|
1278
|
-
var _ref3$path = _ref3.path,
|
1279
|
-
path = _ref3$path === void 0 ? null : _ref3$path,
|
1280
|
-
_ref3$route = _ref3.route,
|
1281
|
-
pageRoute = _ref3$route === void 0 ? null : _ref3$route;
|
1282
|
-
return path !== null || pageRoute !== null;
|
1283
|
-
})));
|
1284
|
-
}, [routesDefinition, otherPages]);
|
1285
|
-
var HomeComponent = componentsManager.getComponent(homePage === null || homePage === void 0 ? void 0 : homePage.component) || HomePage$1;
|
1286
|
-
var LoginComponent = componentsManager.getComponent(loginPage === null || loginPage === void 0 ? void 0 : loginPage.component) || LoginPage$1;
|
1287
|
-
var AccountComponent = componentsManager.getComponent(accountPage === null || accountPage === void 0 ? void 0 : accountPage.component) || AccountPage$1;
|
1288
|
-
var ErrorComponent = componentsManager.getComponent(errorPage === null || errorPage === void 0 ? void 0 : errorPage.component) || ErrorPage$1;
|
1289
|
-
|
1290
|
-
// If there is an error status code
|
1291
|
-
if (statusCode !== null) {
|
1292
|
-
return /*#__PURE__*/React__default["default"].createElement(ErrorComponent, Object.assign({
|
1293
|
-
statusCode: statusCode
|
1294
|
-
}, errorPage));
|
1295
|
-
}
|
1296
|
-
|
1297
|
-
// If user is unauthenticated
|
1298
|
-
if (user === null) {
|
1299
|
-
return /*#__PURE__*/React__default["default"].createElement(wouter.Switch, null, /*#__PURE__*/React__default["default"].createElement(wouter.Route, {
|
1300
|
-
path: routes$1['auth.login']
|
1301
|
-
}, /*#__PURE__*/React__default["default"].createElement(LoginComponent, loginPage)), /*#__PURE__*/React__default["default"].createElement(wouter.Route, null, /*#__PURE__*/React__default["default"].createElement(wouter.Redirect, {
|
1302
|
-
to: "".concat(route('auth.login'), "?next=").concat(encodeURIComponent(pathname)),
|
1303
|
-
replace: true
|
1304
|
-
})));
|
1305
|
-
}
|
1306
|
-
|
1307
|
-
// Normal routes
|
1308
|
-
return /*#__PURE__*/React__default["default"].createElement(wouter.Switch, null, user !== null ? /*#__PURE__*/React__default["default"].createElement(wouter.Route, {
|
1309
|
-
path: routes$1['auth.login']
|
1310
|
-
}, /*#__PURE__*/React__default["default"].createElement(wouter.Redirect, {
|
1311
|
-
to: routes$1.home,
|
1312
|
-
replace: true
|
1313
|
-
})) : null, resources.map(function (resource) {
|
1314
|
-
var _ref4 = resource || {},
|
1315
|
-
resourceId = _ref4.id;
|
1316
|
-
return /*#__PURE__*/React__default["default"].createElement(React.Fragment, {
|
1317
|
-
key: "resource-".concat(resourceId)
|
1318
|
-
}, createResourceRoutes$1(resource, {
|
1319
|
-
route: route,
|
1320
|
-
componentsManager: componentsManager,
|
1321
|
-
pages: pages
|
1322
|
-
}));
|
1323
|
-
}), /*#__PURE__*/React__default["default"].createElement(wouter.Route, {
|
1324
|
-
path: routes$1.account
|
1325
|
-
}, /*#__PURE__*/React__default["default"].createElement(AccountComponent, accountPage)), customRoutes.map(function (_ref5) {
|
1326
|
-
var _ref5$path = _ref5.path,
|
1327
|
-
path = _ref5$path === void 0 ? null : _ref5$path,
|
1328
|
-
_ref5$route = _ref5.route,
|
1329
|
-
pageRoute = _ref5$route === void 0 ? null : _ref5$route,
|
1330
|
-
component = _ref5.component,
|
1331
|
-
props = _objectWithoutProperties__default["default"](_ref5, _excluded2);
|
1332
|
-
var PageComponent = componentsManager.getComponent(component);
|
1333
|
-
var finalPath = path || routes$1[pageRoute];
|
1334
|
-
return PageComponent !== null ? /*#__PURE__*/React__default["default"].createElement(wouter.Route, {
|
1335
|
-
key: "custom-route-".concat(finalPath),
|
1336
|
-
path: path || routes$1[pageRoute]
|
1337
|
-
}, /*#__PURE__*/React__default["default"].createElement(PageComponent, props)) : null;
|
1338
|
-
}), /*#__PURE__*/React__default["default"].createElement(wouter.Route, {
|
1339
|
-
path: routes$1.home
|
1340
|
-
}, /*#__PURE__*/React__default["default"].createElement(HomeComponent, homePage)), /*#__PURE__*/React__default["default"].createElement(wouter.Route, null, /*#__PURE__*/React__default["default"].createElement(ErrorComponent, null)));
|
1341
|
-
};
|
1342
|
-
PanneauRoutes.propTypes = propTypes$1;
|
1343
|
-
PanneauRoutes.defaultProps = defaultProps$1;
|
1344
|
-
var Routes = PanneauRoutes;
|
1345
|
-
|
1346
|
-
var pathToRegexpMatcher = routes.createPathToRegexpMatcher();
|
1347
|
-
var propTypes = {
|
1348
|
-
definition: core.PropTypes.panneauDefinition.isRequired,
|
1349
|
-
components: PropTypes__default["default"].oneOfType([PropTypes__default["default"].objectOf(PropTypes__default["default"].elementType), PropTypes__default["default"].objectOf(PropTypes__default["default"].objectOf(PropTypes__default["default"].elementType))]),
|
1350
|
-
user: core.PropTypes.user,
|
1351
|
-
memoryRouter: PropTypes__default["default"].bool,
|
1352
|
-
baseUrl: PropTypes__default["default"].string,
|
1353
|
-
uppy: core.PropTypes.uppy,
|
1354
|
-
statusCode: core.PropTypes.statusCode
|
1355
|
-
};
|
1356
|
-
var defaultProps = {
|
1357
|
-
components: null,
|
1358
|
-
user: null,
|
1359
|
-
memoryRouter: false,
|
1360
|
-
baseUrl: null,
|
1361
|
-
uppy: null,
|
1362
|
-
statusCode: null
|
1363
|
-
};
|
1364
|
-
var Container = function Container(_ref) {
|
1365
|
-
var definition = _ref.definition,
|
1366
|
-
components = _ref.components,
|
1367
|
-
user = _ref.user,
|
1368
|
-
memoryRouter = _ref.memoryRouter,
|
1369
|
-
baseUrl = _ref.baseUrl,
|
1370
|
-
uppy$1 = _ref.uppy,
|
1371
|
-
statusCode = _ref.statusCode;
|
1372
|
-
var _definition$intl = definition.intl,
|
1373
|
-
_definition$intl2 = _definition$intl === void 0 ? {} : _definition$intl,
|
1374
|
-
_definition$intl2$loc = _definition$intl2.locale,
|
1375
|
-
locale = _definition$intl2$loc === void 0 ? 'en' : _definition$intl2$loc,
|
1376
|
-
_definition$intl2$loc2 = _definition$intl2.locales,
|
1377
|
-
locales = _definition$intl2$loc2 === void 0 ? [] : _definition$intl2$loc2,
|
1378
|
-
_definition$routes = definition.routes,
|
1379
|
-
routes$1 = _definition$routes === void 0 ? {} : _definition$routes,
|
1380
|
-
_definition$settings = definition.settings,
|
1381
|
-
_definition$settings2 = _definition$settings === void 0 ? {} : _definition$settings,
|
1382
|
-
_definition$settings3 = _definition$settings2.memoryRouter,
|
1383
|
-
usesMemoryRouter = _definition$settings3 === void 0 ? false : _definition$settings3;
|
1384
|
-
var isMemoryRouter = memoryRouter || usesMemoryRouter || false;
|
1385
|
-
var extraMessages = React.useMemo(function () {
|
1386
|
-
var _definition$intl3 = definition.intl,
|
1387
|
-
_definition$intl4 = _definition$intl3 === void 0 ? {} : _definition$intl3,
|
1388
|
-
_definition$intl4$mes = _definition$intl4.messages,
|
1389
|
-
messages = _definition$intl4$mes === void 0 ? null : _definition$intl4$mes,
|
1390
|
-
_definition$resources = definition.resources,
|
1391
|
-
resources = _definition$resources === void 0 ? [] : _definition$resources;
|
1392
|
-
return _objectSpread__default["default"](_objectSpread__default["default"]({}, messages), resources.reduce(function (allMessages, _ref2) {
|
1393
|
-
var id = _ref2.id,
|
1394
|
-
_ref2$intl = _ref2.intl,
|
1395
|
-
_ref2$intl2 = _ref2$intl === void 0 ? {} : _ref2$intl,
|
1396
|
-
_ref2$intl2$messages = _ref2$intl2.messages,
|
1397
|
-
resourceMessages = _ref2$intl2$messages === void 0 ? {} : _ref2$intl2$messages;
|
1398
|
-
return _objectSpread__default["default"](_objectSpread__default["default"]({}, allMessages), Object.keys(resourceMessages).reduce(function (allResourceMessages, key) {
|
1399
|
-
return _objectSpread__default["default"](_objectSpread__default["default"]({}, allResourceMessages), {}, _defineProperty__default["default"]({}, "resources.".concat(id, ".").concat(key), resourceMessages[key]));
|
1400
|
-
}, {}));
|
1401
|
-
}, {}));
|
1402
|
-
}, [definition]);
|
1403
|
-
var onUnauthorized = React.useCallback(function () {
|
1404
|
-
window.location.href = baseUrl;
|
1405
|
-
}, [baseUrl]);
|
1406
|
-
var onLogout = React.useCallback(function () {
|
1407
|
-
window.location.reload();
|
1408
|
-
}, [baseUrl]);
|
1409
|
-
var memoryLocationHook = routes.useMemoryLocationHook();
|
1410
|
-
return /*#__PURE__*/React__default["default"].createElement(wouter.Router, {
|
1411
|
-
hook: isMemoryRouter ? memoryLocationHook : null,
|
1412
|
-
matcher: pathToRegexpMatcher
|
1413
|
-
}, /*#__PURE__*/React__default["default"].createElement(intl.IntlProvider, {
|
1414
|
-
locale: locale,
|
1415
|
-
locales: locales,
|
1416
|
-
extraMessages: extraMessages
|
1417
|
-
}, /*#__PURE__*/React__default["default"].createElement(contexts.PanneauProvider, {
|
1418
|
-
definition: definition
|
1419
|
-
}, /*#__PURE__*/React__default["default"].createElement(uppy.UppyProvider, uppy$1, /*#__PURE__*/React__default["default"].createElement(contexts.RoutesProvider, {
|
1420
|
-
routes: routes$1
|
1421
|
-
}, /*#__PURE__*/React__default["default"].createElement(FieldsProvider__default["default"], null, /*#__PURE__*/React__default["default"].createElement(FormsProvider__default["default"], null, /*#__PURE__*/React__default["default"].createElement(ListsProvider__default["default"], null, /*#__PURE__*/React__default["default"].createElement(DisplaysProvider__default["default"], null, /*#__PURE__*/React__default["default"].createElement(FiltersProvider__default["default"], null, /*#__PURE__*/React__default["default"].createElement(contexts.ModalProvider, null, /*#__PURE__*/React__default["default"].createElement(ModalsProvider__default["default"], null, /*#__PURE__*/React__default["default"].createElement(data.ApiProvider, {
|
1422
|
-
baseUrl: baseUrl,
|
1423
|
-
onUnauthorized: onUnauthorized
|
1424
|
-
}, /*#__PURE__*/React__default["default"].createElement(auth.AuthProvider, {
|
1425
|
-
user: user,
|
1426
|
-
onLogout: onLogout
|
1427
|
-
}, /*#__PURE__*/React__default["default"].createElement(contexts.ComponentsProvider, {
|
1428
|
-
components: components
|
1429
|
-
}, /*#__PURE__*/React__default["default"].createElement(Routes, {
|
1430
|
-
statusCode: statusCode
|
1431
|
-
}))))))))))))))));
|
1432
|
-
};
|
1433
|
-
Container.propTypes = propTypes;
|
1434
|
-
Container.defaultProps = defaultProps;
|
1435
|
-
var PanneauContainer = Container;
|
1436
|
-
|
1437
|
-
/* eslint-disable react/jsx-props-no-spreading */
|
1438
|
-
|
1439
|
-
// Kept for backward compatibility with exports
|
1440
|
-
var ResourceFilters = function ResourceFilters(props) {
|
1441
|
-
return /*#__PURE__*/React__default["default"].createElement(Filters__default["default"], props);
|
1442
|
-
};
|
1443
|
-
var ResourceFilters$1 = ResourceFilters;
|
1444
|
-
|
1445
|
-
exports.GuestLayout = GuestLayout$1;
|
1446
|
-
exports.MainLayout = MainLayout$1;
|
1447
|
-
exports.PageHeader = PageHeader$1;
|
1448
|
-
exports.ResourceFilters = ResourceFilters$1;
|
1449
|
-
exports.ResourceForm = ResourceForm;
|
1450
|
-
exports.ResourceItemsList = ResourceItemsList$1;
|
1451
|
-
exports["default"] = PanneauContainer;
|