diff --git a/UmbracoPackages/App_Plugins/brothers.uNesting/uNesting.html b/UmbracoPackages/App_Plugins/brothers.uNesting/uNesting.html
index afe2845..9dd4bf8 100644
--- a/UmbracoPackages/App_Plugins/brothers.uNesting/uNesting.html
+++ b/UmbracoPackages/App_Plugins/brothers.uNesting/uNesting.html
@@ -67,7 +67,7 @@
-
+
diff --git a/UmbracoPackages/App_Plugins/brothers.uNesting/uNesting.js b/UmbracoPackages/App_Plugins/brothers.uNesting/uNesting.js
index 23d5cf6..3b114e6 100644
--- a/UmbracoPackages/App_Plugins/brothers.uNesting/uNesting.js
+++ b/UmbracoPackages/App_Plugins/brothers.uNesting/uNesting.js
@@ -637,7 +637,7 @@ angular.module("umbraco").controller("brothers.uNesting.PropertyEditorController
unsubscribe();
});
- $scope.clickHide = function ($event, node, alias)
+ $scope.clickHide = function ($event, node, $index)
{
$event.preventDefault();
$event.stopPropagation();
@@ -656,24 +656,13 @@ angular.module("umbraco").controller("brothers.uNesting.PropertyEditorController
if (property)
{
property.value = property.value === '1' ? '0' : '1';
-
$scope.setDirty();
if ($scope.inited)
{
- var newValues = [];
- for (var i = 0; i < $scope.nodes.length; i++)
- {
- newValues.push(convertNodeIntoNCEntry($scope.nodes[i]));
- }
- $scope.model.value = newValues;
+ $scope.model.value[$index] = convertNodeIntoNCEntry(node);
}
}
-
- //if ($scope.realCurrentNode)
- //{
- // $scope.$broadcast("ncSyncInVal", { key: $scope.realCurrentNode.key });
- //}
};
$scope.canHide = function (item)
diff --git a/UmbracoPackages/UnestingComposer.cs b/UmbracoPackages/UnestingComposer.cs
new file mode 100644
index 0000000..b79cecb
--- /dev/null
+++ b/UmbracoPackages/UnestingComposer.cs
@@ -0,0 +1,18 @@
+using Umbraco.Core.Composing;
+using Umbraco.Core.PropertyEditors;
+using Umbraco.Web.PropertyEditors.ValueConverters;
+
+namespace UmbracoPackages
+{
+ public class UnestingComposer : IUserComposer
+ {
+ public void Compose(Composition composition)
+ {
+ composition.WithCollectionBuilder()
+ .Remove()
+ .Remove()
+ .Append()
+ .Append();
+ }
+ }
+}
\ No newline at end of file
diff --git a/UmbracoPackages/UnestingValueConverters.cs b/UmbracoPackages/UnestingValueConverters.cs
new file mode 100644
index 0000000..d182a13
--- /dev/null
+++ b/UmbracoPackages/UnestingValueConverters.cs
@@ -0,0 +1,39 @@
+using Newtonsoft.Json.Linq;
+using System.Collections.Generic;
+using System.Linq;
+using Umbraco.Core.Logging;
+using Umbraco.Core.Models.PublishedContent;
+using Umbraco.Core.PropertyEditors;
+using Umbraco.Web;
+using Umbraco.Web.PropertyEditors.ValueConverters;
+using Umbraco.Web.PublishedCache;
+
+namespace UmbracoPackages
+{
+ public class UnestingManyValueConverter : NestedContentManyValueConverter
+ {
+ ///
+ public UnestingManyValueConverter(IPublishedSnapshotAccessor publishedSnapshotAccessor, IPublishedModelFactory publishedModelFactory, IProfilingLogger proflog) : base(publishedSnapshotAccessor, publishedModelFactory, proflog) { }
+
+ ///
+ public override object ConvertIntermediateToObject(IPublishedElement owner, IPublishedPropertyType propertyType, PropertyCacheLevel referenceCacheLevel, object inter, bool preview)
+ {
+ return ((IList)base.ConvertIntermediateToObject(owner, propertyType, referenceCacheLevel, inter, preview))
+ .Where(element => !element.HasValue("uNestingHide") || !element.Value("uNestingHide"));
+ }
+ }
+
+
+ public class UnestingSingleValueConverter : NestedContentSingleValueConverter
+ {
+ ///
+ public UnestingSingleValueConverter(IPublishedSnapshotAccessor publishedSnapshotAccessor, IPublishedModelFactory publishedModelFactory, IProfilingLogger proflog) : base(publishedSnapshotAccessor, publishedModelFactory, proflog) { }
+
+ ///
+ public override object ConvertIntermediateToObject(IPublishedElement owner, IPublishedPropertyType propertyType, PropertyCacheLevel referenceCacheLevel, object inter, bool preview)
+ {
+ IPublishedElement element = (IPublishedElement)base.ConvertIntermediateToObject(owner, propertyType, referenceCacheLevel, inter, preview);
+ return element == null || (element.HasValue("uNestingHide") && element.Value("uNestingHide")) : null : element;
+ }
+ }
+}
\ No newline at end of file