summaryrefslogtreecommitdiff
path: root/addons
diff options
context:
space:
mode:
authorXavier Morel <xmo@openerp.com>2014-01-21 16:08:43 +0100
committerXavier Morel <xmo@openerp.com>2014-01-21 16:08:43 +0100
commitbf262a338e12d1905f42cfd013116d5d1cedd0ef (patch)
treeec6908e3ab367b45c04ba0a683c02e53c24a8503 /addons
parentcccdc808f9db79a7298fb2604b762fcfec10b1fd (diff)
[ADD] hover edit button on FA glyphs, rename 'Edit x' to 'Change'
bzr revid: xmo@openerp.com-20140121150843-fm2uqxctlejlwe5c
Diffstat (limited to 'addons')
-rw-r--r--addons/website/static/src/js/website.editor.js18
1 files changed, 11 insertions, 7 deletions
diff --git a/addons/website/static/src/js/website.editor.js b/addons/website/static/src/js/website.editor.js
index b6121464c01..d00cdd30f25 100644
--- a/addons/website/static/src/js/website.editor.js
+++ b/addons/website/static/src/js/website.editor.js
@@ -611,14 +611,19 @@
*/
setup_hover_buttons: function () {
var editor = this.rte.editor;
- var $link_button = this.make_hover_button(_t("Edit Link"), function () {
+ var $link_button = this.make_hover_button(_t("Change"), function () {
var sel = new CKEDITOR.dom.element(previous);
editor.getSelection().selectElement(sel);
- link_dialog(editor);
+ if (previous.tagName.toUpperCase() === 'A') {
+ link_dialog(editor);
+ } else if(sel.hasClass('fa')) {
+ new website.editor.FontIconsDialog(editor, previous)
+ .appendTo(document.body);
+ }
$link_button.hide();
previous = null;
}, 'btn-xs');
- var $image_button = this.make_hover_button(_t("Edit Image"), function () {
+ var $image_button = this.make_hover_button(_t("Change"), function () {
image_dialog(editor, new CKEDITOR.dom.element(previous));
$image_button.hide();
previous = null;
@@ -629,12 +634,12 @@
// -ish, because when moving to the button itself ``previous`` is
// still set to the element having triggered showing the button.
var previous;
- $(editor.element.$).on('mouseover', 'a, img', function (e) {
+ $(editor.element.$).on('mouseover', 'a, img, .fa', function () {
// Back from edit button -> ignore
if (previous && previous === this) { return; }
var selected = new CKEDITOR.dom.element(this);
- if (!is_editable_node(selected)) {
+ if (!is_editable_node(selected) && !selected.hasClass('fa')) {
return;
}
@@ -663,7 +668,7 @@
- $link_button.outerWidth() / 2
})
}
- }).on('mouseleave', 'a, img', function (e) {
+ }).on('mouseleave', 'a, img, .fa', function (e) {
var current = document.elementFromPoint(e.clientX, e.clientY);
if (current === $link_button[0] || current === $image_button[0]) {
return;
@@ -1611,7 +1616,6 @@
}
});
-
website.Observer = window.MutationObserver || window.WebkitMutationObserver || window.JsMutationObserver;
var OBSERVER_CONFIG = {
childList: true,