Image Block for the CodeX Editor.
- Uploading file from the device
- Pasting copied content from the web
- Pasting images by drag-n-drop
- Allows to add border, background
- Allows to stretch image to the container's full-width
Note This Tool requires server-side implementation for file uploading. See backend response format for more details.
Get the package
npm i --save-dev codex.editor.imageInclude module at your application
const ImageTool = require('codex.editor.image');- Upload folder
distfrom repository - Add
dist/bundle.jsfile to your page.
You can load specific version of package from jsDelivr CDN.
https://cdn.jsdelivr.net/npm/codex.editor.image@1.0.0
Then require this script on page with CodeX Editor through the <script src=""></script> tag.
Add a new Tool to the tools property of the CodeX Editor initial config.
var editor = CodexEditor({
...
tools: {
...
image: {
class: ImageTool,
config: {
url: 'http://localhost:8008/', // Your backend uploader endpoint
}
}
}
...
});| Field | Type | Description |
|---|---|---|
| url | string |
Required Path for file uploading |
| field | string |
(default: image) Name of uploaded image field in POST request |
| types | string |
(default: image/*) Mime-types of files that can be accepted with file selection. |
| captionPlaceholder | string |
(default: Caption) Placeholder for Caption input |
-
Add border
-
Stretch to full-width
-
Add background
This Tool returns data with following format
| Field | Type | Description |
|---|---|---|
| file | object |
Uploaded file data. Any data got from backend uploader. Always contain the url property |
| caption | string |
image's caption |
| withBorder | boolean |
add border to image |
| withBackground | boolean |
need to add background |
| stretched | boolean |
stretch image to screen's width |
{
"type" : "image",
"data" : {
"file": {
"url" : "https://www.tesla.com/tesla_theme/assets/img/_vehicle_redesign/roadster_and_semi/roadster/hero.jpg"
},
"caption" : "Roadster // tesla.com",
"withBorder" : false,
"withBackground" : false,
"stretched" : true
}
}This Tool works by following scheme:
- User select file from the device
- Tool sends it to your backend
- Your backend should save file and return file data with JSON at specified format.
- Image tool shows saved image and stores server answer
So, you can implement backend for file saving by your own way. It is a specific and trivial task depending on your environment and stack.
Response of your uploader should cover following format:
{
"success" : 1,
"file": {
"url" : "https://www.tesla.com/tesla_theme/assets/img/_vehicle_redesign/roadster_and_semi/roadster/hero.jpg",
// ... and any additional fields you want
}
}success - uploading status. 1 for successful, 0 for failed
file - uploaded file data. Must contain an url field with full public path to the uploaded image.
Also, can contain any additional fields you want to store. For example, width, height, id etc.
All additional fields will be saved at the file object of output data.

