jsf.js_next_gen 4.1.0-beta.17 → 4.1.0-beta.18

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.
@@ -249,6 +249,30 @@ enqueues on separate instances to cancel each other's debounce window</li>
249
249
  <li>Added tests for ExtDomQuery (nonce DOM fallback, runHeadInserts text-node path) and ExtConfig (append, appendIf, deepCopy)</li>
250
250
  <li>Added tests for HiddenInputBuilder, Lang, and async queue</li>
251
251
  </ul>
252
+ <h2 id="410-beta17" class="tsd-anchor-link">4.1.0-beta.17<a href="#410-beta17" aria-label="Permalink" class="tsd-anchor-icon"><svg viewBox="0 0 24 24" aria-hidden="true"><use href="assets/icons.svg#icon-anchor"></use></svg></a></h2>
253
+ <ul>
254
+ <li>Bugfix: caret position regression on partial updates
255
+ <ul>
256
+ <li>After typing into an input that triggers an ajax request, the keyboard caret jumped to
257
+ the beginning of the field (e.g. typing <code>123</code> resulted in <code>321</code>). This regressed in
258
+ <code>mona-dish</code> <code>0.50.0-beta.3</code>'s caret restoration and is fixed there; the focused input now
259
+ keeps its caret whether a partial response re-renders a different component or the input
260
+ itself.</li>
261
+ </ul>
262
+ </li>
263
+ <li>Dependency update
264
+ <ul>
265
+ <li>Updated <code>mona-dish</code> to <code>0.50.0-beta.3</code></li>
266
+ </ul>
267
+ </li>
268
+ <li>Tests added
269
+ <ul>
270
+ <li>Added two protocol-level regression tests (<code>ResponseTest</code>) reproducing the Tobago
271
+ <code>&lt;tc:in&gt;</code>/<code>&lt;tc:out&gt;</code> scenario: typing <code>123</code> keeps the caret in order for both the
272
+ &quot;re-render only the output&quot; and the &quot;re-render the input itself&quot; cases.</li>
273
+ </ul>
274
+ </li>
275
+ </ul>
252
276
  <h2 id="410-beta16" class="tsd-anchor-link">4.1.0-beta.16<a href="#410-beta16" aria-label="Permalink" class="tsd-anchor-icon"><svg viewBox="0 0 24 24" aria-hidden="true"><use href="assets/icons.svg#icon-anchor"></use></svg></a></h2>
253
277
  <ul>
254
278
  <li>
@@ -306,4 +330,4 @@ enqueues on separate instances to cancel each other's debounce window</li>
306
330
  generative AI Tooling, as per <a href="https://www.apache.org/legal/generative-tooling.html">https://www.apache.org/legal/generative-tooling.html</a>
307
331
  disclosures now are added!
308
332
  See AI_CONTRIBUTIONS.md for full disclosure</p>
