-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathcontent-editor.html
106 lines (80 loc) · 2.05 KB
/
content-editor.html
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
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
<link rel="import" href="content-behavior.html">
<link rel="import" href="../rich-editor/rich-editor.html">
<style is="custom-style">
.mce-panel .mce-menu-item:hover, .mce-panel .mce-menu-item.mce-selected, .mce-panel .mce-menu-item:focus {
background-color: var(--rich-editor-color, #2196F3);
}
.mce-menu-item-normal.mce-active {
background-color: var(--rich-editor-color, #2196F3);
}
</style>
<dom-module id="content-editor">
<style>
:host {
display: block;
width:100%;
}
:host rich-editor {
--rich-editor-color: #2196F3;
}
:host.hidden {
opacity:0;
transition: all 0.25s linear;
}
</style>
<template>
<rich-editor data-id="[[dataId]]" class="no-padding hide-icon" disable-onload="true" id="richEditor">
<content></content>
</rich-editor>
</template>
</dom-module>
<script>
Polymer({
is: 'content-editor',
behaviors: [Elliptical.ComponentBehavior,Elliptical.ContentBehavior],
properties: {
_richEditor:{
type:Object,
value:null
}
},
listeners: {},
ready: function () {
this._contentReady();
this._setEditorReference();
if(this._isEditMode) this._setEditor();
},
_events:function(){
},
_onContentComponentShow:function(){
this._enableEditor();
},
_onContentComponentHide:function(){
this._disableEditor();
},
_onContentComponentSet:function(content){
var editor = this._editor;
if(content) editor.setContent(content);
this.classList.remove('hidden');
},
_setEditor: function () {
var editor = this._editor;
editor.enable();
},
_setEditorReference:function(){
this._editor=this.querySelector('rich-editor');
},
_disableEditor:function(){
var editor = this._editor;
editor.disable();
},
_enableEditor:function(){
var editor = this._editor;
editor.enable();
},
getContent:function(){
var editor = this._editor;
return editor.content();
}
});
</script>