diff --git a/Umbraco.Community.BlockPreview.sln b/Umbraco.Community.BlockPreview.sln index 9f23fc6c..42a82e3d 100644 --- a/Umbraco.Community.BlockPreview.sln +++ b/Umbraco.Community.BlockPreview.sln @@ -58,6 +58,8 @@ Project("{E24C65DC-7377-472B-9ABA-BC803B73C61A}") = "Umbraco.Community.BlockPrev StartServerOnDebug = "false" EndProjectSection EndProject +Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Umbraco.Community.BlockPreview.NoModelsTestSite", "examples\Umbraco.Community.BlockPreview.NoModelsTestSite\Umbraco.Community.BlockPreview.NoModelsTestSite.csproj", "{C61EF575-DFC2-3EC9-7EC6-0CA703E7DEC9}" +EndProject Global GlobalSection(SolutionConfigurationPlatforms) = preSolution Debug|Any CPU = Debug|Any CPU @@ -138,6 +140,18 @@ Global {A3B2C1D4-E5F6-4A7B-8C9D-0E1F2A3B4C5D}.Release|x64.Build.0 = Debug|Any CPU {A3B2C1D4-E5F6-4A7B-8C9D-0E1F2A3B4C5D}.Release|x86.ActiveCfg = Debug|Any CPU {A3B2C1D4-E5F6-4A7B-8C9D-0E1F2A3B4C5D}.Release|x86.Build.0 = Debug|Any CPU + {C61EF575-DFC2-3EC9-7EC6-0CA703E7DEC9}.Debug|Any CPU.ActiveCfg = Debug|Any CPU + {C61EF575-DFC2-3EC9-7EC6-0CA703E7DEC9}.Debug|Any CPU.Build.0 = Debug|Any CPU + {C61EF575-DFC2-3EC9-7EC6-0CA703E7DEC9}.Debug|x64.ActiveCfg = Debug|Any CPU + {C61EF575-DFC2-3EC9-7EC6-0CA703E7DEC9}.Debug|x64.Build.0 = Debug|Any CPU + {C61EF575-DFC2-3EC9-7EC6-0CA703E7DEC9}.Debug|x86.ActiveCfg = Debug|Any CPU + {C61EF575-DFC2-3EC9-7EC6-0CA703E7DEC9}.Debug|x86.Build.0 = Debug|Any CPU + {C61EF575-DFC2-3EC9-7EC6-0CA703E7DEC9}.Release|Any CPU.ActiveCfg = Release|Any CPU + {C61EF575-DFC2-3EC9-7EC6-0CA703E7DEC9}.Release|Any CPU.Build.0 = Release|Any CPU + {C61EF575-DFC2-3EC9-7EC6-0CA703E7DEC9}.Release|x64.ActiveCfg = Release|Any CPU + {C61EF575-DFC2-3EC9-7EC6-0CA703E7DEC9}.Release|x64.Build.0 = Release|Any CPU + {C61EF575-DFC2-3EC9-7EC6-0CA703E7DEC9}.Release|x86.ActiveCfg = Release|Any CPU + {C61EF575-DFC2-3EC9-7EC6-0CA703E7DEC9}.Release|x86.Build.0 = Release|Any CPU EndGlobalSection GlobalSection(SolutionProperties) = preSolution HideSolutionNode = FALSE @@ -147,6 +161,7 @@ Global {47D9BB7E-4277-5897-0EBD-86E52D4D05B9} = {1A595552-C0FD-4EBF-A6DE-DC86DBCAD409} {55EA1950-D456-0B8B-3D02-C1B73A189812} = {638E215F-7A20-459C-A0F4-12ACB4A263F5} {A3B2C1D4-E5F6-4A7B-8C9D-0E1F2A3B4C5D} = {638E215F-7A20-459C-A0F4-12ACB4A263F5} + {C61EF575-DFC2-3EC9-7EC6-0CA703E7DEC9} = {E5573C68-5A30-49D8-B235-1A5477F4083F} EndGlobalSection GlobalSection(ExtensibilityGlobals) = postSolution SolutionGuid = {7FED6BA7-2D2C-452A-A791-36F6519BC64C} diff --git a/examples/Umbraco.Community.BlockPreview.NoModelsTestSite/.gitignore b/examples/Umbraco.Community.BlockPreview.NoModelsTestSite/.gitignore new file mode 100644 index 00000000..aadc19e8 --- /dev/null +++ b/examples/Umbraco.Community.BlockPreview.NoModelsTestSite/.gitignore @@ -0,0 +1,479 @@ +## Ignore Visual Studio temporary files, build results, and +## files generated by popular Visual Studio add-ons. +## +## Get latest from https://github.com/github/gitignore/blob/master/VisualStudio.gitignore + +# User-specific files +*.rsuser +*.suo +*.user +*.userosscache +*.sln.docstates + +# User-specific files (MonoDevelop/Xamarin Studio) +*.userprefs + +# Mono auto generated files +mono_crash.* + +# Build results +[Dd]ebug/ +[Dd]ebugPublic/ +[Rr]elease/ +[Rr]eleases/ +x64/ +x86/ +[Ww][Ii][Nn]32/ +[Aa][Rr][Mm]/ +[Aa][Rr][Mm]64/ +bld/ +[Bb]in/ +[Oo]bj/ +[Ll]og/ +[Ll]ogs/ + +# Visual Studio 2015/2017 cache/options directory +.vs/ +# Uncomment if you have tasks that create the project's static files in wwwroot +#wwwroot/ + +# Visual Studio 2017 auto generated files +Generated\ Files/ + +# MSTest test Results +[Tt]est[Rr]esult*/ +[Bb]uild[Ll]og.* + +# NUnit +*.VisualState.xml +TestResult.xml +nunit-*.xml + +# Build Results of an ATL Project +[Dd]ebugPS/ +[Rr]eleasePS/ +dlldata.c + +# Benchmark Results +BenchmarkDotNet.Artifacts/ + +# .NET Core +project.lock.json +project.fragment.lock.json +artifacts/ + +# Tye +.tye/ + +# ASP.NET Scaffolding +ScaffoldingReadMe.txt + +# StyleCop +StyleCopReport.xml + +# Files built by Visual Studio +*_i.c +*_p.c +*_h.h +*.ilk +*.meta +*.obj +*.iobj +*.pch +*.pdb +*.ipdb +*.pgc +*.pgd +*.rsp +*.sbr +*.tlb +*.tli +*.tlh +*.tmp +*.tmp_proj +*_wpftmp.csproj +*.log +*.vspscc +*.vssscc +.builds +*.pidb +*.svclog +*.scc + +# Chutzpah Test files +_Chutzpah* + +# Visual C++ cache files +ipch/ +*.aps +*.ncb +*.opendb +*.opensdf +*.sdf +*.cachefile +*.VC.db +*.VC.VC.opendb + +# Visual Studio profiler +*.psess +*.vsp +*.vspx +*.sap + +# Visual Studio Trace Files +*.e2e + +# TFS 2012 Local Workspace +$tf/ + +# Guidance Automation Toolkit +*.gpState + +# ReSharper is a .NET coding add-in +_ReSharper*/ +*.[Rr]e[Ss]harper +*.DotSettings.user + +# TeamCity is a build add-in +_TeamCity* + +# DotCover is a Code Coverage Tool +*.dotCover + +# AxoCover is a Code Coverage Tool +.axoCover/* +!.axoCover/settings.json + +# Coverlet is a free, cross platform Code Coverage Tool +coverage*.json +coverage*.xml +coverage*.info + +# Visual Studio code coverage results +*.coverage +*.coveragexml + +# NCrunch +_NCrunch_* +.*crunch*.local.xml +nCrunchTemp_* + +# MightyMoose +*.mm.* +AutoTest.Net/ + +# Web workbench (sass) +.sass-cache/ + +# Installshield output folder +[Ee]xpress/ + +# DocProject is a documentation generator add-in +DocProject/buildhelp/ +DocProject/Help/*.HxT +DocProject/Help/*.HxC +DocProject/Help/*.hhc +DocProject/Help/*.hhk +DocProject/Help/*.hhp +DocProject/Help/Html2 +DocProject/Help/html + +# Click-Once directory +publish/ + +# Publish Web Output +*.[Pp]ublish.xml +*.azurePubxml +# Note: Comment the next line if you want to checkin your web deploy settings, +# but database connection strings (with potential passwords) will be unencrypted +*.pubxml +*.publishproj + +# Microsoft Azure Web App publish settings. Comment the next line if you want to +# checkin your Azure Web App publish settings, but sensitive information contained +# in these scripts will be unencrypted +PublishScripts/ + +# NuGet Packages +*.nupkg +# NuGet Symbol Packages +*.snupkg +# The packages folder can be ignored because of Package Restore +**/[Pp]ackages/* +# except build/, which is used as an MSBuild target. +!**/[Pp]ackages/build/ +# Uncomment if necessary however generally it will be regenerated when needed +#!**/[Pp]ackages/repositories.config +# NuGet v3's project.json files produces more ignorable files +*.nuget.props +*.nuget.targets + +# Microsoft Azure Build Output +csx/ +*.build.csdef + +# Microsoft Azure Emulator +ecf/ +rcf/ + +# Windows Store app package directories and files +AppPackages/ +BundleArtifacts/ +Package.StoreAssociation.xml +_pkginfo.txt +*.appx +*.appxbundle +*.appxupload + +# Visual Studio cache files +# files ending in .cache can be ignored +*.[Cc]ache +# but keep track of directories ending in .cache +!?*.[Cc]ache/ + +# Others +ClientBin/ +~$* +*~ +*.dbmdl +*.dbproj.schemaview +*.jfm +*.pfx +*.publishsettings +orleans.codegen.cs + +# Including strong name files can present a security risk +# (https://github.com/github/gitignore/pull/2483#issue-259490424) +#*.snk + +# Since there are multiple workflows, uncomment next line to ignore bower_components +# (https://github.com/github/gitignore/pull/1529#issuecomment-104372622) +#bower_components/ + +# RIA/Silverlight projects +Generated_Code/ + +# Backup & report files from converting an old project file +# to a newer Visual Studio version. Backup files are not needed, +# because we have git ;-) +_UpgradeReport_Files/ +Backup*/ +UpgradeLog*.XML +UpgradeLog*.htm +ServiceFabricBackup/ +*.rptproj.bak + +# SQL Server files +*.mdf +*.ldf +*.ndf + +# Business Intelligence projects +*.rdl.data +*.bim.layout +*.bim_*.settings +*.rptproj.rsuser +*- [Bb]ackup.rdl +*- [Bb]ackup ([0-9]).rdl +*- [Bb]ackup ([0-9][0-9]).rdl + +# Microsoft Fakes +FakesAssemblies/ + +# GhostDoc plugin setting file +*.GhostDoc.xml + +# Node.js Tools for Visual Studio +.ntvs_analysis.dat +node_modules/ + +# Visual Studio 6 build log +*.plg + +# Visual Studio 6 workspace options file +*.opt + +# Visual Studio 6 auto-generated workspace file (contains which files were open etc.) +*.vbw + +# Visual Studio LightSwitch build output +**/*.HTMLClient/GeneratedArtifacts +**/*.DesktopClient/GeneratedArtifacts +**/*.DesktopClient/ModelManifest.xml +**/*.Server/GeneratedArtifacts +**/*.Server/ModelManifest.xml +_Pvt_Extensions + +# Paket dependency manager +.paket/paket.exe +paket-files/ + +# FAKE - F# Make +.fake/ + +# CodeRush personal settings +.cr/personal + +# Python Tools for Visual Studio (PTVS) +__pycache__/ +*.pyc + +# Cake - Uncomment if you are using it +# tools/** +# !tools/packages.config + +# Tabs Studio +*.tss + +# Telerik's JustMock configuration file +*.jmconfig + +# BizTalk build output +*.btp.cs +*.btm.cs +*.odx.cs +*.xsd.cs + +# OpenCover UI analysis results +OpenCover/ + +# Azure Stream Analytics local run output +ASALocalRun/ + +# MSBuild Binary and Structured Log +*.binlog + +# NVidia Nsight GPU debugger configuration file +*.nvuser + +# MFractors (Xamarin productivity tool) working folder +.mfractor/ + +# Local History for Visual Studio +.localhistory/ + +# BeatPulse healthcheck temp database +healthchecksdb + +# Backup folder for Package Reference Convert tool in Visual Studio 2017 +MigrationBackup/ + +# Ionide (cross platform F# VS Code tools) working folder +.ionide/ + +# Fody - auto-generated XML schema +FodyWeavers.xsd + +## +## Visual studio for Mac +## + + +# globs +Makefile.in +*.userprefs +*.usertasks +config.make +config.status +aclocal.m4 +install-sh +autom4te.cache/ +*.tar.gz +tarballs/ +test-results/ + +# Mac bundle stuff +*.dmg +*.app + +# content below from: https://github.com/github/gitignore/blob/master/Global/macOS.gitignore +# General +.DS_Store +.AppleDouble +.LSOverride + +# Icon must end with two \r +Icon + + +# Thumbnails +._* + +# Files that might appear in the root of a volume +.DocumentRevisions-V100 +.fseventsd +.Spotlight-V100 +.TemporaryItems +.Trashes +.VolumeIcon.icns +.com.apple.timemachine.donotpresent + +# Directories potentially created on remote AFP share +.AppleDB +.AppleDesktop +Network Trash Folder +Temporary Items +.apdisk + +# content below from: https://github.com/github/gitignore/blob/master/Global/Windows.gitignore +# Windows thumbnail cache files +Thumbs.db +ehthumbs.db +ehthumbs_vista.db + +# Dump file +*.stackdump + +# Folder config file +[Dd]esktop.ini + +# Recycle Bin used on file shares +$RECYCLE.BIN/ + +# Windows Installer files +*.cab +*.msi +*.msix +*.msm +*.msp + +# Windows shortcuts +*.lnk + +# JetBrains Rider +.idea/ +*.sln.iml + +## +## Visual Studio Code +## +.vscode/* +!.vscode/settings.json +!.vscode/tasks.json +!.vscode/launch.json +!.vscode/extensions.json + +## +## Umbraco CMS +## + +# JSON schema files for appsettings.json +appsettings-schema.json +appsettings-schema.*.json + +# JSON schema file for umbraco-package.json +umbraco-package-schema.json + +# Packages created from the backoffice (package.xml/package.zip) +/umbraco/Data/CreatedPackages/ + +# Temp folder containing Examine indexes, NuCache, MediaCache, etc. +/umbraco/Data/TEMP/ + +# SQLite database files +/umbraco/Data/*.sqlite.db +/umbraco/Data/*.sqlite.db-shm +/umbraco/Data/*.sqlite.db-wal + +# Log files +/umbraco/Logs/ \ No newline at end of file diff --git a/examples/Umbraco.Community.BlockPreview.NoModelsTestSite/Program.cs b/examples/Umbraco.Community.BlockPreview.NoModelsTestSite/Program.cs new file mode 100644 index 00000000..2cdf4981 --- /dev/null +++ b/examples/Umbraco.Community.BlockPreview.NoModelsTestSite/Program.cs @@ -0,0 +1,50 @@ +using Umbraco.Community.BlockPreview.Extensions; + +WebApplicationBuilder builder = WebApplication.CreateBuilder(args); + +builder.CreateUmbracoBuilder() + .AddBackOffice() + .AddWebsite() + .AddDeliveryApi() + .AddComposers() + .AddBlockPreview(options => + { + options.BlockGrid = new() + { + Enabled = true, + Stylesheets = ["/css/myblockgridlayout.css"] + }; + options.BlockList = new() + { + Enabled = true, + Stylesheets = ["/css/myblockgridlayout.css"] + }; + options.RichText = new() + { + Enabled = true, + Stylesheets = ["/css/myblockgridlayout.css"] + }; + }) + .Build(); + +WebApplication app = builder.Build(); + +await app.BootUmbracoAsync(); + +#if (UseHttpsRedirect) +app.UseHttpsRedirection(); +#endif + +app.UseUmbraco() + .WithMiddleware(u => + { + u.UseBackOffice(); + u.UseWebsite(); + }) + .WithEndpoints(u => + { + u.UseBackOfficeEndpoints(); + u.UseWebsiteEndpoints(); + }); + +await app.RunAsync(); diff --git a/examples/Umbraco.Community.BlockPreview.NoModelsTestSite/Properties/launchSettings.json b/examples/Umbraco.Community.BlockPreview.NoModelsTestSite/Properties/launchSettings.json new file mode 100644 index 00000000..8e6ec16b --- /dev/null +++ b/examples/Umbraco.Community.BlockPreview.NoModelsTestSite/Properties/launchSettings.json @@ -0,0 +1,30 @@ +{ + "$schema": "https://json.schemastore.org/launchsettings.json", + "iisSettings": { + "windowsAuthentication": false, + "anonymousAuthentication": true, + "iisExpress": { + "applicationUrl": "http://localhost:26294", + "sslPort": 44370 + } + }, + "profiles": { + "IIS Express": { + "commandName": "IISExpress", + "launchBrowser": true, + "launchUrl": "umbraco", + "environmentVariables": { + "ASPNETCORE_ENVIRONMENT": "Development" + } + }, + "Umbraco.Web.UI": { + "commandName": "Project", + "dotnetRunMessages": true, + "launchBrowser": true, + "applicationUrl": "https://localhost:44370;http://localhost:26294", + "environmentVariables": { + "ASPNETCORE_ENVIRONMENT": "Development" + } + } + } +} diff --git a/examples/Umbraco.Community.BlockPreview.NoModelsTestSite/Umbraco.Community.BlockPreview.NoModelsTestSite.csproj b/examples/Umbraco.Community.BlockPreview.NoModelsTestSite/Umbraco.Community.BlockPreview.NoModelsTestSite.csproj new file mode 100644 index 00000000..e4faa00b --- /dev/null +++ b/examples/Umbraco.Community.BlockPreview.NoModelsTestSite/Umbraco.Community.BlockPreview.NoModelsTestSite.csproj @@ -0,0 +1,43 @@ + + + false + false + Umbraco.Community.BlockPreview.NoModelsTestSite + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + true + + + + false + false + + + diff --git a/examples/Umbraco.Community.BlockPreview.NoModelsTestSite/Views/BlockGrid.cshtml b/examples/Umbraco.Community.BlockPreview.NoModelsTestSite/Views/BlockGrid.cshtml new file mode 100644 index 00000000..5c9220d3 --- /dev/null +++ b/examples/Umbraco.Community.BlockPreview.NoModelsTestSite/Views/BlockGrid.cshtml @@ -0,0 +1,6 @@ +@inherits Umbraco.Cms.Web.Common.Views.UmbracoViewPage +@{ + Layout = "Layout.cshtml"; +} + +@await Html.GetBlockGridHtmlAsync(Model.Value("content")) \ No newline at end of file diff --git a/examples/Umbraco.Community.BlockPreview.NoModelsTestSite/Views/BlockList.cshtml b/examples/Umbraco.Community.BlockPreview.NoModelsTestSite/Views/BlockList.cshtml new file mode 100644 index 00000000..969471a7 --- /dev/null +++ b/examples/Umbraco.Community.BlockPreview.NoModelsTestSite/Views/BlockList.cshtml @@ -0,0 +1,6 @@ +@inherits Umbraco.Cms.Web.Common.Views.UmbracoViewPage +@{ + Layout = "Layout.cshtml"; +} + +@await Html.GetBlockListHtmlAsync(Model.Value("content")) \ No newline at end of file diff --git a/examples/Umbraco.Community.BlockPreview.NoModelsTestSite/Views/Layout.cshtml b/examples/Umbraco.Community.BlockPreview.NoModelsTestSite/Views/Layout.cshtml new file mode 100644 index 00000000..f858b153 --- /dev/null +++ b/examples/Umbraco.Community.BlockPreview.NoModelsTestSite/Views/Layout.cshtml @@ -0,0 +1,22 @@ +@inherits Umbraco.Cms.Web.Common.Views.UmbracoViewPage +@{ + Layout = null; +} + + + + Block Grid Examples + + + + + + + + + + + + @RenderBody() + + \ No newline at end of file diff --git a/examples/Umbraco.Community.BlockPreview.NoModelsTestSite/Views/Partials/blockgrid/Components/allDataTypes.cshtml b/examples/Umbraco.Community.BlockPreview.NoModelsTestSite/Views/Partials/blockgrid/Components/allDataTypes.cshtml new file mode 100644 index 00000000..b6fc9dd9 --- /dev/null +++ b/examples/Umbraco.Community.BlockPreview.NoModelsTestSite/Views/Partials/blockgrid/Components/allDataTypes.cshtml @@ -0,0 +1,354 @@ +@inherits UmbracoViewPage +@{ + var content = Model.Content; +} + +
+

All Data Types Block

+ + @* --- Text --- *@ +
+

Text

+
+ Textstring: @(content.Value("textstring")) +
+
+ Textarea: +
@(content.Value("textarea"))
+
+
+ Rich Text Editor: +
@(content.Value("richTextEditor"))
+
+
+ Multiple Textstring: + @{ var multipleTextstring = content.Value>("multipleTextstring"); } + @if (multipleTextstring?.Any() == true) + { +
    + @foreach (var line in multipleTextstring) + { +
  • @line
  • + } +
+ } + else + { + None + } +
+
+ Code Editor: +
@(content.Value("codeEditor"))
+
+
+ @{ var emailAddress = content.Value("emailAddress"); } + Email Address: @(string.IsNullOrEmpty(emailAddress) ? "None" : emailAddress) +
+
+ Markdown Editor: +
@(content.Value("markdownEditor"))
+
+
+ + @* --- Dates --- *@ +
+

Dates

+
+ Date Picker: @(content.Value("datePicker").ToString("yyyy-MM-dd")) +
+
+ Date Picker With Time: @(content.Value("datePickerWithTime").ToString("yyyy-MM-dd HH:mm")) +
+
+ Date Time Picker With Time Zone: @(content.Value("dateTimePickerWithTimeZone")?.ToString("yyyy-MM-dd HH:mm zzz")) +
+
+ + @* --- Numbers --- *@ +
+

Numbers

+
+ Numeric: @(content.Value("numeric")) +
+
+ Decimal: @(content.Value("decimal")) +
+
+ Percentage (Slider): @(content.Value("percentage"))% +
+
+ + @* --- Selection --- *@ +
+

Selection

