Skip to content

Commit

Permalink
update getpicturelist function for filtering
Browse files Browse the repository at this point in the history
  • Loading branch information
devketanpro committed Feb 27, 2024
1 parent 0e26d21 commit 8def5be
Show file tree
Hide file tree
Showing 3 changed files with 21 additions and 10 deletions.
6 changes: 2 additions & 4 deletions assets/wire/components/ItemDetails.tsx
Original file line number Diff line number Diff line change
Expand Up @@ -14,7 +14,6 @@ import {
DISPLAY_ABSTRACT,
isPreformatted,
getPictureList,
getBodyPictureList
} from 'wire/utils';
import types from 'wire/types';
import Content from 'ui/components/Content';
Expand Down Expand Up @@ -51,8 +50,8 @@ function ItemDetails({
const featureMedia = getFeatureMedia(item);
const media = getOtherMedia(item);
const itemType = isPreformatted(item) ? 'preformatted' : 'text';
const allMedia = getPictureList(item);
const bodyImages = getBodyPictureList(item);
const allMedia = getPictureList(item, {includeFeatured:false, includeEditor: false});

return (
<Content type="item-detail">
<ContentHeader>
Expand All @@ -77,7 +76,6 @@ function ItemDetails({
)}
{allMedia && (
allMedia
.filter((mediaItem) => mediaItem.guid !== featureMedia?.guid && bodyImages.includes(mediaItem))
.map((data) => (
<MediaPreview
key={data?.guid}
Expand Down
6 changes: 2 additions & 4 deletions assets/wire/components/WirePreview.tsx
Original file line number Diff line number Diff line change
Expand Up @@ -10,7 +10,6 @@ import {
isKilled,
DISPLAY_ABSTRACT,
getPictureList,
getBodyPictureList
} from 'wire/utils';
import types from 'wire/types';

Expand Down Expand Up @@ -51,9 +50,9 @@ class WirePreview extends React.PureComponent<any, any> {
const {item, user, actions, followStory, topics, previewConfig, downloadMedia, listConfig, filterGroupLabels} = this.props;
const featureMedia = getFeatureMedia(item);
const media = getOtherMedia(item);
const allMedia = getPictureList(item);
const allMedia = getPictureList(item, {includeFeatured:false, includeEditor: false});
const previousVersions = 'preview_versions';
const bodyImages = getBodyPictureList(item);

return (
<Preview onCloseClick={this.props.closePreview} published={item.versioncreated}>
<div className='wire-column__preview__top-bar'>
Expand Down Expand Up @@ -88,7 +87,6 @@ class WirePreview extends React.PureComponent<any, any> {
)}
{allMedia && (
allMedia
.filter((mediaItem) => mediaItem.guid !== featureMedia?.guid && bodyImages.includes(mediaItem))
.map((data) => (
<MediaPreview
key={data.guid}
Expand Down
19 changes: 17 additions & 2 deletions assets/wire/utils.ts
Original file line number Diff line number Diff line change
Expand Up @@ -108,10 +108,25 @@ function getBodyPicture(item: IArticle): IArticle | null {
return pictures.length ? pictures[0] : null;
}

export function getPictureList(item: IArticle): Array<IArticle> {
export function getPictureList(item: IArticle, options: {includeFeatured?: boolean, includeEditor?: boolean} = {}): IArticle[] {
const pictures = Object.values(item.associations ?? {})
.filter((association) => association?.type === 'picture') as IArticle[];
return pictures.length ? pictures : [];

const {includeFeatured = true, includeEditor = true} = options;

let filteredPictures = pictures;

if (!includeFeatured) {
const featureMedia = getFeatureMedia(item);
filteredPictures = featureMedia ? filteredPictures.filter((mediaItem) => mediaItem.guid !== featureMedia.guid) : filteredPictures;
}

if (!includeEditor) {
const bodyMedia = getBodyPictureList(item);
filteredPictures = filteredPictures.filter((mediaItem) => bodyMedia.includes(mediaItem));
}

return filteredPictures;
}

export function getBodyPictureList(item: IArticle): Array<IArticle> {
Expand Down

0 comments on commit 8def5be

Please sign in to comment.