Skip to content
This repository was archived by the owner on May 5, 2021. It is now read-only.

Commit 30ad685

Browse files
sebgeelendmo-odoo
authored andcommitted
[IMP] FontAwesome : Select the icon automaticaly when user click
1 parent cca9d30 commit 30ad685

File tree

2 files changed

+21
-0
lines changed

2 files changed

+21
-0
lines changed

packages/plugin-fontawesome/src/FontAwesomeDomObjectRenderer.ts

Lines changed: 17 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -20,11 +20,28 @@ export class FontAwesomeDomObjectRenderer extends NodeRenderer<DomObject> {
2020
node: FontAwesomeNode,
2121
worker: RenderingEngineWorker<DomObject>,
2222
): Promise<DomObject> {
23+
const select = (ev: Event) => {
24+
ev.preventDefault();
25+
const selectFontAwesome = () => {
26+
this.engine.editor.selection.select(node, node);
27+
};
28+
// The normaliser wait a tick before changing the selection when the user click
29+
// in order to override the normalizer default behavior we also need to wait a tick
30+
setTimeout(() => {
31+
this.engine.editor.execCommand(selectFontAwesome);
32+
});
33+
};
2334
const fontawesome: DomObjectElement = {
2435
tag: node.htmlTag,
2536
attributes: {
2637
class: new Set(node.faClasses),
2738
},
39+
attach: (el: HTMLElement): void => {
40+
el.addEventListener('mouseup', select, true);
41+
},
42+
detach: (el: HTMLElement): void => {
43+
el.removeEventListener('mouseup', select, true);
44+
},
2845
};
2946
// Surround the fontawesome with two invisible characters so the
3047
// selection can navigate around it.

packages/plugin-odoo/src/OdooFontAwesomeDomObjectRenderer.ts

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -26,7 +26,11 @@ export class OdooFontAwesomeDomObjectRenderer extends FontAwesomeDomObjectRender
2626
}
2727
el.addEventListener('dblclick', dbclickCallback);
2828
};
29+
const savedDetach = fa.detach;
2930
fa.detach = (el: HTMLElement): void => {
31+
if (savedDetach) {
32+
savedDetach(el);
33+
}
3034
el.removeEventListener('dblclick', dbclickCallback);
3135
};
3236
}

0 commit comments

Comments
 (0)