From ee5d1a47dc4c5e60e0ebb9993b1303ba16c87879 Mon Sep 17 00:00:00 2001
From: chylex <contact@chylex.com>
Date: Sat, 10 Jun 2017 23:26:04 +0200
Subject: [PATCH] Add {cursor} token to template plugin

---
 Resources/Plugins/templates/browser.js | 16 +++++++++++-----
 1 file changed, 11 insertions(+), 5 deletions(-)

diff --git a/Resources/Plugins/templates/browser.js b/Resources/Plugins/templates/browser.js
index 8e4ec5f3..61cab1e7 100644
--- a/Resources/Plugins/templates/browser.js
+++ b/Resources/Plugins/templates/browser.js
@@ -133,16 +133,22 @@ enabled(){
   
   var useTemplate = (contents, append) => {
     let ele = $(".js-compose-text");
+    if (ele.length === 0)return;
     
-    if (ele.length === 0){
-      return;
-    }
+    let value = append ? ele.val()+contents : contents;
+    let tokenCursor = null;
     
-    // TODO
+    [value, tokenCursor] = readTemplateToken(value, "cursor");
     
-    ele.val(append ? ele.val()+contents : contents);
+    ele.val(value);
     ele.focus();
     
+    if (tokenCursor.length === 1){
+      let [ index, length ] = tokenCursor[0];
+      ele[0].selectionStart = index;
+      ele[0].selectionEnd = index+(length | 0 || 0);
+    }
+    
     if (!append){
       hideTemplateModal();
     }