@ammarkhalidfarooq/quill-image-resize-module-react-fix-for-mobile
v3.2.2
Published
A module for Quill rich text editor to allow images to be resized (with react fixes for mobile devices).
Downloads
306
Maintainers
Readme
Quill ImageResize Module
A module for Quill rich text editor to allow images to be resized. This will allow images to be resized in mobile and will unfocus on scroll so that resize box does not cause issues.
Also see quill-image-drop-module, a module that enables copy-paste and drag/drop for Quill.
Demo
Usage
Webpack/ES6
import Quill from 'quill';
import ImageResize from '@ammarkhalidfarooq/quill-image-resize-module-react-fix-for-mobile';
Quill.register('modules/imageResize', ImageResize);
const quill = new Quill(editor, {
// ...
modules: {
// ...
imageResize: {
parchment: Quill.import('parchment')
// See optional "config" below
}
}
});
Script Tag
Copy image-resize.min.js into your web root or include from node_modules
<script src="/node_modules/quill-image-resize-module/image-resize.min.js"></script>
var quill = new Quill(editor, {
// ...
modules: {
// ...
ImageResize: {
// See optional "config" below
}
}
});
Config
For the default experience, pass an object with parchment, like so:
var quill = new Quill(editor, {
// ...
modules: {
// ...
ImageResize: {
parchment: Quill.import('parchment')
}
}
});
Functionality is broken down into modules, which can be mixed and matched as you like. For example, the default is to include all modules:
const quill = new Quill(editor, {
// ...
modules: {
// ...
ImageResize: {
modules: [ 'Resize', 'DisplaySize', 'Toolbar' ]
}
}
});
Each module is described below.
Resize
- Resize the image
Adds handles to the image's corners which can be dragged with the mouse to resize the image.
The look and feel can be controlled with options:
var quill = new Quill(editor, {
// ...
modules: {
// ...
ImageResize: {
// ...
handleStyles: {
backgroundColor: 'black',
border: 'none',
color: white
// other camelCase styles for size display
}
}
}
});
DisplaySize
- Display pixel size
Shows the size of the image in pixels near the bottom right of the image.
The look and feel can be controlled with options:
var quill = new Quill(editor, {
// ...
modules: {
// ...
ImageResize: {
// ...
displayStyles: {
backgroundColor: 'black',
border: 'none',
color: white
// other camelCase styles for size display
}
}
}
});
Toolbar
- Image alignment tools
Displays a toolbar below the image, where the user can select an alignment for the image.
The look and feel can be controlled with options:
var quill = new Quill(editor, {
// ...
modules: {
// ...
ImageResize: {
// ...
toolbarStyles: {
backgroundColor: 'black',
border: 'none',
color: white
// other camelCase styles for size display
},
toolbarButtonStyles: {
// ...
},
toolbarButtonSvgStyles: {
// ...
},
}
}
});
BaseModule
- Include your own custom module
You can write your own module by extending the BaseModule
class, and then including it in
the module setup.
For example,
import { Resize, BaseModule } from 'quill-image-resize-module';
class MyModule extends BaseModule {
// See src/modules/BaseModule.js for documentation on the various lifecycle callbacks
}
var quill = new Quill(editor, {
// ...
modules: {
// ...
ImageResize: {
modules: [ MyModule, Resize ],
// ...
}
}
});
Credit
This lib is basically quill-image-resize-module, ReactJS implemented quill-image-resize-module-react,