Skip to content

Navigation Menu

Sign in
Appearance settings

Search code, repositories, users, issues, pull requests...

Provide feedback

We read every piece of feedback, and take your input very seriously.

Saved searches

Use saved searches to filter your results more quickly

Sign up
Appearance settings

flexscss/image

Folders and files

NameName
Last commit message
Last commit date

Latest commit

History

24 Commits

Repository files navigation

Image Tool

Image Block for the CodeX Editor.

Features

  • 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.

Installation

Install via NPM

Get the package

npm i --save-dev codex.editor.image

Include module at your application

const ImageTool = require('codex.editor.image');

Download to your project's source dir

  1. Upload folder dist from repository
  2. Add dist/bundle.js file to your page.

Load from CDN

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.

Usage

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 
 }
 }
 }
 
 ...
});

Config Params

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

Tool's settings

  1. Add border

  2. Stretch to full-width

  3. Add background

Output data

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
 }
}

Backend response format

This Tool works by following scheme:

  1. User select file from the device
  2. Tool sends it to your backend
  3. Your backend should save file and return file data with JSON at specified format.
  4. 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.

About

Image Block for CodeX Editor

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages

  • JavaScript 90.2%
  • CSS 9.8%

AltStyle によって変換されたページ (->オリジナル) /