Skip to content

Implement Minimal NLDS Table in Wicket #450

@keesvandieren

Description

@keesvandieren

Wat na te kijken?

Algemene documentatie: https://nldesignsystem.nl/table/

Utrecht documentatie: https://nl-design-system.github.io/utrecht/storybook/?path=/docs/css_css-table--docs

Implementatie instructies:

  • start een nieuwe branch vanaf: copilot/add-rd-form-field-text-area (maak n
  • Gebruik dezelfde java code style als bij RdFormFieldTextArea
  • gebruik de Utrecht Table implementatie
  • Tabel moet normale tekstkolommen kunnen tonen, bewerk link, details link, naar boven verplaatsen (↑), naar beneden verplaatsen (↓)
  • DataTable kan extenden van org.apache.wicket.extensions.markup.html.repeater.data.table.DefaultDataTable
  • RdDatatable standaard standaard zonder sorteericonen
  • In Rotterdam wicket extensions, een datatable subclass (/opzet) met rotterdamse sorteer-iconen: RotterdamIconType.MINUS, UP, DOWN

Scope: wel

In de basis wat voor Afspraak productenbeheer nodig is.

  • Tabel met tekst en nummerieke kolommen
  • Sorteren
  • Pagineren
  • Acties

Scope: niet

  • Ajax data table nog niet. Nu nog niet nodig
  • Configurable achtergrond-kleur even/oneven rijen. Er zijn altijd achtergrondkleuren in de rijen.
  • Filteren

Review instructies:

  • Staat het component in de goede module?
    • Is het component generiek of specifiek voor een organisatie? Organisatiespecifieke componenten mogen niet in generieke modules.
    • Is het een lichtgewicht, in veel apps gebruikt component of, is het een zwaar en/of weinig gebruikt component? Zware en/of weinig gebruikte componenten kunnen beter in een 'extras'-module.
  • Staat het in de goede package?
  • Klopt de status in @NlComponentState?
    • Is het component al verder in het NLDS-proces? Dan moet er overgestapt worden van een community- naar een kandidaatcomponent, of van een kandidaatcomponent naar een hall-of-fame-component.
  • Front-end resources:
    • Worden in de POM de minimale front-endbestanden gekopieerd?
    • Is het nodig om het package te openen in module-info.java?
  • Worden de juiste Wicket-typen (Panel, Border, Behavior, enz.) gebruikt voor de implementatie? Er kunnen meerdere typen zijn omdat er verschillende situaties zijn: nieuwe code of aanpassen van bestaande code, gebruik in een basispagina of in een panel, enz.
    • Zijn alle Wicket-constructors overgenomen?
  • Worden de juiste Wicket-objecten gebruikt voor subcomponenten i.p.v. dat subcomponenten opnieuw worden geïmplementeerd?
    • Als het component BEM-elementen bevat, krijgen deze elementen hun markup dan van hun eigenaar of van een andere component dat een kind is van hun eigenaar?
  • Staat de nullability van alle typen goed? Let vooral op Wicket-modellen voor gebruikersinvoer: deze moeten vaak null toestaan.
  • onComponentTag(...):
    • Controle op de juiste tagnaam moet voor de aanroep super.onComponentTag(tag);.
    • Worden attributen alleen open- en open-close-tags gezet (!tag.isClose())? De gezette attributen worden niet weggeschreven door Wicket, maar het is zonde van de onnodige verwerking.
  • Worden de juiste namen voor waarden van CSS-enums gebruikt?
  • Is er een voorbeeldpagina die de HTML- en Java-code, en die als het mogelijk is het component toont, met daarbij instellingen op de parameters aan te passen.
  • Legt de Javadoc uit hoe het component moet worden gebruikt?
    • Het is niet nodig om langere codesnippets op te nemen: ga ervan uit dat de ontwikkelaar Wicket-kennis heeft.
    • Aan welke tag worden de componenten gehangen?
    • Welke factorymethodes zijn er nodig?
    • Bij een border: waar komt de content terecht?
    • Welke modellen en behaviors kun je meegeven om de weergave te sturen?
    • Welke andere opties zijn er om de weergave aan te passen?
    • Links naar gerelateerde Java-types.
    • Link naar NLDS-component (als dat bestaat).
    • Link naar de community-implementatie op basis waarvan het component is gebouwd.
    • Link naar externe documentatie met aan te passen voorbeeld(en) en uitgebreidere codevoorbeelden (HTML en Java).
  • Zijn er voldoende tests van goede kwaliteit?
    naar

Metadata

Metadata

Assignees

Labels

No labels
No labels

Type

No type

Projects

Status

In Progress

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions