You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@openmeetings.apache.org by so...@apache.org on 2018/08/11 08:03:11 UTC

[openmeetings] branch 4.0.x updated: [OPENMEETINGS-1884] flexible textbox is implemented

This is an automated email from the ASF dual-hosted git repository.

solomax pushed a commit to branch 4.0.x
in repository https://gitbox.apache.org/repos/asf/openmeetings.git


The following commit(s) were added to refs/heads/4.0.x by this push:
     new dbd3ca6  [OPENMEETINGS-1884] flexible textbox is implemented
dbd3ca6 is described below

commit dbd3ca6a620c29742597558655ebc84280bfa531
Author: Maxim Solodovnik <so...@gmail.com>
AuthorDate: Sat Aug 11 15:02:57 2018 +0700

    [OPENMEETINGS-1884] flexible textbox is implemented
---
 openmeetings-web/pom.xml                           |  1 +
 .../web/app/Application.properties.xml             |  1 +
 .../web/app/Application_ar.properties.xml          |  1 +
 .../web/app/Application_bg.properties.xml          |  1 +
 .../web/app/Application_bn.properties.xml          |  1 +
 .../web/app/Application_ca.properties.xml          |  1 +
 .../web/app/Application_cs.properties.xml          |  1 +
 .../web/app/Application_da.properties.xml          |  1 +
 .../web/app/Application_de.properties.xml          |  1 +
 .../web/app/Application_el.properties.xml          |  1 +
 .../web/app/Application_es.properties.xml          |  1 +
 .../web/app/Application_fa.properties.xml          |  1 +
 .../web/app/Application_fi.properties.xml          |  1 +
 .../web/app/Application_fr.properties.xml          |  1 +
 .../web/app/Application_gl.properties.xml          |  1 +
 .../web/app/Application_he.properties.xml          |  1 +
 .../web/app/Application_hu.properties.xml          |  1 +
 .../web/app/Application_id.properties.xml          |  1 +
 .../web/app/Application_it.properties.xml          |  1 +
 .../web/app/Application_ja.properties.xml          |  1 +
 .../web/app/Application_ko.properties.xml          |  1 +
 .../web/app/Application_nl.properties.xml          |  1 +
 .../web/app/Application_pl.properties.xml          |  1 +
 .../web/app/Application_pt.properties.xml          |  1 +
 .../web/app/Application_pt_BR.properties.xml       |  1 +
 .../web/app/Application_ru.properties.xml          |  1 +
 .../web/app/Application_sk.properties.xml          |  1 +
 .../web/app/Application_sv.properties.xml          |  1 +
 .../web/app/Application_th.properties.xml          |  1 +
 .../web/app/Application_tr.properties.xml          |  1 +
 .../web/app/Application_uk.properties.xml          |  1 +
 .../web/app/Application_zh_CN.properties.xml       |  1 +
 .../web/app/Application_zh_TW.properties.xml       |  1 +
 .../apache/openmeetings/web/room/wb/WbPanel.html   | 39 ++++++++---
 .../openmeetings/web/room/wb/raw-wb-board.js       | 76 ++++++++++++++--------
 openmeetings-web/src/main/webapp/css/raw-wb.css    | 21 +++++-
 36 files changed, 132 insertions(+), 37 deletions(-)

diff --git a/openmeetings-web/pom.xml b/openmeetings-web/pom.xml
index 8e54dcb..2b5fb07 100644
--- a/openmeetings-web/pom.xml
+++ b/openmeetings-web/pom.xml
@@ -161,6 +161,7 @@
 								<jsSourceFile>raw-tool-apointer.js</jsSourceFile>
 								<jsSourceFile>raw-tool-shape-base.js</jsSourceFile>
 								<jsSourceFile>raw-tool-text.js</jsSourceFile>
+								<jsSourceFile>raw-tool-textbox.js</jsSourceFile>
 								<jsSourceFile>raw-tool-math.js</jsSourceFile>
 								<jsSourceFile>raw-tool-paint.js</jsSourceFile>
 								<jsSourceFile>raw-tool-shape.js</jsSourceFile>
diff --git a/openmeetings-web/src/main/java/org/apache/openmeetings/web/app/Application.properties.xml b/openmeetings-web/src/main/java/org/apache/openmeetings/web/app/Application.properties.xml
index 311f0fe..db21528 100644
--- a/openmeetings-web/src/main/java/org/apache/openmeetings/web/app/Application.properties.xml
+++ b/openmeetings-web/src/main/java/org/apache/openmeetings/web/app/Application.properties.xml
@@ -65,6 +65,7 @@ see http://openmeetings.apache.org/LanguageEditor.html for Details
 	<entry key="79"><![CDATA[Arrow]]></entry>
 	<entry key="80"><![CDATA[Delete]]></entry>
 	<entry key="81"><![CDATA[Apply to be a moderator]]></entry>
+	<entry key="82"><![CDATA[Flexible textbox]]></entry>
 	<entry key="84"><![CDATA[I have a question]]></entry>
 	<entry key="85"><![CDATA[Close]]></entry>
 	<entry key="86"><![CDATA[italic]]></entry>
diff --git a/openmeetings-web/src/main/java/org/apache/openmeetings/web/app/Application_ar.properties.xml b/openmeetings-web/src/main/java/org/apache/openmeetings/web/app/Application_ar.properties.xml
index a6e3397..4cf2652 100644
--- a/openmeetings-web/src/main/java/org/apache/openmeetings/web/app/Application_ar.properties.xml
+++ b/openmeetings-web/src/main/java/org/apache/openmeetings/web/app/Application_ar.properties.xml
@@ -65,6 +65,7 @@ see http://openmeetings.apache.org/LanguageEditor.html for Details
 	<entry key="79"><![CDATA[السهم]]></entry>
 	<entry key="80"><![CDATA[اختار حذف البند]]></entry>
 	<entry key="81"><![CDATA[طلب للحصول على الاعتدال]]></entry>
+	<entry key="82"><![CDATA[Flexible textbox]]></entry>
 	<entry key="84"><![CDATA[لتصبح مشرف]]></entry>
 	<entry key="85"><![CDATA[وثيق]]></entry>
 	<entry key="86"><![CDATA[مائل]]></entry>
diff --git a/openmeetings-web/src/main/java/org/apache/openmeetings/web/app/Application_bg.properties.xml b/openmeetings-web/src/main/java/org/apache/openmeetings/web/app/Application_bg.properties.xml
index 445d5d0..60d1513 100644
--- a/openmeetings-web/src/main/java/org/apache/openmeetings/web/app/Application_bg.properties.xml
+++ b/openmeetings-web/src/main/java/org/apache/openmeetings/web/app/Application_bg.properties.xml
@@ -65,6 +65,7 @@ see http://openmeetings.apache.org/LanguageEditor.html for Details
 	<entry key="79"><![CDATA[Стрелка]]></entry>
 	<entry key="80"><![CDATA[Изтриване на маркирания обект]]></entry>
 	<entry key="81"><![CDATA[Искане на права на модератор]]></entry>
