1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
| class Theme {
| constructor(quill, options) {
| this.quill = quill;
| this.options = options;
| this.modules = {};
| }
|
| init() {
| Object.keys(this.options.modules).forEach((name) => {
| if (this.modules[name] == null) {
| this.addModule(name);
| }
| });
| }
|
| addModule(name) {
| let moduleClass = this.quill.constructor.import(`modules/${name}`);
| this.modules[name] = new moduleClass(this.quill, this.options.modules[name] || {});
| return this.modules[name];
| }
| }
| Theme.DEFAULTS = {
| modules: {}
| };
| Theme.themes = {
| 'default': Theme
| };
|
|
| export default Theme;
|
|