Rich inline or toolbar text editing
- Format selected text
- HTML output of formatted text
- Show editor options either on a toolbar or as a bubble
- Use the custom option to select which editing options you want to show
- Input and display text is sanitized.
- Ctrl + B: Bold
- Ctrl + I: Italic
- Ctrl + U: Underline
- Ctrl + Z: Undo
- Ctrl + Y: Redo
- Ctrl + C: Copy
- Ctrl + V: Paste
- -, space : start list
- tab: indents the content when tab key is configured to indent from the widget xml else it will move focus to next element
Mendix 7.13.1
http://texteditorwidget.mxapps.io
Place the widget in a data view, list view or template grid with a data source that has a string attribute and select the 'Value attribute' that contains the editable text.
Please note, that the input and output is sanitized. All unsupported HTML tags and JavaScript is removed for security reasons. Supports:
- Tags: h1, h2, h3, h4, h5, h6, p, br, a, ul, li, ol, s, u, em, pre, strong, blockquote, span
- Attributes:
- for all tags: class, style
a
tag: href, name, target
- Schemes: http, https, ftp, mailto
Please note: To be fully secure, all user HTML input should be sanitized on the server side too. This could be done with the XSSSanitize
action found in the Community Commons https://appstore.home.mendix.com/link/app/170/
When the option 'Sanitize content' is set to 'false' server side sanitating is required before showing any HTML content.
We are actively maintaining this widget, please report any issues or suggestion for improvement at https://github.com/mendixlabs/rich-text/issues
Prerequisite: Install git, node package manager, webpack CLI, grunt CLI, Karma CLI
To contribute, fork and clone.
> git clone https://github.com/mendixlabs/rich-text.git
The code is in typescript. Use a typescript IDE of your choice, like Visual Studio Code or WebStorm.
To set up the development environment, run:
> npm install
Create a folder named dist
in the project root.
Create a Mendix test project in the dist folder and rename its root folder to dist/MxTestProject
. Changes to the widget code shall be automatically pushed to this test project.
Or get the test project from https://github.com/mendixlabs/rich-text/releases/latest
To automatically compile, bundle and push code changes to the running test project, run:
> grunt
To run the project unit tests with code coverage, results can be found at dist/testresults/coverage/index.html
, run:
> npm test
or run the test continuously during development:
> karma start