Workshop Kit · referencia del widget

Publicado

positioning-plotter

Un control 2D para ubicar una posición de marca en ejes configurables. Arrastra el botón con el mouse, o muévelo con las flechas (Shift para saltos grandes, Home/End/PageUp/Down para los bordes). Una lectura en lenguaje simple debajo de la cuadrícula traduce las coordenadas al nivel al que corresponden. Se usa en L6a para graficar amplitud de cocina × nivel de precio.

Demo en vivo

Arrastra el botón con el mouse, o entra con Tab a la cuadrícula y usa las flechas. La lectura debajo de la cuadrícula nombra el nivel al que la posición corresponde — esa es la cadena que ve el operador, no las coordenadas crudas.

Amplitud de cocina × nivel de precio — la configuración de L6a

MuntinContext.positioning actual Arrastra el botón arriba…

Contrato

Deja caer una <section> con los seis atributos de configuración de ejes y el widget renderiza el control 2D. Sin bloque JSON de configuración, sin lista de elementos en línea. El widget siempre escribe en positioning dentro de MuntinContext.

AtributoTipoPropósito
data-widgetRequerido literal Siempre "positioning-plotter".
data-x-axisRequerido cadena Nombre del eje X (renderizado en lenguaje simple en la lectura).
data-x-low / data-x-highRequerido cadena Etiquetas de los extremos del eje X. Se renderizan como nombres de nivel en la lectura (extremo bajo = X cerca de 0, extremo alto = X cerca de 1).
data-y-axisRequerido cadena Nombre del eje Y.
data-y-low / data-y-highRequerido cadena Etiquetas de los extremos del eje Y. Extremo bajo = parte de abajo de la cuadrícula (Y cerca de 1; la cuadrícula está en coordenadas de pantalla), extremo alto = parte de arriba.
Los seis atributos de eje variantes -es Cada atributo de eje toma un hermano opcional -es para la copia en español (por ej., data-x-axis-es="Amplitud de cocina"). El widget elige según <html lang> o data-locale.

Qué escribe: positioning en MuntinContext como { x: number, y: number, label: string }. x e y son flotantes 0..1 redondeados a tres decimales; label es el nombre del nivel que ve el operador (por ej., "$$$$ alta gama / Una especialidad").

Marcado

<section class="course-widget" data-widget="positioning-plotter" data-x-axis="Cuisine breadth" data-x-axis-es="Amplitud de cocina" data-x-low="Single specialty" data-x-low-es="Una especialidad" data-x-high="Many cuisines" data-x-high-es="Muchas cocinas" data-y-axis="Price tier" data-y-axis-es="Nivel de precio" data-y-low="$ counter" data-y-low-es="$ barra" data-y-high="$$$$ upscale" data-y-high-es="$$$$ alta gama"></section>

Accesibilidad

La operación solo por teclado es de primera clase — el widget empezó como un drag-and-drop de HTML5, se rehízo dos veces, y ahora se entrega como un <button> simple con un modelo de teclado personalizado. Las razones están en los comentarios del código; en resumen:

Dónde se publica

Código fuente

/tools/_shared/workshop/positioning-plotter.js — ~280 LOC. Exporta { tag, contextKeys, mount, serialize } según el contrato de widgets del Workshop Kit. Lee los seis atributos de configuración de ejes (+ variantes opcionales -es), renderiza la cuadrícula + botón + lectura, conecta los manejadores de arrastre con mouse y teclado.

Derivación del nombre de nivel: los cuartiles del eje X corresponden a data-x-low (X < 0.5) y data-x-high (X ≥ 0.5); lo mismo para Y. La lectura los une como "{nivel-Y} / {nivel-X}". El autor de la lección controla el vocabulario de la lectura eligiendo las cuatro cadenas de los extremos.

← Volver al Workshop Kit