GenieFramework / StippleUI.jl

StippleUI is a library of reactive UI elements for Stipple.jl.
MIT License
83 stars 15 forks source link

Table pagination not working #26

Open cdhf opened 3 years ago

cdhf commented 3 years ago

I've copied code from the examples to play around with Stipple, and found the following behaviour.

When I use a model field for the DataTablePagination object that is simply named "pagination", the table in the browser only shows the first five rows, and this cannot be changed. Renaming that field to anything else fixes the table. A working and a broken example are attached.

example.zip

hhaensel commented 3 years ago

I have half of the clue.

Have a look, what

julia> table(:data, pagination=:pagination)
"<template><q-table :columns=\"data.columns_data\" v-model=\"data\" :data=\"data.data_data\" row-key=\"__id\" :pagination.sync=\"pagination\"></q-table></template>"

does. This is because of the argument mappings StippleUI.API.ATTRIBUTES_MAPPINGS that Stipple performs for convenience.

In a recent use case of the QTree element, I also needed to make use of synced properties (expanded, ticked, selected). I realised that I did not work as soon as I named the model properties identical to their element counter parts. So that seems to be a very general behaviour. maybe @essenciary has a clue why this is. The documentation of quasar would allow this. I think, it is some weired scoping and depends how Quasar is implemented.