]> _ Git - fluidbook-toolbox.git/commitdiff
wait #5904 @1.5
authorVincent Vanwaelscappel <vincent@cubedesigners.com>
Wed, 3 May 2023 15:44:10 +0000 (17:44 +0200)
committerVincent Vanwaelscappel <vincent@cubedesigners.com>
Wed, 3 May 2023 15:44:10 +0000 (17:44 +0200)
resources/linkeditor/js/linkeditor.form.js
resources/linkeditor/js/linkeditor.links.js

index 0e237a179892fa022c010331dbc67098b5b28ffc..05dd2f2b0d8e29c10bd3bd26a5ee4c499c1e0130 100644 (file)
@@ -158,7 +158,11 @@ LinkeditorForm.prototype = {
     },
 
     focusAndSelectDestinationField: function () {
-        var f = $('#linkeditor-panel-form [name="to"]').get(0);
+        var f = $('#linkeditor-panel-form [name="to"]');
+        if (f.length === 0) {
+            return;
+        }
+        f = f.get(0);
         f.focus();
         f.select();
         setTimeout(function () {
@@ -194,6 +198,10 @@ LinkeditorForm.prototype = {
 
         this.initSelect2();
         this.initSpectrum();
+
+        if ($(link).is('.new')) {
+            this.focusAndSelectDestinationField();
+        }
     },
 
     updateFormData: function (form) {
index 7c86b7bbe00bee1838c93664dad2192ef74b2a15..483200c9bccbd546df8f23e8e1808df512593149 100644 (file)
@@ -511,7 +511,7 @@ LinkeditorLinks.prototype = {
 
     createLinkDrag: function () {
         var link = this.duplicateLinkDrag({width: 0, height: 0});
-        $(link).addClass('pendingCreate');
+        $(link).addClass('pendingCreate').addClass('new');
         this.deselectAllLinks();
         this.selectLink($(link));
         this.startResizeLink('se');
@@ -745,6 +745,9 @@ LinkeditorLinks.prototype = {
             this.setLastSelectedLink(l);
         }
         this.updateSelection();
+        if ($(l).hasClass('new')) {
+            this.linkeditor.form.focusAndSelectDestinationField();
+        }
     },
 
     setLastSelectedLink: function (l) {
@@ -779,12 +782,12 @@ LinkeditorLinks.prototype = {
     deselectAllLinks: function () {
         this.linkeditor.form.saveFormDataInLink();
         this.linkeditor.form.updateLinkForm();
-        $(".link.selected").removeClass('selected');
+        $(".link.selected").removeClass('selected').removeClass('new');
         this.updateSelection();
     },
 
     deselectLink: function (link) {
-        $(link).removeClass('selected');
+        $(link).removeClass('selected').removeClass('new');
         this.updateSelection();
     },
 
@@ -937,6 +940,7 @@ LinkeditorLinks.prototype = {
 
     duplicateLinkClick: function () {
         let link = this.addLink(this._duplicateLink(), true);
+        $(link).addClass('new');
 
         this.deselectAllLinks();
         this.selectLink($(link));