Package Exports
- aurelia-froala-editor
- aurelia-froala-editor/dist/commonjs/index.js
This package does not declare an exports field, so the exports above have been automatically detected and optimized by JSPM instead. If any package subpath is missing, it is recommended to post an issue to the original package (aurelia-froala-editor) to support the "exports" field. If that is not possible, create a JSPM override to customize the exports field for this package.
Readme
Aurelia Froala WYSIWYG HTML Editor
This package provides a custom element for the Froala WYSIWYG HTML Editor in Aurelia.
Table of contents
Note
To use third-party plugins (i.e font-awesome,spell-checker,embedly and advanced image-edit) please use Aurelia with Webpack.
Installation instructions
Install aurelia-froala-editor from npm
npm install aurelia-froala-editor --saveUpdate editor instructions
npm update froala-editorIntegration
With Aurelia CLI
Installing aurelia-cli
Note: you can skip this part if you already have application generated.
npm install aurelia-cli -g
au new my-app
cd my-appAdd aurelia-froala-editor
- Install the aurelia plugin
npm install aurelia-froala-editor --save- In your
src/main.jsorsrc/main.tsfile add:
// Use the aurelia-froala-editor plugin.
aurelia.use.plugin('aurelia-froala-editor');- In your
src/app.htmlinclude CSS files and Froala Editor component inside<template>tag :
<require from="froala-editor/css/froala_editor.pkgd.min.css"></require>
<require from="froala-editor/css/froala_style.min.css"></require>
<froala-editor></froala-editor>- If you are using bundler then in
aurelia_project/aurelia.jsonfile set the builder loader plugins stub tofalse
"loader": {
"type": "require",
"configTarget": "vendor-bundle.js",
"includeBundleMetadataInConfig": "auto",
"plugins": [
{
"name": "text",
"extensions": [
".html",
".css"
],
"stub": false
}
]
}- In
aurelia_project/aurelia.jsonadd tovendor_bundle
{
"name": "aurelia-froala-editor",
"path": "../node_modules/aurelia-froala-editor/dist/amd",
"main": "index",
"resources": [
"froala-editor.js",
"froala-editor.html"
],
"deps": [
"froala-editor"
]
}Run aurelia-cli
au run --watchWith Webpack
To configure your project with Webpack, follow the resources from Aurelia Docs: https://aurelia.io/docs/build-systems/webpack/.
git clone git@github.com:aurelia/skeleton-navigation.git
cd skeleton-navigation/skeleton-esnext-webpack
npm installAdd aurelia-froala-editor
- Install the aurelia plugin
npm install aurelia-froala-editor --save- In your
src/main.jsorsrc/main.tsfile add:
import { PLATFORM } from "aurelia-pal";
// Editor files.
import "froala-editor/js/froala_editor.pkgd.min";
//Import third-party plugins
// import "./../node_modules/froala-editor/js/third_party/image_tui.min";
// import "./../node_modules/froala-editor/js/third_party/embedly.min";
// import "./../node_modules/froala-editor/js/third_party/font_awesome.min";
// import "./../node_modules/froala-editor/js/third_party/spell_checker.min";
...
// Use the aurelia-froala-editor plugin.
aurelia.use.plugin(PLATFORM.moduleName('aurelia-froala-editor'));- In your
src/app.htmlinclude CSS files and Froala Editor component inside<template>tag :
<require from="froala-editor/css/froala_editor.pkgd.min.css"></require>
<require from="froala-editor/css/froala_style.min.css"></require>
<froala-editor></froala-editor>- In
webpack.config.jsfile include the Aurelia Froala Editor plugin:
const { AureliaPlugin, ModuleDependenciesPlugin } = require('aurelia-webpack-plugin');
resolve: {
extensions: ['.js'],
modules: [srcDir, path.resolve("node_modules")],
alias: {
"FroalaEditor": 'froala_editor.pkgd.min.js'
}
},
plugins: [
new AureliaPlugin(),
new ProvidePlugin({
FroalaEditor: 'froala_editor.pkgd.min.js',
'Promise': 'bluebird',
Popper: ['popper.js', 'default'] // Bootstrap 4 Dependency.
}),
new ModuleDependenciesPlugin({
"aurelia-froala-editor": [ './froala-editor' ],
"parent-module": [ "child-module" ],
}),
]Run application
npm run startWith JSPM
Installing aurelia-cli
To configure your project with JSPM, follow the resources from Aurelia Docs: https://aurelia.io/docs/build-systems/jspm.
git clone git@github.com:aurelia/skeleton-navigation.git
cd skeleton-navigation/skeleton-esnext
npm install
jspm install -yAdd aurelia-froala-editor
- Install the aurelia plugin
jspm install aurelia-froala-editor
jspm install npm:froala-editor -o "{format: 'global'}"- In your
src/main.jsorsrc/main.tsfile add:
// Use the aurelia-froala-editor plugin.
aurelia.use.plugin('aurelia-froala-editor');- In your
src/app.htmlinclude CSS files and Froala Editor component inside<template>tag :
<require from="froala-editor/css/froala_editor.pkgd.min.css"></require>
<require from="froala-editor/css/froala_style.min.css"></require>
<froala-editor></froala-editor>- In
build/bundles.jsaddaurelia-froala-editortodist/aureliabundles:
module.exports = {
"bundles": {
...
"dist/aurelia": {
"includes": [
...
"aurelia-froala-editor",
...
],
"options": {
"inject": true,
"minify": true,
"depCache": false,
"rev": false
}
}
}
}Run application
gulp watchUsage
Component
In an Aurelia template, just use the aurelia-froala custom element to instantiate an editor.
<froala-editor></froala-editor>Options
All configuration options can be set via the config attribute.
<froala-editor
value.two-way="value"
config.bind="{
toolbarButtons: ['redo' , '|', 'fontFamily', '|', 'fontSize', '|', 'paragraphFormat', 'color', '|', 'bold', 'italic', 'underline', 'strikethrough', 'subscript', 'superscript', 'outdent', 'indent', 'clearFormatting', 'insertTable', 'html'],
toolbarButtonsMD: ['redo' , '|', 'fontFamily', '|', 'fontSize', '|', 'paragraphFormat', 'color'],
toolbarButtonsSM: ['redo' , '|', 'fontFamily', '|', 'fontSize', '|', 'paragraphFormat', 'color'],
toolbarButtonsXS: ['redo' , '|', 'fontFamily', '|', 'fontSize', '|', 'paragraphFormat', 'color'],
fontFamilySelection: true,
fontSizeSelection: true
}"></froala-editor>A custom config can also be passed when the plugin is loaded in src/main.js or src/main.tsfile:
// Use the aurelia-froala-editor plugin.
aurelia.use.plugin('aurelia-froala-editor', config => {
config.options({
toolbarInline: true
})
});Events
One can bind events to editor as given below.
All the event handlers are also available.
<froala-editor
config.bind="tempCOnfig"></froala-editor> events: {
'focus': function () {
console.log('Focus');
}
}License
The aurelia-froala-editor project is under the Apache licence. However, to use the Froala WYSIWYG HTML Editor you should purchase a license for it. Froala has 3 different licenses for commercial use. For details please see License Agreement.