@contentful/field-editor-reference 5.2.1 → 5.3.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -4013,9 +4013,30 @@ function ResourceCard(props) {
4013
4013
  })));
4014
4014
  }
4015
4015
 
4016
+ var toLinkItem = function toLinkItem(entry) {
4017
+ return {
4018
+ sys: {
4019
+ type: 'ResourceLink',
4020
+ linkType: 'Contentful:Entry',
4021
+ urn: entry.sys.urn
4022
+ }
4023
+ };
4024
+ };
4025
+
4026
+ var getUpdatedValue = function getUpdatedValue(field, entries) {
4027
+ var multiple = field.type === 'Array';
4028
+
4029
+ if (multiple) {
4030
+ var linkItems = entries.map(toLinkItem);
4031
+ var prevValue = field.getValue() || [];
4032
+ return [].concat(prevValue, linkItems);
4033
+ } else {
4034
+ return toLinkItem(entries[0]);
4035
+ }
4036
+ };
4037
+
4016
4038
  function useResourceLinkActions(_ref) {
4017
- var apiUrl = _ref.apiUrl,
4018
- dialogs = _ref.dialogs,
4039
+ var dialogs = _ref.dialogs,
4019
4040
  field = _ref.field,
4020
4041
  onAfterLink = _ref.onAfterLink;
4021
4042
  var handleAfterLink = useCallback(function (entries) {
@@ -4025,39 +4046,14 @@ function useResourceLinkActions(_ref) {
4025
4046
 
4026
4047
  entries.forEach(onAfterLink);
4027
4048
  }, [onAfterLink]);
4028
- var multiple = field.type === 'Array';
4029
- var toLinkItem = useMemo(function () {
4030
- function toUrn(entry) {
4031
- return "crn:" + apiUrl + ":::content:spaces/" + entry.sys.space.sys.id + "/entries/" + entry.sys.id;
4032
- }
4033
-
4034
- return function (entry) {
4035
- return {
4036
- sys: {
4037
- type: 'ResourceLink',
4038
- linkType: 'Contentful:Entry',
4039
- urn: toUrn(entry)
4040
- }
4041
- };
4042
- };
4043
- }, [apiUrl]);
4044
4049
  var onLinkedExisting = useMemo(function () {
4045
- if (multiple) {
4046
- return function (entries) {
4047
- var linkItems = entries.map(toLinkItem);
4048
- var prevValue = field.getValue() || [];
4049
- var updatedValue = [].concat(prevValue, linkItems);
4050
- field.setValue(updatedValue);
4051
- handleAfterLink(entries);
4052
- };
4053
- } else {
4054
- return function (entries) {
4055
- var entry = entries[0];
4056
- field.setValue(toLinkItem(entry));
4057
- handleAfterLink([entry]);
4058
- };
4059
- }
4060
- }, [field, handleAfterLink, multiple, toLinkItem]);
4050
+ return function (entries) {
4051
+ var updatedValue = getUpdatedValue(field, entries);
4052
+ field.setValue(updatedValue);
4053
+ handleAfterLink(entries);
4054
+ };
4055
+ }, [field, handleAfterLink]);
4056
+ var multiple = field.type === 'Array';
4061
4057
  var onLinkExisting = useMemo(function () {
4062
4058
  var promptSelection = multiple ? /*#__PURE__*/_asyncToGenerator( /*#__PURE__*/runtime_1.mark(function _callee() {
4063
4059
  return runtime_1.wrap(function _callee$(_context) {