diff --git a/assets/controllers/config_controller.js b/assets/controllers/config_controller.js new file mode 100644 index 000000000..804da826a --- /dev/null +++ b/assets/controllers/config_controller.js @@ -0,0 +1,16 @@ +import { Controller } from '@hotwired/stimulus'; + +export default class extends Controller { + static targets = ['previewArticle', 'previewContent', 'font', 'fontSize', 'lineHeight', 'maxWidth']; + + connect() { + this.updatePreview(); + } + + updatePreview() { + this.previewArticleTarget.style.maxWidth = `${this.maxWidthTarget.value}em`; + this.previewContentTarget.style.fontFamily = this.fontTarget.value; + this.previewContentTarget.style.fontSize = `${this.fontSizeTarget.value}em`; + this.previewContentTarget.style.lineHeight = `${this.lineHeightTarget.value}em`; + } +} diff --git a/assets/index.js b/assets/index.js index 92b434abb..2b3e6a976 100755 --- a/assets/index.js +++ b/assets/index.js @@ -17,11 +17,6 @@ import '@fontsource/eb-garamond'; import '@fontsource/montserrat'; import '@fontsource/oswald'; -/* Tools */ -import { - initPreviewText, -} from './js/tools'; - /* Import shortcuts */ import './js/shortcuts/main'; import './js/shortcuts/entry'; @@ -182,7 +177,6 @@ const stickyNav = () => { $(document).ready(() => { stickyNav(); - initPreviewText(); const toggleNav = (toShow, toFocus) => { $('.nav-panel-actions').hide(); @@ -202,29 +196,6 @@ $(document).ready(() => { return false; }); - $('#config_fontsize').on('input', () => { - const value = $('#config_fontsize').val(); - const css = `${value}em`; - $('#preview-content').css('font-size', css); - }); - - $('#config_font').on('change', () => { - const value = $('#config_font').val(); - $('#preview-content').css('font-family', value); - }); - - $('#config_lineHeight').on('input', () => { - const value = $('#config_lineHeight').val(); - const css = `${value}em`; - $('#preview-content').css('line-height', css); - }); - - $('#config_maxWidth').on('input', () => { - const value = $('#config_maxWidth').val(); - const css = `${value}em`; - $('#preview-article').css('max-width', css); - }); - const materialAddForm = $('.nav-panel-add'); materialAddForm.on('submit', () => { materialAddForm.addClass('disabled'); diff --git a/assets/js/tools.js b/assets/js/tools.js deleted file mode 100644 index d7fcd37a2..000000000 --- a/assets/js/tools.js +++ /dev/null @@ -1,21 +0,0 @@ -import $ from 'jquery'; - -function initPreviewText() { - // no display if preview_text not available - if ($('div').is('#preview-article')) { - const defaultFontFamily = $('#config_font').val(); - const defaultFontSize = $('#config_fontsize').val(); - const defaultLineHeight = $('#config_lineHeight').val(); - const defaultMaxWidth = $('#config_maxWidth').val(); - const previewContent = $('#preview-content'); - - previewContent.css('font-family', defaultFontFamily); - previewContent.css('font-size', `${defaultFontSize}em`); - previewContent.css('line-height', `${defaultLineHeight}em`); - $('#preview-article').css('max-width', `${defaultMaxWidth}em`); - } -} - -export { - initPreviewText, -}; diff --git a/package.json b/package.json index 8c294d54a..ff7916697 100644 --- a/package.json +++ b/package.json @@ -102,7 +102,7 @@ "build:dev": "encore dev", "watch": "encore dev --watch", "build:prod": "encore production --progress", - "lint:js": "eslint assets/*.js assets/js/*.js assets/js/**/*.js assets/controllers/*.js", + "lint:js": "eslint assets/*.js assets/js/**/*.js assets/controllers/*.js", "lint:scss": "stylelint assets/scss/*.scss assets/scss/**/*.scss" } } diff --git a/templates/Config/index.html.twig b/templates/Config/index.html.twig index cca500133..51ec63776 100644 --- a/templates/Config/index.html.twig +++ b/templates/Config/index.html.twig @@ -21,7 +21,7 @@ -