1 | import Parchment from 'parchment';
|
2 |
|
3 | class ColorAttributor extends Parchment.Attributor.Style {
|
4 | value(domNode) {
|
5 | let value = super.value(domNode);
|
6 | if (!value.startsWith('rgb(')) return value;
|
7 | value = value.replace(/^[^\d]+/, '').replace(/[^\d]+$/, '');
|
8 | return '#' + value.split(',').map(function(component) {
|
9 | return ('00' + parseInt(component).toString(16)).slice(-2);
|
10 | }).join('');
|
11 | }
|
12 | }
|
13 |
|
14 | let ColorClass = new Parchment.Attributor.Class('color', 'ql-color', {
|
15 | scope: Parchment.Scope.INLINE
|
16 | });
|
17 | let ColorStyle = new ColorAttributor('color', 'color', {
|
18 | scope: Parchment.Scope.INLINE
|
19 | });
|
20 |
|
21 | export { ColorAttributor, ColorClass, ColorStyle };
|