diff --git a/app/Umbraco/Umbraco.Archetype/Archetype.Umbraco.csproj b/app/Umbraco/Umbraco.Archetype/Archetype.Umbraco.csproj
index 6b43c6c..678f3dd 100644
--- a/app/Umbraco/Umbraco.Archetype/Archetype.Umbraco.csproj
+++ b/app/Umbraco/Umbraco.Archetype/Archetype.Umbraco.csproj
@@ -42,6 +42,7 @@
..\packages\UmbracoCms.Core.7.1.2\lib\businesslogic.dll
+ False
..\packages\ClientDependency.1.7.1.2\lib\ClientDependency.Core.dll
@@ -53,9 +54,11 @@
..\packages\UmbracoCms.Core.7.1.2\lib\cms.dll
+ False
..\packages\UmbracoCms.Core.7.1.2\lib\controls.dll
+ False
..\packages\xmlrpcnet.2.5.0\lib\net20\CookComputing.XmlRpcV2.dll
@@ -63,6 +66,7 @@
..\packages\UmbracoCms.Core.7.1.2\lib\Examine.dll
+ False
..\packages\HtmlAgilityPack.1.4.6\lib\Net45\HtmlAgilityPack.dll
@@ -74,15 +78,19 @@
..\packages\ImageProcessor.1.9.0.0\lib\ImageProcessor.dll
+ False
..\packages\ImageProcessor.Web.3.2.3.0\lib\net45\ImageProcessor.Web.dll
+ False
..\packages\UmbracoCms.Core.7.1.2\lib\interfaces.dll
+ False
..\packages\UmbracoCms.Core.7.1.2\lib\log4net.dll
+ False
..\packages\Lucene.Net.2.9.4.1\lib\net40\Lucene.Net.dll
@@ -90,9 +98,11 @@
..\packages\UmbracoCms.Core.7.1.2\lib\Microsoft.ApplicationBlocks.Data.dll
+ False
..\packages\UmbracoCms.Core.7.1.2\lib\Microsoft.Web.Helpers.dll
+ False
False
@@ -116,15 +126,16 @@
..\packages\UmbracoCms.Core.7.1.2\lib\SQLCE4Umbraco.dll
+ False
- True
+ False
..\packages\UmbracoCms.Core.7.1.2\lib\System.Data.SqlServerCe.dll
- True
+ False
..\packages\UmbracoCms.Core.7.1.2\lib\System.Data.SqlServerCe.Entity.dll
@@ -173,36 +184,47 @@
..\packages\UmbracoCms.Core.7.1.2\lib\TidyNet.dll
+ False
..\packages\UmbracoCms.Core.7.1.2\lib\umbraco.dll
+ False
..\packages\UmbracoCms.Core.7.1.2\lib\Umbraco.Core.dll
+ False
..\packages\UmbracoCms.Core.7.1.2\lib\umbraco.DataLayer.dll
+ False
..\packages\UmbracoCms.Core.7.1.2\lib\umbraco.editorControls.dll
+ False
..\packages\UmbracoCms.Core.7.1.2\lib\umbraco.MacroEngines.dll
+ False
..\packages\UmbracoCms.Core.7.1.2\lib\umbraco.providers.dll
+ False
..\packages\UmbracoCms.Core.7.1.2\lib\Umbraco.Web.UI.dll
+ False
..\packages\UmbracoCms.Core.7.1.2\lib\umbraco.XmlSerializers.dll
+ False
..\packages\UmbracoCms.Core.7.1.2\lib\UmbracoExamine.dll
+ False
..\packages\UmbracoCms.Core.7.1.2\lib\UrlRewritingNet.UrlRewriter.dll
+ False
diff --git a/app/Umbraco/Umbraco.Archetype/Extensions/ArchetypeHelper.cs b/app/Umbraco/Umbraco.Archetype/Extensions/ArchetypeHelper.cs
index 0d03f92..a4cbcc8 100644
--- a/app/Umbraco/Umbraco.Archetype/Extensions/ArchetypeHelper.cs
+++ b/app/Umbraco/Umbraco.Archetype/Extensions/ArchetypeHelper.cs
@@ -10,9 +10,12 @@ namespace Archetype.Extensions
{
public class ArchetypeHelper
{
-
protected JsonSerializerSettings _jsonSettings;
- protected ApplicationContext _app;
+ protected ApplicationContext _app;
+
+ private static readonly ArchetypeHelper _instance = new ArchetypeHelper();
+
+ internal static ArchetypeHelper Instance { get { return _instance; } }
internal ArchetypeHelper()
{
@@ -44,7 +47,7 @@ namespace Archetype.Extensions
catch
{
return new Models.ArchetypeModel();
- }
+ }
}
internal Models.ArchetypeModel DeserializeJsonToArchetype(string sourceJson, int dataTypeId, PublishedContentType hostContentType = null)
@@ -71,8 +74,8 @@ namespace Archetype.Extensions
}
}
- private ArchetypePreValue GetArchetypePreValueFromDataTypeId(int dataTypeId)
- {
+ private ArchetypePreValue GetArchetypePreValueFromDataTypeId(int dataTypeId)
+ {
return _app.ApplicationCache.RuntimeCache.GetCacheItem(
Constants.CacheKey_PreValueFromDataTypeId + dataTypeId,
() =>
@@ -89,7 +92,7 @@ namespace Archetype.Extensions
return config;
}) as ArchetypePreValue;
- }
+ }
private ArchetypePreValue GetArchetypePreValueFromPreValuesCollection(PreValueCollection dataTypePreValues)
{
@@ -98,10 +101,9 @@ namespace Archetype.Extensions
return preValue;
}
-
private IDataTypeDefinition GetDataTypeByGuid(Guid guid)
{
- return (IDataTypeDefinition) ApplicationContext.Current.ApplicationCache.RuntimeCache.GetCacheItem(
+ return (IDataTypeDefinition)ApplicationContext.Current.ApplicationCache.RuntimeCache.GetCacheItem(
Constants.CacheKey_DataTypeByGuid + guid,
() => _app.Services.DataTypeService.GetDataTypeDefinitionById(guid));
}
@@ -121,7 +123,7 @@ namespace Archetype.Extensions
foreach (var property in fieldset.Properties)
{
var propertyAlias = property.Alias;
- foreach ( var propertyInst in fieldsetInst.Properties.Where(x => x.Alias == propertyAlias))
+ foreach (var propertyInst in fieldsetInst.Properties.Where(x => x.Alias == propertyAlias))
{
propertyInst.DataTypeGuid = property.DataTypeGuid.ToString();
propertyInst.DataTypeId = GetDataTypeByGuid(property.DataTypeGuid).Id;
@@ -148,6 +150,5 @@ namespace Archetype.Extensions
}
}
}
-
}
-}
+}
\ No newline at end of file
diff --git a/app/Umbraco/Umbraco.Archetype/Models/ArchetypePreValue.cs b/app/Umbraco/Umbraco.Archetype/Models/ArchetypePreValue.cs
index 08dd923..98b6d39 100644
--- a/app/Umbraco/Umbraco.Archetype/Models/ArchetypePreValue.cs
+++ b/app/Umbraco/Umbraco.Archetype/Models/ArchetypePreValue.cs
@@ -44,6 +44,9 @@ namespace Archetype.Models
[JsonProperty("customJsPath")]
public string CustomJsPath { get; set; }
+ [JsonProperty("customViewPath")]
+ public string CustomViewPath { get; set; }
+
[JsonProperty("developerMode")]
public bool DeveloperMode { get; set; }
}
diff --git a/app/Umbraco/Umbraco.Archetype/Properties/VersionInfo.cs b/app/Umbraco/Umbraco.Archetype/Properties/VersionInfo.cs
index b2449a1..9164a1f 100644
--- a/app/Umbraco/Umbraco.Archetype/Properties/VersionInfo.cs
+++ b/app/Umbraco/Umbraco.Archetype/Properties/VersionInfo.cs
@@ -1,4 +1,4 @@
using System.Reflection;
-[assembly: AssemblyVersion("1.2")]
-[assembly: AssemblyFileVersion("1.2-beta")]
+[assembly: AssemblyVersion("1.2.1")]
+[assembly: AssemblyFileVersion("1.2.1-beta")]
diff --git a/app/Umbraco/Umbraco.Archetype/PropertyConverters/ArchetypeValueConverter.cs b/app/Umbraco/Umbraco.Archetype/PropertyConverters/ArchetypeValueConverter.cs
index 4f82c22..32f56cf 100644
--- a/app/Umbraco/Umbraco.Archetype/PropertyConverters/ArchetypeValueConverter.cs
+++ b/app/Umbraco/Umbraco.Archetype/PropertyConverters/ArchetypeValueConverter.cs
@@ -1,16 +1,11 @@
-using System;
-using System.Collections.Generic;
-using System.Linq;
-using Archetype.Extensions;
+using Archetype.Extensions;
using Archetype.Models;
-using Newtonsoft.Json;
using Umbraco.Core;
-using Umbraco.Core.Models;
using Umbraco.Core.Models.PublishedContent;
using Umbraco.Core.PropertyEditors;
using Umbraco.Core.Services;
-
-namespace Archetype.PropertyConverters
+
+namespace Archetype.PropertyConverters
{
[PropertyValueType(typeof(Models.ArchetypeModel))]
[PropertyValueCache(PropertyCacheValue.All, PropertyCacheLevel.Content)]
@@ -29,7 +24,7 @@ namespace Archetype.PropertyConverters
public override object ConvertDataToSource(PublishedPropertyType propertyType, object source, bool preview)
{
- var defaultValue = new Models.ArchetypeModel();
+ var defaultValue = new ArchetypeModel();
if (source == null)
return defaultValue;
@@ -39,11 +34,14 @@ namespace Archetype.PropertyConverters
if (!sourceString.DetectIsJson())
return defaultValue;
- var archetype = new ArchetypeHelper().DeserializeJsonToArchetype(source.ToString(),
- (propertyType != null ? propertyType.DataTypeId : -1),
- (propertyType != null ? propertyType.ContentType : null));
+ using (var timer = DisposableTimer.DebugDuration(string.Format("ConvertDataToSource ({0})", propertyType.PropertyTypeAlias)))
+ {
+ var archetype = ArchetypeHelper.Instance.DeserializeJsonToArchetype(sourceString,
+ (propertyType != null ? propertyType.DataTypeId : -1),
+ (propertyType != null ? propertyType.ContentType : null));
- return archetype;
+ return archetype;
+ }
}
}
}
\ No newline at end of file
diff --git a/app/Umbraco/Umbraco.Archetype/PropertyEditors/ArcheTypePropertyEditor.cs b/app/Umbraco/Umbraco.Archetype/PropertyEditors/ArcheTypePropertyEditor.cs
index e847ce8..6c733b3 100644
--- a/app/Umbraco/Umbraco.Archetype/PropertyEditors/ArcheTypePropertyEditor.cs
+++ b/app/Umbraco/Umbraco.Archetype/PropertyEditors/ArcheTypePropertyEditor.cs
@@ -1,17 +1,15 @@
using System;
using System.Collections.Generic;
-using System.Linq;
using Archetype.Extensions;
using ClientDependency.Core;
using Newtonsoft.Json;
-using Newtonsoft.Json.Linq;
using Umbraco.Core;
+using Umbraco.Core.Logging;
using Umbraco.Core.Models;
using Umbraco.Core.Models.Editors;
using Umbraco.Core.PropertyEditors;
using Umbraco.Core.Services;
using Umbraco.Web.PropertyEditors;
-using Umbraco.Core.Logging;
namespace Archetype.PropertyEditors
{
@@ -58,7 +56,7 @@ namespace Archetype.PropertyEditors
if (property.Value == null || property.Value.ToString() == "")
return string.Empty;
- var archetype = new ArchetypeHelper().DeserializeJsonToArchetype(property.Value.ToString(), propertyType.DataTypeDefinitionId);
+ var archetype = ArchetypeHelper.Instance.DeserializeJsonToArchetype(property.Value.ToString(), propertyType.DataTypeDefinitionId);
foreach (var fieldset in archetype.Fieldsets)
{
@@ -87,7 +85,7 @@ namespace Archetype.PropertyEditors
if (property.Value == null || property.Value.ToString() == "")
return string.Empty;
- var archetype = new ArchetypeHelper().DeserializeJsonToArchetype(property.Value.ToString(), propertyType.DataTypeDefinitionId);
+ var archetype = ArchetypeHelper.Instance.DeserializeJsonToArchetype(property.Value.ToString(), propertyType.DataTypeDefinitionId);
foreach (var fieldset in archetype.Fieldsets)
{
@@ -115,7 +113,7 @@ namespace Archetype.PropertyEditors
if (editorValue.Value == null || editorValue.Value.ToString() == "")
return string.Empty;
- var archetype = new ArchetypeHelper().DeserializeJsonToArchetype(editorValue.Value.ToString(), editorValue.PreValues);
+ var archetype = ArchetypeHelper.Instance.DeserializeJsonToArchetype(editorValue.Value.ToString(), editorValue.PreValues);
foreach (var fieldset in archetype.Fieldsets)
{
diff --git a/app/directives/archetypecustomview.js b/app/directives/archetypecustomview.js
index 848a90d..d6636bd 100644
--- a/app/directives/archetypecustomview.js
+++ b/app/directives/archetypecustomview.js
@@ -14,6 +14,10 @@ angular.module("umbraco.directives").directive('archetypeCustomView', function (
scope.model.value = scope.archetype.value;
scope.model.config = scope.archetype.config;
+ scope.$watch('model.value', function (newValue, oldValue) {
+ scope.archetype.value = newValue;
+ });
+
element.html(data.data).show();
$compile(element.contents())(scope);
diff --git a/config/meta.json b/config/meta.json
index e963137..48ff610 100644
--- a/config/meta.json
+++ b/config/meta.json
@@ -1,6 +1,6 @@
{
"name": "Archetype",
- "version": "1.0-beta",
+ "version": "1.2.1-beta",
"url": "http://github.com/imulus/archetype/",
"author": "Imulus",
"authorUrl": "http://imulus.com/",