diff --git a/src/Umbraco.Tests/PropertyEditors/ImageCropperTest.cs b/src/Umbraco.Tests/PropertyEditors/ImageCropperTest.cs index 3f4fc91ed4..c0135dff36 100644 --- a/src/Umbraco.Tests/PropertyEditors/ImageCropperTest.cs +++ b/src/Umbraco.Tests/PropertyEditors/ImageCropperTest.cs @@ -92,5 +92,25 @@ namespace Umbraco.Tests.PropertyEditors var urlString = mediaPath.GetCropUrl(imageCropperValue: cropperJson, width: 300, height: 150, ratioMode: ImageCropRatioMode.Width); Assert.AreEqual(mediaPath + "?center=0.80827067669172936,0.96&mode=crop&height=150&widthratio=2", urlString); } + + /// + /// Test that if Crop mode is specified as anything other than Crop the image doesn't use the crop + /// + [Test] + public void GetCropUrl_SpecifiedCropModeTest() + { + var urlString = mediaPath.GetCropUrl(imageCropperValue: cropperJson, width: 300, height: 150, imageCropMode:ImageCropMode.Max); + Assert.AreEqual(mediaPath + "?mode=max&width=300&height=150", urlString); + } + + /// + /// Test for upload property type + /// + [Test] + public void GetCropUrl_UploadTypeTest() + { + var urlString = mediaPath.GetCropUrl(width: 100, height: 270, imageCropMode: ImageCropMode.Crop, imageCropAnchor: ImageCropAnchor.Center); + Assert.AreEqual(mediaPath + "?mode=crop&anchor=center&width=100&height=270", urlString); + } } } \ No newline at end of file diff --git a/src/Umbraco.Web.UI.Client/src/views/propertyeditors/rte/rte.controller.js b/src/Umbraco.Web.UI.Client/src/views/propertyeditors/rte/rte.controller.js index daf058f313..fbcb11a234 100644 --- a/src/Umbraco.Web.UI.Client/src/views/propertyeditors/rte/rte.controller.js +++ b/src/Umbraco.Web.UI.Client/src/views/propertyeditors/rte/rte.controller.js @@ -30,7 +30,9 @@ angular.module("umbraco") var await = []; //queue file loading - await.push(assetsService.loadJs("lib/tinymce/tinymce.min.js", $scope)); + if (typeof tinymce === "undefined") { // Don't reload tinymce if already loaded + await.push(assetsService.loadJs("lib/tinymce/tinymce.min.js", $scope)); + } //queue rules loading angular.forEach(editorConfig.stylesheets, function(val, key){ diff --git a/src/Umbraco.Web.UI/web.Template.config b/src/Umbraco.Web.UI/web.Template.config index ced455efe9..1599ebd7b6 100644 --- a/src/Umbraco.Web.UI/web.Template.config +++ b/src/Umbraco.Web.UI/web.Template.config @@ -193,6 +193,8 @@ + + diff --git a/src/Umbraco.Web/ImageCropperTemplateExtensions.cs b/src/Umbraco.Web/ImageCropperTemplateExtensions.cs index 1359517643..8c7b06a3b6 100644 --- a/src/Umbraco.Web/ImageCropperTemplateExtensions.cs +++ b/src/Umbraco.Web/ImageCropperTemplateExtensions.cs @@ -215,7 +215,7 @@ namespace Umbraco.Web { var imageResizerUrl = new StringBuilder(); - if (string.IsNullOrEmpty(imageCropperValue) == false && imageCropperValue.DetectIsJson()) + if (string.IsNullOrEmpty(imageCropperValue) == false && imageCropperValue.DetectIsJson() && (imageCropMode == ImageCropMode.Crop || imageCropMode == null)) { var cropDataSet = imageCropperValue.SerializeToCropDataSet(); if (cropDataSet != null)