Skip to content

Commit 5ed2f97

Browse files
committed
Merge PR #3328 into 19.0
Signed-off-by pedrobaeza
2 parents 15c880c + 2171834 commit 5ed2f97

25 files changed

Lines changed: 1180 additions & 0 deletions
Lines changed: 113 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,113 @@
1+
.. image:: https://odoo-community.org/readme-banner-image
2+
:target: https://odoo-community.org/get-involved?utm_source=readme
3+
:alt: Odoo Community Association
4+
5+
=========================
6+
Web editor class selector
7+
=========================
8+
9+
..
10+
!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
11+
!! This file is generated by oca-gen-addon-readme !!
12+
!! changes will be overwritten. !!
13+
!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
14+
!! source digest: sha256:27dc2c3aadd6f0fa60d492916a82154019c52ba9203053995b113a2b00922c3f
15+
!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
16+
17+
.. |badge1| image:: https://img.shields.io/badge/maturity-Beta-yellow.png
18+
:target: https://odoo-community.org/page/development-status
19+
:alt: Beta
20+
.. |badge2| image:: https://img.shields.io/badge/license-AGPL--3-blue.png
21+
:target: http://www.gnu.org/licenses/agpl-3.0-standalone.html
22+
:alt: License: AGPL-3
23+
.. |badge3| image:: https://img.shields.io/badge/github-OCA%2Fweb-lightgray.png?logo=github
24+
:target: https://github.com/OCA/web/tree/19.0/web_editor_class_selector
25+
:alt: OCA/web
26+
.. |badge4| image:: https://img.shields.io/badge/weblate-Translate%20me-F47D42.png
27+
:target: https://translation.odoo-community.org/projects/web-19-0/web-19-0-web_editor_class_selector
28+
:alt: Translate me on Weblate
29+
.. |badge5| image:: https://img.shields.io/badge/runboat-Try%20me-875A7B.png
30+
:target: https://runboat.odoo-community.org/builds?repo=OCA/web&target_branch=19.0
31+
:alt: Try me on Runboat
32+
33+
|badge1| |badge2| |badge3| |badge4| |badge5|
34+
35+
This module allows users to create custom CSS class records, which can
36+
then be selected and applied directly in the HTML editor. Note: The
37+
actual CSS file containing the class definitions is not provided by this
38+
module and must be loaded in a custom module.
39+
40+
**Table of contents**
41+
42+
.. contents::
43+
:local:
44+
45+
Usage
46+
=====
47+
48+
- Go to Settings > Technical > User Interface > Web editor Class.
49+
- Create and name your custom CSS classes.
50+
- Go to any model with an HTML field (e.g., Settings > Users >
51+
Preferences > Signature).
52+
- In the HTML editor, select any content block.
53+
- Choose from the available CSS classes to apply the desired styling.
54+
55+
Known issues / Roadmap
56+
======================
57+
58+
Add support to apply class to any element (currently, only span is
59+
supported)
60+
61+
Bug Tracker
62+
===========
63+
64+
Bugs are tracked on `GitHub Issues <https://github.com/OCA/web/issues>`_.
65+
In case of trouble, please check there if your issue has already been reported.
66+
If you spotted it first, help us to smash it by providing a detailed and welcomed
67+
`feedback <https://github.com/OCA/web/issues/new?body=module:%20web_editor_class_selector%0Aversion:%2019.0%0A%0A**Steps%20to%20reproduce**%0A-%20...%0A%0A**Current%20behavior**%0A%0A**Expected%20behavior**>`_.
68+
69+
Do not contact contributors directly about support or help with technical issues.
70+
71+
Credits
72+
=======
73+
74+
Authors
75+
-------
76+
77+
* Tecnativa
78+
79+
Contributors
80+
------------
81+
82+
- `Tecnativa <https://www.tecnativa.com>`__:
83+
84+
- Carlos Lopez
85+
86+
- `Heliconia Solutions Pvt. Ltd. <https://www.heliconia.io>`__
87+
88+
- Bhavesh Heliconia
89+
90+
Maintainers
91+
-----------
92+
93+
This module is maintained by the OCA.
94+
95+
.. image:: https://odoo-community.org/logo.png
96+
:alt: Odoo Community Association
97+
:target: https://odoo-community.org
98+
99+
OCA, or the Odoo Community Association, is a nonprofit organization whose
100+
mission is to support the collaborative development of Odoo features and
101+
promote its widespread use.
102+
103+
.. |maintainer-carlos-lopez-tecnativa| image:: https://github.com/carlos-lopez-tecnativa.png?size=40px
104+
:target: https://github.com/carlos-lopez-tecnativa
105+
:alt: carlos-lopez-tecnativa
106+
107+
Current `maintainer <https://odoo-community.org/page/maintainer-role>`__:
108+
109+
|maintainer-carlos-lopez-tecnativa|
110+
111+
This module is part of the `OCA/web <https://github.com/OCA/web/tree/19.0/web_editor_class_selector>`_ project on GitHub.
112+
113+
You are welcome to contribute. To learn how please visit https://odoo-community.org/page/Contribute.
Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1 @@
1+
from . import models
Lines changed: 31 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,31 @@
1+
{
2+
"name": "Web editor class selector",
3+
"version": "19.0.1.0.0",
4+
"summary": "",
5+
"author": "Tecnativa, Odoo Community Association (OCA)",
6+
"website": "https://github.com/OCA/web",
7+
"depends": [
8+
"html_editor",
9+
],
10+
"data": [
11+
"security/ir.model.access.csv",
12+
"views/web_editor_class_views.xml",
13+
"views/menus.xml",
14+
],
15+
"demo": [
16+
"demo/web_editor_class_demo.xml",
17+
],
18+
"assets": {
19+
"web.assets_backend": [
20+
"web_editor_class_selector/static/src/js/css_selector/**/*",
21+
"web_editor_class_selector/static/src/scss/demo_styles.scss",
22+
"web_editor_class_selector/static/src/js/fields/**/*",
23+
"web_editor_class_selector/static/src/js/utils/**/*",
24+
"web_editor_class_selector/static/src/js/wysiwyg/**/*",
25+
],
26+
},
27+
"maintainers": ["carlos-lopez-tecnativa"],
28+
"installable": True,
29+
"auto_install": False,
30+
"license": "AGPL-3",
31+
}
Lines changed: 15 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,15 @@
1+
<?xml version="1.0" encoding="utf-8" ?>
2+
<odoo>
3+
<record id="class_button" model="web.editor.class">
4+
<field name="name">Button</field>
5+
<field name="class_name">demo_button</field>
6+
</record>
7+
<record id="class_menu" model="web.editor.class">
8+
<field name="name">Menu</field>
9+
<field name="class_name">demo_menu</field>
10+
</record>
11+
<record id="class_field" model="web.editor.class">
12+
<field name="name">Field</field>
13+
<field name="class_name">demo_field</field>
14+
</record>
15+
</odoo>
Lines changed: 116 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,116 @@
1+
# Translation of Odoo Server.
2+
# This file contains the translation of the following modules:
3+
# * web_editor_class_selector
4+
#
5+
msgid ""
6+
msgstr ""
7+
"Project-Id-Version: Odoo Server 16.0\n"
8+
"Report-Msgid-Bugs-To: \n"
9+
"PO-Revision-Date: 2025-02-20 11:07+0000\n"
10+
"Last-Translator: mymage <stefano.consolaro@mymage.it>\n"
11+
"Language-Team: none\n"
12+
"Language: it\n"
13+
"MIME-Version: 1.0\n"
14+
"Content-Type: text/plain; charset=UTF-8\n"
15+
"Content-Transfer-Encoding: \n"
16+
"Plural-Forms: nplurals=2; plural=n != 1;\n"
17+
"X-Generator: Weblate 5.6.2\n"
18+
19+
#. module: web_editor_class_selector
20+
#: model:ir.model.fields,field_description:web_editor_class_selector.field_web_editor_class__active
21+
msgid "Active"
22+
msgstr "Attiva"
23+
24+
#. module: web_editor_class_selector
25+
#: model:ir.model.fields,field_description:web_editor_class_selector.field_web_editor_class__class_name
26+
msgid "Class Name"
27+
msgstr "Nome classe"
28+
29+
#. module: web_editor_class_selector
30+
#: model:ir.model.constraint,message:web_editor_class_selector.constraint_web_editor_class_class_name_uniq
31+
msgid "Class name must be unique"
32+
msgstr "Il nome della classe deve essere univoco"
33+
34+
#. module: web_editor_class_selector
35+
#: model_terms:ir.actions.act_window,help:web_editor_class_selector.action_web_editor_class
36+
msgid "Click here to add new Web Editor Class."
37+
msgstr "Fare clic qui per aggiungere una nuova classe editor web."
38+
39+
#. module: web_editor_class_selector
40+
#: model:ir.model.fields,field_description:web_editor_class_selector.field_web_editor_class__create_uid
41+
msgid "Created by"
42+
msgstr "Creato da"
43+
44+
#. module: web_editor_class_selector
45+
#: model:ir.model.fields,field_description:web_editor_class_selector.field_web_editor_class__create_date
46+
msgid "Created on"
47+
msgstr "Creato il"
48+
49+
#. module: web_editor_class_selector
50+
#. odoo-javascript
51+
#: code:addons/web_editor_class_selector/static/src/js/odoo-editor/OdooEditor.esm.js:0
52+
#: code:addons/web_editor_class_selector/static/src/xml/web_editor.xml:0
53+
#, python-format
54+
msgid "Custom CSS"
55+
msgstr "CSS personalizzato"
56+
57+
#. module: web_editor_class_selector
58+
#: model:ir.model.fields,field_description:web_editor_class_selector.field_web_editor_class__display_name
59+
msgid "Display Name"
60+
msgstr "Nome visualizzato"
61+
62+
#. module: web_editor_class_selector
63+
#: model:ir.model.fields,field_description:web_editor_class_selector.field_web_editor_class__id
64+
msgid "ID"
65+
msgstr "ID"
66+
67+
#. module: web_editor_class_selector
68+
#: model:ir.model.fields,field_description:web_editor_class_selector.field_web_editor_class__write_uid
69+
msgid "Last Updated by"
70+
msgstr "Ultimo aggiornamento di"
71+
72+
#. module: web_editor_class_selector
73+
#: model:ir.model.fields,field_description:web_editor_class_selector.field_web_editor_class__write_date
74+
msgid "Last Updated on"
75+
msgstr "Ultimo aggiornamento il"
76+
77+
#. module: web_editor_class_selector
78+
#: model:ir.model.fields,field_description:web_editor_class_selector.field_web_editor_class__name
79+
msgid "Name"
80+
msgstr "Nome"
81+
82+
#. module: web_editor_class_selector
83+
#: model_terms:ir.ui.view,arch_db:web_editor_class_selector.view_web_editor_class_form
84+
msgid "Name..."
85+
msgstr "Nome..."
86+
87+
#. module: web_editor_class_selector
88+
#: model:ir.model.fields,field_description:web_editor_class_selector.field_web_editor_class__sequence
89+
msgid "Sequence"
90+
msgstr "Sequenza"
91+
92+
#. module: web_editor_class_selector
93+
#: model_terms:ir.ui.view,arch_db:web_editor_class_selector.view_web_editor_class_form
94+
msgid "Some CSS class"
95+
msgstr "Qualche classe CSS"
96+
97+
#. module: web_editor_class_selector
98+
#: model:ir.model.fields,help:web_editor_class_selector.field_web_editor_class__class_name
99+
msgid ""
100+
"The class name to be added to the tag. It must be created in the CSS file."
101+
msgstr ""
102+
"Il nome della classe da aggiungere al tag. Deve essere creata nel file CSS."
103+
104+
#. module: web_editor_class_selector
105+
#: model:ir.actions.act_window,name:web_editor_class_selector.action_web_editor_class
106+
#: model:ir.ui.menu,name:web_editor_class_selector.web_editor_class_menu
107+
msgid "Web Editor Class"
108+
msgstr "Classe editor web"
109+
110+
#. module: web_editor_class_selector
111+
#: model:ir.model,name:web_editor_class_selector.model_web_editor_class
112+
msgid "Web editor class selector"
113+
msgstr "Selettore classe editore web"
114+
115+
#~ msgid "Last Modified on"
116+
#~ msgstr "Ultima modifica il"
Lines changed: 107 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,107 @@
1+
# Translation of Odoo Server.
2+
# This file contains the translation of the following modules:
3+
# * web_editor_class_selector
4+
#
5+
msgid ""
6+
msgstr ""
7+
"Project-Id-Version: Odoo Server 18.0\n"
8+
"Report-Msgid-Bugs-To: \n"
9+
"Last-Translator: \n"
10+
"Language-Team: \n"
11+
"MIME-Version: 1.0\n"
12+
"Content-Type: text/plain; charset=UTF-8\n"
13+
"Content-Transfer-Encoding: \n"
14+
"Plural-Forms: \n"
15+
16+
#. module: web_editor_class_selector
17+
#: model:ir.model.fields,field_description:web_editor_class_selector.field_web_editor_class__active
18+
msgid "Active"
19+
msgstr ""
20+
21+
#. module: web_editor_class_selector
22+
#: model:ir.model.fields,field_description:web_editor_class_selector.field_web_editor_class__class_name
23+
msgid "Class Name"
24+
msgstr ""
25+
26+
#. module: web_editor_class_selector
27+
#: model:ir.model.constraint,message:web_editor_class_selector.constraint_web_editor_class_class_name_uniq
28+
msgid "Class name must be unique"
29+
msgstr ""
30+
31+
#. module: web_editor_class_selector
32+
#: model_terms:ir.actions.act_window,help:web_editor_class_selector.action_web_editor_class
33+
msgid "Click here to add new Web Editor Class."
34+
msgstr ""
35+
36+
#. module: web_editor_class_selector
37+
#: model:ir.model.fields,field_description:web_editor_class_selector.field_web_editor_class__create_uid
38+
msgid "Created by"
39+
msgstr ""
40+
41+
#. module: web_editor_class_selector
42+
#: model:ir.model.fields,field_description:web_editor_class_selector.field_web_editor_class__create_date
43+
msgid "Created on"
44+
msgstr ""
45+
46+
#. module: web_editor_class_selector
47+
#. odoo-javascript
48+
#: code:addons/web_editor_class_selector/static/src/js/css_selector/css_selector_plugin.esm.js:0
49+
msgid "Custom CSS"
50+
msgstr ""
51+
52+
#. module: web_editor_class_selector
53+
#: model:ir.model.fields,field_description:web_editor_class_selector.field_web_editor_class__display_name
54+
msgid "Display Name"
55+
msgstr ""
56+
57+
#. module: web_editor_class_selector
58+
#: model:ir.model.fields,field_description:web_editor_class_selector.field_web_editor_class__id
59+
msgid "ID"
60+
msgstr ""
61+
62+
#. module: web_editor_class_selector
63+
#: model:ir.model.fields,field_description:web_editor_class_selector.field_web_editor_class__write_uid
64+
msgid "Last Updated by"
65+
msgstr ""
66+
67+
#. module: web_editor_class_selector
68+
#: model:ir.model.fields,field_description:web_editor_class_selector.field_web_editor_class__write_date
69+
msgid "Last Updated on"
70+
msgstr ""
71+
72+
#. module: web_editor_class_selector
73+
#: model:ir.model.fields,field_description:web_editor_class_selector.field_web_editor_class__name
74+
msgid "Name"
75+
msgstr ""
76+
77+
#. module: web_editor_class_selector
78+
#: model_terms:ir.ui.view,arch_db:web_editor_class_selector.view_web_editor_class_form
79+
msgid "Name..."
80+
msgstr ""
81+
82+
#. module: web_editor_class_selector
83+
#: model:ir.model.fields,field_description:web_editor_class_selector.field_web_editor_class__sequence
84+
msgid "Sequence"
85+
msgstr ""
86+
87+
#. module: web_editor_class_selector
88+
#: model_terms:ir.ui.view,arch_db:web_editor_class_selector.view_web_editor_class_form
89+
msgid "Some CSS class"
90+
msgstr ""
91+
92+
#. module: web_editor_class_selector
93+
#: model:ir.model.fields,help:web_editor_class_selector.field_web_editor_class__class_name
94+
msgid ""
95+
"The class name to be added to the tag. It must be created in the CSS file."
96+
msgstr ""
97+
98+
#. module: web_editor_class_selector
99+
#: model:ir.actions.act_window,name:web_editor_class_selector.action_web_editor_class
100+
#: model:ir.ui.menu,name:web_editor_class_selector.web_editor_class_menu
101+
msgid "Web Editor Class"
102+
msgstr ""
103+
104+
#. module: web_editor_class_selector
105+
#: model:ir.model,name:web_editor_class_selector.model_web_editor_class
106+
msgid "Web editor class selector"
107+
msgstr ""
Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1 @@
1+
from . import web_editor_class

0 commit comments

Comments
 (0)