2018-10-03 12:26:41 +03:00
|
|
|
import CodeXEditor from 'codex.editor';
|
2018-10-04 22:08:21 +03:00
|
|
|
import Header from 'codex.editor.header';
|
2018-10-03 12:26:41 +03:00
|
|
|
|
2018-10-04 22:08:21 +03:00
|
|
|
/**
|
|
|
|
* Class for working with Editor.js
|
|
|
|
*/
|
2018-10-03 12:26:41 +03:00
|
|
|
export default class Editor {
|
2018-10-04 22:08:21 +03:00
|
|
|
/**
|
|
|
|
* Creates Editor instance
|
2018-10-15 22:06:01 +03:00
|
|
|
* @property {object} initialData - data to start with
|
2018-10-04 22:08:21 +03:00
|
|
|
*/
|
2018-10-15 22:06:01 +03:00
|
|
|
constructor({initialData}) {
|
2018-10-04 22:08:21 +03:00
|
|
|
this.editor = new CodeXEditor({
|
|
|
|
tools: {
|
|
|
|
header: {
|
|
|
|
class: Header,
|
|
|
|
config: {
|
|
|
|
placeholder: 'Enter a title'
|
|
|
|
}
|
|
|
|
}
|
|
|
|
},
|
2018-10-15 22:06:01 +03:00
|
|
|
data: initialData || {
|
2018-10-04 22:08:21 +03:00
|
|
|
blocks: [
|
|
|
|
{
|
|
|
|
type: 'header',
|
|
|
|
data: {
|
|
|
|
text: '',
|
|
|
|
level: 2
|
|
|
|
}
|
|
|
|
}
|
|
|
|
]
|
|
|
|
}
|
|
|
|
});
|
|
|
|
}
|
|
|
|
|
|
|
|
/**
|
|
|
|
* Return Editor data
|
|
|
|
* @return {Promise.<{}>}
|
|
|
|
*/
|
|
|
|
save() {
|
|
|
|
return this.editor.saver.save();
|
2018-10-03 12:26:41 +03:00
|
|
|
}
|
|
|
|
}
|