unpoly-rails 2.5.0 → 2.5.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.

Potentially problematic release.


This version of unpoly-rails might be problematic. Click here for more details.

@@ -8,7 +8,7 @@
8
8
  @module up
9
9
  */
10
10
  window.up = {
11
- version: '2.5.0'
11
+ version: '2.5.1'
12
12
  };
13
13
 
14
14
 
@@ -6903,12 +6903,13 @@ up.Layer.Overlay = class Overlay extends up.Layer {
6903
6903
  }
6904
6904
  }
6905
6905
  registerClickCloser(attribute, closeFn) {
6906
+ let selector = `[${attribute}]`;
6906
6907
  // Allow the fallbacks to be both vanilla links and Unpoly [up-target] links
6907
- this.on('up:click', `[${attribute}]`, function (event) {
6908
+ this.on('up:click', selector, function (event) {
6908
6909
  // Since we're defining this handler on up.Overlay, we will not prevent
6909
6910
  // a link from being followed on the root layer.
6910
6911
  up.event.halt(event);
6911
- const origin = event.target;
6912
+ const origin = event.target.closest(selector);
6912
6913
  const value = e.jsonAttr(origin, attribute);
6913
6914
  const closeOptions = { origin };
6914
6915
  const parser = new up.OptionsParser(closeOptions, origin);
@@ -19531,10 +19532,13 @@ up.link = (function () {
19531
19532
  })
19532
19533
  ```
19533
19534
 
19534
- ### Cancelation is forwarded
19535
+ ### Cancelation
19535
19536
 
19536
- If the user cancels an `up:click` event using `event.preventDefault()`,
19537
- the underlying `click` or `mousedown` event will also be canceled.
19537
+ You may cancel an `up:click` event using `event.preventDefault()`.
19538
+
19539
+ Canceling `up:click` on a hyperlink will prevent any Unpoly from [following](/a-up-follow) that link.
19540
+
19541
+ The underlying `click` or `mousedown` event will also be canceled.
19538
19542
 
19539
19543
  ### Accessibility
19540
19544
 
@@ -19553,6 +19557,8 @@ up.link = (function () {
19553
19557
  The clicked element.
19554
19558
  @param {Event} event.originalEvent
19555
19559
  The underlying `click` or `mousedown` event.
19560
+ @param event.preventDefault()
19561
+ Prevents this event and also the original `click` or `mousedown` event.
19556
19562
  @stable
19557
19563
  */
19558
19564
  /*-
@@ -19608,6 +19614,14 @@ up.link = (function () {
19608
19614
 
19609
19615
  See [Handling all links and forms](/handling-everything).
19610
19616
 
19617
+ ### Preventing Unpoly from following links
19618
+
19619
+ To prevent Unpoly from following an `a[up-follow]` link, use one of the following options:
19620
+
19621
+ - Prevent the `up:link:follow` event on the link element
19622
+ - Prevent the `up:click` event on the link element
19623
+ - Set an `[up-follow=false]` attribute on the link element
19624
+
19611
19625
  @selector a[up-follow]
19612
19626
 
19613
19627
  @param [up-navigate='true']
@@ -20956,6 +20970,9 @@ up.form = (function () {
20956
20970
  /*-
20957
20971
  Show or hide elements when a form field is set to a given value.
20958
20972
 
20973
+ When the controlling form field gets an `up-switch` attribute, and that form field is nested inside a `<form>`
20974
+ parent, the targets elements must also be inside that same `<form>` parent.
20975
+
20959
20976
  ### Example: Select options
20960
20977
 
20961
20978
  The controlling form field gets an `up-switch` attribute with a selector for the elements to show or hide:
@@ -21034,6 +21051,26 @@ up.form = (function () {
21034
21051
  </div>
21035
21052
  ```
21036
21053
 
21054
+ ### Example: Radio button
21055
+
21056
+ ```html
21057
+ <input type="radio" name="advancedness" value="basic" up-switch=".target">
21058
+ <input type="radio" name="advancedness" value="advanced" up-switch=".target">
21059
+ <input type="radio" name="advancedness" value="very-advanced" up-switch=".target">
21060
+
21061
+ <div class="target" up-show-for="basic">
21062
+ only shown for advancedness = basic
21063
+ </div>
21064
+
21065
+ <div class="target" up-hide-for="basic">
21066
+ hidden for advancedness = basic
21067
+ </div>
21068
+
21069
+ <div class="target" up-show-for="advanced very-advanced">
21070
+ shown for advancedness = advanced or very-advanced
21071
+ </div>
21072
+ ```
21073
+
21037
21074
  @selector input[up-switch]
21038
21075
  @param up-switch
21039
21076
  A CSS selector for elements whose visibility depends on this field's value.