@contentful/field-editor-reference 5.21.2 → 5.21.5
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/dist/cjs/__fixtures__/asset/index.js +5 -5
- package/dist/cjs/__fixtures__/content-type/index.js +1 -1
- package/dist/cjs/__fixtures__/entry/index.js +4 -4
- package/dist/cjs/__fixtures__/fixtures.js +5 -5
- package/dist/cjs/__fixtures__/locale/index.js +2 -2
- package/dist/cjs/__fixtures__/space/index.js +1 -1
- package/dist/cjs/assets/MultipleMediaEditor.js +4 -4
- package/dist/cjs/assets/SingleMediaEditor.js +3 -3
- package/dist/cjs/assets/WrappedAssetCard/AssetCardActions.js +13 -13
- package/dist/cjs/assets/WrappedAssetCard/FetchingWrappedAssetCard.js +7 -12
- package/dist/cjs/assets/WrappedAssetCard/WrappedAssetCard.js +9 -16
- package/dist/cjs/assets/WrappedAssetCard/WrappedAssetLink.js +7 -8
- package/dist/cjs/common/EntityStore.js +6 -23
- package/dist/cjs/common/MultipleReferenceEditor.js +7 -14
- package/dist/cjs/common/ReferenceEditor.js +4 -4
- package/dist/cjs/common/SingleReferenceEditor.js +5 -7
- package/dist/cjs/common/SortableLinkList.js +9 -9
- package/dist/cjs/common/customCardTypes.js +1 -1
- package/dist/cjs/common/queryClient.js +3 -6
- package/dist/cjs/common/useContentTypePermissions.js +0 -2
- package/dist/cjs/common/useEditorPermissions.js +0 -12
- package/dist/cjs/common/useEditorPermissions.spec.js +0 -1
- package/dist/cjs/components/AssetThumbnail/AssetThumbnail.js +2 -2
- package/dist/cjs/components/CreateEntryLinkButton/CreateEntryLinkButton.js +7 -9
- package/dist/cjs/components/CreateEntryLinkButton/CreateEntryLinkButton.spec.js +14 -14
- package/dist/cjs/components/CreateEntryLinkButton/CreateEntryMenuTrigger.js +16 -24
- package/dist/cjs/components/CreateEntryLinkButton/CreateEntryMenuTrigger.spec.js +11 -11
- package/dist/cjs/components/LinkActions/CombinedLinkActions.js +20 -25
- package/dist/cjs/components/LinkActions/LinkActions.js +11 -11
- package/dist/cjs/components/LinkActions/LinkEntityActions.js +8 -15
- package/dist/cjs/components/LinkActions/NoLinkPermissionsInfo.js +2 -2
- package/dist/cjs/components/LinkActions/helpers.js +0 -9
- package/dist/cjs/components/LinkActions/redesignStyles.js +1 -1
- package/dist/cjs/components/LinkActions/styles.js +1 -1
- package/dist/cjs/components/MissingEntityCard/MissingEntityCard.js +8 -8
- package/dist/cjs/components/ResourceEntityErrorCard/ResourceEntityErrorCard.js +3 -3
- package/dist/cjs/components/ResourceEntityErrorCard/UnsupportedEntityCard.js +3 -3
- package/dist/cjs/components/ScheduledIconWithTooltip/ScheduleTooltip.js +2 -2
- package/dist/cjs/components/ScheduledIconWithTooltip/ScheduledIconWithTooltip.js +2 -5
- package/dist/cjs/components/ScheduledIconWithTooltip/formatDateAndTime.js +1 -2
- package/dist/cjs/components/SpaceName/SpaceName.js +6 -6
- package/dist/cjs/entries/MultipleEntryReferenceEditor.js +4 -4
- package/dist/cjs/entries/SingleEntryReferenceEditor.js +3 -3
- package/dist/cjs/entries/WrappedEntryCard/FetchingWrappedEntryCard.js +7 -14
- package/dist/cjs/entries/WrappedEntryCard/WrappedEntryCard.js +14 -18
- package/dist/cjs/resources/Cards/ContentfulEntryCard.js +2 -9
- package/dist/cjs/resources/Cards/ResourceCard.js +8 -10
- package/dist/cjs/resources/Cards/ResourceCard.spec.js +7 -8
- package/dist/cjs/resources/MultipleResourceReferenceEditor.js +11 -12
- package/dist/cjs/resources/MultipleResourceReferenceEditor.spec.js +8 -27
- package/dist/cjs/resources/SingleResourceReferenceEditor.js +6 -6
- package/dist/cjs/resources/SingleResourceReferenceEditor.spec.js +5 -10
- package/dist/cjs/resources/testHelpers/resourceEditorHelpers.js +0 -7
- package/dist/cjs/resources/useResourceLinkActions.js +1 -10
- package/dist/cjs/utils/fromFieldValidations.js +1 -2
- package/dist/cjs/utils/useSortIDs.js +1 -1
- package/dist/esm/assets/MultipleMediaEditor.js +3 -3
- package/dist/esm/assets/SingleMediaEditor.js +2 -2
- package/dist/esm/assets/WrappedAssetCard/AssetCardActions.js +10 -10
- package/dist/esm/assets/WrappedAssetCard/FetchingWrappedAssetCard.js +6 -11
- package/dist/esm/assets/WrappedAssetCard/WrappedAssetCard.js +6 -14
- package/dist/esm/assets/WrappedAssetCard/WrappedAssetLink.js +5 -6
- package/dist/esm/common/EntityStore.js +3 -20
- package/dist/esm/common/MultipleReferenceEditor.js +6 -13
- package/dist/esm/common/ReferenceEditor.js +2 -2
- package/dist/esm/common/SingleReferenceEditor.js +4 -6
- package/dist/esm/common/SortableLinkList.js +7 -7
- package/dist/esm/common/queryClient.js +3 -10
- package/dist/esm/common/useContentTypePermissions.js +0 -2
- package/dist/esm/common/useEditorPermissions.js +0 -12
- package/dist/esm/common/useEditorPermissions.spec.js +0 -1
- package/dist/esm/components/AssetThumbnail/AssetThumbnail.js +1 -1
- package/dist/esm/components/CreateEntryLinkButton/CreateEntryLinkButton.js +4 -6
- package/dist/esm/components/CreateEntryLinkButton/CreateEntryLinkButton.spec.js +12 -12
- package/dist/esm/components/CreateEntryLinkButton/CreateEntryMenuTrigger.js +13 -21
- package/dist/esm/components/CreateEntryLinkButton/CreateEntryMenuTrigger.spec.js +8 -9
- package/dist/esm/components/LinkActions/CombinedLinkActions.js +19 -30
- package/dist/esm/components/LinkActions/LinkActions.js +9 -9
- package/dist/esm/components/LinkActions/LinkEntityActions.js +7 -14
- package/dist/esm/components/LinkActions/NoLinkPermissionsInfo.js +1 -1
- package/dist/esm/components/LinkActions/helpers.js +0 -9
- package/dist/esm/components/MissingEntityCard/MissingEntityCard.js +6 -6
- package/dist/esm/components/ResourceEntityErrorCard/ResourceEntityErrorCard.js +2 -2
- package/dist/esm/components/ResourceEntityErrorCard/UnsupportedEntityCard.js +2 -2
- package/dist/esm/components/ScheduledIconWithTooltip/ScheduleTooltip.js +1 -1
- package/dist/esm/components/ScheduledIconWithTooltip/ScheduledIconWithTooltip.js +1 -4
- package/dist/esm/components/ScheduledIconWithTooltip/formatDateAndTime.js +2 -11
- package/dist/esm/components/SpaceName/SpaceName.js +4 -4
- package/dist/esm/entries/MultipleEntryReferenceEditor.js +3 -3
- package/dist/esm/entries/SingleEntryReferenceEditor.js +2 -2
- package/dist/esm/entries/WrappedEntryCard/FetchingWrappedEntryCard.js +5 -12
- package/dist/esm/entries/WrappedEntryCard/WrappedEntryCard.js +12 -16
- package/dist/esm/resources/Cards/ContentfulEntryCard.js +1 -8
- package/dist/esm/resources/Cards/ResourceCard.js +7 -9
- package/dist/esm/resources/Cards/ResourceCard.spec.js +2 -3
- package/dist/esm/resources/MultipleResourceReferenceEditor.js +8 -9
- package/dist/esm/resources/MultipleResourceReferenceEditor.spec.js +7 -26
- package/dist/esm/resources/SingleResourceReferenceEditor.js +4 -4
- package/dist/esm/resources/SingleResourceReferenceEditor.spec.js +4 -9
- package/dist/esm/resources/testHelpers/resourceEditorHelpers.js +0 -7
- package/dist/esm/resources/useResourceLinkActions.js +1 -10
- package/dist/esm/utils/fromFieldValidations.js +0 -1
- package/dist/types/assets/MultipleMediaEditor.d.ts +2 -2
- package/dist/types/assets/SingleMediaEditor.d.ts +2 -2
- package/dist/types/assets/WrappedAssetCard/AssetCardActions.d.ts +3 -3
- package/dist/types/assets/WrappedAssetCard/FetchingWrappedAssetCard.d.ts +2 -2
- package/dist/types/assets/WrappedAssetCard/WrappedAssetCard.d.ts +2 -2
- package/dist/types/assets/WrappedAssetCard/WrappedAssetLink.d.ts +2 -2
- package/dist/types/common/EntityStore.d.ts +1 -1
- package/dist/types/common/MultipleReferenceEditor.d.ts +1 -1
- package/dist/types/common/ReferenceEditor.d.ts +1 -1
- package/dist/types/common/SingleReferenceEditor.d.ts +1 -1
- package/dist/types/common/SortableLinkList.d.ts +1 -1
- package/dist/types/common/queryClient.d.ts +1 -1
- package/dist/types/components/AssetThumbnail/AssetThumbnail.d.ts +2 -2
- package/dist/types/components/CreateEntryLinkButton/CreateEntryLinkButton.d.ts +1 -1
- package/dist/types/components/CreateEntryLinkButton/CreateEntryMenuTrigger.d.ts +1 -1
- package/dist/types/components/LinkActions/CombinedLinkActions.d.ts +2 -2
- package/dist/types/components/LinkActions/LinkActions.d.ts +1 -1
- package/dist/types/components/LinkActions/LinkEntityActions.d.ts +2 -2
- package/dist/types/components/LinkActions/NoLinkPermissionsInfo.d.ts +2 -2
- package/dist/types/components/MissingEntityCard/MissingEntityCard.d.ts +2 -2
- package/dist/types/components/ResourceEntityErrorCard/ResourceEntityErrorCard.d.ts +2 -2
- package/dist/types/components/ResourceEntityErrorCard/UnsupportedEntityCard.d.ts +2 -2
- package/dist/types/components/ScheduledIconWithTooltip/ScheduleTooltip.d.ts +1 -1
- package/dist/types/components/ScheduledIconWithTooltip/ScheduledIconWithTooltip.d.ts +1 -1
- package/dist/types/components/SpaceName/SpaceName.d.ts +2 -2
- package/dist/types/entries/MultipleEntryReferenceEditor.d.ts +2 -2
- package/dist/types/entries/SingleEntryReferenceEditor.d.ts +2 -2
- package/dist/types/entries/WrappedEntryCard/FetchingWrappedEntryCard.d.ts +2 -2
- package/dist/types/entries/WrappedEntryCard/WrappedEntryCard.d.ts +1 -1
- package/dist/types/resources/Cards/ContentfulEntryCard.d.ts +2 -2
- package/dist/types/resources/Cards/ResourceCard.d.ts +2 -2
- package/dist/types/resources/MultipleResourceReferenceEditor.d.ts +2 -2
- package/dist/types/resources/SingleResourceReferenceEditor.d.ts +2 -2
- package/package.json +8 -5
|
@@ -8,9 +8,9 @@ Object.defineProperty(exports, "FetchingWrappedEntryCard", {
|
|
|
8
8
|
return FetchingWrappedEntryCard;
|
|
9
9
|
}
|
|
10
10
|
});
|
|
11
|
-
const _react =
|
|
11
|
+
const _react = _interop_require_wildcard(require("react"));
|
|
12
12
|
const _f36components = require("@contentful/f36-components");
|
|
13
|
-
const _get =
|
|
13
|
+
const _get = _interop_require_default(require("lodash/get"));
|
|
14
14
|
const _EntityStore = require("../../common/EntityStore");
|
|
15
15
|
const _components = require("../../components");
|
|
16
16
|
const _WrappedEntryCard = require("./WrappedEntryCard");
|
|
@@ -71,10 +71,7 @@ async function openEntry(sdk, entryId, options) {
|
|
|
71
71
|
});
|
|
72
72
|
slide = result.slide;
|
|
73
73
|
return slide;
|
|
74
|
-
} catch (e) {
|
|
75
|
-
// we don't allow to open multiple bulk editors for performance reasons
|
|
76
|
-
// proceed with a default openEntry
|
|
77
|
-
}
|
|
74
|
+
} catch (e) {}
|
|
78
75
|
}
|
|
79
76
|
const result = await sdk.navigator.openEntry(entryId, {
|
|
80
77
|
slideIn: true
|
|
@@ -121,13 +118,12 @@ function FetchingWrappedEntryCard(props) {
|
|
|
121
118
|
entity: 'Entry'
|
|
122
119
|
});
|
|
123
120
|
}
|
|
124
|
-
// eslint-disable-next-line react-hooks/exhaustive-deps -- TODO: Evaluate the dependencies
|
|
125
121
|
}, [
|
|
126
122
|
entry
|
|
127
123
|
]);
|
|
128
124
|
return _react.useMemo(()=>{
|
|
129
125
|
if (status === 'error') {
|
|
130
|
-
const card =
|
|
126
|
+
const card = _react.createElement(_components.MissingEntityCard, {
|
|
131
127
|
entityType: "Entry",
|
|
132
128
|
isDisabled: props.isDisabled,
|
|
133
129
|
onRemove: onRemoveEntry
|
|
@@ -144,7 +140,7 @@ function FetchingWrappedEntryCard(props) {
|
|
|
144
140
|
return card;
|
|
145
141
|
}
|
|
146
142
|
if (status === 'loading') {
|
|
147
|
-
return
|
|
143
|
+
return _react.createElement(_f36components.EntryCard, {
|
|
148
144
|
size: size,
|
|
149
145
|
isLoading: true
|
|
150
146
|
});
|
|
@@ -175,21 +171,18 @@ function FetchingWrappedEntryCard(props) {
|
|
|
175
171
|
hasCardRemoveActions,
|
|
176
172
|
getAsset,
|
|
177
173
|
getEntityScheduledActions: loadEntityScheduledActions,
|
|
178
|
-
entry:
|
|
174
|
+
entry: props?.entity || sharedCardProps.entity,
|
|
179
175
|
entryUrl: props?.entityUrl || sharedCardProps.entityUrl
|
|
180
176
|
};
|
|
181
|
-
return
|
|
177
|
+
return _react.createElement(_WrappedEntryCard.WrappedEntryCard, builtinCardProps);
|
|
182
178
|
}
|
|
183
179
|
if (props.renderCustomCard) {
|
|
184
|
-
// LinkActionsProps are injected higher SingleReferenceEditor/MultipleReferenceEditor
|
|
185
180
|
const renderedCustomCard = props.renderCustomCard(sharedCardProps, {}, renderDefaultCard);
|
|
186
|
-
// Only `false` indicates to render the original card. E.g. `null` would result in no card.
|
|
187
181
|
if (renderedCustomCard !== false) {
|
|
188
182
|
return renderedCustomCard;
|
|
189
183
|
}
|
|
190
184
|
}
|
|
191
185
|
return renderDefaultCard();
|
|
192
|
-
// eslint-disable-next-line react-hooks/exhaustive-deps -- TODO: Evaluate the dependencies
|
|
193
186
|
}, [
|
|
194
187
|
props,
|
|
195
188
|
status,
|
|
@@ -8,10 +8,10 @@ Object.defineProperty(exports, "WrappedEntryCard", {
|
|
|
8
8
|
return WrappedEntryCard;
|
|
9
9
|
}
|
|
10
10
|
});
|
|
11
|
-
const _react =
|
|
11
|
+
const _react = _interop_require_wildcard(require("react"));
|
|
12
12
|
const _f36components = require("@contentful/f36-components");
|
|
13
13
|
const _f36icons = require("@contentful/f36-icons");
|
|
14
|
-
const _f36tokens =
|
|
14
|
+
const _f36tokens = _interop_require_default(require("@contentful/f36-tokens"));
|
|
15
15
|
const _fieldeditorshared = require("@contentful/field-editor-shared");
|
|
16
16
|
const _emotion = require("emotion");
|
|
17
17
|
const _components = require("../../components");
|
|
@@ -99,7 +99,7 @@ function WrappedEntryCard(props) {
|
|
|
99
99
|
]);
|
|
100
100
|
const status = getEntryStatus(props.entry?.sys);
|
|
101
101
|
if (status === 'deleted') {
|
|
102
|
-
return
|
|
102
|
+
return _react.createElement(_components.MissingEntityCard, {
|
|
103
103
|
entityType: "Entry",
|
|
104
104
|
isDisabled: props.isDisabled,
|
|
105
105
|
onRemove: props.onRemove
|
|
@@ -118,7 +118,7 @@ function WrappedEntryCard(props) {
|
|
|
118
118
|
localeCode: props.localeCode,
|
|
119
119
|
defaultLocaleCode: props.defaultLocaleCode
|
|
120
120
|
});
|
|
121
|
-
return
|
|
121
|
+
return _react.createElement(_f36components.EntryCard, {
|
|
122
122
|
as: props.entryUrl ? 'a' : 'article',
|
|
123
123
|
href: props.entryUrl,
|
|
124
124
|
title: title,
|
|
@@ -127,58 +127,54 @@ function WrappedEntryCard(props) {
|
|
|
127
127
|
size: props.size,
|
|
128
128
|
isSelected: props.isSelected,
|
|
129
129
|
status: status,
|
|
130
|
-
icon: props.spaceName ?
|
|
130
|
+
icon: props.spaceName ? _react.createElement(_SpaceName.SpaceName, {
|
|
131
131
|
spaceName: props.spaceName,
|
|
132
132
|
environmentName: props.entry.sys.environment.sys.id
|
|
133
|
-
}) :
|
|
133
|
+
}) : _react.createElement(_components.ScheduledIconWithTooltip, {
|
|
134
134
|
getEntityScheduledActions: props.getEntityScheduledActions,
|
|
135
135
|
entityType: "Entry",
|
|
136
136
|
entityId: props.entry.sys.id
|
|
137
|
-
},
|
|
137
|
+
}, _react.createElement(_f36icons.ClockIcon, {
|
|
138
138
|
className: styles.scheduleIcon,
|
|
139
139
|
size: "small",
|
|
140
140
|
variant: "muted",
|
|
141
141
|
testId: "schedule-icon"
|
|
142
142
|
})),
|
|
143
|
-
thumbnailElement: file && (0, _fieldeditorshared.isValidImage)(file) ?
|
|
143
|
+
thumbnailElement: file && (0, _fieldeditorshared.isValidImage)(file) ? _react.createElement(_components.AssetThumbnail, {
|
|
144
144
|
file: file
|
|
145
145
|
}) : undefined,
|
|
146
146
|
dragHandleRender: props.renderDragHandle,
|
|
147
147
|
withDragHandle: !!props.renderDragHandle,
|
|
148
148
|
actions: props.onEdit || props.onRemove ? [
|
|
149
|
-
props.hasCardEditActions && props.onEdit ?
|
|
149
|
+
props.hasCardEditActions && props.onEdit ? _react.createElement(_f36components.MenuItem, {
|
|
150
150
|
key: "edit",
|
|
151
151
|
testId: "edit",
|
|
152
152
|
onClick: ()=>{
|
|
153
153
|
props.onEdit && props.onEdit();
|
|
154
154
|
}
|
|
155
155
|
}, "Edit") : null,
|
|
156
|
-
props.hasCardRemoveActions && props.onRemove ?
|
|
156
|
+
props.hasCardRemoveActions && props.onRemove ? _react.createElement(_f36components.MenuItem, {
|
|
157
157
|
key: "delete",
|
|
158
158
|
testId: "delete",
|
|
159
159
|
onClick: ()=>{
|
|
160
160
|
props.onRemove && props.onRemove();
|
|
161
161
|
}
|
|
162
162
|
}, "Remove") : null,
|
|
163
|
-
props.hasCardMoveActions && (props.onMoveTop || props.onMoveBottom) ?
|
|
163
|
+
props.hasCardMoveActions && (props.onMoveTop || props.onMoveBottom) ? _react.createElement(_f36components.MenuDivider, {
|
|
164
164
|
key: "divider"
|
|
165
165
|
}) : null,
|
|
166
|
-
props.hasCardMoveActions && props.onMoveTop ?
|
|
166
|
+
props.hasCardMoveActions && props.onMoveTop ? _react.createElement(_f36components.MenuItem, {
|
|
167
167
|
key: "move-top",
|
|
168
168
|
onClick: ()=>props.onMoveTop && props.onMoveTop(),
|
|
169
169
|
testId: "move-top"
|
|
170
170
|
}, "Move to top") : null,
|
|
171
|
-
props.hasCardMoveActions && props.onMoveBottom ?
|
|
171
|
+
props.hasCardMoveActions && props.onMoveBottom ? _react.createElement(_f36components.MenuItem, {
|
|
172
172
|
key: "move-bottom",
|
|
173
173
|
onClick: ()=>props.onMoveBottom && props.onMoveBottom(),
|
|
174
174
|
testId: "move-bottom"
|
|
175
175
|
}, "Move to bottom") : null
|
|
176
176
|
].filter((item)=>item) : [],
|
|
177
|
-
onClick:
|
|
178
|
-
// features e.g. pressing ENTER on a card to add a new paragraph
|
|
179
|
-
// underneath. It's crucial not to pass a custom handler when
|
|
180
|
-
// isClickable is disabled which in the case of RT it's.
|
|
181
|
-
props.isClickable ? (e)=>{
|
|
177
|
+
onClick: props.isClickable ? (e)=>{
|
|
182
178
|
e.preventDefault();
|
|
183
179
|
if (props.onClick) return props.onClick(e);
|
|
184
180
|
props.onEdit && props.onEdit();
|
|
@@ -8,7 +8,7 @@ Object.defineProperty(exports, "ContentfulEntryCard", {
|
|
|
8
8
|
return ContentfulEntryCard;
|
|
9
9
|
}
|
|
10
10
|
});
|
|
11
|
-
const _react =
|
|
11
|
+
const _react = _interop_require_wildcard(require("react"));
|
|
12
12
|
const _entries = require("../../entries");
|
|
13
13
|
function _getRequireWildcardCache(nodeInterop) {
|
|
14
14
|
if (typeof WeakMap !== "function") return null;
|
|
@@ -51,9 +51,7 @@ function _interop_require_wildcard(obj, nodeInterop) {
|
|
|
51
51
|
}
|
|
52
52
|
return newObj;
|
|
53
53
|
}
|
|
54
|
-
// assets are not shown for small cards (which we hardcode currently)
|
|
55
54
|
const resolveAsset = ()=>Promise.resolve();
|
|
56
|
-
// we don't want to show scheduled actions for resources
|
|
57
55
|
const resolveScheduledActions = ()=>Promise.resolve([]);
|
|
58
56
|
function ContentfulEntryCard({ info, isDisabled, renderDragHandle, onRemove, onMoveTop, onMoveBottom, getEntryRouteHref }) {
|
|
59
57
|
const resourceSys = info.resource.sys;
|
|
@@ -65,19 +63,14 @@ function ContentfulEntryCard({ info, isDisabled, renderDragHandle, onRemove, onM
|
|
|
65
63
|
environmentId,
|
|
66
64
|
entryId
|
|
67
65
|
});
|
|
68
|
-
// TODO: move this into `sdk.navigator.openEntry()`, note that it's signature only include the entry id (not a space or environment)
|
|
69
66
|
const openEntryDetail = ()=>{
|
|
70
67
|
window.open(resourceHref, '_blank', 'noopener,noreferrer');
|
|
71
68
|
};
|
|
72
|
-
return
|
|
69
|
+
return _react.createElement(_entries.WrappedEntryCard, {
|
|
73
70
|
entry: info.resource,
|
|
74
71
|
isDisabled: isDisabled,
|
|
75
72
|
hasCardEditActions: false,
|
|
76
73
|
contentType: info.contentType,
|
|
77
|
-
// we use the default locale from the space the entry belongs to
|
|
78
|
-
// as we assume this gives a more consistent behaviour.
|
|
79
|
-
// locales will inevitably differ from space to space, so it's likely
|
|
80
|
-
// that the current locale does not exist in the "remote" space
|
|
81
74
|
localeCode: info.defaultLocaleCode,
|
|
82
75
|
defaultLocaleCode: info.defaultLocaleCode,
|
|
83
76
|
size: "small",
|
|
@@ -8,7 +8,7 @@ Object.defineProperty(exports, "ResourceCard", {
|
|
|
8
8
|
return ResourceCard;
|
|
9
9
|
}
|
|
10
10
|
});
|
|
11
|
-
const _react =
|
|
11
|
+
const _react = _interop_require_wildcard(require("react"));
|
|
12
12
|
const _reactintersectionobserver = require("react-intersection-observer");
|
|
13
13
|
const _f36components = require("@contentful/f36-components");
|
|
14
14
|
const _EntityStore = require("../../common/EntityStore");
|
|
@@ -56,7 +56,7 @@ function _interop_require_wildcard(obj, nodeInterop) {
|
|
|
56
56
|
return newObj;
|
|
57
57
|
}
|
|
58
58
|
function ResourceCardSkeleton() {
|
|
59
|
-
return
|
|
59
|
+
return _react.createElement(_f36components.EntryCard, {
|
|
60
60
|
size: "small",
|
|
61
61
|
isLoading: true
|
|
62
62
|
});
|
|
@@ -69,16 +69,15 @@ function ExistingResourceCard(props) {
|
|
|
69
69
|
};
|
|
70
70
|
const { data, error } = (0, _EntityStore.useResource)(resourceLink.sys.linkType, resourceLink.sys.urn, resourceOptions);
|
|
71
71
|
if (!data && !error) {
|
|
72
|
-
return
|
|
72
|
+
return _react.createElement(ResourceCardSkeleton, null);
|
|
73
73
|
}
|
|
74
74
|
if (data) {
|
|
75
|
-
|
|
76
|
-
return /*#__PURE__*/ _react.createElement(_ContentfulEntryCard.ContentfulEntryCard, {
|
|
75
|
+
return _react.createElement(_ContentfulEntryCard.ContentfulEntryCard, {
|
|
77
76
|
info: data,
|
|
78
77
|
...props
|
|
79
78
|
});
|
|
80
79
|
}
|
|
81
|
-
return
|
|
80
|
+
return _react.createElement(_components.ResourceEntityErrorCard, {
|
|
82
81
|
linkType: resourceLink.sys.linkType,
|
|
83
82
|
error: error,
|
|
84
83
|
isDisabled: props.isDisabled,
|
|
@@ -89,7 +88,7 @@ function ResourceCardWrapper(props) {
|
|
|
89
88
|
if (!props.resourceLink) {
|
|
90
89
|
return null;
|
|
91
90
|
}
|
|
92
|
-
return
|
|
91
|
+
return _react.createElement(ExistingResourceCard, {
|
|
93
92
|
...props,
|
|
94
93
|
resourceLink: props.resourceLink,
|
|
95
94
|
getEntryRouteHref: props.getEntryRouteHref
|
|
@@ -100,10 +99,9 @@ function ResourceCard(props) {
|
|
|
100
99
|
triggerOnce: true,
|
|
101
100
|
rootMargin: '300px 0px 0px 300px'
|
|
102
101
|
});
|
|
103
|
-
|
|
104
|
-
return /*#__PURE__*/ _react.createElement("div", {
|
|
102
|
+
return _react.createElement("div", {
|
|
105
103
|
ref: ref
|
|
106
|
-
},
|
|
104
|
+
}, _react.createElement(ResourceCardWrapper, {
|
|
107
105
|
...props,
|
|
108
106
|
inView: inView
|
|
109
107
|
}));
|
|
@@ -2,14 +2,14 @@
|
|
|
2
2
|
Object.defineProperty(exports, "__esModule", {
|
|
3
3
|
value: true
|
|
4
4
|
});
|
|
5
|
-
const _react =
|
|
5
|
+
const _react = _interop_require_wildcard(require("react"));
|
|
6
6
|
require("@testing-library/jest-dom");
|
|
7
7
|
const _fieldeditortestutils = require("@contentful/field-editor-test-utils");
|
|
8
8
|
const _react1 = require("@testing-library/react");
|
|
9
|
-
const _published_content_typejson =
|
|
10
|
-
const _published_entry_non_masterjson =
|
|
11
|
-
const _published_entryjson =
|
|
12
|
-
const _indifferent_spacejson =
|
|
9
|
+
const _published_content_typejson = _interop_require_default(require("../../__fixtures__/content-type/published_content_type.json"));
|
|
10
|
+
const _published_entry_non_masterjson = _interop_require_default(require("../../__fixtures__/entry/published_entry_non_master.json"));
|
|
11
|
+
const _published_entryjson = _interop_require_default(require("../../__fixtures__/entry/published_entry.json"));
|
|
12
|
+
const _indifferent_spacejson = _interop_require_default(require("../../__fixtures__/space/indifferent_space.json"));
|
|
13
13
|
const _EntityStore = require("../../common/EntityStore");
|
|
14
14
|
const _ResourceCard = require("./ResourceCard");
|
|
15
15
|
function _interop_require_default(obj) {
|
|
@@ -64,7 +64,6 @@ function _interop_require_wildcard(obj, nodeInterop) {
|
|
|
64
64
|
jest.mock('react-intersection-observer', ()=>({
|
|
65
65
|
useInView: jest.fn().mockReturnValue({})
|
|
66
66
|
}));
|
|
67
|
-
// explicit master
|
|
68
67
|
const resolvableEntryUrn = 'crn:contentful:::content:spaces/space-id/entries/linked-entry-urn';
|
|
69
68
|
const resolvableEntryUrnWithExplicitMaster = 'crn:contentful:::content:spaces/space-id/environments/master/entries/linked-entry-urn';
|
|
70
69
|
const resolvableEntryUrnWithAnotherEnvironment = 'crn:contentful:::content:spaces/space-id/environments/my-test-environment/entries/linked-entry-urn';
|
|
@@ -118,9 +117,9 @@ const sdk = {
|
|
|
118
117
|
}
|
|
119
118
|
};
|
|
120
119
|
function renderResourceCard({ linkType = 'Contentful:Entry', entryUrn = resolvableEntryUrn } = {}) {
|
|
121
|
-
return (0, _react1.render)(
|
|
120
|
+
return (0, _react1.render)(_react.createElement(_EntityStore.EntityProvider, {
|
|
122
121
|
sdk: sdk
|
|
123
|
-
},
|
|
122
|
+
}, _react.createElement(_ResourceCard.ResourceCard, {
|
|
124
123
|
isDisabled: false,
|
|
125
124
|
getEntryRouteHref: ()=>'',
|
|
126
125
|
resourceLink: {
|
|
@@ -8,11 +8,11 @@ Object.defineProperty(exports, "MultipleResourceReferenceEditor", {
|
|
|
8
8
|
return MultipleResourceReferenceEditor;
|
|
9
9
|
}
|
|
10
10
|
});
|
|
11
|
-
const _react =
|
|
11
|
+
const _react = _interop_require_wildcard(require("react"));
|
|
12
12
|
const _fieldeditorshared = require("@contentful/field-editor-shared");
|
|
13
13
|
const _sortable = require("@dnd-kit/sortable");
|
|
14
|
-
const _deepequal =
|
|
15
|
-
const _noop =
|
|
14
|
+
const _deepequal = _interop_require_default(require("deep-equal"));
|
|
15
|
+
const _noop = _interop_require_default(require("lodash/noop"));
|
|
16
16
|
const _EntityStore = require("../common/EntityStore");
|
|
17
17
|
const _SortableLinkList = require("../common/SortableLinkList");
|
|
18
18
|
const _LinkEntityActions = require("../components/LinkActions/LinkEntityActions");
|
|
@@ -93,18 +93,17 @@ function ResourceEditor(props) {
|
|
|
93
93
|
field,
|
|
94
94
|
apiUrl
|
|
95
95
|
});
|
|
96
|
-
return
|
|
96
|
+
return _react.createElement(_react.Fragment, null, props.children({
|
|
97
97
|
...props,
|
|
98
98
|
onSortStart,
|
|
99
99
|
onSortEnd,
|
|
100
100
|
onMove,
|
|
101
101
|
onRemoteItemAtIndex
|
|
102
|
-
}),
|
|
102
|
+
}), _react.createElement(_LinkEntityActions.CombinedLinkEntityActions, {
|
|
103
103
|
...linkActionsProps,
|
|
104
104
|
renderCustomActions: props.renderCustomActions
|
|
105
105
|
}));
|
|
106
106
|
}
|
|
107
|
-
// provides memoized callbacks bound to a given item
|
|
108
107
|
function WithPerItemCallbacks({ listLength, index, onMove, onRemoteItemAtIndex, children }) {
|
|
109
108
|
const handleMoveTop = _react.useMemo(()=>index > 0 ? ()=>onMove(index, 0) : undefined, [
|
|
110
109
|
index,
|
|
@@ -119,7 +118,7 @@ function WithPerItemCallbacks({ listLength, index, onMove, onRemoteItemAtIndex,
|
|
|
119
118
|
index,
|
|
120
119
|
onRemoteItemAtIndex
|
|
121
120
|
]);
|
|
122
|
-
return
|
|
121
|
+
return _react.createElement(_react.Fragment, null, children({
|
|
123
122
|
onMoveBottom: handleMoveBottom,
|
|
124
123
|
onMoveTop: handleMoveTop,
|
|
125
124
|
onRemove: handleRemove
|
|
@@ -127,28 +126,28 @@ function WithPerItemCallbacks({ listLength, index, onMove, onRemoteItemAtIndex,
|
|
|
127
126
|
}
|
|
128
127
|
const EMPTY_ARRAY = [];
|
|
129
128
|
function MultipleResourceReferenceEditor(props) {
|
|
130
|
-
return
|
|
129
|
+
return _react.createElement(_EntityStore.EntityProvider, {
|
|
131
130
|
sdk: props.sdk
|
|
132
|
-
},
|
|
131
|
+
}, _react.createElement(_fieldeditorshared.FieldConnector, {
|
|
133
132
|
debounce: 0,
|
|
134
133
|
field: props.sdk.field,
|
|
135
134
|
isInitiallyDisabled: props.isInitiallyDisabled,
|
|
136
135
|
isEqualValues: _deepequal.default
|
|
137
136
|
}, ({ value, disabled, setValue, externalReset })=>{
|
|
138
|
-
return
|
|
137
|
+
return _react.createElement(ResourceEditor, {
|
|
139
138
|
...props,
|
|
140
139
|
items: value || EMPTY_ARRAY,
|
|
141
140
|
isDisabled: disabled,
|
|
142
141
|
setValue: setValue,
|
|
143
142
|
renderCustomActions: props.renderCustomActions,
|
|
144
143
|
key: `${externalReset}-list`
|
|
145
|
-
}, (editorProps)
|
|
144
|
+
}, (editorProps)=>_react.createElement(_SortableLinkList.SortableLinkList, editorProps, ({ item, isDisabled, DragHandle, index })=>_react.createElement(WithPerItemCallbacks, {
|
|
146
145
|
key: index,
|
|
147
146
|
index: index,
|
|
148
147
|
onMove: editorProps.onMove,
|
|
149
148
|
onRemoteItemAtIndex: editorProps.onRemoteItemAtIndex,
|
|
150
149
|
listLength: value?.length || 0
|
|
151
|
-
}, ({ onMoveBottom, onMoveTop, onRemove })
|
|
150
|
+
}, ({ onMoveBottom, onMoveTop, onRemove })=>_react.createElement(_ResourceCard.ResourceCard, {
|
|
152
151
|
key: index,
|
|
153
152
|
index: index,
|
|
154
153
|
resourceLink: item,
|
|
@@ -2,7 +2,7 @@
|
|
|
2
2
|
Object.defineProperty(exports, "__esModule", {
|
|
3
3
|
value: true
|
|
4
4
|
});
|
|
5
|
-
const _react =
|
|
5
|
+
const _react = _interop_require_wildcard(require("react"));
|
|
6
6
|
require("@testing-library/jest-dom/extend-expect");
|
|
7
7
|
const _react1 = require("@testing-library/react");
|
|
8
8
|
const _EntityStore = require("../common/EntityStore");
|
|
@@ -91,18 +91,16 @@ const fieldDefinition = {
|
|
|
91
91
|
describe('Multiple resource editor', ()=>{
|
|
92
92
|
it('renders the action button when no value is set', async ()=>{
|
|
93
93
|
const sdk = (0, _resourceEditorHelpers.mockSdkForField)(fieldDefinition);
|
|
94
|
-
(0, _react1.render)(
|
|
94
|
+
(0, _react1.render)(_react.createElement(_MultipleResourceReferenceEditor.MultipleResourceReferenceEditor, {
|
|
95
95
|
isInitiallyDisabled: false,
|
|
96
96
|
sdk: sdk,
|
|
97
97
|
hasCardEditActions: true,
|
|
98
98
|
viewType: "card",
|
|
99
|
-
// @ts-expect-error unused...
|
|
100
99
|
parameters: {}
|
|
101
100
|
}));
|
|
102
101
|
const button = await _react1.screen.findByText('Add existing content');
|
|
103
102
|
expect(button).toBeDefined();
|
|
104
103
|
_react1.fireEvent.click(button);
|
|
105
|
-
// @ts-expect-error wait app-sdk version update
|
|
106
104
|
const dialogFn = sdk.dialogs.selectMultipleResourceEntries;
|
|
107
105
|
expect(dialogFn).toHaveBeenCalledTimes(1);
|
|
108
106
|
const options = dialogFn.mock.calls[0][0];
|
|
@@ -112,14 +110,13 @@ describe('Multiple resource editor', ()=>{
|
|
|
112
110
|
});
|
|
113
111
|
it('renders custom actions when passed', async ()=>{
|
|
114
112
|
const sdk = (0, _resourceEditorHelpers.mockSdkForField)(fieldDefinition);
|
|
115
|
-
(0, _react1.render)(
|
|
113
|
+
(0, _react1.render)(_react.createElement(_MultipleResourceReferenceEditor.MultipleResourceReferenceEditor, {
|
|
116
114
|
isInitiallyDisabled: false,
|
|
117
115
|
sdk: sdk,
|
|
118
116
|
hasCardEditActions: true,
|
|
119
117
|
viewType: "card",
|
|
120
|
-
// @ts-expect-error unused...
|
|
121
118
|
parameters: {},
|
|
122
|
-
renderCustomActions: ()
|
|
119
|
+
renderCustomActions: ()=>_react.createElement("div", {
|
|
123
120
|
"data-testid": "custom-actions"
|
|
124
121
|
})
|
|
125
122
|
}));
|
|
@@ -134,18 +131,16 @@ describe('Multiple resource editor', ()=>{
|
|
|
134
131
|
mockedResources[`${link.sys.linkType}.${link.sys.urn}`] = entryInfos[spaceId];
|
|
135
132
|
}
|
|
136
133
|
const sdk = (0, _resourceEditorHelpers.mockSdkForField)(fieldDefinition, Object.values(entryLinks));
|
|
137
|
-
(0, _react1.render)(
|
|
134
|
+
(0, _react1.render)(_react.createElement(_MultipleResourceReferenceEditor.MultipleResourceReferenceEditor, {
|
|
138
135
|
isInitiallyDisabled: false,
|
|
139
136
|
sdk: sdk,
|
|
140
137
|
hasCardEditActions: true,
|
|
141
138
|
viewType: "card",
|
|
142
139
|
apiUrl: "test-contentful",
|
|
143
140
|
getEntryRouteHref: ()=>'',
|
|
144
|
-
// @ts-expect-error unused...
|
|
145
141
|
parameters: {}
|
|
146
142
|
}));
|
|
147
143
|
expect(_EntityStore.useResource).toHaveBeenCalledTimes(Object.values(entryInfos).length);
|
|
148
|
-
// ensure the card is rendered for every value
|
|
149
144
|
const cards = [];
|
|
150
145
|
const entriesArray = Object.values(entryInfos);
|
|
151
146
|
for (const info of Array.from(entriesArray.values())){
|
|
@@ -163,26 +158,21 @@ describe('Multiple resource editor', ()=>{
|
|
|
163
158
|
mockedResources[`${link.sys.linkType}.${link.sys.urn}`] = entryInfos[spaceId];
|
|
164
159
|
}
|
|
165
160
|
const sdk = (0, _resourceEditorHelpers.mockSdkForField)(fieldDefinition, Object.values(entryLinks));
|
|
166
|
-
(0, _react1.render)(
|
|
161
|
+
(0, _react1.render)(_react.createElement(_MultipleResourceReferenceEditor.MultipleResourceReferenceEditor, {
|
|
167
162
|
isInitiallyDisabled: false,
|
|
168
163
|
sdk: sdk,
|
|
169
164
|
hasCardEditActions: true,
|
|
170
165
|
viewType: "card",
|
|
171
166
|
apiUrl: "test-contentful",
|
|
172
167
|
getEntryRouteHref: ()=>'',
|
|
173
|
-
// @ts-expect-error unused...
|
|
174
168
|
parameters: {}
|
|
175
169
|
}));
|
|
176
|
-
// expect(useResource).toHaveBeenCalledTimes(Object.values(entryInfos).length);
|
|
177
|
-
// linking more is available
|
|
178
170
|
const linkExistingBtn = _react1.screen.queryByText('Add existing content');
|
|
179
171
|
expect(linkExistingBtn).toBeInTheDocument();
|
|
180
|
-
// ensure the card is rendered for every value
|
|
181
172
|
const entriesArray = Object.values(entryInfos);
|
|
182
173
|
const firstItem = entriesArray[0];
|
|
183
174
|
await expectToNotHaveMoveButton(firstItem, 'Move to top');
|
|
184
175
|
const allButFirst = entriesArray.slice(1);
|
|
185
|
-
// move actions are available
|
|
186
176
|
for (const info of allButFirst){
|
|
187
177
|
await expectToHaveMoveButton(info, 'Move to top');
|
|
188
178
|
}
|
|
@@ -194,21 +184,17 @@ describe('Multiple resource editor', ()=>{
|
|
|
194
184
|
mockedResources[`${link.sys.linkType}.${link.sys.urn}`] = entryInfos[spaceId];
|
|
195
185
|
}
|
|
196
186
|
const sdk = (0, _resourceEditorHelpers.mockSdkForField)(fieldDefinition, Object.values(entryLinks));
|
|
197
|
-
(0, _react1.render)(
|
|
187
|
+
(0, _react1.render)(_react.createElement(_MultipleResourceReferenceEditor.MultipleResourceReferenceEditor, {
|
|
198
188
|
isInitiallyDisabled: false,
|
|
199
189
|
sdk: sdk,
|
|
200
190
|
hasCardEditActions: true,
|
|
201
191
|
viewType: "card",
|
|
202
192
|
apiUrl: "test-contentful",
|
|
203
193
|
getEntryRouteHref: ()=>'',
|
|
204
|
-
// @ts-expect-error unused...
|
|
205
194
|
parameters: {}
|
|
206
195
|
}));
|
|
207
|
-
// expect(useResource).toHaveBeenCalledTimes(Object.values(entryInfos).length);
|
|
208
|
-
// linking more is available
|
|
209
196
|
const linkExistingBtn = _react1.screen.queryByText('Add existing content');
|
|
210
197
|
expect(linkExistingBtn).toBeInTheDocument();
|
|
211
|
-
// ensure the card is rendered for every value
|
|
212
198
|
const entriesArray = Object.values(entryInfos);
|
|
213
199
|
const lastItem = entriesArray[entriesArray.length - 1];
|
|
214
200
|
await expectToNotHaveMoveButton(lastItem, 'Move to bottom');
|
|
@@ -224,21 +210,17 @@ describe('Multiple resource editor', ()=>{
|
|
|
224
210
|
mockedResources[`${link.sys.linkType}.${link.sys.urn}`] = entryInfos[spaceId];
|
|
225
211
|
}
|
|
226
212
|
const sdk = (0, _resourceEditorHelpers.mockSdkForField)(fieldDefinition, Object.values(entryLinks));
|
|
227
|
-
(0, _react1.render)(
|
|
213
|
+
(0, _react1.render)(_react.createElement(_MultipleResourceReferenceEditor.MultipleResourceReferenceEditor, {
|
|
228
214
|
isInitiallyDisabled: false,
|
|
229
215
|
sdk: sdk,
|
|
230
216
|
hasCardEditActions: true,
|
|
231
217
|
viewType: "card",
|
|
232
218
|
apiUrl: "test-contentful",
|
|
233
219
|
getEntryRouteHref: ()=>'',
|
|
234
|
-
// @ts-expect-error unused...
|
|
235
220
|
parameters: {}
|
|
236
221
|
}));
|
|
237
|
-
// expect(useResource).toHaveBeenCalledTimes(Object.values(entryInfos).length);
|
|
238
|
-
// linking more is available
|
|
239
222
|
const linkExistingBtn = _react1.screen.queryByText('Add existing content');
|
|
240
223
|
expect(linkExistingBtn).toBeInTheDocument();
|
|
241
|
-
// ensure the card is rendered for every value
|
|
242
224
|
const entriesArray = Object.values(entryInfos);
|
|
243
225
|
for (const info of entriesArray){
|
|
244
226
|
await clickCardActionsButton(info);
|
|
@@ -247,7 +229,6 @@ describe('Multiple resource editor', ()=>{
|
|
|
247
229
|
});
|
|
248
230
|
_react1.fireEvent.click(removeBtn);
|
|
249
231
|
}
|
|
250
|
-
// all cards were deleted
|
|
251
232
|
expect(sdk.field.setValue).toHaveBeenCalledTimes(3);
|
|
252
233
|
expect(sdk.field.setValue).toHaveBeenCalledWith([]);
|
|
253
234
|
});
|
|
@@ -8,9 +8,9 @@ Object.defineProperty(exports, "SingleResourceReferenceEditor", {
|
|
|
8
8
|
return SingleResourceReferenceEditor;
|
|
9
9
|
}
|
|
10
10
|
});
|
|
11
|
-
const _react =
|
|
11
|
+
const _react = _interop_require_wildcard(require("react"));
|
|
12
12
|
const _fieldeditorshared = require("@contentful/field-editor-shared");
|
|
13
|
-
const _deepequal =
|
|
13
|
+
const _deepequal = _interop_require_default(require("deep-equal"));
|
|
14
14
|
const _EntityStore = require("../common/EntityStore");
|
|
15
15
|
const _LinkEntityActions = require("../components/LinkActions/LinkEntityActions");
|
|
16
16
|
const _ResourceCard = require("./Cards/ResourceCard");
|
|
@@ -68,20 +68,20 @@ function SingleResourceReferenceEditor(props) {
|
|
|
68
68
|
field,
|
|
69
69
|
apiUrl: props.apiUrl
|
|
70
70
|
});
|
|
71
|
-
return
|
|
71
|
+
return _react.createElement(_EntityStore.EntityProvider, {
|
|
72
72
|
sdk: props.sdk
|
|
73
|
-
},
|
|
73
|
+
}, _react.createElement(_fieldeditorshared.FieldConnector, {
|
|
74
74
|
debounce: 0,
|
|
75
75
|
field: props.sdk.field,
|
|
76
76
|
isInitiallyDisabled: props.isInitiallyDisabled,
|
|
77
77
|
isEqualValues: _deepequal.default
|
|
78
78
|
}, ({ value, disabled })=>{
|
|
79
|
-
return value ?
|
|
79
|
+
return value ? _react.createElement(_ResourceCard.ResourceCard, {
|
|
80
80
|
onRemove: ()=>props.sdk.field.removeValue(),
|
|
81
81
|
resourceLink: value,
|
|
82
82
|
isDisabled: disabled,
|
|
83
83
|
getEntryRouteHref: props.getEntryRouteHref
|
|
84
|
-
}) :
|
|
84
|
+
}) : _react.createElement(_LinkEntityActions.CombinedLinkEntityActions, {
|
|
85
85
|
...linkActionsProps,
|
|
86
86
|
renderCustomActions: props.renderCustomActions
|
|
87
87
|
});
|
|
@@ -2,7 +2,7 @@
|
|
|
2
2
|
Object.defineProperty(exports, "__esModule", {
|
|
3
3
|
value: true
|
|
4
4
|
});
|
|
5
|
-
const _react =
|
|
5
|
+
const _react = _interop_require_wildcard(require("react"));
|
|
6
6
|
require("@testing-library/jest-dom/extend-expect");
|
|
7
7
|
const _react1 = require("@testing-library/react");
|
|
8
8
|
const _EntityStore = require("../common/EntityStore");
|
|
@@ -87,18 +87,16 @@ const fieldDefinition = {
|
|
|
87
87
|
describe('Single resource editor', ()=>{
|
|
88
88
|
it('renders the action button when no value is set', async ()=>{
|
|
89
89
|
const sdk = (0, _resourceEditorHelpers.mockSdkForField)(fieldDefinition);
|
|
90
|
-
(0, _react1.render)(
|
|
90
|
+
(0, _react1.render)(_react.createElement(_SingleResourceReferenceEditor.SingleResourceReferenceEditor, {
|
|
91
91
|
isInitiallyDisabled: false,
|
|
92
92
|
sdk: sdk,
|
|
93
93
|
hasCardEditActions: true,
|
|
94
94
|
viewType: "card",
|
|
95
|
-
// @ts-expect-error unused...
|
|
96
95
|
parameters: {}
|
|
97
96
|
}));
|
|
98
97
|
const button = await _react1.screen.findByText('Add existing content');
|
|
99
98
|
expect(button).toBeDefined();
|
|
100
99
|
_react1.fireEvent.click(button);
|
|
101
|
-
// @ts-expect-error wait app-sdk version update
|
|
102
100
|
const dialogFn = sdk.dialogs.selectSingleResourceEntry;
|
|
103
101
|
expect(dialogFn).toHaveBeenCalledTimes(1);
|
|
104
102
|
const options = dialogFn.mock.calls[0][0];
|
|
@@ -108,14 +106,13 @@ describe('Single resource editor', ()=>{
|
|
|
108
106
|
});
|
|
109
107
|
it('renders custom actions when passed', async ()=>{
|
|
110
108
|
const sdk = (0, _resourceEditorHelpers.mockSdkForField)(fieldDefinition);
|
|
111
|
-
(0, _react1.render)(
|
|
109
|
+
(0, _react1.render)(_react.createElement(_SingleResourceReferenceEditor.SingleResourceReferenceEditor, {
|
|
112
110
|
isInitiallyDisabled: false,
|
|
113
111
|
sdk: sdk,
|
|
114
112
|
hasCardEditActions: true,
|
|
115
113
|
viewType: "card",
|
|
116
|
-
// @ts-expect-error unused...
|
|
117
114
|
parameters: {},
|
|
118
|
-
renderCustomActions: ()
|
|
115
|
+
renderCustomActions: ()=>_react.createElement("div", {
|
|
119
116
|
"data-testid": "custom-actions"
|
|
120
117
|
})
|
|
121
118
|
}));
|
|
@@ -139,18 +136,16 @@ describe('Single resource editor', ()=>{
|
|
|
139
136
|
}
|
|
140
137
|
});
|
|
141
138
|
mockedResources[`Contentful:Entry.crn:test:::content:spaces/x-space/entries/linkedEntryId`] = info;
|
|
142
|
-
(0, _react1.render)(
|
|
139
|
+
(0, _react1.render)(_react.createElement(_SingleResourceReferenceEditor.SingleResourceReferenceEditor, {
|
|
143
140
|
isInitiallyDisabled: false,
|
|
144
141
|
sdk: sdk,
|
|
145
142
|
hasCardEditActions: true,
|
|
146
143
|
viewType: "card",
|
|
147
144
|
apiUrl: "test-contentful",
|
|
148
145
|
getEntryRouteHref: jest.fn(),
|
|
149
|
-
// @ts-expect-error unused...
|
|
150
146
|
parameters: {}
|
|
151
147
|
}));
|
|
152
148
|
expect(_EntityStore.useResource).toHaveBeenCalled();
|
|
153
|
-
// ensure the card is rendered
|
|
154
149
|
const title = await _react1.screen.findByText('Title of linked entry');
|
|
155
150
|
await _react1.screen.findByText('X Space');
|
|
156
151
|
const theCard = title.closest('[data-test-id="cf-ui-entry-card"]');
|