diff --git a/Gruntfile.js b/Gruntfile.js
index 8bbb3d9..8d68fc9 100644
--- a/Gruntfile.js
+++ b/Gruntfile.js
@@ -72,7 +72,7 @@ module.exports = function(grunt) {
},
dll: {
cwd: 'app/Umbraco/Umbraco.Archetype/bin/Release/',
- src: '*.*',
+ src: 'Archetype.dll',
dest: '<%= dest %>/bin/',
expand: true
},
@@ -208,6 +208,7 @@ module.exports = function(grunt) {
grunt.registerTask('default', ['clean', 'less', 'concat', 'assemblyinfo', 'msbuild:dist', 'copy:dll', 'copy:config', 'copy:html']);
- grunt.registerTask('nuget', ['clean:tmp', 'default', 'copy:nuget', 'template:nuspec', 'nugetpack', 'clean:tmp']);
+ grunt.registerTask('nuget', ['clean:tmp', 'default', 'copy:nuget', 'template:nuspec', 'nugetpack', 'clean:tmp']);
grunt.registerTask('umbraco', ['clean:tmp', 'default', 'copy:umbraco', 'umbracoPackage', 'clean:tmp']);
+ grunt.registerTask('package', ['clean:tmp', 'default', 'copy:nuget', 'template:nuspec', 'nugetpack', 'copy:umbraco', 'umbracoPackage', 'clean:tmp']);
};
\ No newline at end of file
diff --git a/app/Umbraco/Umbraco.Archetype/Archetype.Umbraco.csproj b/app/Umbraco/Umbraco.Archetype/Archetype.Umbraco.csproj
index 53469ca..f379ec2 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.1\lib\businesslogic.dll
+ False
..\packages\ClientDependency.1.7.1.2\lib\ClientDependency.Core.dll
@@ -53,9 +54,11 @@
..\packages\UmbracoCms.Core.7.1.1\lib\cms.dll
+ False
..\packages\UmbracoCms.Core.7.1.1\lib\controls.dll
+ False
..\packages\xmlrpcnet.2.5.0\lib\net20\CookComputing.XmlRpcV2.dll
@@ -63,6 +66,7 @@
..\packages\UmbracoCms.Core.7.1.1\lib\Examine.dll
+ False
..\packages\HtmlAgilityPack.1.4.6\lib\Net45\HtmlAgilityPack.dll
@@ -82,9 +86,11 @@
..\packages\UmbracoCms.Core.7.1.1\lib\interfaces.dll
+ False
..\packages\UmbracoCms.Core.7.1.1\lib\log4net.dll
+ False
..\packages\Lucene.Net.2.9.4.1\lib\net40\Lucene.Net.dll
@@ -92,9 +98,11 @@
..\packages\UmbracoCms.Core.7.1.1\lib\Microsoft.ApplicationBlocks.Data.dll
+ False
..\packages\UmbracoCms.Core.7.1.1\lib\Microsoft.Web.Helpers.dll
+ False
False
@@ -114,18 +122,20 @@
..\packages\Newtonsoft.Json.6.0.2\lib\net45\Newtonsoft.Json.dll
+ False
..\packages\UmbracoCms.Core.7.1.1\lib\SQLCE4Umbraco.dll
+ False
- True
+ False
..\packages\UmbracoCms.Core.7.1.1\lib\System.Data.SqlServerCe.dll
- True
+ False
..\packages\UmbracoCms.Core.7.1.1\lib\System.Data.SqlServerCe.Entity.dll
@@ -174,36 +184,47 @@
..\packages\UmbracoCms.Core.7.1.1\lib\TidyNet.dll
+ False
..\packages\UmbracoCms.Core.7.1.1\lib\umbraco.dll
+ False
..\packages\UmbracoCms.Core.7.1.1\lib\Umbraco.Core.dll
+ False
..\packages\UmbracoCms.Core.7.1.1\lib\umbraco.DataLayer.dll
+ False
..\packages\UmbracoCms.Core.7.1.1\lib\umbraco.editorControls.dll
+ False
..\packages\UmbracoCms.Core.7.1.1\lib\umbraco.MacroEngines.dll
+ False
..\packages\UmbracoCms.Core.7.1.1\lib\umbraco.providers.dll
+ False
..\packages\UmbracoCms.Core.7.1.1\lib\Umbraco.Web.UI.dll
+ False
..\packages\UmbracoCms.Core.7.1.1\lib\umbraco.XmlSerializers.dll
+ False
..\packages\UmbracoCms.Core.7.1.1\lib\UmbracoExamine.dll
+ False
..\packages\UmbracoCms.Core.7.1.1\lib\UrlRewritingNet.UrlRewriter.dll
+ False
diff --git a/app/Umbraco/Umbraco.Archetype/PropertyEditors/ArcheTypePropertyEditor.cs b/app/Umbraco/Umbraco.Archetype/PropertyEditors/ArcheTypePropertyEditor.cs
index e55ed1d..3192130 100644
--- a/app/Umbraco/Umbraco.Archetype/PropertyEditors/ArcheTypePropertyEditor.cs
+++ b/app/Umbraco/Umbraco.Archetype/PropertyEditors/ArcheTypePropertyEditor.cs
@@ -11,6 +11,7 @@ using Umbraco.Core.Models.Editors;
using Umbraco.Core.PropertyEditors;
using Umbraco.Core.Services;
using Umbraco.Web.PropertyEditors;
+using Umbraco.Core.Logging;
namespace Archetype.Umbraco.PropertyEditors
{
@@ -64,11 +65,18 @@ namespace Archetype.Umbraco.PropertyEditors
{
foreach (var propDef in fieldset.Properties)
{
- var dtd = dataTypeService.GetDataTypeDefinitionById(Guid.Parse(propDef.DataTypeGuid));
- var propType = new PropertyType(dtd) { Alias = propDef.Alias };
- var prop = new Property(propType, propDef.Value);
- var propEditor = PropertyEditorResolver.Current.GetByAlias(dtd.PropertyEditorAlias);
- propDef.Value = propEditor.ValueEditor.ConvertDbToString(prop, propType, dataTypeService);
+ try
+ {
+ var dtd = dataTypeService.GetDataTypeDefinitionById(Guid.Parse(propDef.DataTypeGuid));
+ var propType = new PropertyType(dtd) { Alias = propDef.Alias };
+ var prop = new Property(propType, propDef.Value);
+ var propEditor = PropertyEditorResolver.Current.GetByAlias(dtd.PropertyEditorAlias);
+ propDef.Value = propEditor.ValueEditor.ConvertDbToString(prop, propType, dataTypeService);
+ }
+ catch (Exception ex)
+ {
+ LogHelper.Error(ex.Message, ex);
+ }
}
}
@@ -86,11 +94,18 @@ namespace Archetype.Umbraco.PropertyEditors
{
foreach (var propDef in fieldset.Properties)
{
- var dtd = dataTypeService.GetDataTypeDefinitionById(Guid.Parse(propDef.DataTypeGuid));
- var propType = new PropertyType(dtd) { Alias = propDef.Alias };
- var prop = new Property(propType, propDef.Value);
- var propEditor = PropertyEditorResolver.Current.GetByAlias(dtd.PropertyEditorAlias);
- propDef.Value = propEditor.ValueEditor.ConvertDbToEditor(prop, propType, dataTypeService);
+ try
+ {
+ var dtd = dataTypeService.GetDataTypeDefinitionById(Guid.Parse(propDef.DataTypeGuid));
+ var propType = new PropertyType(dtd) { Alias = propDef.Alias };
+ var prop = new Property(propType, propDef.Value);
+ var propEditor = PropertyEditorResolver.Current.GetByAlias(dtd.PropertyEditorAlias);
+ propDef.Value = propEditor.ValueEditor.ConvertDbToEditor(prop, propType, dataTypeService);
+ }
+ catch (Exception ex)
+ {
+ LogHelper.Error(ex.Message, ex);
+ }
}
}
@@ -107,11 +122,18 @@ namespace Archetype.Umbraco.PropertyEditors
{
foreach (var propDef in fieldset.Properties)
{
- var dtd = ApplicationContext.Current.Services.DataTypeService.GetDataTypeDefinitionById(Guid.Parse(propDef.DataTypeGuid));
- var preValues = ApplicationContext.Current.Services.DataTypeService.GetPreValuesCollectionByDataTypeId(dtd.Id);
- var propData = new ContentPropertyData(propDef.Value, preValues, new Dictionary());
- var propEditor = PropertyEditorResolver.Current.GetByAlias(dtd.PropertyEditorAlias);
- propDef.Value = propEditor.ValueEditor.ConvertEditorToDb(propData, propDef.Value);
+ try
+ {
+ var dtd = ApplicationContext.Current.Services.DataTypeService.GetDataTypeDefinitionById(Guid.Parse(propDef.DataTypeGuid));
+ var preValues = ApplicationContext.Current.Services.DataTypeService.GetPreValuesCollectionByDataTypeId(dtd.Id);
+ var propData = new ContentPropertyData(propDef.Value, preValues, new Dictionary());
+ var propEditor = PropertyEditorResolver.Current.GetByAlias(dtd.PropertyEditorAlias);
+ propDef.Value = propEditor.ValueEditor.ConvertEditorToDb(propData, propDef.Value);
+ }
+ catch (Exception ex)
+ {
+ LogHelper.Error(ex.Message, ex);
+ }
}
}
diff --git a/app/controllers/controller.js b/app/controllers/controller.js
index 3f31ac3..c6c35f9 100644
--- a/app/controllers/controller.js
+++ b/app/controllers/controller.js
@@ -15,6 +15,8 @@
//helper to get $eval the labelTemplate
$scope.getFieldsetTitle = function(fieldsetConfigModel, fieldsetIndex) {
+ if(!fieldsetConfigModel)
+ return "";
var fieldset = $scope.model.value.fieldsets[fieldsetIndex];
var fieldsetConfig = $scope.getConfigFieldsetByAlias(fieldset.alias);
var template = fieldsetConfigModel.labelTemplate;
@@ -107,8 +109,8 @@
//helpers for determining if the add button should be shown
$scope.showAddButton = function () {
return $scope.model.config.startWithAddButton
- && countVisible() === 0
- && $scope.model.config.fieldsets.length == 1;
+ && countVisible() === 0;
+ ///&& $scope.model.config.fieldsets.length == 1;
}
//helper, ini the render model from the server (model.value)
diff --git a/app/directives/archetypeproperty.js b/app/directives/archetypeproperty.js
index 7358cbd..2433e5f 100644
--- a/app/directives/archetypeproperty.js
+++ b/app/directives/archetypeproperty.js
@@ -90,11 +90,8 @@ angular.module("umbraco.directives").directive('archetypeProperty', function ($c
function validate(renderModel){
var valid = true;
- var activeFieldsets = renderModel.filter(function(fieldset) {
- return !fieldset.remove;
- });
- _.each(activeFieldsets, function(fieldset){
+ _.each(renderModel, function(fieldset){
fieldset.isValid = true;
_.each(fieldset.properties, function(property){
property.isValid = true;
diff --git a/app/less/archetype.less b/app/less/archetype.less
index 215aac8..0fa2209 100644
--- a/app/less/archetype.less
+++ b/app/less/archetype.less
@@ -1,5 +1,9 @@
.archetypeEditor {
width: 98%;
+
+ .dropdown-menu {
+ top: auto;
+ }
}
.archetypeEditor fieldset{
@@ -24,8 +28,18 @@
}
}
+ .dropdown-menu {
+ padding: 0;
+ border-radius: 0;
+ box-shadow: none;
+ margin-top: -10px;
+ margin-left: -200px;
+ }
+
span {
font-weight: bold;
+
+ &.menu-label { font-weight: normal; }
}
label:hover {
diff --git a/app/views/archetype.html b/app/views/archetype.html
index 5108680..6cf11d0 100644
--- a/app/views/archetype.html
+++ b/app/views/archetype.html
@@ -1,13 +1,5 @@
-
+
+
@@ -46,9 +46,17 @@