Skip to content

Commit

Permalink
Merge pull request #72 from kevin9092/v2/previewfix
Browse files Browse the repository at this point in the history
fix: BlockPreview v2 block instance layout config fix
  • Loading branch information
rickbutterfield authored Oct 2, 2024
2 parents a5d09b9 + 3a76f87 commit 3c14d49
Showing 1 changed file with 28 additions and 5 deletions.
33 changes: 28 additions & 5 deletions src/Umbraco.Community.BlockPreview/Services/BlockPreviewService.cs
Original file line number Diff line number Diff line change
Expand Up @@ -119,11 +119,34 @@ public async Task<string> RenderGridBlock(
if (blockInstance == null)
return string.Empty;

BlockGridLayoutItem? layoutItem = blockValue.BlockValue?.GetLayouts()?.FirstOrDefault();
if (layoutItem != null)
var layoutItems = blockValue.BlockValue?.GetLayouts();
BlockGridLayoutItem? matchingLayout = null;

if (layoutItems != null)
{
blockInstance.RowSpan = layoutItem.RowSpan!.Value;
blockInstance.ColumnSpan = layoutItem.ColumnSpan!.Value;
foreach (var layoutItem in layoutItems)
{
if (layoutItem.ContentUdi == blockInstance.ContentUdi)
{
blockInstance.RowSpan = layoutItem.RowSpan!.Value;
blockInstance.ColumnSpan = layoutItem.ColumnSpan!.Value;
matchingLayout = layoutItem;
}
else
{
foreach (var area in layoutItem.Areas)
{
foreach (var item in area.Items)
{
if (item.ContentUdi != blockInstance.ContentUdi) continue;
blockInstance.RowSpan = item.RowSpan!.Value;
blockInstance.ColumnSpan = item.ColumnSpan!.Value;
matchingLayout = layoutItem;
break;
}
}
}
}
}

IContentType? documentType = _contentTypeService.Get(documentTypeUnique);
Expand Down Expand Up @@ -151,7 +174,7 @@ public async Task<string> RenderGridBlock(
if (matchingBlock == null)
return string.Empty;

ConfigureBlockInstanceAreas(blockInstance, config, matchingBlock, layoutItem!, blockValue);
ConfigureBlockInstanceAreas(blockInstance, config, matchingBlock, matchingLayout!, blockValue);

ViewDataDictionary viewData = CreateViewData(blockInstance, BlockType.BlockGrid);
return await GetMarkup(controllerContext, contentElement?.ContentType.Alias, viewData, BlockType.BlockGrid);
Expand Down

0 comments on commit 3c14d49

Please sign in to comment.