309
- </div></div><div class="col-sidebar"><div class="page-menu"><div class="tsd-navigation settings"><details class="tsd-accordion"><summary class="tsd-accordion-summary"><svg width="20" height="20" viewBox="0 0 24 24" fill="none" aria-hidden="true"><use href="assets/icons.svg#icon-chevronDown"></use></svg><h3>Settings</h3></summary><div class="tsd-accordion-details"><div class="tsd-filter-visibility"><span class="settings-label">Member Visibility</span><ul id="tsd-filter-options"><li class="tsd-filter-item"><label class="tsd-filter-input"><input type="checkbox" id="tsd-filter-inherited" name="inherited" checked/><svg width="32" height="32" viewBox="0 0 32 32" aria-hidden="true"><rect class="tsd-checkbox-background" width="30" height="30" x="1" y="1" rx="6" fill="none"></rect><path class="tsd-checkbox-checkmark" d="M8.35422 16.8214L13.2143 21.75L24.6458 10.25" stroke="none" stroke-width="3.5" stroke-linejoin="round" fill="none"></path></svg><span>Inherited</span></label></li></ul></div><div class="tsd-theme-toggle"><label class="settings-label" for="tsd-theme">Theme</label><select id="tsd-theme"><option value="os">OS</option><option value="light">Light</option><option value="dark">Dark</option></select></div></div></details></div><details open class="tsd-accordion tsd-page-navigation"><summary class="tsd-accordion-summary"><svg width="20" height="20" viewBox="0 0 24 24" fill="none" aria-hidden="true"><use href="assets/icons.svg#icon-chevronDown"></use></svg><h3>On This Page</h3></summary><div class="tsd-accordion-details"><a href="#🚀-scratchpad-for-the-typescript-based-reimplementation-of-jsfjs"><span>🚀 <wbr/>Scratchpad for the <wbr/>Type<wbr/>Script-<wbr/>based reimplementation of jsf.js</span></a><ul><li><a href="#what-is-this"><span>What is this?</span></a></li><li><a href="#status"><span>Status</span></a></li><li><ul><li><a href="#special-info"><span>Special <wbr/>Info</span></a></li><li><a href="#general-build"><span>General <wbr/>Build</span></a></li><li><ul><li><a href="#on-windows"><span>On <wbr/>Windows</span></a></li></ul></li><li><a href="#tests"><span>Tests</span></a></li><li><a href="#test-coverage"><span>Test <wbr/>Coverage</span></a></li><li><a href="#changelist-compared-to-the-original-implementation"><span>Changelist compared to the original implementation</span></a></li></ul></li><li><a href="#upload-support"><span>Upload <wbr/>Support</span></a></li><li><a href="#changes-since-40"><span>Changes since 4.0</span></a></li><li><a href="#changes-since-410-beta-10"><span>Changes since 4.1.0-<wbr/>beta-<wbr/>10</span></a></li><li><a href="#410-beta16"><span>4.1.0-<wbr/>beta.16</span></a></li><li><a href="#410-beta15"><span>4.1.0-<wbr/>beta.15</span></a></li><li><a href="#410-beta13-410-beta14"><span>4.1.0-<wbr/>beta.13 / 4.1.0-<wbr/>beta.14</span></a></li></ul></div></details></div><div class="site-menu"><nav class="tsd-navigation"><a href="modules.html">jsf.js_next_gen</a><ul class="tsd-small-nested-navigation" id="tsd-nav-container"><li>Loading...</li></ul></nav></div></div></div><footer><p class="tsd-generator">Generated using <a href="https://typedoc.org/" target="_blank">TypeDoc</a></p></footer><div class="overlay"></div></body></html>
333
+ </div></div><div class="col-sidebar"><div class="page-menu"><div class="tsd-navigation settings"><details class="tsd-accordion"><summary class="tsd-accordion-summary"><svg width="20" height="20" viewBox="0 0 24 24" fill="none" aria-hidden="true"><use href="assets/icons.svg#icon-chevronDown"></use></svg><h3>Settings</h3></summary><div class="tsd-accordion-details"><div class="tsd-filter-visibility"><span class="settings-label">Member Visibility</span><ul id="tsd-filter-options"><li class="tsd-filter-item"><label class="tsd-filter-input"><input type="checkbox" id="tsd-filter-inherited" name="inherited" checked/><svg width="32" height="32" viewBox="0 0 32 32" aria-hidden="true"><rect class="tsd-checkbox-background" width="30" height="30" x="1" y="1" rx="6" fill="none"></rect><path class="tsd-checkbox-checkmark" d="M8.35422 16.8214L13.2143 21.75L24.6458 10.25" stroke="none" stroke-width="3.5" stroke-linejoin="round" fill="none"></path></svg><span>Inherited</span></label></li></ul></div><div class="tsd-theme-toggle"><label class="settings-label" for="tsd-theme">Theme</label><select id="tsd-theme"><option value="os">OS</option><option value="light">Light</option><option value="dark">Dark</option></select></div></div></details></div><details open class="tsd-accordion tsd-page-navigation"><summary class="tsd-accordion-summary"><svg width="20" height="20" viewBox="0 0 24 24" fill="none" aria-hidden="true"><use href="assets/icons.svg#icon-chevronDown"></use></svg><h3>On This Page</h3></summary><div class="tsd-accordion-details"><a href="#🚀-scratchpad-for-the-typescript-based-reimplementation-of-jsfjs"><span>🚀 <wbr/>Scratchpad for the <wbr/>Type<wbr/>Script-<wbr/>based reimplementation of jsf.js</span></a><ul><li><a href="#what-is-this"><span>What is this?</span></a></li><li><a href="#status"><span>Status</span></a></li><li><ul><li><a href="#special-info"><span>Special <wbr/>Info</span></a></li><li><a href="#general-build"><span>General <wbr/>Build</span></a></li><li><ul><li><a href="#on-windows"><span>On <wbr/>Windows</span></a></li></ul></li><li><a href="#tests"><span>Tests</span></a></li><li><a href="#test-coverage"><span>Test <wbr/>Coverage</span></a></li><li><a href="#changelist-compared-to-the-original-implementation"><span>Changelist compared to the original implementation</span></a></li></ul></li><li><a href="#upload-support"><span>Upload <wbr/>Support</span></a></li><li><a href="#changes-since-40"><span>Changes since 4.0</span></a></li><li><a href="#changes-since-410-beta-10"><span>Changes since 4.1.0-<wbr/>beta-<wbr/>10</span></a></li><li><a href="#410-beta17"><span>4.1.0-<wbr/>beta.17</span></a></li><li><a href="#410-beta16"><span>4.1.0-<wbr/>beta.16</span></a></li><li><a href="#410-beta15"><span>4.1.0-<wbr/>beta.15</span></a></li><li><a href="#410-beta13-410-beta14"><span>4.1.0-<wbr/>beta.13 / 4.1.0-<wbr/>beta.14</span></a></li></ul></div></details></div><div class="site-menu"><nav class="tsd-navigation"><a href="modules.html">jsf.js_next_gen</a><ul class="tsd-small-nested-navigation" id="tsd-nav-container"><li>Loading...</li></ul></nav></div></div></div><footer><p class="tsd-generator">Generated using <a href="https://typedoc.org/" target="_blank">TypeDoc</a></p></footer><div class="overlay"></div></body></html>
@@ -2329,30 +2329,18 @@ class DomQuery {
2329
2329
  }
