diff --git a/build/Modules/Umbraco.Build/Umbraco.Build.psm1 b/build/Modules/Umbraco.Build/Umbraco.Build.psm1 index 62ab7f1865..dde1ef6467 100644 --- a/build/Modules/Umbraco.Build/Umbraco.Build.psm1 +++ b/build/Modules/Umbraco.Build/Umbraco.Build.psm1 @@ -239,18 +239,18 @@ function Prepare-Tests # data Write-Host "Copy data files" - if( -Not (Test-Path -Path "$tmp\tests\Packaging" ) ) + if (-Not (Test-Path -Path "$tmp\tests\Packaging" ) ) { Write-Host "Create packaging directory" - New-Item -ItemType directory -Path "$tmp\tests\Packaging" + mkdir "$tmp\tests\Packaging" > $null } Copy-Files "$src\Umbraco.Tests\Packaging\Packages" "*" "$tmp\tests\Packaging\Packages" # required for package install tests - if( -Not (Test-Path -Path "$tmp\tests\bin" ) ) + if (-Not (Test-Path -Path "$tmp\tests\bin" ) ) { Write-Host "Create bin directory" - New-Item -ItemType directory -Path "$tmp\tests\bin" + mkdir "$tmp\tests\bin" > $null } } diff --git a/build/NuSpecs/UmbracoCms.Core.nuspec b/build/NuSpecs/UmbracoCms.Core.nuspec index 549048c91c..476baf2545 100644 --- a/build/NuSpecs/UmbracoCms.Core.nuspec +++ b/build/NuSpecs/UmbracoCms.Core.nuspec @@ -28,7 +28,7 @@ - + diff --git a/src/Umbraco.Core/Umbraco.Core.csproj b/src/Umbraco.Core/Umbraco.Core.csproj index e8b21f01cd..95639145f6 100644 --- a/src/Umbraco.Core/Umbraco.Core.csproj +++ b/src/Umbraco.Core/Umbraco.Core.csproj @@ -43,8 +43,8 @@ ..\packages\AutoMapper.3.3.1\lib\net40\AutoMapper.Net4.dll - - ..\packages\ClientDependency.1.9.2\lib\net45\ClientDependency.Core.dll + + ..\packages\ClientDependency.1.9.4\lib\net45\ClientDependency.Core.dll ..\packages\HtmlAgilityPack.1.4.9.5\lib\Net45\HtmlAgilityPack.dll diff --git a/src/Umbraco.Core/packages.config b/src/Umbraco.Core/packages.config index de911f5515..80ffd9d7cb 100644 --- a/src/Umbraco.Core/packages.config +++ b/src/Umbraco.Core/packages.config @@ -1,7 +1,7 @@  - + diff --git a/src/Umbraco.Tests/PropertyEditors/ImageCropperTest.cs b/src/Umbraco.Tests/PropertyEditors/ImageCropperTest.cs index 3c1d4e7c9b..81f7ce30bd 100644 --- a/src/Umbraco.Tests/PropertyEditors/ImageCropperTest.cs +++ b/src/Umbraco.Tests/PropertyEditors/ImageCropperTest.cs @@ -29,7 +29,7 @@ namespace Umbraco.Tests.PropertyEditors [Test] public void ImageCropData_Properties_As_Dynamic() { - var sourceObj = cropperJson1.SerializeToCropDataSet(); + var sourceObj = cropperJson1.DeserializeToCropDataSet(); dynamic d = sourceObj; var index = 0; @@ -62,7 +62,7 @@ namespace Umbraco.Tests.PropertyEditors [Test] public void ImageCropFocalPoint_Properties_As_Dynamic() { - var sourceObj = cropperJson1.SerializeToCropDataSet(); + var sourceObj = cropperJson1.DeserializeToCropDataSet(); dynamic d = sourceObj; Assert.AreEqual(sourceObj.FocalPoint.Left, d.FocalPoint.Left); @@ -75,7 +75,7 @@ namespace Umbraco.Tests.PropertyEditors [Test] public void ImageCropDataSet_Properties_As_Dynamic() { - var sourceObj = cropperJson1.SerializeToCropDataSet(); + var sourceObj = cropperJson1.DeserializeToCropDataSet(); dynamic d = sourceObj; Assert.AreEqual(sourceObj.Src, d.Src); @@ -91,7 +91,7 @@ namespace Umbraco.Tests.PropertyEditors [Test] public void ImageCropDataSet_Methods_As_Dynamic() { - var sourceObj = cropperJson1.SerializeToCropDataSet(); + var sourceObj = cropperJson1.DeserializeToCropDataSet(); dynamic d = sourceObj; Assert.AreEqual(sourceObj.HasCrop("thumb"), d.HasCrop("thumb")); @@ -108,7 +108,7 @@ namespace Umbraco.Tests.PropertyEditors public void CanConvertImageCropperDataSetSrcToString() { //cropperJson3 - has not crops - var sourceObj = cropperJson3.SerializeToCropDataSet(); + var sourceObj = cropperJson3.DeserializeToCropDataSet(); var destObj = sourceObj.TryConvertTo(); Assert.IsTrue(destObj.Success); Assert.AreEqual(destObj.Result, "/media/1005/img_0672.jpg"); @@ -118,7 +118,7 @@ namespace Umbraco.Tests.PropertyEditors public void CanConvertImageCropperDataSetJObject() { //cropperJson3 - has not crops - var sourceObj = cropperJson3.SerializeToCropDataSet(); + var sourceObj = cropperJson3.DeserializeToCropDataSet(); var destObj = sourceObj.TryConvertTo(); Assert.IsTrue(destObj.Success); Assert.AreEqual(sourceObj, destObj.Result.ToObject()); @@ -127,7 +127,7 @@ namespace Umbraco.Tests.PropertyEditors [Test] public void CanConvertImageCropperDataSetJsonToString() { - var sourceObj = cropperJson1.SerializeToCropDataSet(); + var sourceObj = cropperJson1.DeserializeToCropDataSet(); var destObj = sourceObj.TryConvertTo(); Assert.IsTrue(destObj.Success); Assert.IsTrue(destObj.Result.DetectIsJson()); @@ -150,7 +150,7 @@ namespace Umbraco.Tests.PropertyEditors var converter = new Umbraco.Web.PropertyEditors.ValueConverters.ImageCropperValueConverter(dataTypeService.Object); var result = converter.ConvertDataToSource(new PublishedPropertyType("test", 0, "test"), val1, false); // does not use type for conversion - var resultShouldMatch = val2.SerializeToCropDataSet(); + var resultShouldMatch = val2.DeserializeToCropDataSet(); if (expected) { Assert.AreEqual(resultShouldMatch, result); @@ -220,7 +220,7 @@ namespace Umbraco.Tests.PropertyEditors [Test] public void GetBaseCropUrlFromModelTest() { - var cropDataSet = cropperJson1.SerializeToCropDataSet(); + var cropDataSet = cropperJson1.DeserializeToCropDataSet(); var urlString = cropDataSet.GetCropUrl("thumb"); Assert.AreEqual("?crop=0.58729977382575338,0.055768992440203169,0,0.32457553600198386&cropmode=percentage&width=100&height=100", urlString); } diff --git a/src/Umbraco.Web.UI.Client/src/common/directives/validation/nodirtycheck.directive.js b/src/Umbraco.Web.UI.Client/src/common/directives/validation/nodirtycheck.directive.js index f027d7a12f..e15f62e8df 100644 --- a/src/Umbraco.Web.UI.Client/src/common/directives/validation/nodirtycheck.directive.js +++ b/src/Umbraco.Web.UI.Client/src/common/directives/validation/nodirtycheck.directive.js @@ -9,9 +9,14 @@ function noDirtyCheck() { restrict: 'A', require: 'ngModel', link: function (scope, elm, attrs, ctrl) { + elm.focus(function () { - ctrl.$pristine = false; + scope.$watch(function() { + ctrl.$pristine = false; + }); }); + + } }; } diff --git a/src/Umbraco.Web.UI.Client/src/views/common/dialogs/iconpicker.html b/src/Umbraco.Web.UI.Client/src/views/common/dialogs/iconpicker.html index 4e482c26b1..f21fdf0b06 100644 --- a/src/Umbraco.Web.UI.Client/src/views/common/dialogs/iconpicker.html +++ b/src/Umbraco.Web.UI.Client/src/views/common/dialogs/iconpicker.html @@ -1,7 +1,7 @@
-
-
- +
- + + No icons were found. + +
- +
diff --git a/src/Umbraco.Web.UI.Client/src/views/common/dialogs/mediapicker.html b/src/Umbraco.Web.UI.Client/src/views/common/dialogs/mediapicker.html index 99102fed19..c974cf7adf 100644 --- a/src/Umbraco.Web.UI.Client/src/views/common/dialogs/mediapicker.html +++ b/src/Umbraco.Web.UI.Client/src/views/common/dialogs/mediapicker.html @@ -61,22 +61,23 @@
+ on-drag-leave="dragLeave()" + on-drag-end="dragLeave()" + on-drag-enter="dragEnter()" + ng-hide="target"> + -
- - + diff --git a/src/Umbraco.Web.UI.Client/src/views/common/dialogs/membergrouppicker.html b/src/Umbraco.Web.UI.Client/src/views/common/dialogs/membergrouppicker.html index 48302cea02..e2ff9790d5 100644 --- a/src/Umbraco.Web.UI.Client/src/views/common/dialogs/membergrouppicker.html +++ b/src/Umbraco.Web.UI.Client/src/views/common/dialogs/membergrouppicker.html @@ -1,7 +1,7 @@
- + \ No newline at end of file diff --git a/src/Umbraco.Web.UI.Client/src/views/common/overlays/contenttypeeditor/compositions/compositions.html b/src/Umbraco.Web.UI.Client/src/views/common/overlays/contenttypeeditor/compositions/compositions.html index 3cc81fdcf6..6759da0fb4 100644 --- a/src/Umbraco.Web.UI.Client/src/views/common/overlays/contenttypeeditor/compositions/compositions.html +++ b/src/Umbraco.Web.UI.Client/src/views/common/overlays/contenttypeeditor/compositions/compositions.html @@ -7,9 +7,10 @@ style="width: 100%" ng-model="searchTerm" class="umb-search-field search-query input-block-level" - localize="placeholder" - placeholder="@placeholders_filter" - umb-auto-focus> + localize="placeholder" + placeholder="@placeholders_filter" + umb-auto-focus + no-dirty-check />
@@ -17,20 +18,17 @@
- - + + - - + +
  • @@ -41,7 +39,7 @@ checklist-model="model.compositeContentTypes" checklist-value="compositeContentType.contentType.alias" ng-change="model.selectCompositeContentType(compositeContentType.contentType)" - ng-disabled="compositeContentType.allowed===false || compositeContentType.inherited"/> + ng-disabled="compositeContentType.allowed===false || compositeContentType.inherited" />