Projekt

Allgemein

Profil

« Zurück | Weiter » 

Revision d23cd605

Von Sven Schöling vor 9 Monaten hinzugefügt

  • ID d23cd6055df1a6b18a0ea46434fe0b0ed7b28c7d
  • Vorgänger b635fe0c
  • Nachfolger b10de2f7

Ckeditor5: P.textarea(..., rows=x) Funktion wieder hergestellt

Ckeditor5 übernimmt standardmäßig nicht die Höhe des unterliegenden
texarea Elements.

Der initializer Code versucht diese Information zu übergeben, kann aber
aus dem "rows" Attribute nicht einfach die Höhe ableiten, und leider
auch nicht auf die Renderinformationen von sowohl dem textare als auch
dem Ckeditor zugreifen.

Stattdessen wird als Heuristik ~30px pro Zeile angenommen.

Unterschiede anzeigen:

js/kivi.js
352 352

  
353 353
      // handle initial height
354 354
      const element = $element.get(0);
355
      if (element.style.height)
355
      if (element.style.height || element.rows)
356 356
        editor.editing.view.change((writer) => {
357
          var height = element.style.height;
358

  
359
          if (!height && element.rows) {
360
            // ckeditor does not support height in rows, but ~30px is a good estimate.
361
            // the correct way would be to either configure it, or to add a small dom
362
            // element and get the line height at run-time, which is pretty overkill
363
            // esp. since ckeditor itself has loads of spacing problems at high zoom
364
            editor.editing.view.add
365
            height = (element.rows * 30) + "px";
366
          }
357 367
          writer.setStyle(
358 368
            "min-height",
359
            element.style.height,
369
            height,
360 370
            editor.editing.view.document.getRoot()
361 371
          );
362 372
        });

Auch abrufbar als: Unified diff