Si usas Notez para algo con ciclo de vida (una lista de lecturas, un backlog, notas de clientes), seguramente hayas creado una propiedad Status. Quizá un Assignee. Quizá una relación Project que apunta a la nota del propio proyecto.
Y luego, cada vez que querías ver solo los elementos bloqueados, o solo los tuyos, abrías el panel Filtrar, buscabas la propiedad, abrías su selector, marcabas el valor y cerrabas dos capas de interfaz. Tres o cuatro clics para una pregunta que te haces veinte veces al día.
Las etiquetas nunca tuvieron este problema. Siempre han tenido una sección en la barra lateral: una fila por etiqueta, un recuento, un clic para filtrar. Es el control más usado de la app. La pregunta obvia era por qué era el único.
Qué trae esta versión
Desde la v0.8.0, cualquier propiedad de tipo Seleccionar, Selección múltiple, Miembro o Relación puede aparecer en la barra lateral como sección propia. También el Tablero integrado. Cada sección lista sus valores como filas — un chip de color para una opción, un avatar para una persona, un icono de nota para una nota enlazada, el nombre de la columna para el tablero — con el recuento de notas activas que tienen ese valor. Haz clic en una fila y la lista se filtra por ella. Haz clic en una segunda fila de la misma sección y ves las notas con cualquiera de los dos valores. Haz clic en otra sección y acotas más.
Una sección se activa desde Más → Propiedades personalizadas: abre la propiedad, activa Mostrar en la barra lateral y guarda. Para quitarla, pasa el puntero sobre el encabezado de la sección en la barra lateral, haz clic en el pequeño botón de ajustes que aparece y elige Quitar de la barra lateral. La propiedad no cambia; solo cambia su presencia en la barra lateral.
Etiquetas está activada por defecto, porque siempre lo estuvo. Tablero está desactivado por defecto, porque la vista de tablero ya muestra las columnas y una segunda copia sería ruido para la mayoría. Las dos se cambian desde el mismo diálogo.
La barra lateral también recibió un cambio de estructura más pequeño que acabó importando más de lo que esperaba: Nueva nota e Inicio ahora se quedan fijos arriba, y Archivos, Papelera, Configuración y Más se quedan fijos abajo; solo se desplazan las secciones de en medio. Si muestras cuatro propiedades en la pantalla de un portátil, las acciones principales ya no desaparecen por arriba.
Por qué solo esos tipos
El primer borrador de esta función decía "cualquier propiedad". El segundo, una hora después, decía "cualquier propiedad cuyos valores sean un conjunto fijo de cosas", y esa es la versión que salió.
Una fila de la barra lateral tiene que ser un valor concreto en el que hacer clic. Una opción lo es. Una persona lo es. Una nota enlazada lo es. Un número, una fecha o una línea de texto no lo son: para filtrar por ellos hace falta un rango o una consulta, y para eso están los campos del panel Filtrar. Poner una propiedad de texto en la barra lateral significaría poner un cuadro de búsqueda en la barra lateral, y entonces ya no sería una sección de la barra lateral, sino un segundo panel de filtros peor maquetado.
Las relaciones necesitaban una decisión más. Una selección tiene una lista fija de opciones; las "opciones" de una relación son las notas que la gente haya enlazado, que pueden ser cientos y cambian cada vez que alguien enlaza una. Listarlas todas haría la sección enorme. Así que una sección de relación muestra las diez notas de destino activas más enlazadas, de más a menos, y la búsqueda del panel sigue siendo el camino para llegar al resto. Si tienes una relación Project, la barra lateral muestra los proyectos con más notas, que casi siempre son justo los que quieres pulsar.
Los miembros fueron fáciles en comparación: la sección lista a todas las personas del espacio de trabajo, igual que el selector de personas del panel, porque esa lista es pequeña y acotada.
Un solo filtro, no dos
Lo que más cuidé no se ve cuando funciona: la barra lateral y el panel Filtrar son el mismo filtro.
Notez guarda los filtros de la lista en la URL. Eso ya era así — por eso puedes guardar en marcadores "todo lo etiquetado client-x con estado blocked" — y las secciones de la barra lateral simplemente escriben en el mismo sitio del que lee el panel. Haz clic en Blocked en la barra lateral y el panel muestra Blocked marcado. Desmárcalo en el panel y la fila de la barra lateral se apaga. Borrar borra los dos. No hay un segundo estado que pueda desincronizarse, ni un "filtro de la barra lateral" como concepto aparte de "filtro".
Esa decisión también arregló un error latente. Una URL editada a mano o desactualizada podía llevar dos tokens de filtro para la misma propiedad, y el servidor los combinaba con AND: una nota tenía que coincidir con las dos listas, lo que en una selección simple significaba que no coincidía ninguna, mientras la barra lateral mostraba tan tranquila una fila como activa. El manejador de clics de la barra lateral ahora elimina todos los tokens de su propiedad y escribe exactamente uno. El panel ya hacía lo mismo; solo tenían que ponerse de acuerdo.
Dos casos límite más, ya que el servidor limita la lista a diez filtros de propiedades: la barra lateral rechaza el undécimo con el mismo aviso que usa el panel, y un clic calcula la siguiente URL a partir de los parámetros actuales del router y no de los que tenía el componente al renderizarse, así que dos clics rápidos, o un clic en la barra lateral que coincide con un cambio en el panel, no pueden anularse en silencio.
Lo que recortó la revisión del plan
Planifiqué esta función en un documento antes de escribir código, y el plan pasó por cuatro revisiones con encargos distintos: corrección, reglas de la casa, completitud y "qué sobra aquí por exceso de ingeniería". La última fue la más útil, y vale la pena contar qué quitó.
Secciones plegables. El primer plan añadía una flecha a cada sección y guardaba el estado plegado por espacio de trabajo, con el argumento de que varias secciones empujarían la parte inferior de la barra lateral fuera de la pantalla. Un revisor señaló que el cuerpo de la barra lateral ya se desplazaba por separado del bloque inferior, así que la justificación era sencillamente falsa. Fuera. (El bloque superior fijo que sí salió llegó después, por una queja distinta y real.)
Un endpoint de servidor propio. El plan proponía una consulta nueva que devolviera las secciones de la barra lateral ya montadas: nombres, opciones, orden, recuentos. Un revisor se dio cuenta de que todo salvo los recuentos ya estaba en la lista de propiedades que la app carga para el panel Filtrar y el diálogo de propiedades, y de que una segunda copia de nombres y opciones suponía una segunda caché que podía quedarse desactualizada. Lo que salió es una pequeña consulta solo de recuentos, indexada por id de opción, id de persona o id de nota, y la barra lateral saca el resto de datos que ya tenía.
Un enlace "Configurar la barra lateral". Construí un enlace que aparecía al pasar el puntero bajo las secciones y abría el diálogo de propiedades. Llegó a la versión de desarrollo, lo miré una vez y lo quité esa misma tarde. El diálogo está a un clic, en Más, y un control que solo aparece al pasar el puntero, al final de una zona con desplazamiento, es un control que nadie encuentra. El menú de cada sección, que sí se quedó, hace el trabajo que la gente de verdad necesita — quitar esta de aquí — justo donde ya está mirando.
Metadatos frente a una columna. El indicador "mostrar en la barra lateral" vive en los metadatos JSON que la propiedad ya tenía, no en una columna nueva de la base de datos. Merece una frase porque es el tipo de decisión que se discute. El indicador nunca se filtra en SQL (el cliente decide qué mostrar a partir de la lista de propiedades que ya tiene), así que una columna tipada no aportaría nada salvo una migración. Si eso cambia algún día, el indicador se mueve, y nada más.
También en esta versión
Junto al trabajo en la barra lateral llegaron algunas cosas más.
Favoritos. Las notas fijadas ahora se llaman Favoritos en todas partes, con una estrella en la cabecera de la nota y una estrella ámbar rellena como indicador. La sección de la barra lateral se oculta mientras está vacía, y marcar una nota con la estrella ya no muestra un aviso: la estrella y la sección ya enseñan el resultado. Los atajos de una letra
PyDde las tarjetas ya no existen; las dos acciones están en el menú de la tarjeta.Inicio. El enlace superior de la barra lateral es Inicio en lugar de Todas las notas. El encabezado de la página sigue diciendo Todas las notas.
Anterior y siguiente en el tablero. Con una tarjeta abierta en el panel lateral,
JyKahora recorren la columna de esa tarjeta. Antes, en el tablero, anterior y siguiente estaban ocultos.Un bloque inferior más ordenado. Importar, Propiedades personalizadas, Integraciones y Atajos están bajo un desplegable Más que crece hacia arriba, así que el botón no se mueve; Configuración abre directamente la pestaña Espacio de trabajo, y la entrada aparte de Espacio de trabajo ya no existe.
Azul. El color principal pasó de violeta a azul en la app, en la página de presentación y en los iconos.
Y dos arreglos: la cabecera del panel lateral mostraba el título de la propia nota disfrazado de migas de pan, y ahora muestra solo la ruta de las notas padre; y el borde de la barra lateral plegada, que es por donde se arrastra para volver a abrirla, había dejado de responder a los clics.
Para qué sirve
El sentido de las propiedades nunca fueron las propiedades. Era poder preguntar "¿qué está bloqueado?" o "¿qué es mío?" y obtener una respuesta sin pensar en la herramienta. Con las etiquetas, eso siempre ha sido un clic. Ahora también lo es para lo demás, y como la barra lateral y el panel son lo mismo por debajo, elegir dónde hacer clic es la única decisión que queda.
Activa una propiedad en Más → Propiedades personalizadas y comprueba si dejas de abrir el panel. Yo dejé de abrirlo.
Ayuda: Propiedades personalizadas · Organizar notas · Usar tableros · Registro de cambios v0.8.0
Sigue leyendo
El enlace que quité y por qué volvió — la v0.8.1 recupera Configurar la barra lateral para una barra lateral vacía y añade Editar propiedad al menú de cada sección.
Sin carpetas: cómo organiza Notez tus notas — etiquetas, subnotas, tableros y once tipos de propiedades personalizadas, y por qué Notez no tiene carpetas.
La lista que pierdes cada vez que abres una nota — la nota se abre en un panel lateral sobre la lista, así que la posición de desplazamiento y los filtros se quedan donde estaban.