eirikb / AudibleHero

http://audiblehero.com
5 stars 1 forks source link

Feature/domdom #23

Closed eirikb closed 3 years ago

eirikb commented 4 years ago

Hi @MizardX hope you are doing well :smiley:

I've decided to re-write AudibleHero (again).
The reason I ping you is because you are a bigger contributor lately than myself.

Main points:

The main reason for the rewrite is to test out domdom in a real world project. It's a simple framework I've been developing myself, and I need victims to test it out on (in this case AudibleHero). It has some quirks, and bugs, but nothing I can't fix :smile:

I'm also planning on setting up automatic build and deploy from GitHub Actions. Moving build from Travis.

This is how it looks now: image
Similar to before, as I still use material components web, just an updated version.
Must admit the layout is cluttery, but I'm not any good at layouting.

MizardX commented 4 years ago

I don't understand the event syntax.

on('- viewconfig', () => ...)
on('+* viewconfig.*', () => ...)
on('!+* test', () => ...)

The suffix .* I read meant a wildcard, meaning it matches any property. But what does the prefix (-, +* and !+*) mean?

My suggestion is the move options to an optional options-argument.

on('viewconfig', () => ...)
on('viewconfig', { foo: false }, () => ...)
on('viewconfig.*', { foo: true, bar: true }, () => ...)
on('test', { foo: true, bar: true, baz: true }, () => ...)

EDIT: Ah, I found an explanation on https://github.com/eirikb/data

eirikb commented 4 years ago

Hi. Yes, sorry, that really should be part of the domdom readme. In theory it shouldn't be needed in AudibleHero, since domdom can do filtering and sorting itself, so no need to move the data from books to books2 - but it doesn't support slice yet, and so all (6000 in my case) books would be shown.