All notable changes to this project will be documented in this file.
Tags
- Features
- Bug Fixes
- Performance Improvements
- Dependency Updates
- Breaking Changes
- Enhancements
- Documentation
- Internal
- requires angular v18 or greater (44bb5c1)
- fix incorrect input type in menu dropdowns (7f40093)
- restore curstor style to default (a regression introduced in v17.5.0) (19d951b)
- fix toggle text align action via editor menu (617ab34)
- fix remove color action (e3c60eb)
- fix parsing data-indent attribute (0feb81c)
- add support for more css variables (df13034)
- fix regression on losing editor focus while selecting menu item (89cca24)
- improve accessibility for clickable elements (6ed7575)
- add support for indent/outdent (1dc5443)
- set correct classes to menu buttons (2352039)
- remove hover styles on disabled state (b2a18e0)
- set disabled atrribute to menu buttons when disabled (825791e, 0ac482a)
- add support for parseOptions (3d5ac24)
- unpin prosemirror and floating ui dependencies (22e8bc2)
- add locale for invalid URL error message (aee35ff)
- improve menu accessibility (041c167)
- remove nanoid dependency (3a589e1)
- support options in link menu item to configure
open in new tab
feature (aacc680)
- improve a11y for form elements in the menu component (b9f142e)
- requires angular v17 or greater (9bc0ff9)
- add @types/trusted-types to dependencies (3971581)
- fix bold & em input rules (70d5998)
- requires angular v16 or greater (4a9e7d0)
- add support for TrustedHTML (4a9e7d0)
- add support to update translation with asynchronous services like ngx-translate (4a9e7d0)
- export ImageViewComponent (217cfe3)
- configure sideEffects for better tree-shaking (16c0668)
- refreshed documentation site (9b9ddfb)
- add npm package provenance (99cdbf1)
- add option to focus command to focus at start (92d342b)
- export NgxEditorService (4168c6b)
- remove deprecated ComponenetFactoryResolver (41524f3)
- requires angular v14.1.0 or greater (db0c8a7)
- add option to set custom link validation pattern (98ff517)
- add support for clear formatting (8fc2647)
- support mailto links (b9aec15)
- update prosemirror-view to v1.27.0 (9adf9e7)
- update prosemirror-schema-list to v1.2.1 (6b68cf2)
- update floating-ui to v1 (09becd2)
- requires angular 14 or greater (8092c4d)
- update
prosemirror-*
dependencies (5bfb813) - remove DefinitelyTyped
@types/prosemirror-*
dependencies (5bfb813) - update
@floating-ui/*
dependencies (f9282d8)
- pin all external dependencies (741cd69)
No breaking changes. Released as major version due to the nature of dependency updates
- pin prosemirror types (b48929b)
- fix focus plugin registered twice (9891b96)
- add horizontal rule menu item (608e978)
- fix typings for attributes config (396be73)
- export getDefaultPlugins and getKeyboardShortcuts methods (953166e)
- update @floating-ui/core to v0.6.2 (b619819)
- update @floating-ui/dom to v0.4.5 (b619819)
- update prosemirror-commands to v1.2.2 (25d5d15)
- update prosemirror-view to v1.23.12 (25d5d15)
- wrap toolbar when it overflows the container (9f85ea6)
- remove extra dom node around image component (210824a)
- add option
autoPlace
to floating-menu to automatically position the component (82c1047)
- improve floating-menu positioning with floating-ui (82c1047)
- show active background color in color palette (e2d4f43)
- fix color palette selection in
mat-dialog
(c7df506) - replace deprecated substr with substring (9089c5a)
- inherit svg text using currentColor (0b785b3)
- use trackByFn with ngFor loops (c7df506)
- update dependencies and devDependencies (ce1ca6b)
- set all image attributes during resize (c4f9426)
- update devDependencies (6888b03)
- allow editor to be reset via reactive forms api (dd96ae2)
- set correct peerDependencies versions (0dd68c8)
- add tslib to dependencies (0dd68c8), (ebe4dcf)
- update prosemirror dependencies (a0dd0e0)
- requires angular 13 (aadca9c)
- allow link insert without text selection (551e0ef)
- add option to enable or disable some editor features (c0d256f)
- support editor attributes (e89e676)
- use px instead of rem for styling (19464a4)
- add input rules for bold and italics (ab7d175)
- use correct shortcut for underline (c82fce0)
- make input elements editable inside floating menu (c408d17)
- add missing rxjs peerDependency (63f396f)
- requires angular 12 or greater (2558555)
- update URL regex to allow query parameters (a8ec71c)
- set title for link and image menu items (d8de693)
- check
navigator
before access for SSR (2a58a3a)
- enable or disable the component via Forms API (042eeea)
- add option
dropdownPlacement
to the menu component (b0f2026)
- option
enabled
is replaced withdisabled
(042eeea)
- prevent placeholder from rendering on each empty block (ef2c452)
Shift-Enter
to line break (e5a4b4c)
- check if link mark exists before evaluation (f65b0ff)
- regenerate package-lock.json (47a292c)
- update prosemirror-view (a71de7d)
- update devDependencies (1d56a9e)
- remove unused imports (85575e1)
- fix placeholder misaligned with with right align (2b7b06e)
- fix placeholder caret not displayed in Firefox (451f275)
- update karma to v6 (077140b)
- update husky to v5 (bf7657a)
- update devDependencies (8b41338), (28dc6af)
- update angular dependencies (55700a3)
- regenerate package-lock (ea76b8a)
- update
prosemirror-{view/commands}
(292e21d)
- allow pasting links (83420ad)
- sync image view's cached node on update (3859006)
- prevent floating menu from closing while clicking on disabled items (83fc998)
- show title for floating menu items (53eb29c)
- update LICENSE (b4cdf2f)
- remove use of ecma private methods (41df4bf)
- throw error if editor is not provided to floating bubble (bae942d)
- fix styles for image view (6fd4a8b)
- update docsify (d9b3ada)
- set correct image size after resizing while history undo (0a2d547)
- fix injector destroyed issue with HMR (f12a5c8)
- set correct style for active item in floating menu (2806b07)
@angualr/elements
is no longer a dependency (f12a5c8)
- update prosemirror-transform (5d87c20)
- update prosemirror-view (8325556)
- cleanup floating menu show/hide logic (93afcdc)
- fix floating menu component selector (dfb9603)
- prevent floating menu flicker on while selection (4617294)
- fix slowness caused by floating menu (9e6f705)
Floating menu is now exposed as a component
Before
<ngx-editor [editor]="editor" [floatingMenu]="true"></ngx-editor>
After
<ngx-editor [editor]="editor">
<ngx-editor-floating-menu [editor]="editor"></ngx-editor-floating-menu>
</ngx-editor>
- fixes styling issues with
box-sizing:border-box
(6c26440) - update floating menu styles (9568769)
- prevent incorrect updates to toolbar with multiple instances (908c9cb)
- add alignment options to floating menu (3c0ed54)
- update prosemirror-view, prosemirror-model (a8ecb22)
- use DOM created by ProseMirror (8c8b738)
- add
@angualr/elements
as a peerDependency (a147ee7)
valueChanges
andupdate
are now observables and not subjects (04ba120)
- new floating menu (102ce62)
- image plugin is included by default (a3ab60c)
Refer docs for migration https://sibiraj-s.github.io/ngx-editor
- image plugin is included by default (a3ab60c)
- editor.focus and editor.blur method no longer exposed (3804990)
Editor.onContentChange
is nowEditor.valueChanges
(84da2cf)Editor.onUpdate
is nowEditor.update
(84da2cf)Editor.destroy
has to be manually called when component is destroyed (d4db760)
- update typings (a27237e)
- set empty document with at-least one node (8939b80)
- schema as a secondary endpoint (9dc6a98)
import { schema, marks, nodes } from 'ngx-editor/schema';
- improve font style (90d8236)
- fix
code_mirror
example (454d9be)
- fix issues with
buildOptimizer
in angular 9, 10 (49eba35)
- update typings (c048e52)
- update
prosemirror-state
(64a4e5f) - update devDependencies (a573a5d)
- update
@types/prosemirror-*
packages (8683d27)
- fix typos (541d6e0)
- fix remove exported prosemirror methods (86a8a82)
- default keyboard shortcuts and input rules are enabled by default (5a4351b)
- history is enabled by default (5a4351b)
Refer docs for migration https://sibiraj-s.github.io/ngx-editor
- hitory and history keyboard shortcuts are builtin (5a4351b)
- prevent errors when plugins field is not defined (5a4351b)
- fix validation on empty string input (9700f27)
- add default wrapper css (f1934b8)
this.editor.commands
.textColor('red')
.insertText('Hello world!')
.focus()
.scrollIntoView()
.exec();
- focus editor after inserting a link or image (2d10e5f)
- prevent dispatching a transaction if there is no change after updating a link (2d10e5f)
- select the image once inserted (a33ea83)
- update prosemirror-view to v1.17.0 (576eabb)
- removed unwanted entryComponents (01256c3)
- add migration guide from v4 and from other editors (73c9016)
- scope menu styles (3ce6787)
Refactor internals (a5763a3)
Before
import { NgxEditorModule } from 'ngx-editor';
NgxEditorModule.forRoot({
menu: {
toolbar: [],
colorPresets: [],
},
});
After
Menu is a seperate component, has to be included manually if required.
Component
export class AppComponent implements OnInit, OnDestroy {
isProdMode = environment.production;
editor: Editor;
toolbar: Toolbar = [['bold', 'italic']];
colorPresets = ['red', 'blue', 'green'];
ngOnInit(): void {
this.editor = new Editor();
}
ngOnDestroy(): void {
this.editor.destroy();
}
}
HTML
<ngx-editor-menu
[editor]="editor"
[toolbar]="toolbar"
[colorPresets]="colorPresets"
>
</ngx-editor-menu>
Before
<ngx-editor [customMenuRef]="customMenu"> </ngx-editor>
After
<ngx-editor-menu [customMenuRef]="customMenu"> </ngx-editor-menu>
Before
import { NgxEditorModule } from 'ngx-editor';
NgxEditorModule.forRoot({
plugins: [],
schema: {},
nodeViews: {},
});
After
import { Editor } from 'ngx-editor';
new Editor({
plugins: [],
schema: {},
nodeViews: {},
});
- add maxLength, minLength validators (d59051c)
- disable menu when editable is set to false (b7eca21)
- allow specifying output format (e71b7d7)
- return null from
required
validator when valid (398e1d5)
- accept HTML as input (d62d8e4)
- don't call onchange on init (2d7bf59)
- support editable prop (be077d7)
- placeholder plugin is included by default (03ac403)
- allow hiding menu component (998ca3c)
- fix active link helper crash with collab module (e7b7aad)
- fix cursor for placeholder (7c8e6f9)
- fix heading command crash with collab module (d26a2af)
- added example to setup prosemirror-collab (df6f7a4)
- support custom color presets (b82658b)
- prevent crash while selecting highlighting text/background color (098fc62)
- prevent applying color on right click (9745295)
- don't autoscroll for applying colors without selection (91db712)
- fix errors while selecting text/background color mark (b1e85bb)
- prefer
text-align
style property instead ofalign
attribute (ee03ee7)
- prevent user-selection on placeholder (58076c7)
- color picker with default presets to set text/background color (9c38412)
- expose utilities to work with HTML (b252358)
import { toHTML, toDOC } from 'ngx-editor';
- highlight heading menu item when headings inside blockquotes is selected (45fdb6e)
- correctly unsubscribe on component destroy (9f83f3b)
- link plugin is no longer required (63b6aa6)
Before
import { link } from 'ngx-editor/plugins';
NgxEditorModule.forRoot({
plugins: [
link(), // remove this
],
});
- prevent menu icons from shrinking on resize (b4f457c)
- fix image plugin exported with incorrect name (ac365e7)
- allow placeholder to be set via component input (ef4879a)
- added custom
required validator
(6af3ce0)
- fix touched property not registered when used with reactive forms (6af3ce0)
- added
focusIn
andfocusOut
events emitted onfocus
andblur
events respectively. - added
init
event, dispatched once editor is initialized. emitsEditorView
object - added
removeLink
command
import { removeLink } from 'ngx-editor/commands';
- added alignment options to menu
{
// config
menu: [['align_left', 'align_center', 'align_right', 'align_justify']];
}
- update
prosemirror-view
- removed
prosemirror-schema-basic
dependency
- allow images to be resized from all directions
- suport locals for all menu items
- improved click area on menu icons
- it is easier to write custom menus now, more angular way
- fix clicking on links in the bubble doesn't open in new tab
- removed
menu
plugin
Before
import { menu } from 'ngx-editor';
NgxEditorModule.forRoot({
plugins: [
menu({
// default options (Optional)
toolbar: [
['bold', 'italic', 'code'], // inline icons
['ordered_list', 'bullet_list'],
[{ heading: ['h1', 'h2', 'h3', 'h4', 'h5', 'h6'] }],
],
labels: {
bold: 'Bold',
italics: 'Italics',
code: 'Code',
ordered_list: 'Ordered List',
bullet_list: 'Bullet List',
heading: 'Heading',
},
}),
],
});
After
NgxEditorModule.forRoot({
menu: [
['bold', 'italic'],
['code', 'blockquote'],
['ordered_list', 'bullet_list'],
[{ heading: ['h1', 'h2', 'h3', 'h4', 'h5', 'h6'] }],
['link', 'image'],
['align_left', 'align_center', 'align_right', 'align_justify'],
],
locals: {
bold: 'Bold',
italics: 'Italics',
// '...'
},
});
- support angular 9 (0a497f2)
- remove dependency
prosemirror-schema-basic
(317bf42)
- support links (59899f4)
- drop angular 9 support (59ed7e3)
- fix validation in insert video form (74a86ca)
- fix issues with reactive-forms (bede7a1)
- add blockquote support (a26f192)
- remove dependencies
prosemirror-utils
andprosemirror-tables
(6e13142)
- add input-rules examples (ce00b5f)
- add support for custom menu items in menu plugin (1737369)
- support custom prosemirror schema (1737369)
- support prosemirror nodeviews config (1737369)
- renamed few css identifiers (c9555b4)
- add support for prosemirror plugins (fcdc39b)
- placeholder and config property is replaced with plugins
import { menu, placeholder } from 'ngx-editor';
NgxEditorModule.forRoot({
plugins: [menu(), placholder('Type something here...')],
});
- shortcuts needs to be configured manually using plugins
- removed peerDependencies
prosemirror-history
andprosemirror-keymap
- add support for headings (2d7d38e)
- add support for list (274dcc7)
- prosemirror
peerDependencies
are no longer needed (274dcc7)
- fix issues with ivy compiler (30b513c)
- remove unwanted dependencies (94374c4)
The package is entirely rewritten with prosemirror as default editor. Most of the options are removed and will be added eventually in upcoming releases.
- use prosemirror as default editor (f17d0ef)
- update husky to v1.1.2
- code cleanup
- new MaxLengthvalidator for validation in reactive forms
- update ng-packagr to v4.3.0
🎉 Support Angular 6.
- update angular to v6 and its dependencies
- update compodoc
- update ng-packagr
- remove commitizen, cz-conventional-changelog
- add prePublishOnly script to prevent accidental publishes
- recompile docs with compodoc v1.1.5
No new changes were introduced.
Follow releases from v3.3.0-rc0
to v3.3.0-rc.14
for release notes 🍻
- update ngx-bootstrap (eed8aaa)
- remove code-editor support (24b92e0)
- auto-focus while switching to code-editor mode (1ed938e), closes #79
- show placeholder in code editor (bae2216)
- option to insert video link/ youtube urls (e074c7a), closes #72
- option to set font family (1248db7), closes #72
- remove dead code which used to enable or disable toolbar (00adda2)
- update dependencies in package-lock file to latest satisfying version (f62d945)
- remove unused imports/variables (182152a)
- use codemirror's
htmlMixed
mode instead ofxml
mode (fbf9d1d)
- remove redundant karma-cli (df192b)
- update angular-cli to v1.7.2 (87bb04e)
- update compodoc to v1.0.8 (47d5ba4)
- update ng-packagr to v2.2.0 (ba86da6)
- style - highlight active tabs in popover (0b7dd99)
- option to set
font color
andbackground color
(a983fd4), closes #65 - option to set
font-size
(f49e477), closes #31
- style - center align popover arrow (2a13ca0)
- udpate devDependencies (4fddfac)
- remove bootstrap from
peerDependency
(8aa0ffd)
- fix a typo in toolbar (367474f)
- option to open URL in new tab (d4001c4)
- option to upload images from local filesystem (09b69b5), closes #34
- documentation compiled with compodoc v1.0.7
- update ng-packager to v2.0.0
- remove border for toolbar if hidden (4eef077), closes #43
- placeholder gets duplicated if a page has more than one editor (cdfd4bc), closes #44
- ngModel binding does not reflects in editor's textarea (4f4967a), closes #45
- update peerDependency codemirror to v5.34.0 (6012283)
- update devDependencies (6012283)
- fix: add missing xml parser for code-mirror (1078c69)
- update ng-packagr to v2.0.0-rc.11 (9f0e19d)
- update additional docs (9f0e19d)
- removed wiki
- added event-emitter to emit
blur
andfocus
events (2ed79b8) - added option to view/edit plain
HTML
code (2ed79b8), closes #26
- docs autogenerated using compodoc
- add button types to toolbar to avoid firing
submit
while using in reactive forms (d4ccc79)
- lighten placeholder color (27ccd72)
- enable or disable toolbar (0a915f5)
- remove methods that are not supported by Internet Explorer (7be2fd6)
- fix
grippie
svg not centre aligned in Internet Explorer (c87c5e4) - fix inputs not replacing configuration (dabac4c)
- update to @angular/cli v1.5.5
- move dependencies to peerDependencies (0310191)
- Reactive forms support for the editor (ba350a83)
- use
ngModel
instead ofhtml
for HTML bindings (ba350a83)
- check
html
has been initialized (#17) (ab0216b). Thanks to @ssuperczynski
- update to @angular/cli v1.5.4
- fix: default configuration not set onInit (443c994)
- ngx-editor has been refactored. Thanks to @volodymyro-in6k (#11)
- update angular to v1.5.3 fixes a vulnerability warning due to older version of handlebars (b707409)
- update ng-packagr to v1.6.0
- update angular to v5.0.0 (f12754b)
- update bootstrap to v4.0.0-beta.2 (23adb5e)
- option to insert/edit link (63e401b)
- option to edit link (89389ab)
- unlink anchor tag (90f88a5)
- enable toolbar only when editor is focused (b915d68)
- CSS Tweaks
- enable/disbale toolbar on focusing the editor (8b2bb27)
- use unique CSS classes (3ddc3b0)
- remove units for zero value (3978843)
- improve value handling for attributes that hold boolean values (8695873)
- better handling of default values (7a40862)
- undefined intialization in editor (d17c1dd)
- enable (or) disable HTML5 translate An Experimental Option
- enable (or) disable editable nature of editor (4bff8e5)
- remove unused fullscreen function (af66d69)
spellCheck
attribute renamed tospellcheck
(af66d69)- remove instructions from docs (af66d69)
- fix spellcheck attribute binding to editable area (af66d69)
- bind HTML content with editor
- update README
- update demo
- remove font-awesome loaded by the module. Now font-awesome should be imported separately.
- fixes setting default values for the editor
WYSIWYG Editor for Angular Applications.