Skip to content

Commit

Permalink
Load correct BlockData item for BlockList
Browse files Browse the repository at this point in the history
Fixes #64
  • Loading branch information
Rick Butterfield committed Sep 13, 2024
1 parent df656f2 commit c7c1e64
Show file tree
Hide file tree
Showing 7 changed files with 27 additions and 11 deletions.
2 changes: 1 addition & 1 deletion VERSION
Original file line number Diff line number Diff line change
@@ -1 +1 @@
1.10.3
1.10.4
Original file line number Diff line number Diff line change
Expand Up @@ -112,7 +112,9 @@ public async Task<IActionResult> PreviewListBlock(
[FromQuery] string blockEditorAlias = "",
[FromQuery] string contentElementAlias = "",
[FromQuery] string culture = "",
[FromQuery] Guid documentTypeKey = default)
[FromQuery] Guid documentTypeKey = default,
[FromQuery] string contentUdi = "",
[FromQuery] string? settingsUdi = default)
{
string markup;
_ = culture;
Expand All @@ -125,7 +127,7 @@ public async Task<IActionResult> PreviewListBlock(

await SetupPublishedRequest(currentCulture, content);

markup = await _blockPreviewService.RenderListBlock(blockData, ControllerContext);
markup = await _blockPreviewService.RenderListBlock(blockData, ControllerContext, contentUdi, settingsUdi);
}
catch (Exception ex)
{
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -7,7 +7,7 @@ public interface IBlockPreviewService
{
Task<string> RenderGridBlock(BlockValue blockData, ControllerContext controllerContext, string blockEditorAlias = "", Guid documentTypeUnique = default, string contentUdi = "", string? settingsUdi = default);

Task<string> RenderListBlock(BlockValue blockData, ControllerContext controllerContext);
Task<string> RenderListBlock(BlockValue blockData, ControllerContext controllerContext, string contentUdi = "", string? settingsUdi = default);

#if NET8_0
Task<string> RenderRichTextBlock(BlockValue blockData, ControllerContext controllerContext);
Expand Down
16 changes: 13 additions & 3 deletions src/Umbraco.Community.BlockPreview/Services/BlockPreviewService.cs
Original file line number Diff line number Diff line change
Expand Up @@ -151,18 +151,28 @@ public async Task<string> RenderGridBlock(

public async Task<string> RenderListBlock(
BlockValue blockData,
ControllerContext controllerContext)
ControllerContext controllerContext,
string contentUdi = "",
string? settingsUdi = default)
{
if (blockData == null)
return string.Empty;

BlockItemData? contentData = blockData.ContentData.FirstOrDefault();
if (!UdiParser.TryParse(contentUdi, out Udi? contentUdiParsed))
return string.Empty;

UdiParser.TryParse(settingsUdi!, out Udi? settingsUdiParsed);

BlockItemData? contentData = blockData.ContentData.FirstOrDefault(x => x.Udi == contentUdiParsed);
if (contentData == null)
return string.Empty;

IPublishedElement? contentElement = ConvertToElement(contentData, true);

BlockItemData? settingsData = blockData.SettingsData.FirstOrDefault();
BlockItemData? settingsData = settingsUdiParsed != null
? blockData.SettingsData.FirstOrDefault(x => x.Udi == settingsUdiParsed)
: null;

IPublishedElement? settingsElement = settingsData != null ? ConvertToElement(settingsData, true) : default;

Type? contentBlockType = FindBlockType(contentElement?.ContentType.Alias);
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -16,7 +16,7 @@

<GeneratePackageOnBuild>True</GeneratePackageOnBuild>

<VersionPrefix>1.10.3</VersionPrefix>
<VersionPrefix>1.10.4</VersionPrefix>
<VersionSuffix></VersionSuffix>
<Authors>Rick Butterfield, Dave Woestenborghs, Matthew Wise</Authors>
<Copyright>$([System.DateTime]::UtcNow.ToString(`yyyy`)) © Rick Butterfield</Copyright>
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -104,7 +104,9 @@
$scope.blockEditorAlias,
$scope.contentElementAlias,
$scope.language,
$scope.documentTypeKey)
$scope.documentTypeKey,
$scope.contentUdi,
$scope.settingsUdi)
.then(function (data) {
$scope.markup = $sce.trustAsHtml(data);
$scope.loading = false;
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -39,12 +39,14 @@
blockEditorAlias,
contentElementAlias,
culture,
documentTypeKey)
documentTypeKey,
contentUdi,
settingsUdi)
{
culture = culture || '';

return umbRequestHelper.resourcePromise(
$http.post(`${apiListUrl}?nodeKey=${nodeKey}&blockEditorAlias=${blockEditorAlias}&contentElementAlias=${contentElementAlias}&culture=${culture}&documentTypeKey=${documentTypeKey}`, blockData),
$http.post(`${apiListUrl}?nodeKey=${nodeKey}&blockEditorAlias=${blockEditorAlias}&contentElementAlias=${contentElementAlias}&culture=${culture}&documentTypeKey=${documentTypeKey}&contentUdi=${contentUdi}&settingsUdi=${settingsUdi}`, blockData),
'Failed getting block preview markup'
);
};
Expand Down

0 comments on commit c7c1e64

Please sign in to comment.