Skip to content

Releases: Patternslib/Patterns

Release 9.9.6-alpha.3

16 Oct 10:55
Compare
Choose a tag to compare
Release 9.9.6-alpha.3 Pre-release
Pre-release

9.9.6-alpha.3 (2023-10-16)

Features

  • core events: remove_event_listener - support removal by id and all at once. (2e78439)

    Previously registered events can now be removed by a matching id with no
    element given, like:
    remove_event_listener(undefined, "my-event-id");
    When called with no parameters like "remove_event_listener()" all
    registered events are removed.

  • core events: remove_event_listener - support wildcard ids. (b2d0651)

    The id parameter can be a wildcard string, e.g. test-*-event, which
    would match any event which starts with "test-" and ends with "-event".
    The wildcard "*" can be anywhere in the string and also be used multiple
    times. If no wildcard is present the search string is used for an exact
    match.

  • core utils: regexp_from_wildcard - Create regular expressions from wildcard strings. (4cf724a)

    This utility can be used for search strings with wildcards like "test-*-xyz".
    The wildcard can be at the beginning, somewhere in the middle or at the
    end and multiple wildcards can be used.
    This method was factored out from removeWildcardClass for broader usage.

Bug Fixes

  • core events: Fix references in add_event_listener and remove_event_listener. (7dd9aff)

    add_event_listener and remove_event_listener did incorrectly use an
    object instead of a map to store element references. This is now fixed.

  • core events: Fixes for remove_event_listener. (c2caf48)

    • Fix removing all events on a given element.
  • Clean up the event registry after removing events.
  • pat checklist: Fix incorrect usage of the dispatch method. (0e6eb01)

    This fixes a performance problem with pat-checklist.

  • pat-inject: Don't submit forms with invalid data. (a0fa4d2)

    Fix a problem with pat-inject and pat-validation where forms with
    invalid data could be submitted and the submit button wasn't inactive.
    The problem was fixed in two ways:

  • pat-inject now has a check for browser-native form validation. Invalid
    forms would not be submitted.

  • pat-inject now waits a tick before it get's initialized. Modern
    BasePattern based patterns including pat-validation are all deferred
    for 1 tick by design. pat-inject, being and older Pattern isn't
    deferred and thus initialized before pat-inject. It's initialized
    before pat-validation even though we have some Pattern initialization
    reorganization code in place - pat-inject not being deferred will have
    it's event handlers always run before any others. But now, with the
    1-tick defer in place, pat-inject's event handlers are run in the
    correct order - after pat-validation form validation which in case of
    an invalid form would also deactivate the submit button.

Maintenance

  • core utils: Dispatch - document postpone parameter. (cd7822c)

    Better document the postpone parameter of the dispatch method.

  • pat checklist: Infinite scrolling example. (18ac157)

    Add infinite scrolling example to demonstrate a performance problem
    which is solved by in this release.

  • pat checklist: Use Patternslib event factory. (e12aaac)

    Use Patternslib core event factory for the change event.

  • pat checklist: Use Patternslib event listeners. (69831f3)

    Change to Patternslib core event listeners to avoid double registration
    and allow better unregistration.

This fixes a performance problem with pat-checklist.

Release 9.9.6-alpha.2

30 Aug 14:20
Compare
Choose a tag to compare
Release 9.9.6-alpha.2 Pre-release
Pre-release

9.9.6-alpha.2 (2023-08-30)

Maintenance

  • Upgrade pat-tiptap with new tiptap version. (f0c2602)

Release 9.9.6-alpha.1

30 Aug 13:53
Compare
Choose a tag to compare
Release 9.9.6-alpha.1 Pre-release
Pre-release

9.9.6-alpha.1 (2023-08-30)

Breaking Changes

  • pat-scroll: Remove implicit and unpreventable scroll support for pat-stacks. (92e1e6b)

    With a pat-scroll as parent of a pat-stacks enabled navigation anchors,
    the page would scroll to the target configured for pat-scroll. This
    behavior could not be prevented and led to unwanted effects when using
    pat-stacks inside pat-collapsible which itself uses pat-scroll when
    configured properly.

This commit removes the scrolling support for pat-stacks within
pat-scroll in favor of an explicit and configurable scrolling behavior
in pat-stacks itself.

