NH_widget

Widgets for user interactions.

這裡只顯示彼此間有代碼差異的版本。 顯示所有版本。

  • v45 2024-03-04

    Initial build() support for Tabs.

    Issue #258.

    Migrate most modules to use base.Exception.

    Issue #259.

    Bump version number.

  • v44 2024-02-26

    JSDoc: Correct return type.

    Issue #185.

    Flesh out TabEntry a bit.

    Highly inspired by GridColumn and Layout.

    Issue #258.

    Bump version number.

  • v43 2024-02-25

    Initial rough out of a Tabs widget.

    Issue #258.

    Bump version number.

  • v42 2024-02-23

    Use thead/tbody elements to build a Grid.

    Issue #185.

    Minor indentation tweak.

    Bump version number.

  • v41 2024-02-19

    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.

  • v40 2024-02-18

    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.

  • v39 2024-02-16

    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.

  • v38 2024-02-14

    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.

  • v37 2024-02-12

    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.

  • v36 2024-02-08

    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.

  • v35 2024-02-02

    Make field a required property for GridColumn.

    Issue #185.

    Bump version number.

  • v34 2024-01-31

    Support per-row styling via CSS classes.

    Issue #185.

    Bump version number.

  • v33 2024-01-29

    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.

  • v32 2024-01-27

    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.

  • v31 2024-01-24

    Expose a GridColumn.render() method.

    Issue #185.

    Bump version number.

  • v30 2024-01-21

    Give each GridColumn instance a unique id.

    Issue #185.

    Bump version number.

  • v29 2024-01-17

    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.

  • v28 2024-01-14

    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.

  • v27 2024-01-11

    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.

  • v26 2024-01-09

    Initial rough out of a Grid widget.

    Issue #185.

    Bump version number.

  • v25 2024-01-06

    Implement Layout.#onDestroy().

    Issue #192.

    Export Layout.

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

    Issue #192.

    Bump version number.

  • v24 2024-01-05

    Loop over panels rather than explicitly listing them.

    Issue #192.

    Bump version number.

  • v23 2024-01-04

    Initialize the panels to an empty string.

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

    Issue #192.

    Bump version number.

  • v22 2024-01-03

    Rename Layout.#panel to #panels.

    Issue #192.

    Make the panel constants opaque rather than strings.

    Issue #192.

    Bump version number.

  • v21 2024-01-02

    Add a test for ints with contentWrapper().

    Very rough initial Layout widget.

    Issue #192.

    Bump version number.

  • v20 2023-12-16

    Add descriptive text to some assertions.

    Issue #215.

    Bump version number.

  • v19 2023-12-14

    Add descriptive text to some assertions.

    Issue #215.

    Bump version number.

  • v18 2023-12-04

    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.

  • v17 2023-11-27

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

    Issue #211.

    Bump version number.

  • v16 2023-11-26

    Briefly document aria-describedby in Modal.

    Issue #194.

    Bump version number.

  • v15 2023-11-25

    Verify Modal has exactly one of the mandatory ARIA attributes.

    Issue #194.

    Bump version number.

  • v14 2023-11-24

    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.

  • v13 2023-11-23

    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.

  • v12 2023-11-22

    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.

  • v11 2023-11-19

    Implement ElementAdapter.

    Issue #191.

    Bump version number.

  • v10 2023-11-18

    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.

  • v9 2023-11-17

    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.

  • v8 2023-11-16

    Initial Content adapter than handles strings.

    Issue #191.

    Bump version number.

  • v7 2023-11-15

    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.

  • v6 2023-11-12

    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.

  • v5 2023-11-10

    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.

  • v4 2023-11-09

    Add a Dispatcher to Widget and expose on()/off() methods.

    Currently there are no supported events. Those will be added later.

    Issue #190.

    Bump version number.

  • v3 2023-11-08

    Remove experimental support for w2ui.

    Issue #189.

    Bump version numbers.

  • v2 2023-11-04

    Experiment with using the w2ui library.

    Issue #185.

    Bump version numbers.

  • v1 2023-10-31

    Export the Widget base class.

    Originally the idea had been to keep it closed. But there might be needs to create app specific widgets that do not need to be in this library.

    Issue #167.

    Bump version numbers.

  • v0 2023-10-31
  • v0 2023-10-31 Imported from URL