NH_widget

Widgets for user interactions.

Estas são as versões deste script em que o código foi atualizado. Mostrar todas as versões.

  • v. 52 01/08/2026

    Migrate a custom class to a standard Symbol.

    This is a minor API change:

    • Will be referenced as Layout.Panel.<loc> rather than Layout.<loc>
    • The built-in toString() for Symbol is different, but the .description property works.

    Issue #375.


    Bump version number.


  • v. 51 28/07/2026

    JSDoc: Fix most known issues for lib/widget.

    Need to do some code changes for the enums.

    Issue #369.

  • v. 51 23/07/2026

    JSDoc: Minimal changes so that JSDoc does not crash.

    Issue #369.

    JSDoc: Add/update file stanzas to all lib and demo files.

    Issue #369.

  • v. 51 12/07/2026

    Rename TabEntry to Tab.

    Issue #258.

    Bump version number.

  • v. 50 10/06/2026

    Update library from specific exception to Error with cause.

    Issue #254.

    Normalize how const me = is set.

    Bump version number.

  • v. 49 23/05/2026

    Update to latest xunit and migrate to TestCase.register().

    Closes #333.

    Bump version number.

  • v. 48 18/04/2026

    eslint: Fully disallow name as a local variable.

    Closes #238.

    Bump version number.

  • v. 47 08/04/2026

    Stop shadowing the global name.

    Issue #238.

    Run through ispell.

    Bump version number.

  • v. 46 31/03/2026

    Run through ispell.

    Bump version number.

  • v. 45 04/03/2024

    Initial build() support for Tabs.

    Issue #258.

    Migrate most modules to use base.Exception.

    Issue #259.

    Bump version number.

  • v. 44 26/02/2024

    JSDoc: Correct return type.

    Issue #185.

    Flesh out TabEntry a bit.

    Highly inspired by GridColumn and Layout.

    Issue #258.

    Bump version number.

  • v. 43 25/02/2024

    Initial rough out of a Tabs widget.

    Issue #258.

    Bump version number.

  • v. 42 23/02/2024

    Use thead/tbody elements to build a Grid.

    Issue #185.

    Minor indentation tweak.

    Bump version number.

  • v. 41 19/02/2024

    Clear the Grid container when building.

    The regexp was too forgiving and did not detect that contents were duplicated.

    Issue #185.

    General improvements to use of RegExp in tests.

    The recent experience with an overly forgiving expression suggests another look at the whole set of tests, particularly the use of .*.

    Hoisted the GUID expression to the file level and used in a few other locations.

    It is well known that using RegExp with HTML is generally a Bad Idea(tm). These tests really should be rewritten to compare at the DOM level.

    Issues #190, #254.

    Bump version number.

  • v. 40 18/02/2024

    Support CSS classes in GridColumn.

    These are accessible as a separate method that Grid can use to style the resulting td element, like it does for tr.

    Issue #185.

    Bump version number.

  • v. 39 16/02/2024

    Remove now redundant call to contentWrapper().

    Issue #185.

    Wrap items in the built array in an object.

    This will allow for a future change to have a parallel item.

    Issue #185.

    Bump version number.

  • v. 38 14/02/2024

    Make sure GridColumn.render() always returns a Widget.

    Issue #185.

    Rename ClassesFunc to RowClassesFunc.

    A forth coming ColClassesFunc will have a slightly different signature, so keep the names a bit more explicit.

    Along similar lines, also rename the associated methods.

    Issue #185.

    Stop using event as a local name as it shadows a global.

    Issue #238.

    Bump version number.

  • v. 37 12/02/2024

    JSDoc: Indicate func is optional.

    Issue #185.

    Remove old renderFunc initilization.

    Issue #185.

    Change GridColumn to use a setter for title.

    More like Grid.

    Issue #185.

    Bump version number.

  • v. 36 08/02/2024

    Set the renderFunc using a setter rather than in the config.

    This makes it consistent with Grid.rowClasses().

    Issue #185.

    Validate the rowClasses() callback.

    Issue #185.

    Bump version number.

  • v. 35 02/02/2024

    Make field a required property for GridColumn.

    Issue #185.

    Bump version number.

  • v. 34 31/01/2024

    Support per-row styling via CSS classes.

    Issue #185.

    Bump version number.

  • v. 33 29/01/2024

    Change RenderFunc to return Content instead of Widget.

    More consistent with other APIs.

    Issue #185.

    Additionaly GridColumn test.

    Issue #185.

    Finally build the Grid.

    Issue #185.

    Export GridColumn and Grid.

    Not complete, but will display.

    Issue #185.

    Bump version number.

  • v. 32 27/01/2024

    Add initial column support.

    Like data, this will start off live and manipulated directly. Convience methods, if any, will come later.

    Also, remove a bit of snarkiness from the data comment.

    Issue #185.

    Bump version number.

  • v. 31 24/01/2024

    Expose a GridColumn.render() method.

    Issue #185.

    Bump version number.

  • v. 30 21/01/2024

    Give each GridColumn instance a unique id.

    Issue #185.

    Bump version number.

  • v. 29 17/01/2024

    JSDoc: Add some missing types.

    Issue #185.

    Update RenderFunc to return a Widget.

    Issue #185.

    Derive a default column title from field name and tests.

    Issue #185.

    Replace if check with optional chaining.

    Issue #192.

    Be sure to destroy previous content when setting new.

    Issue #194.

    Bump version number.

  • v. 28 14/01/2024

    Remove explicit uid support.

    If a caller needs it, they can supply it.

    Issue #185.

    Support live data.

    Issue #185.

    Simplify Modal by always having content present.

    Similar to what we did for Layout.

    Issue #194.

    Bump version number.

  • v. 27 11/01/2024

    Give GridColumn an empty config in the test.

    Issue #185.

    Be sure to destroy previous panel when setting a new one.

    Issue #192.

    Bump version number.

  • v. 26 09/01/2024

    Initial rough out of a Grid widget.

    Issue #185.

    Bump version number.

  • v. 25 06/01/2024

    Implement Layout.#onDestroy().

    Issue #192.

    Export Layout.

    By no means complete, but, good enough for experimentation.

    Issue #192.

    Bump version number.

  • v. 24 05/01/2024

    Loop over panels rather than explicitly listing them.

    Issue #192.

    Bump version number.

  • v. 23 04/01/2024

    Initialize the panels to an empty string.

    Simplifies the code in #onBuild() quite a bit.

    Issue #192.

    Bump version number.

  • v. 22 03/01/2024

    Rename Layout.#panel to #panels.

    Issue #192.

    Make the panel constants opaque rather than strings.

    Issue #192.

    Bump version number.

  • v. 21 02/01/2024

    Add a test for ints with contentWrapper().

    Very rough initial Layout widget.

    Issue #192.

    Bump version number.

  • v. 20 16/12/2023

    Add descriptive text to some assertions.

    Issue #215.

    Bump version number.

  • v. 19 14/12/2023

    Add descriptive text to some assertions.

    Issue #215.

    Bump version number.

  • v. 18 04/12/2023

    Make use of new TestCase features in testing.

    Issue #183.

    JSDoc: Update some references to the new (or correct) location.

    Closes #214.

    Bump version number.

  • v. 17 27/11/2023

    Make use of the new TestCase.assertNoRaises() method.

    Issue #211.

    Bump version number.

  • v. 16 26/11/2023

    Briefly document aria-describedby in Modal.

    Issue #194.

    Bump version number.

  • v. 15 25/11/2023

    Verify Modal has exactly one of the mandatory ARIA attributes.

    Issue #194.

    Bump version number.

  • v. 14 24/11/2023

    JSDoc: Correct the documentation for a couple of methods.

    Issue #190.

    Implement a generic verification framework for Widgets.

    Currently automatically called after build() and before show() and users may call explicitly.

    Issue #194.

    Bump version number.

  • v. 13 23/11/2023

    Implement helper methods for adding HTML attributes to a Widget.

    Issue #194.

    eslint: Fixup for forthcoming newline-per-chained-call tweak.

    Issue #203.

    Bump version number.

  • v. 12 22/11/2023

    Rename ContentTestCase to ContentWrapperTestCase.

    Issue #191.

    Factor out the types that contentWrapper() accepts for reuse.

    Issue #191.

    Initial implementation of Modal.

    Issue #194.

    JSDoc: Correct some types.

    Issue #190.

    Bump version number.

  • v. 11 19/11/2023

    Implement ElementAdapter.

    Issue #191.

    Bump version number.

  • v. 10 18/11/2023

    Have contentWrapper() support Widget.

    It is a pass-thru, no wrapping.

    Issue #191.

    style-nudge: Right-place #private property.

    Darn regressions.

    Issue #197.

    Bump version number.

  • v. 9 17/11/2023

    Rename Content to StringAdapter.

    It will probably be easier to have one adapter per type, and a wrapper function to select them.

    Issue #191.

    Introduce contentWrapper().

    It will figure out the appropriate adapter to use for various types.

    Issue #191.

    Bump version number.

  • v. 8 16/11/2023

    Initial Content adapter than handles strings.

    Issue #191.

    Bump version number.

  • v. 7 15/11/2023

    Provide a way to install Widget styles on demand.

    Documents and demonstrates how to have a class specific style and make sure it is installed upon instantiation.

    Issue #190.

    Bump version number.

  • v. 6 12/11/2023

    Log that Widget.clear() is deprecated.

    Issue #190.

    JSDoc: Document that when replacing a widget, destroy the old one.

    Issue #190.

    Implement Widget.{show,hide}() methods and visible getter.

    Issue #190.

    Bump version number.

  • v. 5 10/11/2023

    Document how Widget subclasses should generally work.

    Issue #190.

    Implement Widget.{build,destroy}() methods.

    Issue #190.

    Emphasize that Widget needs to be subclassed.

    Issue #190.

    Tests for Widget.

    Issue #190.

    Bump version number.

Mostrar todas as versões do script