Files
racket-wiki/static/js/widgets

Wiki widgets

This directory contains the small reusable interaction widgets used by the wiki. A widget manages an existing DOM structure and its browser interaction; it does not own wiki or CMap domain rules.

  • ComboBox filters labelled options and returns their stable values.
  • PopupMenu positions and dismisses an action menu and provides keyboard navigation.
  • TabSet coordinates tabs, panels and keyboard focus.
  • Tooltip provides reusable tooltip visibility and placement.
  • DescriptionPreview composes Tooltip with asynchronous wiki-page loading.
  • StatusField presents persistent or temporary status messages.

Native buttons, inputs, selects and dialogs remain native elements. They do not get wrapper classes until the application has reusable behaviour for such a class to own. Functional dialog controllers can therefore be extracted separately without putting CMap or wiki rules in a generic widget.