diff --git a/src/Umbraco.Web.UI.Client/src/less/gridview.less b/src/Umbraco.Web.UI.Client/src/less/gridview.less index 778acc5607..107e042a16 100644 --- a/src/Umbraco.Web.UI.Client/src/less/gridview.less +++ b/src/Umbraco.Web.UI.Client/src/less/gridview.less @@ -155,6 +155,8 @@ IFRAME {overflow:hidden;} opacity: 0.3; z-index: 50; } +//special rule to ensure forms doesnt overrride (forms will align in a later release) +.umb-grid .cell-tools{width: 50px !important;} .usky-grid .cell-tools.with-prompt { width:200px; diff --git a/src/Umbraco.Web.UI.Client/src/views/propertyeditors/grid/editors/error.html b/src/Umbraco.Web.UI.Client/src/views/propertyeditors/grid/editors/error.html new file mode 100644 index 0000000000..67ef4ea112 --- /dev/null +++ b/src/Umbraco.Web.UI.Client/src/views/propertyeditors/grid/editors/error.html @@ -0,0 +1,2 @@ +

Something went wrong with this editor, below is the data stored:

+
{{control | json}}
\ No newline at end of file diff --git a/src/Umbraco.Web.UI.Client/src/views/propertyeditors/grid/grid.controller.js b/src/Umbraco.Web.UI.Client/src/views/propertyeditors/grid/grid.controller.js index 8851f74b34..f4a61a597e 100644 --- a/src/Umbraco.Web.UI.Client/src/views/propertyeditors/grid/grid.controller.js +++ b/src/Umbraco.Web.UI.Client/src/views/propertyeditors/grid/grid.controller.js @@ -572,19 +572,32 @@ angular.module("umbraco") control.$index = index; control.$uniqueId = $scope.setUniqueId(); + //error handling in case of missing editor.. + //should only happen if stripped earlier + if(!control.editor){ + control.$editorPath = "views/propertyeditors/grid/editors/error.html"; + } + if(!control.$editorPath){ var editorConfig = $scope.getEditor(control.editor.alias); - control.editor = editorConfig; + if(editorConfig){ + control.editor = editorConfig; + //if its an absolute path if (control.editor.view.startsWith("/") || control.editor.view.startsWith("~/")) { control.$editorPath = umbRequestHelper.convertVirtualToAbsolutePath(control.editor.view); } else { - //use convention - control.$editorPath = "views/propertyeditors/grid/editors/" + control.editor.view + ".html"; + //use convention + control.$editorPath = "views/propertyeditors/grid/editors/" + control.editor.view + ".html"; + } + }else{ + control.$editorPath = "views/propertyeditors/grid/editors/error.html"; } } + + }; diff --git a/src/Umbraco.Web.UI.Client/src/views/propertyeditors/grid/grid.html b/src/Umbraco.Web.UI.Client/src/views/propertyeditors/grid/grid.html index 6f092c8ea8..cd3e504156 100644 --- a/src/Umbraco.Web.UI.Client/src/views/propertyeditors/grid/grid.html +++ b/src/Umbraco.Web.UI.Client/src/views/propertyeditors/grid/grid.html @@ -1,4 +1,4 @@ -
+
@@ -57,7 +57,8 @@ ng-mouseleave="disableCurrentRow()"> -
+
diff --git a/src/Umbraco.Web.UI/Views/Partials/Grid/Bootstrap2.cshtml b/src/Umbraco.Web.UI/Views/Partials/Grid/Bootstrap2.cshtml index 5027348385..6bc730e1f8 100644 --- a/src/Umbraco.Web.UI/Views/Partials/Grid/Bootstrap2.cshtml +++ b/src/Umbraco.Web.UI/Views/Partials/Grid/Bootstrap2.cshtml @@ -65,7 +65,7 @@ if(cfg != null) foreach (JProperty property in cfg.Properties()) { - attrs.Add(property.Name + "='" + property.Value.ToString() + "'"); + attrs.Add(property.Name + "=\"" + property.Value.ToString() + "\""); } JObject style = contentItem.styles; @@ -76,7 +76,7 @@ cssVals.Add(property.Name + ":" + property.Value.ToString() + ";"); if (cssVals.Any()) - attrs.Add("style='" + string.Join(" ", cssVals) + "'"); + attrs.Add("style=\"" + string.Join(" ", cssVals) + "\""); } return new MvcHtmlString(string.Join(" ", attrs)); diff --git a/src/Umbraco.Web.UI/Views/Partials/Grid/Bootstrap3.cshtml b/src/Umbraco.Web.UI/Views/Partials/Grid/Bootstrap3.cshtml index a752042e90..f76028d296 100644 --- a/src/Umbraco.Web.UI/Views/Partials/Grid/Bootstrap3.cshtml +++ b/src/Umbraco.Web.UI/Views/Partials/Grid/Bootstrap3.cshtml @@ -65,7 +65,7 @@ if(cfg != null) foreach (JProperty property in cfg.Properties()) { - attrs.Add(property.Name + "='" + property.Value.ToString() + "'"); + attrs.Add(property.Name + "=\"" + property.Value.ToString() + "\""); } JObject style = contentItem.styles; @@ -76,7 +76,7 @@ cssVals.Add(property.Name + ":" + property.Value.ToString() + ";"); if (cssVals.Any()) - attrs.Add("style='" + string.Join(" ", cssVals) + "'"); + attrs.Add("style=\"" + string.Join(" ", cssVals) + "\""); } return new MvcHtmlString(string.Join(" ", attrs)); diff --git a/src/Umbraco.Web/Models/TagModel.cs b/src/Umbraco.Web/Models/TagModel.cs index d0845ff8f8..ef6b0a86c1 100644 --- a/src/Umbraco.Web/Models/TagModel.cs +++ b/src/Umbraco.Web/Models/TagModel.cs @@ -19,7 +19,7 @@ namespace Umbraco.Web.Models [DataMember(Name = "group")] public string Group { get; set; } - [DataMember(Name = "nodeCount`")] + [DataMember(Name = "nodeCount")] public int NodeCount { get; set; } } }