summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorHitesh Trivedi <htr@openerp.com>2014-10-01 16:17:43 +0530
committerRichard Mathot <rim@openerp.com>2014-12-05 14:45:06 +0100
commitf570ea1e3edaa2a1387abe5018bafcc7ab07ef5f (patch)
treef5de8fc6048466503592598c339c41be310abc5c
parent1c834d009f555ad8c44b9a6609676146ab80e295 (diff)
[ADD] pad: new etherpad plugin to remove autofocus
In the form views where the pads are used, Etherpad-lite automatically focus on the pad content, even if the user has already started to type into another field. This behavior is quite annoying for "quick changes", so we provide a (very tiny) plugin for Etherpad-lite that will prevent this autofocus. Detailed installation instructions are also included.
-rw-r--r--addons/pad/static/plugin/ep_disable_init_focus/README.md28
-rw-r--r--addons/pad/static/plugin/ep_disable_init_focus/ep.json10
-rw-r--r--addons/pad/static/plugin/ep_disable_init_focus/package.json15
-rw-r--r--addons/pad/static/plugin/ep_disable_init_focus/static/js/disable_init_focus.js8
4 files changed, 61 insertions, 0 deletions
diff --git a/addons/pad/static/plugin/ep_disable_init_focus/README.md b/addons/pad/static/plugin/ep_disable_init_focus/README.md
new file mode 100644
index 00000000000..49a904a2100
--- /dev/null
+++ b/addons/pad/static/plugin/ep_disable_init_focus/README.md
@@ -0,0 +1,28 @@
+Readme
+======
+
+`ep_disable_init_focus` is a very simple
+[Etherpad-lite](https://github.com/ether/etherpad-lite) plugin, which disable
+the focus on the pad content after its loading.
+
+Rationale
+---------
+
+Etherpad-lite autofocus can be annoying to end-users when it is used in Odoo's
+"pad" widget, because it will override web client focus rules. This plugin is
+design to get rid of this behavior.
+
+
+Installation instructions
+-------------------------
+
+1. Stop your Etherpad-lite server.
+2. Copy the `ep_disabl_init_focus` folder into the `node_modules` folder of
+ your Etherpad-lite installation.
+3. in the folder of your Etherpad-lite installation, run this command to
+ install the plugin:
+
+ ```sh
+ npm install node_modules/ep_disable_init_focus/
+ ```
+4. Restart the Etherpad-lite server.
diff --git a/addons/pad/static/plugin/ep_disable_init_focus/ep.json b/addons/pad/static/plugin/ep_disable_init_focus/ep.json
new file mode 100644
index 00000000000..547cd8a2486
--- /dev/null
+++ b/addons/pad/static/plugin/ep_disable_init_focus/ep.json
@@ -0,0 +1,10 @@
+{
+ "parts":[
+ {
+ "name":"ep_disable_init_focus",
+ "client_hooks":{
+ "aceEditEvent":"ep_disable_init_focus/static/js/disable_init_focus"
+ }
+ }
+ ]
+}
diff --git a/addons/pad/static/plugin/ep_disable_init_focus/package.json b/addons/pad/static/plugin/ep_disable_init_focus/package.json
new file mode 100644
index 00000000000..e6f307d19fe
--- /dev/null
+++ b/addons/pad/static/plugin/ep_disable_init_focus/package.json
@@ -0,0 +1,15 @@
+{
+ "name":"ep_disable_init_focus",
+ "version":"0.0.1",
+ "description":"Disables init focus in etherpad-lite.",
+ "dependencies":{
+
+ },
+ "engines":{
+ "node":"*"
+ },
+ "author":{
+ "name":"Odoo S.A. - Hitesh Trivedi",
+ "email":"thiteshm155@gmail.com"
+ }
+}
diff --git a/addons/pad/static/plugin/ep_disable_init_focus/static/js/disable_init_focus.js b/addons/pad/static/plugin/ep_disable_init_focus/static/js/disable_init_focus.js
new file mode 100644
index 00000000000..62f6a553265
--- /dev/null
+++ b/addons/pad/static/plugin/ep_disable_init_focus/static/js/disable_init_focus.js
@@ -0,0 +1,8 @@
+exports.aceEditEvent = function(hook, call, editorInfo, rep, documentAttributeManager){
+
+ call.editorInfo.ace_focus = focus;
+ function focus(){
+ // Simple hook to disable the focus on the pad
+ }
+
+};