Unificar les opcions dels eixos i afegir el slider X als gràfics - #41
Merged
Merged
Conversation
giscebot
approved these changes
Sep 25, 2026
giscebot
left a comment
Contributor
There was a problem hiding this comment.
Revisió de mantenidor: el canvi és coherent amb el contracte actual del webclient, que ja consumeix yAxisOpts, i manté separades les opcions dels eixos X i Y. També he comprovat la correcció del cas 0 versus False a Gantt i la documentació del canvi incompatible per als consumidors antics. Validació local: 145 exemples Mamba passen amb Python 3.11 i Python 2.7, compileall passa i git diff --check no detecta problemes. La publicació s’ha de coordinar amb l’adaptació ERP i el Relax NG per x_range que la descripció ja marca com a pendents.
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Què canvia
Els gràfics line i bar poden demanar un slider horitzontal amb
x_range="slider".process()retornaxAxisOpts: {"mode": "slider"}i es pot combinar amby_range="slider".Unifiquem les opcions de l’eix Y sota
yAxisOpts. Els line hi retornen els modesdefault,auto,fullislider, amb els límits calculats avalueOptsquan ésauto. Els bar continuen retornant opcions Y quan demanen slider.Gantt conserva el valor numèric
0com a nom o grup de tasca. Abans Python feia servirvalue or uninformed_stringi convertia erròniament aquest0en un valor no informat.Falsei els valors realment no informats continuen mostrant el text de substitució. Vam detectar la diferència en comparar el processament del servidor amb el local.D’on ve la diferència entre
yAxisPropsiyAxisOptsPython va començar a retornar
yAxisPropsper als line el 2024, abans de la PR #40. El processador local i els components del webclient utilitzavenyAxisOpts. Per això hi havia dos noms per representar les opcions del mateix eix segons on es processava el gràfic.La #40 va mantenir
yAxisPropsi va afegiryAxisOptsper indicar el slider Y perquè el webclient funcionés. Era coherent amb conservar la resposta existent, però va fer més visible la diferència: un line amb slider podia portar les dues claus. Aquesta PR no corregeix un error atribuïble a la #40; unifica dos contractes que ja havien evolucionat amb noms diferents.Compatibilitat i integració
Aquest canvi modifica el contracte de
process(): fins i tot un line antic sense slider retorna arayAxisOptsen lloc deyAxisProps. Les dades dels gràfics line i bar no canvien, però qualsevol consumidor que llegeixiyAxisPropss’ha d’adaptar.Un adaptador puntual al webclient per acceptar les dues claus seria possible i senzill. Però he triat unificar la resposta a Python per tenir el mateix nom en el processament local i el del servidor, sense mantenir dos contractes. Canviar tot el processador local i els components del webclient perquè utilitzin
yAxisPropsafectaria més codi.Abans de publicar i consumir la nova versió cal actualitzar els tests i consumidors d’ERP (pendent de fer una PR), i validar que
y_range="auto"manté el comportament esperat al webclient amb la flag d’ECharts apagada. Per utilitzarx_range="slider"en vistes servides per ERP, el seu Relax NG també ha d’acceptar l’atributx_range.Relacionat amb webclient#4108 i webclient#4110. També relacionat amb webclient#2472, que demana ajustar l’eix Y als valors de les dades.
Proves
Passen les 145 proves Mamba, la compilació Python i
git diff --check. Les proves cobreixen els gràfics antics sense slider, els sliders X i Y per separat i combinats, els modes Y existents i el valor0a Gantt.