Features

  • core dom: Add dom.element_uuid to get/set an uuid to a DOM node. (a7e5de1)

  • pat stacks: Add a destroy method to unregister event handlers. (8479cfa)

  • pat-stacks: Add configurable scroll support. (a8aae63)

    Add "scroll-selector" and "scroll-offset" arguments to pat-stacks,
    likewise as in pat-collapsible. "scroll-selector" accepts a CSS selector
    string or the special values "self" to scroll to the element itself and
    "none" to block any scrolling behavior from parent pat-stacks configuration
    options.

With these configuration options you can control the scrolling behavior
for pat-stacks on a fine-grained level.

Maintenance

  • pat-stacks: Adapt code to Patternslib standards. (2f95379)

  • Upgrade dependencies. (9bd50b8)

Release 9.9.6-alpha.0

11 Aug 18:58
Compare
Choose a tag to compare
Release 9.9.6-alpha.0 Pre-release
Pre-release

9.9.6-alpha.0 (2023-08-11)

Bug Fixes

  • pat-ajax: Support anchors without a href attribute and forms without an action attribute. (099da3c)

    The URL can still be set via the data-pat-ajax attribute.
    This fixes a problem where pat-inject enabled forms without an action attribute
    but a submit button with a formaction attribute would break.

  • pat-inject: For submit buttons with a formaction, do not call ajax.onClickSubmit twice. (22d814f)

  • pat-inject: Support submit buttons without a type attribute. (6882f45)

Maintenance

  • core parser: Adapt code to Patternslib standards. (9079a47)

  • pat-ajax: Improve the default function from the url argument to not use jQuery. (bb8ce9d)

Release 9.9.5

28 Jul 00:12
Compare
Choose a tag to compare

9.9.5 (2023-07-28)

Bug Fixes

  • pat-close-panel: Do not prevent closing for formnovalidate buttons. (1272ac5)

    Do not prevent closing of panels when a form with invalid data is
    submitted when a button with the formnovalidate attribute is pressed.
    This is useful for cases where a "cancel" button actually needs to
    submit to roll back any changes which were already made.

  • pat-collapsible: Allow to explicitly clear the scroll selector. (9c99a2e)

    In case of nested pat-collapsible elements, child elements inherit the
    options from parent elements, including the scroll-selector. If the
    child element should do no scrolling, it needs to explicitly be reset.
    This can be done by adding th following options to the collapsible data
    attribute:
    data-pat-collapsible="scroll-selector: none"

Maintenance

  • Dependencies: Upgrade dependencies. (a46de2e)

  • pat-validation: Improve documentation - based on HTML standards, CSS‌ pseudo classes, formnovalidate buttons. (daab725)

Release 9.9.4

29 May 23:33
Compare
Choose a tag to compare

9.9.4 (2023-05-29)

Maintenance

  • Upgrade to @patternslib/dev 3.3.5 which fixes an incorrect release-it hook config. (e909e34)

Release 9.9.3

29 May 22:52
Compare
Choose a tag to compare

9.9.3 (2023-05-29)

Maintenance

  • Upgrade to @patternslib/dev 3.3.4 (61b3c56)

    This fixes the wrong version number comment in the package-included build files.

Release 9.9.2

29 May 08:17
Compare
Choose a tag to compare

9.9.2 (2023-05-29)

Maintenance

  • Upgrade to @patternslib/dev 3.3.3 (35c63df)

    This fixes a missing build in npm releases.
    Now you can again use jsdelivr and unpkg.

Release 9.9.1

23 May 21:28
Compare
Choose a tag to compare

9.9.1 (2023-05-23)

Release 9.9.1-alpha.0

23 May 16:33
Compare
Choose a tag to compare
Release 9.9.1-alpha.0 Pre-release
Pre-release

9.9.1-alpha.0 (2023-05-23)

Bug Fixes

  • pat inject: Second attempt to fix the scrolling behavior, where the scrolling target could not be found. (829a6a6)

    The original problem fixed in commit 911b8b8
    for 9.9.0-beta.1 addressed a problem where the scroll target was not a
    direct child of the injected content but some levels deeper. But this
    fix broke the situation where the scroll target is a direct child of the
    injected content. The fix applied here handles both situations.