@panneau/core 1.0.0-y.0 → 1.0.3-alpha.1
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/contexts.js +139 -94
- package/es/hooks.js +35 -14
- package/es/index.js +43 -11
- package/es/utils.js +86 -71
- package/lib/contexts.js +338 -293
- package/lib/hooks.js +82 -61
- package/lib/index.js +193 -160
- package/lib/utils.js +107 -93
- package/package.json +24 -23
package/es/contexts.js
CHANGED
|
@@ -13,7 +13,7 @@ import { loadGoogleApi, loadGoogleMaps } from '@folklore/services';
|
|
|
13
13
|
import { useIntl } from 'react-intl';
|
|
14
14
|
import { getDisplayName } from '@panneau/core/utils';
|
|
15
15
|
import _objectWithoutProperties from '@babel/runtime/helpers/objectWithoutProperties';
|
|
16
|
-
import { generatePath,
|
|
16
|
+
import { generatePath, useNavigate } from 'react-router';
|
|
17
17
|
import { TrackingContext, TrackingContainer } from '@folklore/tracking';
|
|
18
18
|
export { TrackingContext } from '@folklore/tracking';
|
|
19
19
|
import { v1 } from 'uuid';
|
|
@@ -24,6 +24,7 @@ var FORMS_NAMESPACE = 'forms';
|
|
|
24
24
|
var FILTERS_NAMESPACE = 'filters';
|
|
25
25
|
var LISTS_NAMESPACE = 'lists';
|
|
26
26
|
var DISPLAYS_NAMESPACE = 'displays';
|
|
27
|
+
var PAGES_NAMESPACE = 'pages';
|
|
27
28
|
var APP_NAMESPACE = 'app';
|
|
28
29
|
var ComponentsContext = /*#__PURE__*/React.createContext(null);
|
|
29
30
|
/**
|
|
@@ -147,6 +148,21 @@ var useDisplayComponent = function useDisplayComponent(name) {
|
|
|
147
148
|
var defaultComponent = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : null;
|
|
148
149
|
return useComponent(name, defaultComponent, DISPLAYS_NAMESPACE);
|
|
149
150
|
};
|
|
151
|
+
/**
|
|
152
|
+
* Pages hooks
|
|
153
|
+
*/
|
|
154
|
+
|
|
155
|
+
var usePagesComponentsManager = function usePagesComponentsManager() {
|
|
156
|
+
return useComponentsManager(PAGES_NAMESPACE);
|
|
157
|
+
};
|
|
158
|
+
var usePagesComponents = function usePagesComponents() {
|
|
159
|
+
var defaultComponents = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};
|
|
160
|
+
return useComponents(PAGES_NAMESPACE, defaultComponents);
|
|
161
|
+
};
|
|
162
|
+
var usePageComponent = function usePageComponent(name) {
|
|
163
|
+
var defaultComponent = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : null;
|
|
164
|
+
return useComponent(name, defaultComponent, PAGES_NAMESPACE);
|
|
165
|
+
};
|
|
150
166
|
/**
|
|
151
167
|
* App hooks
|
|
152
168
|
*/
|
|
@@ -233,6 +249,14 @@ var toggle = PropTypes.shape({
|
|
|
233
249
|
label: PropTypes.string
|
|
234
250
|
});
|
|
235
251
|
PropTypes.arrayOf(toggle);
|
|
252
|
+
var tableColumn = PropTypes.shape({
|
|
253
|
+
id: PropTypes.string,
|
|
254
|
+
component: PropTypes.string,
|
|
255
|
+
path: PropTypes.string,
|
|
256
|
+
field: PropTypes.string,
|
|
257
|
+
columnClassName: PropTypes.string
|
|
258
|
+
});
|
|
259
|
+
PropTypes.arrayOf(tableColumn);
|
|
236
260
|
/**
|
|
237
261
|
* Panneau Definitions
|
|
238
262
|
*/
|
|
@@ -244,6 +268,7 @@ var routes = PropTypes.shape({
|
|
|
244
268
|
'resources.show': PropTypes.string.isRequired,
|
|
245
269
|
'resources.edit': PropTypes.string.isRequired,
|
|
246
270
|
'resources.update': PropTypes.string.isRequired,
|
|
271
|
+
'resources.delete': PropTypes.string.isRequired,
|
|
247
272
|
'resources.destroy': PropTypes.string.isRequired
|
|
248
273
|
});
|
|
249
274
|
var intl = PropTypes.shape({
|
|
@@ -256,10 +281,10 @@ var page = PropTypes.shape({
|
|
|
256
281
|
});
|
|
257
282
|
var pages = PropTypes.objectOf(page);
|
|
258
283
|
var field = PropTypes.shape({
|
|
259
|
-
|
|
260
|
-
|
|
261
|
-
component: PropTypes.string
|
|
262
|
-
label: PropTypes.
|
|
284
|
+
name: PropTypes.string.isRequired,
|
|
285
|
+
type: PropTypes.string,
|
|
286
|
+
component: PropTypes.string,
|
|
287
|
+
label: PropTypes.node
|
|
263
288
|
});
|
|
264
289
|
var fields = PropTypes.arrayOf(field);
|
|
265
290
|
var form = PropTypes.shape({
|
|
@@ -270,11 +295,10 @@ var form = PropTypes.shape({
|
|
|
270
295
|
PropTypes.arrayOf(form);
|
|
271
296
|
var resource = PropTypes.shape({
|
|
272
297
|
id: PropTypes.string.isRequired,
|
|
273
|
-
|
|
298
|
+
name: PropTypes.string.isRequired,
|
|
274
299
|
intl: intl,
|
|
275
300
|
fields: fields,
|
|
276
301
|
forms: PropTypes.shape({}),
|
|
277
|
-
has_routes: PropTypes.bool,
|
|
278
302
|
shows_in_navbar: PropTypes.bool
|
|
279
303
|
});
|
|
280
304
|
var resources = PropTypes.arrayOf(resource);
|
|
@@ -311,6 +335,11 @@ var formError = PropTypes.shape({
|
|
|
311
335
|
message: PropTypes.string
|
|
312
336
|
});
|
|
313
337
|
PropTypes.arrayOf(formError);
|
|
338
|
+
PropTypes.shape({
|
|
339
|
+
tus: PropTypes.object
|
|
340
|
+
}); // eslint-disable-line
|
|
341
|
+
|
|
342
|
+
PropTypes.string;
|
|
314
343
|
|
|
315
344
|
/* eslint-disable react/jsx-props-no-spreading */
|
|
316
345
|
var DefinitionContext = /*#__PURE__*/React.createContext(null);
|
|
@@ -1063,14 +1092,16 @@ var useUrlGenerator = function useUrlGenerator() {
|
|
|
1063
1092
|
};
|
|
1064
1093
|
var useRoutePush = function useRoutePush() {
|
|
1065
1094
|
var url = useUrlGenerator();
|
|
1066
|
-
var
|
|
1095
|
+
var navigate = useNavigate();
|
|
1067
1096
|
var push = useCallback(function (route, data) {
|
|
1068
1097
|
for (var _len = arguments.length, args = new Array(_len > 2 ? _len - 2 : 0), _key = 2; _key < _len; _key++) {
|
|
1069
1098
|
args[_key - 2] = arguments[_key];
|
|
1070
1099
|
}
|
|
1071
1100
|
|
|
1072
1101
|
if (isString(route)) {
|
|
1073
|
-
|
|
1102
|
+
var _history;
|
|
1103
|
+
|
|
1104
|
+
(_history = history).push.apply(_history, [url(route, data)].concat(args));
|
|
1074
1105
|
} else {
|
|
1075
1106
|
var _ref = route || {},
|
|
1076
1107
|
_ref$pathname = _ref.pathname,
|
|
@@ -1078,20 +1109,20 @@ var useRoutePush = function useRoutePush() {
|
|
|
1078
1109
|
_ref$search = _ref.search,
|
|
1079
1110
|
search = _ref$search === void 0 ? null : _ref$search;
|
|
1080
1111
|
|
|
1081
|
-
|
|
1112
|
+
navigate.apply(void 0, [{
|
|
1082
1113
|
pathname: url(pathname, data),
|
|
1083
1114
|
search: search
|
|
1084
1115
|
}].concat(args));
|
|
1085
1116
|
}
|
|
1086
|
-
}, [
|
|
1117
|
+
}, [navigate, url]);
|
|
1087
1118
|
return push;
|
|
1088
1119
|
};
|
|
1089
1120
|
var useRouteBack = function useRouteBack() {
|
|
1090
1121
|
var url = useUrlGenerator();
|
|
1091
|
-
var
|
|
1122
|
+
var navigate = useNavigate();
|
|
1092
1123
|
var back = useCallback(function () {
|
|
1093
|
-
return
|
|
1094
|
-
}, [
|
|
1124
|
+
return navigate(-1);
|
|
1125
|
+
}, [navigate, url]);
|
|
1095
1126
|
return back;
|
|
1096
1127
|
};
|
|
1097
1128
|
var propTypes$2 = {
|
|
@@ -1175,7 +1206,7 @@ var useUppyCore = function useUppyCore() {
|
|
|
1175
1206
|
}
|
|
1176
1207
|
|
|
1177
1208
|
import('@uppy/core').then(function (_ref) {
|
|
1178
|
-
var Uppy = _ref
|
|
1209
|
+
var Uppy = _ref["default"];
|
|
1179
1210
|
packageCache = Uppy;
|
|
1180
1211
|
|
|
1181
1212
|
if (!canceled) {
|
|
@@ -1251,71 +1282,6 @@ var _excluded$2 = ["default"];
|
|
|
1251
1282
|
|
|
1252
1283
|
var packagesCache$1 = {};
|
|
1253
1284
|
var defaultPackagesMap$1 = {
|
|
1254
|
-
transloadit: function transloadit() {
|
|
1255
|
-
return import('@uppy/transloadit');
|
|
1256
|
-
},
|
|
1257
|
-
tus: function tus() {
|
|
1258
|
-
return import('@uppy/tus');
|
|
1259
|
-
},
|
|
1260
|
-
xhr: function xhr() {
|
|
1261
|
-
return import('@uppy/xhr-upload');
|
|
1262
|
-
}
|
|
1263
|
-
};
|
|
1264
|
-
|
|
1265
|
-
var useUppyTransport = function useUppyTransport(transport) {
|
|
1266
|
-
var _ref = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {},
|
|
1267
|
-
_ref$packagesMap = _ref.packagesMap,
|
|
1268
|
-
packagesMap = _ref$packagesMap === void 0 ? defaultPackagesMap$1 : _ref$packagesMap;
|
|
1269
|
-
|
|
1270
|
-
// transport
|
|
1271
|
-
var _useState = useState({
|
|
1272
|
-
"package": packagesCache$1[transport] || null
|
|
1273
|
-
}),
|
|
1274
|
-
_useState2 = _slicedToArray(_useState, 2),
|
|
1275
|
-
loadedPackage = _useState2[0]["package"],
|
|
1276
|
-
setLoadedPackage = _useState2[1];
|
|
1277
|
-
|
|
1278
|
-
var packageLoader = packagesMap[transport] || null;
|
|
1279
|
-
useEffect(function () {
|
|
1280
|
-
var canceled = false;
|
|
1281
|
-
|
|
1282
|
-
if (loadedPackage !== null || packageLoader === null) {
|
|
1283
|
-
return function () {
|
|
1284
|
-
canceled = true;
|
|
1285
|
-
};
|
|
1286
|
-
}
|
|
1287
|
-
|
|
1288
|
-
packageLoader().then(function (_ref2) {
|
|
1289
|
-
var pack = _ref2["default"],
|
|
1290
|
-
others = _objectWithoutProperties(_ref2, _excluded$2);
|
|
1291
|
-
|
|
1292
|
-
var dep = Object.keys(others).reduce(function (map, key) {
|
|
1293
|
-
map[key] = others[key]; // eslint-disable-line no-param-reassign
|
|
1294
|
-
|
|
1295
|
-
return map;
|
|
1296
|
-
}, pack);
|
|
1297
|
-
packagesCache$1[transport] = dep;
|
|
1298
|
-
|
|
1299
|
-
if (!canceled) {
|
|
1300
|
-
setLoadedPackage({
|
|
1301
|
-
"package": dep
|
|
1302
|
-
});
|
|
1303
|
-
}
|
|
1304
|
-
});
|
|
1305
|
-
return function () {
|
|
1306
|
-
canceled = true;
|
|
1307
|
-
};
|
|
1308
|
-
}, [packageLoader, loadedPackage, setLoadedPackage]);
|
|
1309
|
-
return loadedPackage;
|
|
1310
|
-
};
|
|
1311
|
-
|
|
1312
|
-
var _excluded$1 = ["default"];
|
|
1313
|
-
/**
|
|
1314
|
-
* Locale loader
|
|
1315
|
-
*/
|
|
1316
|
-
|
|
1317
|
-
var packagesCache = {};
|
|
1318
|
-
var defaultPackagesMap = {
|
|
1319
1285
|
webcam: function webcam() {
|
|
1320
1286
|
return import('@uppy/webcam');
|
|
1321
1287
|
},
|
|
@@ -1336,12 +1302,12 @@ var defaultPackagesMap = {
|
|
|
1336
1302
|
var useUppySources = function useUppySources(sources) {
|
|
1337
1303
|
var _ref = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {},
|
|
1338
1304
|
_ref$packagesMap = _ref.packagesMap,
|
|
1339
|
-
packagesMap = _ref$packagesMap === void 0 ? defaultPackagesMap : _ref$packagesMap;
|
|
1305
|
+
packagesMap = _ref$packagesMap === void 0 ? defaultPackagesMap$1 : _ref$packagesMap;
|
|
1340
1306
|
|
|
1341
1307
|
// transport
|
|
1342
1308
|
var _useState = useState({
|
|
1343
1309
|
packages: sources.reduce(function (map, source) {
|
|
1344
|
-
var sourcePackage = packagesCache[source] || null;
|
|
1310
|
+
var sourcePackage = packagesCache$1[source] || null;
|
|
1345
1311
|
|
|
1346
1312
|
if (sourcePackage === null) {
|
|
1347
1313
|
return map;
|
|
@@ -1383,7 +1349,7 @@ var useUppySources = function useUppySources(sources) {
|
|
|
1383
1349
|
var newLoadedPackages = sourcesToLoad.reduce(function (map, source, index) {
|
|
1384
1350
|
var _packagesLoaded$index = packagesLoaded[index],
|
|
1385
1351
|
pack = _packagesLoaded$index["default"],
|
|
1386
|
-
others = _objectWithoutProperties(_packagesLoaded$index, _excluded$
|
|
1352
|
+
others = _objectWithoutProperties(_packagesLoaded$index, _excluded$2);
|
|
1387
1353
|
|
|
1388
1354
|
return _objectSpread(_objectSpread({}, map), {}, _defineProperty({}, source, Object.keys(others).reduce(function (otherMap, key) {
|
|
1389
1355
|
otherMap[key] = others[key]; // eslint-disable-line no-param-reassign
|
|
@@ -1391,7 +1357,7 @@ var useUppySources = function useUppySources(sources) {
|
|
|
1391
1357
|
return otherMap;
|
|
1392
1358
|
}, pack)));
|
|
1393
1359
|
}, {});
|
|
1394
|
-
packagesCache = _objectSpread(_objectSpread({}, packagesCache), newLoadedPackages);
|
|
1360
|
+
packagesCache$1 = _objectSpread(_objectSpread({}, packagesCache$1), newLoadedPackages);
|
|
1395
1361
|
|
|
1396
1362
|
if (!canceled) {
|
|
1397
1363
|
setLoadedPackages({
|
|
@@ -1406,6 +1372,71 @@ var useUppySources = function useUppySources(sources) {
|
|
|
1406
1372
|
return sourcesToLoad.length === 0 ? loadedPackages : null;
|
|
1407
1373
|
};
|
|
1408
1374
|
|
|
1375
|
+
var _excluded$1 = ["default"];
|
|
1376
|
+
/**
|
|
1377
|
+
* Locale loader
|
|
1378
|
+
*/
|
|
1379
|
+
|
|
1380
|
+
var packagesCache = {};
|
|
1381
|
+
var defaultPackagesMap = {
|
|
1382
|
+
transloadit: function transloadit() {
|
|
1383
|
+
return import('@uppy/transloadit');
|
|
1384
|
+
},
|
|
1385
|
+
tus: function tus() {
|
|
1386
|
+
return import('@uppy/tus');
|
|
1387
|
+
},
|
|
1388
|
+
xhr: function xhr() {
|
|
1389
|
+
return import('@uppy/xhr-upload');
|
|
1390
|
+
}
|
|
1391
|
+
};
|
|
1392
|
+
|
|
1393
|
+
var useUppyTransport = function useUppyTransport(transport) {
|
|
1394
|
+
var _ref = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {},
|
|
1395
|
+
_ref$packagesMap = _ref.packagesMap,
|
|
1396
|
+
packagesMap = _ref$packagesMap === void 0 ? defaultPackagesMap : _ref$packagesMap;
|
|
1397
|
+
|
|
1398
|
+
// transport
|
|
1399
|
+
var _useState = useState({
|
|
1400
|
+
"package": packagesCache[transport] || null
|
|
1401
|
+
}),
|
|
1402
|
+
_useState2 = _slicedToArray(_useState, 2),
|
|
1403
|
+
loadedPackage = _useState2[0]["package"],
|
|
1404
|
+
setLoadedPackage = _useState2[1];
|
|
1405
|
+
|
|
1406
|
+
var packageLoader = packagesMap[transport] || null;
|
|
1407
|
+
useEffect(function () {
|
|
1408
|
+
var canceled = false;
|
|
1409
|
+
|
|
1410
|
+
if (loadedPackage !== null || packageLoader === null) {
|
|
1411
|
+
return function () {
|
|
1412
|
+
canceled = true;
|
|
1413
|
+
};
|
|
1414
|
+
}
|
|
1415
|
+
|
|
1416
|
+
packageLoader().then(function (_ref2) {
|
|
1417
|
+
var pack = _ref2["default"],
|
|
1418
|
+
others = _objectWithoutProperties(_ref2, _excluded$1);
|
|
1419
|
+
|
|
1420
|
+
var dep = Object.keys(others).reduce(function (map, key) {
|
|
1421
|
+
map[key] = others[key]; // eslint-disable-line no-param-reassign
|
|
1422
|
+
|
|
1423
|
+
return map;
|
|
1424
|
+
}, pack);
|
|
1425
|
+
packagesCache[transport] = dep;
|
|
1426
|
+
|
|
1427
|
+
if (!canceled) {
|
|
1428
|
+
setLoadedPackage({
|
|
1429
|
+
"package": dep
|
|
1430
|
+
});
|
|
1431
|
+
}
|
|
1432
|
+
});
|
|
1433
|
+
return function () {
|
|
1434
|
+
canceled = true;
|
|
1435
|
+
};
|
|
1436
|
+
}, [packageLoader, loadedPackage, setLoadedPackage]);
|
|
1437
|
+
return loadedPackage;
|
|
1438
|
+
};
|
|
1439
|
+
|
|
1409
1440
|
var convertToMedia = function convertToMedia(it) {
|
|
1410
1441
|
// console.log('upload', it);
|
|
1411
1442
|
var type = it.data.type.split('/')[0];
|
|
@@ -1466,12 +1497,16 @@ var useUppy = function useUppy() {
|
|
|
1466
1497
|
} : _ref$getFileName,
|
|
1467
1498
|
_ref$meta = _ref.meta,
|
|
1468
1499
|
meta = _ref$meta === void 0 ? null : _ref$meta,
|
|
1500
|
+
_ref$allowMultipleUpl = _ref.allowMultipleUploads,
|
|
1501
|
+
allowMultipleUploads = _ref$allowMultipleUpl === void 0 ? false : _ref$allowMultipleUpl,
|
|
1469
1502
|
_ref$maxNumberOfFiles = _ref.maxNumberOfFiles,
|
|
1470
|
-
maxNumberOfFiles = _ref$maxNumberOfFiles === void 0 ?
|
|
1503
|
+
maxNumberOfFiles = _ref$maxNumberOfFiles === void 0 ? 1 : _ref$maxNumberOfFiles,
|
|
1471
1504
|
_ref$allowedFileTypes = _ref.allowedFileTypes,
|
|
1472
1505
|
allowedFileTypes = _ref$allowedFileTypes === void 0 ? null : _ref$allowedFileTypes,
|
|
1473
1506
|
_ref$autoProceed = _ref.autoProceed,
|
|
1474
|
-
autoProceed = _ref$autoProceed === void 0 ? false : _ref$autoProceed
|
|
1507
|
+
autoProceed = _ref$autoProceed === void 0 ? false : _ref$autoProceed,
|
|
1508
|
+
_ref$debug = _ref.debug,
|
|
1509
|
+
debug = _ref$debug === void 0 ? false : _ref$debug;
|
|
1475
1510
|
|
|
1476
1511
|
var _ref3 = useContext(UppyContext) || null,
|
|
1477
1512
|
buildUppy = _ref3.buildUppy,
|
|
@@ -1480,13 +1515,15 @@ var useUppy = function useUppy() {
|
|
|
1480
1515
|
var uppy = useMemo(function () {
|
|
1481
1516
|
return buildUppy !== null ? buildUppy({
|
|
1482
1517
|
meta: meta,
|
|
1518
|
+
allowMultipleUploads: allowMultipleUploads,
|
|
1483
1519
|
restrictions: {
|
|
1484
1520
|
maxNumberOfFiles: maxNumberOfFiles,
|
|
1485
1521
|
allowedFileTypes: allowedFileTypes
|
|
1486
1522
|
},
|
|
1487
|
-
autoProceed: autoProceed
|
|
1523
|
+
autoProceed: autoProceed,
|
|
1524
|
+
debug: debug
|
|
1488
1525
|
}) : null;
|
|
1489
|
-
}, [buildUppy, meta, maxNumberOfFiles, allowedFileTypes, autoProceed]);
|
|
1526
|
+
}, [buildUppy, meta, allowMultipleUploads, debug, maxNumberOfFiles, allowedFileTypes, autoProceed]);
|
|
1490
1527
|
useEffect(function () {
|
|
1491
1528
|
if (uppy === null) {
|
|
1492
1529
|
return function () {};
|
|
@@ -1548,6 +1585,7 @@ var useUppy = function useUppy() {
|
|
|
1548
1585
|
return uppy;
|
|
1549
1586
|
};
|
|
1550
1587
|
var propTypes = {
|
|
1588
|
+
id: PropTypes.string,
|
|
1551
1589
|
children: PropTypes.node.isRequired,
|
|
1552
1590
|
transport: PropTypes.oneOf(['xhr', 'transloadit', 'tus']),
|
|
1553
1591
|
locale: PropTypes.string,
|
|
@@ -1569,6 +1607,7 @@ var propTypes = {
|
|
|
1569
1607
|
})])
|
|
1570
1608
|
};
|
|
1571
1609
|
var defaultProps = {
|
|
1610
|
+
id: 'uppy',
|
|
1572
1611
|
transport: null,
|
|
1573
1612
|
locale: null,
|
|
1574
1613
|
sources: null,
|
|
@@ -1578,7 +1617,8 @@ var defaultProps = {
|
|
|
1578
1617
|
xhr: null
|
|
1579
1618
|
};
|
|
1580
1619
|
var UppyProvider = function UppyProvider(_ref5) {
|
|
1581
|
-
var
|
|
1620
|
+
var id = _ref5.id,
|
|
1621
|
+
children = _ref5.children,
|
|
1582
1622
|
providedTransport = _ref5.transport,
|
|
1583
1623
|
providedLocale = _ref5.locale,
|
|
1584
1624
|
providedSources = _ref5.sources,
|
|
@@ -1631,6 +1671,7 @@ var UppyProvider = function UppyProvider(_ref5) {
|
|
|
1631
1671
|
uppyOpts = _objectWithoutProperties(_ref7, _excluded);
|
|
1632
1672
|
|
|
1633
1673
|
var newUppy = new Uppy(_objectSpread({
|
|
1674
|
+
id: id,
|
|
1634
1675
|
locale: uppyLocale
|
|
1635
1676
|
}, uppyOpts));
|
|
1636
1677
|
|
|
@@ -1687,9 +1728,10 @@ var UppyProvider = function UppyProvider(_ref5) {
|
|
|
1687
1728
|
|
|
1688
1729
|
return newUppy;
|
|
1689
1730
|
};
|
|
1690
|
-
}, [Uppy, uppyLocale, uppyTransport, uppySources, transport, sources, transloadit, companion, tus, xhr]);
|
|
1691
|
-
|
|
1692
|
-
|
|
1731
|
+
}, [id, Uppy, uppyLocale, uppyTransport, uppySources, transport, sources, transloadit, companion, tus, xhr]);
|
|
1732
|
+
var value = useMemo(function () {
|
|
1733
|
+
return {
|
|
1734
|
+
id: id,
|
|
1693
1735
|
transport: transport,
|
|
1694
1736
|
locale: locale,
|
|
1695
1737
|
sources: sources,
|
|
@@ -1702,10 +1744,13 @@ var UppyProvider = function UppyProvider(_ref5) {
|
|
|
1702
1744
|
uppySources: uppySources,
|
|
1703
1745
|
uppyLocale: uppyLocale,
|
|
1704
1746
|
buildUppy: buildUppy
|
|
1705
|
-
}
|
|
1747
|
+
};
|
|
1748
|
+
}, [id, transport, locale, sources, transloadit, companion, tus, xhr, Uppy, uppyTransport, uppySources, uppyLocale, buildUppy]);
|
|
1749
|
+
return /*#__PURE__*/React.createElement(UppyContext.Provider, {
|
|
1750
|
+
value: value
|
|
1706
1751
|
}, children);
|
|
1707
1752
|
};
|
|
1708
1753
|
UppyProvider.propTypes = propTypes;
|
|
1709
1754
|
UppyProvider.defaultProps = defaultProps;
|
|
1710
1755
|
|
|
1711
|
-
export { APP_NAMESPACE, ComponentsContext, ComponentsProvider, DISPLAYS_NAMESPACE, DefinitionProvider, FIELDS_NAMESPACE, FILTERS_NAMESPACE, FORMS_NAMESPACE, FieldsContext, FieldsProvider, FontsContext, FontsProvider, FormProvider, GoogleApiClientContext, GoogleApiClientProvider, GoogleKeysContext, GoogleKeysProvider, GoogleMapsClientContext, GoogleMapsClientProvider, LISTS_NAMESPACE, LocalesContext, LocalesProvider, MODALS_NAMESPACE, ModalsContext, ModalsProvider, PanelsContext, PanelsProvider, PanneauProvider, ResourceProvider, RoutesContext, RoutesProvider, TrackingProvider, UppyContext, UppyProvider, useAppComponent, useAppComponents, useAppComponentsManager, useComponent, useComponents, useComponentsManager, useDefinition, useDefinitionContext, useDisplayComponent, useDisplaysComponents, useDisplaysComponentsManager, useField, useFieldComponent, useFields, useFieldsComponents, useFieldsComponentsManager, useFieldsManager, useFilterComponent, useFiltersComponents, useFiltersComponentsManager, useFonts, useForm, useFormComponent, useFormSetValue, useFormValue, useFormsComponents, useFormsComponentsManager, useGoogleApiClient, useGoogleFonts, useGoogleKeys, useGoogleMapsClient, useListComponent, useListsComponents, useListsComponentsManager, useLocales, useModalComponent, useModals, useModalsComponents, useModalsComponentsManager, useOtherLocales, usePanels, usePanneau, usePanneauAuth, usePanneauColorScheme, usePanneauComponent, usePanneauComponents, usePanneauResource, usePanneauResources, usePanneauSettings, useResource, useRouteBack, useRoutePush, useRoutes, useTracking, useUppy, useUrlGenerator, withGoogleApiClient, withGoogleMapsClient, withModals, withPanels };
|
|
1756
|
+
export { APP_NAMESPACE, ComponentsContext, ComponentsProvider, DISPLAYS_NAMESPACE, DefinitionProvider, FIELDS_NAMESPACE, FILTERS_NAMESPACE, FORMS_NAMESPACE, FieldsContext, FieldsProvider, FontsContext, FontsProvider, FormProvider, GoogleApiClientContext, GoogleApiClientProvider, GoogleKeysContext, GoogleKeysProvider, GoogleMapsClientContext, GoogleMapsClientProvider, LISTS_NAMESPACE, LocalesContext, LocalesProvider, MODALS_NAMESPACE, ModalsContext, ModalsProvider, PAGES_NAMESPACE, PanelsContext, PanelsProvider, PanneauProvider, ResourceProvider, RoutesContext, RoutesProvider, TrackingProvider, UppyContext, UppyProvider, useAppComponent, useAppComponents, useAppComponentsManager, useComponent, useComponents, useComponentsManager, useDefinition, useDefinitionContext, useDisplayComponent, useDisplaysComponents, useDisplaysComponentsManager, useField, useFieldComponent, useFields, useFieldsComponents, useFieldsComponentsManager, useFieldsManager, useFilterComponent, useFiltersComponents, useFiltersComponentsManager, useFonts, useForm, useFormComponent, useFormSetValue, useFormValue, useFormsComponents, useFormsComponentsManager, useGoogleApiClient, useGoogleFonts, useGoogleKeys, useGoogleMapsClient, useListComponent, useListsComponents, useListsComponentsManager, useLocales, useModalComponent, useModals, useModalsComponents, useModalsComponentsManager, useOtherLocales, usePageComponent, usePagesComponents, usePagesComponentsManager, usePanels, usePanneau, usePanneauAuth, usePanneauColorScheme, usePanneauComponent, usePanneauComponents, usePanneauResource, usePanneauResources, usePanneauSettings, useResource, useRouteBack, useRoutePush, useRoutes, useTracking, useUppy, useUrlGenerator, withGoogleApiClient, withGoogleMapsClient, withModals, withPanels };
|
package/es/hooks.js
CHANGED
|
@@ -10,8 +10,10 @@ import _slicedToArray from '@babel/runtime/helpers/slicedToArray';
|
|
|
10
10
|
import _toConsumableArray from '@babel/runtime/helpers/toConsumableArray';
|
|
11
11
|
import _objectWithoutProperties from '@babel/runtime/helpers/objectWithoutProperties';
|
|
12
12
|
import { getCsrfToken, postJSON, getCSRFHeaders } from '@folklore/fetch';
|
|
13
|
+
import get from 'lodash/get';
|
|
14
|
+
import isArray from 'lodash/isArray';
|
|
13
15
|
import isObject from 'lodash/isObject';
|
|
14
|
-
import { useFieldsManager, usePanneauResources, useUrlGenerator } from '@panneau/core/contexts';
|
|
16
|
+
import { useFieldsManager, usePanneauResources, useResource, useUrlGenerator } from '@panneau/core/contexts';
|
|
15
17
|
import { match } from 'css-mediaquery';
|
|
16
18
|
|
|
17
19
|
var useAnimationFrame = function useAnimationFrame(onFrame) {
|
|
@@ -116,6 +118,7 @@ var getFieldsPropsFromFields = function getFieldsPropsFromFields(fields, _ref) {
|
|
|
116
118
|
_onChange = _ref.onChange,
|
|
117
119
|
props = _objectWithoutProperties(_ref, _excluded$1);
|
|
118
120
|
|
|
121
|
+
var locales = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : [];
|
|
119
122
|
return fields.reduce(function (allFields, field) {
|
|
120
123
|
var _ref2 = isObject(field) ? field : {},
|
|
121
124
|
_ref2$name = _ref2.name,
|
|
@@ -123,11 +126,18 @@ var getFieldsPropsFromFields = function getFieldsPropsFromFields(fields, _ref) {
|
|
|
123
126
|
_ref2$component = _ref2.component,
|
|
124
127
|
component = _ref2$component === void 0 ? null : _ref2$component;
|
|
125
128
|
|
|
129
|
+
var fieldErrors = errors !== null ? errors[name] || [] : [];
|
|
130
|
+
var localizedErrors = component === 'localized' ? (locales || []).reduce(function (previousErrors, locale) {
|
|
131
|
+
var items = errors !== null ? get(errors, "".concat(name, ".").concat(locale), []) || [] : [];
|
|
132
|
+
var finalItems = isArray(items) ? items : [items];
|
|
133
|
+
var finalPrevious = isArray(previousErrors) ? previousErrors : [];
|
|
134
|
+
return [].concat(_toConsumableArray(finalPrevious), _toConsumableArray(finalItems));
|
|
135
|
+
}, fieldErrors) : fieldErrors;
|
|
126
136
|
return [].concat(_toConsumableArray(allFields), [_objectSpread(_objectSpread({}, isObject(field) ? field : null), {}, {
|
|
127
137
|
name: name,
|
|
128
138
|
component: component,
|
|
129
139
|
value: value !== null ? value[name] || null : null,
|
|
130
|
-
errors:
|
|
140
|
+
errors: localizedErrors.length > 0 ? localizedErrors : null,
|
|
131
141
|
onChange: function onChange(fieldValue) {
|
|
132
142
|
return _onChange(name, fieldValue);
|
|
133
143
|
}
|
|
@@ -162,7 +172,9 @@ var useForm = function useForm() {
|
|
|
162
172
|
_opts$setValue = opts.setValue,
|
|
163
173
|
setProvidedValue = _opts$setValue === void 0 ? null : _opts$setValue,
|
|
164
174
|
_opts$onComplete = opts.onComplete,
|
|
165
|
-
onComplete = _opts$onComplete === void 0 ? null : _opts$onComplete
|
|
175
|
+
onComplete = _opts$onComplete === void 0 ? null : _opts$onComplete,
|
|
176
|
+
_opts$locales = opts.locales,
|
|
177
|
+
locales = _opts$locales === void 0 ? [] : _opts$locales;
|
|
166
178
|
|
|
167
179
|
var _useState = useState(initialValue || providedValue),
|
|
168
180
|
_useState2 = _slicedToArray(_useState, 2),
|
|
@@ -202,7 +214,7 @@ var useForm = function useForm() {
|
|
|
202
214
|
var hasProvidedGeneralError = setProvidedGeneralError !== null;
|
|
203
215
|
var generalError = hasProvidedGeneralError ? providedGeneralError : stateGeneralError;
|
|
204
216
|
var setGeneralError = hasProvidedGeneralError ? setProvidedGeneralError : setStateGeneralError;
|
|
205
|
-
var fieldsKey = [value, errors].concat(fields);
|
|
217
|
+
var fieldsKey = [value, errors, locales].concat(fields);
|
|
206
218
|
var onFieldChange = useCallback(function (fieldName, fieldValue) {
|
|
207
219
|
var fieldErrors = errors !== null ? errors[fieldName] || null : null;
|
|
208
220
|
|
|
@@ -217,7 +229,7 @@ var useForm = function useForm() {
|
|
|
217
229
|
value: value,
|
|
218
230
|
errors: errors,
|
|
219
231
|
onChange: onFieldChange
|
|
220
|
-
});
|
|
232
|
+
}, locales);
|
|
221
233
|
}, fieldsKey);
|
|
222
234
|
var csrfToken = useMemo(function () {
|
|
223
235
|
return getCsrfToken();
|
|
@@ -248,7 +260,10 @@ var useForm = function useForm() {
|
|
|
248
260
|
error: false
|
|
249
261
|
});
|
|
250
262
|
setResponse(resp);
|
|
251
|
-
|
|
263
|
+
|
|
264
|
+
if (onComplete !== null) {
|
|
265
|
+
onComplete(resp);
|
|
266
|
+
}
|
|
252
267
|
};
|
|
253
268
|
|
|
254
269
|
var finalPostForm = useCallback(function (postAction, postData) {
|
|
@@ -952,21 +967,27 @@ var getResource = function getResource(resources, resourceId) {
|
|
|
952
967
|
var useResourceUrlGenerator = function useResourceUrlGenerator() {
|
|
953
968
|
var resourceId = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : null;
|
|
954
969
|
var resources = usePanneauResources();
|
|
955
|
-
var
|
|
970
|
+
var contextResource = useResource();
|
|
971
|
+
var resource = getResource(resources, resourceId) || contextResource;
|
|
956
972
|
var route = useUrlGenerator();
|
|
957
973
|
return function (routeResourceId) {
|
|
958
974
|
var routeName = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : null;
|
|
959
975
|
var params = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : null;
|
|
960
976
|
var finalRouteName = resourceId !== null ? routeResourceId : routeName;
|
|
961
977
|
var finalParams = resourceId !== null ? routeName : params;
|
|
962
|
-
var finalResource =
|
|
963
|
-
|
|
964
|
-
|
|
965
|
-
|
|
966
|
-
|
|
967
|
-
|
|
978
|
+
var finalResource = getResource(resources, routeResourceId) || resource;
|
|
979
|
+
|
|
980
|
+
var _ref = finalResource || {},
|
|
981
|
+
_ref$id = _ref.id,
|
|
982
|
+
id = _ref$id === void 0 ? null : _ref$id; // console.log('gen', finalRouteName, route(`resources.${finalRouteName}`, {
|
|
983
|
+
// ...finalParams,
|
|
984
|
+
// resource: id,
|
|
985
|
+
// }));
|
|
986
|
+
|
|
987
|
+
|
|
988
|
+
return id !== null ? route("resources.".concat(finalRouteName), _objectSpread(_objectSpread({}, finalParams), {}, {
|
|
968
989
|
resource: id
|
|
969
|
-
}));
|
|
990
|
+
})) : null;
|
|
970
991
|
};
|
|
971
992
|
};
|
|
972
993
|
|
package/es/index.js
CHANGED
|
@@ -11,10 +11,13 @@ import 'snake-case';
|
|
|
11
11
|
import isObject from 'lodash/isObject';
|
|
12
12
|
import 'react';
|
|
13
13
|
import { pascalCase } from 'change-case';
|
|
14
|
-
import '
|
|
14
|
+
import ReactIs from 'react-is';
|
|
15
15
|
import _objectWithoutProperties from '@babel/runtime/helpers/objectWithoutProperties';
|
|
16
|
+
import 'lodash/isString';
|
|
16
17
|
import isArray from 'lodash/isArray';
|
|
17
18
|
import _toConsumableArray from '@babel/runtime/helpers/toConsumableArray';
|
|
19
|
+
import 'lodash/get';
|
|
20
|
+
import 'lodash/capitalize';
|
|
18
21
|
import 'slugify';
|
|
19
22
|
import uniqBy from 'lodash/uniqBy';
|
|
20
23
|
import uniq from 'lodash/uniq';
|
|
@@ -60,6 +63,14 @@ var toggle = PropTypes$1.shape({
|
|
|
60
63
|
label: PropTypes$1.string
|
|
61
64
|
});
|
|
62
65
|
var toggles = PropTypes$1.arrayOf(toggle);
|
|
66
|
+
var tableColumn = PropTypes$1.shape({
|
|
67
|
+
id: PropTypes$1.string,
|
|
68
|
+
component: PropTypes$1.string,
|
|
69
|
+
path: PropTypes$1.string,
|
|
70
|
+
field: PropTypes$1.string,
|
|
71
|
+
columnClassName: PropTypes$1.string
|
|
72
|
+
});
|
|
73
|
+
var tableColumns = PropTypes$1.arrayOf(tableColumn);
|
|
63
74
|
/**
|
|
64
75
|
* Panneau Definitions
|
|
65
76
|
*/
|
|
@@ -71,6 +82,7 @@ var routes = PropTypes$1.shape({
|
|
|
71
82
|
'resources.show': PropTypes$1.string.isRequired,
|
|
72
83
|
'resources.edit': PropTypes$1.string.isRequired,
|
|
73
84
|
'resources.update': PropTypes$1.string.isRequired,
|
|
85
|
+
'resources.delete': PropTypes$1.string.isRequired,
|
|
74
86
|
'resources.destroy': PropTypes$1.string.isRequired
|
|
75
87
|
});
|
|
76
88
|
var intl = PropTypes$1.shape({
|
|
@@ -83,10 +95,10 @@ var page = PropTypes$1.shape({
|
|
|
83
95
|
});
|
|
84
96
|
var pages = PropTypes$1.objectOf(page);
|
|
85
97
|
var field = PropTypes$1.shape({
|
|
86
|
-
|
|
87
|
-
|
|
88
|
-
component: PropTypes$1.string
|
|
89
|
-
label: PropTypes$1.
|
|
98
|
+
name: PropTypes$1.string.isRequired,
|
|
99
|
+
type: PropTypes$1.string,
|
|
100
|
+
component: PropTypes$1.string,
|
|
101
|
+
label: PropTypes$1.node
|
|
90
102
|
});
|
|
91
103
|
var fields = PropTypes$1.arrayOf(field);
|
|
92
104
|
var form = PropTypes$1.shape({
|
|
@@ -97,11 +109,10 @@ var form = PropTypes$1.shape({
|
|
|
97
109
|
var forms = PropTypes$1.arrayOf(form);
|
|
98
110
|
var resource = PropTypes$1.shape({
|
|
99
111
|
id: PropTypes$1.string.isRequired,
|
|
100
|
-
|
|
112
|
+
name: PropTypes$1.string.isRequired,
|
|
101
113
|
intl: intl,
|
|
102
114
|
fields: fields,
|
|
103
115
|
forms: PropTypes$1.shape({}),
|
|
104
|
-
has_routes: PropTypes$1.bool,
|
|
105
116
|
shows_in_navbar: PropTypes$1.bool
|
|
106
117
|
});
|
|
107
118
|
var resources = PropTypes$1.arrayOf(resource);
|
|
@@ -138,6 +149,11 @@ var formError = PropTypes$1.shape({
|
|
|
138
149
|
message: PropTypes$1.string
|
|
139
150
|
});
|
|
140
151
|
var formErrors = PropTypes$1.arrayOf(formError);
|
|
152
|
+
var uppy = PropTypes$1.shape({
|
|
153
|
+
tus: PropTypes$1.object
|
|
154
|
+
}); // eslint-disable-line
|
|
155
|
+
|
|
156
|
+
var triggerUpdate = PropTypes$1.string;
|
|
141
157
|
|
|
142
158
|
var PropTypes = /*#__PURE__*/Object.freeze({
|
|
143
159
|
__proto__: null,
|
|
@@ -158,6 +174,8 @@ var PropTypes = /*#__PURE__*/Object.freeze({
|
|
|
158
174
|
fieldOptions: fieldOptions,
|
|
159
175
|
toggle: toggle,
|
|
160
176
|
toggles: toggles,
|
|
177
|
+
tableColumn: tableColumn,
|
|
178
|
+
tableColumns: tableColumns,
|
|
161
179
|
routes: routes,
|
|
162
180
|
intl: intl,
|
|
163
181
|
page: page,
|
|
@@ -178,9 +196,23 @@ var PropTypes = /*#__PURE__*/Object.freeze({
|
|
|
178
196
|
selectOptions: selectOptions,
|
|
179
197
|
feedback: feedback,
|
|
180
198
|
formError: formError,
|
|
181
|
-
formErrors: formErrors
|
|
199
|
+
formErrors: formErrors,
|
|
200
|
+
uppy: uppy,
|
|
201
|
+
triggerUpdate: triggerUpdate
|
|
182
202
|
});
|
|
183
203
|
|
|
204
|
+
var flattenComponents = function flattenComponents(components) {
|
|
205
|
+
var prefix = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : null;
|
|
206
|
+
|
|
207
|
+
if (components === null) {
|
|
208
|
+
return null;
|
|
209
|
+
}
|
|
210
|
+
|
|
211
|
+
return Object.keys(components).reduce(function (newMap, key) {
|
|
212
|
+
return ReactIs.isValidElementType(components[key]) ? _objectSpread(_objectSpread({}, newMap), {}, _defineProperty({}, prefix !== null ? "".concat(prefix, ".").concat(key) : key, components[key])) : _objectSpread(_objectSpread({}, newMap), flattenComponents(components[key], key));
|
|
213
|
+
}, {});
|
|
214
|
+
};
|
|
215
|
+
|
|
184
216
|
var getComponentFromName = function getComponentFromName() {
|
|
185
217
|
var name = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : null;
|
|
186
218
|
var components = arguments.length > 1 ? arguments[1] : undefined;
|
|
@@ -213,7 +245,7 @@ var ComponentsManager = /*#__PURE__*/function (_EventEmitter) {
|
|
|
213
245
|
_classCallCheck(this, ComponentsManager);
|
|
214
246
|
|
|
215
247
|
_this = _super.call(this);
|
|
216
|
-
_this.components = components;
|
|
248
|
+
_this.components = flattenComponents(components);
|
|
217
249
|
return _this;
|
|
218
250
|
}
|
|
219
251
|
|
|
@@ -453,7 +485,7 @@ var FieldsManager$1 = /*#__PURE__*/function (_DefinitionsManager) {
|
|
|
453
485
|
return _super.apply(this, arguments);
|
|
454
486
|
}
|
|
455
487
|
|
|
456
|
-
return FieldsManager;
|
|
488
|
+
return _createClass(FieldsManager);
|
|
457
489
|
}(DefinitionsManager);
|
|
458
490
|
|
|
459
491
|
var _excluded$2 = ["fonts"];
|
|
@@ -598,7 +630,7 @@ var FieldsManager = /*#__PURE__*/function (_ComponentsManager) {
|
|
|
598
630
|
return _super.apply(this, arguments);
|
|
599
631
|
}
|
|
600
632
|
|
|
601
|
-
return FieldsManager;
|
|
633
|
+
return _createClass(FieldsManager);
|
|
602
634
|
}(ComponentsManager);
|
|
603
635
|
|
|
604
636
|
var _excluded$1 = ["medias"];
|