TinyMCE получить размер шрифта выбора

В настоящее время я создаю свою собственную панель инструментов для TinyMCE, получая и устанавливая форматы через JS API. Например, я могу выделить выделенный текст полужирным шрифтом следующим образом:

this._editor.formatter.toggle('bold');`

После этого я могу получить формат и соответственно установить состояние моей полужирной кнопки, например, при изменении выбора:

this.isBold = this._editor.formatter.match('bold');

Для поддержки размеров шрифта у меня есть раскрывающийся список, который применяет правильный размер шрифта при изменении:

this._editor.formatter.apply('fontsize', {value: this.fontSize});

Но теперь мне нужно иметь возможность читать размер шрифта при изменении выбора, и я не знаю, как этого добиться. Как узнать размер шрифта текущего выделения?


person Thomas    schedule 19.12.2018    source источник


Ответы (1)


В качестве обходного пути я пытаюсь сопоставить формат выбранного узла со списком поддерживаемых размеров шрифта.

const supportedFontSizes = ['10px', '11px', '12px', '14px', '16px', '18px', '20px', '24px'];
const defaultFontSize = '16px';
let foundFontSize = false;
let fontSize;

supportedFontSizes.some(size => {
  if (editor.formatter.match('fontsize', { value: size })) {
    fontSize = size;
    foundFontSize = true;
    return true;
  }
  return false;
});

if (!foundFontSize) {
  fontSize = defaultFontSize;
}
person Thomas    schedule 14.02.2019