From 587e9707ee14d0e06155c46e209fd66efe176668 Mon Sep 17 00:00:00 2001 From: Callum Whyte Date: Tue, 1 Mar 2022 15:11:37 +0000 Subject: [PATCH] Release 3.0.0 --- CHANGELOG.md | 11 ++++- README.md | 2 +- .../Composing/MeganavComposer.cs | 18 +++++++ .../LegacyDataTypeChangingHandler.cs | 37 +++++++++++++++ .../Migrations/LegacyMigrationComponent.cs | 47 ------------------- .../Migrations/LegacyMigrationComposer.cs | 14 +++--- .../Migrations/LegacyValueMigrator.cs | 23 ++++----- .../Models/IMeganavEntity.cs | 2 +- .../Models/IMeganavItem.cs | 2 +- .../Models/MeganavEntity.cs | 2 +- src/Our.Umbraco.Meganav/Models/MeganavItem.cs | 2 +- .../Our.Umbraco.Meganav.csproj | 7 +-- .../PropertyEditors/MeganavConfiguration.cs | 2 +- .../MeganavConfigurationEditor.cs | 8 +++- .../PropertyEditors/MeganavPropertyEditor.cs | 18 +++---- .../PropertyEditors/MeganavValueEditor.cs | 30 +++++++----- .../PublishedContent/PublishedElement.cs | 2 +- .../PublishedElementFactory.cs | 2 +- .../PublishedElementProperty.cs | 4 +- .../Startup/MeganavComposer.cs | 18 ------- .../ValueConverters/MeganavValueConverter.cs | 46 +++++++++--------- .../MeganavValueReferenceFactory.cs | 4 +- .../UI/App_Plugins/Meganav/package.manifest | 2 +- src/build/Our.Umbraco.Meganav.targets | 23 +++++++++ 24 files changed, 183 insertions(+), 143 deletions(-) create mode 100644 src/Our.Umbraco.Meganav/Composing/MeganavComposer.cs create mode 100644 src/Our.Umbraco.Meganav/Migrations/LegacyDataTypeChangingHandler.cs delete mode 100644 src/Our.Umbraco.Meganav/Migrations/LegacyMigrationComponent.cs delete mode 100644 src/Our.Umbraco.Meganav/Startup/MeganavComposer.cs create mode 100644 src/build/Our.Umbraco.Meganav.targets diff --git a/CHANGELOG.md b/CHANGELOG.md index e12152d..7535e77 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -4,6 +4,14 @@ All notable changes to this project will be documented in this file. The format is based on [Keep a Changelog](https://keepachangelog.com/) and this project adheres to [Semantic Versioning](https://semver.org/). +## [3.0.0] - 2022-03-01 +### Added +* Initial release of Meganav for Umbraco 9+ +* Ability to create item types with Element Type settings, custom views, and permissions +* Ability to toggle the visibility of nav items +* Actions to expand / collapse Meganav, and populate with all nodes from the tree +* UI overhaul with improved accessibility + ## [2.0.0] - 2022-03-01 ### Added * Initial release of Meganav for Umbraco 8.7+ @@ -46,7 +54,8 @@ The format is based on [Keep a Changelog](https://keepachangelog.com/) and this ### Added * Initial release of Meganav for Umbraco 7.5 -[Unreleased]: https://github.com/callumbwhyte/meganav/compare/release-2.0.0...HEAD +[Unreleased]: https://github.com/callumbwhyte/meganav/compare/release-3.0.0...HEAD +[3.0.0]: https://github.com/callumbwhyte/meganav/compare/release-2.0.0...release-3.0.0 [2.0.0]: https://github.com/callumbwhyte/meganav/tree/release-2.0.0 [1.1.2]: https://github.com/callumbwhyte/meganav/compare/release-1.1.1...release-1.1.2 [1.1.1]: https://github.com/callumbwhyte/meganav/compare/release-1.1.0...release-1.1.1 diff --git a/README.md b/README.md index e318a14..fb5c0f2 100644 --- a/README.md +++ b/README.md @@ -11,7 +11,7 @@ Click and drag an item to change it's position within the navigation; drop it wh ## Getting started -This package is supported on Umbraco 8.7+. +This package is supported on Umbraco 9+. ### Installation diff --git a/src/Our.Umbraco.Meganav/Composing/MeganavComposer.cs b/src/Our.Umbraco.Meganav/Composing/MeganavComposer.cs new file mode 100644 index 0000000..e720611 --- /dev/null +++ b/src/Our.Umbraco.Meganav/Composing/MeganavComposer.cs @@ -0,0 +1,18 @@ +using Microsoft.Extensions.DependencyInjection; +using Our.Umbraco.Meganav.PublishedContent; +using Our.Umbraco.Meganav.ValueReferences; +using Umbraco.Cms.Core.Composing; +using Umbraco.Cms.Core.DependencyInjection; + +namespace Our.Umbraco.Meganav.Composing +{ + public class MeganavComposer : IComposer + { + public void Compose(IUmbracoBuilder builder) + { + builder.Services.AddTransient(); + + builder.DataValueReferenceFactories().Append(); + } + } +} \ No newline at end of file diff --git a/src/Our.Umbraco.Meganav/Migrations/LegacyDataTypeChangingHandler.cs b/src/Our.Umbraco.Meganav/Migrations/LegacyDataTypeChangingHandler.cs new file mode 100644 index 0000000..62914ec --- /dev/null +++ b/src/Our.Umbraco.Meganav/Migrations/LegacyDataTypeChangingHandler.cs @@ -0,0 +1,37 @@ +using System.Linq; +using Umbraco.Cms.Core.Events; +using Umbraco.Cms.Core.Notifications; +using Umbraco.Cms.Core.Services; +using Umbraco.Extensions; + +namespace Our.Umbraco.Meganav.Migrations +{ + internal class LegacyDataTypeChangingHandler : INotificationHandler + { + private readonly IDataTypeService _dataTypeService; + private readonly LegacyValueMigrator _legacyValueMigrator; + + public LegacyDataTypeChangingHandler(IDataTypeService dataTypeService, LegacyValueMigrator legacyValueMigrator) + { + _dataTypeService = dataTypeService; + _legacyValueMigrator = legacyValueMigrator; + } + + public void Handle(DataTypeSavingNotification notification) + { + var dataTypes = notification.SavedEntities + .Where(x => x.EditorAlias == Constants.PropertyEditorAlias) + .Where(x => + { + var existingEntity = _dataTypeService.GetDataType(x.Id); + + return existingEntity != null && LegacyEditors.Aliases.Any(existingEntity.EditorAlias.InvariantContains); + }); + + foreach (var dataType in dataTypes) + { + _legacyValueMigrator.MigrateContentValues(dataType); + } + } + } +} \ No newline at end of file diff --git a/src/Our.Umbraco.Meganav/Migrations/LegacyMigrationComponent.cs b/src/Our.Umbraco.Meganav/Migrations/LegacyMigrationComponent.cs deleted file mode 100644 index dcdf4c8..0000000 --- a/src/Our.Umbraco.Meganav/Migrations/LegacyMigrationComponent.cs +++ /dev/null @@ -1,47 +0,0 @@ -using System.Linq; -using Umbraco.Core; -using Umbraco.Core.Composing; -using Umbraco.Core.Events; -using Umbraco.Core.Models; -using Umbraco.Core.Services; -using Umbraco.Core.Services.Implement; - -namespace Our.Umbraco.Meganav.Migrations -{ - internal class LegacyMigrationComponent : IComponent - { - private readonly LegacyValueMigrator _legacyValueMigrator; - - public LegacyMigrationComponent(LegacyValueMigrator legacyValueMigrator) - { - _legacyValueMigrator = legacyValueMigrator; - } - - public void Initialize() - { - DataTypeService.Saving += DataTypeService_Saving; - } - - public void Terminate() - { - DataTypeService.Saving -= DataTypeService_Saving; - } - - private void DataTypeService_Saving(IDataTypeService sender, SaveEventArgs e) - { - var dataTypes = e.SavedEntities - .Where(x => x.EditorAlias == Constants.PropertyEditorAlias) - .Where(x => - { - var existingEntity = sender.GetDataType(x.Id); - - return existingEntity != null && LegacyEditors.Aliases.Any(existingEntity.EditorAlias.InvariantContains); - }); - - foreach (var dataType in dataTypes) - { - _legacyValueMigrator.MigrateContentValues(dataType); - } - } - } -} \ No newline at end of file diff --git a/src/Our.Umbraco.Meganav/Migrations/LegacyMigrationComposer.cs b/src/Our.Umbraco.Meganav/Migrations/LegacyMigrationComposer.cs index f19b83b..d4df535 100644 --- a/src/Our.Umbraco.Meganav/Migrations/LegacyMigrationComposer.cs +++ b/src/Our.Umbraco.Meganav/Migrations/LegacyMigrationComposer.cs @@ -1,15 +1,17 @@ -using Umbraco.Core; -using Umbraco.Core.Composing; +using Microsoft.Extensions.DependencyInjection; +using Umbraco.Cms.Core.Composing; +using Umbraco.Cms.Core.DependencyInjection; +using Umbraco.Cms.Core.Notifications; namespace Our.Umbraco.Meganav.Migrations { - public class LegacyMigrationComposer : IUserComposer + public class LegacyMigrationComposer : IComposer { - public void Compose(Composition composition) + public void Compose(IUmbracoBuilder builder) { - composition.Register(); + builder.Services.AddTransient(); - composition.Components().Append(); + builder.AddNotificationHandler(); } } } \ No newline at end of file diff --git a/src/Our.Umbraco.Meganav/Migrations/LegacyValueMigrator.cs b/src/Our.Umbraco.Meganav/Migrations/LegacyValueMigrator.cs index ebae758..2eea869 100644 --- a/src/Our.Umbraco.Meganav/Migrations/LegacyValueMigrator.cs +++ b/src/Our.Umbraco.Meganav/Migrations/LegacyValueMigrator.cs @@ -1,13 +1,14 @@ using System; using System.Collections.Generic; using System.Linq; +using Microsoft.Extensions.Logging; using Newtonsoft.Json; using Newtonsoft.Json.Linq; using Our.Umbraco.Meganav.Models; -using Umbraco.Core; -using Umbraco.Core.Logging; -using Umbraco.Core.Models; -using Umbraco.Core.Services; +using Umbraco.Cms.Core; +using Umbraco.Cms.Core.Models; +using Umbraco.Cms.Core.Services; +using Umbraco.Extensions; namespace Our.Umbraco.Meganav.Migrations { @@ -15,9 +16,9 @@ internal class LegacyValueMigrator { private readonly IContentTypeService _contentTypeService; private readonly IContentService _contentService; - private readonly ILogger _logger; + private readonly ILogger _logger; - public LegacyValueMigrator(IContentTypeService contentTypeService, IContentService contentService, ILogger logger) + public LegacyValueMigrator(IContentTypeService contentTypeService, IContentService contentService, ILogger logger) { _contentTypeService = contentTypeService; _contentService = contentService; @@ -64,7 +65,7 @@ public void MigrateContentValues(IEnumerable contentItems, string[] pr } catch (Exception ex) { - _logger.Error(ex, "Failed to migrate Meganav values for {alias} on content {id}", property.Alias, content.Id); + _logger.LogError(ex, "Failed to migrate Meganav values for {alias} on content {id}", property.Alias, content.Id); } } } @@ -98,12 +99,12 @@ private IEnumerable ConvertToEntity(object value) var id = item.Value("id"); - GuidUdi.TryParse(item.Value("udi"), out GuidUdi udi); + UdiParser.TryParse(item.Value("udi"), out Udi udi); - if (id > 0 || udi?.Guid != Guid.Empty) + if (id > 0 || udi != null) { - var contentItem = udi != null - ? _contentService.GetById(udi.Guid) + var contentItem = udi is GuidUdi guidUdi + ? _contentService.GetById(guidUdi.Guid) : _contentService.GetById(id); if (contentItem != null) diff --git a/src/Our.Umbraco.Meganav/Models/IMeganavEntity.cs b/src/Our.Umbraco.Meganav/Models/IMeganavEntity.cs index 85682fd..f373f3e 100644 --- a/src/Our.Umbraco.Meganav/Models/IMeganavEntity.cs +++ b/src/Our.Umbraco.Meganav/Models/IMeganavEntity.cs @@ -1,6 +1,6 @@ using System; using System.Collections.Generic; -using Umbraco.Core; +using Umbraco.Cms.Core; namespace Our.Umbraco.Meganav.Models { diff --git a/src/Our.Umbraco.Meganav/Models/IMeganavItem.cs b/src/Our.Umbraco.Meganav/Models/IMeganavItem.cs index 467e0d6..a8a8327 100644 --- a/src/Our.Umbraco.Meganav/Models/IMeganavItem.cs +++ b/src/Our.Umbraco.Meganav/Models/IMeganavItem.cs @@ -1,5 +1,5 @@ using System.Collections.Generic; -using Umbraco.Core.Models.PublishedContent; +using Umbraco.Cms.Core.Models.PublishedContent; namespace Our.Umbraco.Meganav.Models { diff --git a/src/Our.Umbraco.Meganav/Models/MeganavEntity.cs b/src/Our.Umbraco.Meganav/Models/MeganavEntity.cs index 39499fc..e3e20af 100644 --- a/src/Our.Umbraco.Meganav/Models/MeganavEntity.cs +++ b/src/Our.Umbraco.Meganav/Models/MeganavEntity.cs @@ -1,7 +1,7 @@ using System; using System.Collections.Generic; using System.Runtime.Serialization; -using Umbraco.Core; +using Umbraco.Cms.Core; namespace Our.Umbraco.Meganav.Models { diff --git a/src/Our.Umbraco.Meganav/Models/MeganavItem.cs b/src/Our.Umbraco.Meganav/Models/MeganavItem.cs index 3e64277..1de4976 100644 --- a/src/Our.Umbraco.Meganav/Models/MeganavItem.cs +++ b/src/Our.Umbraco.Meganav/Models/MeganavItem.cs @@ -1,6 +1,6 @@ using System.Collections.Generic; using System.Runtime.Serialization; -using Umbraco.Core.Models.PublishedContent; +using Umbraco.Cms.Core.Models.PublishedContent; namespace Our.Umbraco.Meganav.Models { diff --git a/src/Our.Umbraco.Meganav/Our.Umbraco.Meganav.csproj b/src/Our.Umbraco.Meganav/Our.Umbraco.Meganav.csproj index 832bda3..5cc9506 100644 --- a/src/Our.Umbraco.Meganav/Our.Umbraco.Meganav.csproj +++ b/src/Our.Umbraco.Meganav/Our.Umbraco.Meganav.csproj @@ -1,6 +1,6 @@  - net472 + net5.0 1.0.0.0 $(BUILD_BUILDNUMBER) A flexible, draggable link picker for constructing site navigation menus in Umbraco @@ -16,9 +16,10 @@ true - + + - + \ No newline at end of file diff --git a/src/Our.Umbraco.Meganav/PropertyEditors/MeganavConfiguration.cs b/src/Our.Umbraco.Meganav/PropertyEditors/MeganavConfiguration.cs index 4ef1111..1c83efa 100644 --- a/src/Our.Umbraco.Meganav/PropertyEditors/MeganavConfiguration.cs +++ b/src/Our.Umbraco.Meganav/PropertyEditors/MeganavConfiguration.cs @@ -1,6 +1,6 @@ using System.Collections.Generic; using Our.Umbraco.Meganav.Models; -using Umbraco.Core.PropertyEditors; +using Umbraco.Cms.Core.PropertyEditors; namespace Our.Umbraco.Meganav.PropertyEditors { diff --git a/src/Our.Umbraco.Meganav/PropertyEditors/MeganavConfigurationEditor.cs b/src/Our.Umbraco.Meganav/PropertyEditors/MeganavConfigurationEditor.cs index 42e6a03..9898a02 100644 --- a/src/Our.Umbraco.Meganav/PropertyEditors/MeganavConfigurationEditor.cs +++ b/src/Our.Umbraco.Meganav/PropertyEditors/MeganavConfigurationEditor.cs @@ -1,9 +1,15 @@ -using Umbraco.Core.PropertyEditors; +using Umbraco.Cms.Core.IO; +using Umbraco.Cms.Core.PropertyEditors; +using Umbraco.Cms.Core.Services; namespace Our.Umbraco.Meganav.PropertyEditors { internal class MeganavConfigurationEditor : ConfigurationEditor { + public MeganavConfigurationEditor(IIOHelper ioHelper) + : base(ioHelper) + { + } } } \ No newline at end of file diff --git a/src/Our.Umbraco.Meganav/PropertyEditors/MeganavPropertyEditor.cs b/src/Our.Umbraco.Meganav/PropertyEditors/MeganavPropertyEditor.cs index f72a4e1..91399dc 100644 --- a/src/Our.Umbraco.Meganav/PropertyEditors/MeganavPropertyEditor.cs +++ b/src/Our.Umbraco.Meganav/PropertyEditors/MeganavPropertyEditor.cs @@ -1,22 +1,22 @@ -using Umbraco.Core.Logging; -using Umbraco.Core.PropertyEditors; -using Umbraco.Core.Services; +using Umbraco.Cms.Core.IO; +using Umbraco.Cms.Core.Models; +using Umbraco.Cms.Core.PropertyEditors; namespace Our.Umbraco.Meganav.PropertyEditors { [DataEditor(Constants.PropertyEditorAlias, Constants.PropertyEditorName, Group = "pickers")] internal class MeganavPropertyEditor : DataEditor { - private readonly IContentService _contentService; + private readonly IIOHelper _ioHelper; - public MeganavPropertyEditor(IContentService contentService, ILogger logger) - : base(logger, EditorType.PropertyValue) + public MeganavPropertyEditor(IDataValueEditorFactory dataValueEditorFactory, IIOHelper ioHelper) + : base(dataValueEditorFactory, EditorType.PropertyValue) { - _contentService = contentService; + _ioHelper = ioHelper; } - protected override IConfigurationEditor CreateConfigurationEditor() => new MeganavConfigurationEditor(); + protected override IConfigurationEditor CreateConfigurationEditor() => new MeganavConfigurationEditor(_ioHelper); - protected override IDataValueEditor CreateValueEditor() => new MeganavValueEditor(_contentService); + protected override IDataValueEditor CreateValueEditor() => DataValueEditorFactory.Create(); } } \ No newline at end of file diff --git a/src/Our.Umbraco.Meganav/PropertyEditors/MeganavValueEditor.cs b/src/Our.Umbraco.Meganav/PropertyEditors/MeganavValueEditor.cs index bf75880..87db3c0 100644 --- a/src/Our.Umbraco.Meganav/PropertyEditors/MeganavValueEditor.cs +++ b/src/Our.Umbraco.Meganav/PropertyEditors/MeganavValueEditor.cs @@ -2,28 +2,33 @@ using Newtonsoft.Json; using Newtonsoft.Json.Linq; using Our.Umbraco.Meganav.Models; -using Umbraco.Core.Models; -using Umbraco.Core.Models.Editors; -using Umbraco.Core.PropertyEditors; -using Umbraco.Core.Services; -using Umbraco.Web; -using Umbraco.Web.Composing; +using Umbraco.Cms.Core.Models; +using Umbraco.Cms.Core.Models.Editors; +using Umbraco.Cms.Core.PropertyEditors; +using Umbraco.Cms.Core.Serialization; +using Umbraco.Cms.Core.Services; +using Umbraco.Cms.Core.Strings; +using Umbraco.Cms.Core.Web; +using Umbraco.Extensions; namespace Our.Umbraco.Meganav.PropertyEditors { internal class MeganavValueEditor : DataValueEditor { private readonly IContentService _contentService; + private readonly IUmbracoContextFactory _umbracoContextFactory; - public MeganavValueEditor(IContentService contentService) + public MeganavValueEditor(IContentService contentService, IUmbracoContextFactory umbracoContextFactory, ILocalizedTextService localizedTextService, IShortStringHelper shortStringHelper, IJsonSerializer jsonSerializer) + : base(localizedTextService, shortStringHelper, jsonSerializer) { View = "/App_Plugins/Meganav/backoffice/propertyeditors/editor.html"; ValueType = "JSON"; _contentService = contentService; + _umbracoContextFactory = umbracoContextFactory; } - public override object ToEditor(Property property, IDataTypeService dataTypeService, string culture = null, string segment = null) + public override object ToEditor(IProperty property, string culture = null, string segment = null) { var data = property.GetValue(culture, segment); @@ -34,7 +39,10 @@ public override object ToEditor(Property property, IDataTypeService dataTypeServ var entities = JsonConvert.DeserializeObject>(value); - EnrichEntities(Current.UmbracoContext, entities, culture); + using (var context = _umbracoContextFactory.EnsureUmbracoContext()) + { + EnrichEntities(context.UmbracoContext, entities, culture); + } return entities; } @@ -53,7 +61,7 @@ public override object FromEditor(ContentPropertyData editorValue, object curren return JsonConvert.SerializeObject(entities); } - private void EnrichEntities(UmbracoContext umbracoContext, IEnumerable entities, string culture) + private void EnrichEntities(IUmbracoContext umbracoContext, IEnumerable entities, string culture) { foreach (var entity in entities) { @@ -72,7 +80,7 @@ private void EnrichEntities(UmbracoContext umbracoContext, IEnumerable(); - - composition.DataValueReferenceFactories().Append(); - } - } -} \ No newline at end of file diff --git a/src/Our.Umbraco.Meganav/ValueConverters/MeganavValueConverter.cs b/src/Our.Umbraco.Meganav/ValueConverters/MeganavValueConverter.cs index 89e75eb..3e571a8 100644 --- a/src/Our.Umbraco.Meganav/ValueConverters/MeganavValueConverter.cs +++ b/src/Our.Umbraco.Meganav/ValueConverters/MeganavValueConverter.cs @@ -5,23 +5,23 @@ using Our.Umbraco.Meganav.Models; using Our.Umbraco.Meganav.PropertyEditors; using Our.Umbraco.Meganav.PublishedContent; -using Umbraco.Core; -using Umbraco.Core.Models.PublishedContent; -using Umbraco.Core.PropertyEditors; -using Umbraco.Web; -using Umbraco.Web.Composing; -using Umbraco.Web.PublishedCache; +using Umbraco.Cms.Core.Models.PublishedContent; +using Umbraco.Cms.Core.PropertyEditors; +using Umbraco.Cms.Core.Web; +using Umbraco.Extensions; namespace Our.Umbraco.Meganav.ValueConverters { internal class MeganavValueConverter : PropertyValueConverterBase { + private readonly IUmbracoContextFactory _umbracoContextFactory; private readonly PublishedElementFactory _publishedElementFactory; private MeganavConfiguration _config; - public MeganavValueConverter(PublishedElementFactory publishedElementFactory) + public MeganavValueConverter(IUmbracoContextFactory umbracoContextFactory, PublishedElementFactory publishedElementFactory) { + _umbracoContextFactory = umbracoContextFactory; _publishedElementFactory = publishedElementFactory; } @@ -46,17 +46,20 @@ public override object ConvertIntermediateToObject(IPublishedElement owner, IPub var entities = JsonConvert.DeserializeObject>(value); - var items = BuildItems(Current.UmbracoContext, entities); - - if (_config.MaxItems.HasValue == true) + using (var context = _umbracoContextFactory.EnsureUmbracoContext()) { - return items.Take(_config.MaxItems.Value); - } + var items = BuildItems(context.UmbracoContext, entities); + + if (_config.MaxItems.HasValue == true) + { + return items.Take(_config.MaxItems.Value); + } - return items; + return items; + } } - private IEnumerable BuildItems(UmbracoContext umbracoContext, IEnumerable entities, int level = 0) + private IEnumerable BuildItems(IUmbracoContext umbracoContext, IEnumerable entities, int level = 0) { foreach (var entity in entities) { @@ -88,14 +91,11 @@ private IEnumerable BuildItems(UmbracoContext umbracoContext, IEnum if (itemType.SettingsType.HasValue && entity.Settings != null) { - if (umbracoContext?.Content is IPublishedCache2 publishedCache) - { - var contentType = publishedCache.GetContentType(itemType.SettingsType.Value); + var contentType = umbracoContext.Content.GetContentType(itemType.SettingsType.Value); - if (contentType?.IsElement == true) - { - item.Settings = _publishedElementFactory.CreateElement(contentType, entity.Settings); - } + if (contentType?.IsElement == true) + { + item.Settings = _publishedElementFactory.CreateElement(contentType, entity.Settings); } } @@ -108,9 +108,9 @@ private IEnumerable BuildItems(UmbracoContext umbracoContext, IEnum if (entity.Udi != null) { - var culture = umbracoContext?.PublishedRequest?.Culture.Name; + var culture = umbracoContext.PublishedRequest?.Culture; - var content = umbracoContext?.Content.GetById(entity.Udi); + var content = umbracoContext.Content.GetById(entity.Udi); if (content == null) { diff --git a/src/Our.Umbraco.Meganav/ValueReferences/MeganavValueReferenceFactory.cs b/src/Our.Umbraco.Meganav/ValueReferences/MeganavValueReferenceFactory.cs index 7d23892..d40606b 100644 --- a/src/Our.Umbraco.Meganav/ValueReferences/MeganavValueReferenceFactory.cs +++ b/src/Our.Umbraco.Meganav/ValueReferences/MeganavValueReferenceFactory.cs @@ -1,8 +1,8 @@ using System.Collections.Generic; using Newtonsoft.Json; using Our.Umbraco.Meganav.Models; -using Umbraco.Core.Models.Editors; -using Umbraco.Core.PropertyEditors; +using Umbraco.Cms.Core.Models.Editors; +using Umbraco.Cms.Core.PropertyEditors; namespace Our.Umbraco.Meganav.ValueReferences { diff --git a/src/Our.Umbraco.Meganav/Web/UI/App_Plugins/Meganav/package.manifest b/src/Our.Umbraco.Meganav/Web/UI/App_Plugins/Meganav/package.manifest index cb72deb..f9d0e7a 100644 --- a/src/Our.Umbraco.Meganav/Web/UI/App_Plugins/Meganav/package.manifest +++ b/src/Our.Umbraco.Meganav/Web/UI/App_Plugins/Meganav/package.manifest @@ -1,6 +1,6 @@ { "name": "Meganav", - "version": "2.0.0", + "version": "3.0.0", "allowPackageTelemetry": true, "css": [ "/App_Plugins/Meganav/lib/angular-ui-tree.min.css", diff --git a/src/build/Our.Umbraco.Meganav.targets b/src/build/Our.Umbraco.Meganav.targets new file mode 100644 index 0000000..b491d1c --- /dev/null +++ b/src/build/Our.Umbraco.Meganav.targets @@ -0,0 +1,23 @@ + + + + $(MSBuildThisFileDirectory)..\content\App_Plugins\Meganav\**\*.* + + + + + + + + + + + + + + + + + + + \ No newline at end of file