cuaderno de campo

anotaciones

Menú
  • casa
    • cocina
      • pan
      • verdura
    • dinou del carrer nou
    • nadal : una carta
    • plano
  • huerto
    • instrucciones sobre el huerto
    • huerto del año 2022
  • humanidades
    • fonoteca
      • Noches en Poderna
      • El canto de las aves
    • galería
    • mala lluna
    • rutas fuera
    • umbrario
    • El misterio de Sant Mena
  • jardín
    • instrucciones sobre el jardín
    • exterior
    • interior
    • viveros
  • juego
    • listado de juegos
  • linux
    • bash
    • sistema operativo
    • ssh
  • web
    • apache
    • css
    • html5
    • javascript
    • mysql
    • php
Menú

tinymce: algunas notas sin orden

Publicado el 16 de marzo de 201726 de febrero de 2021 por ernesto

  • callback tras iniciar el editor
  • creación de un nuevo botón de formato
  • acceso al editor o editores de tinymce
  • inserción de contenido en un editor
  • campos de un formulario en la barra de herramientas de tinymce

callback tras iniciar el editor

init_instance_callback: function (editor)
{
     console.log("Tinymce está en marcha.");
}

la función que se le pase a este parámetro debe incluir un argumento como editor que garantice su ejecución posterior a la puesta en marcha de tinymce. sin la resolución del argumento editor, no se ejecutan las órdenes de la función.

creación de un nuevo botón de formato

en primer lugar, en la configuración que se le pasa a tinymce con tinymce.init(), hay que declarar el nuevo formato:

formats:
{
     cite: { inline: "cite" }
}

después, en el apartado setup de la misma configuración, se crea el botón en cuestión:

setup: function (editor)
{
     editor.addButton
     (
          "cita",
          {
               icon: "book",
               text: false,
               title: "Cita (sólo títulos)",
               onclick: function()
               {
                    editor.execCommand("mceToggleFormat", false, "cite");
               }
          }
     );
}

el comando mceToggleFormat, clave deste asunto, se encarga de aplicar el formato cite al texto seleccionado al igual que hace con una negrita o cursiva cuando se le solicita.

hay más información sobre el resto de las opciones en Creating a custom toolbar button.

acceso al editor o editores de tinymce

for(var i = 0; i < tinymce.editors.length; i++)
{
     console.log("Id del editor: " + tinymce.editors[i].id);
}

mediante estotra función, se obtienen los identificadores de los editores que haya en marcha:

Id del editor: mce_0

inserción de contenido en un editor

function a(m)
{
     tinymce.get("mce_0").insertContent(m);
}
var m = "que no fuese recuerdo de la muerte";
a(m);

esta función introduce en el editor mce_0 el texto de la variable m justo allí donde se encuentre el cursor.

campos de un formulario en la barra de herramientas de tinymce

function a(m)
{
     var o, b, e;
     // "mceu_18-body" y "mceu_21" son
     // identificadores de capas de la toolbar
     o = document.getElementById("mceu_18-body");
     b = document.getElementById("mceu_21");
     e = document.createElement("div");
     e.setAttribute("class", "mce-container mce-flow-layout-item mce-btn-group");
     o.insertBefore(e, b);
     e.innerHTML = m;
     e.childNodes;
}

en este caso, el argumento m contiene una cadena con código HTML5:

<input id="buscador" type="text"/>
<select id="titulos">
     <option disabled="disabled" selected="selected">tí­tulos</option>
     <optgroup id="audio" label="audio">
          <option value="a1" title="audio 1">audio 1</option>
          <option value="a2" title="audio 2">audio 2</option>
     </optgroup>
     <optgroup id="video" label="video">
          <option value="v1" title="video 1">video 1</option>
          <option value="v2" title="video 2">video 2</option>
     </optgroup>
</select>

e.childNodes convierte los elementos HTML de la cadena en los nodos correspondientes del DOM.

Etiquetado como callback, input, select, tinymce, toolbar
  • tratamiento de archivos en FAT con rsync

    Puesto al día el 24 de setiembre de 2019. sincronización de archivos mediante rsync en…

  • javascript: callback y asincronía

    es frecuente llamar una función al cabo de otra con el propósito de secuenciar (ordenar)…

  • constante en heredoc

    una constante no devuelve su valor dentro de la sintaxis heredoc: define("C", "constante"); echo <<<HTML…

RSS rutas fuera

  • HS: Laure le Prunenec (Rïcïnn, Öxxö Xööx, Corpo-Mente, ex-Igorrr, etc) 27 de marzo de 2023 hessianfirm
  • Gracias por asistir a la presentación de “Criptozoología en España” 27 de marzo de 2023 Javier Resines
  • Demilich “Last Show Ever” In Madrid Tonight 26 de marzo de 2023 Brett Stevens
  • Fourth Monarchy – Nocturnal Odes of a Wandering Spirit (2023) 25 de marzo de 2023 Brett Stevens
  • Esta tarde, Criptozoología con Vicente Fuentes 23 de marzo de 2023 Javier Resines
  • Beats and yelling from: Yaaroth, Verminous Serpent, Svraoz 22 de marzo de 2023 Hate Meditations
  • Xerrada: La importància de les llavors locals 22 de marzo de 2023 moon
  • Beats and yelling from: Cromlech, Contrarian, Skrying Mirror 21 de marzo de 2023 Hate Meditations
  • Necropolis #62 – On Burzum (Band Focus) 19 de marzo de 2023 Hate Meditations

Categorías

apache bash casa cocina corral css exterior fonoteca galería html5 huerto humanidades humanidades digitales interior jardín javascript juego linux mysql pan php repostería sistema operativo ssh verdura web

Archivo

cuaderno de campo 2011-2023