2330
2330
  return false;
2331
2331
  }
2332
- // from
2333
- // http:// blog.vishalon.net/index.php/javascript-getting-and-setting-caret-position-in-textarea/
2334
2332
  static getCaretPosition(ctrl) {
2335
- let caretPos = 0;
2336
2333
  try {
2334
+ // selectionStart is supported on text inputs/textareas in every relevant
2335
+ // browser (IE9+ and all modern engines)
2337
2336
  if (typeof (ctrl === null || ctrl === void 0 ? void 0 : ctrl.selectionStart) === "number") {
2338
- // modern browsers expose the caret position directly via selectionStart
2339
- caretPos = ctrl.selectionStart;
2340
- }
2341
- else if (document === null || document === void 0 ? void 0 : document.selection) {
2342
- // legacy IE fallback
2343
- ctrl.focus();
2344
- let selection = document.selection.createRange();
2345
- // the selection now is start zero
2346
- selection.moveStart('character', -ctrl.value.length);
2347
- // the caret-position is the selection start
2348
- caretPos = selection.text.length;
2337
+ return ctrl.selectionStart;
2349
2338
  }
2350
2339
  }
2351
2340
  catch (e) {
2352
- // now this is ugly, but not supported input types throw errors for selectionStart
2353
- // just in case someone dumps this code onto unsupported browsers
2341
+ // some input types throw on selectionStart access; treat as "no caret"
2354
2342
  }
2355
- return caretPos;
2343
+ return 0;
2356
2344
  }
2357
2345
  /**
2358
2346
  * sets the caret position
@@ -6925,7 +6913,7 @@ class Messages {
6925
6913
  /** @constant */
6926
6914
  this.ERR_TRANSPORT = "Transport type {0} does not exist";
6927
6915
  /** @constant */
6928
- this.ERR_EVT_PASS = "an event must be passed down (either a an event object null or undefined) ";
6916
+ this.ERR_EVT_PASS = "an event must be passed down (either an event object null or undefined) ";
6929
6917
  /** @constant */
6930
6918
  this.ERR_CONSTRUCT = "Parts of the response couldn't be retrieved when constructing the event data= {0} ";
6931
6919
  /** @constant */