+
+ True/False: @(content.Value("trueFalse") ? "Yes" : "No") +
+
+ Checkbox List: + @{ var checkboxList = content.Value>("checkboxList"); } + @if (checkboxList?.Any() == true) + { + @string.Join(", ", checkboxList) + } + else + { + None selected + } +
+
+ @{ var radiobox = content.Value("radiobox"); } + Radiobox: @(string.IsNullOrEmpty(radiobox) ? "None selected" : radiobox) +
+
+ @{ var dropdown = content.Value("dropdown"); } + Dropdown: @(string.IsNullOrEmpty(dropdown) ? "None selected" : dropdown) +
+
+ Dropdown Multiple: + @{ var dropdownMultiple = content.Value>("dropdownMultiple"); } + @if (dropdownMultiple?.Any() == true) + { + @string.Join(", ", dropdownMultiple) + } + else + { + None selected + } +
+
+ Approved Color: + @{ var approvedColor = content.Value("approvedColor"); } + @if (approvedColor != null) + { + + @approvedColor.Label (#@approvedColor.Color) + } + else + { + None selected + } +
+
+ Color Picker Eye Dropper: + @{ var colorPickerEyeDropper = content.Value("colorPickerEyeDropper"); } + @if (!string.IsNullOrEmpty(colorPickerEyeDropper)) + { + + @colorPickerEyeDropper + } + else + { + None selected + } +
+
+ + @* --- Pickers --- *@ +
+

Pickers

+
+ Content Picker: + @{ var contentPicker = content.Value("contentPicker"); } + @if (contentPicker != null) + { + @contentPicker.Name + } + else + { + None + } +
+
+ Media Picker:
+ @{ var mediaPicker = content.Value("mediaPicker"); } + @if (mediaPicker != null) + { + @mediaPicker.Name + } + else + { + None + } +
+
+ Image Media Picker:
+ @{ var imageMediaPicker = content.Value("imageMediaPicker"); } + @if (imageMediaPicker != null) + { + @imageMediaPicker.Name + } + else + { + None + } +
+
+ Multiple Media Picker:
+ @{ var multipleMediaPicker = content.Value>("multipleMediaPicker"); } + @if (multipleMediaPicker?.Any() == true) + { + foreach (var media in multipleMediaPicker) + { + @media.Name + } + } + else + { + None + } +
+
+ Multiple Image Media Picker:
+ @{ var multipleImageMediaPicker = content.Value>("multipleImageMediaPicker"); } + @if (multipleImageMediaPicker?.Any() == true) + { + foreach (var media in multipleImageMediaPicker) + { + @media.Name + } + } + else + { + None + } +
+
+ Multi Node Tree Picker: + @{ var multiNodeTreePicker = content.Value>("multiNodeTreePicker"); } + @if (multiNodeTreePicker?.Any() == true) + { +
    + @foreach (var node in multiNodeTreePicker) + { +
  • @node.Name
  • + } +
+ } + else + { + None + } +
+
+ Member Picker: + @{ var memberPicker = content.Value("memberPicker"); } + @if (memberPicker != null) + { + @memberPicker.Name + } + else + { + None + } +
+
+ @{ var memberGroupPicker = content.Value("memberGroupPicker"); } + Member Group Picker: @(string.IsNullOrEmpty(memberGroupPicker) ? "None" : memberGroupPicker) +
+
+ @{ var userPicker = content.Value("userPicker"); } + User Picker: @(userPicker > 0 ? userPicker.ToString() : "None") +
+
+ + @* --- Links --- *@ +
+

Links

+
+ Multi URL Picker: + @{ var multiUrlPicker = content.Value>("multiUrlPicker"); } + @if (multiUrlPicker?.Any() == true) + { +
    + @foreach (var link in multiUrlPicker) + { +
  • @link.Name (@link.Type)
  • + } +
+ } + else + { + None + } +
+
+ Single URL Picker: + @{ var singleUrlPicker = content.Value("singleUrlPicker"); } + @if (singleUrlPicker != null) + { + @singleUrlPicker.Name + } + else + { + None + } +
+
+ + @* --- Other --- *@ +
+

Other

+
+ Tags: + @{ var tags = content.Value>("tags"); } + @if (tags?.Any() == true) + { + foreach (var tag in tags) + { + @tag + } + } + else + { + None + } +
+
+ Image Cropper: + @{ var imageCropper = content.Value("imageCropper"); } + @if (imageCropper != null) + { + @imageCropper.Src + } + else + { + None + } +
+
+ @{ var uploadFile = content.Value("uploadFile"); } + Upload File: @(string.IsNullOrEmpty(uploadFile) ? "None" : uploadFile) +
+
+ @{ var uploadArticle = content.Value("uploadArticle"); } + Upload Article: @(string.IsNullOrEmpty(uploadArticle) ? "None" : uploadArticle) +
+
+ @{ var uploadAudio = content.Value("uploadAudio"); } + Upload Audio: @(string.IsNullOrEmpty(uploadAudio) ? "None" : uploadAudio) +
+
+ @{ var uploadVectorGraphics = content.Value("uploadVectorGraphics"); } + Upload Vector Graphics: @(string.IsNullOrEmpty(uploadVectorGraphics) ? "None" : uploadVectorGraphics) +
+
+ @{ var uploadVideo = content.Value("uploadVideo"); } + Upload Video: @(string.IsNullOrEmpty(uploadVideo) ? "None" : uploadVideo) +
+
+ + @* --- Labels --- *@ +
+

Labels

+
Label (string): @(content.Value("labelString"))
+
Label (integer): @(content.Value("labelInteger"))
+
Label (datetime): @(content.Value("labelDatetime").ToString("yyyy-MM-dd HH:mm"))
+
Label (decimal): @(content.Value("labelDecimal"))
+
Label (bigint): @(content.Value("labelBigint"))
+
Label (time): @(content.Value("labelTime"))
+
Label (bytes): @(content.Value("labelBytes"))
+
Label (pixels): @(content.Value("labelPixels"))
+
+
diff --git a/examples/Umbraco.Community.BlockPreview.NoModelsTestSite/Views/Partials/blockgrid/Components/callToActionBlock.cshtml b/examples/Umbraco.Community.BlockPreview.NoModelsTestSite/Views/Partials/blockgrid/Components/callToActionBlock.cshtml new file mode 100644 index 00000000..0f88454e --- /dev/null +++ b/examples/Umbraco.Community.BlockPreview.NoModelsTestSite/Views/Partials/blockgrid/Components/callToActionBlock.cshtml @@ -0,0 +1,10 @@ +@inherits UmbracoViewPage +@{ + var link = Model.Content.Value("link"); + if (link is null) + { + return; + } +} + +@link.Name diff --git a/examples/Umbraco.Community.BlockPreview.NoModelsTestSite/Views/Partials/blockgrid/Components/cardBlock.cshtml b/examples/Umbraco.Community.BlockPreview.NoModelsTestSite/Views/Partials/blockgrid/Components/cardBlock.cshtml new file mode 100644 index 00000000..f6133be3 --- /dev/null +++ b/examples/Umbraco.Community.BlockPreview.NoModelsTestSite/Views/Partials/blockgrid/Components/cardBlock.cshtml @@ -0,0 +1,23 @@ +@inherits UmbracoViewPage + +
+ +
+ @{ + var image = Model.Content.Value("image"); + if (image is not null) + { + + } + else + { +

Missing image

+ } + } +
+
+

@(Model.Content.Value("headline"))

+
@(Model.Content.Value("richText"))
+
+ +
diff --git a/examples/Umbraco.Community.BlockPreview.NoModelsTestSite/Views/Partials/blockgrid/Components/headlineBlock.cshtml b/examples/Umbraco.Community.BlockPreview.NoModelsTestSite/Views/Partials/blockgrid/Components/headlineBlock.cshtml new file mode 100644 index 00000000..d14f6ab0 --- /dev/null +++ b/examples/Umbraco.Community.BlockPreview.NoModelsTestSite/Views/Partials/blockgrid/Components/headlineBlock.cshtml @@ -0,0 +1,3 @@ +@inherits UmbracoViewPage + +

@(Model.Content.Value("headline"))

diff --git a/examples/Umbraco.Community.BlockPreview.NoModelsTestSite/Views/Partials/blockgrid/Components/heroBlock.cshtml b/examples/Umbraco.Community.BlockPreview.NoModelsTestSite/Views/Partials/blockgrid/Components/heroBlock.cshtml new file mode 100644 index 00000000..23580e9e --- /dev/null +++ b/examples/Umbraco.Community.BlockPreview.NoModelsTestSite/Views/Partials/blockgrid/Components/heroBlock.cshtml @@ -0,0 +1,26 @@ +@inherits UmbracoViewPage +@{ + var backgroundColor = Model.Content?.Value("backgroundColor")?.Color; + var image = Model.Content?.Value("image"); + var hasBrightContrast = Model.Content?.Value("contrast")?.Color == "#ffffff"; +} + +
+ + @if (image is not null) { +
+
+ } + + +
+

@(Model.Content?.Value("headline"))

+ @* Only render if there is some content... *@ + @if (Model.Areas.Any(a => a.Any())) { + @await Html.GetPreviewBlockGridItemAreasHtmlAsync(Model) + } +
+
diff --git a/examples/Umbraco.Community.BlockPreview.NoModelsTestSite/Views/Partials/blockgrid/Components/imageBlock.cshtml b/examples/Umbraco.Community.BlockPreview.NoModelsTestSite/Views/Partials/blockgrid/Components/imageBlock.cshtml new file mode 100644 index 00000000..81b1aff3 --- /dev/null +++ b/examples/Umbraco.Community.BlockPreview.NoModelsTestSite/Views/Partials/blockgrid/Components/imageBlock.cshtml @@ -0,0 +1,12 @@ +@inherits UmbracoViewPage +@{ + var image = Model.Content.Value("image"); + if (image is not null) + { + @image.Name + } + else + { +

Missing image

+ } +} diff --git a/examples/Umbraco.Community.BlockPreview.NoModelsTestSite/Views/Partials/blockgrid/Components/inspirationBlock.cshtml b/examples/Umbraco.Community.BlockPreview.NoModelsTestSite/Views/Partials/blockgrid/Components/inspirationBlock.cshtml new file mode 100644 index 00000000..85394d04 --- /dev/null +++ b/examples/Umbraco.Community.BlockPreview.NoModelsTestSite/Views/Partials/blockgrid/Components/inspirationBlock.cshtml @@ -0,0 +1,22 @@ +@inherits UmbracoViewPage +@{ + var backgroundColor = Model.Settings?.Value("backgroundColor"); + var hasBrightContrast = Model.Settings?.Value("contrast")?.Color == "#ffffff"; +} + +
+
+
+ @await Html.GetPreviewBlockGridItemAreaHtmlAsync(Model, "leftArea") +
+
+ @await Html.GetPreviewBlockGridItemAreaHtmlAsync(Model, "rightArea") +
+
+ @await Html.GetPreviewBlockGridItemAreaHtmlAsync(Model, "contentArea") +
+
+
diff --git a/examples/Umbraco.Community.BlockPreview.NoModelsTestSite/Views/Partials/blockgrid/Components/oneColumnSectionBlock.cshtml b/examples/Umbraco.Community.BlockPreview.NoModelsTestSite/Views/Partials/blockgrid/Components/oneColumnSectionBlock.cshtml new file mode 100644 index 00000000..68f0135d --- /dev/null +++ b/examples/Umbraco.Community.BlockPreview.NoModelsTestSite/Views/Partials/blockgrid/Components/oneColumnSectionBlock.cshtml @@ -0,0 +1,15 @@ +@inherits UmbracoViewPage +@{ + var backgroundColor = Model.Settings?.Value("backgroundColor")?.Color; + var noBackgroundColor = string.IsNullOrEmpty(backgroundColor); + var hasBrightContrast = Model.Settings?.Value("contrast")?.Color == "ffffff"; +} + +
+ @await Html.GetPreviewBlockGridItemAreasHtmlAsync(Model) +
+ +@await Html.GetBlockGridHtmlAsync(Model.Content.Value("nestedBlockGrid")) diff --git a/examples/Umbraco.Community.BlockPreview.NoModelsTestSite/Views/Partials/blockgrid/Components/richTextBlock.cshtml b/examples/Umbraco.Community.BlockPreview.NoModelsTestSite/Views/Partials/blockgrid/Components/richTextBlock.cshtml new file mode 100644 index 00000000..5335dc81 --- /dev/null +++ b/examples/Umbraco.Community.BlockPreview.NoModelsTestSite/Views/Partials/blockgrid/Components/richTextBlock.cshtml @@ -0,0 +1,3 @@ +@inherits UmbracoViewPage + +
@(Model.Content.Value("richText"))
diff --git a/examples/Umbraco.Community.BlockPreview.NoModelsTestSite/Views/Partials/blockgrid/Components/twoColumnSectionBlock.cshtml b/examples/Umbraco.Community.BlockPreview.NoModelsTestSite/Views/Partials/blockgrid/Components/twoColumnSectionBlock.cshtml new file mode 100644 index 00000000..99eaac92 --- /dev/null +++ b/examples/Umbraco.Community.BlockPreview.NoModelsTestSite/Views/Partials/blockgrid/Components/twoColumnSectionBlock.cshtml @@ -0,0 +1,15 @@ +@inherits UmbracoViewPage + +@{ + var backgroundColor = Model.Settings?.Value("backgroundColor")?.Color; + var noBackgroundColor = string.IsNullOrEmpty(backgroundColor); + var hasBrightContrast = Model.Settings?.Value("contrast")?.Color == "ffffff"; +} + +
+ + @await Html.GetPreviewBlockGridItemAreasHtmlAsync(Model) +
diff --git a/examples/Umbraco.Community.BlockPreview.NoModelsTestSite/Views/Partials/blockgrid/area.cshtml b/examples/Umbraco.Community.BlockPreview.NoModelsTestSite/Views/Partials/blockgrid/area.cshtml new file mode 100644 index 00000000..a497ca34 --- /dev/null +++ b/examples/Umbraco.Community.BlockPreview.NoModelsTestSite/Views/Partials/blockgrid/area.cshtml @@ -0,0 +1,10 @@ +@using Umbraco.Extensions +@inherits UmbracoViewPage + +
+ @await Html.GetPreviewBlockGridItemsHtmlAsync(Model) +
diff --git a/examples/Umbraco.Community.BlockPreview.NoModelsTestSite/Views/Partials/blockgrid/areas.cshtml b/examples/Umbraco.Community.BlockPreview.NoModelsTestSite/Views/Partials/blockgrid/areas.cshtml new file mode 100644 index 00000000..af06602e --- /dev/null +++ b/examples/Umbraco.Community.BlockPreview.NoModelsTestSite/Views/Partials/blockgrid/areas.cshtml @@ -0,0 +1,13 @@ +@using Umbraco.Extensions +@inherits UmbracoViewPage +@{ + if (Model?.Areas.Any() != true) { return; } +} + +
+ @foreach (var area in Model.Areas) + { + @await Html.GetPreviewBlockGridItemAreaHtmlAsync(area) + } +
diff --git a/examples/Umbraco.Community.BlockPreview.NoModelsTestSite/Views/Partials/blockgrid/default.cshtml b/examples/Umbraco.Community.BlockPreview.NoModelsTestSite/Views/Partials/blockgrid/default.cshtml new file mode 100644 index 00000000..e25a3c92 --- /dev/null +++ b/examples/Umbraco.Community.BlockPreview.NoModelsTestSite/Views/Partials/blockgrid/default.cshtml @@ -0,0 +1,11 @@ +@using Umbraco.Extensions +@inherits UmbracoViewPage +@{ + if (Model?.Any() != true) { return; } +} + +
+ @await Html.GetPreviewBlockGridItemsHtmlAsync(Model) +
diff --git a/examples/Umbraco.Community.BlockPreview.NoModelsTestSite/Views/Partials/blockgrid/items.cshtml b/examples/Umbraco.Community.BlockPreview.NoModelsTestSite/Views/Partials/blockgrid/items.cshtml new file mode 100644 index 00000000..a89f993b --- /dev/null +++ b/examples/Umbraco.Community.BlockPreview.NoModelsTestSite/Views/Partials/blockgrid/items.cshtml @@ -0,0 +1,43 @@ +@inject Microsoft.AspNetCore.Mvc.ViewComponents.IViewComponentSelector Selector +@inherits UmbracoViewPage> +@{ + if (Model?.Any() != true) { return; } +} + +
+ @foreach (var item in Model) + { +
+ @{ + var viewAlias = item.Content.ContentType.Alias; + var viewComponent = Selector.SelectComponent(viewAlias.ToPascalCase()) ?? Selector.SelectComponent(viewAlias.ToCamelCase()); + if (viewComponent != null) + { + @await Component.InvokeAsync(viewComponent.TypeInfo.AsType(), item) + } + else + { + var partialViewName = "blockgrid/Components/" + item.Content.ContentType.Alias; + try + { + @await Html.PartialAsync(partialViewName, item) + } + catch (InvalidOperationException) + { +

+ Could not render component of type: @(item.Content.ContentType.Alias) +
+ This likely happened because the partial view @partialViewName could not be found. +

+ } + } + } +
+ } +
diff --git a/examples/Umbraco.Community.BlockPreview.NoModelsTestSite/Views/Partials/blocklist/Components/buttonBlock.cshtml b/examples/Umbraco.Community.BlockPreview.NoModelsTestSite/Views/Partials/blocklist/Components/buttonBlock.cshtml new file mode 100644 index 00000000..0d31bb12 --- /dev/null +++ b/examples/Umbraco.Community.BlockPreview.NoModelsTestSite/Views/Partials/blocklist/Components/buttonBlock.cshtml @@ -0,0 +1,8 @@ +@inherits UmbracoViewPage +@{ + var button = Model.Content.Value("button"); +} + + + @button?.Name + diff --git a/examples/Umbraco.Community.BlockPreview.NoModelsTestSite/Views/Partials/blocklist/Components/heroBlock.cshtml b/examples/Umbraco.Community.BlockPreview.NoModelsTestSite/Views/Partials/blocklist/Components/heroBlock.cshtml new file mode 100644 index 00000000..2a4de9ad --- /dev/null +++ b/examples/Umbraco.Community.BlockPreview.NoModelsTestSite/Views/Partials/blocklist/Components/heroBlock.cshtml @@ -0,0 +1,21 @@ +@inherits UmbracoViewPage +@{ + var backgroundColor = Model.Content?.Value("backgroundColor")?.Color; + var image = Model.Content?.Value("image"); + var hasBrightContrast = Model.Content?.Value("contrast")?.Color == "#ffffff"; +} + +
+ + @if (image is not null) { +
+
+ } + +
+

@(Model.Content?.Value("headline"))

+
+
diff --git a/examples/Umbraco.Community.BlockPreview.NoModelsTestSite/Views/Partials/blocklist/Components/nestedBlockList.cshtml b/examples/Umbraco.Community.BlockPreview.NoModelsTestSite/Views/Partials/blocklist/Components/nestedBlockList.cshtml new file mode 100644 index 00000000..b044f912 --- /dev/null +++ b/examples/Umbraco.Community.BlockPreview.NoModelsTestSite/Views/Partials/blocklist/Components/nestedBlockList.cshtml @@ -0,0 +1,7 @@ +@inherits UmbracoViewPage + +@if (Context.Request.IsBlockPreviewRequest()) +{ + @*
Dropdown: @Model.Settings?.Value("dropdown")
*@ +} +@await Html.GetBlockListHtmlAsync(Model.Content.Value("blockList")) diff --git a/examples/Umbraco.Community.BlockPreview.NoModelsTestSite/Views/Partials/blocklist/Components/oneColumnSectionBlock.cshtml b/examples/Umbraco.Community.BlockPreview.NoModelsTestSite/Views/Partials/blocklist/Components/oneColumnSectionBlock.cshtml new file mode 100644 index 00000000..c156704f --- /dev/null +++ b/examples/Umbraco.Community.BlockPreview.NoModelsTestSite/Views/Partials/blocklist/Components/oneColumnSectionBlock.cshtml @@ -0,0 +1,3 @@ +@inherits UmbracoViewPage + +@await Html.GetBlockGridHtmlAsync(Model.Content.Value("nestedBlockGrid")) diff --git a/examples/Umbraco.Community.BlockPreview.NoModelsTestSite/Views/Partials/blocklist/Components/richTextBlock.cshtml b/examples/Umbraco.Community.BlockPreview.NoModelsTestSite/Views/Partials/blocklist/Components/richTextBlock.cshtml new file mode 100644 index 00000000..33a3de05 --- /dev/null +++ b/examples/Umbraco.Community.BlockPreview.NoModelsTestSite/Views/Partials/blocklist/Components/richTextBlock.cshtml @@ -0,0 +1,3 @@ +@inherits UmbracoViewPage + +
@(Model.Content.Value("richText"))
diff --git a/examples/Umbraco.Community.BlockPreview.NoModelsTestSite/Views/Partials/blocklist/default.cshtml b/examples/Umbraco.Community.BlockPreview.NoModelsTestSite/Views/Partials/blocklist/default.cshtml new file mode 100644 index 00000000..a79ea115 --- /dev/null +++ b/examples/Umbraco.Community.BlockPreview.NoModelsTestSite/Views/Partials/blocklist/default.cshtml @@ -0,0 +1,13 @@ +@inherits Umbraco.Cms.Web.Common.Views.UmbracoViewPage +@{ + if (Model?.Any() != true) { return; } +} +
+ @foreach (var block in Model) + { + if (block?.ContentKey == null) { continue; } + var data = block.Content; + + @await Html.PartialAsync("blocklist/Components/" + data.ContentType.Alias, block) + } +
diff --git a/examples/Umbraco.Community.BlockPreview.NoModelsTestSite/Views/Partials/richtext/Components/buttonBlock.cshtml b/examples/Umbraco.Community.BlockPreview.NoModelsTestSite/Views/Partials/richtext/Components/buttonBlock.cshtml new file mode 100644 index 00000000..1ad9a786 --- /dev/null +++ b/examples/Umbraco.Community.BlockPreview.NoModelsTestSite/Views/Partials/richtext/Components/buttonBlock.cshtml @@ -0,0 +1,8 @@ +@inherits UmbracoViewPage +@{ + var button = Model.Content.Value("button"); +} + + + @button?.Name + diff --git a/examples/Umbraco.Community.BlockPreview.NoModelsTestSite/Views/Partials/richtext/Components/cardBlock.cshtml b/examples/Umbraco.Community.BlockPreview.NoModelsTestSite/Views/Partials/richtext/Components/cardBlock.cshtml new file mode 100644 index 00000000..0114461e --- /dev/null +++ b/examples/Umbraco.Community.BlockPreview.NoModelsTestSite/Views/Partials/richtext/Components/cardBlock.cshtml @@ -0,0 +1,23 @@ +@inherits UmbracoViewPage + +
+ +
+ @{ + var image = Model.Content.Value("image"); + if (image is not null) + { + + } + else + { +

Missing image

+ } + } +
+
+

@(Model.Content.Value("headline"))

+
@(Model.Content.Value("richText"))
+
+ +
diff --git a/examples/Umbraco.Community.BlockPreview.NoModelsTestSite/Views/Partials/richtext/Components/heroBlock.cshtml b/examples/Umbraco.Community.BlockPreview.NoModelsTestSite/Views/Partials/richtext/Components/heroBlock.cshtml new file mode 100644 index 00000000..9ccac4e6 --- /dev/null +++ b/examples/Umbraco.Community.BlockPreview.NoModelsTestSite/Views/Partials/richtext/Components/heroBlock.cshtml @@ -0,0 +1,23 @@ +@inherits UmbracoViewPage +@{ + var backgroundColor = Model.Content?.Value("backgroundColor")?.Color; + var image = Model.Content?.Value("image"); + var hasBrightContrast = Model.Content?.Value("contrast")?.Color == "#ffffff"; +} + + +
+ + @if (image is not null) { +
+
+ } + + +
+

@(Model.Content?.Value("headline"))

+
+
diff --git a/examples/Umbraco.Community.BlockPreview.NoModelsTestSite/Views/Partials/richtext/Components/richTextBlock.cshtml b/examples/Umbraco.Community.BlockPreview.NoModelsTestSite/Views/Partials/richtext/Components/richTextBlock.cshtml new file mode 100644 index 00000000..59796dd3 --- /dev/null +++ b/examples/Umbraco.Community.BlockPreview.NoModelsTestSite/Views/Partials/richtext/Components/richTextBlock.cshtml @@ -0,0 +1,3 @@ +@inherits UmbracoViewPage + +
@(Model.Content.Value("richText"))
diff --git a/examples/Umbraco.Community.BlockPreview.NoModelsTestSite/Views/Shared/Components/ImageBlock/Default.cshtml b/examples/Umbraco.Community.BlockPreview.NoModelsTestSite/Views/Shared/Components/ImageBlock/Default.cshtml new file mode 100644 index 00000000..3b4da0e6 --- /dev/null +++ b/examples/Umbraco.Community.BlockPreview.NoModelsTestSite/Views/Shared/Components/ImageBlock/Default.cshtml @@ -0,0 +1,12 @@ +@inherits UmbracoViewPage +@{ + var image = Model.Content.Value("image"); + if (image is not null) + { + @image.Name + } + else + { +

Missing image

+ } +} diff --git a/examples/Umbraco.Community.BlockPreview.NoModelsTestSite/Views/Shared/Components/RichTextBlock/Default.cshtml b/examples/Umbraco.Community.BlockPreview.NoModelsTestSite/Views/Shared/Components/RichTextBlock/Default.cshtml new file mode 100644 index 00000000..5335dc81 --- /dev/null +++ b/examples/Umbraco.Community.BlockPreview.NoModelsTestSite/Views/Shared/Components/RichTextBlock/Default.cshtml @@ -0,0 +1,3 @@ +@inherits UmbracoViewPage + +
@(Model.Content.Value("richText"))
diff --git a/examples/Umbraco.Community.BlockPreview.NoModelsTestSite/Views/ThemedBlockList.cshtml b/examples/Umbraco.Community.BlockPreview.NoModelsTestSite/Views/ThemedBlockList.cshtml new file mode 100644 index 00000000..969471a7 --- /dev/null +++ b/examples/Umbraco.Community.BlockPreview.NoModelsTestSite/Views/ThemedBlockList.cshtml @@ -0,0 +1,6 @@ +@inherits Umbraco.Cms.Web.Common.Views.UmbracoViewPage +@{ + Layout = "Layout.cshtml"; +} + +@await Html.GetBlockListHtmlAsync(Model.Value("content")) \ No newline at end of file diff --git a/examples/Umbraco.Community.BlockPreview.NoModelsTestSite/Views/Themes/Blue/Blocklist/Components/heroBlock.cshtml b/examples/Umbraco.Community.BlockPreview.NoModelsTestSite/Views/Themes/Blue/Blocklist/Components/heroBlock.cshtml new file mode 100644 index 00000000..b74e95c0 --- /dev/null +++ b/examples/Umbraco.Community.BlockPreview.NoModelsTestSite/Views/Themes/Blue/Blocklist/Components/heroBlock.cshtml @@ -0,0 +1,21 @@ +@inherits UmbracoViewPage +@{ + var backgroundColor = Model.Content?.Value("backgroundColor")?.Color; + var image = Model.Content?.Value("image"); + var hasBrightContrast = Model.Content?.Value("contrast")?.Color == "#ffffff"; +} + +
+ + @if (image is not null) + { +
+
+ } + +
+

@(Model.Content?.Value("headline"))

+
+
diff --git a/examples/Umbraco.Community.BlockPreview.NoModelsTestSite/Views/Themes/Red/Blocklist/Components/heroBlock.cshtml b/examples/Umbraco.Community.BlockPreview.NoModelsTestSite/Views/Themes/Red/Blocklist/Components/heroBlock.cshtml new file mode 100644 index 00000000..2a4de9ad --- /dev/null +++ b/examples/Umbraco.Community.BlockPreview.NoModelsTestSite/Views/Themes/Red/Blocklist/Components/heroBlock.cshtml @@ -0,0 +1,21 @@ +@inherits UmbracoViewPage +@{ + var backgroundColor = Model.Content?.Value("backgroundColor")?.Color; + var image = Model.Content?.Value("image"); + var hasBrightContrast = Model.Content?.Value("contrast")?.Color == "#ffffff"; +} + +
+ + @if (image is not null) { +
+
+ } + +
+

@(Model.Content?.Value("headline"))

+
+
diff --git a/examples/Umbraco.Community.BlockPreview.NoModelsTestSite/Views/_ViewImports.cshtml b/examples/Umbraco.Community.BlockPreview.NoModelsTestSite/Views/_ViewImports.cshtml new file mode 100644 index 00000000..d3041f41 --- /dev/null +++ b/examples/Umbraco.Community.BlockPreview.NoModelsTestSite/Views/_ViewImports.cshtml @@ -0,0 +1,10 @@ +@using Umbraco.Extensions +@using Umbraco.Cms.Web.Common.Views +@using Umbraco.Cms.Core.Models +@using Umbraco.Cms.Core.Models.Blocks +@using Umbraco.Cms.Core.Models.PublishedContent +@using Umbraco.Cms.Core.PropertyEditors.ValueConverters +@using Umbraco.Cms.Core.Strings +@using Microsoft.AspNetCore.Html +@using Umbraco.Community.BlockPreview.Extensions +@addTagHelper *, Microsoft.AspNetCore.Mvc.TagHelpers diff --git a/examples/Umbraco.Community.BlockPreview.NoModelsTestSite/appsettings.Development.json b/examples/Umbraco.Community.BlockPreview.NoModelsTestSite/appsettings.Development.json new file mode 100644 index 00000000..581b61f4 --- /dev/null +++ b/examples/Umbraco.Community.BlockPreview.NoModelsTestSite/appsettings.Development.json @@ -0,0 +1,49 @@ +{ + "$schema": "appsettings-schema.json", + "Serilog": { + "MinimumLevel": { + "Default": "Information" + }, + "WriteTo": [ + { + "Name": "Async", + "Args": { + "configure": [ + { + "Name": "Console" + } + ] + } + } + ] + }, + "ConnectionStrings": { + "umbracoDbDSN": "Data Source=|DataDirectory|/Umbraco.sqlite.db;Cache=Shared;Foreign Keys=True;Pooling=True", + "umbracoDbDSN_ProviderName": "Microsoft.Data.Sqlite" + }, + "Umbraco": { + "CMS": { + "Unattended": { + "InstallUnattended": true, + "UpgradeUnattended": true, + "UnattendedUserName": "Admin", + "UnattendedUserEmail": "admin@example.com", + "UnattendedUserPassword": "1234567890" + }, + "Content": { + "MacroErrors": "Throw" + }, + "Hosting": { + "Debug": true + }, + "ModelsBuilder": { + "ModelsMode": "Nothing" + }, + "Runtime": { "Mode": "BackofficeDevelopment" }, + "RuntimeMinification": { + "UseInMemoryCache": true, + "CacheBuster": "Timestamp" + } + } + } +} diff --git a/examples/Umbraco.Community.BlockPreview.NoModelsTestSite/appsettings.json b/examples/Umbraco.Community.BlockPreview.NoModelsTestSite/appsettings.json new file mode 100644 index 00000000..08254d90 --- /dev/null +++ b/examples/Umbraco.Community.BlockPreview.NoModelsTestSite/appsettings.json @@ -0,0 +1,37 @@ +{ + "$schema": "appsettings-schema.json", + "Serilog": { + "MinimumLevel": { + "Default": "Information", + "Override": { + "Microsoft": "Warning", + "Microsoft.Hosting.Lifetime": "Information", + "System": "Warning" + } + } + }, + "Umbraco": { + "CMS": { + "Global": { + "Id": "a1c2d3e4-f5a6-4b7c-8d9e-0f1a2b3c4d5e", + "SanitizeTinyMce": true + }, + "Content": { + "AllowEditInvariantFromNonDefault": true, + "ContentVersionCleanupPolicy": { + "EnableCleanup": true + } + }, + "Imaging": { + "HMACSecretKey": "YIf1rCi\u002BMMCWwONpR6aqe/3xKjYgeU8A7RwMqbJJTjBT5cyOOyjXCwUF\u002BPrX1tAGKrac\u002BBiMJt6IhUxqyoPUYw==" + } + } + }, + "uSync": { + "Settings": { + "ExportOnSave": "All", + "ImportAtStartup": "All", + "ImportOnFirstBoot": true + } + } +} \ No newline at end of file diff --git a/examples/Umbraco.Community.BlockPreview.NoModelsTestSite/uSync/v17/Blueprints/home.config b/examples/Umbraco.Community.BlockPreview.NoModelsTestSite/uSync/v17/Blueprints/home.config new file mode 100644 index 00000000..e91298dc --- /dev/null +++ b/examples/Umbraco.Community.BlockPreview.NoModelsTestSite/uSync/v17/Blueprints/home.config @@ -0,0 +1,1176 @@ + + + + + /Home + false + blockGrid + 2026-02-01T16:16:12 + + 0 + + + + true + + + + + + + \ No newline at end of file diff --git a/examples/Umbraco.Community.BlockPreview.NoModelsTestSite/uSync/v17/Content/all-data-types.config b/examples/Umbraco.Community.BlockPreview.NoModelsTestSite/uSync/v17/Content/all-data-types.config new file mode 100644 index 00000000..86976df3 --- /dev/null +++ b/examples/Umbraco.Community.BlockPreview.NoModelsTestSite/uSync/v17/Content/all-data-types.config @@ -0,0 +1,1397 @@ + + + + Home + /Home/AllDataTypes + false + blockGrid + 2026-02-13T08:16:17 + + 7 + + + + + + + + + + \ No newline at end of file diff --git a/examples/Umbraco.Community.BlockPreview.NoModelsTestSite/uSync/v17/Content/block-list-test.config b/examples/Umbraco.Community.BlockPreview.NoModelsTestSite/uSync/v17/Content/block-list-test.config new file mode 100644 index 00000000..bea97f1d --- /dev/null +++ b/examples/Umbraco.Community.BlockPreview.NoModelsTestSite/uSync/v17/Content/block-list-test.config @@ -0,0 +1,148 @@ + + + + Home + /Home/BlockListTest + false + blockList + 2024-04-23T14:41:04 + + 2 + + + + + + + + + + \ No newline at end of file diff --git a/examples/Umbraco.Community.BlockPreview.NoModelsTestSite/uSync/v17/Content/blue-block-list.config b/examples/Umbraco.Community.BlockPreview.NoModelsTestSite/uSync/v17/Content/blue-block-list.config new file mode 100644 index 00000000..b618482b --- /dev/null +++ b/examples/Umbraco.Community.BlockPreview.NoModelsTestSite/uSync/v17/Content/blue-block-list.config @@ -0,0 +1,102 @@ + + + + Home + /Home/BlueBlockList + false + themedBlockList + 2025-11-18T00:26:21 + + 6 + + + + + + + + + + + + + \ No newline at end of file diff --git a/examples/Umbraco.Community.BlockPreview.NoModelsTestSite/uSync/v17/Content/home.config b/examples/Umbraco.Community.BlockPreview.NoModelsTestSite/uSync/v17/Content/home.config new file mode 100644 index 00000000..10c62bbb --- /dev/null +++ b/examples/Umbraco.Community.BlockPreview.NoModelsTestSite/uSync/v17/Content/home.config @@ -0,0 +1,1175 @@ + + + + + /Home + false + blockGrid + 2024-04-22T19:48:27 + + 0 + + + + + + + + + + \ No newline at end of file diff --git a/examples/Umbraco.Community.BlockPreview.NoModelsTestSite/uSync/v17/Content/nested-block-grid-test.config b/examples/Umbraco.Community.BlockPreview.NoModelsTestSite/uSync/v17/Content/nested-block-grid-test.config new file mode 100644 index 00000000..2bbd8688 --- /dev/null +++ b/examples/Umbraco.Community.BlockPreview.NoModelsTestSite/uSync/v17/Content/nested-block-grid-test.config @@ -0,0 +1,386 @@ + + + + Home + /Home/NestedBlockGridTest + false + blockGrid + 2025-01-23T09:39:45 + + 3 + + + + + + + + + + \ No newline at end of file diff --git a/examples/Umbraco.Community.BlockPreview.NoModelsTestSite/uSync/v17/Content/red-block-list.config b/examples/Umbraco.Community.BlockPreview.NoModelsTestSite/uSync/v17/Content/red-block-list.config new file mode 100644 index 00000000..9a990081 --- /dev/null +++ b/examples/Umbraco.Community.BlockPreview.NoModelsTestSite/uSync/v17/Content/red-block-list.config @@ -0,0 +1,102 @@ + + + + Home + /Home/RedBlockList + false + themedBlockList + 2025-11-18T00:25:49 + + 5 + + + + + + + + + + + + + \ No newline at end of file diff --git a/examples/Umbraco.Community.BlockPreview.NoModelsTestSite/uSync/v17/Content/services.config b/examples/Umbraco.Community.BlockPreview.NoModelsTestSite/uSync/v17/Content/services.config new file mode 100644 index 00000000..7689c5d1 --- /dev/null +++ b/examples/Umbraco.Community.BlockPreview.NoModelsTestSite/uSync/v17/Content/services.config @@ -0,0 +1,1028 @@ + + + + Home + /Home/Services + false + blockGrid + 2023-08-25T13:17:12 + + 0 + + + + + + + + + + \ No newline at end of file diff --git a/examples/Umbraco.Community.BlockPreview.NoModelsTestSite/uSync/v17/ContentTypes/alldatatypes.config b/examples/Umbraco.Community.BlockPreview.NoModelsTestSite/uSync/v17/ContentTypes/alldatatypes.config new file mode 100644 index 00000000..7dfb5288 --- /dev/null +++ b/examples/Umbraco.Community.BlockPreview.NoModelsTestSite/uSync/v17/ContentTypes/alldatatypes.config @@ -0,0 +1,818 @@ + + + + All Data Types + icon-settings + folder.png + Element type with one property for every built-in Umbraco data type + False + 00000000-0000-0000-0000-000000000000 + Nothing + true + + False + + + + + + + + + + + 83cf176a-2a07-4d81-bd73-00bfe338f3e8 + Approved Color + approvedColor + 0225af17-b302-49cb-9176-b9f35cab9c17 + Umbraco.ColorPicker + false + + + 18 + Selection + Nothing + + + false + + + 05c5cc67-61c0-433d-a1ab-9b133ba96a50 + Checkbox List + checkboxList + fbaf13a8-4036-41f2-93a3-974f678c312a + Umbraco.CheckBoxList + false + + + 14 + Selection + Nothing + + + false + + + a1a1a1a1-b2b2-4c3c-8d4d-e5e5e5e5e501 + Code Editor + codeEditor + b7b892e8-f0fb-4680-9497-38c8f8f9b5a6 + Umbraco.TextArea + false + + + 4 + Text + Nothing + + + false + + + a1a1a1a1-b2b2-4c3c-8d4d-e5e5e5e5e505 + Color Picker Eye Dropper + colorPickerEyeDropper + 0e644564-15e8-466e-8e01-b5639b1d53cb + Umbraco.ColorPicker.EyeDropper + false + + + 19 + Selection + Nothing + + + false + + + 1f23259c-09ad-4953-83cc-d8cdb6fcdd29 + Content Picker + contentPicker + fd1e0da5-5606-4862-b679-5d0cf3a52a59 + Umbraco.ContentPicker + false + + + 20 + Pickers + Nothing + + + false + + + b2c9b463-989e-423e-b0e5-e78c470d42a8 + Date Picker + datePicker + 5046194e-4237-453c-a547-15db3a07c4e1 + Umbraco.DateTime + false + + + 7 + Dates + Nothing + + + false + + + d4c3da1a-099a-40a6-bbc4-7309e10cd048 + Date Picker With Time + datePickerWithTime + e4d66c0f-b935-4200-81f0-025f7256b89a + Umbraco.DateTime + false + + + 8 + Dates + Nothing + + + false + + + 706466e6-5764-48f3-ad0a-c4dcd2419aad + Date Time Picker With Time Zone + dateTimePickerWithTimeZone + 88e8a052-30ee-4d44-a507-59f2cdfc769c + Umbraco.DateTimeWithTimeZone + false + + + 9 + Dates + Nothing + + + false + + + a1a1a1a1-b2b2-4c3c-8d4d-e5e5e5e5e504 + Decimal + decimal + 8bc7d122-2179-41c4-88a9-fb52a454240f + Umbraco.Decimal + false + + + 12 + Numbers + Nothing + + + false + + + c3c5bd59-a504-4228-973e-1ccefe906aa5 + Dropdown + dropdown + 0b6a45e7-44ba-430d-9da5-4e46060b9e03 + Umbraco.DropDown.Flexible + false + + + 16 + Selection + Nothing + + + false + + + ab6bb2f8-42dc-4a3f-b67e-c2aa0e18d848 + Dropdown Multiple + dropdownMultiple + f38f0ac7-1d27-439c-9f3f-089cd8825a53 + Umbraco.DropDown.Flexible + false + + + 17 + Selection + Nothing + + + false + + + a1a1a1a1-b2b2-4c3c-8d4d-e5e5e5e5e502 + Email Address + emailAddress + ebf7e46f-4178-413f-97c2-12822e196237 + Umbraco.EmailAddress + false + + + 5 + Text + Nothing + + + false + + + dae3d47e-10d3-4408-8484-7d9ae6c8134a + Image Cropper + imageCropper + 1df9f033-e6d4-451f-b8d2-e0cbc50a836f + Umbraco.ImageCropper + false + + + 32 + Other + Nothing + + + false + + + 8d7c2a0d-33d1-462e-b6b9-6a83e07e2c8e + Image Media Picker + imageMediaPicker + ad9f0cf2-bda2-45d5-9ea1-a63cfc873fd3 + Umbraco.MediaPicker3 + false + + + 22 + Pickers + Nothing + + + false + + + ab6cf2ff-829a-453e-92bd-4907242d1eaf + Label (bigint) + labelBigint + 930861bf-e262-4ead-a704-f99453565708 + Umbraco.Label + false + + + 42 + Labels + Nothing + + + false + + + ff4a42f8-401f-4046-9792-cdbf52be655f + Label (bytes) + labelBytes + ba5bdbe6-ab3e-46a8-82b3-2c45f10bc47f + Umbraco.Label + false + + + 44 + Labels + Nothing + + + false + + + 7a56bb08-5f62-491d-9c41-8929e5b4965e + Label (datetime) + labelDatetime + 0e9794eb-f9b5-4f20-a788-93acd233a7e4 + Umbraco.Label + false + + + 40 + Labels + Nothing + + + false + + + 2c798fae-b284-43a6-a6fe-3e520b34036f + Label (decimal) + labelDecimal + 8f1ef1e1-9de4-40d3-a072-6673f631ca64 + Umbraco.Label + false + + + 41 + Labels + Nothing + + + false + + + e15da935-4146-432f-8ced-3607cc428126 + Label (integer) + labelInteger + 8e7f995c-bd81-4627-9932-c40e568ec788 + Umbraco.Label + false + + + 39 + Labels + Nothing + + + false + + + c59f0424-42f5-41dc-b623-58f2844e4727 + Label (pixels) + labelPixels + 5eb57825-e15e-4fc7-8e37-fca65cdafbde + Umbraco.Label + false + + + 45 + Labels + Nothing + + + false + + + 183b6144-012b-4341-8d78-5ae218a57705 + Label (string) + labelString + f0bc4bfb-b499-40d6-ba86-058885a5178c + Umbraco.Label + false + + + 38 + Labels + Nothing + + + false + + + 01d90202-b352-4af4-b747-9f7e042c8426 + Label (time) + labelTime + a97cec69-9b71-4c30-8b12-ec398860d7e8 + Umbraco.Label + false + + + 43 + Labels + Nothing + + + false + + + a1a1a1a1-b2b2-4c3c-8d4d-e5e5e5e5e503 + Markdown Editor + markdownEditor + 8c215a47-4b4e-4c1e-b45c-b765ce403d95 + Umbraco.MarkdownEditor + false + + + 6 + Text + Nothing + + + false + + + 9006f806-bc3d-49d6-8355-df3c73880fea + Media Picker + mediaPicker + 4309a3ea-0d78-4329-a06c-c80b036af19a + Umbraco.MediaPicker3 + false + + + 21 + Pickers + Nothing + + + false + + + a1a1a1a1-b2b2-4c3c-8d4d-e5e5e5e5e507 + Member Group Picker + memberGroupPicker + e086b7f8-ecde-4645-8c2f-c5b695b673fa + Umbraco.MemberGroupPicker + false + + + 27 + Pickers + Nothing + + + false + + + 5e624fd7-23f8-4eab-8ff0-7e757f266f6c + Member Picker + memberPicker + 1ea2e01f-ebd8-4ce1-8d71-6b1149e63548 + Umbraco.MemberPicker + false + + + 25 + Pickers + Nothing + + + false + + + a1a1a1a1-b2b2-4c3c-8d4d-e5e5e5e5e506 + Multi Node Tree Picker + multiNodeTreePicker + c3dfbd9e-45ae-4315-8158-4f3a25fe9b25 + Umbraco.MultiNodeTreePicker + false + + + 26 + Pickers + Nothing + + + false + + + 1b9dcf20-7e4f-4325-99da-8d7b99ebe905 + Multiple Image Media Picker + multipleImageMediaPicker + 0e63d883-b62b-4799-88c3-157f82e83ecc + Umbraco.MediaPicker3 + false + + + 24 + Pickers + Nothing + + + false + + + 3cd2d501-a1b6-4841-baf5-27a2d14baae8 + Multiple Media Picker + multipleMediaPicker + 1b661f40-2242-4b44-b9cb-3990ee2b13c0 + Umbraco.MediaPicker3 + false + + + 23 + Pickers + Nothing + + + false + + + b1c2d3e4-f5a6-4b7c-8d9e-0f1a2b3c4d5e + Multiple Textstring + multipleTextstring + b043e740-9e3c-40b6-b43f-3d24f1e6ae13 + Umbraco.MultipleTextstring + false + + + 3 + Text + Nothing + + + false + + + 0551e6c2-332c-4185-a6c5-008476e12c4f + Multi URL Picker + multiUrlPicker + b4e3535a-1753-47e2-8568-602cf8cfee6f + Umbraco.MultiUrlPicker + false + + + 29 + Links + Nothing + + + false + + + c223f01c-e3b3-4f28-a2fe-395bedb2a9e0 + Numeric + numeric + 2e6d3631-066e-44b8-aec4-96f09099b2b5 + Umbraco.Integer + false + + + 10 + Numbers + Nothing + + + false + + + 69d79a99-92a8-4a11-a951-0e405f2ab453 + Percentage + percentage + ada22c86-29c3-419a-9760-ad0425883ae7 + Umbraco.Slider + false + + + 11 + Numbers + Nothing + + + false + + + dc1da633-a632-4c45-bf37-32d0953e6ab9 + Radiobox + radiobox + bb5f57c9-ce2b-4bb9-b697-4caca783a805 + Umbraco.RadioButtonList + false + + + 15 + Selection + Nothing + + + false + + + f5804ca7-5a1a-4c11-93e4-bdb4831990f9 + Rich Text Editor + richTextEditor + ca90c950-0aff-4e72-b976-a30b1ac57dad + Umbraco.RichText + false + + + 2 + Text + Nothing + + + false + + + d91941be-005b-40fb-a1f2-a7007fab274f + Single URL Picker + singleUrlPicker + 6ef80f6d-9e69-4085-ab8a-f5c4327b0e55 + Umbraco.MultiUrlPicker + false + + + 30 + Links + Nothing + + + false + + + 845ca6b8-f057-4863-973f-c8596fe492de + Tags + tags + b6b73142-b9c1-4bf8-a16d-e1c23320b549 + Umbraco.Tags + false + + + 31 + Other + Nothing + + + false + + + a2b2862c-6290-405f-af95-d39a4e4d4ccb + Textarea + textarea + c6bac0dd-4ab9-45b1-8e30-e4b619ee5da3 + Umbraco.TextArea + false + + + 1 + Text + Nothing + + + false + + + e480d4e8-f26c-446a-86a3-daa460af34cd + Textstring + textstring + 0cc0eba1-9960-42c9-bf9b-60e150b429ae + Umbraco.TextBox + false + + + 0 + Text + Nothing + + + false + + + fd5a09cc-9cb1-4b12-9be1-49f44c12d0e7 + True/False + trueFalse + 92897bc6-a5f3-4ffe-ae27-f2e7e33dda49 + Umbraco.TrueFalse + false + + + 13 + Selection + Nothing + + + false + + + e4fdf3d6-5a72-480b-9293-2767a7077677 + Upload Article + uploadArticle + bc1e266c-dac4-4164-bf08-8a1ec6a7143d + Umbraco.UploadField + false + + + 34 + Other + Nothing + + + false + + + d1ea8e29-b106-4586-a27d-ba8f7e2f9d58 + Upload Audio + uploadAudio + 8f430dd6-4e96-447e-9dc0-cb552c8cd1f3 + Umbraco.UploadField + false + + + 35 + Other + Nothing + + + false + + + 9c1893ab-ee1d-4564-85d9-e9fe36133770 + Upload File + uploadFile + 84c6b441-31df-4ffe-b67e-67d5bc3ae65a + Umbraco.UploadField + false + + + 33 + Other + Nothing + + + false + + + e301ae12-09cf-4034-bc83-63c0712b29b4 + Upload Vector Graphics + uploadVectorGraphics + 215cb418-2153-4429-9aef-8c0f0041191b + Umbraco.UploadField + false + + + 36 + Other + Nothing + + + false + + + 51bd20aa-e3ea-437e-8411-e7b685ee07f5 + Upload Video + uploadVideo + 70575fe7-9812-4396-bbe1-c81a76db71b5 + Umbraco.UploadField + false + + + 37 + Other + Nothing + + + false + + + a1a1a1a1-b2b2-4c3c-8d4d-e5e5e5e5e508 + User Picker + userPicker + 6ec66e71-78e3-4305-8e48-127821b3f873 + Umbraco.UserPicker + false + + + 28 + Pickers + Nothing + + + false + + + + + 01c514c1-2453-48f2-a0f9-1698f6f2291a + Numbers + numbers + Tab + 2 + + + 5e8715fc-dcdb-4f7a-aec1-ea8f09087056 + Text + text + Tab + 0 + + + 83fdc5f5-82c0-47b4-b77f-ea8422770477 + Links + links + Tab + 5 + + + 8593f04d-0a09-443e-bde2-d5ca1890c572 + Selection + selection + Tab + 3 + + + 8aa673a6-35f0-42b0-bca7-b0f328e17971 + Dates + dates + Tab + 1 + + + c9372aec-0c9e-4f60-af35-efe0b5da98f6 + Other + other + Tab + 6 + + + e0beb87a-db90-4f10-8077-4fc5a6727ffc + Labels + labels + Tab + 7 + + + f5a4a19e-78cc-482b-a955-bf290ed648b0 + Pickers + pickers + Tab + 4 + + + \ No newline at end of file diff --git a/examples/Umbraco.Community.BlockPreview.NoModelsTestSite/uSync/v17/ContentTypes/blockgrid.config b/examples/Umbraco.Community.BlockPreview.NoModelsTestSite/uSync/v17/ContentTypes/blockgrid.config new file mode 100644 index 00000000..b8bdebaf --- /dev/null +++ b/examples/Umbraco.Community.BlockPreview.NoModelsTestSite/uSync/v17/ContentTypes/blockgrid.config @@ -0,0 +1,54 @@ + + + + Block Grid + icon-layout color-black + folder.png + + True + 00000000-0000-0000-0000-000000000000 + Nothing + false + + False + + + + + BlockGrid + + + + + + blockGrid + themedBlockList + + + + 7b0420c9-87ac-4b2f-a6ee-3dbafa83c7a9 + Content + content + c3384287-a9ca-463c-a0b9-adfaa4ca679f + Umbraco.BlockGrid + false + + + 1 + Content + Nothing + + + true + + + + + 97bd9bea-80a7-42fe-9e85-92cf280446eb + Content + content + Group + 0 + + + \ No newline at end of file diff --git a/examples/Umbraco.Community.BlockPreview.NoModelsTestSite/uSync/v17/ContentTypes/blocklist.config b/examples/Umbraco.Community.BlockPreview.NoModelsTestSite/uSync/v17/ContentTypes/blocklist.config new file mode 100644 index 00000000..c225a6fa --- /dev/null +++ b/examples/Umbraco.Community.BlockPreview.NoModelsTestSite/uSync/v17/ContentTypes/blocklist.config @@ -0,0 +1,53 @@ + + + + Block List + icon-filter-arrows color-black + folder.png + + True + 00000000-0000-0000-0000-000000000000 + Nothing + false + + False + + + + + BlockList + + + + + + blockGrid + + + + 1e95879e-7623-443d-9b4c-34910a8fbe20 + Content + content + d455ec3d-a214-4b10-9d77-ca61ea867cd0 + Umbraco.BlockList + false + + + 1 + Content + Nothing + + + true + + + + + 5abf23a8-c995-4c3b-bf26-9f9dea2a6604 + Content + content + Group + 0 + + + \ No newline at end of file diff --git a/examples/Umbraco.Community.BlockPreview.NoModelsTestSite/uSync/v17/ContentTypes/blocksettings.config b/examples/Umbraco.Community.BlockPreview.NoModelsTestSite/uSync/v17/ContentTypes/blocksettings.config new file mode 100644 index 00000000..9c69b4d7 --- /dev/null +++ b/examples/Umbraco.Community.BlockPreview.NoModelsTestSite/uSync/v17/ContentTypes/blocksettings.config @@ -0,0 +1,50 @@ + + + + Block Settings + icon-plugin + folder.png + + False + 00000000-0000-0000-0000-000000000000 + Nothing + true + + False + + + + Blocks + + + + + + + + f1d219c9-cc52-401e-af71-379efadccf13 + Dropdown + dropdown + 7a7da278-de8a-497d-afd4-48fac0cdb671 + Umbraco.DropDown.Flexible + false + + + 0 + Content + Nothing + + + false + + + + + 8ccafae1-eec7-40cc-b395-b8fc995a3a25 + Content + content + Tab + 0 + + + \ No newline at end of file diff --git a/examples/Umbraco.Community.BlockPreview.NoModelsTestSite/uSync/v17/ContentTypes/blockwitharea.config b/examples/Umbraco.Community.BlockPreview.NoModelsTestSite/uSync/v17/ContentTypes/blockwitharea.config new file mode 100644 index 00000000..70d56ae9 --- /dev/null +++ b/examples/Umbraco.Community.BlockPreview.NoModelsTestSite/uSync/v17/ContentTypes/blockwitharea.config @@ -0,0 +1,50 @@ + + + + Block With Area + icon-plugin + folder.png + Test + False + 00000000-0000-0000-0000-000000000000 + Nothing + true + + False + + + + Blocks + + + + + + + + d55f5cf2-cc91-433e-83a8-1a6cede2ef11 + Title + title + 0cc0eba1-9960-42c9-bf9b-60e150b429ae + Umbraco.TextBox + true + + + 0 + Content + Nothing + + + false + + + + + c6bdd7ae-5e95-41d9-9fb5-b8579efec08d + Content + content + Tab + 0 + + + \ No newline at end of file diff --git a/examples/Umbraco.Community.BlockPreview.NoModelsTestSite/uSync/v17/ContentTypes/buttonblock.config b/examples/Umbraco.Community.BlockPreview.NoModelsTestSite/uSync/v17/ContentTypes/buttonblock.config new file mode 100644 index 00000000..074fee32 --- /dev/null +++ b/examples/Umbraco.Community.BlockPreview.NoModelsTestSite/uSync/v17/ContentTypes/buttonblock.config @@ -0,0 +1,50 @@ + + + + Button Block + icon-link + folder.png + + False + 00000000-0000-0000-0000-000000000000 + Nothing + true + + False + + + + Blocks + + + + + + + + 0805183f-1ea6-4c19-bfb3-5dfe8baa54a1 + Button + button + 6ef80f6d-9e69-4085-ab8a-f5c4327b0e55 + Umbraco.MultiUrlPicker + false + + + 0 + Content + Nothing + + + false + + + + + 1643275b-e6de-442f-a2d3-586cd7ac2885 + Content + content + Tab + 0 + + + \ No newline at end of file diff --git a/examples/Umbraco.Community.BlockPreview.NoModelsTestSite/uSync/v17/ContentTypes/calltoactionblock.config b/examples/Umbraco.Community.BlockPreview.NoModelsTestSite/uSync/v17/ContentTypes/calltoactionblock.config new file mode 100644 index 00000000..3bbbddf5 --- /dev/null +++ b/examples/Umbraco.Community.BlockPreview.NoModelsTestSite/uSync/v17/ContentTypes/calltoactionblock.config @@ -0,0 +1,50 @@ + + + + Call to Action + icon-candy color-black + folder.png + + False + 00000000-0000-0000-0000-000000000000 + Nothing + true + + False + + + + Blocks + + + + + + + + 24268764-5ef2-4032-96d0-aefa3a1e86ee + Link + link + b5a4834e-8492-4f0e-b055-fc7fb8971456 + Umbraco.MultiUrlPicker + false + + + 0 + Call to Action + Nothing + + + false + + + + + 16cad6f9-7106-4bd2-b5ce-bd27393c5c32 + Call to Action + callToAction + Group + 0 + + + \ No newline at end of file diff --git a/examples/Umbraco.Community.BlockPreview.NoModelsTestSite/uSync/v17/ContentTypes/cardblock.config b/examples/Umbraco.Community.BlockPreview.NoModelsTestSite/uSync/v17/ContentTypes/cardblock.config new file mode 100644 index 00000000..4a8a865e --- /dev/null +++ b/examples/Umbraco.Community.BlockPreview.NoModelsTestSite/uSync/v17/ContentTypes/cardblock.config @@ -0,0 +1,82 @@ + + + + Card + icon-pictures-alt-2 color-black + folder.png + + False + 00000000-0000-0000-0000-000000000000 + Nothing + true + + False + + + + Blocks + + + + + + + + 071f1e2c-c3f1-4781-a188-b12dee5155ee + Headline + headline + 0cc0eba1-9960-42c9-bf9b-60e150b429ae + Umbraco.TextBox + false + + + 0 + Content + Nothing + + + false + + + 9207cf33-48e5-46d4-b8b8-d22b08b3f781 + Image + image + ad9f0cf2-bda2-45d5-9ea1-a63cfc873fd3 + Umbraco.MediaPicker3 + false + + + 2 + Content + Nothing + + + false + + + 0575255d-304c-4658-8525-65a52a12a7a8 + Rich Text + richText + ca90c950-0aff-4e72-b976-a30b1ac57dad + Umbraco.RichText + false + + + 1 + Content + Nothing + + + false + + + + + 2b2c9b06-f0bb-41d7-b397-f93a50869629 + Content + content + Group + 0 + + + \ No newline at end of file diff --git a/examples/Umbraco.Community.BlockPreview.NoModelsTestSite/uSync/v17/ContentTypes/headlineblock.config b/examples/Umbraco.Community.BlockPreview.NoModelsTestSite/uSync/v17/ContentTypes/headlineblock.config new file mode 100644 index 00000000..17c10b68 --- /dev/null +++ b/examples/Umbraco.Community.BlockPreview.NoModelsTestSite/uSync/v17/ContentTypes/headlineblock.config @@ -0,0 +1,50 @@ + + + + Headline + icon-font color-black + folder.png + + False + 00000000-0000-0000-0000-000000000000 + Nothing + true + + False + + + + Blocks + + + + + + + + d12ce005-4039-4606-bca3-a0565211b76c + Headline + headline + 0cc0eba1-9960-42c9-bf9b-60e150b429ae + Umbraco.TextBox + true + + + 0 + Content + Nothing + + + false + + + + + f445e496-d440-47f1-b2ee-200addcc363c + Content + content + Group + 0 + + + \ No newline at end of file diff --git a/examples/Umbraco.Community.BlockPreview.NoModelsTestSite/uSync/v17/ContentTypes/heroblock.config b/examples/Umbraco.Community.BlockPreview.NoModelsTestSite/uSync/v17/ContentTypes/heroblock.config new file mode 100644 index 00000000..76e9e37d --- /dev/null +++ b/examples/Umbraco.Community.BlockPreview.NoModelsTestSite/uSync/v17/ContentTypes/heroblock.config @@ -0,0 +1,98 @@ + + + + Hero + icon-birthday-cake color-black + folder.png + + False + 00000000-0000-0000-0000-000000000000 + Nothing + true + + False + + + + Blocks + + + + + + + + b5a79ad9-c13f-4fb1-a095-48c1ff64f180 + Background Color + backgroundColor + b3f77e71-396d-4f49-b264-b1eacd63cbca + Umbraco.ColorPicker + false + + + 2 + Content + Nothing + + + false + + + 9f76b3b1-d7d4-4982-b828-c7fb528e0c3c + Contrast + contrast + d320454a-b023-4e83-9557-60bdb9fbc048 + Umbraco.ColorPicker + false + + + 3 + Content + Nothing + + + false + + + 5290713e-71f9-4575-8026-7ed536d4a40d + Headline + headline + 0cc0eba1-9960-42c9-bf9b-60e150b429ae + Umbraco.TextBox + true + + + 0 + Content + Nothing + + + false + + + 5d985a99-99e9-4747-af1f-9941c17430a4 + Image + image + ad9f0cf2-bda2-45d5-9ea1-a63cfc873fd3 + Umbraco.MediaPicker3 + false + + + 1 + Content + Nothing + + + false + + + + + fea5d453-a3e2-48bf-93a3-30d2e959a4f8 + Content + content + Group + 0 + + + \ No newline at end of file diff --git a/examples/Umbraco.Community.BlockPreview.NoModelsTestSite/uSync/v17/ContentTypes/imageblock.config b/examples/Umbraco.Community.BlockPreview.NoModelsTestSite/uSync/v17/ContentTypes/imageblock.config new file mode 100644 index 00000000..75c013b0 --- /dev/null +++ b/examples/Umbraco.Community.BlockPreview.NoModelsTestSite/uSync/v17/ContentTypes/imageblock.config @@ -0,0 +1,50 @@ + + + + Image + icon-umb-media color-black + folder.png + + False + 00000000-0000-0000-0000-000000000000 + Nothing + true + + False + + + + Blocks + + + + + + + + cde7e19e-3026-4b7e-b377-25bc61e53a40 + Image + image + ad9f0cf2-bda2-45d5-9ea1-a63cfc873fd3 + Umbraco.MediaPicker3 + false + + + 0 + Content + Nothing + + + false + + + + + cb005da1-722f-4e67-8838-57b2cf81bb65 + Content + content + Group + 0 + + + \ No newline at end of file diff --git a/examples/Umbraco.Community.BlockPreview.NoModelsTestSite/uSync/v17/ContentTypes/inspirationblock.config b/examples/Umbraco.Community.BlockPreview.NoModelsTestSite/uSync/v17/ContentTypes/inspirationblock.config new file mode 100644 index 00000000..9847cf1f --- /dev/null +++ b/examples/Umbraco.Community.BlockPreview.NoModelsTestSite/uSync/v17/ContentTypes/inspirationblock.config @@ -0,0 +1,25 @@ + + + + Inspiration + icon-screensharing color-black + folder.png + + False + 00000000-0000-0000-0000-000000000000 + Nothing + true + + False + + + + Blocks + + + + + + + + \ No newline at end of file diff --git a/examples/Umbraco.Community.BlockPreview.NoModelsTestSite/uSync/v17/ContentTypes/nestedblocklist.config b/examples/Umbraco.Community.BlockPreview.NoModelsTestSite/uSync/v17/ContentTypes/nestedblocklist.config new file mode 100644 index 00000000..620e9f0f --- /dev/null +++ b/examples/Umbraco.Community.BlockPreview.NoModelsTestSite/uSync/v17/ContentTypes/nestedblocklist.config @@ -0,0 +1,50 @@ + + + + Nested Block List + icon-plugin + folder.png + + False + 00000000-0000-0000-0000-000000000000 + Nothing + true + + False + + + + Blocks + + + + + + + + 6077d3b3-2dd1-438e-b53c-366e60469bfd + Block List + blockList + d455ec3d-a214-4b10-9d77-ca61ea867cd0 + Umbraco.BlockList + false + + + 0 + Content + Nothing + + + false + + + + + f9e7f712-474f-4717-9c43-c67ab7ef5aef + Content + content + Tab + 0 + + + \ No newline at end of file diff --git a/examples/Umbraco.Community.BlockPreview.NoModelsTestSite/uSync/v17/ContentTypes/onecolumnsectionblock.config b/examples/Umbraco.Community.BlockPreview.NoModelsTestSite/uSync/v17/ContentTypes/onecolumnsectionblock.config new file mode 100644 index 00000000..dca54b12 --- /dev/null +++ b/examples/Umbraco.Community.BlockPreview.NoModelsTestSite/uSync/v17/ContentTypes/onecolumnsectionblock.config @@ -0,0 +1,50 @@ + + + + One Column Section + icon-book color-black + folder.png + + False + 00000000-0000-0000-0000-000000000000 + Nothing + true + + False + + + + Blocks/Layouts + + + + + + + + e34a879a-116d-49d8-9cff-f667d058775e + Nested Block Grid + nestedBlockGrid + c3384287-a9ca-463c-a0b9-adfaa4ca679f + Umbraco.BlockGrid + false + + + 0 + Contenet + Nothing + + + false + + + + + d1978bd3-84b6-4f9f-85e3-156ab69a7295 + Contenet + contenet + Tab + 0 + + + \ No newline at end of file diff --git a/examples/Umbraco.Community.BlockPreview.NoModelsTestSite/uSync/v17/ContentTypes/richtextblock.config b/examples/Umbraco.Community.BlockPreview.NoModelsTestSite/uSync/v17/ContentTypes/richtextblock.config new file mode 100644 index 00000000..53998754 --- /dev/null +++ b/examples/Umbraco.Community.BlockPreview.NoModelsTestSite/uSync/v17/ContentTypes/richtextblock.config @@ -0,0 +1,50 @@ + + + + Rich Text + icon-script color-black + folder.png + + False + 00000000-0000-0000-0000-000000000000 + Nothing + true + + False + + + + Blocks + + + + + + + + fc72e040-f521-4127-8ffe-03878ed54993 + Text + richText + 522af7ab-361a-48ee-8ca2-1f2f1e098d2a + Umbraco.RichText + false + + + 0 + Content + Nothing + + + true + + + + + 294bf9a7-e23e-40d2-8596-815e174f90fa + Content + content + Group + 0 + + + \ No newline at end of file diff --git a/examples/Umbraco.Community.BlockPreview.NoModelsTestSite/uSync/v17/ContentTypes/sectionsettingsblock.config b/examples/Umbraco.Community.BlockPreview.NoModelsTestSite/uSync/v17/ContentTypes/sectionsettingsblock.config new file mode 100644 index 00000000..bc9b51df --- /dev/null +++ b/examples/Umbraco.Community.BlockPreview.NoModelsTestSite/uSync/v17/ContentTypes/sectionsettingsblock.config @@ -0,0 +1,66 @@ + + + + Section Settings + icon-defrag color-black + folder.png + + False + 00000000-0000-0000-0000-000000000000 + Nothing + true + + False + + + + Blocks + + + + + + + + 4ca6e2ba-2567-4f3a-9918-671dfd2a374a + Background color + backgroundColor + b3f77e71-396d-4f49-b264-b1eacd63cbca + Umbraco.ColorPicker + false + + + 0 + Styling + Nothing + + + false + + + ff229870-38b3-4cc1-8b46-cdd7948232c9 + Contrast + contrast + d320454a-b023-4e83-9557-60bdb9fbc048 + Umbraco.ColorPicker + false + + + 1 + Styling + Nothing + + + false + + + + + b07cc85d-536c-4469-b9a5-5ce69d5b060a + Styling + styling + Group + 0 + + + \ No newline at end of file diff --git a/examples/Umbraco.Community.BlockPreview.NoModelsTestSite/uSync/v17/ContentTypes/themedblocklist.config b/examples/Umbraco.Community.BlockPreview.NoModelsTestSite/uSync/v17/ContentTypes/themedblocklist.config new file mode 100644 index 00000000..1dd19706 --- /dev/null +++ b/examples/Umbraco.Community.BlockPreview.NoModelsTestSite/uSync/v17/ContentTypes/themedblocklist.config @@ -0,0 +1,74 @@ + + + + Themed Block List + icon-filter-arrows color-light-blue + folder.png + + True + 00000000-0000-0000-0000-000000000000 + Nothing + false + + False + + + + + ThemedBlockList + + + + + + + + ee203b15-5294-4515-befe-ef7023d217e3 + Content + content + d455ec3d-a214-4b10-9d77-ca61ea867cd0 + Umbraco.BlockList + false + + + 0 + Content + Nothing + + + false + + + 8659b33f-3964-482e-9c84-634fac00dfc9 + Theme + theme + 8cef27c9-0478-4ab1-9703-c51302e69838 + Umbraco.DropDown.Flexible + false + + + 0 + Theme + Nothing + + + false + + + + + 0ccce263-0d0b-4dc9-9e96-d9c0f1889e75 + Content + content + Group + 1 + + + ac43ac72-c511-4fb7-98ef-c5888c37fcc9 + Theme + theme + Group + 0 + + + \ No newline at end of file diff --git a/examples/Umbraco.Community.BlockPreview.NoModelsTestSite/uSync/v17/ContentTypes/twocolumnsectionblock.config b/examples/Umbraco.Community.BlockPreview.NoModelsTestSite/uSync/v17/ContentTypes/twocolumnsectionblock.config new file mode 100644 index 00000000..82bb6e61 --- /dev/null +++ b/examples/Umbraco.Community.BlockPreview.NoModelsTestSite/uSync/v17/ContentTypes/twocolumnsectionblock.config @@ -0,0 +1,25 @@ + + + + Two Column Section + icon-book-alt color-black + folder.png + + False + 00000000-0000-0000-0000-000000000000 + Nothing + true + + False + + + + Blocks/Layouts + + + + + + + + \ No newline at end of file diff --git a/examples/Umbraco.Community.BlockPreview.NoModelsTestSite/uSync/v17/DataTypes/ApprovedColor.config b/examples/Umbraco.Community.BlockPreview.NoModelsTestSite/uSync/v17/DataTypes/ApprovedColor.config new file mode 100644 index 00000000..8e7fe3fe --- /dev/null +++ b/examples/Umbraco.Community.BlockPreview.NoModelsTestSite/uSync/v17/DataTypes/ApprovedColor.config @@ -0,0 +1,37 @@ + + + + Approved Color + Umbraco.ColorPicker + Umb.PropertyEditorUi.ColorPicker + + + \ No newline at end of file diff --git a/examples/Umbraco.Community.BlockPreview.NoModelsTestSite/uSync/v17/DataTypes/BackgroundColors.config b/examples/Umbraco.Community.BlockPreview.NoModelsTestSite/uSync/v17/DataTypes/BackgroundColors.config new file mode 100644 index 00000000..e9d4fab4 --- /dev/null +++ b/examples/Umbraco.Community.BlockPreview.NoModelsTestSite/uSync/v17/DataTypes/BackgroundColors.config @@ -0,0 +1,46 @@ + + + + Background colors + Umbraco.ColorPicker + Umb.PropertyEditorUi.ColorPicker + Block+Grid + + + \ No newline at end of file diff --git a/examples/Umbraco.Community.BlockPreview.NoModelsTestSite/uSync/v17/DataTypes/BlockGridContent.config b/examples/Umbraco.Community.BlockPreview.NoModelsTestSite/uSync/v17/DataTypes/BlockGridContent.config new file mode 100644 index 00000000..aa724f35 --- /dev/null +++ b/examples/Umbraco.Community.BlockPreview.NoModelsTestSite/uSync/v17/DataTypes/BlockGridContent.config @@ -0,0 +1,348 @@ + + + + Block Grid - Content + Umbraco.BlockGrid + Umb.PropertyEditorUi.BlockGrid + Block+Grid + + + \ No newline at end of file diff --git a/examples/Umbraco.Community.BlockPreview.NoModelsTestSite/uSync/v17/DataTypes/BlockList.config b/examples/Umbraco.Community.BlockPreview.NoModelsTestSite/uSync/v17/DataTypes/BlockList.config new file mode 100644 index 00000000..58c82dca --- /dev/null +++ b/examples/Umbraco.Community.BlockPreview.NoModelsTestSite/uSync/v17/DataTypes/BlockList.config @@ -0,0 +1,37 @@ + + + + Block List + Umbraco.BlockList + Umb.PropertyEditorUi.BlockList + Block+Grid + + + \ No newline at end of file diff --git a/examples/Umbraco.Community.BlockPreview.NoModelsTestSite/uSync/v17/DataTypes/BlockListContent.config b/examples/Umbraco.Community.BlockPreview.NoModelsTestSite/uSync/v17/DataTypes/BlockListContent.config new file mode 100644 index 00000000..00c2422b --- /dev/null +++ b/examples/Umbraco.Community.BlockPreview.NoModelsTestSite/uSync/v17/DataTypes/BlockListContent.config @@ -0,0 +1,15 @@ + + + + Block List - Content + Umbraco.BlockList + Umb.PropertyEditorUi.BlockList + + + \ No newline at end of file diff --git a/examples/Umbraco.Community.BlockPreview.NoModelsTestSite/uSync/v17/DataTypes/CTAURLPicker.config b/examples/Umbraco.Community.BlockPreview.NoModelsTestSite/uSync/v17/DataTypes/CTAURLPicker.config new file mode 100644 index 00000000..c15fa41b --- /dev/null +++ b/examples/Umbraco.Community.BlockPreview.NoModelsTestSite/uSync/v17/DataTypes/CTAURLPicker.config @@ -0,0 +1,16 @@ + + + + CTA URL Picker + Umbraco.MultiUrlPicker + Umb.PropertyEditorUi.MultiUrlPicker + Block+Grid + + + \ No newline at end of file diff --git a/examples/Umbraco.Community.BlockPreview.NoModelsTestSite/uSync/v17/DataTypes/CheckboxList.config b/examples/Umbraco.Community.BlockPreview.NoModelsTestSite/uSync/v17/DataTypes/CheckboxList.config new file mode 100644 index 00000000..a3ae2344 --- /dev/null +++ b/examples/Umbraco.Community.BlockPreview.NoModelsTestSite/uSync/v17/DataTypes/CheckboxList.config @@ -0,0 +1,16 @@ + + + + Checkbox list + Umbraco.CheckBoxList + Umb.PropertyEditorUi.CheckBoxList + + + \ No newline at end of file diff --git a/examples/Umbraco.Community.BlockPreview.NoModelsTestSite/uSync/v17/DataTypes/CodeEditor.config b/examples/Umbraco.Community.BlockPreview.NoModelsTestSite/uSync/v17/DataTypes/CodeEditor.config new file mode 100644 index 00000000..df55918c --- /dev/null +++ b/examples/Umbraco.Community.BlockPreview.NoModelsTestSite/uSync/v17/DataTypes/CodeEditor.config @@ -0,0 +1,9 @@ + + + + Code Editor + Umbraco.TextArea + Umb.PropertyEditorUi.CodeEditor + + + \ No newline at end of file diff --git a/examples/Umbraco.Community.BlockPreview.NoModelsTestSite/uSync/v17/DataTypes/ColorPickerEyeDropper.config b/examples/Umbraco.Community.BlockPreview.NoModelsTestSite/uSync/v17/DataTypes/ColorPickerEyeDropper.config new file mode 100644 index 00000000..e7efa538 --- /dev/null +++ b/examples/Umbraco.Community.BlockPreview.NoModelsTestSite/uSync/v17/DataTypes/ColorPickerEyeDropper.config @@ -0,0 +1,9 @@ + + + + Color Picker Eye Dropper + Umbraco.ColorPicker.EyeDropper + Umb.PropertyEditorUi.ColorPickerEyeDropper + + + \ No newline at end of file diff --git a/examples/Umbraco.Community.BlockPreview.NoModelsTestSite/uSync/v17/DataTypes/ContentPicker.config b/examples/Umbraco.Community.BlockPreview.NoModelsTestSite/uSync/v17/DataTypes/ContentPicker.config new file mode 100644 index 00000000..de125610 --- /dev/null +++ b/examples/Umbraco.Community.BlockPreview.NoModelsTestSite/uSync/v17/DataTypes/ContentPicker.config @@ -0,0 +1,13 @@ + + + + Content Picker + Umbraco.ContentPicker + Umb.PropertyEditorUi.DocumentPicker + + + \ No newline at end of file diff --git a/examples/Umbraco.Community.BlockPreview.NoModelsTestSite/uSync/v17/DataTypes/ContentPickerTest.config b/examples/Umbraco.Community.BlockPreview.NoModelsTestSite/uSync/v17/DataTypes/ContentPickerTest.config new file mode 100644 index 00000000..4406fdf9 --- /dev/null +++ b/examples/Umbraco.Community.BlockPreview.NoModelsTestSite/uSync/v17/DataTypes/ContentPickerTest.config @@ -0,0 +1,19 @@ + + + + Content Picker Test + Umbraco.MultiNodeTreePicker + Umb.PropertyEditorUi.ContentPicker + + + \ No newline at end of file diff --git a/examples/Umbraco.Community.BlockPreview.NoModelsTestSite/uSync/v17/DataTypes/ContrastColors.config b/examples/Umbraco.Community.BlockPreview.NoModelsTestSite/uSync/v17/DataTypes/ContrastColors.config new file mode 100644 index 00000000..55d7e40a --- /dev/null +++ b/examples/Umbraco.Community.BlockPreview.NoModelsTestSite/uSync/v17/DataTypes/ContrastColors.config @@ -0,0 +1,22 @@ + + + + Contrast Colors + Umbraco.ColorPicker + Umb.PropertyEditorUi.ColorPicker + Block+Grid + + + \ No newline at end of file diff --git a/examples/Umbraco.Community.BlockPreview.NoModelsTestSite/uSync/v17/DataTypes/DatePicker.config b/examples/Umbraco.Community.BlockPreview.NoModelsTestSite/uSync/v17/DataTypes/DatePicker.config new file mode 100644 index 00000000..e7392407 --- /dev/null +++ b/examples/Umbraco.Community.BlockPreview.NoModelsTestSite/uSync/v17/DataTypes/DatePicker.config @@ -0,0 +1,12 @@ + + + + Date Picker + Umbraco.DateTime + Umb.PropertyEditorUi.DatePicker + + + \ No newline at end of file diff --git a/examples/Umbraco.Community.BlockPreview.NoModelsTestSite/uSync/v17/DataTypes/DatePickerWithTime.config b/examples/Umbraco.Community.BlockPreview.NoModelsTestSite/uSync/v17/DataTypes/DatePickerWithTime.config new file mode 100644 index 00000000..6123906a --- /dev/null +++ b/examples/Umbraco.Community.BlockPreview.NoModelsTestSite/uSync/v17/DataTypes/DatePickerWithTime.config @@ -0,0 +1,12 @@ + + + + Date Picker with time + Umbraco.DateTime + Umb.PropertyEditorUi.DatePicker + + + \ No newline at end of file diff --git a/examples/Umbraco.Community.BlockPreview.NoModelsTestSite/uSync/v17/DataTypes/DateTimePickerWithTimeZone.config b/examples/Umbraco.Community.BlockPreview.NoModelsTestSite/uSync/v17/DataTypes/DateTimePickerWithTimeZone.config new file mode 100644 index 00000000..88b3d9ce --- /dev/null +++ b/examples/Umbraco.Community.BlockPreview.NoModelsTestSite/uSync/v17/DataTypes/DateTimePickerWithTimeZone.config @@ -0,0 +1,14 @@ + + + + Date Time Picker (with time zone) + Umbraco.DateTimeWithTimeZone + Umb.PropertyEditorUi.DateTimeWithTimeZonePicker + + + \ No newline at end of file diff --git a/examples/Umbraco.Community.BlockPreview.NoModelsTestSite/uSync/v17/DataTypes/Decimal.config b/examples/Umbraco.Community.BlockPreview.NoModelsTestSite/uSync/v17/DataTypes/Decimal.config new file mode 100644 index 00000000..c522ab95 --- /dev/null +++ b/examples/Umbraco.Community.BlockPreview.NoModelsTestSite/uSync/v17/DataTypes/Decimal.config @@ -0,0 +1,9 @@ + + + + Decimal + Umbraco.Decimal + Umb.PropertyEditorUi.Decimal + + + \ No newline at end of file diff --git a/examples/Umbraco.Community.BlockPreview.NoModelsTestSite/uSync/v17/DataTypes/Dropdown.config b/examples/Umbraco.Community.BlockPreview.NoModelsTestSite/uSync/v17/DataTypes/Dropdown.config new file mode 100644 index 00000000..4acfce63 --- /dev/null +++ b/examples/Umbraco.Community.BlockPreview.NoModelsTestSite/uSync/v17/DataTypes/Dropdown.config @@ -0,0 +1,17 @@ + + + + Dropdown + Umbraco.DropDown.Flexible + Umb.PropertyEditorUi.Dropdown + + + \ No newline at end of file diff --git a/examples/Umbraco.Community.BlockPreview.NoModelsTestSite/uSync/v17/DataTypes/DropdownMultiple.config b/examples/Umbraco.Community.BlockPreview.NoModelsTestSite/uSync/v17/DataTypes/DropdownMultiple.config new file mode 100644 index 00000000..29004834 --- /dev/null +++ b/examples/Umbraco.Community.BlockPreview.NoModelsTestSite/uSync/v17/DataTypes/DropdownMultiple.config @@ -0,0 +1,18 @@ + + + + Dropdown multiple + Umbraco.DropDown.Flexible + Umb.PropertyEditorUi.Dropdown + + + \ No newline at end of file diff --git a/examples/Umbraco.Community.BlockPreview.NoModelsTestSite/uSync/v17/DataTypes/EmailAddress.config b/examples/Umbraco.Community.BlockPreview.NoModelsTestSite/uSync/v17/DataTypes/EmailAddress.config new file mode 100644 index 00000000..4a6563cf --- /dev/null +++ b/examples/Umbraco.Community.BlockPreview.NoModelsTestSite/uSync/v17/DataTypes/EmailAddress.config @@ -0,0 +1,9 @@ + + + + Email Address + Umbraco.EmailAddress + Umb.PropertyEditorUi.EmailAddress + + + \ No newline at end of file diff --git a/examples/Umbraco.Community.BlockPreview.NoModelsTestSite/uSync/v17/DataTypes/HeroHeightDropdownPropertyEditorUI.config b/examples/Umbraco.Community.BlockPreview.NoModelsTestSite/uSync/v17/DataTypes/HeroHeightDropdownPropertyEditorUI.config new file mode 100644 index 00000000..e605bb58 --- /dev/null +++ b/examples/Umbraco.Community.BlockPreview.NoModelsTestSite/uSync/v17/DataTypes/HeroHeightDropdownPropertyEditorUI.config @@ -0,0 +1,16 @@ + + + + Hero - Height - Dropdown Property Editor UI + Umbraco.DropDown.Flexible + Umb.PropertyEditorUi.Dropdown + + + \ No newline at end of file diff --git a/examples/Umbraco.Community.BlockPreview.NoModelsTestSite/uSync/v17/DataTypes/ImageCropper.config b/examples/Umbraco.Community.BlockPreview.NoModelsTestSite/uSync/v17/DataTypes/ImageCropper.config new file mode 100644 index 00000000..74fbea83 --- /dev/null +++ b/examples/Umbraco.Community.BlockPreview.NoModelsTestSite/uSync/v17/DataTypes/ImageCropper.config @@ -0,0 +1,11 @@ + + + + Image Cropper + Umbraco.ImageCropper + Umb.PropertyEditorUi.ImageCropper + + + \ No newline at end of file diff --git a/examples/Umbraco.Community.BlockPreview.NoModelsTestSite/uSync/v17/DataTypes/ImageMediaPicker.config b/examples/Umbraco.Community.BlockPreview.NoModelsTestSite/uSync/v17/DataTypes/ImageMediaPicker.config new file mode 100644 index 00000000..1fac051a --- /dev/null +++ b/examples/Umbraco.Community.BlockPreview.NoModelsTestSite/uSync/v17/DataTypes/ImageMediaPicker.config @@ -0,0 +1,18 @@ + + + + Image Media Picker + Umbraco.MediaPicker3 + Umb.PropertyEditorUi.MediaPicker + + + \ No newline at end of file diff --git a/examples/Umbraco.Community.BlockPreview.NoModelsTestSite/uSync/v17/DataTypes/LabelBigint.config b/examples/Umbraco.Community.BlockPreview.NoModelsTestSite/uSync/v17/DataTypes/LabelBigint.config new file mode 100644 index 00000000..81353bdf --- /dev/null +++ b/examples/Umbraco.Community.BlockPreview.NoModelsTestSite/uSync/v17/DataTypes/LabelBigint.config @@ -0,0 +1,11 @@ + + + + Label (bigint) + Umbraco.Label + Umb.PropertyEditorUi.Label + + + \ No newline at end of file diff --git a/examples/Umbraco.Community.BlockPreview.NoModelsTestSite/uSync/v17/DataTypes/LabelBytes.config b/examples/Umbraco.Community.BlockPreview.NoModelsTestSite/uSync/v17/DataTypes/LabelBytes.config new file mode 100644 index 00000000..505eea37 --- /dev/null +++ b/examples/Umbraco.Community.BlockPreview.NoModelsTestSite/uSync/v17/DataTypes/LabelBytes.config @@ -0,0 +1,12 @@ + + + + Label (bytes) + Umbraco.Label + Umb.PropertyEditorUi.Label + + + \ No newline at end of file diff --git a/examples/Umbraco.Community.BlockPreview.NoModelsTestSite/uSync/v17/DataTypes/LabelDatetime.config b/examples/Umbraco.Community.BlockPreview.NoModelsTestSite/uSync/v17/DataTypes/LabelDatetime.config new file mode 100644 index 00000000..2d2a1e58 --- /dev/null +++ b/examples/Umbraco.Community.BlockPreview.NoModelsTestSite/uSync/v17/DataTypes/LabelDatetime.config @@ -0,0 +1,11 @@ + + + + Label (datetime) + Umbraco.Label + Umb.PropertyEditorUi.Label + + + \ No newline at end of file diff --git a/examples/Umbraco.Community.BlockPreview.NoModelsTestSite/uSync/v17/DataTypes/LabelDecimal.config b/examples/Umbraco.Community.BlockPreview.NoModelsTestSite/uSync/v17/DataTypes/LabelDecimal.config new file mode 100644 index 00000000..34236c7c --- /dev/null +++ b/examples/Umbraco.Community.BlockPreview.NoModelsTestSite/uSync/v17/DataTypes/LabelDecimal.config @@ -0,0 +1,11 @@ + + + + Label (decimal) + Umbraco.Label + Umb.PropertyEditorUi.Label + + + \ No newline at end of file diff --git a/examples/Umbraco.Community.BlockPreview.NoModelsTestSite/uSync/v17/DataTypes/LabelInteger.config b/examples/Umbraco.Community.BlockPreview.NoModelsTestSite/uSync/v17/DataTypes/LabelInteger.config new file mode 100644 index 00000000..31f409ca --- /dev/null +++ b/examples/Umbraco.Community.BlockPreview.NoModelsTestSite/uSync/v17/DataTypes/LabelInteger.config @@ -0,0 +1,11 @@ + + + + Label (integer) + Umbraco.Label + Umb.PropertyEditorUi.Label + + + \ No newline at end of file diff --git a/examples/Umbraco.Community.BlockPreview.NoModelsTestSite/uSync/v17/DataTypes/LabelPixels.config b/examples/Umbraco.Community.BlockPreview.NoModelsTestSite/uSync/v17/DataTypes/LabelPixels.config new file mode 100644 index 00000000..847638af --- /dev/null +++ b/examples/Umbraco.Community.BlockPreview.NoModelsTestSite/uSync/v17/DataTypes/LabelPixels.config @@ -0,0 +1,12 @@ + + + + Label (pixels) + Umbraco.Label + Umb.PropertyEditorUi.Label + + + \ No newline at end of file diff --git a/examples/Umbraco.Community.BlockPreview.NoModelsTestSite/uSync/v17/DataTypes/LabelString.config b/examples/Umbraco.Community.BlockPreview.NoModelsTestSite/uSync/v17/DataTypes/LabelString.config new file mode 100644 index 00000000..b8ab10c5 --- /dev/null +++ b/examples/Umbraco.Community.BlockPreview.NoModelsTestSite/uSync/v17/DataTypes/LabelString.config @@ -0,0 +1,11 @@ + + + + Label (string) + Umbraco.Label + Umb.PropertyEditorUi.Label + + + \ No newline at end of file diff --git a/examples/Umbraco.Community.BlockPreview.NoModelsTestSite/uSync/v17/DataTypes/LabelTime.config b/examples/Umbraco.Community.BlockPreview.NoModelsTestSite/uSync/v17/DataTypes/LabelTime.config new file mode 100644 index 00000000..dd0438b1 --- /dev/null +++ b/examples/Umbraco.Community.BlockPreview.NoModelsTestSite/uSync/v17/DataTypes/LabelTime.config @@ -0,0 +1,11 @@ + + + + Label (time) + Umbraco.Label + Umb.PropertyEditorUi.Label + + + \ No newline at end of file diff --git a/examples/Umbraco.Community.BlockPreview.NoModelsTestSite/uSync/v17/DataTypes/ListViewContent.config b/examples/Umbraco.Community.BlockPreview.NoModelsTestSite/uSync/v17/DataTypes/ListViewContent.config new file mode 100644 index 00000000..887ff333 --- /dev/null +++ b/examples/Umbraco.Community.BlockPreview.NoModelsTestSite/uSync/v17/DataTypes/ListViewContent.config @@ -0,0 +1,54 @@ + + + + List View - Content + Umbraco.ListView + Umb.PropertyEditorUi.Collection + + + \ No newline at end of file diff --git a/examples/Umbraco.Community.BlockPreview.NoModelsTestSite/uSync/v17/DataTypes/ListViewMedia.config b/examples/Umbraco.Community.BlockPreview.NoModelsTestSite/uSync/v17/DataTypes/ListViewMedia.config new file mode 100644 index 00000000..01e8eede --- /dev/null +++ b/examples/Umbraco.Community.BlockPreview.NoModelsTestSite/uSync/v17/DataTypes/ListViewMedia.config @@ -0,0 +1,54 @@ + + + + List View - Media + Umbraco.ListView + Umb.PropertyEditorUi.Collection + + + \ No newline at end of file diff --git a/examples/Umbraco.Community.BlockPreview.NoModelsTestSite/uSync/v17/DataTypes/ListViewMembers.config b/examples/Umbraco.Community.BlockPreview.NoModelsTestSite/uSync/v17/DataTypes/ListViewMembers.config new file mode 100644 index 00000000..1f83c44f --- /dev/null +++ b/examples/Umbraco.Community.BlockPreview.NoModelsTestSite/uSync/v17/DataTypes/ListViewMembers.config @@ -0,0 +1,60 @@ + + + + List View - Members + Umbraco.ListView + Umb.PropertyEditorUi.Collection + + + \ No newline at end of file diff --git a/examples/Umbraco.Community.BlockPreview.NoModelsTestSite/uSync/v17/DataTypes/MarkdownEditor.config b/examples/Umbraco.Community.BlockPreview.NoModelsTestSite/uSync/v17/DataTypes/MarkdownEditor.config new file mode 100644 index 00000000..1d872af9 --- /dev/null +++ b/examples/Umbraco.Community.BlockPreview.NoModelsTestSite/uSync/v17/DataTypes/MarkdownEditor.config @@ -0,0 +1,9 @@ + + + + Markdown Editor + Umbraco.MarkdownEditor + Umb.PropertyEditorUi.MarkdownEditor + + + \ No newline at end of file diff --git a/examples/Umbraco.Community.BlockPreview.NoModelsTestSite/uSync/v17/DataTypes/MediaPicker.config b/examples/Umbraco.Community.BlockPreview.NoModelsTestSite/uSync/v17/DataTypes/MediaPicker.config new file mode 100644 index 00000000..b3cc6485 --- /dev/null +++ b/examples/Umbraco.Community.BlockPreview.NoModelsTestSite/uSync/v17/DataTypes/MediaPicker.config @@ -0,0 +1,20 @@ + + + + Media Picker + Umbraco.MediaPicker3 + Umb.PropertyEditorUi.MediaPicker + + + \ No newline at end of file diff --git a/examples/Umbraco.Community.BlockPreview.NoModelsTestSite/uSync/v17/DataTypes/MediaPickerLegacy.config b/examples/Umbraco.Community.BlockPreview.NoModelsTestSite/uSync/v17/DataTypes/MediaPickerLegacy.config new file mode 100644 index 00000000..55a73f31 --- /dev/null +++ b/examples/Umbraco.Community.BlockPreview.NoModelsTestSite/uSync/v17/DataTypes/MediaPickerLegacy.config @@ -0,0 +1,15 @@ + + + + Media Picker (legacy) + Umbraco.MediaPicker3 + Umb.PropertyEditorUi.MediaPicker + + + \ No newline at end of file diff --git a/examples/Umbraco.Community.BlockPreview.NoModelsTestSite/uSync/v17/DataTypes/MemberGroupPicker.config b/examples/Umbraco.Community.BlockPreview.NoModelsTestSite/uSync/v17/DataTypes/MemberGroupPicker.config new file mode 100644 index 00000000..e8f6a9f2 --- /dev/null +++ b/examples/Umbraco.Community.BlockPreview.NoModelsTestSite/uSync/v17/DataTypes/MemberGroupPicker.config @@ -0,0 +1,9 @@ + + + + Member Group Picker + Umbraco.MemberGroupPicker + Umb.PropertyEditorUi.MemberGroupPicker + + + \ No newline at end of file diff --git a/examples/Umbraco.Community.BlockPreview.NoModelsTestSite/uSync/v17/DataTypes/MemberPicker.config b/examples/Umbraco.Community.BlockPreview.NoModelsTestSite/uSync/v17/DataTypes/MemberPicker.config new file mode 100644 index 00000000..0f79e0e4 --- /dev/null +++ b/examples/Umbraco.Community.BlockPreview.NoModelsTestSite/uSync/v17/DataTypes/MemberPicker.config @@ -0,0 +1,9 @@ + + + + Member Picker + Umbraco.MemberPicker + Umb.PropertyEditorUi.MemberPicker + + + \ No newline at end of file diff --git a/examples/Umbraco.Community.BlockPreview.NoModelsTestSite/uSync/v17/DataTypes/MultiNodeTreePicker.config b/examples/Umbraco.Community.BlockPreview.NoModelsTestSite/uSync/v17/DataTypes/MultiNodeTreePicker.config new file mode 100644 index 00000000..8ddab77b --- /dev/null +++ b/examples/Umbraco.Community.BlockPreview.NoModelsTestSite/uSync/v17/DataTypes/MultiNodeTreePicker.config @@ -0,0 +1,9 @@ + + + + Multi Node Tree Picker + Umbraco.MultiNodeTreePicker + Umb.PropertyEditorUi.MultiNodeTreePicker + + + \ No newline at end of file diff --git a/examples/Umbraco.Community.BlockPreview.NoModelsTestSite/uSync/v17/DataTypes/MultiURLPicker.config b/examples/Umbraco.Community.BlockPreview.NoModelsTestSite/uSync/v17/DataTypes/MultiURLPicker.config new file mode 100644 index 00000000..a73d5f5f --- /dev/null +++ b/examples/Umbraco.Community.BlockPreview.NoModelsTestSite/uSync/v17/DataTypes/MultiURLPicker.config @@ -0,0 +1,15 @@ + + + + Multi URL Picker + Umbraco.MultiUrlPicker + Umb.PropertyEditorUi.MultiUrlPicker + + + \ No newline at end of file diff --git a/examples/Umbraco.Community.BlockPreview.NoModelsTestSite/uSync/v17/DataTypes/MultipleImageMediaPicker.config b/examples/Umbraco.Community.BlockPreview.NoModelsTestSite/uSync/v17/DataTypes/MultipleImageMediaPicker.config new file mode 100644 index 00000000..058daffb --- /dev/null +++ b/examples/Umbraco.Community.BlockPreview.NoModelsTestSite/uSync/v17/DataTypes/MultipleImageMediaPicker.config @@ -0,0 +1,18 @@ + + + + Multiple Image Media Picker + Umbraco.MediaPicker3 + Umb.PropertyEditorUi.MediaPicker + + + \ No newline at end of file diff --git a/examples/Umbraco.Community.BlockPreview.NoModelsTestSite/uSync/v17/DataTypes/MultipleMediaPicker.config b/examples/Umbraco.Community.BlockPreview.NoModelsTestSite/uSync/v17/DataTypes/MultipleMediaPicker.config new file mode 100644 index 00000000..04779765 --- /dev/null +++ b/examples/Umbraco.Community.BlockPreview.NoModelsTestSite/uSync/v17/DataTypes/MultipleMediaPicker.config @@ -0,0 +1,20 @@ + + + + Multiple Media Picker + Umbraco.MediaPicker3 + Umb.PropertyEditorUi.MediaPicker + + + \ No newline at end of file diff --git a/examples/Umbraco.Community.BlockPreview.NoModelsTestSite/uSync/v17/DataTypes/MultipleMediaPickerLegacy.config b/examples/Umbraco.Community.BlockPreview.NoModelsTestSite/uSync/v17/DataTypes/MultipleMediaPickerLegacy.config new file mode 100644 index 00000000..20fe04ca --- /dev/null +++ b/examples/Umbraco.Community.BlockPreview.NoModelsTestSite/uSync/v17/DataTypes/MultipleMediaPickerLegacy.config @@ -0,0 +1,15 @@ + + + + Multiple Media Picker (legacy) + Umbraco.MediaPicker3 + Umb.PropertyEditorUi.MediaPicker + + + \ No newline at end of file diff --git a/examples/Umbraco.Community.BlockPreview.NoModelsTestSite/uSync/v17/DataTypes/MultipleTextstring.config b/examples/Umbraco.Community.BlockPreview.NoModelsTestSite/uSync/v17/DataTypes/MultipleTextstring.config new file mode 100644 index 00000000..6ed62f48 --- /dev/null +++ b/examples/Umbraco.Community.BlockPreview.NoModelsTestSite/uSync/v17/DataTypes/MultipleTextstring.config @@ -0,0 +1,12 @@ + + + + Multiple Textstring + Umbraco.MultipleTextstring + Umb.PropertyEditorUi.MultipleTextString + + + \ No newline at end of file diff --git a/examples/Umbraco.Community.BlockPreview.NoModelsTestSite/uSync/v17/DataTypes/Numeric.config b/examples/Umbraco.Community.BlockPreview.NoModelsTestSite/uSync/v17/DataTypes/Numeric.config new file mode 100644 index 00000000..d4112730 --- /dev/null +++ b/examples/Umbraco.Community.BlockPreview.NoModelsTestSite/uSync/v17/DataTypes/Numeric.config @@ -0,0 +1,9 @@ + + + + Numeric + Umbraco.Integer + Umb.PropertyEditorUi.Integer + + + \ No newline at end of file diff --git a/examples/Umbraco.Community.BlockPreview.NoModelsTestSite/uSync/v17/DataTypes/Percentage.config b/examples/Umbraco.Community.BlockPreview.NoModelsTestSite/uSync/v17/DataTypes/Percentage.config new file mode 100644 index 00000000..9fcc27cd --- /dev/null +++ b/examples/Umbraco.Community.BlockPreview.NoModelsTestSite/uSync/v17/DataTypes/Percentage.config @@ -0,0 +1,16 @@ + + + + Percentage + Umbraco.Slider + Umb.PropertyEditorUi.Slider + + + \ No newline at end of file diff --git a/examples/Umbraco.Community.BlockPreview.NoModelsTestSite/uSync/v17/DataTypes/Radiobox.config b/examples/Umbraco.Community.BlockPreview.NoModelsTestSite/uSync/v17/DataTypes/Radiobox.config new file mode 100644 index 00000000..00f4d1e2 --- /dev/null +++ b/examples/Umbraco.Community.BlockPreview.NoModelsTestSite/uSync/v17/DataTypes/Radiobox.config @@ -0,0 +1,16 @@ + + + + Radiobox + Umbraco.RadioButtonList + Umb.PropertyEditorUi.RadioButtonList + + + \ No newline at end of file diff --git a/examples/Umbraco.Community.BlockPreview.NoModelsTestSite/uSync/v17/DataTypes/RichTextBlockGrid.config b/examples/Umbraco.Community.BlockPreview.NoModelsTestSite/uSync/v17/DataTypes/RichTextBlockGrid.config new file mode 100644 index 00000000..591873c0 --- /dev/null +++ b/examples/Umbraco.Community.BlockPreview.NoModelsTestSite/uSync/v17/DataTypes/RichTextBlockGrid.config @@ -0,0 +1,86 @@ + + + + Rich Text Block Grid + Umbraco.RichText + Umb.PropertyEditorUi.Tiptap + Block+Grid + + + \ No newline at end of file diff --git a/examples/Umbraco.Community.BlockPreview.NoModelsTestSite/uSync/v17/DataTypes/RichtextEditor.config b/examples/Umbraco.Community.BlockPreview.NoModelsTestSite/uSync/v17/DataTypes/RichtextEditor.config new file mode 100644 index 00000000..f4f0a5f4 --- /dev/null +++ b/examples/Umbraco.Community.BlockPreview.NoModelsTestSite/uSync/v17/DataTypes/RichtextEditor.config @@ -0,0 +1,59 @@ + + + + Richtext editor + Umbraco.RichText + Umb.PropertyEditorUi.Tiptap + + + \ No newline at end of file diff --git a/examples/Umbraco.Community.BlockPreview.NoModelsTestSite/uSync/v17/DataTypes/SingleURLPicker.config b/examples/Umbraco.Community.BlockPreview.NoModelsTestSite/uSync/v17/DataTypes/SingleURLPicker.config new file mode 100644 index 00000000..ff0e1d1d --- /dev/null +++ b/examples/Umbraco.Community.BlockPreview.NoModelsTestSite/uSync/v17/DataTypes/SingleURLPicker.config @@ -0,0 +1,12 @@ + + + + Single URL Picker + Umbraco.MultiUrlPicker + Umb.PropertyEditorUi.MultiUrlPicker + + + \ No newline at end of file diff --git a/examples/Umbraco.Community.BlockPreview.NoModelsTestSite/uSync/v17/DataTypes/Tags.config b/examples/Umbraco.Community.BlockPreview.NoModelsTestSite/uSync/v17/DataTypes/Tags.config new file mode 100644 index 00000000..22092065 --- /dev/null +++ b/examples/Umbraco.Community.BlockPreview.NoModelsTestSite/uSync/v17/DataTypes/Tags.config @@ -0,0 +1,12 @@ + + + + Tags + Umbraco.Tags + Umb.PropertyEditorUi.Tags + + + \ No newline at end of file diff --git a/examples/Umbraco.Community.BlockPreview.NoModelsTestSite/uSync/v17/DataTypes/Textarea.config b/examples/Umbraco.Community.BlockPreview.NoModelsTestSite/uSync/v17/DataTypes/Textarea.config new file mode 100644 index 00000000..8446e9a2 --- /dev/null +++ b/examples/Umbraco.Community.BlockPreview.NoModelsTestSite/uSync/v17/DataTypes/Textarea.config @@ -0,0 +1,12 @@ + + + + Textarea + Umbraco.TextArea + Umb.PropertyEditorUi.TextArea + + + \ No newline at end of file diff --git a/examples/Umbraco.Community.BlockPreview.NoModelsTestSite/uSync/v17/DataTypes/Textstring.config b/examples/Umbraco.Community.BlockPreview.NoModelsTestSite/uSync/v17/DataTypes/Textstring.config new file mode 100644 index 00000000..adffff3c --- /dev/null +++ b/examples/Umbraco.Community.BlockPreview.NoModelsTestSite/uSync/v17/DataTypes/Textstring.config @@ -0,0 +1,11 @@ + + + + Textstring + Umbraco.TextBox + Umb.PropertyEditorUi.TextBox + + + \ No newline at end of file diff --git a/examples/Umbraco.Community.BlockPreview.NoModelsTestSite/uSync/v17/DataTypes/ThemeDropdown.config b/examples/Umbraco.Community.BlockPreview.NoModelsTestSite/uSync/v17/DataTypes/ThemeDropdown.config new file mode 100644 index 00000000..c3cc09ce --- /dev/null +++ b/examples/Umbraco.Community.BlockPreview.NoModelsTestSite/uSync/v17/DataTypes/ThemeDropdown.config @@ -0,0 +1,14 @@ + + + + Theme - Dropdown + Umbraco.DropDown.Flexible + Umb.PropertyEditorUi.Dropdown + + + \ No newline at end of file diff --git a/examples/Umbraco.Community.BlockPreview.NoModelsTestSite/uSync/v17/DataTypes/Truefalse.config b/examples/Umbraco.Community.BlockPreview.NoModelsTestSite/uSync/v17/DataTypes/Truefalse.config new file mode 100644 index 00000000..d40c0a2c --- /dev/null +++ b/examples/Umbraco.Community.BlockPreview.NoModelsTestSite/uSync/v17/DataTypes/Truefalse.config @@ -0,0 +1,14 @@ + + + + True/false + Umbraco.TrueFalse + Umb.PropertyEditorUi.Toggle + + + \ No newline at end of file diff --git a/examples/Umbraco.Community.BlockPreview.NoModelsTestSite/uSync/v17/DataTypes/UploadArticle.config b/examples/Umbraco.Community.BlockPreview.NoModelsTestSite/uSync/v17/DataTypes/UploadArticle.config new file mode 100644 index 00000000..8d1b8b1e --- /dev/null +++ b/examples/Umbraco.Community.BlockPreview.NoModelsTestSite/uSync/v17/DataTypes/UploadArticle.config @@ -0,0 +1,15 @@ + + + + Upload Article + Umbraco.UploadField + Umb.PropertyEditorUi.UploadField + + + \ No newline at end of file diff --git a/examples/Umbraco.Community.BlockPreview.NoModelsTestSite/uSync/v17/DataTypes/UploadAudio.config b/examples/Umbraco.Community.BlockPreview.NoModelsTestSite/uSync/v17/DataTypes/UploadAudio.config new file mode 100644 index 00000000..d798f12d --- /dev/null +++ b/examples/Umbraco.Community.BlockPreview.NoModelsTestSite/uSync/v17/DataTypes/UploadAudio.config @@ -0,0 +1,16 @@ + + + + Upload Audio + Umbraco.UploadField + Umb.PropertyEditorUi.UploadField + + + \ No newline at end of file diff --git a/examples/Umbraco.Community.BlockPreview.NoModelsTestSite/uSync/v17/DataTypes/UploadFile.config b/examples/Umbraco.Community.BlockPreview.NoModelsTestSite/uSync/v17/DataTypes/UploadFile.config new file mode 100644 index 00000000..3a93565b --- /dev/null +++ b/examples/Umbraco.Community.BlockPreview.NoModelsTestSite/uSync/v17/DataTypes/UploadFile.config @@ -0,0 +1,9 @@ + + + + Upload File + Umbraco.UploadField + Umb.PropertyEditorUi.UploadField + + + \ No newline at end of file diff --git a/examples/Umbraco.Community.BlockPreview.NoModelsTestSite/uSync/v17/DataTypes/UploadVectorGraphics.config b/examples/Umbraco.Community.BlockPreview.NoModelsTestSite/uSync/v17/DataTypes/UploadVectorGraphics.config new file mode 100644 index 00000000..c40992dd --- /dev/null +++ b/examples/Umbraco.Community.BlockPreview.NoModelsTestSite/uSync/v17/DataTypes/UploadVectorGraphics.config @@ -0,0 +1,13 @@ + + + + Upload Vector Graphics + Umbraco.UploadField + Umb.PropertyEditorUi.UploadField + + + \ No newline at end of file diff --git a/examples/Umbraco.Community.BlockPreview.NoModelsTestSite/uSync/v17/DataTypes/UploadVideo.config b/examples/Umbraco.Community.BlockPreview.NoModelsTestSite/uSync/v17/DataTypes/UploadVideo.config new file mode 100644 index 00000000..43b0335e --- /dev/null +++ b/examples/Umbraco.Community.BlockPreview.NoModelsTestSite/uSync/v17/DataTypes/UploadVideo.config @@ -0,0 +1,15 @@ + + + + Upload Video + Umbraco.UploadField + Umb.PropertyEditorUi.UploadField + + + \ No newline at end of file diff --git a/examples/Umbraco.Community.BlockPreview.NoModelsTestSite/uSync/v17/DataTypes/UserPicker.config b/examples/Umbraco.Community.BlockPreview.NoModelsTestSite/uSync/v17/DataTypes/UserPicker.config new file mode 100644 index 00000000..ad76d674 --- /dev/null +++ b/examples/Umbraco.Community.BlockPreview.NoModelsTestSite/uSync/v17/DataTypes/UserPicker.config @@ -0,0 +1,9 @@ + + + + User Picker + Umbraco.UserPicker + Umb.PropertyEditorUi.UserPicker + + + \ No newline at end of file diff --git a/examples/Umbraco.Community.BlockPreview.NoModelsTestSite/uSync/v17/Domains/_en-us.config b/examples/Umbraco.Community.BlockPreview.NoModelsTestSite/uSync/v17/Domains/_en-us.config new file mode 100644 index 00000000..39bfe7e1 --- /dev/null +++ b/examples/Umbraco.Community.BlockPreview.NoModelsTestSite/uSync/v17/Domains/_en-us.config @@ -0,0 +1,8 @@ + + + + false + en-US + /Home + + \ No newline at end of file diff --git a/examples/Umbraco.Community.BlockPreview.NoModelsTestSite/uSync/v17/Domains/uk_en-gb.config b/examples/Umbraco.Community.BlockPreview.NoModelsTestSite/uSync/v17/Domains/uk_en-gb.config new file mode 100644 index 00000000..8e873771 --- /dev/null +++ b/examples/Umbraco.Community.BlockPreview.NoModelsTestSite/uSync/v17/Domains/uk_en-gb.config @@ -0,0 +1,8 @@ + + + + false + en-GB + /Home + + \ No newline at end of file diff --git a/examples/Umbraco.Community.BlockPreview.NoModelsTestSite/uSync/v17/Languages/en-gb.config b/examples/Umbraco.Community.BlockPreview.NoModelsTestSite/uSync/v17/Languages/en-gb.config new file mode 100644 index 00000000..9918e77e --- /dev/null +++ b/examples/Umbraco.Community.BlockPreview.NoModelsTestSite/uSync/v17/Languages/en-gb.config @@ -0,0 +1,8 @@ + + + English (United Kingdom) + en-GB + false + false + en-US + \ No newline at end of file diff --git a/examples/Umbraco.Community.BlockPreview.NoModelsTestSite/uSync/v17/Languages/en-us.config b/examples/Umbraco.Community.BlockPreview.NoModelsTestSite/uSync/v17/Languages/en-us.config new file mode 100644 index 00000000..c212dd9d --- /dev/null +++ b/examples/Umbraco.Community.BlockPreview.NoModelsTestSite/uSync/v17/Languages/en-us.config @@ -0,0 +1,7 @@ + + + English (United States) + en-US + false + true + \ No newline at end of file diff --git a/examples/Umbraco.Community.BlockPreview.NoModelsTestSite/uSync/v17/Media/bosco-shots-slr66yjpsoi-unsplash.config b/examples/Umbraco.Community.BlockPreview.NoModelsTestSite/uSync/v17/Media/bosco-shots-slr66yjpsoi-unsplash.config new file mode 100644 index 00000000..6ad95007 --- /dev/null +++ b/examples/Umbraco.Community.BlockPreview.NoModelsTestSite/uSync/v17/Media/bosco-shots-slr66yjpsoi-unsplash.config @@ -0,0 +1,19 @@ + + + + Buildings + /Buildings/BoscoShotsSlr66yjpsoiUnsplash + false + Image + 2023-08-25T13:17:13 + + 11 + + + + + + + \ No newline at end of file diff --git a/examples/Umbraco.Community.BlockPreview.NoModelsTestSite/uSync/v17/Media/buildings.config b/examples/Umbraco.Community.BlockPreview.NoModelsTestSite/uSync/v17/Media/buildings.config new file mode 100644 index 00000000..c7e362c2 --- /dev/null +++ b/examples/Umbraco.Community.BlockPreview.NoModelsTestSite/uSync/v17/Media/buildings.config @@ -0,0 +1,13 @@ + + + + + /Buildings + false + Folder + 2023-08-25T13:17:13 + + 0 + + + \ No newline at end of file diff --git a/examples/Umbraco.Community.BlockPreview.NoModelsTestSite/uSync/v17/Media/casey-horner-wkjiek4qsnk-unsplash.config b/examples/Umbraco.Community.BlockPreview.NoModelsTestSite/uSync/v17/Media/casey-horner-wkjiek4qsnk-unsplash.config new file mode 100644 index 00000000..bc5e2e8f --- /dev/null +++ b/examples/Umbraco.Community.BlockPreview.NoModelsTestSite/uSync/v17/Media/casey-horner-wkjiek4qsnk-unsplash.config @@ -0,0 +1,19 @@ + + + + Nature + /Nature/CaseyHornerWkjiek4qsnkUnsplash + false + Image + 2023-08-25T13:17:13 + + 6 + + + + + + + \ No newline at end of file diff --git a/examples/Umbraco.Community.BlockPreview.NoModelsTestSite/uSync/v17/Media/collin-clyne-eg8-h52znw0-unsplash.config b/examples/Umbraco.Community.BlockPreview.NoModelsTestSite/uSync/v17/Media/collin-clyne-eg8-h52znw0-unsplash.config new file mode 100644 index 00000000..4f6ef498 --- /dev/null +++ b/examples/Umbraco.Community.BlockPreview.NoModelsTestSite/uSync/v17/Media/collin-clyne-eg8-h52znw0-unsplash.config @@ -0,0 +1,19 @@ + + + + Nature + /Nature/CollinClyneEg8H52znw0Unsplash + false + Image + 2023-08-25T13:17:13 + + 4 + + + + + + + \ No newline at end of file diff --git a/examples/Umbraco.Community.BlockPreview.NoModelsTestSite/uSync/v17/Media/collin-clyne-zsuely56fzu-unsplash.config b/examples/Umbraco.Community.BlockPreview.NoModelsTestSite/uSync/v17/Media/collin-clyne-zsuely56fzu-unsplash.config new file mode 100644 index 00000000..2df9efc5 --- /dev/null +++ b/examples/Umbraco.Community.BlockPreview.NoModelsTestSite/uSync/v17/Media/collin-clyne-zsuely56fzu-unsplash.config @@ -0,0 +1,19 @@ + + + + Nature + /Nature/CollinClyneZsuely56fzuUnsplash + false + Image + 2023-08-25T13:17:13 + + 5 + + + + + + + \ No newline at end of file diff --git a/examples/Umbraco.Community.BlockPreview.NoModelsTestSite/uSync/v17/Media/ed-259-xcri6cpkkjs-unsplash.config b/examples/Umbraco.Community.BlockPreview.NoModelsTestSite/uSync/v17/Media/ed-259-xcri6cpkkjs-unsplash.config new file mode 100644 index 00000000..66eecce0 --- /dev/null +++ b/examples/Umbraco.Community.BlockPreview.NoModelsTestSite/uSync/v17/Media/ed-259-xcri6cpkkjs-unsplash.config @@ -0,0 +1,19 @@ + + + + Nature + /Nature/Ed259Xcri6cpkkjsUnsplash + false + Image + 2023-08-25T13:17:13 + + 7 + + + + + + + \ No newline at end of file diff --git a/examples/Umbraco.Community.BlockPreview.NoModelsTestSite/uSync/v17/Media/geran-de-klerk-qzgn45hsen0-unsplash.config b/examples/Umbraco.Community.BlockPreview.NoModelsTestSite/uSync/v17/Media/geran-de-klerk-qzgn45hsen0-unsplash.config new file mode 100644 index 00000000..3ff21324 --- /dev/null +++ b/examples/Umbraco.Community.BlockPreview.NoModelsTestSite/uSync/v17/Media/geran-de-klerk-qzgn45hsen0-unsplash.config @@ -0,0 +1,19 @@ + + + + Nature + /Nature/GeranDeKlerkQzgn45hsen0Unsplash + false + Image + 2023-08-25T13:17:13 + + 3 + + + + + + + \ No newline at end of file diff --git a/examples/Umbraco.Community.BlockPreview.NoModelsTestSite/uSync/v17/Media/geran-de-klerk-wjkc3xzjsxw-unsplash.config b/examples/Umbraco.Community.BlockPreview.NoModelsTestSite/uSync/v17/Media/geran-de-klerk-wjkc3xzjsxw-unsplash.config new file mode 100644 index 00000000..1a8cfa65 --- /dev/null +++ b/examples/Umbraco.Community.BlockPreview.NoModelsTestSite/uSync/v17/Media/geran-de-klerk-wjkc3xzjsxw-unsplash.config @@ -0,0 +1,19 @@ + + + + Nature + /Nature/GeranDeKlerkWjkc3xzjsxwUnsplash + false + Image + 2023-08-25T13:17:13 + + 2 + + + + + + + \ No newline at end of file diff --git a/examples/Umbraco.Community.BlockPreview.NoModelsTestSite/uSync/v17/Media/grant-ritchie-fbkrqhnlqoy-unsplash.config b/examples/Umbraco.Community.BlockPreview.NoModelsTestSite/uSync/v17/Media/grant-ritchie-fbkrqhnlqoy-unsplash.config new file mode 100644 index 00000000..0c22e920 --- /dev/null +++ b/examples/Umbraco.Community.BlockPreview.NoModelsTestSite/uSync/v17/Media/grant-ritchie-fbkrqhnlqoy-unsplash.config @@ -0,0 +1,19 @@ + + + + Buildings + /Buildings/GrantRitchieFbkrqhnlqoyUnsplash + false + Image + 2023-08-25T13:17:13 + + 9 + + + + + + + \ No newline at end of file diff --git a/examples/Umbraco.Community.BlockPreview.NoModelsTestSite/uSync/v17/Media/hernan-lucio-gjfvhkuhdsi-unsplash.config b/examples/Umbraco.Community.BlockPreview.NoModelsTestSite/uSync/v17/Media/hernan-lucio-gjfvhkuhdsi-unsplash.config new file mode 100644 index 00000000..5227d1ea --- /dev/null +++ b/examples/Umbraco.Community.BlockPreview.NoModelsTestSite/uSync/v17/Media/hernan-lucio-gjfvhkuhdsi-unsplash.config @@ -0,0 +1,19 @@ + + + + Buildings + /Buildings/HernanLucioGjfvhkuhdsiUnsplash + false + Image + 2023-08-25T13:17:13 + + 8 + + + + + + + \ No newline at end of file diff --git a/examples/Umbraco.Community.BlockPreview.NoModelsTestSite/uSync/v17/Media/hossein-nasr-2nuu-j3zgke-unsplash.config b/examples/Umbraco.Community.BlockPreview.NoModelsTestSite/uSync/v17/Media/hossein-nasr-2nuu-j3zgke-unsplash.config new file mode 100644 index 00000000..8af8a24a --- /dev/null +++ b/examples/Umbraco.Community.BlockPreview.NoModelsTestSite/uSync/v17/Media/hossein-nasr-2nuu-j3zgke-unsplash.config @@ -0,0 +1,19 @@ + + + + Buildings + /Buildings/HosseinNasr2NuuJ3zgkeUnsplash + false + Image + 2023-08-25T13:17:13 + + 7 + + + + + + + \ No newline at end of file diff --git a/examples/Umbraco.Community.BlockPreview.NoModelsTestSite/uSync/v17/Media/hossein-nasr-uj99hdy2mmw-unsplash.config b/examples/Umbraco.Community.BlockPreview.NoModelsTestSite/uSync/v17/Media/hossein-nasr-uj99hdy2mmw-unsplash.config new file mode 100644 index 00000000..22d89a72 --- /dev/null +++ b/examples/Umbraco.Community.BlockPreview.NoModelsTestSite/uSync/v17/Media/hossein-nasr-uj99hdy2mmw-unsplash.config @@ -0,0 +1,19 @@ + + + + Buildings + /Buildings/HosseinNasrUj99hdy2mmwUnsplash + false + Image + 2023-08-25T13:17:13 + + 6 + + + + + + + \ No newline at end of file diff --git a/examples/Umbraco.Community.BlockPreview.NoModelsTestSite/uSync/v17/Media/hossein-nasr-vmst7pnoto-unsplash.config b/examples/Umbraco.Community.BlockPreview.NoModelsTestSite/uSync/v17/Media/hossein-nasr-vmst7pnoto-unsplash.config new file mode 100644 index 00000000..4fcda684 --- /dev/null +++ b/examples/Umbraco.Community.BlockPreview.NoModelsTestSite/uSync/v17/Media/hossein-nasr-vmst7pnoto-unsplash.config @@ -0,0 +1,19 @@ + + + + Buildings + /Buildings/HosseinNasrVmst7pnotoUnsplash + false + Image + 2023-08-25T13:17:13 + + 10 + + + + + + + \ No newline at end of file diff --git a/examples/Umbraco.Community.BlockPreview.NoModelsTestSite/uSync/v17/Media/hossein-nasr-vwzdwriw3xu-unsplash.config b/examples/Umbraco.Community.BlockPreview.NoModelsTestSite/uSync/v17/Media/hossein-nasr-vwzdwriw3xu-unsplash.config new file mode 100644 index 00000000..badefc91 --- /dev/null +++ b/examples/Umbraco.Community.BlockPreview.NoModelsTestSite/uSync/v17/Media/hossein-nasr-vwzdwriw3xu-unsplash.config @@ -0,0 +1,19 @@ + + + + Buildings + /Buildings/HosseinNasrVwzdwriw3xuUnsplash + false + Image + 2023-08-25T13:17:13 + + 1 + + + + + + + \ No newline at end of file diff --git a/examples/Umbraco.Community.BlockPreview.NoModelsTestSite/uSync/v17/Media/hossein-nasr-wr56ynk67uc-unsplash.config b/examples/Umbraco.Community.BlockPreview.NoModelsTestSite/uSync/v17/Media/hossein-nasr-wr56ynk67uc-unsplash.config new file mode 100644 index 00000000..597ea41d --- /dev/null +++ b/examples/Umbraco.Community.BlockPreview.NoModelsTestSite/uSync/v17/Media/hossein-nasr-wr56ynk67uc-unsplash.config @@ -0,0 +1,19 @@ + + + + Buildings + /Buildings/HosseinNasrWr56ynk67ucUnsplash + false + Image + 2023-08-25T13:17:13 + + 3 + + + + + + + \ No newline at end of file diff --git a/examples/Umbraco.Community.BlockPreview.NoModelsTestSite/uSync/v17/Media/jay-mantri-qkfxq3x-ybi-unsplash.config b/examples/Umbraco.Community.BlockPreview.NoModelsTestSite/uSync/v17/Media/jay-mantri-qkfxq3x-ybi-unsplash.config new file mode 100644 index 00000000..6cbac829 --- /dev/null +++ b/examples/Umbraco.Community.BlockPreview.NoModelsTestSite/uSync/v17/Media/jay-mantri-qkfxq3x-ybi-unsplash.config @@ -0,0 +1,19 @@ + + + + Nature + /Nature/JayMantriQkfxq3xYbiUnsplash + false + Image + 2023-08-25T13:17:13 + + 8 + + + + + + + \ No newline at end of file diff --git a/examples/Umbraco.Community.BlockPreview.NoModelsTestSite/uSync/v17/Media/jay-mantri-tfyi0qox08c-unsplash.config b/examples/Umbraco.Community.BlockPreview.NoModelsTestSite/uSync/v17/Media/jay-mantri-tfyi0qox08c-unsplash.config new file mode 100644 index 00000000..bae91548 --- /dev/null +++ b/examples/Umbraco.Community.BlockPreview.NoModelsTestSite/uSync/v17/Media/jay-mantri-tfyi0qox08c-unsplash.config @@ -0,0 +1,19 @@ + + + + Nature + /Nature/JayMantriTfyi0qox08cUnsplash + false + Image + 2023-08-25T13:17:13 + + 1 + + + + + + + \ No newline at end of file diff --git a/examples/Umbraco.Community.BlockPreview.NoModelsTestSite/uSync/v17/Media/meiying-ng-orwkd-iwgqg-unsplash.config b/examples/Umbraco.Community.BlockPreview.NoModelsTestSite/uSync/v17/Media/meiying-ng-orwkd-iwgqg-unsplash.config new file mode 100644 index 00000000..6aafd8f8 --- /dev/null +++ b/examples/Umbraco.Community.BlockPreview.NoModelsTestSite/uSync/v17/Media/meiying-ng-orwkd-iwgqg-unsplash.config @@ -0,0 +1,19 @@ + + + + Buildings + /Buildings/MeiyingNgOrwkdIwgqgUnsplash + false + Image + 2023-08-25T13:17:13 + + 4 + + + + + + + \ No newline at end of file diff --git a/examples/Umbraco.Community.BlockPreview.NoModelsTestSite/uSync/v17/Media/merve-sehirli-nasir-r-slzigonz4-unsplash.config b/examples/Umbraco.Community.BlockPreview.NoModelsTestSite/uSync/v17/Media/merve-sehirli-nasir-r-slzigonz4-unsplash.config new file mode 100644 index 00000000..648c2661 --- /dev/null +++ b/examples/Umbraco.Community.BlockPreview.NoModelsTestSite/uSync/v17/Media/merve-sehirli-nasir-r-slzigonz4-unsplash.config @@ -0,0 +1,19 @@ + + + + Buildings + /Buildings/MerveSehirliNasirRSlzigonz4Unsplash + false + Image + 2023-08-25T13:17:13 + + 0 + + + + + + + \ No newline at end of file diff --git a/examples/Umbraco.Community.BlockPreview.NoModelsTestSite/uSync/v17/Media/nature.config b/examples/Umbraco.Community.BlockPreview.NoModelsTestSite/uSync/v17/Media/nature.config new file mode 100644 index 00000000..467aaaa0 --- /dev/null +++ b/examples/Umbraco.Community.BlockPreview.NoModelsTestSite/uSync/v17/Media/nature.config @@ -0,0 +1,13 @@ + + + + + /Nature + false + Folder + 2023-08-25T13:17:13 + + 1 + + + \ No newline at end of file diff --git a/examples/Umbraco.Community.BlockPreview.NoModelsTestSite/uSync/v17/Media/scott-webb-k-qkkbn7ds-unsplash.config b/examples/Umbraco.Community.BlockPreview.NoModelsTestSite/uSync/v17/Media/scott-webb-k-qkkbn7ds-unsplash.config new file mode 100644 index 00000000..d6459b4e --- /dev/null +++ b/examples/Umbraco.Community.BlockPreview.NoModelsTestSite/uSync/v17/Media/scott-webb-k-qkkbn7ds-unsplash.config @@ -0,0 +1,19 @@ + + + + Buildings + /Buildings/ScottWebbKQkkbn7dsUnsplash + false + Image + 2023-08-25T13:17:13 + + 5 + + + + + + + \ No newline at end of file diff --git a/examples/Umbraco.Community.BlockPreview.NoModelsTestSite/uSync/v17/Media/simone-hutsch-l8fyk9rs-ou-unsplash.config b/examples/Umbraco.Community.BlockPreview.NoModelsTestSite/uSync/v17/Media/simone-hutsch-l8fyk9rs-ou-unsplash.config new file mode 100644 index 00000000..bdad8aba --- /dev/null +++ b/examples/Umbraco.Community.BlockPreview.NoModelsTestSite/uSync/v17/Media/simone-hutsch-l8fyk9rs-ou-unsplash.config @@ -0,0 +1,19 @@ + + + + Buildings + /Buildings/SimoneHutschL8fyk9rsOUUnsplash + false + Image + 2023-08-25T13:17:13 + + 2 + + + + + + + \ No newline at end of file diff --git a/examples/Umbraco.Community.BlockPreview.NoModelsTestSite/uSync/v17/Media/thomas-griesbeck-bs-uxe8wu5y-unsplash.config b/examples/Umbraco.Community.BlockPreview.NoModelsTestSite/uSync/v17/Media/thomas-griesbeck-bs-uxe8wu5y-unsplash.config new file mode 100644 index 00000000..b52a00d3 --- /dev/null +++ b/examples/Umbraco.Community.BlockPreview.NoModelsTestSite/uSync/v17/Media/thomas-griesbeck-bs-uxe8wu5y-unsplash.config @@ -0,0 +1,19 @@ + + + + Nature + /Nature/ThomasGriesbeckBSUxe8wu5yUnsplash + false + Image + 2023-08-25T13:17:13 + + 9 + + + + + + + \ No newline at end of file diff --git a/examples/Umbraco.Community.BlockPreview.NoModelsTestSite/uSync/v17/Media/tiago-alexandre-lopes-5vdftgpwv2g-unsplash.config b/examples/Umbraco.Community.BlockPreview.NoModelsTestSite/uSync/v17/Media/tiago-alexandre-lopes-5vdftgpwv2g-unsplash.config new file mode 100644 index 00000000..5110de78 --- /dev/null +++ b/examples/Umbraco.Community.BlockPreview.NoModelsTestSite/uSync/v17/Media/tiago-alexandre-lopes-5vdftgpwv2g-unsplash.config @@ -0,0 +1,19 @@ + + + + Nature + /Nature/TiagoAlexandreLopes5Vdftgpwv2gUnsplash + false + Image + 2023-08-25T13:17:13 + + 10 + + + + + + + \ No newline at end of file diff --git a/examples/Umbraco.Community.BlockPreview.NoModelsTestSite/uSync/v17/Media/yoal-desurmont-jqgsm3b9fpo-unsplash.config b/examples/Umbraco.Community.BlockPreview.NoModelsTestSite/uSync/v17/Media/yoal-desurmont-jqgsm3b9fpo-unsplash.config new file mode 100644 index 00000000..41909b72 --- /dev/null +++ b/examples/Umbraco.Community.BlockPreview.NoModelsTestSite/uSync/v17/Media/yoal-desurmont-jqgsm3b9fpo-unsplash.config @@ -0,0 +1,19 @@ + + + + Nature + /Nature/YoalDesurmontJqgsm3b9fpoUnsplash + false + Image + 2023-08-25T13:17:13 + + 0 + + + + + + + \ No newline at end of file diff --git a/examples/Umbraco.Community.BlockPreview.NoModelsTestSite/uSync/v17/MediaTypes/file.config b/examples/Umbraco.Community.BlockPreview.NoModelsTestSite/uSync/v17/MediaTypes/file.config new file mode 100644 index 00000000..aac505eb --- /dev/null +++ b/examples/Umbraco.Community.BlockPreview.NoModelsTestSite/uSync/v17/MediaTypes/file.config @@ -0,0 +1,71 @@ + + + + File + icon-document + icon-document + + True + 00000000-0000-0000-0000-000000000000 + Nothing + false + + + + + 0000001a-0000-0000-0000-000000000000 + File size + umbracoBytes + ba5bdbe6-ab3e-46a8-82b3-2c45f10bc47f + Umbraco.Label + false + + + 2 + File + + + false + + + 00000019-0000-0000-0000-000000000000 + File extension + umbracoExtension + f0bc4bfb-b499-40d6-ba86-058885a5178c + Umbraco.Label + false + + + 1 + File + + + false + + + 00000018-0000-0000-0000-000000000000 + File + umbracoFile + 84c6b441-31df-4ffe-b67e-67d5bc3ae65a + Umbraco.UploadField + true + + + 0 + File + + + false + + + + + + 50899f9c-023a-4466-b623-aba9049885fe + File + file + Group + 1 + + + \ No newline at end of file diff --git a/examples/Umbraco.Community.BlockPreview.NoModelsTestSite/uSync/v17/MediaTypes/folder.config b/examples/Umbraco.Community.BlockPreview.NoModelsTestSite/uSync/v17/MediaTypes/folder.config new file mode 100644 index 00000000..2c1094bd --- /dev/null +++ b/examples/Umbraco.Community.BlockPreview.NoModelsTestSite/uSync/v17/MediaTypes/folder.config @@ -0,0 +1,25 @@ + + + + Folder + icon-folder + icon-folder + + True + 3a0156c4-3b8c-4803-bdc1-6871faa83fff + Nothing + false + + + + + Folder + Image + File + umbracoMediaVideo + umbracoMediaAudio + umbracoMediaArticle + umbracoMediaVectorGraphics + + + \ No newline at end of file diff --git a/examples/Umbraco.Community.BlockPreview.NoModelsTestSite/uSync/v17/MediaTypes/image.config b/examples/Umbraco.Community.BlockPreview.NoModelsTestSite/uSync/v17/MediaTypes/image.config new file mode 100644 index 00000000..f375bfe7 --- /dev/null +++ b/examples/Umbraco.Community.BlockPreview.NoModelsTestSite/uSync/v17/MediaTypes/image.config @@ -0,0 +1,101 @@ + + + + Image + icon-picture + icon-picture + + True + 00000000-0000-0000-0000-000000000000 + Nothing + false + + + + + 00000009-0000-0000-0000-000000000000 + File size + umbracoBytes + ba5bdbe6-ab3e-46a8-82b3-2c45f10bc47f + Umbraco.Label + false + + + 3 + Image + + + false + + + 0000000a-0000-0000-0000-000000000000 + File extension + umbracoExtension + f0bc4bfb-b499-40d6-ba86-058885a5178c + Umbraco.Label + false + + + 4 + Image + + + false + + + 00000006-0000-0000-0000-000000000000 + Image + umbracoFile + 1df9f033-e6d4-451f-b8d2-e0cbc50a836f + Umbraco.ImageCropper + true + + + 0 + Image + + + false + + + 00000008-0000-0000-0000-000000000000 + Height + umbracoHeight + 5eb57825-e15e-4fc7-8e37-fca65cdafbde + Umbraco.Label + false + + + 2 + Image + + + false + + + 00000007-0000-0000-0000-000000000000 + Width + umbracoWidth + 5eb57825-e15e-4fc7-8e37-fca65cdafbde + Umbraco.Label + false + + + 1 + Image + + + false + + + + + + 79ed4d07-254a-42cf-8fa9-ebe1c116a596 + Image + image + Group + 1 + + + \ No newline at end of file diff --git a/examples/Umbraco.Community.BlockPreview.NoModelsTestSite/uSync/v17/MediaTypes/umbracomediaarticle.config b/examples/Umbraco.Community.BlockPreview.NoModelsTestSite/uSync/v17/MediaTypes/umbracomediaarticle.config new file mode 100644 index 00000000..b6a95808 --- /dev/null +++ b/examples/Umbraco.Community.BlockPreview.NoModelsTestSite/uSync/v17/MediaTypes/umbracomediaarticle.config @@ -0,0 +1,71 @@ + + + + Article + icon-article + icon-article + + True + 00000000-0000-0000-0000-000000000000 + Nothing + false + + + + + 00000030-0000-0000-0000-000000000000 + File size + umbracoBytes + ba5bdbe6-ab3e-46a8-82b3-2c45f10bc47f + Umbraco.Label + false + + + 2 + Article + + + false + + + 0000002f-0000-0000-0000-000000000000 + File extension + umbracoExtension + f0bc4bfb-b499-40d6-ba86-058885a5178c + Umbraco.Label + false + + + 1 + Article + + + false + + + 0000002e-0000-0000-0000-000000000000 + Article + umbracoFile + bc1e266c-dac4-4164-bf08-8a1ec6a7143d + Umbraco.UploadField + true + + + 0 + Article + + + false + + + + + + 9af3bd65-f687-4453-9518-5f180d1898ec + Article + article + Group + 1 + + + \ No newline at end of file diff --git a/examples/Umbraco.Community.BlockPreview.NoModelsTestSite/uSync/v17/MediaTypes/umbracomediaaudio.config b/examples/Umbraco.Community.BlockPreview.NoModelsTestSite/uSync/v17/MediaTypes/umbracomediaaudio.config new file mode 100644 index 00000000..dc23e206 --- /dev/null +++ b/examples/Umbraco.Community.BlockPreview.NoModelsTestSite/uSync/v17/MediaTypes/umbracomediaaudio.config @@ -0,0 +1,71 @@ + + + + Audio + icon-sound-waves + icon-sound-waves + + True + 00000000-0000-0000-0000-000000000000 + Nothing + false + + + + + 0000002d-0000-0000-0000-000000000000 + File size + umbracoBytes + ba5bdbe6-ab3e-46a8-82b3-2c45f10bc47f + Umbraco.Label + false + + + 2 + Audio + + + false + + + 0000002c-0000-0000-0000-000000000000 + File extension + umbracoExtension + f0bc4bfb-b499-40d6-ba86-058885a5178c + Umbraco.Label + false + + + 1 + Audio + + + false + + + 0000002b-0000-0000-0000-000000000000 + Audio + umbracoFile + 8f430dd6-4e96-447e-9dc0-cb552c8cd1f3 + Umbraco.UploadField + true + + + 0 + Audio + + + false + + + + + + 335fb495-0a87-4e82-b902-30eb367b767c + Audio + audio + Group + 1 + + + \ No newline at end of file diff --git a/examples/Umbraco.Community.BlockPreview.NoModelsTestSite/uSync/v17/MediaTypes/umbracomediavectorgraphics.config b/examples/Umbraco.Community.BlockPreview.NoModelsTestSite/uSync/v17/MediaTypes/umbracomediavectorgraphics.config new file mode 100644 index 00000000..81507d0f --- /dev/null +++ b/examples/Umbraco.Community.BlockPreview.NoModelsTestSite/uSync/v17/MediaTypes/umbracomediavectorgraphics.config @@ -0,0 +1,71 @@ + + + + Vector Graphics (SVG) + icon-picture + icon-picture + + True + 00000000-0000-0000-0000-000000000000 + Nothing + false + + + + + 00000033-0000-0000-0000-000000000000 + File size + umbracoBytes + ba5bdbe6-ab3e-46a8-82b3-2c45f10bc47f + Umbraco.Label + false + + + 2 + Vector Graphics + + + false + + + 00000032-0000-0000-0000-000000000000 + File extension + umbracoExtension + f0bc4bfb-b499-40d6-ba86-058885a5178c + Umbraco.Label + false + + + 1 + Vector Graphics + + + false + + + 00000031-0000-0000-0000-000000000000 + Vector Graphics + umbracoFile + 215cb418-2153-4429-9aef-8c0f0041191b + Umbraco.UploadField + true + + + 0 + Vector Graphics + + + false + + + + + + f199b4d7-9e84-439f-8531-f87d9af37711 + Vector Graphics + vectorGraphics + Group + 1 + + + \ No newline at end of file diff --git a/examples/Umbraco.Community.BlockPreview.NoModelsTestSite/uSync/v17/MediaTypes/umbracomediavideo.config b/examples/Umbraco.Community.BlockPreview.NoModelsTestSite/uSync/v17/MediaTypes/umbracomediavideo.config new file mode 100644 index 00000000..2a2687c3 --- /dev/null +++ b/examples/Umbraco.Community.BlockPreview.NoModelsTestSite/uSync/v17/MediaTypes/umbracomediavideo.config @@ -0,0 +1,71 @@ + + + + Video + icon-video + icon-video + + True + 00000000-0000-0000-0000-000000000000 + Nothing + false + + + + + 0000002a-0000-0000-0000-000000000000 + File size + umbracoBytes + ba5bdbe6-ab3e-46a8-82b3-2c45f10bc47f + Umbraco.Label + false + + + 2 + Video + + + false + + + 00000029-0000-0000-0000-000000000000 + File extension + umbracoExtension + f0bc4bfb-b499-40d6-ba86-058885a5178c + Umbraco.Label + false + + + 1 + Video + + + false + + + 00000028-0000-0000-0000-000000000000 + Video + umbracoFile + 70575fe7-9812-4396-bbe1-c81a76db71b5 + Umbraco.UploadField + true + + + 0 + Video + + + false + + + + + + 2f0a61b6-cf92-4ff4-b437-751ab35eb254 + Video + video + Group + 1 + + + \ No newline at end of file diff --git a/examples/Umbraco.Community.BlockPreview.NoModelsTestSite/uSync/v17/MemberTypes/member.config b/examples/Umbraco.Community.BlockPreview.NoModelsTestSite/uSync/v17/MemberTypes/member.config new file mode 100644 index 00000000..91898b5f --- /dev/null +++ b/examples/Umbraco.Community.BlockPreview.NoModelsTestSite/uSync/v17/MemberTypes/member.config @@ -0,0 +1,44 @@ + + + + Member + icon-user + icon-user + + False + 00000000-0000-0000-0000-000000000000 + Nothing + false + + + + + 2a280588-0000-0000-0000-000000000000 + Comments + umbracoMemberComments + c6bac0dd-4ab9-45b1-8e30-e4b619ee5da3 + Umbraco.TextArea + false + + + 0 + Membership + false + false + false + + + false + + + + + + 0756729d-d665-46e3-b84a-37aceaa614f8 + Membership + membership + Group + 1 + + + \ No newline at end of file diff --git a/examples/Umbraco.Community.BlockPreview.NoModelsTestSite/uSync/v17/RelationTypes/umbMember.config b/examples/Umbraco.Community.BlockPreview.NoModelsTestSite/uSync/v17/RelationTypes/umbMember.config new file mode 100644 index 00000000..fc286362 --- /dev/null +++ b/examples/Umbraco.Community.BlockPreview.NoModelsTestSite/uSync/v17/RelationTypes/umbMember.config @@ -0,0 +1,10 @@ + + + + Related Member + + + false + true + + \ No newline at end of file diff --git a/examples/Umbraco.Community.BlockPreview.NoModelsTestSite/uSync/v17/Templates/blockgrid.config b/examples/Umbraco.Community.BlockPreview.NoModelsTestSite/uSync/v17/Templates/blockgrid.config new file mode 100644 index 00000000..62d37ebe --- /dev/null +++ b/examples/Umbraco.Community.BlockPreview.NoModelsTestSite/uSync/v17/Templates/blockgrid.config @@ -0,0 +1,5 @@ + + \ No newline at end of file diff --git a/examples/Umbraco.Community.BlockPreview.NoModelsTestSite/uSync/v17/Templates/blocklist.config b/examples/Umbraco.Community.BlockPreview.NoModelsTestSite/uSync/v17/Templates/blocklist.config new file mode 100644 index 00000000..e5666603 --- /dev/null +++ b/examples/Umbraco.Community.BlockPreview.NoModelsTestSite/uSync/v17/Templates/blocklist.config @@ -0,0 +1,5 @@ + + \ No newline at end of file diff --git a/examples/Umbraco.Community.BlockPreview.NoModelsTestSite/uSync/v17/Templates/layout.config b/examples/Umbraco.Community.BlockPreview.NoModelsTestSite/uSync/v17/Templates/layout.config new file mode 100644 index 00000000..4780ccda --- /dev/null +++ b/examples/Umbraco.Community.BlockPreview.NoModelsTestSite/uSync/v17/Templates/layout.config @@ -0,0 +1,5 @@ + + \ No newline at end of file diff --git a/examples/Umbraco.Community.BlockPreview.NoModelsTestSite/uSync/v17/Templates/themedblocklist.config b/examples/Umbraco.Community.BlockPreview.NoModelsTestSite/uSync/v17/Templates/themedblocklist.config new file mode 100644 index 00000000..629b02e4 --- /dev/null +++ b/examples/Umbraco.Community.BlockPreview.NoModelsTestSite/uSync/v17/Templates/themedblocklist.config @@ -0,0 +1,5 @@ + + \ No newline at end of file diff --git a/examples/Umbraco.Community.BlockPreview.NoModelsTestSite/uSync/v17/usync.config b/examples/Umbraco.Community.BlockPreview.NoModelsTestSite/uSync/v17/usync.config new file mode 100644 index 00000000..6b4bc141 --- /dev/null +++ b/examples/Umbraco.Community.BlockPreview.NoModelsTestSite/uSync/v17/usync.config @@ -0,0 +1,2 @@ + + \ No newline at end of file diff --git a/examples/Umbraco.Community.BlockPreview.NoModelsTestSite/wwwroot/css/myblockgridlayout.css b/examples/Umbraco.Community.BlockPreview.NoModelsTestSite/wwwroot/css/myblockgridlayout.css new file mode 100644 index 00000000..69a619e9 --- /dev/null +++ b/examples/Umbraco.Community.BlockPreview.NoModelsTestSite/wwwroot/css/myblockgridlayout.css @@ -0,0 +1,365 @@ +.umb-block-grid__layout-container { + position: relative; + display: grid; + grid-template-columns: repeat(var(--umb-block-grid--grid-columns, 1), minmax(0, 1fr)); + grid-auto-flow: row; + grid-auto-rows: minmax(50px, min-content); + column-gap: var(--umb-block-grid--column-gap, 0); + row-gap: var(--umb-block-grid--row-gap, 0); +} + +.umb-block-grid__layout-item { + position: relative; + /* For small devices we scale columnSpan by three, to make everything bigger than 1/3 take full width: */ + grid-column-end: span min(calc(var(--umb-block-grid--item-column-span, 1) * 3), var(--umb-block-grid--grid-columns)); + grid-row: span var(--umb-block-grid--item-row-span, 1); +} + + +.umb-block-grid__area-container, .umb-block-grid__block--view::part(area-container) { + position: relative; + display: grid; + grid-template-columns: repeat(var(--umb-block-grid--area-grid-columns, var(--umb-block-grid--grid-columns, 1)), minmax(0, 1fr)); + grid-auto-flow: row; + grid-auto-rows: minmax(50px, min-content); + column-gap: var(--umb-block-grid--areas-column-gap, 0); + row-gap: var(--umb-block-grid--areas-row-gap, 0); +} + +.umb-block-grid__area { + position: relative; + height: 100%; + display: flex; + flex-direction: column; + /* For small devices we scale columnSpan by three, to make everything bigger than 1/3 take full width: */ + grid-column-end: span min(calc(var(--umb-block-grid--area-column-span, 1) * 3), var(--umb-block-grid--grid-columns)); + grid-row: span var(--umb-block-grid--area-row-span, 1); +} + +@media (min-width:1024px) { + .umb-block-grid__layout-item { + grid-column-end: span min(var(--umb-block-grid--item-column-span, 1), var(--umb-block-grid--grid-columns)); + } + + .umb-block-grid__area { + grid-column-end: span var(--umb-block-grid--area-column-span, 1); + } +} + + +/**** Custom additions to the default Grid Layout Stylehseet: ****/ +:root, :host { + --umb-block-grid--areas-column-gap: 60px; + --umb-block-grid--areas-row-gap: 60px; + --umb-block-grid--column-gap: 60px; + --umb-block-grid--row-gap: 60px; + --my-container-max-width: 1200px; + --my-container-padding: 0 20px; +} + +/* additional CSS options for area-container and areas: */ +.umb-block-grid__area-container, .umb-block-grid__block--view::part(area-container) { + max-width: var(--my-container-max-width); + padding: var(--my-container-padding); + margin-left: auto; + margin-right: auto; +} + +.umb-block-grid__area { + justify-content: center; +} + +.umb-block-grid__layout-item[data-content-element-type-alias="oneColumnSectionBlock"] .umb-block-grid__layout-container { +} + + + + + +/**** My custom website styles: ****/ + +:root, :host, body { + font-family: 'Lato'; + font-weight: 500; + font-size: 15px; + line-height: 1.5; + margin: 0; +} + +.umb-block-grid { + container-type: inline-size; +} +@container (min-width: 720px) { + .umb-block-grid__layout-container { + --my-container-padding: 0 60px; + } +} + +section { + padding: var(--section-padding, 60px 0); +} +section[bright-contrast] { + color:white; + --my-bright-contrast: ; +} + + +/** only works on website. */ +.umb-block-grid__layout-item:has(section[nobackgroundcolor]) + +.umb-block-grid__layout-item section[nobackgroundcolor] { + padding-top: 0; +} + +h1 { + font-size: 60px; + font-weight: 300; + line-height: 0.96; + margin: 0; + margin-bottom: 20px; + color: inherit; +} + +h2 { + font-size: 35px; + font-weight: 300; + line-height: 1.2; + margin: 0; + color: inherit; +} + +/**umb_name:H3*/ +h3 { + font-size: 30px; + font-weight: 300; + line-height: 1.2; + margin:0; + color: inherit; +} + +/**umb_name:H4*/ +h4 { + font-size: 21px; + font-weight: 300; + line-height: 1.2; + margin:0; + color: inherit; +} + + + + + +/** Image */ + +img.image { + object-fit: cover; + height: 100%; + width: 100%; +} + + + + + +/** Rich Text */ + +.rich-text { + font-weight: 300; + color: inherit; + /** Using CSS Calculation, which gives 1 for column spans of 1-11 and 2 for column span of 12. */ + columns: clamp(1, calc(var(--umb-block-grid--item-column-span) - 10), 2); + column-gap: 60px; +} + +.rich-text > p:first-child { + margin-top: 0; +} + +/**umb_name:Lead Paragraph*/ +p.lead-paragraph { + font-size: 18px; +} + + + + +/** Hero */ + +.umb-block-grid__layout-item[data-content-element-type-alias="heroBlock"] .umb-block-grid__area-container, +.umb-block-grid__layout-item[data-content-element-type-alias="heroBlock"] .umb-block-grid__block--view::part(area-container) { + padding: 0; +} + +.hero { + position: relative; + height: 80vh; + width: 100%; + display: flex; + align-items: end; + padding: 60px 0; + box-sizing: border-box; +} +.hero[bright-contrast] { + color: white; + --my-bright-contrast: ; +} + +.hero .hero-background { + position: absolute; + inset: 0; + background-position: 50% 50%; + background-size: cover; +} + +.hero .hero-background:after { + content: ''; + position: absolute; + inset: 0; + background-color: rgba(0,0,0,.22); + pointer-events: none; +} + +.hero .hero-content { + position: relative; + width: 100%; + max-width: var(--my-container-max-width); + padding: var(--my-container-padding); + margin-left: auto; + margin-right: auto; +} + +.hero .hero-content > h1 { + max-width: 14em; +} + + + + +/** Call to action */ + +.call-to-action { + display: inline-block; + --call-to-action--background-color--condition: var(--my-bright-contrast) white; + background-color: var(--call-to-action--background-color--condition, #3544b1); + --call-to-action--text-color--condition: var(--my-bright-contrast) black; + color: var(--call-to-action--text-color--condition, white); + font-weight: 500; + padding: 14px 28px; + margin-top: 10px; + margin-bottom: 10px; + margin-right: auto; + max-width: 180px; + text-decoration: none; +} + + + +/** Inspiration */ + +.inspiration[bright-contrast] { + --my-bright-contrast: ; +} + +.inspiration .area-container { + max-width: var(--my-container-max-width); + padding: var(--my-container-padding); + margin-left: auto; + margin-right: auto; + + display: grid; + grid-template-columns: 1fr 1fr 1fr 1fr; + grid-auto-flow: row; + column-gap: 60px; +} + +.inspiration .left-area { + grid-column-end: span 1; + display: block; + margin-bottom: 60px; +} + +.inspiration .right-area { + grid-column-end: span 1; + display: block; + margin-top: 60px; + margin-right: -120px; + transform: translateX(-120px); +} + +.inspiration .content-area { + grid-column-end: span 2; + display: block; +} + +.umb-block-grid__layout-item[data-content-element-type-alias="inspirationBlock"] .umb-block-grid__area[data-area-alias="leftArea"] { + justify-content: start; +} + +.umb-block-grid__layout-item[data-content-element-type-alias="inspirationBlock"] .umb-block-grid__area[data-area-alias="rightArea"] { + justify-content: end; +} + + + + + + + +/* Card */ + +.card { + display: flex; + flex-direction: column; + height: 100%; + color: black; + background-color: white; +} + +.card .card-media { + position: relative; + width: 100%; + aspect-ratio: 16 / 9; + overflow: hidden; +} + +.card .card-media img { + object-fit: cover; + height: 100%; + width: 100%; +} + +.card .card-content { + display: flex; + flex-direction: column; + gap: 10px; + padding: 20px; + font-weight: 300; +} + +.card .card-content p { + margin: 0; +} + + +.card.--medium { + height: auto; +} + +.card.--medium .card-media::after { + content: ''; + position: absolute; + inset: 0; + background-color: rgba(0,0,0,.22); + pointer-events: none; +} + +.card.--medium .card-content { + position: absolute; + z-index: 1; + bottom: 0; + color: white; +} + +.card.--medium .card-content h4 { + font-size: 30px; +} \ No newline at end of file diff --git a/examples/Umbraco.Community.BlockPreview.NoModelsTestSite/wwwroot/favicon.ico b/examples/Umbraco.Community.BlockPreview.NoModelsTestSite/wwwroot/favicon.ico new file mode 100644 index 00000000..c0749ddf Binary files /dev/null and b/examples/Umbraco.Community.BlockPreview.NoModelsTestSite/wwwroot/favicon.ico differ diff --git a/examples/Umbraco.Community.BlockPreview.NoModelsTestSite/wwwroot/media/2kgnqe01/thomas-griesbeck-bs-uxe8wu5y-unsplash.jpg b/examples/Umbraco.Community.BlockPreview.NoModelsTestSite/wwwroot/media/2kgnqe01/thomas-griesbeck-bs-uxe8wu5y-unsplash.jpg new file mode 100644 index 00000000..982c9c8a Binary files /dev/null and b/examples/Umbraco.Community.BlockPreview.NoModelsTestSite/wwwroot/media/2kgnqe01/thomas-griesbeck-bs-uxe8wu5y-unsplash.jpg differ diff --git a/examples/Umbraco.Community.BlockPreview.NoModelsTestSite/wwwroot/media/4aonipek/hossein-nasr-wr56ynk67uc-unsplash.jpg b/examples/Umbraco.Community.BlockPreview.NoModelsTestSite/wwwroot/media/4aonipek/hossein-nasr-wr56ynk67uc-unsplash.jpg new file mode 100644 index 00000000..ea2f746e Binary files /dev/null and b/examples/Umbraco.Community.BlockPreview.NoModelsTestSite/wwwroot/media/4aonipek/hossein-nasr-wr56ynk67uc-unsplash.jpg differ diff --git a/examples/Umbraco.Community.BlockPreview.NoModelsTestSite/wwwroot/media/5jmfns3r/tiago-alexandre-lopes-5vdftgpwv2g-unsplash.jpg b/examples/Umbraco.Community.BlockPreview.NoModelsTestSite/wwwroot/media/5jmfns3r/tiago-alexandre-lopes-5vdftgpwv2g-unsplash.jpg new file mode 100644 index 00000000..62f4cd74 Binary files /dev/null and b/examples/Umbraco.Community.BlockPreview.NoModelsTestSite/wwwroot/media/5jmfns3r/tiago-alexandre-lopes-5vdftgpwv2g-unsplash.jpg differ diff --git a/examples/Umbraco.Community.BlockPreview.NoModelsTestSite/wwwroot/media/at2pdc3c/geran-de-klerk-qzgn45hsen0-unsplash.jpg b/examples/Umbraco.Community.BlockPreview.NoModelsTestSite/wwwroot/media/at2pdc3c/geran-de-klerk-qzgn45hsen0-unsplash.jpg new file mode 100644 index 00000000..0da56f82 Binary files /dev/null and b/examples/Umbraco.Community.BlockPreview.NoModelsTestSite/wwwroot/media/at2pdc3c/geran-de-klerk-qzgn45hsen0-unsplash.jpg differ diff --git a/examples/Umbraco.Community.BlockPreview.NoModelsTestSite/wwwroot/media/c1ghewgm/casey-horner-wkjiek4qsnk-unsplash.jpg b/examples/Umbraco.Community.BlockPreview.NoModelsTestSite/wwwroot/media/c1ghewgm/casey-horner-wkjiek4qsnk-unsplash.jpg new file mode 100644 index 00000000..06be07f8 Binary files /dev/null and b/examples/Umbraco.Community.BlockPreview.NoModelsTestSite/wwwroot/media/c1ghewgm/casey-horner-wkjiek4qsnk-unsplash.jpg differ diff --git a/examples/Umbraco.Community.BlockPreview.NoModelsTestSite/wwwroot/media/ch1dsasu/ed-259-xcri6cpkkjs-unsplash.jpg b/examples/Umbraco.Community.BlockPreview.NoModelsTestSite/wwwroot/media/ch1dsasu/ed-259-xcri6cpkkjs-unsplash.jpg new file mode 100644 index 00000000..0fce88cf Binary files /dev/null and b/examples/Umbraco.Community.BlockPreview.NoModelsTestSite/wwwroot/media/ch1dsasu/ed-259-xcri6cpkkjs-unsplash.jpg differ diff --git a/examples/Umbraco.Community.BlockPreview.NoModelsTestSite/wwwroot/media/etrps01s/scott-webb-_k-qkkbn7ds-unsplash.jpg b/examples/Umbraco.Community.BlockPreview.NoModelsTestSite/wwwroot/media/etrps01s/scott-webb-_k-qkkbn7ds-unsplash.jpg new file mode 100644 index 00000000..7ab32e4e Binary files /dev/null and b/examples/Umbraco.Community.BlockPreview.NoModelsTestSite/wwwroot/media/etrps01s/scott-webb-_k-qkkbn7ds-unsplash.jpg differ diff --git a/examples/Umbraco.Community.BlockPreview.NoModelsTestSite/wwwroot/media/hsdhddlz/meiying-ng-orwkd-iwgqg-unsplash.jpg b/examples/Umbraco.Community.BlockPreview.NoModelsTestSite/wwwroot/media/hsdhddlz/meiying-ng-orwkd-iwgqg-unsplash.jpg new file mode 100644 index 00000000..a68459bc Binary files /dev/null and b/examples/Umbraco.Community.BlockPreview.NoModelsTestSite/wwwroot/media/hsdhddlz/meiying-ng-orwkd-iwgqg-unsplash.jpg differ diff --git a/examples/Umbraco.Community.BlockPreview.NoModelsTestSite/wwwroot/media/k31oq3tc/hossein-nasr-uj99hdy2mmw-unsplash.jpg b/examples/Umbraco.Community.BlockPreview.NoModelsTestSite/wwwroot/media/k31oq3tc/hossein-nasr-uj99hdy2mmw-unsplash.jpg new file mode 100644 index 00000000..d90897c8 Binary files /dev/null and b/examples/Umbraco.Community.BlockPreview.NoModelsTestSite/wwwroot/media/k31oq3tc/hossein-nasr-uj99hdy2mmw-unsplash.jpg differ diff --git a/examples/Umbraco.Community.BlockPreview.NoModelsTestSite/wwwroot/media/lgsbnjbc/collin-clyne-zsuely56fzu-unsplash.jpg b/examples/Umbraco.Community.BlockPreview.NoModelsTestSite/wwwroot/media/lgsbnjbc/collin-clyne-zsuely56fzu-unsplash.jpg new file mode 100644 index 00000000..efaca8e7 Binary files /dev/null and b/examples/Umbraco.Community.BlockPreview.NoModelsTestSite/wwwroot/media/lgsbnjbc/collin-clyne-zsuely56fzu-unsplash.jpg differ diff --git a/examples/Umbraco.Community.BlockPreview.NoModelsTestSite/wwwroot/media/lsenk53v/jay-mantri-qkfxq3x-ybi-unsplash.jpg b/examples/Umbraco.Community.BlockPreview.NoModelsTestSite/wwwroot/media/lsenk53v/jay-mantri-qkfxq3x-ybi-unsplash.jpg new file mode 100644 index 00000000..9f33732c Binary files /dev/null and b/examples/Umbraco.Community.BlockPreview.NoModelsTestSite/wwwroot/media/lsenk53v/jay-mantri-qkfxq3x-ybi-unsplash.jpg differ diff --git a/examples/Umbraco.Community.BlockPreview.NoModelsTestSite/wwwroot/media/nn1lpby1/yoal-desurmont-jqgsm3b9fpo-unsplash.jpg b/examples/Umbraco.Community.BlockPreview.NoModelsTestSite/wwwroot/media/nn1lpby1/yoal-desurmont-jqgsm3b9fpo-unsplash.jpg new file mode 100644 index 00000000..af625ede Binary files /dev/null and b/examples/Umbraco.Community.BlockPreview.NoModelsTestSite/wwwroot/media/nn1lpby1/yoal-desurmont-jqgsm3b9fpo-unsplash.jpg differ diff --git a/examples/Umbraco.Community.BlockPreview.NoModelsTestSite/wwwroot/media/oaqnjquh/hossein-nasr-vmst7pnoto-unsplash.jpg b/examples/Umbraco.Community.BlockPreview.NoModelsTestSite/wwwroot/media/oaqnjquh/hossein-nasr-vmst7pnoto-unsplash.jpg new file mode 100644 index 00000000..c2fdabae Binary files /dev/null and b/examples/Umbraco.Community.BlockPreview.NoModelsTestSite/wwwroot/media/oaqnjquh/hossein-nasr-vmst7pnoto-unsplash.jpg differ diff --git a/examples/Umbraco.Community.BlockPreview.NoModelsTestSite/wwwroot/media/pjqb4wit/hossein-nasr-vwzdwriw3xu-unsplash.jpg b/examples/Umbraco.Community.BlockPreview.NoModelsTestSite/wwwroot/media/pjqb4wit/hossein-nasr-vwzdwriw3xu-unsplash.jpg new file mode 100644 index 00000000..e38d6070 Binary files /dev/null and b/examples/Umbraco.Community.BlockPreview.NoModelsTestSite/wwwroot/media/pjqb4wit/hossein-nasr-vwzdwriw3xu-unsplash.jpg differ diff --git a/examples/Umbraco.Community.BlockPreview.NoModelsTestSite/wwwroot/media/ravpjeo3/hossein-nasr-2nuu_j3zgke-unsplash.jpg b/examples/Umbraco.Community.BlockPreview.NoModelsTestSite/wwwroot/media/ravpjeo3/hossein-nasr-2nuu_j3zgke-unsplash.jpg new file mode 100644 index 00000000..ad79f3f8 Binary files /dev/null and b/examples/Umbraco.Community.BlockPreview.NoModelsTestSite/wwwroot/media/ravpjeo3/hossein-nasr-2nuu_j3zgke-unsplash.jpg differ diff --git a/examples/Umbraco.Community.BlockPreview.NoModelsTestSite/wwwroot/media/rxehp51j/geran-de-klerk-wjkc3xzjsxw-unsplash.jpg b/examples/Umbraco.Community.BlockPreview.NoModelsTestSite/wwwroot/media/rxehp51j/geran-de-klerk-wjkc3xzjsxw-unsplash.jpg new file mode 100644 index 00000000..74c97528 Binary files /dev/null and b/examples/Umbraco.Community.BlockPreview.NoModelsTestSite/wwwroot/media/rxehp51j/geran-de-klerk-wjkc3xzjsxw-unsplash.jpg differ diff --git a/examples/Umbraco.Community.BlockPreview.NoModelsTestSite/wwwroot/media/vffn4cry/hernan-lucio-gjfvhkuhdsi-unsplash.jpg b/examples/Umbraco.Community.BlockPreview.NoModelsTestSite/wwwroot/media/vffn4cry/hernan-lucio-gjfvhkuhdsi-unsplash.jpg new file mode 100644 index 00000000..fa77f2e5 Binary files /dev/null and b/examples/Umbraco.Community.BlockPreview.NoModelsTestSite/wwwroot/media/vffn4cry/hernan-lucio-gjfvhkuhdsi-unsplash.jpg differ diff --git a/examples/Umbraco.Community.BlockPreview.NoModelsTestSite/wwwroot/media/wi4jgqzj/jay-mantri-tfyi0qox08c-unsplash.jpg b/examples/Umbraco.Community.BlockPreview.NoModelsTestSite/wwwroot/media/wi4jgqzj/jay-mantri-tfyi0qox08c-unsplash.jpg new file mode 100644 index 00000000..3504288f Binary files /dev/null and b/examples/Umbraco.Community.BlockPreview.NoModelsTestSite/wwwroot/media/wi4jgqzj/jay-mantri-tfyi0qox08c-unsplash.jpg differ diff --git a/examples/Umbraco.Community.BlockPreview.NoModelsTestSite/wwwroot/media/xo3oadch/collin-clyne-eg8_h52znw0-unsplash.jpg b/examples/Umbraco.Community.BlockPreview.NoModelsTestSite/wwwroot/media/xo3oadch/collin-clyne-eg8_h52znw0-unsplash.jpg new file mode 100644 index 00000000..a0773872 Binary files /dev/null and b/examples/Umbraco.Community.BlockPreview.NoModelsTestSite/wwwroot/media/xo3oadch/collin-clyne-eg8_h52znw0-unsplash.jpg differ diff --git a/examples/Umbraco.Community.BlockPreview.NoModelsTestSite/wwwroot/media/yo2fodpb/bosco-shots-slr66yjpsoi-unsplash.jpg b/examples/Umbraco.Community.BlockPreview.NoModelsTestSite/wwwroot/media/yo2fodpb/bosco-shots-slr66yjpsoi-unsplash.jpg new file mode 100644 index 00000000..2efcd422 Binary files /dev/null and b/examples/Umbraco.Community.BlockPreview.NoModelsTestSite/wwwroot/media/yo2fodpb/bosco-shots-slr66yjpsoi-unsplash.jpg differ diff --git a/examples/Umbraco.Community.BlockPreview.NoModelsTestSite/wwwroot/media/yrtkazin/merve-sehirli-nasir-r_slzigonz4-unsplash.jpg b/examples/Umbraco.Community.BlockPreview.NoModelsTestSite/wwwroot/media/yrtkazin/merve-sehirli-nasir-r_slzigonz4-unsplash.jpg new file mode 100644 index 00000000..55ac23e8 Binary files /dev/null and b/examples/Umbraco.Community.BlockPreview.NoModelsTestSite/wwwroot/media/yrtkazin/merve-sehirli-nasir-r_slzigonz4-unsplash.jpg differ diff --git a/examples/Umbraco.Community.BlockPreview.NoModelsTestSite/wwwroot/media/zmenzklu/simone-hutsch-l8fyk9rs-ou-unsplash.jpg b/examples/Umbraco.Community.BlockPreview.NoModelsTestSite/wwwroot/media/zmenzklu/simone-hutsch-l8fyk9rs-ou-unsplash.jpg new file mode 100644 index 00000000..030aa5f9 Binary files /dev/null and b/examples/Umbraco.Community.BlockPreview.NoModelsTestSite/wwwroot/media/zmenzklu/simone-hutsch-l8fyk9rs-ou-unsplash.jpg differ diff --git a/examples/Umbraco.Community.BlockPreview.NoModelsTestSite/wwwroot/media/zxelh4yi/grant-ritchie-fbkrqhnlqoy-unsplash.jpg b/examples/Umbraco.Community.BlockPreview.NoModelsTestSite/wwwroot/media/zxelh4yi/grant-ritchie-fbkrqhnlqoy-unsplash.jpg new file mode 100644 index 00000000..57c6edaa Binary files /dev/null and b/examples/Umbraco.Community.BlockPreview.NoModelsTestSite/wwwroot/media/zxelh4yi/grant-ritchie-fbkrqhnlqoy-unsplash.jpg differ diff --git a/src/Umbraco.Community.BlockPreview/Constants.cs b/src/Umbraco.Community.BlockPreview/Constants.cs index 510a0bf6..e5aec2b8 100644 --- a/src/Umbraco.Community.BlockPreview/Constants.cs +++ b/src/Umbraco.Community.BlockPreview/Constants.cs @@ -70,6 +70,7 @@ public static partial class ErrorMessages /// /// Error message for missing ModelsBuilder models. /// + [Obsolete("No longer used. BlockPreview now works without generated models on disk.")] public const string ModelsBuilderError = "Strongly typed models must be generated and exist on disk for BlockPreview to work."; /// @@ -90,7 +91,7 @@ public static partial class ErrorMessages /// /// Error message when ModelsBuilder is not configured to generate models. /// - public const string ModelsNotConfigured = "BlockPreview requires strongly-typed models. Please configure ModelsBuilder with SourceCodeAuto or SourceCodeManual mode."; + public const string ModelsNotConfigured = "The content type could not be resolved. Ensure the element type is correctly configured."; /// /// Error message for invalid block data. @@ -161,8 +162,9 @@ public static partial class CacheKeys /// /// Cache key for generated models. /// + [Obsolete("No longer used. BlockPreview now works without generated models on disk.")] public const string GeneratedModels = "BlockPreview_GeneratedModels"; - + /// /// Cache key template for block type. /// diff --git a/src/Umbraco.Community.BlockPreview/Controllers/BlockPreviewApiController.cs b/src/Umbraco.Community.BlockPreview/Controllers/BlockPreviewApiController.cs index aa4e8cc7..e6f2bb53 100644 --- a/src/Umbraco.Community.BlockPreview/Controllers/BlockPreviewApiController.cs +++ b/src/Umbraco.Community.BlockPreview/Controllers/BlockPreviewApiController.cs @@ -6,10 +6,10 @@ using Microsoft.Extensions.DependencyInjection; using Microsoft.Extensions.Logging; using Microsoft.Extensions.Options; -using Umbraco.Cms.Api.Management.Routing; using Umbraco.Cms.Core.Cache; using Umbraco.Cms.Core.Composing; using Umbraco.Cms.Core.DependencyInjection; +using Umbraco.Cms.Core.Models; using Umbraco.Cms.Core.Models.PublishedContent; using Umbraco.Cms.Core.PublishedCache; using Umbraco.Cms.Core.Routing; @@ -39,12 +39,12 @@ public class BlockPreviewApiController : BlockPreviewApiControllerBase private readonly ILanguageService _languageService; private readonly IOptions _blockPreviewSettings; private readonly IAppPolicyCache _runtimeCache; - private readonly ITypeFinder _typeFinder; private readonly IDocumentCacheService _documentCacheService; private readonly IPublishedContentTypeCache _contentTypeCache; private readonly IScopeProvider _scopeProvider; private readonly IBlockPreviewRequestEnricher _requestEnricher; private readonly IBlockPreviewResponseEnricher _responseEnricher; + private readonly IContentService _contentService; private static readonly TimeSpan CacheDuration = TimeSpan.FromHours(1); @@ -60,14 +60,14 @@ public BlockPreviewApiController( IBlockPreviewService blockPreviewService, ILanguageService languageService, IOptions blockPreviewSettings, - ITypeFinder typeFinder, AppCaches appCaches, IElementsCache elementsCache, IDocumentCacheService documentCacheService, IPublishedContentTypeCache contentTypeCache, IScopeProvider scopeProvider, IBlockPreviewRequestEnricher requestEnricher, - IBlockPreviewResponseEnricher responseEnricher) + IBlockPreviewResponseEnricher responseEnricher, + IContentService contentService) { _publishedRouter = publishedRouter; _logger = logger; @@ -76,13 +76,13 @@ public BlockPreviewApiController( _blockPreviewService = blockPreviewService; _languageService = languageService; _blockPreviewSettings = blockPreviewSettings; - _typeFinder = typeFinder; _runtimeCache = appCaches.RuntimeCache; _documentCacheService = documentCacheService; _contentTypeCache = contentTypeCache; _scopeProvider = scopeProvider; _requestEnricher = requestEnricher; _responseEnricher = responseEnricher; + _contentService = contentService; } /// @@ -112,14 +112,14 @@ public BlockPreviewApiController( blockPreviewService, languageService, blockPreviewSettings, - typeFinder, appCaches, elementsCache, documentCacheService, contentTypeCache, scopeProvider, requestEnricher, - StaticServiceProvider.Instance.GetRequiredService()) + StaticServiceProvider.Instance.GetRequiredService(), + StaticServiceProvider.Instance.GetRequiredService()) { } @@ -153,32 +153,24 @@ public async Task PreviewGridBlock( { string markup; - if (CheckGeneratedModelsExist()) + try { - try - { - IPublishedContent? content = GetPublishedContent(nodeKey, documentTypeUnique); + IPublishedContent? content = await GetPublishedContent(nodeKey, documentTypeUnique); - string? currentCulture = await GetCurrentCulture(culture, content); + string? currentCulture = await GetCurrentCulture(culture, content); - await SetupPublishedRequest(currentCulture, content); + await SetupPublishedRequest(currentCulture, content); - await _requestEnricher.EnrichAsync(HttpContext, content, blockEditorAlias, contentElementAlias, contentUdi, settingsUdi, blockIndex); + await _requestEnricher.EnrichAsync(HttpContext, content, blockEditorAlias, contentElementAlias, contentUdi, settingsUdi, blockIndex); - markup = await _blockPreviewService.RenderGridBlock(blockData, content!, ControllerContext, blockEditorAlias, documentTypeUnique, contentUdi, settingsUdi, blockIndex); + markup = await _blockPreviewService.RenderGridBlock(blockData, content!, ControllerContext, blockEditorAlias, documentTypeUnique, contentUdi, settingsUdi, blockIndex); - markup = await _responseEnricher.EnrichAsync(markup, HttpContext, content, blockEditorAlias, contentElementAlias, contentUdi, settingsUdi, blockIndex); - } - catch (Exception ex) - { - markup = string.Format(Constants.ErrorMessages.ErrorTemplate, string.Format(Constants.ErrorMessages.RenderError, ex.Message)); - _logger.LogError(ex, string.Format(Constants.ErrorMessages.LoggerError, contentElementAlias)); - } + markup = await _responseEnricher.EnrichAsync(markup, HttpContext, content, blockEditorAlias, contentElementAlias, contentUdi, settingsUdi, blockIndex); } - - else + catch (Exception ex) { - markup = string.Format(Constants.ErrorMessages.WarningTemplate, Constants.ErrorMessages.ModelsBuilderError); + markup = string.Format(Constants.ErrorMessages.ErrorTemplate, string.Format(Constants.ErrorMessages.RenderError, ex.Message)); + _logger.LogError(ex, string.Format(Constants.ErrorMessages.LoggerError, contentElementAlias)); } string? cleanMarkup = CleanUpMarkup(markup); @@ -214,32 +206,24 @@ public async Task PreviewListBlock( { string markup; - if (CheckGeneratedModelsExist()) + try { - try - { - IPublishedContent? content = GetPublishedContent(nodeKey, documentTypeUnique); + IPublishedContent? content = await GetPublishedContent(nodeKey, documentTypeUnique); - string? currentCulture = await GetCurrentCulture(culture, content); + string? currentCulture = await GetCurrentCulture(culture, content); - await SetupPublishedRequest(currentCulture, content); + await SetupPublishedRequest(currentCulture, content); - await _requestEnricher.EnrichAsync(HttpContext, content, blockEditorAlias, contentElementAlias, contentUdi, settingsUdi, blockIndex); + await _requestEnricher.EnrichAsync(HttpContext, content, blockEditorAlias, contentElementAlias, contentUdi, settingsUdi, blockIndex); - markup = await _blockPreviewService.RenderListBlock(blockData, content!, ControllerContext, blockEditorAlias, documentTypeUnique, contentUdi, settingsUdi, blockIndex); + markup = await _blockPreviewService.RenderListBlock(blockData, content!, ControllerContext, blockEditorAlias, documentTypeUnique, contentUdi, settingsUdi, blockIndex); - markup = await _responseEnricher.EnrichAsync(markup, HttpContext, content, blockEditorAlias, contentElementAlias, contentUdi, settingsUdi, blockIndex); - } - catch (Exception ex) - { - markup = string.Format(Constants.ErrorMessages.ErrorTemplate, string.Format(Constants.ErrorMessages.RenderError, ex.Message)); - _logger.LogError(ex, string.Format(Constants.ErrorMessages.LoggerError, contentElementAlias)); - } + markup = await _responseEnricher.EnrichAsync(markup, HttpContext, content, blockEditorAlias, contentElementAlias, contentUdi, settingsUdi, blockIndex); } - - else + catch (Exception ex) { - markup = string.Format(Constants.ErrorMessages.WarningTemplate, Constants.ErrorMessages.ModelsBuilderError); + markup = string.Format(Constants.ErrorMessages.ErrorTemplate, string.Format(Constants.ErrorMessages.RenderError, ex.Message)); + _logger.LogError(ex, string.Format(Constants.ErrorMessages.LoggerError, contentElementAlias)); } string? cleanMarkup = CleanUpMarkup(markup); @@ -269,32 +253,24 @@ public async Task PreviewRichTextMarkup( { string markup; - if (CheckGeneratedModelsExist()) + try { - try - { - IPublishedContent? content = GetPublishedContent(nodeKey, documentTypeUnique); + IPublishedContent? content = await GetPublishedContent(nodeKey, documentTypeUnique); - string? currentCulture = await GetCurrentCulture(culture, content); + string? currentCulture = await GetCurrentCulture(culture, content); - await SetupPublishedRequest(currentCulture, content); + await SetupPublishedRequest(currentCulture, content); - await _requestEnricher.EnrichAsync(HttpContext, content, blockEditorAlias, contentElementAlias); + await _requestEnricher.EnrichAsync(HttpContext, content, blockEditorAlias, contentElementAlias); - markup = await _blockPreviewService.RenderRichTextBlock(blockData, content!, ControllerContext); + markup = await _blockPreviewService.RenderRichTextBlock(blockData, content!, ControllerContext); - markup = await _responseEnricher.EnrichAsync(markup, HttpContext, content, blockEditorAlias, contentElementAlias); - } - catch (Exception ex) - { - markup = string.Format(Constants.ErrorMessages.ErrorTemplate, string.Format(Constants.ErrorMessages.RenderError, ex.Message)); - _logger.LogError(ex, string.Format(Constants.ErrorMessages.LoggerError, contentElementAlias)); - } + markup = await _responseEnricher.EnrichAsync(markup, HttpContext, content, blockEditorAlias, contentElementAlias); } - - else + catch (Exception ex) { - markup = string.Format(Constants.ErrorMessages.WarningTemplate, Constants.ErrorMessages.ModelsBuilderError); + markup = string.Format(Constants.ErrorMessages.ErrorTemplate, string.Format(Constants.ErrorMessages.RenderError, ex.Message)); + _logger.LogError(ex, string.Format(Constants.ErrorMessages.LoggerError, contentElementAlias)); } string? cleanMarkup = CleanUpMarkup(markup); @@ -377,7 +353,7 @@ public async Task GetGridStylesheet( [FromQuery] Guid nodeKey = default, [FromQuery] Guid documentTypeUnique = default) { - IPublishedContent? content = GetPublishedContent(nodeKey, documentTypeUnique); + IPublishedContent? content = await GetPublishedContent(nodeKey, documentTypeUnique); await _requestEnricher.EnrichAsync(HttpContext, content); @@ -404,7 +380,7 @@ public async Task GetGridStylesheets( [FromQuery] Guid nodeKey = default, [FromQuery] Guid documentTypeUnique = default) { - IPublishedContent? content = GetPublishedContent(nodeKey, documentTypeUnique); + IPublishedContent? content = await GetPublishedContent(nodeKey, documentTypeUnique); await _requestEnricher.EnrichAsync(HttpContext, content); @@ -426,7 +402,7 @@ public async Task GetListStylesheet( [FromQuery] Guid nodeKey = default, [FromQuery] Guid documentTypeUnique = default) { - IPublishedContent? content = GetPublishedContent(nodeKey, documentTypeUnique); + IPublishedContent? content = await GetPublishedContent(nodeKey, documentTypeUnique); await _requestEnricher.EnrichAsync(HttpContext, content); @@ -453,7 +429,7 @@ public async Task GetListStylesheets( [FromQuery] Guid nodeKey = default, [FromQuery] Guid documentTypeUnique = default) { - IPublishedContent? content = GetPublishedContent(nodeKey, documentTypeUnique); + IPublishedContent? content = await GetPublishedContent(nodeKey, documentTypeUnique); await _requestEnricher.EnrichAsync(HttpContext, content); @@ -475,7 +451,7 @@ public async Task GetRteStylesheet( [FromQuery] Guid nodeKey = default, [FromQuery] Guid documentTypeUnique = default) { - IPublishedContent? content = GetPublishedContent(nodeKey, documentTypeUnique); + IPublishedContent? content = await GetPublishedContent(nodeKey, documentTypeUnique); await _requestEnricher.EnrichAsync(HttpContext, content); @@ -502,7 +478,7 @@ public async Task GetRteStylesheets( [FromQuery] Guid nodeKey = default, [FromQuery] Guid documentTypeUnique = default) { - IPublishedContent? content = GetPublishedContent(nodeKey, documentTypeUnique); + IPublishedContent? content = await GetPublishedContent(nodeKey, documentTypeUnique); await _requestEnricher.EnrichAsync(HttpContext, content); @@ -513,14 +489,6 @@ public async Task GetRteStylesheets( #endregion #region Private - private bool CheckGeneratedModelsExist() - { - return _runtimeCache.GetCacheItem(Constants.CacheKeys.GeneratedModels, () => - { - return _typeFinder.FindClassesWithAttribute().Any(); - }, CacheDuration); - } - private async Task GetCurrentCulture(string? culture, IPublishedContent? content = null) { var currentCulture = string.IsNullOrWhiteSpace(culture) || culture == "undefined" @@ -559,7 +527,7 @@ private async Task SetupPublishedRequest(string? culture, IPublishedContent? con context.PublishedRequest = requestBuilder.Build(); } - private IPublishedContent? GetPublishedContent(Guid? nodeKey = default, Guid? documentTypeUnique = default) + private async Task GetPublishedContent(Guid? nodeKey = default, Guid? documentTypeUnique = default) { if (!_umbracoContextAccessor.TryGetUmbracoContext(out IUmbracoContext? context)) return null; @@ -568,13 +536,31 @@ private async Task SetupPublishedRequest(string? culture, IPublishedContent? con if (nodeKey.HasValue) { - content = context.Content?.GetById(preview: true, nodeKey.GetValueOrDefault()); + content = context.Content?.GetById(preview: true, nodeKey.GetValueOrDefault()); } var contentCacheKey = string.Format(Constants.CacheKeys.Content, nodeKey); if (content != null) return content; + // Check if the nodeKey belongs to a Document Blueprint (Template). + // Blueprints are not in the published content cache, so we seed them + // into the document cache to make them available as IPublishedContent. + if (nodeKey.HasValue && nodeKey.Value != Guid.Empty) + { + IContent? blueprint = _contentService.GetBlueprintById(nodeKey.Value); + if (blueprint != null) + { + await _documentCacheService.RefreshContentAsync(blueprint); + content = await _documentCacheService.GetByKeyAsync(nodeKey.Value, preview: true); + if (content != null) + { + _logger.LogDebug("Resolved Document Blueprint {NodeKey} as published content for block preview", nodeKey.Value); + return content; + } + } + } + var publishedContentType = _contentTypeCache.Get(PublishedItemType.Content, documentTypeUnique.GetValueOrDefault()); if (publishedContentType == null) diff --git a/src/Umbraco.Community.BlockPreview/Services/BlockModelFactory.cs b/src/Umbraco.Community.BlockPreview/Services/BlockModelFactory.cs index dd52c69a..b4988673 100644 --- a/src/Umbraco.Community.BlockPreview/Services/BlockModelFactory.cs +++ b/src/Umbraco.Community.BlockPreview/Services/BlockModelFactory.cs @@ -69,8 +69,14 @@ public object CreateModel(Type modelType, IPublishedElement element) if (contentType == null || contentElement == null) return null; + // No typed models available — use base block item types directly + if (contentType == typeof(IPublishedElement)) + { + return CreateUntypedBlockItem(blockType, contentKey, contentElement, settingsKey, settingsElement); + } + var contentInstance = CreateModel(contentType, contentElement); - var settingsInstance = settingsType != null && settingsElement != null + var settingsInstance = settingsType != null && settingsType != typeof(IPublishedElement) && settingsElement != null ? CreateModel(settingsType, settingsElement) : null; @@ -78,12 +84,28 @@ public object CreateModel(Type modelType, IPublishedElement element) blockType, contentType, contentInstance, - settingsType, + settingsType != typeof(IPublishedElement) ? settingsType : null, settingsInstance, contentKey, settingsKey); } + private static object CreateUntypedBlockItem( + BlockType blockType, + Guid contentKey, + IPublishedElement content, + Guid? settingsKey, + IPublishedElement? settings) + { + return blockType switch + { + BlockType.BlockGrid => new BlockGridItem(contentKey, content, settingsKey, settings), + BlockType.BlockList => new BlockListItem(contentKey, content, settingsKey, settings), + BlockType.RichText => new RichTextBlockItem(contentKey, content, settingsKey, settings), + _ => throw new ArgumentOutOfRangeException(nameof(blockType), blockType, "Unknown block type") + }; + } + private static Type CreateBlockItemType(BlockType blockType, Type contentType, Type? settingsType) { return (blockType, settingsType) switch diff --git a/src/Umbraco.Community.BlockPreview/Services/BlockPreviewService.cs b/src/Umbraco.Community.BlockPreview/Services/BlockPreviewService.cs index ae4c26ab..239e6316 100644 --- a/src/Umbraco.Community.BlockPreview/Services/BlockPreviewService.cs +++ b/src/Umbraco.Community.BlockPreview/Services/BlockPreviewService.cs @@ -485,10 +485,7 @@ public virtual Task> GetStylesheetPaths(BlockType blockTyp if (contentType == null) return null; - var type = _blockEditorConverter.GetModelType(contentType.Key); - - // GetModelType returns typeof(IPublishedElement) when no model exists - return type == typeof(IPublishedElement) ? null : type; + return _blockEditorConverter.GetModelType(contentType.Key); } private string GetNoModelsErrorMessage() diff --git a/tests/Umbraco.Community.BlockPreview.Tests/Services/BlockModelFactoryTests.cs b/tests/Umbraco.Community.BlockPreview.Tests/Services/BlockModelFactoryTests.cs index 82990fa1..c7743aec 100644 --- a/tests/Umbraco.Community.BlockPreview.Tests/Services/BlockModelFactoryTests.cs +++ b/tests/Umbraco.Community.BlockPreview.Tests/Services/BlockModelFactoryTests.cs @@ -218,6 +218,70 @@ public void CreateBlockInstance_RichText_ReturnsRichTextBlockItem() #endregion + #region CreateBlockInstance Untyped Fallback Tests + + [TestCase(BlockType.BlockList)] + [TestCase(BlockType.BlockGrid)] + [TestCase(BlockType.RichText)] + public void CreateBlockInstance_WithIPublishedElementType_ReturnsBaseBlockItem(BlockType blockType) + { + // Arrange + var elementMock = CreateMockElement("testAlias"); + var contentKey = Guid.NewGuid(); + + // Act + var result = _factory.CreateBlockInstance( + blockType, + contentType: typeof(IPublishedElement), + contentElement: elementMock.Object, + settingsType: null, + settingsElement: null, + contentKey: contentKey, + settingsKey: null); + + // Assert + Assert.That(result, Is.Not.Null); + + var expectedType = blockType switch + { + BlockType.BlockGrid => typeof(BlockGridItem), + BlockType.BlockList => typeof(BlockListItem), + BlockType.RichText => typeof(RichTextBlockItem), + _ => throw new ArgumentOutOfRangeException() + }; + + Assert.That(result!.GetType(), Is.EqualTo(expectedType)); + } + + [Test] + public void CreateBlockInstance_WithIPublishedElementType_PassesContentAndSettings() + { + // Arrange + var contentElementMock = CreateMockElement("contentAlias"); + var settingsElementMock = CreateMockElement("settingsAlias"); + var contentKey = Guid.NewGuid(); + var settingsKey = Guid.NewGuid(); + + // Act + var result = _factory.CreateBlockInstance( + BlockType.BlockList, + contentType: typeof(IPublishedElement), + contentElement: contentElementMock.Object, + settingsType: typeof(IPublishedElement), + settingsElement: settingsElementMock.Object, + contentKey: contentKey, + settingsKey: settingsKey) as BlockListItem; + + // Assert + Assert.That(result, Is.Not.Null); + Assert.That(result!.Content, Is.SameAs(contentElementMock.Object)); + Assert.That(result.Settings, Is.SameAs(settingsElementMock.Object)); + Assert.That(result.ContentKey, Is.EqualTo(contentKey)); + Assert.That(result.SettingsKey, Is.EqualTo(settingsKey)); + } + + #endregion + #region CreateBlockItem Type Selection Tests [TestCase(BlockType.BlockGrid)]