beyond-all-reason / bar-lobby

BAR Lobby Client
https://beyond-all-reason.github.io/bar-lobby/
MIT License
33 stars 30 forks source link

Search battles by map and player names, save battle filter settings #172

Closed thehobojoe closed 1 year ago

thehobojoe commented 1 year ago

Resolves https://github.com/beyond-all-reason/bar-lobby/issues/160 Resolves https://github.com/beyond-all-reason/bar-lobby/issues/150 Partially resolves https://github.com/beyond-all-reason/bar-lobby/issues/158

There is no debounce on the search currently, the actual filter time is miniscule on my machine which should be a good indication that it won't be problematic on older machines - however re-rendering the DOM is another matter, I'll make a note to work on a search debounce later.

electron_SLfxIdCed3 electron_mjMpHhsL01

Jazcash commented 1 year ago

Have you seen https://primevue.org/datatable/#basic_filter?

thehobojoe commented 1 year ago

Have you seen https://primevue.org/datatable/#basic_filter?

I hadn't - how were you thinking of using it in this case, like having multiple search boxes? I feel like it should remain pretty simple to avoid making the UI more cluttered.

Jazcash commented 1 year ago

Have you seen https://primevue.org/datatable/#basic_filter?

I hadn't - how were you thinking of using it in this case, like having multiple search boxes? I feel like it should remain pretty simple to avoid making the UI more cluttered.

I think 1 search box is fine, exactly as you placed it - but if possible I'd prefer if we used the built-in PrimeVue filter for behind the scenes, to keep our code simplier, and in case PrimeVue's filter is more optimised for their DataTable component. If it looks too awkward to hook up to then don't worry about it, but would be great if you could try it.

Ideally I'd like to use PrimeVue's components wherever possible. E.g. SearchBox.vue that you found and got working is fine, but if PrimeVue has a component to do stuff like that already then I'd like to use that, just to keep the number of controls we have to maintain in our own codebase to as few as we can. Although you'll see we have many files for controls, many of those are now wrappers around PrimeVue's components, solely for the purpose of either extending them or styling them.