From f3663055833f5996a3b7daeb845d87cce583bf3c Mon Sep 17 00:00:00 2001 From: Kenn Jacobsen Date: Tue, 18 Aug 2015 15:10:37 +0200 Subject: [PATCH 01/37] Overhaul WIP --- app/less/archetype.less | 31 +++++++++++++++++++++---------- app/views/archetype.default.html | 6 +++--- 2 files changed, 24 insertions(+), 13 deletions(-) diff --git a/app/less/archetype.less b/app/less/archetype.less index bb7d403..315bed0 100644 --- a/app/less/archetype.less +++ b/app/less/archetype.less @@ -23,19 +23,25 @@ } .icon { - color: #333; + color: #ddd; + padding: 2px; + font-size: 16px; + &:hover { + color: #333; + } } .fieldsetIcon { float: left; - padding-right: 4px; + padding: 0 4px 0 0; + color: #333; + vertical-align: text-bottom; } fieldset { - border: 1px solid #dddddd; + border-bottom: 1px dashed #dddddd; padding: 0; margin-bottom: 5px; - background-color: #f1f1f1; clear: both; display: inline-block; width: 100%; @@ -103,13 +109,13 @@ } .caret { - margin: 8px 1px 0 15px; + margin: 8px 1px 0 2px; position: absolute; &.caret-right { border-bottom: 4px solid transparent; border-top: 4px solid transparent; - border-left: 4px solid #000000; + border-left: 4px solid #ddd; content: ""; margin-top: 6px; } @@ -117,10 +123,10 @@ label { margin-bottom: 0; - margin-left: 38px; + margin-left: 14px; white-space: nowrap; padding: 0; - width: ~"calc(100% - 132px)"; + width: ~"calc(100% - 142px)"; position: absolute; span { display: block; @@ -138,6 +144,12 @@ right: 15px; top: 0; } + + &:hover { + .caret-right { + border-left-color: #333; + } + } } .archetypePropertyError { @@ -157,9 +169,8 @@ .archetypeCollapser { clear: both; height: 100%; - padding-top: 12px; + padding: 12px 0 0 20px; background-color: #fff; - border-top: 1px solid silver; border-radius: 0 0 0 5px; form { diff --git a/app/views/archetype.default.html b/app/views/archetype.default.html index 6f330ed..2a53e1f 100644 --- a/app/views/archetype.default.html +++ b/app/views/archetype.default.html @@ -22,10 +22,10 @@ - - - + + +
From 451f2773a445bc6d2c6133e329ba2f15a0eb55c8 Mon Sep 17 00:00:00 2001 From: kjac Date: Tue, 18 Aug 2015 17:59:20 +0200 Subject: [PATCH 02/37] Add fieldtype picker ...and removed old dropdowns. Plus a bit more styling. --- app/controllers/controller.js | 53 ++++++++++++++++++++++++++++++++ app/less/archetype.less | 10 ++++-- app/views/archetype.default.html | 39 ++++++++++++----------- 3 files changed, 80 insertions(+), 22 deletions(-) diff --git a/app/controllers/controller.js b/app/controllers/controller.js index 09c23d6..9ac562c 100644 --- a/app/controllers/controller.js +++ b/app/controllers/controller.js @@ -15,6 +15,11 @@ angular.module("umbraco").controller("Imulus.ArchetypeController", function ($sc // store the umbraco property alias to help generate unique IDs. Hopefully there's a better way to get this in the future :) $scope.umbracoHostPropertyAlias = $scope.$parent.$parent.model.alias; + $scope.overlayMenu = { + show: false, + style: {} + }; + init(); //hold references to helper resources @@ -74,6 +79,54 @@ angular.module("umbraco").controller("Imulus.ArchetypeController", function ($sc }; //handles a fieldset add + $scope.openFieldsetPicker = function ($index, event) { + if ($scope.canAdd() == false) { + return; + } + + $scope.overlayMenu.fieldsets = []; + _.each($scope.model.config.fieldsets, function (fieldset) { + var icon = fieldset.icon; + $scope.overlayMenu.fieldsets.push({ + alias: fieldset.alias, + label: fieldset.label, + icon: (fieldset.icon || "icon-document-dashed-line") // default icon if none is chosen + }); + $scope.overlayMenu.index = $index; + }); + + // sanity check + if ($scope.overlayMenu.fieldsets.length == 0) { + return; + } + if ($scope.overlayMenu.fieldsets.length == 1) { + // only one fieldset type - no need to display the picker + $scope.addRow($scope.overlayMenu.fieldsets[0].alias, $index); + return; + } + + // calculate overlay position + // - yeah... it's jQuery (ungh!) but that's how the Grid does it. + var offset = $(event.target).offset(); + var scrollTop = $(event.target).closest(".umb-panel-body").scrollTop(); + if (offset.top < 400) { + $scope.overlayMenu.style.top = 300 + scrollTop; + } + else { + $scope.overlayMenu.style.top = offset.top - 150 + scrollTop; + } + $scope.overlayMenu.show = true; + }; + + $scope.closeFieldsetPicker = function () { + $scope.overlayMenu.show = false; + }; + + $scope.pickFieldset = function (fieldsetAlias, $index) { + $scope.closeFieldsetPicker(); + $scope.addRow(fieldsetAlias, $index); + }; + $scope.addRow = function (fieldsetAlias, $index) { if ($scope.canAdd()) { if ($scope.model.config.fieldsets) { diff --git a/app/less/archetype.less b/app/less/archetype.less index 315bed0..fc8a9aa 100644 --- a/app/less/archetype.less +++ b/app/less/archetype.less @@ -70,7 +70,7 @@ min-height: 42px; .label-sub { - padding: 8px 0 4px 0; + padding: 10px 0 4px 0; display: inline-block; &.module-label { width: 100%; @@ -134,7 +134,9 @@ text-overflow: ellipsis; } &.dimmed { - color: #d9d9d9; + i, span { + color: #d9d9d9 !important; + } } } @@ -225,6 +227,10 @@ color: #343434; } } + + .fieldsetPicker .icon { + color: #333; + } } .archetypeEditor, .archetypeConfig { diff --git a/app/views/archetype.default.html b/app/views/archetype.default.html index 2a53e1f..72d021d 100644 --- a/app/views/archetype.default.html +++ b/app/views/archetype.default.html @@ -13,18 +13,10 @@
- - + - +
@@ -49,17 +41,24 @@
- + - Add + Add an item - +
+
+
+
+ Add an item +
+ +
From 65053232978d009096e81ce9dd3cd70e338d18c8 Mon Sep 17 00:00:00 2001 From: kjac Date: Tue, 18 Aug 2015 19:03:36 +0200 Subject: [PATCH 03/37] Removed obsolete dropdown toggles --- app/views/archetype.default.html | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/app/views/archetype.default.html b/app/views/archetype.default.html index 72d021d..0e2c209 100644 --- a/app/views/archetype.default.html +++ b/app/views/archetype.default.html @@ -13,7 +13,7 @@
- + @@ -42,7 +42,7 @@
- + Add an item
From 6919c5a8b4d12174c83a1347193424bd9fc7ac92 Mon Sep 17 00:00:00 2001 From: kjac Date: Tue, 18 Aug 2015 23:09:40 +0200 Subject: [PATCH 04/37] A bit more styling of carets + make empty headers clickable --- app/less/archetype.less | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/app/less/archetype.less b/app/less/archetype.less index fc8a9aa..8f34dbd 100644 --- a/app/less/archetype.less +++ b/app/less/archetype.less @@ -72,6 +72,7 @@ .label-sub { padding: 10px 0 4px 0; display: inline-block; + min-height: 20px; /* this makes the header clickable when there's no icon and no text */ &.module-label { width: 100%; } @@ -123,10 +124,10 @@ label { margin-bottom: 0; - margin-left: 14px; + margin-left: 18px; white-space: nowrap; padding: 0; - width: ~"calc(100% - 142px)"; + width: ~"calc(100% - 144px)"; position: absolute; span { display: block; From 0ec0e213a2a4e6baf8972fa35af50c459fd25344 Mon Sep 17 00:00:00 2001 From: kjac Date: Tue, 18 Aug 2015 23:11:44 +0200 Subject: [PATCH 05/37] Make the delete icon red on hover --- app/less/archetype.less | 3 +++ 1 file changed, 3 insertions(+) diff --git a/app/less/archetype.less b/app/less/archetype.less index 8f34dbd..c5e26f7 100644 --- a/app/less/archetype.less +++ b/app/less/archetype.less @@ -29,6 +29,9 @@ &:hover { color: #333; } + &.icon-delete:hover { + color: #b94a48; + } } .fieldsetIcon { From a7dca9378178379aa121a6a53cf961901ffa96bf Mon Sep 17 00:00:00 2001 From: Kenn Jacobsen Date: Wed, 19 Aug 2015 07:35:41 +0200 Subject: [PATCH 06/37] Moved some CSS hover rules to a more appropriate target --- app/less/archetype.less | 34 +++++++++++++++++----------------- 1 file changed, 17 insertions(+), 17 deletions(-) diff --git a/app/less/archetype.less b/app/less/archetype.less index c5e26f7..0cf9f0e 100644 --- a/app/less/archetype.less +++ b/app/less/archetype.less @@ -73,12 +73,28 @@ min-height: 42px; .label-sub { - padding: 10px 0 4px 0; + padding: 8px 0 8px 0; display: inline-block; min-height: 20px; /* this makes the header clickable when there's no icon and no text */ &.module-label { width: 100%; } + &:hover { + cursor: pointer; + + label { + span { + text-decoration: underline; + } + &:hover { + cursor: pointer; + } + } + + .caret-right { + border-left-color: #333; + } + } } .dropdown-menu { @@ -99,19 +115,6 @@ cursor: default; } - &.enableCollapsing:hover { - cursor: pointer; - - label { - span { - text-decoration: underline; - } - &:hover { - cursor: pointer; - } - } - } - .caret { margin: 8px 1px 0 2px; position: absolute; @@ -152,9 +155,6 @@ } &:hover { - .caret-right { - border-left-color: #333; - } } } From e6732d2a37e3420792aee6932bc90873c47c1a47 Mon Sep 17 00:00:00 2001 From: Kenn Jacobsen Date: Wed, 19 Aug 2015 11:57:13 +0200 Subject: [PATCH 07/37] Close fieldtype picker when clicked outside it --- Gruntfile.js | 1 + app/directives/archetypeclickoutside.js | 29 +++++++++++++++++++++++++ app/views/archetype.default.html | 2 +- 3 files changed, 31 insertions(+), 1 deletion(-) create mode 100644 app/directives/archetypeclickoutside.js diff --git a/Gruntfile.js b/Gruntfile.js index 0622f65..679fc20 100644 --- a/Gruntfile.js +++ b/Gruntfile.js @@ -58,6 +58,7 @@ module.exports = function(grunt) { 'app/directives/archetypesubmitwatcher.js', 'app/directives/archetypecustomview.js', 'app/directives/archetypeLocalize.js', + 'app/directives/archetypeclickoutside.js', 'app/services/archetypeLocalizationService.js', 'app/helpers/sampleLabelHelpers.js', 'app/resources/archetypePropertyEditorResource.js', diff --git a/app/directives/archetypeclickoutside.js b/app/directives/archetypeclickoutside.js new file mode 100644 index 0000000..5370deb --- /dev/null +++ b/app/directives/archetypeclickoutside.js @@ -0,0 +1,29 @@ +angular.module("umbraco.directives") + .directive('archetypeClickOutside', function ($timeout, $parse) { + return { + restrict: 'A', + link: function (scope, element, attrs, ctrl) { + var fn = $parse(attrs.archetypeClickOutside); + + // add click event handler (delayed so we don't trigger the callback immediately if this directive itself was triggered by a mouse click) + $timeout(function () { + $(document).on("click", mouseClick); + }, 500); + + function mouseClick(event) { + if($(event.target).closest(element).length > 0) { + return; + } + var callback = function () { + fn(scope, { $event: event }); + }; + scope.$apply(callback); + } + + // unbind event + scope.$on('$destroy', function () { + $(document).off("click", mouseClick); + }); + } + }; + }); \ No newline at end of file diff --git a/app/views/archetype.default.html b/app/views/archetype.default.html index 0e2c209..2000b45 100644 --- a/app/views/archetype.default.html +++ b/app/views/archetype.default.html @@ -47,7 +47,7 @@
-
+
Add an item
From 2aa71e48a398e3d0d2cfd8b533bbe7d77eecfa3d Mon Sep 17 00:00:00 2001 From: Kenn Jacobsen Date: Wed, 19 Aug 2015 11:57:39 +0200 Subject: [PATCH 08/37] Prettify the "default add" button a little --- app/less/archetype.less | 24 ++++++++++++++++++------ 1 file changed, 18 insertions(+), 6 deletions(-) diff --git a/app/less/archetype.less b/app/less/archetype.less index 0cf9f0e..225796f 100644 --- a/app/less/archetype.less +++ b/app/less/archetype.less @@ -208,13 +208,25 @@ border: 1px solid #b94a48; } - .archetypeAddButton:hover { - text-decoration: none; - cursor: pointer; - - .archetypeAddButtonText { - text-decoration: underline; + .archetypeAddButton { + color: #ddd; + .icon { + vertical-align: text-top; } + &:hover { + color: #333; + text-decoration: none; + cursor: pointer; + + .archetypeAddButtonText { + text-decoration: underline; + } + + .icon { + color: #333; + } + } + } .multiPropertyTextbox { From 6d9c32e30d98b5c13a01a345dc8319a4465f3552 Mon Sep 17 00:00:00 2001 From: Kenn Jacobsen Date: Wed, 19 Aug 2015 12:40:44 +0200 Subject: [PATCH 09/37] Localization --- app/langs/da-dk.js | 1 + app/langs/da.js | 1 + app/langs/de-de.js | 1 + app/langs/de.js | 1 + app/langs/en-gb.js | 1 + app/langs/en-us.js | 1 + app/langs/en.js | 1 + app/langs/es-es.js | 1 + app/langs/es.js | 1 + app/langs/fr-fr.js | 1 + app/langs/he-il.js | 1 + app/langs/it-it.js | 1 + app/langs/ja-jp.js | 1 + app/langs/ko-kr.js | 1 + app/langs/nb-no.js | 1 + app/langs/nl-nl.js | 1 + app/langs/pl-pl.js | 1 + app/langs/pt-br.js | 1 + app/langs/ru-ru.js | 1 + app/langs/sv-se.js | 1 + app/langs/zh-cn.js | 1 + 21 files changed, 21 insertions(+) diff --git a/app/langs/da-dk.js b/app/langs/da-dk.js index 88306a5..9c686e4 100644 --- a/app/langs/da-dk.js +++ b/app/langs/da-dk.js @@ -1,6 +1,7 @@ { "label": "Label", "alias": "Alias", + "addFieldset": "Tilføj et element", "hideFieldsetControls": "Skjul fieldsets?", "hideFieldsetControlsDescription": "Skjuler kontrollerne tilføj/fjern/sortér.", "toggleAdvanced": "Slå avancerede muligheder til/fra", diff --git a/app/langs/da.js b/app/langs/da.js index 88306a5..9c686e4 100644 --- a/app/langs/da.js +++ b/app/langs/da.js @@ -1,6 +1,7 @@ { "label": "Label", "alias": "Alias", + "addFieldset": "Tilføj et element", "hideFieldsetControls": "Skjul fieldsets?", "hideFieldsetControlsDescription": "Skjuler kontrollerne tilføj/fjern/sortér.", "toggleAdvanced": "Slå avancerede muligheder til/fra", diff --git a/app/langs/de-de.js b/app/langs/de-de.js index 6dc9bfc..fc06d93 100644 --- a/app/langs/de-de.js +++ b/app/langs/de-de.js @@ -1,6 +1,7 @@ { "label": "Label", "alias": "Alias", + "addFieldset": "Add an item", "hideFieldsetControls": "Hide Fieldset Controls?", "hideFieldsetControlsDescription": "Hides the fieldset add/remove/sort controls.", "toggleAdvanced": "Toggle Advanced Options", diff --git a/app/langs/de.js b/app/langs/de.js index 6dc9bfc..fc06d93 100644 --- a/app/langs/de.js +++ b/app/langs/de.js @@ -1,6 +1,7 @@ { "label": "Label", "alias": "Alias", + "addFieldset": "Add an item", "hideFieldsetControls": "Hide Fieldset Controls?", "hideFieldsetControlsDescription": "Hides the fieldset add/remove/sort controls.", "toggleAdvanced": "Toggle Advanced Options", diff --git a/app/langs/en-gb.js b/app/langs/en-gb.js index dff4043..61f2847 100644 --- a/app/langs/en-gb.js +++ b/app/langs/en-gb.js @@ -1,6 +1,7 @@ { "label": "Label", "alias": "Alias", + "addFieldset": "Add an item", "hideFieldsetControls": "Hide Fieldset Controls?", "hideFieldsetControlsDescription": "Hides the fieldset add/remove/sort controls.", "toggleAdvanced": "Toggle Advanced Options", diff --git a/app/langs/en-us.js b/app/langs/en-us.js index 6dc9bfc..fc06d93 100644 --- a/app/langs/en-us.js +++ b/app/langs/en-us.js @@ -1,6 +1,7 @@ { "label": "Label", "alias": "Alias", + "addFieldset": "Add an item", "hideFieldsetControls": "Hide Fieldset Controls?", "hideFieldsetControlsDescription": "Hides the fieldset add/remove/sort controls.", "toggleAdvanced": "Toggle Advanced Options", diff --git a/app/langs/en.js b/app/langs/en.js index 6dc9bfc..fc06d93 100644 --- a/app/langs/en.js +++ b/app/langs/en.js @@ -1,6 +1,7 @@ { "label": "Label", "alias": "Alias", + "addFieldset": "Add an item", "hideFieldsetControls": "Hide Fieldset Controls?", "hideFieldsetControlsDescription": "Hides the fieldset add/remove/sort controls.", "toggleAdvanced": "Toggle Advanced Options", diff --git a/app/langs/es-es.js b/app/langs/es-es.js index 7ec819e..3197b47 100644 --- a/app/langs/es-es.js +++ b/app/langs/es-es.js @@ -1,6 +1,7 @@ { "label": "Label", "alias": "Alias", + "addFieldset": "Add an item", "hideFieldsetControls": "Hide Fieldset Controls?", "hideFieldsetControlsDescription": "Hides the fieldset add/remove/sort controls.", "toggleAdvanced": "Toggle Advanced Options", diff --git a/app/langs/es.js b/app/langs/es.js index 7ec819e..3197b47 100644 --- a/app/langs/es.js +++ b/app/langs/es.js @@ -1,6 +1,7 @@ { "label": "Label", "alias": "Alias", + "addFieldset": "Add an item", "hideFieldsetControls": "Hide Fieldset Controls?", "hideFieldsetControlsDescription": "Hides the fieldset add/remove/sort controls.", "toggleAdvanced": "Toggle Advanced Options", diff --git a/app/langs/fr-fr.js b/app/langs/fr-fr.js index 7ec819e..3197b47 100644 --- a/app/langs/fr-fr.js +++ b/app/langs/fr-fr.js @@ -1,6 +1,7 @@ { "label": "Label", "alias": "Alias", + "addFieldset": "Add an item", "hideFieldsetControls": "Hide Fieldset Controls?", "hideFieldsetControlsDescription": "Hides the fieldset add/remove/sort controls.", "toggleAdvanced": "Toggle Advanced Options", diff --git a/app/langs/he-il.js b/app/langs/he-il.js index 7ec819e..3197b47 100644 --- a/app/langs/he-il.js +++ b/app/langs/he-il.js @@ -1,6 +1,7 @@ { "label": "Label", "alias": "Alias", + "addFieldset": "Add an item", "hideFieldsetControls": "Hide Fieldset Controls?", "hideFieldsetControlsDescription": "Hides the fieldset add/remove/sort controls.", "toggleAdvanced": "Toggle Advanced Options", diff --git a/app/langs/it-it.js b/app/langs/it-it.js index 7ec819e..3197b47 100644 --- a/app/langs/it-it.js +++ b/app/langs/it-it.js @@ -1,6 +1,7 @@ { "label": "Label", "alias": "Alias", + "addFieldset": "Add an item", "hideFieldsetControls": "Hide Fieldset Controls?", "hideFieldsetControlsDescription": "Hides the fieldset add/remove/sort controls.", "toggleAdvanced": "Toggle Advanced Options", diff --git a/app/langs/ja-jp.js b/app/langs/ja-jp.js index 7ec819e..3197b47 100644 --- a/app/langs/ja-jp.js +++ b/app/langs/ja-jp.js @@ -1,6 +1,7 @@ { "label": "Label", "alias": "Alias", + "addFieldset": "Add an item", "hideFieldsetControls": "Hide Fieldset Controls?", "hideFieldsetControlsDescription": "Hides the fieldset add/remove/sort controls.", "toggleAdvanced": "Toggle Advanced Options", diff --git a/app/langs/ko-kr.js b/app/langs/ko-kr.js index 7ec819e..3197b47 100644 --- a/app/langs/ko-kr.js +++ b/app/langs/ko-kr.js @@ -1,6 +1,7 @@ { "label": "Label", "alias": "Alias", + "addFieldset": "Add an item", "hideFieldsetControls": "Hide Fieldset Controls?", "hideFieldsetControlsDescription": "Hides the fieldset add/remove/sort controls.", "toggleAdvanced": "Toggle Advanced Options", diff --git a/app/langs/nb-no.js b/app/langs/nb-no.js index 7ec819e..3197b47 100644 --- a/app/langs/nb-no.js +++ b/app/langs/nb-no.js @@ -1,6 +1,7 @@ { "label": "Label", "alias": "Alias", + "addFieldset": "Add an item", "hideFieldsetControls": "Hide Fieldset Controls?", "hideFieldsetControlsDescription": "Hides the fieldset add/remove/sort controls.", "toggleAdvanced": "Toggle Advanced Options", diff --git a/app/langs/nl-nl.js b/app/langs/nl-nl.js index 7ec819e..3197b47 100644 --- a/app/langs/nl-nl.js +++ b/app/langs/nl-nl.js @@ -1,6 +1,7 @@ { "label": "Label", "alias": "Alias", + "addFieldset": "Add an item", "hideFieldsetControls": "Hide Fieldset Controls?", "hideFieldsetControlsDescription": "Hides the fieldset add/remove/sort controls.", "toggleAdvanced": "Toggle Advanced Options", diff --git a/app/langs/pl-pl.js b/app/langs/pl-pl.js index 7ec819e..3197b47 100644 --- a/app/langs/pl-pl.js +++ b/app/langs/pl-pl.js @@ -1,6 +1,7 @@ { "label": "Label", "alias": "Alias", + "addFieldset": "Add an item", "hideFieldsetControls": "Hide Fieldset Controls?", "hideFieldsetControlsDescription": "Hides the fieldset add/remove/sort controls.", "toggleAdvanced": "Toggle Advanced Options", diff --git a/app/langs/pt-br.js b/app/langs/pt-br.js index 7ec819e..3197b47 100644 --- a/app/langs/pt-br.js +++ b/app/langs/pt-br.js @@ -1,6 +1,7 @@ { "label": "Label", "alias": "Alias", + "addFieldset": "Add an item", "hideFieldsetControls": "Hide Fieldset Controls?", "hideFieldsetControlsDescription": "Hides the fieldset add/remove/sort controls.", "toggleAdvanced": "Toggle Advanced Options", diff --git a/app/langs/ru-ru.js b/app/langs/ru-ru.js index 7ec819e..3197b47 100644 --- a/app/langs/ru-ru.js +++ b/app/langs/ru-ru.js @@ -1,6 +1,7 @@ { "label": "Label", "alias": "Alias", + "addFieldset": "Add an item", "hideFieldsetControls": "Hide Fieldset Controls?", "hideFieldsetControlsDescription": "Hides the fieldset add/remove/sort controls.", "toggleAdvanced": "Toggle Advanced Options", diff --git a/app/langs/sv-se.js b/app/langs/sv-se.js index 7ec819e..3197b47 100644 --- a/app/langs/sv-se.js +++ b/app/langs/sv-se.js @@ -1,6 +1,7 @@ { "label": "Label", "alias": "Alias", + "addFieldset": "Add an item", "hideFieldsetControls": "Hide Fieldset Controls?", "hideFieldsetControlsDescription": "Hides the fieldset add/remove/sort controls.", "toggleAdvanced": "Toggle Advanced Options", diff --git a/app/langs/zh-cn.js b/app/langs/zh-cn.js index 7ec819e..3197b47 100644 --- a/app/langs/zh-cn.js +++ b/app/langs/zh-cn.js @@ -1,6 +1,7 @@ { "label": "Label", "alias": "Alias", + "addFieldset": "Add an item", "hideFieldsetControls": "Hide Fieldset Controls?", "hideFieldsetControlsDescription": "Hides the fieldset add/remove/sort controls.", "toggleAdvanced": "Toggle Advanced Options", From 5c95f592198dbacbad99b368d6aae49aafa3fe72 Mon Sep 17 00:00:00 2001 From: kgiszewski Date: Wed, 19 Aug 2015 09:04:41 -0400 Subject: [PATCH 10/37] Bump version number --- app/Umbraco/Umbraco.Archetype/Properties/VersionInfo.cs | 4 ++-- config/meta.json | 2 +- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/app/Umbraco/Umbraco.Archetype/Properties/VersionInfo.cs b/app/Umbraco/Umbraco.Archetype/Properties/VersionInfo.cs index b6cf2cf..ebab8fa 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.9")] -[assembly: AssemblyFileVersion("1.9")] +[assembly: AssemblyVersion("1.10")] +[assembly: AssemblyFileVersion("1.10-ui-rc1")] diff --git a/config/meta.json b/config/meta.json index cbc87ce..6fdb34f 100644 --- a/config/meta.json +++ b/config/meta.json @@ -1,6 +1,6 @@ { "name": "Archetype", - "version": "1.9", + "version": "1.10-ui-rc1", "url": "http://github.com/imulus/archetype/", "author": "Imulus - Kevin Giszewski - Tom Fulton - Lee Kelleher - Matt Brailsford - Kenn Jacobsen - Et. Al.", "authorUrl": "http://imulus.com/", From 8e11a33031daa9ebcf5d64676d03386a4e962559 Mon Sep 17 00:00:00 2001 From: Kenn Jacobsen Date: Wed, 19 Aug 2015 15:22:53 +0200 Subject: [PATCH 11/37] Make sure fieldset names are not cropped --- app/less/archetype.less | 10 ++++++++-- 1 file changed, 8 insertions(+), 2 deletions(-) diff --git a/app/less/archetype.less b/app/less/archetype.less index 225796f..f30f6a1 100644 --- a/app/less/archetype.less +++ b/app/less/archetype.less @@ -244,8 +244,14 @@ } } - .fieldsetPicker .icon { - color: #333; + .fieldsetPicker { + .icon { + color: #333; + } + ul.elements li { + overflow: visible; + vertical-align: top; + } } } From 1e9c7d0a6c87665ca5d82b1dbb5ead1435082a98 Mon Sep 17 00:00:00 2001 From: kgiszewski Date: Tue, 25 Aug 2015 12:59:26 -0400 Subject: [PATCH 12/37] Final tweaks to css and version numbers --- app/Umbraco/Umbraco.Archetype/Properties/VersionInfo.cs | 2 +- app/less/archetype.less | 9 ++++++++- config/meta.json | 2 +- 3 files changed, 10 insertions(+), 3 deletions(-) diff --git a/app/Umbraco/Umbraco.Archetype/Properties/VersionInfo.cs b/app/Umbraco/Umbraco.Archetype/Properties/VersionInfo.cs index ebab8fa..c3f9401 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.10")] -[assembly: AssemblyFileVersion("1.10-ui-rc1")] +[assembly: AssemblyFileVersion("1.10")] diff --git a/app/less/archetype.less b/app/less/archetype.less index f30f6a1..f1428e3 100644 --- a/app/less/archetype.less +++ b/app/less/archetype.less @@ -3,6 +3,12 @@ .archetypeEditor { width: 98%; + .usky-grid { + .cell-tools-menu { + height: 385px; + } + } + .open { position: relative; } @@ -250,7 +256,8 @@ } ul.elements li { overflow: visible; - vertical-align: top; + vertical-align: top; + height: 90px; } } } diff --git a/config/meta.json b/config/meta.json index 6fdb34f..a5ebfb1 100644 --- a/config/meta.json +++ b/config/meta.json @@ -1,6 +1,6 @@ { "name": "Archetype", - "version": "1.10-ui-rc1", + "version": "1.10", "url": "http://github.com/imulus/archetype/", "author": "Imulus - Kevin Giszewski - Tom Fulton - Lee Kelleher - Matt Brailsford - Kenn Jacobsen - Et. Al.", "authorUrl": "http://imulus.com/", From e01c50f08a8dd3c1022cf9a2bb8d737ed843b4a1 Mon Sep 17 00:00:00 2001 From: kgiszewski Date: Wed, 2 Sep 2015 09:46:22 -0400 Subject: [PATCH 13/37] Fix #289 --- app/controllers/controller.js | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/app/controllers/controller.js b/app/controllers/controller.js index 84a460d..5458bb8 100644 --- a/app/controllers/controller.js +++ b/app/controllers/controller.js @@ -74,6 +74,10 @@ angular.module("umbraco").controller("Imulus.ArchetypeController", function ($sc draggedRteSettings[textareaId] = draggedRteSettings[textareaId] || _.findWhere(tinyMCE.editors, { id: textareaId }).settings; tinyMCE.execCommand('mceRemoveEditor', false, wrapperId); tinyMCE.init(draggedRteSettings[textareaId]); + + $element.siblings(rteClass).each(function() { + $(this).remove(); + }); }); } }; From d5fd59b954ecff7125b5111c4f19fa74328301b4 Mon Sep 17 00:00:00 2001 From: Tom Fulton Date: Mon, 28 Sep 2015 23:26:07 -0600 Subject: [PATCH 14/37] Remove editorState from model before persisting --- app/Umbraco/Umbraco.Archetype/Models/ArchetypeModel.cs | 8 +------- 1 file changed, 1 insertion(+), 7 deletions(-) diff --git a/app/Umbraco/Umbraco.Archetype/Models/ArchetypeModel.cs b/app/Umbraco/Umbraco.Archetype/Models/ArchetypeModel.cs index 975015f..9e3c512 100644 --- a/app/Umbraco/Umbraco.Archetype/Models/ArchetypeModel.cs +++ b/app/Umbraco/Umbraco.Archetype/Models/ArchetypeModel.cs @@ -30,15 +30,9 @@ namespace Archetype.Models public string SerializeForPersistence() { - // clear the editor state before serializing (it's temporary state data) - foreach(var property in Fieldsets.SelectMany(f => f.Properties.Where(p => p.EditorState != null)).ToList()) - { - property.EditorState = null; - } - var json = JObject.Parse(JsonConvert.SerializeObject(this, new JsonSerializerSettings() { ReferenceLoopHandling = ReferenceLoopHandling.Ignore })); - var propertiesToRemove = new String[] { "propertyEditorAlias", "dataTypeId", "dataTypeGuid", "hostContentType" }; + var propertiesToRemove = new String[] { "propertyEditorAlias", "dataTypeId", "dataTypeGuid", "hostContentType", "editorState" }; json.Descendants().OfType() .Where(p => propertiesToRemove.Contains(p.Name)) From 3904b6527e3f3431511f2bf40f597d5558df3e15 Mon Sep 17 00:00:00 2001 From: Kenn Jacobsen Date: Fri, 2 Oct 2015 13:40:09 +0200 Subject: [PATCH 15/37] Fix editor dragging once again --- app/controllers/controller.js | 34 +++++++++++----------------------- 1 file changed, 11 insertions(+), 23 deletions(-) diff --git a/app/controllers/controller.js b/app/controllers/controller.js index 5458bb8..ffff1ae 100644 --- a/app/controllers/controller.js +++ b/app/controllers/controller.js @@ -41,7 +41,7 @@ angular.module("umbraco").controller("Imulus.ArchetypeController", function ($sc } var draggedRteSettings; - var rteClass = ".mce-tinymce"; + var rteClass = ".umb-rte textarea"; //sort config $scope.sortableOptions = { @@ -50,34 +50,22 @@ angular.module("umbraco").controller("Imulus.ArchetypeController", function ($sc handle: ".handle", start: function(ev, ui) { draggedRteSettings = {}; - ui.item.parent().find(rteClass).each(function () { - // remove all RTEs in the dragged row and save their settings - var $element = $(this); - var wrapperId = $element.attr('id'); - var $textarea = $element.siblings('textarea'); - var textareaId = $textarea.attr('id'); - - draggedRteSettings[textareaId] = _.findWhere(tinyMCE.editors, { id: textareaId }).settings; - tinyMCE.execCommand('mceRemoveEditor', false, wrapperId); + $(rteClass, ui.item.parent()).each(function () { + var id = $(this).attr("id"); + draggedRteSettings[id] = _.findWhere(tinyMCE.editors, { id: id }).settings; + tinymce.execCommand('mceRemoveEditor', false, id); + $(this).css("visibility", "hidden"); }); }, update: function (ev, ui) { $scope.setDirty(); }, stop: function (ev, ui) { - ui.item.parent().find(rteClass).each(function () { - var $element = $(this); - var wrapperId = $element.attr('id'); - var $textarea = $element.siblings('textarea'); - var textareaId = $textarea.attr('id'); - - draggedRteSettings[textareaId] = draggedRteSettings[textareaId] || _.findWhere(tinyMCE.editors, { id: textareaId }).settings; - tinyMCE.execCommand('mceRemoveEditor', false, wrapperId); - tinyMCE.init(draggedRteSettings[textareaId]); - - $element.siblings(rteClass).each(function() { - $(this).remove(); - }); + $(rteClass, ui.item.parent()).each(function () { + var id = $(this).attr("id"); + draggedRteSettings[id] = draggedRteSettings[id] || _.findWhere(tinyMCE.editors, { id: id }).settings; + tinyMCE.execCommand("mceRemoveEditor", false, id); + tinyMCE.init(draggedRteSettings[id]); }); } }; From 275b5d22076a457a28102d582c882fed27dd92da Mon Sep 17 00:00:00 2001 From: kjac Date: Sun, 4 Oct 2015 21:39:50 +0200 Subject: [PATCH 16/37] Introduce fieldset groups --- .../Archetype.Umbraco.csproj | 1 + .../Models/ArchetypePreValue.cs | 3 ++ .../Models/ArchetypePreValueFieldset.cs | 3 ++ .../Models/ArchetypePreValueFieldsetGroup.cs | 10 +++++ app/controllers/config.controller.js | 26 +++++++++-- app/controllers/controller.js | 29 +++++++++---- app/langs/da-dk.js | 6 ++- app/langs/da.js | 6 ++- app/langs/de-de.js | 6 ++- app/langs/de.js | 6 ++- app/langs/en-gb.js | 6 ++- app/langs/en-us.js | 6 ++- app/langs/en.js | 6 ++- app/langs/es-es.js | 6 ++- app/langs/es.js | 6 ++- app/langs/fr-fr.js | 6 ++- app/langs/he-il.js | 6 ++- app/langs/it-it.js | 6 ++- app/langs/ja-jp.js | 6 ++- app/langs/ko-kr.js | 6 ++- app/langs/nb-no.js | 6 ++- app/langs/nl-nl.js | 6 ++- app/langs/pl-pl.js | 6 ++- app/langs/pt-br.js | 6 ++- app/langs/ru-ru.js | 6 ++- app/langs/sv-se.js | 6 ++- app/langs/zh-cn.js | 6 ++- app/less/archetype.less | 43 ++++++++++++++++++- app/views/archetype.config.html | 20 +++++++++ app/views/archetype.default.html | 11 ++++- 30 files changed, 236 insertions(+), 36 deletions(-) create mode 100644 app/Umbraco/Umbraco.Archetype/Models/ArchetypePreValueFieldsetGroup.cs 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 5458bb8..79ef6e3 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; @@ -88,27 +88,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 }) }); + }) + } + 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..285ea9a 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 { @@ -361,6 +386,22 @@ } } + .archetypeFieldsetGroups { + padding: 0 10px; + margin-bottom: 20px; + ul { + padding: 0; + margin: 0; + + li { + margin-bottom: 10px; + input { + vertical-align: middle; + } + + } + } + } .archetypeAdvancedOptions { margin-top: 15px; div { diff --git a/app/views/archetype.config.html b/app/views/archetype.config.html index 380f0b5..6f0c58f 100644 --- a/app/views/archetype.config.html +++ b/app/views/archetype.config.html @@ -17,6 +17,10 @@
+
+ + +
@@ -76,6 +80,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
-
+
- -
-
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.

-
    -
  • -
    - - - - -
    -
  • -
- -
@@ -105,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.

+
    +
  • +
    + + + + +
    +
  • +
+ +
+
From 3402f216b9694d52a5fb6b2d257a94da1e150e24 Mon Sep 17 00:00:00 2001 From: kgiszewski Date: Mon, 5 Oct 2015 08:13:50 -0400 Subject: [PATCH 18/37] Add more verbose error logging --- app/Umbraco/Umbraco.Archetype/Extensions/ArchetypeHelper.cs | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/app/Umbraco/Umbraco.Archetype/Extensions/ArchetypeHelper.cs b/app/Umbraco/Umbraco.Archetype/Extensions/ArchetypeHelper.cs index 3879acd..fde1255 100644 --- a/app/Umbraco/Umbraco.Archetype/Extensions/ArchetypeHelper.cs +++ b/app/Umbraco/Umbraco.Archetype/Extensions/ArchetypeHelper.cs @@ -68,7 +68,7 @@ namespace Archetype.Extensions } catch (Exception ex) { - LogHelper.Error("DeserializeJsonToArchetype", ex); + LogHelper.Error(string.Format("DeserializeJsonToArchetype Error DatatypeId=>{0} SourceJson=>{1}", dataTypeId, sourceJson), ex); } return archetype; From 5465c1c8993a04088f6530e7dceaab18b94d3004 Mon Sep 17 00:00:00 2001 From: Kenn Jacobsen Date: Mon, 5 Oct 2015 14:37:11 +0200 Subject: [PATCH 19/37] Use exact match on group name --- app/controllers/controller.js | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/app/controllers/controller.js b/app/controllers/controller.js index 79ef6e3..290515c 100644 --- a/app/controllers/controller.js +++ b/app/controllers/controller.js @@ -111,7 +111,7 @@ angular.module("umbraco").controller("Imulus.ArchetypeController", function ($sc $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 }) }); + $scope.overlayMenu.fieldsetGroups.push({ name: fieldsetGroup.name, fieldsets: $filter("filter")(allFieldsets, { group: fieldsetGroup.name }, true) }); }) } else { From ee8b16eb9b46382e9334d21d264bf8a282f58637 Mon Sep 17 00:00:00 2001 From: Kenn Jacobsen Date: Mon, 5 Oct 2015 15:03:08 +0200 Subject: [PATCH 20/37] Only show fieldset groups config when "multiple fieldsets" is enabled --- app/views/archetype.config.html | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/app/views/archetype.config.html b/app/views/archetype.config.html index 653a95c..fb5f05b 100644 --- a/app/views/archetype.config.html +++ b/app/views/archetype.config.html @@ -89,7 +89,7 @@
-
+

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.

    From b8fc0fb71c8addad7a952d224e2bfebfa4890173 Mon Sep 17 00:00:00 2001 From: kgiszewski Date: Wed, 7 Oct 2015 12:20:09 -0400 Subject: [PATCH 21/37] WIP --- Gruntfile.js | 3 +- app/controllers/config.controller.js | 13 +++ app/controllers/config.dialog.controller.js | 3 + app/less/archetype.less | 22 ++++- .../archetype.config.developer.dialog.html | 21 +++++ .../archetype.config.fieldset.dialog.html | 51 ++++++++++ app/views/archetype.config.html | 92 +------------------ .../archetype.config.stylescript.dialog.html | 20 ++++ 8 files changed, 130 insertions(+), 95 deletions(-) create mode 100644 app/controllers/config.dialog.controller.js create mode 100644 app/views/archetype.config.developer.dialog.html create mode 100644 app/views/archetype.config.fieldset.dialog.html create mode 100644 app/views/archetype.config.stylescript.dialog.html diff --git a/Gruntfile.js b/Gruntfile.js index 679fc20..86006a9 100644 --- a/Gruntfile.js +++ b/Gruntfile.js @@ -54,6 +54,7 @@ module.exports = function(grunt) { src: [ 'app/controllers/controller.js', 'app/controllers/config.controller.js', + 'app/controllers/config.dialog.controller.js', 'app/directives/archetypeproperty.js', 'app/directives/archetypesubmitwatcher.js', 'app/directives/archetypecustomview.js', @@ -73,7 +74,7 @@ module.exports = function(grunt) { copy: { html: { cwd: 'app/views/', - src: ['archetype.html', 'archetype.default.html', 'archetype.config.html'], + src: ['archetype.html', 'archetype.default.html', 'archetype.config.html', 'archetype.config.fieldset.dialog.html', 'archetype.config.stylescript.dialog.html', 'archetype.config.developer.dialog.html'], dest: '<%= basePath %>/views', expand: true }, diff --git a/app/controllers/config.controller.js b/app/controllers/config.controller.js index 00d5826..24af51e 100644 --- a/app/controllers/config.controller.js +++ b/app/controllers/config.controller.js @@ -309,6 +309,19 @@ angular.module("umbraco").controller("Imulus.ArchetypeConfigController", functio $scope.model.value.fieldsets = fieldsets; } + $scope.showOptions = function ($event, template) { + $event.preventDefault(); + + dialogService.open({ + template: template, + show: true, + callback: function(data) { + $scope.archetypeConfigRenderModel = data; + }, + dialogData: $scope.archetypeConfigRenderModel + }); + } + //archetype css assetsService.loadCss("../App_Plugins/Archetype/css/archetype.css"); }); diff --git a/app/controllers/config.dialog.controller.js b/app/controllers/config.dialog.controller.js new file mode 100644 index 0000000..cf3009d --- /dev/null +++ b/app/controllers/config.dialog.controller.js @@ -0,0 +1,3 @@ +angular.module('umbraco').controller('ArchetypeConfigOptionsController', function ($scope) { + $scope.model = $scope.dialogData; +}); \ No newline at end of file diff --git a/app/less/archetype.less b/app/less/archetype.less index 0835a78..c04ba9f 100644 --- a/app/less/archetype.less +++ b/app/less/archetype.less @@ -387,16 +387,24 @@ } .archetypeAdvancedOptions { - margin-top: 15px; - div { - margin-bottom: 10px; - } label { - width: 400px; + width: 100%; } + + input[type=checkbox] { + margin-top: 0; + margin-right: 2px; + } + + small { + color: #b3b3b3; + } + + .archetypeFieldsetGroups { padding: 0 10px; margin-bottom: 20px; + ul { padding: 0; margin: 0; @@ -447,3 +455,7 @@ visibility: visible !important; background-color: #d0e7f1 !important; } + +.archetype-dialog { + margin: 10px; +} \ No newline at end of file diff --git a/app/views/archetype.config.developer.dialog.html b/app/views/archetype.config.developer.dialog.html new file mode 100644 index 0000000..b5623fd --- /dev/null +++ b/app/views/archetype.config.developer.dialog.html @@ -0,0 +1,21 @@ +
    +
    +
    + + +
    +
    + + +
    +
    + + +
    + +
    + + +
    +
    +
    \ No newline at end of file diff --git a/app/views/archetype.config.fieldset.dialog.html b/app/views/archetype.config.fieldset.dialog.html new file mode 100644 index 0000000..3ceca39 --- /dev/null +++ b/app/views/archetype.config.fieldset.dialog.html @@ -0,0 +1,51 @@ +
    +
    +
    + +
    + +
    + +
    +
    + +
    +
    + + +
    + +
    + +
    +
    + +
    +
    + +
    +
    + +
    +
    + +
    + +
    +

    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.

    +
      +
    • +
      + + + + +
      +
    • +
    + +
    +
    +
    +
    \ No newline at end of file diff --git a/app/views/archetype.config.html b/app/views/archetype.config.html index fb5f05b..8ff552f 100644 --- a/app/views/archetype.config.html +++ b/app/views/archetype.config.html @@ -83,95 +83,9 @@
    - - -
    -
    - -
    -
    -

    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.config.stylescript.dialog.html b/app/views/archetype.config.stylescript.dialog.html new file mode 100644 index 0000000..481a1f7 --- /dev/null +++ b/app/views/archetype.config.stylescript.dialog.html @@ -0,0 +1,20 @@ +
+
+
+ + +
+
+ + +
+
+ + +
+
+ + +
+
+
\ No newline at end of file From 9787af9ed69bcf01a38ede26ec4e2781a431493d Mon Sep 17 00:00:00 2001 From: kgiszewski Date: Wed, 7 Oct 2015 13:13:56 -0400 Subject: [PATCH 22/37] Fixup some styles and move some controller functions for the grouping --- app/controllers/config.controller.js | 10 ---------- app/controllers/config.dialog.controller.js | 10 ++++++++++ app/less/archetype.less | 1 - app/views/archetype.config.developer.dialog.html | 11 ++++------- app/views/archetype.config.fieldset.dialog.html | 2 +- app/views/archetype.config.stylescript.dialog.html | 2 +- 6 files changed, 16 insertions(+), 20 deletions(-) diff --git a/app/controllers/config.controller.js b/app/controllers/config.controller.js index 24af51e..3b90511 100644 --- a/app/controllers/config.controller.js +++ b/app/controllers/config.controller.js @@ -234,16 +234,6 @@ 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() { diff --git a/app/controllers/config.dialog.controller.js b/app/controllers/config.dialog.controller.js index cf3009d..df84050 100644 --- a/app/controllers/config.dialog.controller.js +++ b/app/controllers/config.dialog.controller.js @@ -1,3 +1,13 @@ angular.module('umbraco').controller('ArchetypeConfigOptionsController', function ($scope) { $scope.model = $scope.dialogData; + + //handles a fieldset group add + $scope.addFieldsetGroup = function () { + $scope.model.fieldsetGroups.push({ name: "" }); + } + + //handles a fieldset group removal + $scope.removeFieldsetGroup = function ($index) { + $scope.model.fieldsetGroups.splice($index, 1); + } }); \ No newline at end of file diff --git a/app/less/archetype.less b/app/less/archetype.less index c04ba9f..e90773a 100644 --- a/app/less/archetype.less +++ b/app/less/archetype.less @@ -400,7 +400,6 @@ color: #b3b3b3; } - .archetypeFieldsetGroups { padding: 0 10px; margin-bottom: 20px; diff --git a/app/views/archetype.config.developer.dialog.html b/app/views/archetype.config.developer.dialog.html index b5623fd..16ae3be 100644 --- a/app/views/archetype.config.developer.dialog.html +++ b/app/views/archetype.config.developer.dialog.html @@ -1,16 +1,13 @@
-
+
- - +
- - +
- - +
diff --git a/app/views/archetype.config.fieldset.dialog.html b/app/views/archetype.config.fieldset.dialog.html index 3ceca39..11b8ff2 100644 --- a/app/views/archetype.config.fieldset.dialog.html +++ b/app/views/archetype.config.fieldset.dialog.html @@ -33,7 +33,7 @@

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.

+ 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.
+
+ + Cancel + + + +
\ No newline at end of file From a4f371a4ca8330381daff19f0fdb663e2c2eb788 Mon Sep 17 00:00:00 2001 From: kgiszewski Date: Wed, 7 Oct 2015 15:34:30 -0400 Subject: [PATCH 25/37] Enforce one dialog at a time. --- app/controllers/config.controller.js | 2 ++ 1 file changed, 2 insertions(+) diff --git a/app/controllers/config.controller.js b/app/controllers/config.controller.js index 3b90511..57c7f7d 100644 --- a/app/controllers/config.controller.js +++ b/app/controllers/config.controller.js @@ -302,6 +302,8 @@ angular.module("umbraco").controller("Imulus.ArchetypeConfigController", functio $scope.showOptions = function ($event, template) { $event.preventDefault(); + dialogService.closeAll(); + dialogService.open({ template: template, show: true, From bd4398ff284ee9b67b5c590948cd267a25d85f8f Mon Sep 17 00:00:00 2001 From: kgiszewski Date: Wed, 7 Oct 2015 15:42:00 -0400 Subject: [PATCH 26/37] Bump version to 1.11 and some minor edits --- app/Umbraco/Umbraco.Archetype/Properties/VersionInfo.cs | 4 ++-- app/views/archetype.config.developer.dialog.html | 1 - app/views/archetype.config.html | 4 +++- config/meta.json | 2 +- 4 files changed, 6 insertions(+), 5 deletions(-) diff --git a/app/Umbraco/Umbraco.Archetype/Properties/VersionInfo.cs b/app/Umbraco/Umbraco.Archetype/Properties/VersionInfo.cs index c3f9401..34b1003 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.10")] -[assembly: AssemblyFileVersion("1.10")] +[assembly: AssemblyVersion("1.11")] +[assembly: AssemblyFileVersion("1.11")] diff --git a/app/views/archetype.config.developer.dialog.html b/app/views/archetype.config.developer.dialog.html index 2ee687b..d2e242f 100644 --- a/app/views/archetype.config.developer.dialog.html +++ b/app/views/archetype.config.developer.dialog.html @@ -23,7 +23,6 @@ -
\ No newline at end of file diff --git a/app/views/archetype.config.html b/app/views/archetype.config.html index 8ff552f..4364709 100644 --- a/app/views/archetype.config.html +++ b/app/views/archetype.config.html @@ -1,4 +1,6 @@
+

Archetype

+

Lorem

  • @@ -83,7 +85,7 @@
    - +
    diff --git a/config/meta.json b/config/meta.json index a5ebfb1..b88d7bf 100644 --- a/config/meta.json +++ b/config/meta.json @@ -1,6 +1,6 @@ { "name": "Archetype", - "version": "1.10", + "version": "1.11", "url": "http://github.com/imulus/archetype/", "author": "Imulus - Kevin Giszewski - Tom Fulton - Lee Kelleher - Matt Brailsford - Kenn Jacobsen - Et. Al.", "authorUrl": "http://imulus.com/", From 0e9bef90487437149f9e8cd8ce5e215fd3844518 Mon Sep 17 00:00:00 2001 From: kgiszewski Date: Wed, 7 Oct 2015 16:11:15 -0400 Subject: [PATCH 27/37] Add logo asset, add headlines to dialogs --- Gruntfile.js | 8 +++++++- app/less/archetype.less | 7 +++++++ app/views/archetype.config.developer.dialog.html | 1 + app/views/archetype.config.fieldset.dialog.html | 1 + app/views/archetype.config.html | 11 ++++++----- .../archetype.config.stylescript.dialog.html | 1 + assets/logo_50.png | Bin 0 -> 2537 bytes 7 files changed, 23 insertions(+), 6 deletions(-) create mode 100644 assets/logo_50.png diff --git a/Gruntfile.js b/Gruntfile.js index 86006a9..169b38f 100644 --- a/Gruntfile.js +++ b/Gruntfile.js @@ -78,6 +78,12 @@ module.exports = function(grunt) { dest: '<%= basePath %>/views', expand: true }, + assets: { + cwd: 'assets/', + src: ['logo_50.png'], + dest: '<%= basePath %>/assets', + expand: true + }, dll: { cwd: 'app/Umbraco/Umbraco.Archetype/bin/Debug/', src: 'Archetype.dll', @@ -215,7 +221,7 @@ module.exports = function(grunt) { }); - grunt.registerTask('default', ['clean', 'less', 'concat', 'assemblyinfo', 'msbuild:dist', 'copy:dll', 'copy:config', 'copy:html']); + grunt.registerTask('default', ['clean', 'less', 'concat', 'assemblyinfo', 'msbuild:dist', 'copy:dll', 'copy:assets', 'copy:config', 'copy:html']); grunt.registerTask('nuget', ['clean:tmp', 'default', 'copy:nuget', 'template:nuspec', 'nugetpack', 'clean:tmp']); grunt.registerTask('umbraco', ['clean:tmp', 'default', 'copy:umbraco', 'umbracoPackage', 'clean:tmp']); diff --git a/app/less/archetype.less b/app/less/archetype.less index 8a9f2bf..8b0ce5a 100644 --- a/app/less/archetype.less +++ b/app/less/archetype.less @@ -306,6 +306,13 @@ .archetypeConfig { margin-bottom: 20px; + .archetype-headline { + + img { + margin-right: 5px; + } + } + ul { list-style: none; } diff --git a/app/views/archetype.config.developer.dialog.html b/app/views/archetype.config.developer.dialog.html index d2e242f..2cfe0cd 100644 --- a/app/views/archetype.config.developer.dialog.html +++ b/app/views/archetype.config.developer.dialog.html @@ -1,5 +1,6 @@
    +

    Developer Options

    diff --git a/app/views/archetype.config.fieldset.dialog.html b/app/views/archetype.config.fieldset.dialog.html index 0d2e037..b4cf7f9 100644 --- a/app/views/archetype.config.fieldset.dialog.html +++ b/app/views/archetype.config.fieldset.dialog.html @@ -1,5 +1,6 @@
    +

    Global Fieldset Options

    diff --git a/app/views/archetype.config.html b/app/views/archetype.config.html index 4364709..0c5ad7e 100644 --- a/app/views/archetype.config.html +++ b/app/views/archetype.config.html @@ -1,6 +1,7 @@
    -

    Archetype

    -

    Lorem

    +

    Archetype

    +

    At a minimum your Archetype needs at least one fieldset with at least one property. You can configure it to allow for multiple types of fieldsets within a single Archetype and you can even add another Archetype as a property. Please use the link below for the full manual:

    +

    Archetype Manual

    • @@ -85,9 +86,9 @@
      - - - + + +
      diff --git a/app/views/archetype.config.stylescript.dialog.html b/app/views/archetype.config.stylescript.dialog.html index 11f5f6f..542d30f 100644 --- a/app/views/archetype.config.stylescript.dialog.html +++ b/app/views/archetype.config.stylescript.dialog.html @@ -1,5 +1,6 @@
      +

      Custom Style/Script Options

      diff --git a/assets/logo_50.png b/assets/logo_50.png new file mode 100644 index 0000000000000000000000000000000000000000..c5aa9dc4e851299b2cc4aa0d93650c21e9ccbde3 GIT binary patch literal 2537 zcmaJ@dpwiv8=oekawrlNGZJccVAz~8n?o8ot*Ml;M;6<&o^8yeawt-SLWP&SD#=+X zk>pUMcx(M?q$b5%h^QRi4&Ldl-rpa;e$VIgJokOwpYQj3UH5f;|9FmU@o-tHtfLHr z!IrwYlD%asZvI`QAp7b%Bvr{4Z9aw0_W?urkqiicIWoZ@0O7`F>;}961~Y1J2Ve_> z!I3OqI-gG6ObiCuW{i1^nUKwuv0*S<2O*ac90u?aLBMVn#|}AOe-nvdG3}6B@l*_z z>jZ?dTtyJzBl7SK7KH^9m`DeEgsqS$6JP^;213XV=kSO^JLETAqHI5Zj7B29LHJ>I z$bX8WQ@0?TKnOtK%`m87j3owPi8aHTTUc3HZ9w2KSPUA2Lt}9$tQFB5N5o(d-yftb z8^jDDdXt^M=aNNs$WT6?OGKk1BO}cs&CNh)HyTSI5au;-IFt;5;ze=z3?YicGx(uE z26({`i_2$$9K^gLBM21m?U1rc|G5I2`%{*~``#v5!_Yzo7mYQ;%wOpTkV^gkP&WG~ zn#cDB{;l_a3iEuUxB%K4;DG`tST?v2gZWfkq7wu#_#os9g5f{9xFrCHXuviM7U`eqiIg%~O zB-x>}IpznK30EhpB%lwy1`6YMW3T&<{GZ}zb5dhN}0@;XfS0=K4T?^@#df&Os zU)SRFOD6-!Z-3fW7W_0mz>&EflG$4Ow;fwyFogg&vZJrCw{P3_ za9=--XMaAA;upN#sNS0#irKi7wegVg1bh)S3Hi=ZK1FHUOT_|*(9Ia5uQTV4V2zAu zjcFFxI3haN9J_|P}l)`iu>MCTxK5j&*d3Dp9V1K}O$nBSJgzs0VX28|-582Aw!owG2 z!JSW!+cYigcklP<@AF;U0~=lV+q+{z`b%vag$C7J;_NdT&IjR2_R8<+WRL9tLusFbsw#i_S@?`VR)9%^L5-8jUQnX-S6BlYTt1=qi|%K z$-_PpvZp}0JY}$YPRD=E9h1o6;3T3aGPPQtoOX$AIwbylboTa{x3L`JSH6q0t)%VXeHDcte0CVQtRLuT}&uxqRw%bo|rW9jSVo#*&o~L(m zlEDKysZ~?xsvRzH1RWisZyu~VJd$n@!Bx)%kGwH zliJ!VtyMN3RDt7-?vH0HidJg%xSppIW(zIwo!v_}hKC+eEJ^~vzDLx%x?oHD zuA}jB=O4oM1LC#T*~fC z$@^~Hs;B*F^5)X(?*1ST|KH!u$SC#OYOjXMdal3oRR*gbh~FnrfYQg~!Qy8McU{}llg{p>;R%k8Lf^%M(( zxXD>VrHc>q-WEH~Eq{3~Q@pLE$9G~~-;J-SsnX&<=+-LQ(-m3I-Y2+C7L<9SGp{6M(hx(c`|}D5~w%YS+95MDB-kCll7F! ziVQjXY3Ya>?vcyb{qh0L#Q4YUJqE8rvKt%pV!wknGvp@go=k?-1+1q|<^Wx!U#U$2&^?e%Vho{dAD-80b!IkE9#!x0Qhuyp>pVMG>QTFfwu5~geKOja;^N{7N0p3RHeK0pZeOi&Y8M2083nD=7@Mge iq|~zJ26}ETSOU8}V0*?@ZuOS=pD#Cx2f3US822|5!9bn> literal 0 HcmV?d00001 From 645198444b9ecc2f645d31d7596cecf2b1300763 Mon Sep 17 00:00:00 2001 From: kgiszewski Date: Wed, 7 Oct 2015 16:28:00 -0400 Subject: [PATCH 28/37] Add dll version to the config page --- .../Api/ArchetypeDataTypeController.cs | 17 +++++++++++++++-- app/controllers/config.controller.js | 6 ++++++ app/less/archetype.less | 8 ++++++++ .../archetypePropertyEditorResource.js | 5 +++++ app/views/archetype.config.html | 4 ++-- 5 files changed, 36 insertions(+), 4 deletions(-) diff --git a/app/Umbraco/Umbraco.Archetype/Api/ArchetypeDataTypeController.cs b/app/Umbraco/Umbraco.Archetype/Api/ArchetypeDataTypeController.cs index 75d3003..ba2816a 100644 --- a/app/Umbraco/Umbraco.Archetype/Api/ArchetypeDataTypeController.cs +++ b/app/Umbraco/Umbraco.Archetype/Api/ArchetypeDataTypeController.cs @@ -1,16 +1,16 @@ using System.Collections.Generic; using System; +using System.Diagnostics; using System.Linq; using System.Net; +using System.Reflection; using System.Web.Http; using AutoMapper; using Umbraco.Core.Models; using Umbraco.Web.Models.ContentEditing; using Umbraco.Web.Mvc; using Umbraco.Web.Editors; -using Umbraco.Core.PropertyEditors; using Archetype.Extensions; -using Newtonsoft.Json; namespace Archetype.Api { @@ -53,5 +53,18 @@ namespace Archetype.Api var dataTypeDisplay = Mapper.Map(dataType); return new { selectedEditor = dataTypeDisplay.SelectedEditor, preValues = dataTypeDisplay.PreValues, contentTypeAlias = contentTypeAlias, propertyTypeAlias = propertyTypeAlias, archetypeAlias = archetypeAlias, nodeId = nodeId }; } + + public object GetDllVersion() + { + return new {dllVersion = _version()}; + } + + private string _version() + { + var asm = Assembly.GetExecutingAssembly(); + var fvi = FileVersionInfo.GetVersionInfo(asm.Location); + + return fvi.FileVersion; + } } } diff --git a/app/controllers/config.controller.js b/app/controllers/config.controller.js index 57c7f7d..615d45e 100644 --- a/app/controllers/config.controller.js +++ b/app/controllers/config.controller.js @@ -11,6 +11,12 @@ angular.module("umbraco").controller("Imulus.ArchetypeConfigController", functio //ini the model $scope.model.value = $scope.model.value || defaultFieldsetConfigModel; + $scope.dllVersion = ""; + + archetypePropertyEditorResource.getDllVersion().then(function(data){ + $scope.dllVersion = data.dllVersion; + }); + //ini the render model initConfigRenderModel(); diff --git a/app/less/archetype.less b/app/less/archetype.less index 8b0ce5a..627a084 100644 --- a/app/less/archetype.less +++ b/app/less/archetype.less @@ -311,6 +311,14 @@ img { margin-right: 5px; } + + small { + margin-left: 5px; + } + } + + .manual-link { + color: blue; } ul { diff --git a/app/resources/archetypePropertyEditorResource.js b/app/resources/archetypePropertyEditorResource.js index a335fe2..463a028 100644 --- a/app/resources/archetypePropertyEditorResource.js +++ b/app/resources/archetypePropertyEditorResource.js @@ -31,6 +31,11 @@ angular.module('umbraco.resources').factory('archetypePropertyEditorResource', f return ""; }); + }, + getDllVersion: function() { + return umbRequestHelper.resourcePromise( + $http.get("backoffice/ArchetypeApi/ArchetypeDataType/GetDllVersion", { cache: true }), 'Failed to retrieve dll version' + ); } } }); diff --git a/app/views/archetype.config.html b/app/views/archetype.config.html index 0c5ad7e..ebb2854 100644 --- a/app/views/archetype.config.html +++ b/app/views/archetype.config.html @@ -1,7 +1,7 @@
      -

      Archetype

      +

      Archetype{{dllVersion}}

      At a minimum your Archetype needs at least one fieldset with at least one property. You can configure it to allow for multiple types of fieldsets within a single Archetype and you can even add another Archetype as a property. Please use the link below for the full manual:

      -

      Archetype Manual

      +

      Archetype Manual

      • From e3a2b66022283771356145a295d3f47145a32831 Mon Sep 17 00:00:00 2001 From: kgiszewski Date: Wed, 7 Oct 2015 17:11:26 -0400 Subject: [PATCH 29/37] Version css and js files --- .gitignore | 3 +++ Gruntfile.js | 29 +++++++++++++++++++++++------ app/controllers/controller.js | 1 + app/less/archetype.less | 2 +- package.json | 3 ++- 5 files changed, 30 insertions(+), 8 deletions(-) diff --git a/.gitignore b/.gitignore index 1bb174e..aab6533 100644 --- a/.gitignore +++ b/.gitignore @@ -17,6 +17,9 @@ tmp/ pkg/*.nupkg pkg/*.zip +*_versioned* + + [Dd]ebug/ [Bb]uild/ [Rr]elease/ diff --git a/Gruntfile.js b/Gruntfile.js index 169b38f..21d41f3 100644 --- a/Gruntfile.js +++ b/Gruntfile.js @@ -1,13 +1,30 @@ module.exports = function(grunt) { require('load-grunt-tasks')(grunt); - var path = require('path') - + var path = require('path'); + + grunt.loadNpmTasks('grunt-string-replace'); + grunt.initConfig({ pkg: grunt.file.readJSON('package.json'), pkgMeta: grunt.file.readJSON('config/meta.json'), dest: grunt.option('target') || 'dist', basePath: path.join('<%= dest %>', 'App_Plugins', '<%= pkgMeta.name %>'), + 'string-replace': { + version: { + files: { + "app/controllers/controller_versioned.js": "app/controllers/controller.js", + "app/less/archetype_versioned.less": "app/less/archetype.less" + }, + options: { + replacements: [{ + pattern: /{{VERSION}}/g, + replacement: '/* Version <%= pkgMeta.version %> */' + }] + } + } + }, + watch: { options: { spawn: false, @@ -16,7 +33,7 @@ module.exports = function(grunt) { less: { files: ['app/**/*.less'], - tasks: ['less:dist'] + tasks: ['string-replace', 'less:dist'] }, js: { @@ -41,7 +58,7 @@ module.exports = function(grunt) { paths: ["app/less", "lib/less", "vendor"], }, files: { - '<%= basePath %>/css/archetype.css': 'app/less/archetype.less', + '<%= basePath %>/css/archetype.css': 'app/less/archetype_versioned.less', } } }, @@ -52,7 +69,7 @@ module.exports = function(grunt) { }, dist: { src: [ - 'app/controllers/controller.js', + 'app/controllers/controller_versioned.js', 'app/controllers/config.controller.js', 'app/controllers/config.dialog.controller.js', 'app/directives/archetypeproperty.js', @@ -221,7 +238,7 @@ module.exports = function(grunt) { }); - grunt.registerTask('default', ['clean', 'less', 'concat', 'assemblyinfo', 'msbuild:dist', 'copy:dll', 'copy:assets', 'copy:config', 'copy:html']); + grunt.registerTask('default', ['clean', 'string-replace', 'less', 'concat', 'assemblyinfo', 'msbuild:dist', 'copy:dll', 'copy:assets', 'copy:config', 'copy:html']); grunt.registerTask('nuget', ['clean:tmp', 'default', 'copy:nuget', 'template:nuspec', 'nugetpack', 'clean:tmp']); grunt.registerTask('umbraco', ['clean:tmp', 'default', 'copy:umbraco', 'umbracoPackage', 'clean:tmp']); diff --git a/app/controllers/controller.js b/app/controllers/controller.js index b48ee09..264ea27 100644 --- a/app/controllers/controller.js +++ b/app/controllers/controller.js @@ -1,3 +1,4 @@ +{{VERSION}} angular.module("umbraco").controller("Imulus.ArchetypeController", function ($scope, $http, $filter, assetsService, angularHelper, notificationsService, $timeout, fileManager, entityResource, archetypeService, archetypeLabelService, archetypeCacheService, archetypePropertyEditorResource) { //$scope.model.value = ""; diff --git a/app/less/archetype.less b/app/less/archetype.less index 627a084..bd73f8d 100644 --- a/app/less/archetype.less +++ b/app/less/archetype.less @@ -1,4 +1,4 @@ -/* TODO: clean this up */ +{{VERSION}} .archetypeEditor { width: 98%; diff --git a/package.json b/package.json index 3601308..4032a92 100644 --- a/package.json +++ b/package.json @@ -29,6 +29,7 @@ "url": "https://github.com/imulus/Archetype.git" }, "devDependencies": { - "grunt-msbuild": "^0.1.12" + "grunt-msbuild": "^0.1.12", + "grunt-string-replace": "^1.2.0" } } From 21b933a0dc1ecb157f94cf8777661b4dc01aaaaa Mon Sep 17 00:00:00 2001 From: kgiszewski Date: Wed, 7 Oct 2015 17:34:35 -0400 Subject: [PATCH 30/37] Version HTML --- Gruntfile.js | 29 ++++++++++++++++--- .../archetype.config.developer.dialog.html | 1 + .../archetype.config.fieldset.dialog.html | 1 + app/views/archetype.config.html | 1 + .../archetype.config.stylescript.dialog.html | 1 + app/views/archetype.default.html | 1 + app/views/archetype.html | 1 + 7 files changed, 31 insertions(+), 4 deletions(-) diff --git a/Gruntfile.js b/Gruntfile.js index 21d41f3..5c10764 100644 --- a/Gruntfile.js +++ b/Gruntfile.js @@ -14,12 +14,23 @@ module.exports = function(grunt) { version: { files: { "app/controllers/controller_versioned.js": "app/controllers/controller.js", - "app/less/archetype_versioned.less": "app/less/archetype.less" + "app/less/archetype_versioned.less": "app/less/archetype.less", + "app/views/archetype.config.developer.dialog_versioned.html": "app/views/archetype.config.developer.dialog.html", + "app/views/archetype.config.stylescript.dialog_versioned.html": "app/views/archetype.config.stylescript.dialog.html", + "app/views/archetype.config.fieldset.dialog_versioned.html": "app/views/archetype.config.fieldset.dialog.html", + "app/views/archetype.config_versioned.html": "app/views/archetype.config.html", + "app/views/archetype_versioned.html": "app/views/archetype.html", + "app/views/archetype.default_versioned.html": "app/views/archetype.default.html", + }, options: { replacements: [{ pattern: /{{VERSION}}/g, replacement: '/* Version <%= pkgMeta.version %> */' + }, + { + pattern: /{{VERSION_HTML}}/g, + replacement: '' }] } } @@ -91,9 +102,19 @@ module.exports = function(grunt) { copy: { html: { cwd: 'app/views/', - src: ['archetype.html', 'archetype.default.html', 'archetype.config.html', 'archetype.config.fieldset.dialog.html', 'archetype.config.stylescript.dialog.html', 'archetype.config.developer.dialog.html'], - dest: '<%= basePath %>/views', - expand: true + src: [ + 'archetype_versioned.html', + 'archetype.default_versioned.html', + 'archetype.config_versioned.html', + 'archetype.config.fieldset.dialog_versioned.html', + 'archetype.config.stylescript.dialog_versioned.html', + 'archetype.config.developer.dialog_versioned.html' + ], + dest: '<%= basePath %>/views/', + expand: true, + rename: function(dest, src) { + return dest + src.replace('_versioned',''); + } }, assets: { cwd: 'assets/', diff --git a/app/views/archetype.config.developer.dialog.html b/app/views/archetype.config.developer.dialog.html index 2cfe0cd..9803230 100644 --- a/app/views/archetype.config.developer.dialog.html +++ b/app/views/archetype.config.developer.dialog.html @@ -1,3 +1,4 @@ +{{VERSION_HTML}}

        Developer Options

        diff --git a/app/views/archetype.config.fieldset.dialog.html b/app/views/archetype.config.fieldset.dialog.html index b4cf7f9..c58eee2 100644 --- a/app/views/archetype.config.fieldset.dialog.html +++ b/app/views/archetype.config.fieldset.dialog.html @@ -1,3 +1,4 @@ +{{VERSION_HTML}}

        Global Fieldset Options

        diff --git a/app/views/archetype.config.html b/app/views/archetype.config.html index ebb2854..4e078d6 100644 --- a/app/views/archetype.config.html +++ b/app/views/archetype.config.html @@ -1,3 +1,4 @@ +{{VERSION_HTML}}

        Archetype{{dllVersion}}

        At a minimum your Archetype needs at least one fieldset with at least one property. You can configure it to allow for multiple types of fieldsets within a single Archetype and you can even add another Archetype as a property. Please use the link below for the full manual:

        diff --git a/app/views/archetype.config.stylescript.dialog.html b/app/views/archetype.config.stylescript.dialog.html index 542d30f..46da912 100644 --- a/app/views/archetype.config.stylescript.dialog.html +++ b/app/views/archetype.config.stylescript.dialog.html @@ -1,3 +1,4 @@ +{{VERSION_HTML}}

        Custom Style/Script Options

        diff --git a/app/views/archetype.default.html b/app/views/archetype.default.html index d9dbac3..0a76e13 100644 --- a/app/views/archetype.default.html +++ b/app/views/archetype.default.html @@ -1,3 +1,4 @@ +{{VERSION_HTML}}
          diff --git a/app/views/archetype.html b/app/views/archetype.html index 63b1114..2276365 100644 --- a/app/views/archetype.html +++ b/app/views/archetype.html @@ -1 +1,2 @@ +{{VERSION_HTML}}
          From 17062c69134178d43e16b7db4be1718d248843d5 Mon Sep 17 00:00:00 2001 From: Kenn Jacobsen Date: Thu, 8 Oct 2015 08:56:48 +0200 Subject: [PATCH 31/37] Subdivide fieldset options in dialog + use dialog footers in all dialogs --- Gruntfile.js | 5 ++ .../archetype.config.developer.dialog.html | 23 ++++--- .../archetype.config.fieldset.dialog.html | 62 +++++++++++-------- .../archetype.config.stylescript.dialog.html | 22 ++++--- 4 files changed, 66 insertions(+), 46 deletions(-) diff --git a/Gruntfile.js b/Gruntfile.js index 5c10764..c0250a6 100644 --- a/Gruntfile.js +++ b/Gruntfile.js @@ -60,6 +60,11 @@ module.exports = function(grunt) { dll: { files: ['app/Umbraco/**/*.dll'], tasks: ['copy:dll'] + }, + + assets: { + files: ['assets/*.*'], + tasks: ['copy:assets'] } }, diff --git a/app/views/archetype.config.developer.dialog.html b/app/views/archetype.config.developer.dialog.html index 9803230..5571427 100644 --- a/app/views/archetype.config.developer.dialog.html +++ b/app/views/archetype.config.developer.dialog.html @@ -1,6 +1,6 @@ {{VERSION_HTML}} -
          -
          +
          + + \ No newline at end of file diff --git a/app/views/archetype.config.fieldset.dialog.html b/app/views/archetype.config.fieldset.dialog.html index c58eee2..98b3be0 100644 --- a/app/views/archetype.config.fieldset.dialog.html +++ b/app/views/archetype.config.fieldset.dialog.html @@ -1,25 +1,26 @@ {{VERSION_HTML}} -
          -
          +
          +