Skip to content

Commit

Permalink
Merge remote-tracking branch 'admin-ui/4.6'
Browse files Browse the repository at this point in the history
  • Loading branch information
Mateusz Dębiński committed Jan 10, 2025
2 parents bb72bb2 + 9c88bf4 commit cbb4b13
Show file tree
Hide file tree
Showing 2 changed files with 68 additions and 15 deletions.
Original file line number Diff line number Diff line change
Expand Up @@ -257,7 +257,17 @@ export const findLocationsBySearchQuery = (
};

export const findLocationsById = (
{ token, siteaccess, accessToken, id, limit = QUERY_LIMIT, offset = 0, instanceUrl = DEFAULT_INSTANCE_URL },
{
token,
siteaccess,
accessToken,
id,
noLanguageCode = false,
useAlwaysAvailable = undefined,
limit = QUERY_LIMIT,
offset = 0,
instanceUrl = DEFAULT_INSTANCE_URL,
},
callback,
) => {
const body = {
Expand All @@ -271,10 +281,17 @@ export const findLocationsById = (
limit,
offset,
},
useAlwaysAvailable,
},
};

addLanguageCodeToCreateViewEndpoint(body);
if (useAlwaysAvailable !== undefined) {
body.ViewInput.useAlwaysAvailable = useAlwaysAvailable;
}

if (!noLanguageCode) {
addLanguageCodeToCreateViewEndpoint(body);
}

const request = new Request(`${instanceUrl}${ENDPOINT_CREATE_VIEW}`, {
method: 'POST',
Expand Down Expand Up @@ -424,7 +441,18 @@ export const createDraft = ({ token, siteaccess, accessToken, contentId, instanc
};

export const loadContentInfo = (
{ token, siteaccess, accessToken, contentId, limit = QUERY_LIMIT, offset = 0, signal, instanceUrl = DEFAULT_INSTANCE_URL },
{
token,
siteaccess,
accessToken,
contentId,
noLanguageCode = false,
useAlwaysAvailable = undefined,
limit = QUERY_LIMIT,
offset = 0,
signal,
instanceUrl = DEFAULT_INSTANCE_URL,
},
callback,
) => {
const body = {
Expand All @@ -438,10 +466,17 @@ export const loadContentInfo = (
limit,
offset,
},
useAlwaysAvailable,
},
};

addLanguageCodeToCreateViewEndpoint(body);
if (useAlwaysAvailable !== undefined) {
body.ViewInput.useAlwaysAvailable = useAlwaysAvailable;
}

if (!noLanguageCode) {
addLanguageCodeToCreateViewEndpoint(body);
}

const request = new Request(`${instanceUrl}${ENDPOINT_CREATE_VIEW}`, {
method: 'POST',
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -244,7 +244,7 @@ const UniversalDiscoveryModule = (props) => {
.join(',');

if (!locationIds) {
return Promise.resolve([]);
return Promise.resolve(null);
}

return new Promise((resolve) => {
Expand All @@ -262,10 +262,19 @@ const UniversalDiscoveryModule = (props) => {
return Promise.resolve([]);
}

const contentId = locationsWithoutVersion.map((item) => item.location.ContentInfo.Content._id).join(',');
const contentIds = locationsWithoutVersion.map((item) => item.location.ContentInfo.Content._id).join(',');

return new Promise((resolve) => {
loadContentInfo({ ...restInfo, contentId, signal }, (response) => resolve(response));
loadContentInfo(
{
...restInfo,
noLanguageCode: true,
useAlwaysAvailable: true,
contentId: contentIds,
signal,
},
(response) => resolve(response),
);
});
};
const contentTypesMapGlobal = useMemo(
Expand Down Expand Up @@ -344,15 +353,24 @@ const UniversalDiscoveryModule = (props) => {
return;
}

findLocationsById({ ...restInfo, id: props.selectedLocations.join(','), limit: props.selectedLocations.length }, (locations) => {
const mappedLocation = props.selectedLocations.map((locationId) => {
const location = locations.find(({ id }) => id === parseInt(locationId, 10));
findLocationsById(
{
...restInfo,
noLanguageCode: true,
useAlwaysAvailable: true,
id: props.selectedLocations.join(','),
limit: props.selectedLocations.length,
},
(locations) => {
const mappedLocation = props.selectedLocations.map((locationId) => {
const location = locations.find(({ id }) => id === parseInt(locationId, 10));

return { location };
});
return { location };
});

dispatchSelectedLocationsAction({ type: 'REPLACE_SELECTED_LOCATIONS', locations: mappedLocation });
});
dispatchSelectedLocationsAction({ type: 'REPLACE_SELECTED_LOCATIONS', locations: mappedLocation });
},
);
}, [props.selectedLocations]);

useEffect(() => {
Expand All @@ -362,7 +380,7 @@ const UniversalDiscoveryModule = (props) => {
Promise.all([loadPermissions(), loadVersions(abortControllerRef.current.signal)]).then((response) => {
const [locationsWithPermissions, locationsWithVersions] = response;

if (!locationsWithPermissions.length && !locationsWithVersions.length) {
if (!locationsWithPermissions?.LocationList.locations.length && !locationsWithVersions.length) {
return;
}

Expand Down

0 comments on commit cbb4b13

Please sign in to comment.