10 Commits
Author SHA1 Message Date
Glenn GoossensandClaude Sonnet 5.5 3e610366fe select-search: drop bookmarklet and build step, .user.js is the single source
Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
2026-10-26 13:51:05 +01:00
Glenn GoossensandClaude Sonnet 5.5 f140a32199 Move repo to gitea.flw.uantwerpen.be: update install/update/support URLs, bump versions
Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
2026-10-26 13:35:56 +01:00
Glenn GoossensandClaude Sonnet 5.5 6d9ae45a2f select-search: no recent block on Login.aspx, add data-ss-recent=off (1.8.4)
Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
2026-10-26 12:40:22 +01:00
Glenn GoossensandClaude Opus 5 5d4df257b0 select-search: kleine hangende inspring in plaats van afkappen
De lijst hing vast aan de linkerrand van het veld en kon dus alleen naar rechts groeien. Bij een
veld rechts in het formulier bleef er niets over en viel elk label terug op afbreken. Ze kiest nu
eerst haar breedte met het volle venster beschikbaar, en schuift daarna zo ver naar links als
nodig om te passen.

Een label dat dan nog niet op één regel past loopt terug met een hangende inspring van 2.5ch, de
breedte van twee cijfers plus een streepje, dus precies het "10-" waarmee elke budgetcode begint.
Uitlijnen onder de omschrijving lag meer voor de hand, maar die inspring is zo breed als de code
en bij een lange code bleef er nauwelijks tekstbreedte over. De code zelf breekt nooit af, ook
niet op zijn eigen streepjes: daarvoor staat ze in een eigen span met white-space:pre, met de
spatie erbuiten zodat het eerste woord van de omschrijving wel kan terugvallen.

Tussen twee opties staat een haarlijn, want een meerregelige rij loopt anders over in de
volgende. highlight() tekent nu een stuk van het label in plaats van het geheel, zodat een
zoektreffer over de grens tussen code en omschrijving heen blijft kloppen. Het title-attribuut
kan weg: met terugloop staat het volledige label altijd op het scherm.

Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
2026-09-14 10:11:22 +00:00
Glenn Goossens 3ddac4fa8f README: verplaats dev-stub en naamgeving naar AGENTS.md
README is voor gebruikers; dev-workflow instructies horen daar niet
in. CLAUDE.md verwijst met @AGENTS.md naar het vendor-agnostische
bestand.
2026-09-01 16:59:23 +02:00
Glenn GoossensandClaude Opus 5 b831ab9f1f select-search: recent-blok voor elke dropdown, bipp-budgetcode levert het niet meer zelf
Elke grote dropdown houdt nu zijn eigen vijf laatst gekozen waarden bij,
bovenaan de lijst onder de kopregel recent. Alles zit onder een
localStorage-sleutel, per veld, met een sleutel die uit name of id volgt
zodat rij 3 en rij 4 van hetzelfde veld één lijst delen. Delete haalt een
regel uit recent, en data-ss-recent="manual" plus window.selectSearch.remember()
is er voor wie pas mag onthouden nadat de server bevestigd heeft.

bipp-budgetcode gebruikt die weg en bouwt zijn eigen recent-optgroup dus
niet langer zelf.

Een optie zonder leesbare tekst telt voortaan als "niets gekozen", ook als
ze een waarde draagt, zoals de <option value="0">&nbsp;</option> van een
OAF-scherm. Zo'n regel stond eerst gewoon in de lijst; wie ze koos kreeg
haar daarna permanent als lege blauwe balk onder recent te zien.

Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
2026-09-01 16:59:22 +02:00
Glenn GoossensandClaude Opus 5 05a37f31ce select-search: muis verzet de selectie, en Delete haalt een regel uit haar groep
De blauwe balk werd alleen door de pijltjes verzet: er was een li.active-stijl maar
geen enkele hover- of mousemove-handler, dus wie met de muis over de lijst ging stond
nergens op. Nu verzet mousemove dezelfde active-regel als het toetsenbord. Bewust geen
mouseover, want een stilliggende muis boven de lijst zou dan de pijltjes blijven
tegenwerken.

Daarbovenop een generiek haakje om suggesties op te ruimen, zoals de adresbalk van een
browser dat doet. Een optie of optgroup met data-removable is met Delete te wissen: het
script haalt zelf niets weg maar stuurt een select-search:remove-event met value, label
en index, en wie de lijst bezit past de opties aan. Geen kruisje per regel: dat neemt
plek in en wie met de muis op een regel staat wil die kiezen, niet weggooien.

Delete vuurt alleen zolang er niets getypt is, anders blijft het een gewone teksttoets.
Die vraag werd eerst met input.value beantwoord, en dat is niet de zoekterm: bij een
open lijst zonder typwerk staat daar het gekozen label in, geselecteerd en klaar om over
te typen. Delete deed dus niets in precies de gewone situatie. De zoekterm zit nu in een
eigen variabele, en die lost hetzelfde stille probleem op in resync, die de open lijst
zou dichtfilteren op een label dat de gebruiker nooit intypte.

Na een herbouw van de opties blijft de balk staan waar hij stond, geklemd op de laatste
regel, zodat je meerdere regels achter elkaar kan wissen.

Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
2026-09-01 16:59:22 +02:00
Glenn Goossens 4ba63a2738 Van MIT naar GPL-3.0-or-later
Een aangepaste versie die iemand verspreidt moet voortaan zijn broncode meegeven.
Bij client-side JavaScript telt het uitserveren naar een browser als verspreiden,
dus dit dekt ook het geval dat iemand de code in zijn eigen webapp bouwt.

Beide scripts krijgen een hogere @version, anders komt de nieuwe licentieregel
nooit bij wie het al geinstalleerd heeft. Wat al onder MIT gepubliceerd is blijft
onder MIT beschikbaar; dit geldt vanaf deze versies.
2026-09-01 16:59:22 +02:00
Glenn Goossens 07d4039480 select-search: naar scripts/, uitvoer naast de bron, URLs naar ua-userscripts
De build schreef naar dist/. In deze repo is het installeerbare bestand altijd
scripts/<naam>/<naam>.user.js, zodat elke installatielink af te leiden valt zonder
in de repo te kijken. @version naar 1.1.0 zodat bestaande installaties die via de
doorverwijzing in de oude repo binnenkomen, hierna nog een stap omhoog doen.
De installatie-uitleg staat voortaan een niveau hoger in de hoofd-README.
2026-08-29 13:35:43 +02:00
Glenn Goossens 702f8b876f Add 'scripts/select-search/' from commit '98095f3fc6f9a86e3b64b7c7ba14d299259fc7e2'
git-subtree-dir: scripts/select-search
git-subtree-mainline: e5bd11259f
git-subtree-split: 98095f3fc6
2026-08-29 13:34:58 +02:00