Ecosyste.ms: Awesome

An open API service indexing awesome lists of open source software.

Awesome Lists | Featured Topics | Projects

https://github.com/weblineindia/angular-ck-editor

A simple, native and easy-to-use WYSIWYG / Rich Text editor built in AngularJS.
https://github.com/weblineindia/angular-ck-editor

angular angular-ckeditor angular-components angular-editor angular-libraries angular-text-editor angular-wysiwyg angular-wysiwyg-editor angular-wysiwyg-rich-text-editor angularjs angularjs-ckeditor angularjs-components angularjs-editor angularjs-library angularjs-text-editor ck-editor ckeditor reusable-components rich-text-editor wysiwyg-editor

Last synced: about 1 month ago
JSON representation

A simple, native and easy-to-use WYSIWYG / Rich Text editor built in AngularJS.

Awesome Lists containing this project

README

        

# AngularJS - CK Editor

A simple, native and easy-to-use WYSIWYG / Rich Text editor built in AngularJS.

# Table of contents

- [Demo](#demo)
- [Getting started](#getting-started)
- [API](#api)
- [Want to Contribute?](#want-to-contribute)
- [Collection of Other Components](#collection-of-components)
- [Changelog](#changelog)
- [Credits](#credits)
- [License](#license)
- [Keywords](#Keywords)

## Demo

![Nov-27-2019 17-26-29](https://user-images.githubusercontent.com/216412/69763434-259cd800-113b-11ea-918f-0565ebce0e48.gif)

## Getting Started

### Installation

Install via npm package manager

```bash
npm install angular-weblineindia-ck-editor --save
```

### Usage

Import `angular-editor` module

```js
import { HttpClientModule} from '@angular/common/http';
import { AngularEditorModule } from 'angular-weblineindia-ck-editor';

@NgModule({
imports: [ HttpClientModule, AngularEditorModule ]
})
```

Then in HTML

```html

```

or for usage with reactive forms

```html

```

if you using more than one editor on same page set `id` property

```html

```

where

```js
import { AngularEditorConfig } from "@kolkov/angular-editor";

editorConfig: AngularEditorConfig = {
editable: true,
spellcheck: true,
height: "auto",
minHeight: "0",
maxHeight: "auto",
width: "auto",
minWidth: "0",
translate: "yes",
enableToolbar: true,
showToolbar: true,
placeholder: "Enter text here...",
defaultParagraphSeparator: "",
defaultFontName: "",
defaultFontSize: "",
fonts: [
{ class: "arial", name: "Arial" },
{ class: "times-new-roman", name: "Times New Roman" },
{ class: "calibri", name: "Calibri" },
{ class: "comic-sans-ms", name: "Comic Sans MS" }
],
customClasses: [
{
name: "quote",
class: "quote"
},
{
name: "redText",
class: "redText"
},
{
name: "titleText",
class: "titleText",
tag: "h1"
}
],
uploadUrl: "v1/image",
uploadWithCredentials: false,
sanitize: true,
toolbarPosition: "top",
toolbarHiddenButtons: [["bold", "italic"], ["fontSize"]]
};
```

For `ngModel` to work, you must import `FormsModule` from `@angular/forms`, or for `formControlName`, you must import `ReactiveFormsModule` from `@angular/forms`

## API

### Inputs

| Input | Type | Default | Required | Description |
| ----------- | --------------------- | ---------------- | -------- | -------------------------------------------------- |
| id | `string` | `-` | no | Id property when multiple editor used on same page |
| [config] | `AngularEditorConfig` | `default config` | no | config for the editor |
| placeholder | `string` | `-` | no | Set custom placeholder for input area |
| tabIndex | `number` | `-` | no | Set Set tabindex on angular-editor |

### Outputs

| Output | Description |
| ---------- | ----------------------------------------------- |
| (html) | Output html |
| (viewMode) | Fired when switched visual and html source mode |
| (blur) | Fired when editor blur |
| (focus) | Fired when editor focus |

### Methods

| Name | Description |
| ----- | -------------------------- |
| focus | Focuses the editor element |

### Other

| Name | Type | Description |
| ------------------- | ------------- | ---------------------------------------------- |
| AngularEditorConfig | configuration | Configuration for the AngularEditor component. |

### Configuration

| Input | Type | Default | Required | Description |
| ------------------------- | --------------- | ------- | -------- | ------------------------------------------------------------------- |
| editable | `bolean` | `true` | no | Set editing enabled or not |
| spellcheck | `bolean` | `true` | no | Set spellchecking enabled or not |
| translate | `sting` | `yes` | no | Set translating enabled or not |
| sanitize | `bolean` | `true` | no | Set DOM sanitizing enabled or not |
| height | `string` | `auto` | no | Set height of the editor |
| minHeight | `string` | `0` | no | Set minimum height of the editor |
| maxHeight | `string` | `auto` | no | Set maximum height of the editor |
| width | `string` | `auto` | no | Set width of the editor |
| minWidth | `string` | `0` | no | Set minimum width of the editor |
| enableToolbar | `bolean` | `true` | no | Set toolbar enabled or not |
| showToolbar | `bolean` | `true` | no | Set toolbar visible or not |
| toolbarPosition | `string` | `top` | no | Set toolbar position top or bottom |
| placeholder | `string` | `-` | no | Set placeholder text |
| defaultParagraphSeparator | `string` | `-` | no | Set default paragraph separator such as `p` |
| defaultFontName | `string` | `-` | no | Set default font such as `Comic Sans MS` |
| defaultFontSize | `string` | `-` | no | Set default font size such as `1` - `7` |
| uploadUrl | `string` | `-` | no | Set image upload endpoint `https://api.exapple.com/v1/image/upload` |
| uploadWithCredentials | `bolean` | `false` | no | Set passing or not credentials in the image upload call |
| fonts | `Font[]` | `-` | no | Set array of available fonts `[{name, class},...]` |
| customClasses | `CustomClass[]` | `-` | no | Set array of available fonts `[{name, class, tag},...]` |
| outline | `bolean` | `true` | no | Set outline of the editor if in focus |
| toolbarHiddenButtons | `string[][]` | `-` | no | Set of the array of button names or elements to hide |

```js
toolbarHiddenButtons: [
[
"undo",
"redo",
"bold",
"italic",
"underline",
"strikeThrough",
"subscript",
"superscript",
"justifyLeft",
"justifyCenter",
"justifyRight",
"justifyFull",
"indent",
"outdent",
"insertUnorderedList",
"insertOrderedList",
"heading",
"fontName"
],
[
"fontSize",
"textColor",
"backgroundColor",
"customClasses",
"link",
"unlink",
"insertImage",
"insertVideo",
"insertHorizontalRule",
"removeFormat",
"toggleEditorMode"
]
];
```

## Want to Contribute?

- Created something awesome, made this code better, added some functionality, or whatever (this is the hardest part).
- [Fork it](http://help.github.com/forking/).
- Create new branch to contribute your changes.
- Commit all your changes to your branch.
- Submit a [pull request](http://help.github.com/pull-requests/).

---

## Collection of Components

We have built many other components and free resources for software development in various programming languages. Kindly click here to view our [Free Resources for Software Development](https://www.weblineindia.com/software-development-resources.html).

---

## Changelog

Detailed changes for each release are documented in [CHANGELOG.md](./CHANGELOG.md).

## Credits

angular-weblineindia-ck-editor is inspired by [@kolkov/angular-editor](https://www.npmjs.com/package/@kolkov/angular-editor).

## License

[MIT](https://github.com/weblineindia/AngularJS-CK-Editor/blob/master/LICENSE)

## Keywords

angular-editor, angular-native-editor, angularjs-wysiwyg, ck-editor, angular-wysiwyg-editor, wysiwyg-editor, angularjs-rich-text-editor, rich-text-editor