Parcourir la source

Add a call by name via @

Visman il y a 2 ans
Parent
commit
9c07f6b7ac
1 fichiers modifiés avec 15 ajouts et 0 suppressions
  1. 15 0
      public/js/scloader.js

+ 15 - 0
public/js/scloader.js

@@ -13,11 +13,13 @@ ForkBB.editor = (function (doc, win) {
     'use strict';
     'use strict';
 
 
     var instance,
     var instance,
+        nameSelector = ".f-username",
         dataName = "data-SCEditorConfig",
         dataName = "data-SCEditorConfig",
         emotName = "data-smiliesEnabled",
         emotName = "data-smiliesEnabled",
         linkName = "data-linkEnabled",
         linkName = "data-linkEnabled",
         selector = "textarea[" + dataName + "]",
         selector = "textarea[" + dataName + "]",
         textarea,
         textarea,
+        elForScroll,
         options = {
         options = {
             format: 'bbcode',
             format: 'bbcode',
             icons: 'monocons',
             icons: 'monocons',
@@ -83,6 +85,19 @@ ForkBB.editor = (function (doc, win) {
                 instance.emoticons(true);
                 instance.emoticons(true);
             }
             }
         }
         }
+
+        elForScroll = textarea.parentNode;
+        var users = doc.querySelectorAll(nameSelector);
+
+        for (var node of users) {
+            var a = doc.createElement("a");
+            a.textContent = "@";
+            a.addEventListener('click', function (e) {
+                instance.insert("[b]" + e.target.parentNode.textContent + "[/b], ");
+                elForScroll.scrollIntoView({behavior: "smooth", block: "end"});
+            });
+            node.insertBefore(a, node.firstChild);
+        }
     }
     }
 
 
     return {
     return {