From dbb9386d22b88daf2e5e375c6bb989d7edfa2122 Mon Sep 17 00:00:00 2001 From: Mads Rasmussen Date: Thu, 18 Feb 2016 11:20:04 +0100 Subject: [PATCH] Fixes: U4-7660 [7.4 Fix] Added a default value to the Umbaco.TrueFalse datatype. Thanks Jeremy Pyne --- .../propertyeditors/boolean/boolean.controller.js | 9 +++++++-- .../PropertyEditors/TrueFalsePropertyEditor.cs | 10 ++++++++++ 2 files changed, 17 insertions(+), 2 deletions(-) diff --git a/src/Umbraco.Web.UI.Client/src/views/propertyeditors/boolean/boolean.controller.js b/src/Umbraco.Web.UI.Client/src/views/propertyeditors/boolean/boolean.controller.js index 1891e628c6..59bc155bf5 100644 --- a/src/Umbraco.Web.UI.Client/src/views/propertyeditors/boolean/boolean.controller.js +++ b/src/Umbraco.Web.UI.Client/src/views/propertyeditors/boolean/boolean.controller.js @@ -4,6 +4,11 @@ function booleanEditorController($scope, $rootScope, assetsService) { $scope.renderModel = { value: false }; + + if($scope.model.config.default.toString() === "1" && $scope.model && !$scope.model.value) { + $scope.renderModel.value = true; + } + if ($scope.model && $scope.model.value && ($scope.model.value.toString() === "1" || angular.lowercase($scope.model.value) === "true")) { $scope.renderModel.value = true; } @@ -14,7 +19,7 @@ function booleanEditorController($scope, $rootScope, assetsService) { $scope.$watch("renderModel.value", function (newVal) { $scope.model.value = newVal === true ? "1" : "0"; }); - + //here we declare a special method which will be called whenever the value has changed from the server //this is instead of doing a watch on the model.value = faster $scope.model.onValueChanged = function (newVal, oldVal) { @@ -23,4 +28,4 @@ function booleanEditorController($scope, $rootScope, assetsService) { }; } -angular.module("umbraco").controller("Umbraco.PropertyEditors.BooleanController", booleanEditorController); \ No newline at end of file +angular.module("umbraco").controller("Umbraco.PropertyEditors.BooleanController", booleanEditorController); diff --git a/src/Umbraco.Web/PropertyEditors/TrueFalsePropertyEditor.cs b/src/Umbraco.Web/PropertyEditors/TrueFalsePropertyEditor.cs index 1510928b74..ab9e906911 100644 --- a/src/Umbraco.Web/PropertyEditors/TrueFalsePropertyEditor.cs +++ b/src/Umbraco.Web/PropertyEditors/TrueFalsePropertyEditor.cs @@ -6,5 +6,15 @@ namespace Umbraco.Web.PropertyEditors [PropertyEditor(Constants.PropertyEditors.TrueFalseAlias, "True/False", "INT", "boolean", IsParameterEditor = true, Group = "Common", Icon="icon-checkbox")] public class TrueFalsePropertyEditor : PropertyEditor { + protected override PreValueEditor CreatePreValueEditor() + { + return new TrueFalsePreValueEditor(); + } + + internal class TrueFalsePreValueEditor : PreValueEditor + { + [PreValueField("default", "Default Value", "boolean")] + public string Default { get; set; } + } } } \ No newline at end of file