@contentful/field-editor-shared 2.11.2 → 2.12.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.
Files changed (21) hide show
  1. package/dist/cjs/LocalePublishingEntityStatusBadge/LocalePublishingPopover.js +2 -1
  2. package/dist/cjs/ReleaseEntityStatusBadge/ReleaseEntityStatusPopover.js +2 -1
  3. package/dist/cjs/hooks/useActiveReleaseLocalesStatuses.js +13 -10
  4. package/dist/cjs/hooks/useActiveReleaseLocalesStatuses.spec.js +236 -245
  5. package/dist/cjs/index.js +1 -1
  6. package/dist/cjs/utils/{getEntryReleaseStatus.js → getEntityReleaseStatus.js} +4 -4
  7. package/dist/cjs/utils/{getPreviousReleaseEntryVersion.js → getPreviousReleaseEntity.js} +5 -5
  8. package/dist/esm/LocalePublishingEntityStatusBadge/LocalePublishingPopover.js +3 -2
  9. package/dist/esm/ReleaseEntityStatusBadge/ReleaseEntityStatusPopover.js +3 -2
  10. package/dist/esm/hooks/useActiveReleaseLocalesStatuses.js +13 -10
  11. package/dist/esm/hooks/useActiveReleaseLocalesStatuses.spec.js +236 -245
  12. package/dist/esm/index.js +1 -1
  13. package/dist/esm/utils/{getEntryReleaseStatus.js → getEntityReleaseStatus.js} +2 -2
  14. package/dist/esm/utils/{getPreviousReleaseEntryVersion.js → getPreviousReleaseEntity.js} +3 -3
  15. package/dist/types/LocalePublishingEntityStatusBadge/LocalePublishingPopover.d.ts +1 -1
  16. package/dist/types/hooks/useActiveReleaseLocalesStatuses.d.ts +5 -4
  17. package/dist/types/index.d.ts +1 -1
  18. package/dist/types/types.d.ts +2 -2
  19. package/dist/types/utils/{getEntryReleaseStatus.d.ts → getEntityReleaseStatus.d.ts} +2 -2
  20. package/dist/types/utils/{getPreviousReleaseEntryVersion.d.ts → getPreviousReleaseEntity.d.ts} +3 -2
  21. package/package.json +2 -2
@@ -2,15 +2,15 @@
2
2
  Object.defineProperty(exports, "__esModule", {
3
3
  value: true
4
4
  });