@@ -7172,7 +7160,7 @@ class AsyncRunnable {
7172
7160
  }
7173
7161
  /**
7174
7162
  * registers a finally functor
7175
- * @param func the functor for the finally handling chanin
7163
+ * @param func the functor for the finally handling chain
7176
7164
  */
7177
7165
  finally(func) {
7178
7166
  // no ie11 support we probably are going to revert to shims for that one
@@ -7527,6 +7515,21 @@ __webpack_require__.r(__webpack_exports__);
7527
7515
  /* harmony import */ var mona_dish__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! mona-dish */ "./node_modules/mona-dish/src/main/typescript/index_core.ts");
7528
7516
  /* harmony import */ var _ExtDomQuery__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./ExtDomQuery */ "./src/main/typescript/impl/util/ExtDomQuery.ts");
7529
7517
  /* harmony import */ var _core_Const__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ../core/Const */ "./src/main/typescript/impl/core/Const.ts");
7518
+ /*! Licensed to the Apache Software Foundation (ASF) under one or more
7519
+ * contributor license agreements. See the NOTICE file distributed with
7520
+ * this work for additional information regarding copyright ownership.
7521
+ * The ASF licenses this file to you under the Apache License, Version 2.0
7522
+ * (the "License"); you may not use this file except in compliance with
7523
+ * the License. You may obtain a copy of the License at
7524
+ *
7525
+ * http://www.apache.org/licenses/LICENSE-2.0
7526
+ *
7527
+ * Unless required by applicable law or agreed to in writing, software
7528
+ * distributed under the License is distributed on an "AS IS" BASIS,
7529
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
7530
+ * See the License for the specific language governing permissions and
7531
+ * limitations under the License.
7532
+ */
7530
7533
 
7531
7534
 
7532
7535
 
@@ -8003,6 +8006,21 @@ __webpack_require__.r(__webpack_exports__);
8003
8006
  /* harmony export */ XhrQueueController: () => (/* binding */ XhrQueueController)
8004
8007
  /* harmony export */ });
8005
8008
  /* harmony import */ var _Lang__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./Lang */ "./src/main/typescript/impl/util/Lang.ts");
8009
+ /*! Licensed to the Apache Software Foundation (ASF) under one or more
8010
+ * contributor license agreements. See the NOTICE file distributed with
8011
+ * this work for additional information regarding copyright ownership.
8012
+ * The ASF licenses this file to you under the Apache License, Version 2.0
8013
+ * (the "License"); you may not use this file except in compliance with
8014
+ * the License. You may obtain a copy of the License at
8015
+ *
8016
+ * http://www.apache.org/licenses/LICENSE-2.0
8017
+ *
8018
+ * Unless required by applicable law or agreed to in writing, software
8019
+ * distributed under the License is distributed on an "AS IS" BASIS,
8020
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
8021
+ * See the License for the specific language governing permissions and
8022
+ * limitations under the License.
8023
+ */
8006
8024
 
8007
8025
  const debounce = _Lang__WEBPACK_IMPORTED_MODULE_0__.ExtLang.debounce;
8008
8026
  /**
@@ -9802,7 +9820,7 @@ class XhrRequest extends _util_AsyncRunnable__WEBPACK_IMPORTED_MODULE_0__.AsyncR
9802
9820
  appendIssuingItem(formData) {
9803
9821
  var _a, _b;
9804
9822
  const issuingItemId = this.internalContext.getIf(_core_Const__WEBPACK_IMPORTED_MODULE_7__.CTX_PARAM_SRC_CTL_ID).value;
9805
- //to avoid sideffects with buttons we only can append the issuing item if no behavior event is set
9823
+ //to avoid side effects with buttons we only can append the issuing item if no behavior event is set
9806
9824
  //MYFACES-4679!
9807
9825
  const eventType = (_b = (_a = formData.getIf((0,_core_Const__WEBPACK_IMPORTED_MODULE_7__.$nsp)(_core_Const__WEBPACK_IMPORTED_MODULE_7__.P_BEHAVIOR_EVENT)).value) === null || _a === void 0 ? void 0 : _a[0]) !== null && _b !== void 0 ? _b : null;
9808
9826
  const isBehaviorEvent = !!eventType && eventType !== 'click';