From b9c7de39ed74bce44960be87e920ef361787403f Mon Sep 17 00:00:00 2001 From: Marc Goodson Date: Wed, 18 Oct 2023 13:20:39 +0100 Subject: [PATCH] don't overwrite linkpicker title when you pick from tree IF the editor has just typed into the linktitle --- .../linkpicker/linkpicker.controller.js | 21 +++++++++++++++++-- .../linkpicker/linkpicker.html | 1 + 2 files changed, 20 insertions(+), 2 deletions(-) diff --git a/src/Umbraco.Web.UI.Client/src/views/common/infiniteeditors/linkpicker/linkpicker.controller.js b/src/Umbraco.Web.UI.Client/src/views/common/infiniteeditors/linkpicker/linkpicker.controller.js index 98755c4090..3baba2b77a 100644 --- a/src/Umbraco.Web.UI.Client/src/views/common/infiniteeditors/linkpicker/linkpicker.controller.js +++ b/src/Umbraco.Web.UI.Client/src/views/common/infiniteeditors/linkpicker/linkpicker.controller.js @@ -33,6 +33,8 @@ angular.module("umbraco").controller("Umbraco.Editors.LinkPickerController", selectedSearchResults: [] }; + $scope.userLinkNameInput = ''; + $scope.showTarget = $scope.model.hideTarget !== true; $scope.showAnchor = $scope.model.hideAnchor !== true; @@ -143,7 +145,9 @@ angular.module("umbraco").controller("Umbraco.Editors.LinkPickerController", $scope.currentNode.selected = true; $scope.model.target.id = args.node.id; $scope.model.target.udi = args.node.udi; - $scope.model.target.name = args.node.name; + if ($scope.oKToUpdateLinkTargetName()) { + $scope.model.target.name = args.node.name; + } if (args.node.id < 0) { $scope.model.target.url = "/"; @@ -167,7 +171,18 @@ angular.module("umbraco").controller("Umbraco.Editors.LinkPickerController", openMiniListView(args.node); } } + $scope.trackUserInput = function (userInput) { + $scope.userLinkNameInput = userInput; + } + $scope.oKToUpdateLinkTargetName = function () { + if (!$scope.userLinkNameInput || !$scope.model.target.name) { + return true; + } + else { + return false; + } + } $scope.switchToMediaPicker = function () { userService.getCurrentUser().then(function (userData) { @@ -190,8 +205,10 @@ angular.module("umbraco").controller("Umbraco.Editors.LinkPickerController", $scope.model.target.id = media.id; $scope.model.target.udi = media.udi; - $scope.model.target.isMedia = true; + $scope.model.target.isMedia = true; + if ($scope.oKToUpdateLinkTargetName()) { $scope.model.target.name = media.name; + } $scope.model.target.url = media.image; editorService.close(); diff --git a/src/Umbraco.Web.UI.Client/src/views/common/infiniteeditors/linkpicker/linkpicker.html b/src/Umbraco.Web.UI.Client/src/views/common/infiniteeditors/linkpicker/linkpicker.html index de9a0413d3..6a020f69ff 100644 --- a/src/Umbraco.Web.UI.Client/src/views/common/infiniteeditors/linkpicker/linkpicker.html +++ b/src/Umbraco.Web.UI.Client/src/views/common/infiniteeditors/linkpicker/linkpicker.html @@ -49,6 +49,7 @@ placeholder="@placeholders_entername" class="umb-property-editor umb-textstring" ng-model="model.target.name" + ng-change="trackUserInput(model.target.name)" id="nodeNameLinkPicker"/>