5
- Object.defineProperty(exports, "getEntryReleaseStatus", {
5
+ Object.defineProperty(exports, "getEntityReleaseStatus", {
6
6
  enumerable: true,
7
7
  get: function() {
8
- return getEntryReleaseStatus;
8
+ return getEntityReleaseStatus;
9
9
  }
10
10
  });
11
11
  const _determineReleaseAction = require("./determineReleaseAction");
12
- function getEntryReleaseStatus(entryId, locales, release) {
13
- const { releaseAction, entityItem, addLocales, removeLocales } = (0, _determineReleaseAction.determineReleaseAction)(entryId, release);
12
+ function getEntityReleaseStatus(entityId, locales, release) {
13
+ const { releaseAction, entityItem, addLocales, removeLocales } = (0, _determineReleaseAction.determineReleaseAction)(entityId, release);
14
14
  if (releaseAction === 'not-in-release' || !entityItem) {
15
15
  return {
16
16
  releaseAction
@@ -2,14 +2,14 @@
2
2
  Object.defineProperty(exports, "__esModule", {
3
3
  value: true
4
4
  });
5
- Object.defineProperty(exports, "getPreviousReleaseEntryVersion", {
5
+ Object.defineProperty(exports, "getPreviousReleaseEntity", {
6
6
  enumerable: true,
7
7
  get: function() {
8
- return getPreviousReleaseEntryVersion;
8
+ return getPreviousReleaseEntity;
9
9
  }
10
10
  });
11
11
  const _datefns = require("date-fns");
12
- function getPreviousReleaseEntryVersion({ entryId, releaseVersionMap, activeRelease, releases }) {
12
+ function getPreviousReleaseEntity({ entityId, entityType, releaseVersionMap, activeRelease, releases }) {
13
13
  const orderedScheduledReleases = releases?.items.filter((r)=>r.startDate).sort((a, b)=>(0, _datefns.compareAsc)(new Date(a.startDate), new Date(b.startDate)));
14
14
  const indexOfActive = orderedScheduledReleases?.findIndex((r)=>r.sys.id === activeRelease?.sys.id);
15
15
  let previousRelease;
@@ -17,10 +17,10 @@ function getPreviousReleaseEntryVersion({ entryId, releaseVersionMap, activeRele
17
17
  if (indexOfActive && indexOfActive > 0) {
18
18
  for(let i = indexOfActive - 1; i >= 0; i--){
19
19
  const release = orderedScheduledReleases[i];
20
- const action = releaseVersionMap.get(entryId)?.get(release.sys.id);
20
+ const action = releaseVersionMap.get(entityId)?.get(release.sys.id);
21
21
  if (action !== 'not-in-release') {
22
22
  previousRelease = release;
23
- previousReleaseEntity = release.entities.items.find((e)=>e.entity.sys.id === entryId);
23
+ previousReleaseEntity = release.entities.items.find((e)=>e.entity.sys.id === entityId && e.entity.sys.linkType === entityType);
24
24
  break;
25
25
  }
26
26
  }
@@ -1,6 +1,6 @@
1
1
  import React, { useCallback, useRef, useState } from 'react';
2
2
  import { EntityStatusBadge, Flex, Popover } from '@contentful/f36-components';
3
- import { ArrowDownIcon } from '@contentful/f36-icons';
3
+ import { CaretDownIcon } from '@contentful/f36-icons';
4
4
  import tokens from '@contentful/f36-tokens';
5
5
  import { cx, css } from 'emotion';
6
6
  import * as entityHelpers from '../utils/entityHelpers';
@@ -206,7 +206,8 @@ export function LocalePublishingPopover({ entity, jobs, isScheduled, localesStat
206
206
  tabIndex: 0,
207
207
  onFocus: ()=>setIsOpen(true),
208
208
  onBlur: ()=>setIsOpen(false),
209
- endIcon: /*#__PURE__*/ React.createElement(ArrowDownIcon, {
209
+ endIcon: /*#__PURE__*/ React.createElement(CaretDownIcon, {
210
+ size: "tiny",
210
211
  color: getIconColor(entityStatus)
211
212
  }),
212
213
  onMouseOver: onMouseEnter,
@@ -1,6 +1,6 @@
1
1
  import React, { useCallback, useRef, useState } from 'react';
2
2
  import { Badge, Flex, Popover, Skeleton } from '@contentful/f36-components';
3
- import { ArrowDownIcon } from '@contentful/f36-icons';
3
+ import { CaretDownIcon } from '@contentful/f36-icons';
4
4
  import tokens from '@contentful/f36-tokens';
5
5
  import { cx, css } from 'emotion';
6
6
  import { RELEASE_BADGES } from './constants';
@@ -177,7 +177,8 @@ export function ReleaseEntityStatusPopover({ releaseLocalesStatusMap, activeLoca
177
177
  variant: RELEASE_BADGES[status.primary].variant,
178
178
  onFocus: ()=>setIsOpen(true),
179
179
  onBlur: ()=>setIsOpen(false),
180
- endIcon: /*#__PURE__*/ React.createElement(ArrowDownIcon, {
180
+ endIcon: /*#__PURE__*/ React.createElement(CaretDownIcon, {
181
+ size: "tiny",
181
182
  color: RELEASE_BADGES[status.primary].icon
182
183
  }),
183
184
  onMouseOver: onMouseEnter,
@@ -1,20 +1,23 @@
1
1
  import { useCallback, useMemo } from 'react';
2
- import { getPreviousReleaseEntryVersion } from '../utils/getPreviousReleaseEntryVersion';
3
- export const useActiveReleaseLocalesStatuses = ({ currentEntryDraft, entryId, releaseVersionMap, locales, activeRelease, releases })=>{
4
- const previousReleaseEntity = useMemo(()=>getPreviousReleaseEntryVersion({
5
- entryId,
2
+ import { getPreviousReleaseEntity } from '../utils/getPreviousReleaseEntity';
3
+ export const useActiveReleaseLocalesStatuses = ({ currentEntityDraft, entityId, entityType, releaseVersionMap, locales, activeRelease, releases })=>{
4
+ const previousReleaseEntity = useMemo(()=>getPreviousReleaseEntity({
5
+ entityId,
6
+ entityType,
6
7
  releaseVersionMap,
7
8
  activeRelease,
8
9
  releases
9
10
  }).previousReleaseEntity, [
10
- entryId,
11
+ entityId,
12
+ entityType,
11
13
  releaseVersionMap,
12
14
  activeRelease,
13
15
  releases
14
16
  ]);
15
- const activeReleaseReleaseEntity = useMemo(()=>activeRelease?.entities.items.find((entity)=>entity.entity.sys.id === entryId), [
17
+ const activeReleaseReleaseEntity = useMemo(()=>activeRelease?.entities.items.find((entity)=>entity.entity.sys.id === entityId && entity.entity.sys.linkType === entityType), [
16
18
  activeRelease?.entities.items,
17
- entryId
19
+ entityId,
20
+ entityType
18
21
  ]);
19
22
  const getLocaleStatus = useCallback((localeCode)=>{
20
23
  if (!activeReleaseReleaseEntity) {
@@ -42,8 +45,8 @@ export const useActiveReleaseLocalesStatuses = ({ currentEntryDraft, entryId, re
42
45
  return acc;
43
46
  }
44
47
  if (getLocaleStatus(locale.code) === 'draft') {
45
- if (currentEntryDraft?.sys.fieldStatus) {
46
- const previousStatus = currentEntryDraft.sys.fieldStatus['*'][locale.code];
48
+ if (currentEntityDraft?.sys.fieldStatus) {
49
+ const previousStatus = currentEntityDraft.sys.fieldStatus['*'][locale.code];
47
50
  if (previousStatus === 'published' || previousStatus === 'changed') {
48
51
  acc.set(locale.code, {
49
52
  status: 'becomesDraft',
@@ -90,7 +93,7 @@ export const useActiveReleaseLocalesStatuses = ({ currentEntryDraft, entryId, re
90
93
  locales,
91
94
  activeReleaseReleaseEntity,
92
95
  getLocaleStatus,
93
- currentEntryDraft?.sys.fieldStatus,
96
+ currentEntityDraft?.sys.fieldStatus,
94
97
  previousReleaseEntity
95
98
  ]);
96
99
  return {