loon-bulma-react 2022.1.0 → 2022.1.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +28 -10
- package/package.json +1 -1
package/README.md
CHANGED
|
@@ -461,12 +461,25 @@ import { ButtonGroup, Bttn, Button, LightButton, InvertedButton, OutlinedButton
|
|
|
461
461
|
|
|
462
462
|
Een DataTable is een tabel met een maximaal aantal rijen waarin je kan zoeken en sorteren. Voor een gewone, saaie, normale tabel kan je de [Table](#component-table) gebruiken. Voor re-renderen van de tabel moet de `data`-prop wel state zijn, anders werkt het rerenderen niet. Hetzelfde geld voor de `columns`-prop.
|
|
463
463
|
|
|
464
|
+
> #### LET OP!
|
|
465
|
+
>
|
|
466
|
+
> Het sorteren is aangepast. Om een column sorteerbaar te maken, moet je een van de onderstaande 4 waarden opgeven:
|
|
467
|
+
>
|
|
468
|
+
> - `'string'`: sorteer deze kolom alfabetisch
|
|
469
|
+
> - `'boolean'`: sorteer deze kolom als een boolean (true/false)
|
|
470
|
+
> - `'number'`: sorteer deze kolom numeriek
|
|
471
|
+
> - `'function'`: sorteer deze kolom met deze `function`<sup>\*</sup>.
|
|
472
|
+
>
|
|
473
|
+
> <i> <sup>\*</sup>: Als deze kolom JSX-Elementen bevat, werkt het sorteren _NIET_. Dan _MOET_ er een sort-function worden opgegeven om wel te kunnen sorteren.</i>
|
|
474
|
+
|
|
464
475
|
Om eigen classes toe te voegen aan rows en aan columns zijn er methodes:
|
|
465
476
|
|
|
466
477
|
- op de DataTable props zit de `rowClasses` function voor classes op de `<tr>`.
|
|
467
478
|
- op de DataTableColum props zit de `columnClasses` function voor classes op de `<td>`.
|
|
468
479
|
De gebruikte classes kunnen in een globale css file of in een lokaal geïmporteerde file staan (zoals hieronder).
|
|
469
|
-
> LET OP
|
|
480
|
+
> #### LET OP!
|
|
481
|
+
>
|
|
482
|
+
> in combinatie met `isStriped: {true}` werkt het zetten van `background-color` ALLEEN in combinatie met `!important`. Anders wordt de achtergrondkleur weer overschreven door Bulma.
|
|
470
483
|
|
|
471
484
|
```css
|
|
472
485
|
/** datatable.styles.css */
|
|
@@ -486,28 +499,28 @@ const nameSortFn = (a: any, b: any) => {
|
|
|
486
499
|
const aNaam = a.first_name + ' ' + a.last_name;
|
|
487
500
|
const bNaam = b.first_name + ' ' + b.last_name;
|
|
488
501
|
if (aNaam < bNaam) return -1;
|
|
489
|
-
if (aNaam > bNaam) return 1;
|
|
490
|
-
return 0;
|
|
502
|
+
else if (aNaam > bNaam) return 1;
|
|
503
|
+
else return 0;
|
|
491
504
|
};
|
|
492
505
|
|
|
493
|
-
const
|
|
494
|
-
{ sort:
|
|
506
|
+
const columns = [
|
|
507
|
+
{ sort: 'number', value: 'id' },
|
|
495
508
|
{
|
|
496
509
|
header: 'Naam',
|
|
497
510
|
sort: nameSortFn,
|
|
498
511
|
value: (v: any) => `${v.first_name} ${v.last_name}`,
|
|
499
512
|
},
|
|
500
|
-
{ header: 'Voornaam', sort:
|
|
501
|
-
{ header: 'Achternaam', sort:
|
|
513
|
+
{ header: 'Voornaam', sort: 'string', value: 'first_name' },
|
|
514
|
+
{ header: 'Achternaam', sort: 'string', value: 'last_name' },
|
|
502
515
|
{
|
|
503
516
|
value: 'email',
|
|
504
517
|
columnClasses: (usr) => (usr.email.includes('.com') ? 'is-marked' : ''),
|
|
505
518
|
},
|
|
506
|
-
{ header: '
|
|
507
|
-
{ header: '
|
|
519
|
+
{ header: 'Active', sort: 'boolean', value: 'is_active'}
|
|
520
|
+
{ header: 'Geslacht', sort: 'string', value: 'gender' },
|
|
521
|
+
{ header: 'Taal', sort: 'string', value: 'language' },
|
|
508
522
|
{
|
|
509
523
|
header: '',
|
|
510
|
-
sort: false,
|
|
511
524
|
value: () => <InvertedButton.Danger>DEL</InvertedButton.Danger>,
|
|
512
525
|
},
|
|
513
526
|
];
|
|
@@ -525,6 +538,11 @@ export function DataTableTab() {
|
|
|
525
538
|
return (
|
|
526
539
|
<DataTable
|
|
527
540
|
data={data}
|
|
541
|
+
headerContent={
|
|
542
|
+
<Button.Primary>Add</Button.Primary>
|
|
543
|
+
<Button.Warning>Change</Button.Warning>
|
|
544
|
+
<Button.Success>Refresh</Button.Success>
|
|
545
|
+
}
|
|
528
546
|
columns={columns}
|
|
529
547
|
onRowSelected={(i, r) => handleRowClick(i, r)}
|
|
530
548
|
rowClasses={(item: IUser) => (item.first_name.startsWith('C') ? 'is-dangerous' : '')}
|