@panneau/form-resource 3.0.283 → 3.0.285
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/es/index.js +53 -40
- package/package.json +4 -4
package/es/index.js
CHANGED
|
@@ -8,7 +8,7 @@ import { PropTypes } from '@panneau/core';
|
|
|
8
8
|
import { useLocales, useFormsComponents, FormProvider } from '@panneau/core/contexts';
|
|
9
9
|
import { useResourceUrlGenerator, useForm } from '@panneau/core/hooks';
|
|
10
10
|
import { getComponentFromName } from '@panneau/core/utils';
|
|
11
|
-
import { useResourceStore, useResourceUpdate, useResourceDestroy } from '@panneau/data';
|
|
11
|
+
import { useResourceStore, useResourceUpdate, useResourceDestroy, useResourceClone } from '@panneau/data';
|
|
12
12
|
import classNames from 'classnames';
|
|
13
13
|
import { FormattedMessage } from 'react-intl';
|
|
14
14
|
import Button from '@panneau/element-button';
|
|
@@ -267,6 +267,9 @@ var ResourceForm = function ResourceForm(_ref) {
|
|
|
267
267
|
props = _objectWithoutProperties(_ref, _excluded);
|
|
268
268
|
var locales = useLocales();
|
|
269
269
|
var FormComponents = useFormsComponents();
|
|
270
|
+
var _ref2 = item || {},
|
|
271
|
+
_ref2$id = _ref2.id,
|
|
272
|
+
itemId = _ref2$id === void 0 ? null : _ref2$id;
|
|
270
273
|
var _resource$fields = resource.fields,
|
|
271
274
|
resourceFields = _resource$fields === void 0 ? [] : _resource$fields,
|
|
272
275
|
_resource$types = resource.types,
|
|
@@ -275,37 +278,37 @@ var ResourceForm = function ResourceForm(_ref) {
|
|
|
275
278
|
var resourceType = type !== null ? resourceTypes.find(function (it) {
|
|
276
279
|
return it.id === type;
|
|
277
280
|
}) || null : null;
|
|
278
|
-
var
|
|
279
|
-
|
|
280
|
-
resourceTypeFields =
|
|
281
|
-
var isCreate = item === null || !
|
|
281
|
+
var _ref3 = resourceType || {},
|
|
282
|
+
_ref3$fields = _ref3.fields,
|
|
283
|
+
resourceTypeFields = _ref3$fields === void 0 ? null : _ref3$fields;
|
|
284
|
+
var isCreate = item === null || !itemId;
|
|
282
285
|
|
|
283
286
|
// Pick fields from resource root or form
|
|
284
|
-
var
|
|
285
|
-
|
|
286
|
-
defaultForm =
|
|
287
|
-
|
|
288
|
-
createForm =
|
|
289
|
-
|
|
290
|
-
editForm =
|
|
291
|
-
|
|
292
|
-
deleteForm =
|
|
293
|
-
var
|
|
294
|
-
_ref4$fields = _ref4.fields,
|
|
295
|
-
defaultFields = _ref4$fields === void 0 ? null : _ref4$fields,
|
|
296
|
-
defaultComponent = _ref4.component;
|
|
297
|
-
var createOrEditSource = isCreate ? createForm || {} : editForm || {};
|
|
298
|
-
var _ref5 = isDelete ? deleteForm || {} : createOrEditSource || {},
|
|
287
|
+
var _ref4 = forms || {},
|
|
288
|
+
_ref4$default = _ref4["default"],
|
|
289
|
+
defaultForm = _ref4$default === void 0 ? null : _ref4$default,
|
|
290
|
+
_ref4$create = _ref4.create,
|
|
291
|
+
createForm = _ref4$create === void 0 ? null : _ref4$create,
|
|
292
|
+
_ref4$edit = _ref4.edit,
|
|
293
|
+
editForm = _ref4$edit === void 0 ? null : _ref4$edit,
|
|
294
|
+
_ref4$delete = _ref4["delete"],
|
|
295
|
+
deleteForm = _ref4$delete === void 0 ? null : _ref4$delete;
|
|
296
|
+
var _ref5 = defaultForm || {},
|
|
299
297
|
_ref5$fields = _ref5.fields,
|
|
300
|
-
|
|
301
|
-
|
|
302
|
-
|
|
298
|
+
defaultFields = _ref5$fields === void 0 ? null : _ref5$fields,
|
|
299
|
+
defaultComponent = _ref5.component;
|
|
300
|
+
var createOrEditSource = isCreate ? createForm || {} : editForm || {};
|
|
301
|
+
var _ref6 = isDelete ? deleteForm || {} : createOrEditSource || {},
|
|
302
|
+
_ref6$fields = _ref6.fields,
|
|
303
|
+
formFields = _ref6$fields === void 0 ? null : _ref6$fields,
|
|
304
|
+
_ref6$component = _ref6.component,
|
|
305
|
+
formComponent = _ref6$component === void 0 ? null : _ref6$component;
|
|
303
306
|
var finalFields = useMemo(function () {
|
|
304
|
-
return (formFields || defaultFields || resourceTypeFields || resourceFields).filter(function (
|
|
305
|
-
var
|
|
306
|
-
|
|
307
|
-
|
|
308
|
-
hiddenInForm =
|
|
307
|
+
return (formFields || defaultFields || resourceTypeFields || resourceFields).filter(function (_ref7) {
|
|
308
|
+
var _ref7$settings = _ref7.settings,
|
|
309
|
+
_ref7$settings2 = _ref7$settings === void 0 ? {} : _ref7$settings,
|
|
310
|
+
_ref7$settings2$hidde = _ref7$settings2.hiddenInForm,
|
|
311
|
+
hiddenInForm = _ref7$settings2$hidde === void 0 ? false : _ref7$settings2$hidde;
|
|
309
312
|
return !hiddenInForm;
|
|
310
313
|
});
|
|
311
314
|
}, [formFields, defaultFields, resourceTypeFields, resourceFields]);
|
|
@@ -314,23 +317,33 @@ var ResourceForm = function ResourceForm(_ref) {
|
|
|
314
317
|
var resourceRoute = useResourceUrlGenerator(resource);
|
|
315
318
|
var _useResourceStore = useResourceStore(resource),
|
|
316
319
|
store = _useResourceStore.store;
|
|
317
|
-
var _useResourceUpdate = useResourceUpdate(resource, item
|
|
320
|
+
var _useResourceUpdate = useResourceUpdate(resource, item !== null ? itemId : null),
|
|
318
321
|
update = _useResourceUpdate.update;
|
|
319
|
-
var _useResourceDestroy = useResourceDestroy(resource, item
|
|
322
|
+
var _useResourceDestroy = useResourceDestroy(resource, item !== null ? itemId : null),
|
|
320
323
|
destroy = _useResourceDestroy.destroy;
|
|
324
|
+
var _useResourceClone = useResourceClone(resource, item !== null ? itemId : null),
|
|
325
|
+
clone = _useResourceClone.clone;
|
|
321
326
|
|
|
322
327
|
// Post actions
|
|
323
|
-
var postAction = isCreate ? store : update;
|
|
324
328
|
var postForm = useCallback(function (action, data) {
|
|
325
|
-
|
|
326
|
-
|
|
329
|
+
if (isDelete) {
|
|
330
|
+
return destroy();
|
|
331
|
+
}
|
|
332
|
+
if (isDuplicate) {
|
|
333
|
+
return clone();
|
|
334
|
+
}
|
|
335
|
+
if (isCreate) {
|
|
336
|
+
return store(data);
|
|
337
|
+
}
|
|
338
|
+
return update(data);
|
|
339
|
+
}, [itemId, isCreate, isDelete, isDuplicate, destroy, clone, store, update]);
|
|
327
340
|
|
|
328
341
|
// Form state
|
|
329
342
|
var getInitialValue = useCallback(function () {
|
|
330
|
-
return item !== null ? item : finalFields.reduce(function (defaultValues,
|
|
331
|
-
var name =
|
|
332
|
-
|
|
333
|
-
defaultValue =
|
|
343
|
+
return item !== null ? item : finalFields.reduce(function (defaultValues, _ref8) {
|
|
344
|
+
var name = _ref8.name,
|
|
345
|
+
_ref8$defaultValue = _ref8.defaultValue,
|
|
346
|
+
defaultValue = _ref8$defaultValue === void 0 ? null : _ref8$defaultValue;
|
|
334
347
|
return defaultValue !== null ? _objectSpread(_objectSpread({}, defaultValues), {}, _defineProperty({}, name, defaultValue)) : defaultValues;
|
|
335
348
|
}, type !== null ? {
|
|
336
349
|
type: type
|
|
@@ -346,13 +359,13 @@ var ResourceForm = function ResourceForm(_ref) {
|
|
|
346
359
|
|
|
347
360
|
// Form action
|
|
348
361
|
var action = isCreate ? resourceRoute('store') : resourceRoute('update', {
|
|
349
|
-
id:
|
|
362
|
+
id: itemId
|
|
350
363
|
});
|
|
351
364
|
action = isDelete ? resourceRoute('destroy', {
|
|
352
|
-
id:
|
|
365
|
+
id: itemId
|
|
353
366
|
}) : action;
|
|
354
367
|
action = isDuplicate ? resourceRoute('clone', {
|
|
355
|
-
id:
|
|
368
|
+
id: itemId
|
|
356
369
|
}) : action;
|
|
357
370
|
var _useForm = useForm({
|
|
358
371
|
action: action,
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@panneau/form-resource",
|
|
3
|
-
"version": "3.0.
|
|
3
|
+
"version": "3.0.285",
|
|
4
4
|
"description": "Default resource forms",
|
|
5
5
|
"keywords": [
|
|
6
6
|
"javascript"
|
|
@@ -50,11 +50,11 @@
|
|
|
50
50
|
"dependencies": {
|
|
51
51
|
"@babel/runtime": "^7.12.5",
|
|
52
52
|
"@panneau/core": "^3.0.283",
|
|
53
|
-
"@panneau/data": "^3.0.
|
|
53
|
+
"@panneau/data": "^3.0.285",
|
|
54
54
|
"@panneau/element-button": "^3.0.283",
|
|
55
55
|
"@panneau/element-form": "^3.0.283",
|
|
56
56
|
"@panneau/field-fields": "^3.0.283",
|
|
57
|
-
"@panneau/intl": "^3.0.
|
|
57
|
+
"@panneau/intl": "^3.0.284",
|
|
58
58
|
"@panneau/themes": "^3.0.283",
|
|
59
59
|
"classnames": "^2.5.1",
|
|
60
60
|
"lodash-es": "^4.17.21",
|
|
@@ -64,5 +64,5 @@
|
|
|
64
64
|
"publishConfig": {
|
|
65
65
|
"access": "public"
|
|
66
66
|
},
|
|
67
|
-
"gitHead": "
|
|
67
|
+
"gitHead": "81e9321c9caae2004bcaae0c35fcd61fe0fa0fb7"
|
|
68
68
|
}
|