Skip to content

Commit

Permalink
v1.8.3
Browse files Browse the repository at this point in the history
  • Loading branch information
rickbutterfield committed Mar 25, 2024
1 parent 89d1ddf commit af070a7
Show file tree
Hide file tree
Showing 5 changed files with 26 additions and 23 deletions.
4 changes: 2 additions & 2 deletions .github/README.md
Original file line number Diff line number Diff line change
Expand Up @@ -14,13 +14,13 @@ The Umbraco 10.4+ version of this package is [available via NuGet](https://www.n
To install the package, you can use either .NET CLI:

```
dotnet add package Umbraco.Community.BlockPreview --version 1.8.2
dotnet add package Umbraco.Community.BlockPreview --version 1.8.3
```

or the older NuGet Package Manager:

```
Install-Package Umbraco.Community.BlockPreview -Version 1.8.2
Install-Package Umbraco.Community.BlockPreview -Version 1.8.3
```

### Setup
Expand Down
2 changes: 1 addition & 1 deletion VERSION
Original file line number Diff line number Diff line change
@@ -1 +1 @@
1.8.2
1.8.3
21 changes: 12 additions & 9 deletions src/Umbraco.Community.BlockPreview/Extensions/StringExtensions.cs
Original file line number Diff line number Diff line change
Expand Up @@ -17,23 +17,26 @@ public static string ToPascalCase(this string value)

return $"{char.ToUpper(value[0], CultureInfo.CurrentCulture)}{value[1..]}";
}
public static bool TryConvertToGridItem(this object? rawPropValue, out BlockValue value)

public static bool TryConvertToGridItem(this object? rawPropValue, out BlockValue? value)
{
if (!rawPropValue.ToString()?.DetectIsJson() == true || rawPropValue is not JObject jObject)
if (!rawPropValue?.ToString()?.DetectIsJson() == true || rawPropValue is not JObject jObject)
{
value = default(BlockValue);
value = default;
return false;
}

var keys = jObject.Properties().Select(x => x.Name);
if (keys.Contains(nameof(BlockValue.Layout), StringComparer.InvariantCultureIgnoreCase)
|| keys.Contains(nameof(BlockValue.ContentData), StringComparer.InvariantCultureIgnoreCase)
|| keys.Contains(nameof(BlockValue.SettingsData), StringComparer.InvariantCultureIgnoreCase))
{

value = JsonConvert.DeserializeObject<BlockValue>(rawPropValue.ToString());
if (keys.Contains(nameof(BlockValue.Layout), StringComparer.InvariantCultureIgnoreCase) ||
keys.Contains(nameof(BlockValue.ContentData), StringComparer.InvariantCultureIgnoreCase) ||
keys.Contains(nameof(BlockValue.SettingsData), StringComparer.InvariantCultureIgnoreCase))
{
value = JsonConvert.DeserializeObject<BlockValue>(rawPropValue?.ToString());

Check warning on line 35 in src/Umbraco.Community.BlockPreview/Extensions/StringExtensions.cs

View workflow job for this annotation

GitHub Actions / build

Possible null reference argument for parameter 'value' in 'BlockValue? JsonConvert.DeserializeObject<BlockValue>(string value)'.

Check warning on line 35 in src/Umbraco.Community.BlockPreview/Extensions/StringExtensions.cs

View workflow job for this annotation

GitHub Actions / build

Possible null reference argument for parameter 'value' in 'BlockValue? JsonConvert.DeserializeObject<BlockValue>(string value)'.
return true;
}
value = default(BlockValue);

value = default;
return false;
}
}
Original file line number Diff line number Diff line change
Expand Up @@ -9,7 +9,6 @@
using Microsoft.AspNetCore.Routing;
using Microsoft.Extensions.Options;
using Newtonsoft.Json;
using Newtonsoft.Json.Linq;
using System.Text.Encodings.Web;
using Umbraco.Cms.Core;
using Umbraco.Cms.Core.Composing;
Expand Down Expand Up @@ -54,22 +53,22 @@ public BackOfficePreviewServiceBase(
_options = options.Value;
}

public virtual void ConvertNestedValuesToString(BlockItemData? contentData)
public virtual void ConvertNestedValuesToString(BlockItemData? blockData)
{
if (contentData == null)
if (blockData == null)
return;

foreach (var rawPropValue in contentData.RawPropertyValues.Where(x => x.Value != null))
foreach (var rawPropValue in blockData.RawPropertyValues.Where(x => x.Value != null))
{
var originalValue = rawPropValue.Value;
if (originalValue.TryConvertToGridItem(out var blockValue))
if (originalValue.TryConvertToGridItem(out BlockValue? blockValue))
{
blockValue.ContentData.ForEach(ConvertNestedValuesToString);
blockValue.SettingsData.ForEach(ConvertNestedValuesToString);
contentData.RawPropertyValues[rawPropValue.Key] = JsonConvert.SerializeObject(blockValue);
blockValue?.ContentData.ForEach(ConvertNestedValuesToString);
blockValue?.SettingsData.ForEach(ConvertNestedValuesToString);
blockData.RawPropertyValues[rawPropValue.Key] = JsonConvert.SerializeObject(blockValue);
continue;
}
contentData.RawPropertyValues[rawPropValue.Key] = originalValue.ToString();
blockData.RawPropertyValues[rawPropValue.Key] = originalValue?.ToString();
}
}
public virtual IPublishedElement? ConvertToElement(BlockItemData data, bool throwOnError)
Expand All @@ -87,7 +86,8 @@ public virtual void ConvertNestedValuesToString(BlockItemData? contentData)

public virtual ViewDataDictionary CreateViewData(object? typedBlockInstance)
{
var viewData = new ViewDataDictionary(new EmptyModelMetadataProvider(), new ModelStateDictionary()) {
var viewData = new ViewDataDictionary(new EmptyModelMetadataProvider(), new ModelStateDictionary())
{
Model = typedBlockInstance
};

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -16,7 +16,7 @@
<RootNamespace>Umbraco.Community.BlockPreview</RootNamespace>
<GeneratePackageOnBuild>True</GeneratePackageOnBuild>

<VersionPrefix>1.8.2</VersionPrefix>
<VersionPrefix>1.8.3</VersionPrefix>
<VersionSuffix></VersionSuffix>
<Authors>Rick Butterfield, Dave Woestenborghs, Matthew Wise</Authors>
<Copyright>$([System.DateTime]::UtcNow.ToString(`yyyy`)) © Rick Butterfield</Copyright>
Expand Down

0 comments on commit af070a7

Please sign in to comment.