diff --git a/app/Umbraco/Umbraco.Archetype/Archetype.Umbraco.csproj b/app/Umbraco/Umbraco.Archetype/Archetype.Umbraco.csproj index d96c351..0a7417f 100644 --- a/app/Umbraco/Umbraco.Archetype/Archetype.Umbraco.csproj +++ b/app/Umbraco/Umbraco.Archetype/Archetype.Umbraco.csproj @@ -239,6 +239,7 @@ + diff --git a/app/Umbraco/Umbraco.Archetype/Models/ArchetypePreValue.cs b/app/Umbraco/Umbraco.Archetype/Models/ArchetypePreValue.cs index fa8bd12..cbf4937 100644 --- a/app/Umbraco/Umbraco.Archetype/Models/ArchetypePreValue.cs +++ b/app/Umbraco/Umbraco.Archetype/Models/ArchetypePreValue.cs @@ -38,6 +38,9 @@ namespace Archetype.Models [JsonProperty("fieldsets")] public IEnumerable Fieldsets { get; set; } + [JsonProperty("fieldsetGroups")] + public IEnumerable FieldsetGroups { get; set; } + [JsonProperty("hidePropertyLabels")] public bool HidePropertyLabels { get; set; } diff --git a/app/Umbraco/Umbraco.Archetype/Models/ArchetypePreValueFieldset.cs b/app/Umbraco/Umbraco.Archetype/Models/ArchetypePreValueFieldset.cs index b65683b..0bfd3c8 100644 --- a/app/Umbraco/Umbraco.Archetype/Models/ArchetypePreValueFieldset.cs +++ b/app/Umbraco/Umbraco.Archetype/Models/ArchetypePreValueFieldset.cs @@ -25,5 +25,8 @@ namespace Archetype.Models [JsonProperty("properties")] public IEnumerable Properties { get; set; } + + [JsonProperty("group")] + public ArchetypePreValueFieldsetGroup Group { get; set; } } } diff --git a/app/Umbraco/Umbraco.Archetype/Models/ArchetypePreValueFieldsetGroup.cs b/app/Umbraco/Umbraco.Archetype/Models/ArchetypePreValueFieldsetGroup.cs new file mode 100644 index 0000000..e62e69c --- /dev/null +++ b/app/Umbraco/Umbraco.Archetype/Models/ArchetypePreValueFieldsetGroup.cs @@ -0,0 +1,10 @@ +using Newtonsoft.Json; + +namespace Archetype.Models +{ + public class ArchetypePreValueFieldsetGroup + { + [JsonProperty("name")] + public string Name { get; set; } + } +} \ No newline at end of file diff --git a/app/controllers/config.controller.js b/app/controllers/config.controller.js index 2eae9bd..00d5826 100644 --- a/app/controllers/config.controller.js +++ b/app/controllers/config.controller.js @@ -5,8 +5,8 @@ angular.module("umbraco").controller("Imulus.ArchetypeConfigController", functio //define empty items var newPropertyModel = '{"alias": "", "remove": false, "collapse": false, "label": "", "helpText": "", "dataTypeGuid": "0cc0eba1-9960-42c9-bf9b-60e150b429ae", "value": ""}'; - var newFieldsetModel = '{"alias": "", "remove": false, "collapse": false, "labelTemplate": "", "icon": "", "label": "", "properties": [' + newPropertyModel + ']}'; - var defaultFieldsetConfigModel = JSON.parse('{"showAdvancedOptions": false, "startWithAddButton": false, "hideFieldsetToolbar": false, "enableMultipleFieldsets": false, "hideFieldsetControls": false, "hidePropertyLabel": false, "maxFieldsets": null, "enableCollapsing": true, "enableCloning": false, "enableDisabling": true, "enableDeepDatatypeRequests": false, "fieldsets": [' + newFieldsetModel + ']}'); + var newFieldsetModel = '{"alias": "", "remove": false, "collapse": false, "labelTemplate": "", "icon": "", "label": "", "properties": [' + newPropertyModel + '], "group": null}'; + var defaultFieldsetConfigModel = JSON.parse('{"showAdvancedOptions": false, "startWithAddButton": false, "hideFieldsetToolbar": false, "enableMultipleFieldsets": false, "hideFieldsetControls": false, "hidePropertyLabel": false, "maxFieldsets": null, "enableCollapsing": true, "enableCloning": false, "enableDisabling": true, "enableDeepDatatypeRequests": false, "fieldsets": [' + newFieldsetModel + '], "fieldsetGroups": []}'); //ini the model $scope.model.value = $scope.model.value || defaultFieldsetConfigModel; @@ -234,12 +234,32 @@ angular.module("umbraco").controller("Imulus.ArchetypeConfigController", functio } } + //handles a fieldset group add + $scope.addFieldsetGroup = function () { + $scope.archetypeConfigRenderModel.fieldsetGroups.push({ name: "" }); + } + + //handles a fieldset group removal + $scope.removeFieldsetGroup = function ($index) { + $scope.archetypeConfigRenderModel.fieldsetGroups.splice($index, 1); + } + //helper to ini the render model function initConfigRenderModel() { $scope.archetypeConfigRenderModel = $scope.model.value; + if (!$scope.archetypeConfigRenderModel.fieldsetGroups) { + $scope.archetypeConfigRenderModel.fieldsetGroups = []; + } - _.each($scope.archetypeConfigRenderModel.fieldsets, function(fieldset){ + _.each($scope.archetypeConfigRenderModel.fieldsets, function(fieldset) { + + if (fieldset.group) { + // tie the fieldset group back up to the actual group object, not the clone that's been persisted + fieldset.group = _.find($scope.archetypeConfigRenderModel.fieldsetGroups, function(fieldsetGroup) { + return fieldsetGroup.name == fieldset.group.name; + }) + } fieldset.remove = false; if (fieldset.alias.length > 0) diff --git a/app/controllers/controller.js b/app/controllers/controller.js index ffff1ae..b48ee09 100644 --- a/app/controllers/controller.js +++ b/app/controllers/controller.js @@ -1,4 +1,4 @@ -angular.module("umbraco").controller("Imulus.ArchetypeController", function ($scope, $http, assetsService, angularHelper, notificationsService, $timeout, fileManager, entityResource, archetypeService, archetypeLabelService, archetypeCacheService, archetypePropertyEditorResource) { +angular.module("umbraco").controller("Imulus.ArchetypeController", function ($scope, $http, $filter, assetsService, angularHelper, notificationsService, $timeout, fileManager, entityResource, archetypeService, archetypeLabelService, archetypeCacheService, archetypePropertyEditorResource) { //$scope.model.value = ""; $scope.model.hideLabel = $scope.model.config.hideLabel == 1; @@ -76,27 +76,38 @@ angular.module("umbraco").controller("Imulus.ArchetypeController", function ($sc return; } - $scope.overlayMenu.fieldsets = []; + var allFieldsets = []; _.each($scope.model.config.fieldsets, function (fieldset) { var icon = fieldset.icon; - $scope.overlayMenu.fieldsets.push({ + allFieldsets.push({ alias: fieldset.alias, label: fieldset.label, - icon: (fieldset.icon || "icon-document-dashed-line") // default icon if none is chosen + icon: (fieldset.icon || "icon-document-dashed-line"), // default icon if none is chosen + group: fieldset.group ? fieldset.group.name : null }); - $scope.overlayMenu.index = $index; }); - // sanity check - if ($scope.overlayMenu.fieldsets.length == 0) { + if (allFieldsets == 0) { return; } - if ($scope.overlayMenu.fieldsets.length == 1) { + if (allFieldsets.length == 1) { // only one fieldset type - no need to display the picker - $scope.addRow($scope.overlayMenu.fieldsets[0].alias, $index); + $scope.addRow(allFieldsets[0].alias, $index); return; } + $scope.overlayMenu.fieldsetGroups = []; + if ($scope.model.config.fieldsetGroups && $scope.model.config.fieldsetGroups.length > 0) { + _.each($scope.model.config.fieldsetGroups, function (fieldsetGroup) { + $scope.overlayMenu.fieldsetGroups.push({ name: fieldsetGroup.name, fieldsets: $filter("filter")(allFieldsets, { group: fieldsetGroup.name }, true) }); + }) + } + else { + $scope.overlayMenu.fieldsetGroups.push({ name: "", fieldsets: allFieldsets }); + } + $scope.overlayMenu.index = $index; + $scope.overlayMenu.activeFieldsetGroup = $scope.overlayMenu.fieldsetGroups[0]; + // calculate overlay position // - yeah... it's jQuery (ungh!) but that's how the Grid does it. var offset = $(event.target).offset(); diff --git a/app/langs/da-dk.js b/app/langs/da-dk.js index 9c686e4..f439e02 100644 --- a/app/langs/da-dk.js +++ b/app/langs/da-dk.js @@ -40,5 +40,9 @@ "overrideDefaultConverterDescription":"Check this if you wish to use your own custom property value converter.", "overrideDefaultConverter":"Override Default Property Value Converter?", "enableCloning":"Enable Cloning?", - "enableCloningDescription":"Enable Fieldset Cloning." + "enableCloningDescription":"Enable Fieldset Cloning.", + "fieldsetGroups":"Fieldset-grupper", + "fieldsetGroupsDescription":"Hvis du har mange fieldsets, skal du måske overveje at gruppere dem i fieldset-vælgeren. Når du først har defineret dine grupper her, vil en gruppe-vælger dukke op i fieldset-editoren, og du kan derefter vælge grupper for alle dine fieldsets.", + "fieldsetGroupName":"Navn", + "addFieldsetGroup":"Tilføj gruppe" } diff --git a/app/langs/da.js b/app/langs/da.js index 9c686e4..41e15e6 100644 --- a/app/langs/da.js +++ b/app/langs/da.js @@ -40,5 +40,9 @@ "overrideDefaultConverterDescription":"Check this if you wish to use your own custom property value converter.", "overrideDefaultConverter":"Override Default Property Value Converter?", "enableCloning":"Enable Cloning?", - "enableCloningDescription":"Enable Fieldset Cloning." + "enableCloningDescription":"Enable Fieldset Cloning.", + "fieldsetGroups":"Fieldset-grupper", + "fieldsetGroupsDescription":"Hvis du har mange fieldsets, skal du måske overveje at gruppere dem i fieldset-vælgeren. Når du først har defineret dine grupper her, vil en gruppe-vælger dukke op i fieldset-editoren, og du kan derefter vælge grupper for alle dine fieldsets.", + "fieldsetGroupName":"Navn", + "addFieldsetGroup":"Tilføj gruppe" } diff --git a/app/langs/de-de.js b/app/langs/de-de.js index fc06d93..8bd0ee0 100644 --- a/app/langs/de-de.js +++ b/app/langs/de-de.js @@ -40,5 +40,9 @@ "overrideDefaultConverterDescription":"Check this if you wish to use your own custom property value converter.", "overrideDefaultConverter":"Override Default Property Value Converter?", "enableCloning":"Enable Cloning?", - "enableCloningDescription":"Enable Fieldset Cloning." + "enableCloningDescription":"Enable Fieldset Cloning.", + "fieldsetGroups":"Fieldset groups", + "fieldsetGroupsDescription":"If you have a lot of fieldsets to choose from, you may want to consider grouping them in the fieldset picker. Once you have created your groups here, a group picker will be displayed in the fieldset editor and you can assign your fieldsets to their respective groups.", + "fieldsetGroupName":"Name", + "addFieldsetGroup":"Add group" } diff --git a/app/langs/de.js b/app/langs/de.js index fc06d93..8bd0ee0 100644 --- a/app/langs/de.js +++ b/app/langs/de.js @@ -40,5 +40,9 @@ "overrideDefaultConverterDescription":"Check this if you wish to use your own custom property value converter.", "overrideDefaultConverter":"Override Default Property Value Converter?", "enableCloning":"Enable Cloning?", - "enableCloningDescription":"Enable Fieldset Cloning." + "enableCloningDescription":"Enable Fieldset Cloning.", + "fieldsetGroups":"Fieldset groups", + "fieldsetGroupsDescription":"If you have a lot of fieldsets to choose from, you may want to consider grouping them in the fieldset picker. Once you have created your groups here, a group picker will be displayed in the fieldset editor and you can assign your fieldsets to their respective groups.", + "fieldsetGroupName":"Name", + "addFieldsetGroup":"Add group" } diff --git a/app/langs/en-gb.js b/app/langs/en-gb.js index 61f2847..7ca10c9 100644 --- a/app/langs/en-gb.js +++ b/app/langs/en-gb.js @@ -40,5 +40,9 @@ "overrideDefaultConverterDescription":"Check this if you wish to use your own custom property value converter.", "overrideDefaultConverter":"Override Default Property Value Converter?", "enableCloning":"Enable Cloning?", - "enableCloningDescription":"Enable Fieldset Cloning." + "enableCloningDescription":"Enable Fieldset Cloning.", + "fieldsetGroups":"Fieldset groups", + "fieldsetGroupsDescription":"If you have a lot of fieldsets to choose from, you may want to consider grouping them in the fieldset picker. Once you have created your groups here, a group picker will be displayed in the fieldset editor and you can assign your fieldsets to their respective groups.", + "fieldsetGroupName":"Name", + "addFieldsetGroup":"Add group" } diff --git a/app/langs/en-us.js b/app/langs/en-us.js index fc06d93..8bd0ee0 100644 --- a/app/langs/en-us.js +++ b/app/langs/en-us.js @@ -40,5 +40,9 @@ "overrideDefaultConverterDescription":"Check this if you wish to use your own custom property value converter.", "overrideDefaultConverter":"Override Default Property Value Converter?", "enableCloning":"Enable Cloning?", - "enableCloningDescription":"Enable Fieldset Cloning." + "enableCloningDescription":"Enable Fieldset Cloning.", + "fieldsetGroups":"Fieldset groups", + "fieldsetGroupsDescription":"If you have a lot of fieldsets to choose from, you may want to consider grouping them in the fieldset picker. Once you have created your groups here, a group picker will be displayed in the fieldset editor and you can assign your fieldsets to their respective groups.", + "fieldsetGroupName":"Name", + "addFieldsetGroup":"Add group" } diff --git a/app/langs/en.js b/app/langs/en.js index fc06d93..8bd0ee0 100644 --- a/app/langs/en.js +++ b/app/langs/en.js @@ -40,5 +40,9 @@ "overrideDefaultConverterDescription":"Check this if you wish to use your own custom property value converter.", "overrideDefaultConverter":"Override Default Property Value Converter?", "enableCloning":"Enable Cloning?", - "enableCloningDescription":"Enable Fieldset Cloning." + "enableCloningDescription":"Enable Fieldset Cloning.", + "fieldsetGroups":"Fieldset groups", + "fieldsetGroupsDescription":"If you have a lot of fieldsets to choose from, you may want to consider grouping them in the fieldset picker. Once you have created your groups here, a group picker will be displayed in the fieldset editor and you can assign your fieldsets to their respective groups.", + "fieldsetGroupName":"Name", + "addFieldsetGroup":"Add group" } diff --git a/app/langs/es-es.js b/app/langs/es-es.js index 3197b47..8bd0ee0 100644 --- a/app/langs/es-es.js +++ b/app/langs/es-es.js @@ -40,5 +40,9 @@ "overrideDefaultConverterDescription":"Check this if you wish to use your own custom property value converter.", "overrideDefaultConverter":"Override Default Property Value Converter?", "enableCloning":"Enable Cloning?", - "enableCloningDescription":"Enable Fieldset Cloning." + "enableCloningDescription":"Enable Fieldset Cloning.", + "fieldsetGroups":"Fieldset groups", + "fieldsetGroupsDescription":"If you have a lot of fieldsets to choose from, you may want to consider grouping them in the fieldset picker. Once you have created your groups here, a group picker will be displayed in the fieldset editor and you can assign your fieldsets to their respective groups.", + "fieldsetGroupName":"Name", + "addFieldsetGroup":"Add group" } diff --git a/app/langs/es.js b/app/langs/es.js index 3197b47..8bd0ee0 100644 --- a/app/langs/es.js +++ b/app/langs/es.js @@ -40,5 +40,9 @@ "overrideDefaultConverterDescription":"Check this if you wish to use your own custom property value converter.", "overrideDefaultConverter":"Override Default Property Value Converter?", "enableCloning":"Enable Cloning?", - "enableCloningDescription":"Enable Fieldset Cloning." + "enableCloningDescription":"Enable Fieldset Cloning.", + "fieldsetGroups":"Fieldset groups", + "fieldsetGroupsDescription":"If you have a lot of fieldsets to choose from, you may want to consider grouping them in the fieldset picker. Once you have created your groups here, a group picker will be displayed in the fieldset editor and you can assign your fieldsets to their respective groups.", + "fieldsetGroupName":"Name", + "addFieldsetGroup":"Add group" } diff --git a/app/langs/fr-fr.js b/app/langs/fr-fr.js index 3197b47..8bd0ee0 100644 --- a/app/langs/fr-fr.js +++ b/app/langs/fr-fr.js @@ -40,5 +40,9 @@ "overrideDefaultConverterDescription":"Check this if you wish to use your own custom property value converter.", "overrideDefaultConverter":"Override Default Property Value Converter?", "enableCloning":"Enable Cloning?", - "enableCloningDescription":"Enable Fieldset Cloning." + "enableCloningDescription":"Enable Fieldset Cloning.", + "fieldsetGroups":"Fieldset groups", + "fieldsetGroupsDescription":"If you have a lot of fieldsets to choose from, you may want to consider grouping them in the fieldset picker. Once you have created your groups here, a group picker will be displayed in the fieldset editor and you can assign your fieldsets to their respective groups.", + "fieldsetGroupName":"Name", + "addFieldsetGroup":"Add group" } diff --git a/app/langs/he-il.js b/app/langs/he-il.js index 3197b47..8bd0ee0 100644 --- a/app/langs/he-il.js +++ b/app/langs/he-il.js @@ -40,5 +40,9 @@ "overrideDefaultConverterDescription":"Check this if you wish to use your own custom property value converter.", "overrideDefaultConverter":"Override Default Property Value Converter?", "enableCloning":"Enable Cloning?", - "enableCloningDescription":"Enable Fieldset Cloning." + "enableCloningDescription":"Enable Fieldset Cloning.", + "fieldsetGroups":"Fieldset groups", + "fieldsetGroupsDescription":"If you have a lot of fieldsets to choose from, you may want to consider grouping them in the fieldset picker. Once you have created your groups here, a group picker will be displayed in the fieldset editor and you can assign your fieldsets to their respective groups.", + "fieldsetGroupName":"Name", + "addFieldsetGroup":"Add group" } diff --git a/app/langs/it-it.js b/app/langs/it-it.js index 3197b47..8bd0ee0 100644 --- a/app/langs/it-it.js +++ b/app/langs/it-it.js @@ -40,5 +40,9 @@ "overrideDefaultConverterDescription":"Check this if you wish to use your own custom property value converter.", "overrideDefaultConverter":"Override Default Property Value Converter?", "enableCloning":"Enable Cloning?", - "enableCloningDescription":"Enable Fieldset Cloning." + "enableCloningDescription":"Enable Fieldset Cloning.", + "fieldsetGroups":"Fieldset groups", + "fieldsetGroupsDescription":"If you have a lot of fieldsets to choose from, you may want to consider grouping them in the fieldset picker. Once you have created your groups here, a group picker will be displayed in the fieldset editor and you can assign your fieldsets to their respective groups.", + "fieldsetGroupName":"Name", + "addFieldsetGroup":"Add group" } diff --git a/app/langs/ja-jp.js b/app/langs/ja-jp.js index 3197b47..8bd0ee0 100644 --- a/app/langs/ja-jp.js +++ b/app/langs/ja-jp.js @@ -40,5 +40,9 @@ "overrideDefaultConverterDescription":"Check this if you wish to use your own custom property value converter.", "overrideDefaultConverter":"Override Default Property Value Converter?", "enableCloning":"Enable Cloning?", - "enableCloningDescription":"Enable Fieldset Cloning." + "enableCloningDescription":"Enable Fieldset Cloning.", + "fieldsetGroups":"Fieldset groups", + "fieldsetGroupsDescription":"If you have a lot of fieldsets to choose from, you may want to consider grouping them in the fieldset picker. Once you have created your groups here, a group picker will be displayed in the fieldset editor and you can assign your fieldsets to their respective groups.", + "fieldsetGroupName":"Name", + "addFieldsetGroup":"Add group" } diff --git a/app/langs/ko-kr.js b/app/langs/ko-kr.js index 3197b47..8bd0ee0 100644 --- a/app/langs/ko-kr.js +++ b/app/langs/ko-kr.js @@ -40,5 +40,9 @@ "overrideDefaultConverterDescription":"Check this if you wish to use your own custom property value converter.", "overrideDefaultConverter":"Override Default Property Value Converter?", "enableCloning":"Enable Cloning?", - "enableCloningDescription":"Enable Fieldset Cloning." + "enableCloningDescription":"Enable Fieldset Cloning.", + "fieldsetGroups":"Fieldset groups", + "fieldsetGroupsDescription":"If you have a lot of fieldsets to choose from, you may want to consider grouping them in the fieldset picker. Once you have created your groups here, a group picker will be displayed in the fieldset editor and you can assign your fieldsets to their respective groups.", + "fieldsetGroupName":"Name", + "addFieldsetGroup":"Add group" } diff --git a/app/langs/nb-no.js b/app/langs/nb-no.js index 3197b47..8bd0ee0 100644 --- a/app/langs/nb-no.js +++ b/app/langs/nb-no.js @@ -40,5 +40,9 @@ "overrideDefaultConverterDescription":"Check this if you wish to use your own custom property value converter.", "overrideDefaultConverter":"Override Default Property Value Converter?", "enableCloning":"Enable Cloning?", - "enableCloningDescription":"Enable Fieldset Cloning." + "enableCloningDescription":"Enable Fieldset Cloning.", + "fieldsetGroups":"Fieldset groups", + "fieldsetGroupsDescription":"If you have a lot of fieldsets to choose from, you may want to consider grouping them in the fieldset picker. Once you have created your groups here, a group picker will be displayed in the fieldset editor and you can assign your fieldsets to their respective groups.", + "fieldsetGroupName":"Name", + "addFieldsetGroup":"Add group" } diff --git a/app/langs/nl-nl.js b/app/langs/nl-nl.js index 3197b47..8bd0ee0 100644 --- a/app/langs/nl-nl.js +++ b/app/langs/nl-nl.js @@ -40,5 +40,9 @@ "overrideDefaultConverterDescription":"Check this if you wish to use your own custom property value converter.", "overrideDefaultConverter":"Override Default Property Value Converter?", "enableCloning":"Enable Cloning?", - "enableCloningDescription":"Enable Fieldset Cloning." + "enableCloningDescription":"Enable Fieldset Cloning.", + "fieldsetGroups":"Fieldset groups", + "fieldsetGroupsDescription":"If you have a lot of fieldsets to choose from, you may want to consider grouping them in the fieldset picker. Once you have created your groups here, a group picker will be displayed in the fieldset editor and you can assign your fieldsets to their respective groups.", + "fieldsetGroupName":"Name", + "addFieldsetGroup":"Add group" } diff --git a/app/langs/pl-pl.js b/app/langs/pl-pl.js index 3197b47..8bd0ee0 100644 --- a/app/langs/pl-pl.js +++ b/app/langs/pl-pl.js @@ -40,5 +40,9 @@ "overrideDefaultConverterDescription":"Check this if you wish to use your own custom property value converter.", "overrideDefaultConverter":"Override Default Property Value Converter?", "enableCloning":"Enable Cloning?", - "enableCloningDescription":"Enable Fieldset Cloning." + "enableCloningDescription":"Enable Fieldset Cloning.", + "fieldsetGroups":"Fieldset groups", + "fieldsetGroupsDescription":"If you have a lot of fieldsets to choose from, you may want to consider grouping them in the fieldset picker. Once you have created your groups here, a group picker will be displayed in the fieldset editor and you can assign your fieldsets to their respective groups.", + "fieldsetGroupName":"Name", + "addFieldsetGroup":"Add group" } diff --git a/app/langs/pt-br.js b/app/langs/pt-br.js index 3197b47..8bd0ee0 100644 --- a/app/langs/pt-br.js +++ b/app/langs/pt-br.js @@ -40,5 +40,9 @@ "overrideDefaultConverterDescription":"Check this if you wish to use your own custom property value converter.", "overrideDefaultConverter":"Override Default Property Value Converter?", "enableCloning":"Enable Cloning?", - "enableCloningDescription":"Enable Fieldset Cloning." + "enableCloningDescription":"Enable Fieldset Cloning.", + "fieldsetGroups":"Fieldset groups", + "fieldsetGroupsDescription":"If you have a lot of fieldsets to choose from, you may want to consider grouping them in the fieldset picker. Once you have created your groups here, a group picker will be displayed in the fieldset editor and you can assign your fieldsets to their respective groups.", + "fieldsetGroupName":"Name", + "addFieldsetGroup":"Add group" } diff --git a/app/langs/ru-ru.js b/app/langs/ru-ru.js index 3197b47..8bd0ee0 100644 --- a/app/langs/ru-ru.js +++ b/app/langs/ru-ru.js @@ -40,5 +40,9 @@ "overrideDefaultConverterDescription":"Check this if you wish to use your own custom property value converter.", "overrideDefaultConverter":"Override Default Property Value Converter?", "enableCloning":"Enable Cloning?", - "enableCloningDescription":"Enable Fieldset Cloning." + "enableCloningDescription":"Enable Fieldset Cloning.", + "fieldsetGroups":"Fieldset groups", + "fieldsetGroupsDescription":"If you have a lot of fieldsets to choose from, you may want to consider grouping them in the fieldset picker. Once you have created your groups here, a group picker will be displayed in the fieldset editor and you can assign your fieldsets to their respective groups.", + "fieldsetGroupName":"Name", + "addFieldsetGroup":"Add group" } diff --git a/app/langs/sv-se.js b/app/langs/sv-se.js index 3197b47..8bd0ee0 100644 --- a/app/langs/sv-se.js +++ b/app/langs/sv-se.js @@ -40,5 +40,9 @@ "overrideDefaultConverterDescription":"Check this if you wish to use your own custom property value converter.", "overrideDefaultConverter":"Override Default Property Value Converter?", "enableCloning":"Enable Cloning?", - "enableCloningDescription":"Enable Fieldset Cloning." + "enableCloningDescription":"Enable Fieldset Cloning.", + "fieldsetGroups":"Fieldset groups", + "fieldsetGroupsDescription":"If you have a lot of fieldsets to choose from, you may want to consider grouping them in the fieldset picker. Once you have created your groups here, a group picker will be displayed in the fieldset editor and you can assign your fieldsets to their respective groups.", + "fieldsetGroupName":"Name", + "addFieldsetGroup":"Add group" } diff --git a/app/langs/zh-cn.js b/app/langs/zh-cn.js index 3197b47..8bd0ee0 100644 --- a/app/langs/zh-cn.js +++ b/app/langs/zh-cn.js @@ -40,5 +40,9 @@ "overrideDefaultConverterDescription":"Check this if you wish to use your own custom property value converter.", "overrideDefaultConverter":"Override Default Property Value Converter?", "enableCloning":"Enable Cloning?", - "enableCloningDescription":"Enable Fieldset Cloning." + "enableCloningDescription":"Enable Fieldset Cloning.", + "fieldsetGroups":"Fieldset groups", + "fieldsetGroupsDescription":"If you have a lot of fieldsets to choose from, you may want to consider grouping them in the fieldset picker. Once you have created your groups here, a group picker will be displayed in the fieldset editor and you can assign your fieldsets to their respective groups.", + "fieldsetGroupName":"Name", + "addFieldsetGroup":"Add group" } diff --git a/app/less/archetype.less b/app/less/archetype.less index f1428e3..0835a78 100644 --- a/app/less/archetype.less +++ b/app/less/archetype.less @@ -7,6 +7,11 @@ .cell-tools-menu { height: 385px; } + &.withGroups { + .cell-tools-menu { + height: 415px; + } + } } .open { @@ -259,13 +264,33 @@ vertical-align: top; height: 90px; } + ul.groups { + display: block; + margin: 0; + padding: 4px; + li { + width: auto; + margin: 0; + padding: 0 20px; + font-weight: bold; + a { + color: #d9d9d9; + cursor: pointer; + } + &.active a, a:hover { + color: #999; + text-decoration: none; + } + } + } } } .archetypeEditor, .archetypeConfig { .archetypeEditorControls { float: right; - + } + .archetypeEditorControls, .archetypeFieldsetGroups { i { cursor: pointer; &.handle { @@ -369,6 +394,26 @@ label { width: 400px; } + .archetypeFieldsetGroups { + padding: 0 10px; + margin-bottom: 20px; + ul { + padding: 0; + margin: 0; + + li { + margin-bottom: 10px; + label { + width: 120px; + } + + input { + vertical-align: middle; + width: 240px; + } + } + } + } } .archetypeMaxFieldsets{ diff --git a/app/views/archetype.config.html b/app/views/archetype.config.html index 380f0b5..fb5f05b 100644 --- a/app/views/archetype.config.html +++ b/app/views/archetype.config.html @@ -17,6 +17,10 @@ +
+ + +
@@ -85,6 +89,22 @@
+
+

Fieldset groups

+

If you have a lot of fieldsets to choose from, you may want to consider grouping them in the fieldset picker. Once you have created your groups here, a group picker will be displayed in the fieldset editor and you can assign your fieldsets to their respective groups.

+
    +
  • +
    + + + + +
    +
  • +
+ +
+
diff --git a/app/views/archetype.default.html b/app/views/archetype.default.html index 2000b45..d9dbac3 100644 --- a/app/views/archetype.default.html +++ b/app/views/archetype.default.html @@ -46,13 +46,20 @@ Add an item
-