Control deslizante de comparación de imágenes

|||
|-|-|-|
| :information_source: | Resumen | Añade un botón al editor para crear un control deslizante interactivo de comparación de imágenes arrastrable.
| :hammer_and_wrench:|Repositorio| GitHub - josephclaytonhansen/discourse-image-comparison-slider |
| :question:|Guía de instalación|Cómo instalar un tema o componente de tema|
| :open_book:|¿Nuevo en Temas de Discourse?| Guía para principiantes sobre el uso de temas de Discourse

Instalar este componente de tema

Este componente añade un botón al editor para crear controles deslizantes de comparación de imágenes arrastrables. Los ajustes del control deslizante, como la dirección o el icono del botón, se pueden personalizar desde la configuración del administrador.

Esta es mi primera incursión en el desarrollo de Discourse, así que pido disculpas si he cometido algún error.

27 Me gusta

¿Qué es WIP? (¿Hay 20 caracteres ahora?)

2 Me gusta
4 Me gusta

WIP es trabajo en progreso.

3 Me gusta

¡Eso es genial! Gracias por esta contribución :+1:

¿Qué tipo de actualizaciones tienes en mente?

4 Me gusta

Principalmente, necesito limpiar el código y hacerlo más coherente con Discourse. Está un poco descuidado en este momento, ya que estaba aprendiendo activamente cómo crear un componente de tema aquí :slight_smile:

También planeo agregar una forma de cambiar la dirección del control deslizante desde el compositor; en este momento, la dirección es la que se ha establecido en la configuración del administrador, me gustaría hacer que eso sea controlable por el usuario. (EDITAR: ¡esto se ha agregado!)

También me gustaría agregar más control sobre los estilos del control deslizante/divisor, pero lamentablemente no es realmente posible. El JavaScript que maneja el control deslizante crea el control deslizante antes de cualquier cambio de CSS y no lo reconstruye cuando cambian los estilos CSS.

9 Me gusta

¡Genial! :heart:
¡Gracias por contribuir! :raised_hands:

4 Me gusta

He añadido la capacidad para que el usuario elija un control deslizante vertical u horizontal, utilizando un atributo data-direction-horizontal o data-direction-vertical. Se utilizará la configuración predeterminada elegida en la configuración del administrador si el usuario no especifica una dirección.


Esta actualización ya está disponible en GitHub o en el panel de administración de Discourse, si ha instalado el componente temático.

5 Me gusta

¡Muy bueno, gracias Joseph! Funciona bien, pero estoy viendo este error en mi sitio:

Desaparece si actualizo la página, y esto es todo lo que veo en la consola:

2 Me gusta

Esto es genial. Buen trabajo. :+1:

2 Me gusta

Es difícil decir qué está causando esto, no puedo replicarlo de mi lado :confused: De esos errores, solo el primero podría ser de este componente, ya que no estoy usando un tooltipContainer ni un bucle ResizeObserver, pero de nuevo, no estoy muy seguro. ¿Has actualizado a la versión más reciente? Hice algunos cambios ayer que podrían solucionar esto.

1 me gusta

Gracias Joseph, estoy en la última versión. Es extraño, no puedo hacer que este mensaje se muestre de nuevo y no veo ningún problema, ¿así que tal vez fue algo puntual?

Otra cosa, el icono no quiere cambiar. Por supuesto, lo he añadido al subconjunto de iconos svg. También he probado diferentes iconos que ya están funcionando en mi sitio y simplemente no cambia del rayo. Estoy intentando cambiarlo a arrows-alt-h.

2 Me gusta

Ha sido culpa mía, acabo de confirmar un cambio que solucionará eso. ¡Gracias por detectarlo!

3 Me gusta

Muy bueno, tengo algunos problemas:

Localización

En mi foro hemos cambiado a la configuración regional en_GB, así que cuando paso el ratón por encima obtengo:


en lugar del texto alternativo/sabor de la configuración del componente:

No se puede seleccionar texto

El plugin parece robar todos los eventos de clic del ratón y me impide seleccionar cualquier texto en la página para copiar/pegar/citar, etc. Esto no es un problema en meta.discourse… se fue… amo la tecnología.

3.1.0.beta4

(f0bdb2ee9a)

No funciona en Firefox en absoluto (y algunos usuarios de Chrome en móvil)

Hice una publicación de instrucciones para usar la función, y algunas personas dijeron que no veían nada. (comentarios no muy útiles ya que no tengo informes de errores reales de las personas).

2 Me gusta

Hmm… esto es extraño, lo probé en Firefox sin problemas. Veré si puedo reproducirlo. Me encantan los errores aleatorios :melting_face: la biblioteca que estoy usando no tiene ningún problema en el repositorio de GitHub para Firefox, abierto o cerrado, así que eso hace que la corrección de errores sea aún más difícil.

Localizaciones: No estoy seguro de cuál es el proceso para proporcionar archivos de localización, puedo agregar un en.GB ya que hablo ese idioma, pero eso es todo lo que sé. ¿Saben los autores de otros componentes temáticos cómo funcionan las traducciones de los archivos de localización? ¿Debería simplemente pasar el texto por Google Translate? :sweat_smile:

1 me gusta

La única diferencia que puedo ver entre el tuyo y un componente que funciona (giphy) es la sangría…

Quizás sea que toda la bondad del yml está en el mismo nivel de sangría, algo sobre el analizador, algo.

Básicamente… soy un chapucero y no tengo idea de lo que estoy haciendo.

3 Me gusta

Entiendo cómo te sientes :slight_smile: Lo revisaré, estoy usando el analizador YML de VS Studio, pero es posible que no esté al 100% a la altura. Probaré con una indentación manual a la antigua usanza en Notepad.

1 me gusta

@Frully He corregido el problema de Firefox; ahora debería funcionar en todos los navegadores (he probado Chrome, Firefox, Safari y versiones móviles sin problemas). Si actualizas esto, funcionará para tus usuarios de Firefox.

2 Me gusta

Hola

Este componente temático es muy genial, ¡gracias y lo acabo de instalar :slight_smile:

Un problema con el texto del botón y con el texto de marcador de posición


También tengo el componente temático

Después de la instalación tengo:

  • el texto del botón “Image comparison slider” también en el botón “Masonry Image Gallery”
  • el texto de marcador de posición de “Image comparison slider” en lugar del texto de marcador de posición de “Masonry Image Gallery”

Extraño, ¿no?

Stéphane

1 me gusta

No había pensado en ese problema. ¡Gracias por señalarlo @Stephane_Roy!

El problema es que ambos componentes de tema utilizan las mismas variables de traducción. Otros TC pueden tener el mismo problema… La solución es actualizar/cambiar el nombre de button_text y add_images_prompt en los lugares que se indican a continuación. También actualizaré Masonry Image Gallery.

traducciones.button_text = settings.button_text;
traducciones.composer.add_images_prompt =
settings.add_images_prompt;

api.onToolbarCreate(function(toolbar){
toolbar.addButton({
trimLeading: true,
id: “image-comparison-slider”,
group: “insertions”,
icon: settings.button_icon,
title: “button_text”,
perform: e => e.applySurround(
[“<div data-image-comparison-slider data-direction-”,settings.default_direction,"

"].join(‘’),
"

", "**add_images_prompt**", { multiline: false } ) });
1 me gusta