+	<entry key="82"><![CDATA[Flexible textbox]]></entry>
 	<entry key="84"><![CDATA[Получаване на права на модератор]]></entry>
 	<entry key="85"><![CDATA[Затвори]]></entry>
 	<entry key="86"><![CDATA[курсив]]></entry>
diff --git a/openmeetings-web/src/main/java/org/apache/openmeetings/web/app/Application_bn.properties.xml b/openmeetings-web/src/main/java/org/apache/openmeetings/web/app/Application_bn.properties.xml
index b37c0e0..4adea21 100644
--- a/openmeetings-web/src/main/java/org/apache/openmeetings/web/app/Application_bn.properties.xml
+++ b/openmeetings-web/src/main/java/org/apache/openmeetings/web/app/Application_bn.properties.xml
@@ -65,6 +65,7 @@ see http://openmeetings.apache.org/LanguageEditor.html for Details
 	<entry key="79"><![CDATA[তীর]]></entry>
 	<entry key="80"><![CDATA[মুছুন]]></entry>
 	<entry key="81"><![CDATA[একজন মডারেটর হতে আবেদন করুন]]></entry>
+	<entry key="82"><![CDATA[Flexible textbox]]></entry>
 	<entry key="84"><![CDATA[আমার একটা প্রশ্ন আছে]]></entry>
 	<entry key="85"><![CDATA[বন্ধ করুন]]></entry>
 	<entry key="86"><![CDATA[ইটালিক]]></entry>
