New Case Study:See how Anthropic automated 95% of dependency reviews with Socket.Learn More
Socket
Sign inDemoInstall
Socket

ngx-jodit

Package Overview
Dependencies
Maintainers
0
Versions
39
Alerts
File Explorer

Advanced tools

Socket logo

Install Socket

Detect and block malicious and high-risk dependencies

Install

ngx-jodit

Angular wrapper for jodit WYSIWYG editor

  • 3.1.5
  • latest
  • Source
  • npm
  • Socket score

Version published
Weekly downloads
815
increased by4.09%
Maintainers
0
Weekly downloads
 
Created
Source

ngx-jodit v3.x

Angular wrapper for Jodit WYSIWYG editor. It supports Angular >= 16 and jodit v4.

Compatibility

Ngx-joditJoditAngularTypeDemoReadme
npmv4>= v16StandaloneDemoReadme
npmv4v12 - v15ModuleDemoReadme
npmv3v12 - v15ModuleDemoReadme

Jodit Pro, Multi & OEM

For Jodit Pro, Multi and OEM you have to install the jodit-pro package and another Angular library: ngx-jodit-pro. For more information click here.

Demo

You can find a demo for ngx-jodit 3.x here.

Options

All options from Jodit are supported.

Installation

  1. Make sure that the latest jodit v4 and ngx-jodit v3 is installed:

    npm install jodit@4 --save
    
  2. npm install ngx-jodit@3 --save
    
  3. Add jodit stylesheet to your app's styles in angular.json (or project.json for Nx).

    ...
     ,
     "styles": [
       ...
       "node_modules/jodit/es2021/jodit.min.css",
       ...
     ],
    ...
    
  4. Add NgxJoditComponent to the imports array in your app.module.ts (it's standalone):

    @NgModule({
     ...
     imports: [
       ...,
       NgxJoditComponent
     ],
     ...
     })
    
  5. Add "skipLibCheck": true to compilerOptions in your tsconfig.app.json. This is needed because the check fails to typing errors of the jodit package. This is still the issue in v4. If you know any other solution, let me know :):

    ...
      "compilerOptions": {
        ...,
        "skipLibCheck": true
      }
    ...
    
  6. Each toolbar element by Jodit v4 ESM version is considered as plugin. While basic plugins are imported automatically, you have to import other plugins manually. See section "How to import plugins".

  7. Now you can use the component. See example here.

  • Without AngularForms:

      <ngx-jodit [(value)]="value" [options]="options"></ngx-jodit>
    
  • With AngularForms (make sure to import AngularForms):

    • Template driven

        <ngx-jodit [(ngModel)]="value" [options]="options"></ngx-jodit>
      
    • Reactive

        <form [formGroup]="formGroup">
          <ngx-jodit [options]="options" formControlName="editor"></ngx-jodit>
        </form>
      

If you are facing any issues have a look on Troubleshooting first. Create an issue if it's not solved.

How to import plugins

Jodit v4 automatically imports a basic set of plugins and the English language. If you want to use more you have to import it separately. For example:

import {Jodit} from "jodit";
import 'jodit/esm/plugins/add-new-line/add-new-line.js';
import 'jodit/esm/plugins/fullsize/fullsize.js';
import de from 'jodit/esm/langs/de.js'; // <-- make sure "compilerOptions.allowSyntheticDefaultImports" is set to "true" in tsconfig.json

Jodit.lang.de = de;

//..

You can import your plugins wherever you want, e.g. in a global ts file that's imported anyway like index.ts or main.ts files.

Options for ngx-jodit

NameTypeDescription
valuetwo-way data-bindingUpdates as soon as HTML value of the editor changed. You can set your value, too.
optionsone-way data-bindingSets options for Jodit on the fly.

Events for ngx-jodit

You can bind events using the Angular way, e.g.:


<ngx-jodit (joditChange)="onChange($event)"></ngx-jodit>
NameDescription
joditChangeTriggers as soon as something of the HTML value changes.
joditKeyDownTriggers as soon as a key is pressed down.
joditMousedownTriggers as soon as the left mouse button is pressed.
joditClickTriggers as soon as the user clicks on the editor.
joditFocusTriggers as soon as Jodit gets focus.
joditPasteTriggers as soon as something is pasted.
joditResizeTriggers as soon as the editor resizes.
joditBeforeEnterTriggers as soon as enter key is pressed.
joditBeforeCommandTriggers before a command is executed.
joditAfterExecTriggers after a command is executed.
joditAfterPasteTriggers after something pasted.
joditChangeSelectionTriggers as soon as selection is changed.

Troubleshooting

  • Some of the buttons don't show any icon
    Check your options if you used the correct button names. If yes, check the folder node_modules/jodit/esm/plugins/ for a folder named like the button you want to use. Then import the found plugin to your app as described here. If that doesn't helpt look in the web console for an error message that indicates a missing plugin.

Keywords

FAQs

Package last updated on 09 Dec 2024

Did you know?

Socket

Socket for GitHub automatically highlights issues in each pull request and monitors the health of all your open source dependencies. Discover the contents of your packages and block harmful activity before you install or update your dependencies.

Install

Related posts

SocketSocket SOC 2 Logo

Product

  • Package Alerts
  • Integrations
  • Docs
  • Pricing
  • FAQ
  • Roadmap
  • Changelog

Packages

npm

Stay in touch

Get open source security insights delivered straight into your inbox.


  • Terms
  • Privacy
  • Security

Made with ⚡️ by Socket Inc