HTML tables do not do very much.
If you want to render your data sortable and filterable,
you have to implement it by yourself.
In this Blog I want to present the result of my efforts to do such.
There is no jQuery or react or whatsoever in it,
it is just HTML + CSS + ES6 and nothing else.
Mind that this is a client-side action,
meaning all table-rows must reside as HTML on the browser-client already.
Big paged tables normally are sorted and filtered on server-side.
In this article you'll find just the solution, I will explain the source code in further parts. If you are impatient, simply view the source code of the page (to find the start, search for 'TableHeaderClickHandler').
So what you're seeing below are the 100 highest of Austria's 3242 mountains with a topographic prominence of 100 meters. (Unfortunately the full list was too big for Google Blog:-)
- Click into the header for sorting and filtering, or navigate with the keyboard (TAB, ENTER, ESCAPE)
- Sort buttons are right, filter fields are left
- Filter fields can be closed by erasing the filter input, or clicking the "X" button to the right, or pressing ESCAPE
- The table should not resize while filtering
- The header should be sticky on page head while scrolling
(might not yet work in MS-Edge, this is the new TABLE feature
position: sticky
).
|
|
|
|
Ö-Karte Nr. |
---|---|---|---|---|
Großglockner | 3798 | Hohe Tauern Glocknergruppe | Grenze Kärnten mit Tirol | 153 - u |
Wildspitze | 3770 | Ötztaler Alpen | Tirol | 173 - o |
Weißkugel | 3738 | Ötztaler Alpen | Grenze Tirol mit Italien | 172 - u |
Glocknerwand | 3722 | Hohe Tauern Glocknergruppe | Grenze Kärnten mit Tirol | 153 - u |
Großvenediger | 3674 | Hohe Tauern Venedigergruppe | Grenze Tirol mit Salzburg | 152 - u |
Hinterer Brochkogel | 3628 | Ötztaler Alpen | Tirol | 173 - o |
Hintere Schwärze | 3624 | Ötztaler Alpen | Grenze Tirol mit Italien | 173 - u |
Similaun | 3599 | Ötztaler Alpen | Grenze Tirol mit Italien | 173 - u |
Gr. Wiesbachhorn | 3564 | Hohe Tauern Glocknergruppe | Salzburg | 153 - o |
Vorderer Brochkogel | 3562 | Ötztaler Alpen | Tirol | 173 - o |
Rainerhorn | 3560 | Hohe Tauern Venedigergruppe | Tirol | 152 - u |
Gr. Ramolkogel | 3549 | Ötztaler Alpen | Tirol | 173 - u |
Schalfkogel | 3537 | Ötztaler Alpen | Tirol | 173 - u |
Hochvernagtspitze | 3535 | Ötztaler Alpen | Tirol | 172 - m |
Watzespitze | 3532 | Ötztaler Alpen | Tirol | 172 - o |
Langtaufererspitze | 3528 | Ötztaler Alpen | Grenze Tirol mit Italien | 172 - u |
Mutmalspitze | 3522 | Ötztaler Alpen | Tirol | 173 - u |
Weißseespitze | 3518 | Ötztaler Alpen | Grenze Tirol mit Italien | 172 - u |
Fineilspitze | 3514 | Ötztaler Alpen | Grenze Tirol mit Italien | 172 - u |
Hochfeiler | 3509 | Zillertaler Alpen | Grenze Tirol mit Italien | 175 - o |
Zuckerhütl | 3507 | Stubaier Alpen | Tirol | 174 - o |
Dreiherrnspitze | 3499 | Hohe Tauern Venedigergruppe | Grenze Tirol mit Salzburg mit Italien | 151 - u |
Fluchtkogel | 3497 | Ötztaler Alpen | Tirol | 172 - u |
Schrankogel | 3497 | Stubaier Alpen | Tirol | 147 - u |
Rötspitze | 3495 | Hohe Tauern Venedigergruppe | Grenze Tirol mit Italien | 151 - u |
Firmisanschneide | 3490 | Ötztaler Alpen | Tirol | 173 - u |
Westliche Simonyspitze | 3488 | Hohe Tauern Venedigergruppe | Grenze Tirol mit Salzburg | 151 - u |
Hintere Hintereisspitze | 3485 | Ötztaler Alpen | Grenze Tirol mit Italien | 172 - u |
Gr. Möseler | 3480 | Zillertaler Alpen | Grenze Tirol mit Italien | 175 - o |
Hochwilde | 3480 | Ötztaler Alpen | Grenze Tirol mit Italien | 173 - u |
Olperer | 3476 | Zillertaler Alpen | Tirol | 149 - u |
Ruderhofspitze | 3474 | Stubaier Alpen | Tirol | 147 - u |
Hinterer Seelenkogel | 3470 | Ötztaler Alpen | Grenze Tirol mit Italien | 173 - u |
Sonklarspitze | 3467 | Stubaier Alpen | Grenze Tirol mit Italien | 174 - o |
Karlesspitze | 3462 | Ötztaler Alpen | Grenze Tirol mit Italien | 173 - u |
Wilder Pfaff | 3456 | Stubaier Alpen | Grenze Tirol mit Italien | 174 - o |
Kreuzspitze | 3455 | Ötztaler Alpen | Tirol | 173 - u |
Bliggspitze | 3453 | Ötztaler Alpen | Tirol | 172 - o |
Johannisberg | 3453 | Hohe Tauern Glocknergruppe | Grenze Salzburg mit Kärnten | 153 - u |
Vordere Ölgrubenspitze | 3452 | Ötztaler Alpen | Tirol | 172 - o |
Querkogel | 3448 | Ötztaler Alpen | Tirol | 173 - u |
Hinterer Brunnenkogel | 3438 | Ötztaler Alpen | Tirol | 173 - o |
Klockerin | 3425 | Hohe Tauern Glocknergruppe | Salzburg | 153 - o |
Spiegelkogel | 3424 | Ötztaler Alpen | Tirol | 173 - u |
Verpeilspitze | 3423 | Ötztaler Alpen | Tirol | 145 - u |
Ehrichspitze | 3420 | Ötztaler Alpen | Tirol | 172 - u |
Turnerkamp | 3420 | Zillertaler Alpen | Grenze Tirol mit Italien | 175 - o |
Wilder Freiger | 3418 | Stubaier Alpen | Grenze Tirol mit Italien | 174 - o |
Östliche Seespitze | 3416 | Stubaier Alpen | Tirol | 147 - u |
Kesselwandspitze | 3414 | Ötztaler Alpen | Tirol | 172 - u |
Bratschenkopf | 3413 | Hohe Tauern Glocknergruppe | Salzburg | 153 - o |
Schrammacher | 3410 | Zillertaler Alpen | Tirol | 149 - u |
Weißer Kogel | 3407 | Ötztaler Alpen | Tirol | 173 - o |
Talleitspitze | 3406 | Ötztaler Alpen | Tirol | 173 - u |
Hoher First | 3403 | Ötztaler Alpen | Grenze Tirol mit Italien | 173 - u |
Hauslabkogel | 3402 | Ötztaler Alpen | Tirol | 173 - u |
Daberspitze | 3401 | Hohe Tauern Venedigergruppe | Tirol | 151 - u |
Fluchthorn | 3399 | Silvrettagruppe | Grenze Tirol mit Schweiz | 170 - o |
Gampleskogel | 3399 | Ötztaler Alpen | Tirol | 173 - o |
Liebenerspitze | 3399 | Ötztaler Alpen | Grenze Tirol mit Italien | 173 - u |
Sennkogel | 3398 | Ötztaler Alpen | Tirol | 173 - u |
Gr. Bärenkopf | 3396 | Hohe Tauern Glocknergruppe | Grenze Salzburg mit Kärnten | 153 - m |
Rositzkogel | 3394 | Ötztaler Alpen | Tirol | 172 - o |
Hohe Geige | 3393 | Ötztaler Alpen | Tirol | 146 - u |
Rötenspitze | 3393 | Ötztaler Alpen | Grenze Tirol mit Italien | 173 - u |
Schrandele | 3392 | Stubaier Alpen | Tirol | 147 - u |
Fußstein | 3380 | Zillertaler Alpen | Tirol | 149 - u |
Hoher Weißzint | 3380 | Zillertaler Alpen | Grenze Tirol mit Italien | 175 - o |
Gr. Löffler | 3379 | Zillertaler Alpen | Grenze Tirol mit Italien | 150 - u |
Schwarzenberg | 3379 | Stubaier Alpen | Tirol | 147 - u |
Schwabenkopf | 3378 | Ötztaler Alpen | Tirol | 145 - u |
Malhamspitze | 3373 | Hohe Tauern Venedigergruppe | Tirol | 151 - u |
Eiskastenspitze | 3371 | Ötztaler Alpen | Tirol | 172 - o |
Hoher Eichham | 3371 | Hohe Tauern Venedigergruppe | Tirol | 152 - u |
Schwarzenstein | 3369 | Zillertaler Alpen | Grenze Tirol mit Italien | 150 - u |
Diemkogel | 3368 | Ötztaler Alpen | Tirol | 173 - u |
Hoher Tenn | 3368 | Hohe Tauern Glocknergruppe | Salzburg | 153 - o |
Innere Schwarze Schneide | 3367 | Ötztaler Alpen | Tirol | 173 - o |
Falschungspitze | 3361 | Ötztaler Alpen | Grenze Tirol mit Italien | 173 - u |
Gr. Geiger | 3360 | Hohe Tauern Venedigergruppe | Grenze Tirol mit Salzburg | 151 - u |
Hochalmspitze | 3360 | Hohe Tauern Ankogelgruppe | Kärnten | 155 - u |
Wilde Leck | 3359 | Stubaier Alpen | Tirol | 146 - u |
Mittlerer Bärenkopf | 3358 | Hohe Tauern Glocknergruppe | Grenze Salzburg mit Kärnten | 153 - m |
Seekogel | 3357 | Ötztaler Alpen | Tirol | 172 - o |
Aperer Pfaff | 3353 | Stubaier Alpen | Tirol | 174 - o |
Glockturm | 3353 | Ötztaler Alpen | Tirol | 172 - o |
Rofelewand | 3353 | Ötztaler Alpen | Tirol | 145 - u |
Hohe Dock | 3348 | Hohe Tauern Glocknergruppe | Salzburg | 153 - m |
Windacher Daunkogel | 3348 | Stubaier Alpen | Tirol | 173 - o |
Warenkarseitenspitze | 3347 | Stubaier Alpen | Tirol | 173 - o |
Puitkogel | 3343 | Ötztaler Alpen | Tirol | 173 - o |
Stubaier Wildspitze | 3341 | Stubaier Alpen | Tirol | 174 - o |
Hohe Riffl | 3338 | Hohe Tauern Glocknergruppe | Grenze Salzburg mit Kärnten | 153 - m |
Schaufelspitze | 3332 | Stubaier Alpen | Tirol | 174 - o |
Fuscherkarkopf | 3331 | Hohe Tauern Glocknergruppe | Grenze Salzburg mit Kärnten | 153 - u |
Hinterer Brunnenkogel | 3325 | Stubaier Alpen | Tirol | 147 - u |
Löcherkogel | 3324 | Ötztaler Alpen | Tirol | 172 - o |
Granatenkogel | 3318 | Ötztaler Alpen | Grenze Tirol mit Italien | 173 - u |
Gr. Hexenkopf | 3313 | Hohe Tauern Venedigergruppe | Tirol | 152 - u |
Piz Buin | 3312 | Silvrettagruppe | Grenze Vorarlberg mit Schweiz | 170 - u |
Gotcha: the sticky table header has a problem
with the separation line down towards the table.
No border-bottom
style worked, thus I had to give it a background-color.
Keine Kommentare:
Kommentar veröffentlichen