diff --git a/openmeetings-web/src/main/java/org/apache/openmeetings/web/app/Application_ca.properties.xml b/openmeetings-web/src/main/java/org/apache/openmeetings/web/app/Application_ca.properties.xml
index 4d97534..c7782b8 100644
--- a/openmeetings-web/src/main/java/org/apache/openmeetings/web/app/Application_ca.properties.xml
+++ b/openmeetings-web/src/main/java/org/apache/openmeetings/web/app/Application_ca.properties.xml
@@ -65,6 +65,7 @@ see http://openmeetings.apache.org/LanguageEditor.html for Details
 	<entry key="79"><![CDATA[Data]]></entry>
 	<entry key="80"><![CDATA[Esborrar l'ítem escollit]]></entry>
 	<entry key="81"><![CDATA[Solicitar la moderació]]></entry>
+	<entry key="82"><![CDATA[Flexible textbox]]></entry>
 	<entry key="84"><![CDATA[Convertir-se en moderador]]></entry>
 	<entry key="85"><![CDATA[Tancar]]></entry>
 	<entry key="86"><![CDATA[Itálica]]></entry>
diff --git a/openmeetings-web/src/main/java/org/apache/openmeetings/web/app/Application_cs.properties.xml b/openmeetings-web/src/main/java/org/apache/openmeetings/web/app/Application_cs.properties.xml
index 24773f9..5d77f96 100644
--- a/openmeetings-web/src/main/java/org/apache/openmeetings/web/app/Application_cs.properties.xml
+++ b/openmeetings-web/src/main/java/org/apache/openmeetings/web/app/Application_cs.properties.xml
@@ -65,6 +65,7 @@ see http://openmeetings.apache.org/LanguageEditor.html for Details
 	<entry key="79"><![CDATA[Šipka]]></entry>
 	<entry key="80"><![CDATA[smaž vybranou položku]]></entry>
 	<entry key="81"><![CDATA[Použít pro moderování]]></entry>
+	<entry key="82"><![CDATA[Flexible textbox]]></entry>
 	<entry key="84"><![CDATA[Stát se moderátorem]]></entry>
 	<entry key="85"><![CDATA[zavřít]]></entry>
 	<entry key="86"><![CDATA[italic]]></entry>
diff --git a/openmeetings-web/src/main/java/org/apache/openmeetings/web/app/Application_da.properties.xml b/openmeetings-web/src/main/java/org/apache/openmeetings/web/app/Application_da.properties.xml
index 95cf33f..8dbb890 100644
--- a/openmeetings-web/src/main/java/org/apache/openmeetings/web/app/Application_da.properties.xml
+++ b/openmeetings-web/src/main/java/org/apache/openmeetings/web/app/Application_da.properties.xml
@@ -65,6 +65,7 @@ see http://openmeetings.apache.org/LanguageEditor.html for Details
 	<entry key="79"><![CDATA[Pil]]></entry>
 	<entry key="80"><![CDATA[Slet valgt objekt]]></entry>
 	<entry key="81"><![CDATA[Læg til før moderation]]></entry>
+	<entry key="82"><![CDATA[Flexible textbox]]></entry>
 	<entry key="84"><![CDATA[Bliv moderator]]></entry>
 	<entry key="85"><![CDATA[Luk]]></entry>
 	<entry key="86"><![CDATA[italic]]></entry>
diff --git a/openmeetings-web/src/main/java/org/apache/openmeetings/web/app/Application_de.properties.xml b/openmeetings-web/src/main/java/org/apache/openmeetings/web/app/Application_de.properties.xml
index 90d1b38..3127865 100644
--- a/openmeetings-web/src/main/java/org/apache/openmeetings/web/app/Application_de.properties.xml
+++ b/openmeetings-web/src/main/java/org/apache/openmeetings/web/app/Application_de.properties.xml
@@ -65,6 +65,7 @@ see http://openmeetings.apache.org/LanguageEditor.html for Details
 	<entry key="79"><![CDATA[Pfeil]]></entry>
 	<entry key="80"><![CDATA[Löschen]]></entry>
 	<entry key="81"><![CDATA[Moderation beantragen]]></entry>
+	<entry key="82"><![CDATA[Flexible textbox]]></entry>
 	<entry key="84"><![CDATA[Moderator werden]]></entry>
 	<entry key="85"><![CDATA[Schließen]]></entry>
 	<entry key="86"><![CDATA[Kursiv]]></entry>
diff --git a/openmeetings-web/src/main/java/org/apache/openmeetings/web/app/Application_el.properties.xml b/openmeetings-web/src/main/java/org/apache/openmeetings/web/app/Application_el.properties.xml
index 506afb1..12893f7 100644
--- a/openmeetings-web/src/main/java/org/apache/openmeetings/web/app/Application_el.properties.xml
+++ b/openmeetings-web/src/main/java/org/apache/openmeetings/web/app/Application_el.properties.xml
@@ -65,6 +65,7 @@ see http://openmeetings.apache.org/LanguageEditor.html for Details
 	<entry key="79"><![CDATA[Βέλος]]></entry>
 	<entry key="80"><![CDATA[Διαγραφή Επιλεγμένου Στοιχείου]]></entry>
 	<entry key="81"><![CDATA[Αίτηση για Συντονισμό]]></entry>
+	<entry key="82"><![CDATA[Flexible textbox]]></entry>
 	<entry key="84"><![CDATA[Γίνετε Συντονιστής]]></entry>
 	<entry key="85"><![CDATA[Κλείσιμο]]></entry>
 	<entry key="86"><![CDATA[Italic]]></entry>
diff --git a/openmeetings-web/src/main/java/org/apache/openmeetings/web/app/Application_es.properties.xml b/openmeetings-web/src/main/java/org/apache/openmeetings/web/app/Application_es.properties.xml
index ebe8564..95e52f6 100644
--- a/openmeetings-web/src/main/java/org/apache/openmeetings/web/app/Application_es.properties.xml
+++ b/openmeetings-web/src/main/java/org/apache/openmeetings/web/app/Application_es.properties.xml
@@ -65,6 +65,7 @@ see http://openmeetings.apache.org/LanguageEditor.html for Details
 	<entry key="79"><![CDATA[Flecha]]></entry>
 	<entry key="80"><![CDATA[Borrar el ítem escogido]]></entry>
 	<entry key="81"><![CDATA[Solicitar ser moderador]]></entry>
+	<entry key="82"><![CDATA[Flexible textbox]]></entry>
 	<entry key="84"><![CDATA[Tengo una pregunta]]></entry>
 	<entry key="85"><![CDATA[Cerrar]]></entry>
 	<entry key="86"><![CDATA[Itálica]]></entry>
diff --git a/openmeetings-web/src/main/java/org/apache/openmeetings/web/app/Application_fa.properties.xml b/openmeetings-web/src/main/java/org/apache/openmeetings/web/app/Application_fa.properties.xml
index 1dafb16..0fe67c3 100644
--- a/openmeetings-web/src/main/java/org/apache/openmeetings/web/app/Application_fa.properties.xml
+++ b/openmeetings-web/src/main/java/org/apache/openmeetings/web/app/Application_fa.properties.xml
@@ -65,6 +65,7 @@ see http://openmeetings.apache.org/LanguageEditor.html for Details
 	<entry key="79"><![CDATA[پيكان]]></entry>
 	<entry key="80"><![CDATA[حذف ایتم انتخابی]]></entry>
 	<entry key="81"><![CDATA[درخواست هماهنگ کننده]]></entry>
+	<entry key="82"><![CDATA[Flexible textbox]]></entry>
 	<entry key="84"><![CDATA[سوال دارم]]></entry>
 	<entry key="85"><![CDATA[بستن]]></entry>
 	<entry key="86"><![CDATA[حروف کج]]></entry>
diff --git a/openmeetings-web/src/main/java/org/apache/openmeetings/web/app/Application_fi.properties.xml b/openmeetings-web/src/main/java/org/apache/openmeetings/web/app/Application_fi.properties.xml
index ec8b8b7..f20fd71 100644
--- a/openmeetings-web/src/main/java/org/apache/openmeetings/web/app/Application_fi.properties.xml
+++ b/openmeetings-web/src/main/java/org/apache/openmeetings/web/app/Application_fi.properties.xml
@@ -65,6 +65,7 @@ see http://openmeetings.apache.org/LanguageEditor.html for Details
 	<entry key="79"><![CDATA[Nuoli]]></entry>
 	<entry key="80"><![CDATA[poista valittu kohde]]></entry>
 	<entry key="81"><![CDATA[Pyydä moderaattorin oikeutta]]></entry>
+	<entry key="82"><![CDATA[Flexible textbox]]></entry>
 	<entry key="84"><![CDATA[Muutu moderaattoriksi]]></entry>
 	<entry key="85"><![CDATA[sulje]]></entry>
 	<entry key="86"><![CDATA[kursivointi]]></entry>
diff --git a/openmeetings-web/src/main/java/org/apache/openmeetings/web/app/Application_fr.properties.xml b/openmeetings-web/src/main/java/org/apache/openmeetings/web/app/Application_fr.properties.xml
index 73f658a..5ee1ba1 100644
--- a/openmeetings-web/src/main/java/org/apache/openmeetings/web/app/Application_fr.properties.xml
+++ b/openmeetings-web/src/main/java/org/apache/openmeetings/web/app/Application_fr.properties.xml
@@ -65,6 +65,7 @@ see http://openmeetings.apache.org/LanguageEditor.html for Details
 	<entry key="79"><![CDATA[Flèche]]></entry>
 	<entry key="80"><![CDATA[Supprimer l'élément sélectionné]]></entry>
 	<entry key="81"><![CDATA[Demander la modération]]></entry>
+	<entry key="82"><![CDATA[Flexible textbox]]></entry>
 	<entry key="84"><![CDATA[Devenir modérateur]]></entry>
 	<entry key="85"><![CDATA[Fermer]]></entry>
 	<entry key="86"><![CDATA[Italique]]></entry>
diff --git a/openmeetings-web/src/main/java/org/apache/openmeetings/web/app/Application_gl.properties.xml b/openmeetings-web/src/main/java/org/apache/openmeetings/web/app/Application_gl.properties.xml
index a2e2bd6..fde988c 100644
--- a/openmeetings-web/src/main/java/org/apache/openmeetings/web/app/Application_gl.properties.xml
+++ b/openmeetings-web/src/main/java/org/apache/openmeetings/web/app/Application_gl.properties.xml
@@ -65,6 +65,7 @@ see http://openmeetings.apache.org/LanguageEditor.html for Details
 	<entry key="79"><![CDATA[Frecha]]></entry>
 	<entry key="80"><![CDATA[Borrar o elemento escollido]]></entry>
 	<entry key="81"><![CDATA[Solicitar ser moderador]]></entry>
+	<entry key="82"><![CDATA[Flexible textbox]]></entry>
 	<entry key="84"><![CDATA[Teño unha pregunta]]></entry>
 	<entry key="85"><![CDATA[Pechar]]></entry>
 	<entry key="86"><![CDATA[Cursiva]]></entry>
diff --git a/openmeetings-web/src/main/java/org/apache/openmeetings/web/app/Application_he.properties.xml b/openmeetings-web/src/main/java/org/apache/openmeetings/web/app/Application_he.properties.xml
index 311f0fe..db21528 100644
--- a/openmeetings-web/src/main/java/org/apache/openmeetings/web/app/Application_he.properties.xml
+++ b/openmeetings-web/src/main/java/org/apache/openmeetings/web/app/Application_he.properties.xml
@@ -65,6 +65,7 @@ see http://openmeetings.apache.org/LanguageEditor.html for Details
 	<entry key="79"><![CDATA[Arrow]]></entry>
 	<entry key="80"><![CDATA[Delete]]></entry>
 	<entry key="81"><![CDATA[Apply to be a moderator]]></entry>
+	<entry key="82"><![CDATA[Flexible textbox]]></entry>
 	<entry key="84"><![CDATA[I have a question]]></entry>
 	<entry key="85"><![CDATA[Close]]></entry>
 	<entry key="86"><![CDATA[italic]]></entry>
diff --git a/openmeetings-web/src/main/java/org/apache/openmeetings/web/app/Application_hu.properties.xml b/openmeetings-web/src/main/java/org/apache/openmeetings/web/app/Application_hu.properties.xml
index 136db89..1d4f775 100644
--- a/openmeetings-web/src/main/java/org/apache/openmeetings/web/app/Application_hu.properties.xml
+++ b/openmeetings-web/src/main/java/org/apache/openmeetings/web/app/Application_hu.properties.xml
@@ -65,6 +65,7 @@ see http://openmeetings.apache.org/LanguageEditor.html for Details
 	<entry key="79"><![CDATA[Nyíl]]></entry>
 	<entry key="80"><![CDATA[a kiválasztott elem törlése]]></entry>
 	<entry key="81"><![CDATA[Jelentkezés előadónak]]></entry>
+	<entry key="82"><![CDATA[Flexible textbox]]></entry>
 	<entry key="84"><![CDATA[Előadóvá válni]]></entry>
 	<entry key="85"><![CDATA[bezár]]></entry>
 	<entry key="86"><![CDATA[dőlt]]></entry>
diff --git a/openmeetings-web/src/main/java/org/apache/openmeetings/web/app/Application_id.properties.xml b/openmeetings-web/src/main/java/org/apache/openmeetings/web/app/Application_id.properties.xml
index d53a6b2..34cd29e 100644
--- a/openmeetings-web/src/main/java/org/apache/openmeetings/web/app/Application_id.properties.xml
+++ b/openmeetings-web/src/main/java/org/apache/openmeetings/web/app/Application_id.properties.xml
@@ -65,6 +65,7 @@ see http://openmeetings.apache.org/LanguageEditor.html for Details
 	<entry key="79"><![CDATA[Panah]]></entry>
 	<entry key="80"><![CDATA[Hapus item yg dipilih]]></entry>
 	<entry key="81"><![CDATA[Tambahkan ke moderator]]></entry>
+	<entry key="82"><![CDATA[Flexible textbox]]></entry>
 	<entry key="84"><![CDATA[Menjadi Moderator]]></entry>
 	<entry key="85"><![CDATA[tutp]]></entry>
 	<entry key="86"><![CDATA[cetak miring]]></entry>
diff --git a/openmeetings-web/src/main/java/org/apache/openmeetings/web/app/Application_it.properties.xml b/openmeetings-web/src/main/java/org/apache/openmeetings/web/app/Application_it.properties.xml
index e8cc514..2938a90 100644
--- a/openmeetings-web/src/main/java/org/apache/openmeetings/web/app/Application_it.properties.xml
+++ b/openmeetings-web/src/main/java/org/apache/openmeetings/web/app/Application_it.properties.xml
@@ -65,6 +65,7 @@ see http://openmeetings.apache.org/LanguageEditor.html for Details
 	<entry key="79"><![CDATA[Freccia]]></entry>
 	<entry key="80"><![CDATA[Cancella oggetto selezionato]]></entry>
 	<entry key="81"><![CDATA[Sottoponi al moderatore]]></entry>
+	<entry key="82"><![CDATA[Flexible textbox]]></entry>
 	<entry key="84"><![CDATA[Diventa moderatore]]></entry>
 	<entry key="85"><![CDATA[chiudi]]></entry>
 	<entry key="86"><![CDATA[corsivo]]></entry>
diff --git a/openmeetings-web/src/main/java/org/apache/openmeetings/web/app/Application_ja.properties.xml b/openmeetings-web/src/main/java/org/apache/openmeetings/web/app/Application_ja.properties.xml
index 825690d..2c0e22a 100644
--- a/openmeetings-web/src/main/java/org/apache/openmeetings/web/app/Application_ja.properties.xml
+++ b/openmeetings-web/src/main/java/org/apache/openmeetings/web/app/Application_ja.properties.xml
@@ -65,6 +65,7 @@ see http://openmeetings.apache.org/LanguageEditor.html for Details
 	<entry key="79"><![CDATA[矢印]]></entry>
 	<entry key="80"><![CDATA[削除]]></entry>
 	<entry key="81"><![CDATA[モデレータ(司会者)になる]]></entry>
+	<entry key="82"><![CDATA[Flexible textbox]]></entry>
 	<entry key="84"><![CDATA[モデレータ(司会者)になる]]></entry>
 	<entry key="85"><![CDATA[閉じる]]></entry>
 	<entry key="86"><![CDATA[イタリック]]></entry>
diff --git a/openmeetings-web/src/main/java/org/apache/openmeetings/web/app/Application_ko.properties.xml b/openmeetings-web/src/main/java/org/apache/openmeetings/web/app/Application_ko.properties.xml
index c331d62..14ea90a 100644
--- a/openmeetings-web/src/main/java/org/apache/openmeetings/web/app/Application_ko.properties.xml
+++ b/openmeetings-web/src/main/java/org/apache/openmeetings/web/app/Application_ko.properties.xml
@@ -65,6 +65,7 @@ see http://openmeetings.apache.org/LanguageEditor.html for Details
 	<entry key="79"><![CDATA[화살표]]></entry>
 	<entry key="80"><![CDATA[선택한 항목 삭제]]></entry>
 	<entry key="81"><![CDATA[알맞게 신청하십시요.]]></entry>
+	<entry key="82"><![CDATA[Flexible textbox]]></entry>
 	<entry key="84"><![CDATA[사회자가 돼다]]></entry>
 	<entry key="85"><![CDATA[닫다]]></entry>
 	<entry key="86"><![CDATA[italic]]></entry>
diff --git a/openmeetings-web/src/main/java/org/apache/openmeetings/web/app/Application_nl.properties.xml b/openmeetings-web/src/main/java/org/apache/openmeetings/web/app/Application_nl.properties.xml
index 333a13a..d51e666 100644
--- a/openmeetings-web/src/main/java/org/apache/openmeetings/web/app/Application_nl.properties.xml
+++ b/openmeetings-web/src/main/java/org/apache/openmeetings/web/app/Application_nl.properties.xml
@@ -65,6 +65,7 @@ see http://openmeetings.apache.org/LanguageEditor.html for Details
 	<entry key="79"><![CDATA[Pijl]]></entry>
 	<entry key="80"><![CDATA[Verwijder het geselecteerde object]]></entry>
 	<entry key="81"><![CDATA[Toepassen voor aanpassing]]></entry>
+	<entry key="82"><![CDATA[Flexible textbox]]></entry>
 	<entry key="84"><![CDATA[Organisator worden]]></entry>
 	<entry key="85"><![CDATA[Afsluiten]]></entry>
 	<entry key="86"><![CDATA[italic]]></entry>
diff --git a/openmeetings-web/src/main/java/org/apache/openmeetings/web/app/Application_pl.properties.xml b/openmeetings-web/src/main/java/org/apache/openmeetings/web/app/Application_pl.properties.xml
index 83b23c8..8c7ea73 100644
--- a/openmeetings-web/src/main/java/org/apache/openmeetings/web/app/Application_pl.properties.xml
+++ b/openmeetings-web/src/main/java/org/apache/openmeetings/web/app/Application_pl.properties.xml
@@ -65,6 +65,7 @@ see http://openmeetings.apache.org/LanguageEditor.html for Details
 	<entry key="79"><![CDATA[Strzałka]]></entry>
 	<entry key="80"><![CDATA[Skasuj wskazany obiekt]]></entry>
 	<entry key="81"><![CDATA[Złóż wniosek o moderację]]></entry>
+	<entry key="82"><![CDATA[Flexible textbox]]></entry>
 	<entry key="84"><![CDATA[Zostań moderatorem]]></entry>
 	<entry key="85"><![CDATA[zamknij]]></entry>
 	<entry key="86"><![CDATA[kursywa]]></entry>
diff --git a/openmeetings-web/src/main/java/org/apache/openmeetings/web/app/Application_pt.properties.xml b/openmeetings-web/src/main/java/org/apache/openmeetings/web/app/Application_pt.properties.xml
index 0b07468..6486ec3 100644
--- a/openmeetings-web/src/main/java/org/apache/openmeetings/web/app/Application_pt.properties.xml
+++ b/openmeetings-web/src/main/java/org/apache/openmeetings/web/app/Application_pt.properties.xml
@@ -65,6 +65,7 @@ see http://openmeetings.apache.org/LanguageEditor.html for Details
 	<entry key="79"><![CDATA[Seta]]></entry>
 	<entry key="80"><![CDATA[excluir ítem selecionado]]></entry>
 	<entry key="81"><![CDATA[Aplicar para moderação]]></entry>
+	<entry key="82"><![CDATA[Flexible textbox]]></entry>
 	<entry key="84"><![CDATA[Tornar-se moderador]]></entry>
 	<entry key="85"><![CDATA[fechar]]></entry>
 	<entry key="86"><![CDATA[italic]]></entry>
diff --git a/openmeetings-web/src/main/java/org/apache/openmeetings/web/app/Application_pt_BR.properties.xml b/openmeetings-web/src/main/java/org/apache/openmeetings/web/app/Application_pt_BR.properties.xml
index cce5e71..d1393fa 100644
--- a/openmeetings-web/src/main/java/org/apache/openmeetings/web/app/Application_pt_BR.properties.xml
+++ b/openmeetings-web/src/main/java/org/apache/openmeetings/web/app/Application_pt_BR.properties.xml
@@ -65,6 +65,7 @@ see http://openmeetings.apache.org/LanguageEditor.html for Details
 	<entry key="79"><![CDATA[Seta]]></entry>
 	<entry key="80"><![CDATA[excluir ítem selecionado]]></entry>
 	<entry key="81"><![CDATA[Aplicar para moderação]]></entry>
+	<entry key="82"><![CDATA[Flexible textbox]]></entry>
 	<entry key="84"><![CDATA[Tornar-se moderador]]></entry>
 	<entry key="85"><![CDATA[fechar]]></entry>
 	<entry key="86"><![CDATA[italic]]></entry>
diff --git a/openmeetings-web/src/main/java/org/apache/openmeetings/web/app/Application_ru.properties.xml b/openmeetings-web/src/main/java/org/apache/openmeetings/web/app/Application_ru.properties.xml
index 1ff7e6b..f7204dc 100644
--- a/openmeetings-web/src/main/java/org/apache/openmeetings/web/app/Application_ru.properties.xml
+++ b/openmeetings-web/src/main/java/org/apache/openmeetings/web/app/Application_ru.properties.xml
@@ -65,6 +65,7 @@ see http://openmeetings.apache.org/LanguageEditor.html for Details
 	<entry key="79"><![CDATA[Стрелка]]></entry>
 	<entry key="80"><![CDATA[Удалить выбранный элемент]]></entry>
 	<entry key="81"><![CDATA[Запрос функции модератора]]></entry>
+	<entry key="82"><![CDATA[Текстовая область]]></entry>
 	<entry key="84"><![CDATA[Запросить ф-ции модератора]]></entry>
 	<entry key="85"><![CDATA[Закрыть]]></entry>
 	<entry key="86"><![CDATA[Курсив]]></entry>
diff --git a/openmeetings-web/src/main/java/org/apache/openmeetings/web/app/Application_sk.properties.xml b/openmeetings-web/src/main/java/org/apache/openmeetings/web/app/Application_sk.properties.xml
index 4db98e5..3dc7fc9 100644
--- a/openmeetings-web/src/main/java/org/apache/openmeetings/web/app/Application_sk.properties.xml
+++ b/openmeetings-web/src/main/java/org/apache/openmeetings/web/app/Application_sk.properties.xml
@@ -65,6 +65,7 @@ see http://openmeetings.apache.org/LanguageEditor.html for Details
 	<entry key="79"><![CDATA[Šípka]]></entry>
 	<entry key="80"><![CDATA[Zmazať vybranú položku]]></entry>
 	<entry key="81"><![CDATA[Požiadať o moderáciu]]></entry>
+	<entry key="82"><![CDATA[Flexible textbox]]></entry>
 	<entry key="84"><![CDATA[Nemám otázku]]></entry>
 	<entry key="85"><![CDATA[Zatvoriť]]></entry>
 	<entry key="86"><![CDATA[ležatý]]></entry>
diff --git a/openmeetings-web/src/main/java/org/apache/openmeetings/web/app/Application_sv.properties.xml b/openmeetings-web/src/main/java/org/apache/openmeetings/web/app/Application_sv.properties.xml
index 877430c..1e30afa 100644
--- a/openmeetings-web/src/main/java/org/apache/openmeetings/web/app/Application_sv.properties.xml
+++ b/openmeetings-web/src/main/java/org/apache/openmeetings/web/app/Application_sv.properties.xml
@@ -65,6 +65,7 @@ see http://openmeetings.apache.org/LanguageEditor.html for Details
 	<entry key="79"><![CDATA[Pil]]></entry>
 	<entry key="80"><![CDATA[radera valt objekt]]></entry>
 	<entry key="81"><![CDATA[Lägg till för moderation]]></entry>
+	<entry key="82"><![CDATA[Flexible textbox]]></entry>
 	<entry key="84"><![CDATA[Bli moderator]]></entry>
 	<entry key="85"><![CDATA[Stäng]]></entry>
 	<entry key="86"><![CDATA[italic]]></entry>
diff --git a/openmeetings-web/src/main/java/org/apache/openmeetings/web/app/Application_th.properties.xml b/openmeetings-web/src/main/java/org/apache/openmeetings/web/app/Application_th.properties.xml
index 0fb9b5d..b024313 100644
--- a/openmeetings-web/src/main/java/org/apache/openmeetings/web/app/Application_th.properties.xml
+++ b/openmeetings-web/src/main/java/org/apache/openmeetings/web/app/Application_th.properties.xml
@@ -65,6 +65,7 @@ see http://openmeetings.apache.org/LanguageEditor.html for Details
 	<entry key="79"><![CDATA[ลูกศร]]></entry>
 	<entry key="80"><![CDATA[ลบรายการที่เลือกไว้]]></entry>
 	<entry key="81"><![CDATA[สมัครเพื่อทำหน้าที่ดำเนินรายการ]]></entry>
+	<entry key="82"><![CDATA[Flexible textbox]]></entry>
 	<entry key="84"><![CDATA[กลายเป็นผู้ดำเนินรายการ]]></entry>
 	<entry key="85"><![CDATA[ปิด]]></entry>
 	<entry key="86"><![CDATA[ตัวเอียง]]></entry>
diff --git a/openmeetings-web/src/main/java/org/apache/openmeetings/web/app/Application_tr.properties.xml b/openmeetings-web/src/main/java/org/apache/openmeetings/web/app/Application_tr.properties.xml
index c627011..8bd894f 100644
--- a/openmeetings-web/src/main/java/org/apache/openmeetings/web/app/Application_tr.properties.xml
+++ b/openmeetings-web/src/main/java/org/apache/openmeetings/web/app/Application_tr.properties.xml
@@ -65,6 +65,7 @@ see http://openmeetings.apache.org/LanguageEditor.html for Details
 	<entry key="79"><![CDATA[Ok]]></entry>
 	<entry key="80"><![CDATA[Seçili öğeyi sil]]></entry>
 	<entry key="81"><![CDATA[Düzenleme için uygula]]></entry>
+	<entry key="82"><![CDATA[Flexible textbox]]></entry>
 	<entry key="84"><![CDATA[Düzenleyici ol]]></entry>
 	<entry key="85"><![CDATA[kapat]]></entry>
 	<entry key="86"><![CDATA[eğik]]></entry>
diff --git a/openmeetings-web/src/main/java/org/apache/openmeetings/web/app/Application_uk.properties.xml b/openmeetings-web/src/main/java/org/apache/openmeetings/web/app/Application_uk.properties.xml
index 786c783..77fb7a0 100644
--- a/openmeetings-web/src/main/java/org/apache/openmeetings/web/app/Application_uk.properties.xml
+++ b/openmeetings-web/src/main/java/org/apache/openmeetings/web/app/Application_uk.properties.xml
@@ -65,6 +65,7 @@ see http://openmeetings.apache.org/LanguageEditor.html for Details
 	<entry key="79"><![CDATA[Стрілка]]></entry>
 	<entry key="80"><![CDATA[Стерти обраний елемент]]></entry>
 	<entry key="81"><![CDATA[Запит функції модератора]]></entry>
+	<entry key="82"><![CDATA[Flexible textbox]]></entry>
 	<entry key="84"><![CDATA[Отримати функцію модератора]]></entry>
 	<entry key="85"><![CDATA[Закрити]]></entry>
 	<entry key="86"><![CDATA[Курсив]]></entry>
diff --git a/openmeetings-web/src/main/java/org/apache/openmeetings/web/app/Application_zh_CN.properties.xml b/openmeetings-web/src/main/java/org/apache/openmeetings/web/app/Application_zh_CN.properties.xml
index 95781ac..90cbe6c 100644
--- a/openmeetings-web/src/main/java/org/apache/openmeetings/web/app/Application_zh_CN.properties.xml
+++ b/openmeetings-web/src/main/java/org/apache/openmeetings/web/app/Application_zh_CN.properties.xml
@@ -65,6 +65,7 @@ see http://openmeetings.apache.org/LanguageEditor.html for Details
 	<entry key="79"><![CDATA[箭头]]></entry>
 	<entry key="80"><![CDATA[删除已选项]]></entry>
 	<entry key="81"><![CDATA[接受主持]]></entry>
+	<entry key="82"><![CDATA[Flexible textbox]]></entry>
 	<entry key="84"><![CDATA[成为主持]]></entry>
 	<entry key="85"><![CDATA[关闭]]></entry>
 	<entry key="86"><![CDATA[斜体]]></entry>
diff --git a/openmeetings-web/src/main/java/org/apache/openmeetings/web/app/Application_zh_TW.properties.xml b/openmeetings-web/src/main/java/org/apache/openmeetings/web/app/Application_zh_TW.properties.xml
index 37529df..49d99cb 100644
--- a/openmeetings-web/src/main/java/org/apache/openmeetings/web/app/Application_zh_TW.properties.xml
+++ b/openmeetings-web/src/main/java/org/apache/openmeetings/web/app/Application_zh_TW.properties.xml
@@ -65,6 +65,7 @@ see http://openmeetings.apache.org/LanguageEditor.html for Details
 	<entry key="79"><![CDATA[箭頭]]></entry>
 	<entry key="80"><![CDATA[刪除選定項目]]></entry>
 	<entry key="81"><![CDATA[申請成為主持人]]></entry>
+	<entry key="82"><![CDATA[Flexible textbox]]></entry>
 	<entry key="84"><![CDATA[成為主持人]]></entry>
 	<entry key="85"><![CDATA[關閉]]></entry>
 	<entry key="86"><![CDATA[斜體字]]></entry>
diff --git a/openmeetings-web/src/main/java/org/apache/openmeetings/web/room/wb/WbPanel.html b/openmeetings-web/src/main/java/org/apache/openmeetings/web/room/wb/WbPanel.html
index 24325cb..dc63826 100644
--- a/openmeetings-web/src/main/java/org/apache/openmeetings/web/room/wb/WbPanel.html
+++ b/openmeetings-web/src/main/java/org/apache/openmeetings/web/room/wb/WbPanel.html
@@ -43,8 +43,36 @@
 			<span class="ui-button-icon-space"> </span>
 			<wicket:message key="85"/>
 		</button>
-		<div id="wb-area-cliparts" class="btn-group" style="float: left;">
-			<a class="dropdown-toggle" data-toggle="dropdown" wicket:message="title:1323"></a>
+		<div id="wb-area-texts" class="btn-group texts" style="float: left;">
+			<a class="dropdown-toggle" data-toggle="dropdown">
+				<span class="caret"></span>
+			</a>
+			<ul class="dropdown-menu om-left">
+				<li>
+					<div wicket:message="title:73" class="ui-widget-header clickable om-icon big text"></div>
+					<div wicket:message="title:82" class="ui-widget-header clickable om-icon big textbox"></div>
+				</li>
+			</ul>
+		</div>
+		<div id="wb-area-drawings" class="btn-group drawings" style="float: left;">
+			<a class="dropdown-toggle" data-toggle="dropdown">
+				<span class="caret"></span>
+			</a>
+			<ul class="dropdown-menu om-left">
+				<li>
+					<div wicket:message="title:74" class="ui-widget-header clickable om-icon big paint"></div>
+					<div wicket:message="title:75" class="ui-widget-header clickable om-icon big line"></div>
+					<div wicket:message="title:76" class="ui-widget-header clickable om-icon big uline"></div>
+					<div wicket:message="title:77" class="ui-widget-header clickable om-icon big rect"></div>
+					<div wicket:message="title:78" class="ui-widget-header clickable om-icon big ellipse"></div>
+					<div wicket:message="title:79" class="ui-widget-header clickable om-icon big arrow"></div>
+				</li>
+			</ul>
+		</div>
+		<div id="wb-area-cliparts" class="btn-group cliparts" style="float: left;">
+			<a class="dropdown-toggle" data-toggle="dropdown" wicket:message="title:1323">
+				<span class="caret"></span>
+			</a>
 			<ul class="dropdown-menu om-left">
 				<li>
 					<div wicket:id="clipart" class="ui-widget-header clickable om-icon big clipart"
@@ -95,13 +123,6 @@
 
 			<div wicket:message="title:72" class="ui-widget-header clickable om-icon big pointer"></div>
 			<div wicket:message="title:557" class="ui-widget-header clickable om-icon big apointer"></div>
-			<div wicket:message="title:73" class="ui-widget-header clickable om-icon big text"></div>
-			<div wicket:message="title:74" class="ui-widget-header clickable om-icon big paint"></div>
-			<div wicket:message="title:75" class="ui-widget-header clickable om-icon big line"></div>
-			<div wicket:message="title:76" class="ui-widget-header clickable om-icon big uline"></div>
-			<div wicket:message="title:77" class="ui-widget-header clickable om-icon big rect"></div>
-			<div wicket:message="title:78" class="ui-widget-header clickable om-icon big ellipse"></div>
-			<div wicket:message="title:79" class="ui-widget-header clickable om-icon big arrow"></div>
 			<div wicket:message="title:wb.tool.math.formula" class="ui-widget-header clickable om-icon big math"></div>
 			<div wicket:message="title:843" class="ui-widget-header clickable om-icon big settings"></div>
 		</div>
diff --git a/openmeetings-web/src/main/java/org/apache/openmeetings/web/room/wb/raw-wb-board.js b/openmeetings-web/src/main/java/org/apache/openmeetings/web/room/wb/raw-wb-board.js
index 56d69a3..0b4c20b 100644
--- a/openmeetings-web/src/main/java/org/apache/openmeetings/web/room/wb/raw-wb-board.js
+++ b/openmeetings-web/src/main/java/org/apache/openmeetings/web/room/wb/raw-wb-board.js
@@ -6,11 +6,11 @@ var Wb = function() {
 	let a, t, z, s, f, mode, slide = 0, width = 0, height = 0
 			, zoom = 1., zoomMode = 'pageWidth', role = null;
 
-	function getBtn(m) {
+	function _getBtn(m) {
 		return !!t ? t.find('.om-icon.' + (m || mode)) : null;
 	}
-	function initToolBtn(m, def, obj) {
-		const btn = getBtn(m);
+	function _initToolBtn(m, def, obj) {
+		const btn = _getBtn(m);
 		btn.data({
 			obj: obj
 			, activate: function() {
@@ -25,7 +25,7 @@ var Wb = function() {
 				obj.deactivate();
 			}
 		}).click(function() {
-			const b = getBtn();
+			const b = _getBtn();
 			if (b.length && b.hasClass(ACTIVE)) {
 				b.data().deactivate();
 			}
@@ -35,9 +35,37 @@ var Wb = function() {
 			btn.data().activate();
 		}
 	}
-	function initCliparts() {
+	function _initGroup(__id, e) {
+		const c = OmUtil.tmpl(__id);
+		e.after(c);
+		const fT = c.find('div.om-icon.big:first');
+		c.attr('title', fT.attr('title')).find('a').prepend(fT);
+		c.find('.om-icon').each(function() {
+			const cur = $(this);
+			cur.click(function() {
+					const old = c.find('a .om-icon');
+					c.find('ul li').prepend(old);
+					c.attr('title', cur.attr('title')).find('a').prepend(cur);
+				});
+		});
+	}
+	function _initTexts() {
+		_initGroup('#wb-area-texts', _getBtn('apointer'));
+		_initToolBtn('text', false, Text(wb, s));
+		_initToolBtn('textbox', false, Textbox(wb, s));
+	}
+	function _initDrawings() {
+		_initGroup('#wb-area-drawings', t.find('.texts'));
+		_initToolBtn('paint', false, Paint(wb, s));
+		_initToolBtn('line', false, Line(wb, s));
+		_initToolBtn('uline', false, ULine(wb, s));
+		_initToolBtn('rect', false, Rect(wb, s));
+		_initToolBtn('ellipse', false, Ellipse(wb, s));
+		_initToolBtn('arrow', false, Arrow(wb, s));
+	}
+	function _initCliparts() {
 		const c = OmUtil.tmpl('#wb-area-cliparts');
-		getBtn('arrow').after(c);
+		t.find('.drawings').after(c);
 		c.find('a').prepend(c.find('div.om-icon.big:first'));
 		c.find('.om-icon.clipart').each(function() {
 			const cur = $(this);
@@ -47,7 +75,7 @@ var Wb = function() {
 					c.find('ul li').prepend(old);
 					c.find('a').prepend(cur);
 				});
-			initToolBtn(cur.data('mode'), false, Clipart(wb, cur, s));
+			_initToolBtn(cur.data('mode'), false, Clipart(wb, cur, s));
 		});
 	}
 	function _updateZoomPanel() {
@@ -113,17 +141,12 @@ var Wb = function() {
 				if (role === WHITEBOARD) {
 					clearAll.addClass('disabled');
 				}
-				initToolBtn('pointer', _firstToolItem, Pointer(wb, s));
+				_initToolBtn('pointer', _firstToolItem, Pointer(wb, s));
 				_firstToolItem = false;
-				initToolBtn('text', _firstToolItem, Text(wb, s));
-				initToolBtn('paint', _firstToolItem, Paint(wb, s));
-				initToolBtn('line', _firstToolItem, Line(wb, s));
-				initToolBtn('uline', _firstToolItem, ULine(wb, s));
-				initToolBtn('rect', _firstToolItem, Rect(wb, s));
-				initToolBtn('ellipse', _firstToolItem, Ellipse(wb, s));
-				initToolBtn('arrow', _firstToolItem, Arrow(wb, s));
-				initToolBtn('math', _firstToolItem, TMath(wb, s));
-				initCliparts();
+				_initTexts();
+				_initDrawings();
+				_initToolBtn('math', _firstToolItem, TMath(wb, s));
+				_initCliparts();
 				t.find('.om-icon.settings').click(function() {
 					s.show();
 				});
@@ -143,14 +166,14 @@ var Wb = function() {
 					.button()
 					.click(function() {
 						$(this).toggleClass('ui-state-active selected');
-						const btn = getBtn()
+						const btn = _getBtn()
 							, isB = $(this).hasClass('wb-prop-b');
 						btn.data().obj.style[isB ? 'bold' : 'italic'] = $(this).hasClass('selected');
 					});
 				s.find('.wb-prop-lock-color, .wb-prop-lock-fill')
 					.button({icon: 'ui-icon-locked', showLabel: false})
 					.click(function() {
-						const btn = getBtn()
+						const btn = _getBtn()
 							, isColor = $(this).hasClass('wb-prop-lock-color')
 							, c = s.find(isColor ? '.wb-prop-color' : '.wb-prop-fill')
 							, enabled = $(this).button('option', 'icon') === 'ui-icon-locked';
@@ -159,7 +182,7 @@ var Wb = function() {
 						btn.data().obj[isColor ? 'stroke' : 'fill'].enabled = enabled;
 					});
 				s.find('.wb-prop-color').change(function() {
-					const btn = getBtn();
+					const btn = _getBtn();
 					if (btn.length === 1) {
 						const v = $(this).val();
 						btn.data().obj.stroke.color = v;
@@ -171,7 +194,7 @@ var Wb = function() {
 					}
 				});
 				s.find('.wb-prop-width').change(function() {
-					const btn = getBtn();
+					const btn = _getBtn();
 					if (btn.length === 1) {
 						const v = 1 * $(this).val();
 						btn.data().obj.stroke.width = v;
@@ -183,14 +206,14 @@ var Wb = function() {
 					}
 				});
 				s.find('.wb-prop-fill').change(function() {
-					const btn = getBtn();
+					const btn = _getBtn();
 					if (btn.length === 1) {
 						const v = $(this).val();
 						btn.data().obj.fill.color = v;
 					}
 				});
 				s.find('.wb-prop-opacity').change(function() {
-					const btn = getBtn();
+					const btn = _getBtn();
 					if (btn.length === 1) {
 						const v = (1 * $(this).val()) / 100;
 						btn.data().obj.opacity = v;
@@ -305,7 +328,7 @@ var Wb = function() {
 					}));
 				});
 				_setSize();
-				initToolBtn('apointer', _firstToolItem, APointer(wb, s));
+				_initToolBtn('apointer', _firstToolItem, APointer(wb, s));
 		}
 	}
 	function _findObject(o) {
@@ -363,7 +386,7 @@ var Wb = function() {
 				}
 				_updateZoomPanel();
 				if (ccount !== canvases.length) {
-					const b = getBtn();
+					const b = _getBtn();
 					if (b.length && b.hasClass(ACTIVE)) {
 						b.data().deactivate();
 						b.data().activate();
@@ -439,6 +462,7 @@ var Wb = function() {
 		const o = e.target;
 		if (!!o.loaded) return;
 		switch(o.type) {
+			case 'textbox':
 			case 'i-text':
 				o.uid = UUID.generate();
 				o.slide = this.slide;
@@ -611,7 +635,7 @@ var Wb = function() {
 
 	wb.setRole = function(_role) {
 		if (role !== _role) {
-			const btn = getBtn();
+			const btn = _getBtn();
 			if (!!btn && btn.length === 1) {
 				btn.data().deactivate();
 			}
diff --git a/openmeetings-web/src/main/webapp/css/raw-wb.css b/openmeetings-web/src/main/webapp/css/raw-wb.css
index 2f80575..f445bf2 100644
--- a/openmeetings-web/src/main/webapp/css/raw-wb.css
+++ b/openmeetings-web/src/main/webapp/css/raw-wb.css
@@ -63,14 +63,14 @@
 }
 .room.wb.area .tools.vertical {
 	width: 31px;
-	height: 479px;
+	height: 332px;
 }
 .room.wb.area .tools.readonly.vertical {
 	width: 31px;
 	height: 42px;
 }
 .room.wb.area .tools.horisontal {
-	width: 479px;
+	width: 332px;
 	height: 31px;
 }
 .room.wb.area .tools.readonly.horisontal {
@@ -129,6 +129,9 @@
 .room.wb.area .tools .om-icon.big.math {
 	background-image: url(images/math.png);
 }
+.room.wb.area .tools .om-icon.big.textbox {
+	background-image: url(images/textbox.png);
+}
 .room.wb.area .om-icon.big.next {
 	background-image: url(images/next.png);
 }
@@ -139,6 +142,20 @@
 	position: absolute;
 	z-index: 95;
 }
+.room.wb.area .tools .dropdown-toggle {
+	position: relative;
+	width: 27px;
+	height: 22px;
+	display: inline-block;
+}
+.room.wb.area .tools .dropdown-toggle .caret {
+	position: absolute;
+	border-top: 8px solid transparent;
+	border-left: 8px solid blue;
+	border-right: 8px solid transparent;
+	bottom: -5px;
+	left: 2px;
+}
 .wb-settings, .wb-settings .tab.props, .wb-formula {
 	display: inline-block;
 	width: 310px;