haori 0.44.0 → 0.45.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.
- package/README.ja.md +5 -4
- package/README.md +5 -4
- package/dist/haori.cjs.js +14 -14
- package/dist/haori.es.js +1311 -1030
- package/dist/haori.iife.js +14 -14
- package/dist/index.d.ts +90 -1
- package/package.json +1 -1
package/dist/index.d.ts
CHANGED
|
@@ -1753,6 +1753,27 @@ declare class ElementFragment extends Fragment {
|
|
|
1753
1753
|
* @return 戻り値はありません。
|
|
1754
1754
|
*/
|
|
1755
1755
|
private static warnUnresolvedAttribute;
|
|
1756
|
+
/**
|
|
1757
|
+
* 型の食い違う厳密比較を報告済みの宣言。
|
|
1758
|
+
* 再評価ごとに警告すると開発コンソールが埋まるため、同じ宣言は一度だけ報告する。
|
|
1759
|
+
*/
|
|
1760
|
+
private static readonly loggedTypeMismatchedComparisons;
|
|
1761
|
+
/**
|
|
1762
|
+
* 開発モードで、型の食い違う厳密比較を警告します。
|
|
1763
|
+
*
|
|
1764
|
+
* `===` / `!==` の両辺の型が違うと、値が同じでも比較は必ず偽になります。API 由来
|
|
1765
|
+
* の数値の `id` と、フォームの収集値(文字列)を比べる宣言で起きやすく、
|
|
1766
|
+
* `data-attr-selected` / `data-attr-checked` では「選択やチェックが付かない」、
|
|
1767
|
+
* その他の `data-attr-*` では「属性が消える」という形でしか現れません。原因の
|
|
1768
|
+
* 属性とテンプレート、両辺の型を名指しで報告します。
|
|
1769
|
+
*
|
|
1770
|
+
* @param rawName 生の属性名
|
|
1771
|
+
* @param template 宣言されたテンプレート
|
|
1772
|
+
* @param types 両辺の型
|
|
1773
|
+
* @param element 対象エレメント
|
|
1774
|
+
* @return 戻り値はありません。
|
|
1775
|
+
*/
|
|
1776
|
+
private static warnTypeMismatchedComparison;
|
|
1756
1777
|
/**
|
|
1757
1778
|
* チェック状態の宣言バインドについて、再適用を抑止すべきかを判定します。
|
|
1758
1779
|
*
|
|
@@ -1862,6 +1883,24 @@ declare class ElementFragment extends Fragment {
|
|
|
1862
1883
|
* @returns 同期対象の場合true
|
|
1863
1884
|
*/
|
|
1864
1885
|
static isValuePropertyTarget(element: Element): element is HTMLInputElement | HTMLTextAreaElement | HTMLSelectElement;
|
|
1886
|
+
/**
|
|
1887
|
+
* 利用者が打鍵で値を変えられる入力欄かどうかを判定します。
|
|
1888
|
+
*
|
|
1889
|
+
* `readonly` の欄は打鍵で値が変わらないため、宣言バインドの再適用から守るべき
|
|
1890
|
+
* 未コミットの入力を持ちません。それでいて `disabled` と違いタブ移動の対象には
|
|
1891
|
+
* なるため、フォーカスを保護の条件にすると「算出値を入れた欄がタブ移動の行き先に
|
|
1892
|
+
* なっただけで評価結果に追従しなくなる」ことになります。そこで `readonly` の欄は
|
|
1893
|
+
* 保護の対象外とします(仕様「`data-attr-*`」)。
|
|
1894
|
+
*
|
|
1895
|
+
* `<select>` に `readonly` はないため常に編集できる扱いです。`disabled` も対象に
|
|
1896
|
+
* しません。`disabled` の要素はフォーカスされないため保護に掛かる経路が無く、
|
|
1897
|
+
* 「編集した欄を送信中だけ `disabled` にする」使い方で入力を評価結果へ巻き戻して
|
|
1898
|
+
* しまう恐れがあるためです。
|
|
1899
|
+
*
|
|
1900
|
+
* @param element 判定対象のエレメント
|
|
1901
|
+
* @returns 利用者が打鍵で値を変えられる場合 true
|
|
1902
|
+
*/
|
|
1903
|
+
private static isUserEditableValue;
|
|
1865
1904
|
/**
|
|
1866
1905
|
* 内部の値をDOMの値と同期します。
|
|
1867
1906
|
* changeイベント時など、DOM値が変更された後に呼び出されます。
|
|
@@ -2447,6 +2486,56 @@ export declare class Form {
|
|
|
2447
2486
|
* @returns 収集キー。どちらも無い場合は null
|
|
2448
2487
|
*/
|
|
2449
2488
|
static resolveFieldName(fragment: ElementFragment): unknown;
|
|
2489
|
+
/**
|
|
2490
|
+
* 行の入力欄のうち、新しい要素データと値が食い違う収集キーに属するものだけ、
|
|
2491
|
+
* ユーザー編集の印を解除します。
|
|
2492
|
+
*
|
|
2493
|
+
* 行への `data-{event}-copy` で使います。コピーが優先するのは**コピーしたキー**
|
|
2494
|
+
* なので(仕様「編集可能な行への書き込み」)、行の印を丸ごと解除すると、コピー
|
|
2495
|
+
* していないキーの編集まで宣言バインドの評価結果へ明け渡してしまいます。評価が
|
|
2496
|
+
* 要素データと食い違う構成(数値の `id` と文字列の収集値を厳密比較する
|
|
2497
|
+
* `data-attr-selected` など)では、その欄の確定した編集が静かに消えます。
|
|
2498
|
+
*
|
|
2499
|
+
* 判定は**行の収集値と新しい要素データの突き合わせ**で行います。コピーしたキーは
|
|
2500
|
+
* 値が変わるため食い違い、コピーしていないキーは編集がすでに要素データへ確定して
|
|
2501
|
+
* いるため一致します。要素データが変わらない書き戻し(入力欄の状態が要素データへ
|
|
2502
|
+
* 確定していない構成)でも、画面と食い違うキーだけが対象になります。
|
|
2503
|
+
*
|
|
2504
|
+
* @param row 行のフラグメント
|
|
2505
|
+
* @param item 新しい要素データ
|
|
2506
|
+
* @returns 戻り値はありません。
|
|
2507
|
+
*/
|
|
2508
|
+
static clearRowUserEditMarksForChangedKeys(row: ElementFragment, item: Record<string, unknown>): void;
|
|
2509
|
+
/**
|
|
2510
|
+
* 収集値と要素データの値が同じ内容かどうかを判定します。
|
|
2511
|
+
*
|
|
2512
|
+
* 直列化できない値(循環参照など)は「違う」と扱います。
|
|
2513
|
+
*
|
|
2514
|
+
* @param left 比較元の値
|
|
2515
|
+
* @param right 比較先の値
|
|
2516
|
+
* @returns 同じ内容なら true
|
|
2517
|
+
*/
|
|
2518
|
+
private static isSameCollectedValue;
|
|
2519
|
+
/**
|
|
2520
|
+
* 指定した収集キーに属する部分木のユーザー編集の印を解除します。
|
|
2521
|
+
*
|
|
2522
|
+
* @param fragment 走査中のフラグメント
|
|
2523
|
+
* @param row 行のフラグメント(収集キーの起点)
|
|
2524
|
+
* @param keys 対象の収集キー
|
|
2525
|
+
* @returns 戻り値はありません。
|
|
2526
|
+
*/
|
|
2527
|
+
private static clearUserEditMarksForKeys;
|
|
2528
|
+
/**
|
|
2529
|
+
* 行の中の要素が属する、収集値の**最上位**キーを返します。
|
|
2530
|
+
*
|
|
2531
|
+
* 行から要素までの間にある `data-form-object` / `data-form-list` と `name`
|
|
2532
|
+
* (`data-form-name`)のうち、行に最も近いものが最上位キーです。
|
|
2533
|
+
*
|
|
2534
|
+
* @param fragment 対象フラグメント
|
|
2535
|
+
* @param row 行のフラグメント
|
|
2536
|
+
* @returns 最上位の収集キー。無い場合は null
|
|
2537
|
+
*/
|
|
2538
|
+
private static resolveRowTopLevelKey;
|
|
2450
2539
|
/**
|
|
2451
2540
|
* `data-form-name` の初期化を行います。
|
|
2452
2541
|
*
|
|
@@ -4143,7 +4232,7 @@ declare interface ValueChangeOrigin {
|
|
|
4143
4232
|
* リリース時に `package.json` と揃えて更新します(`tests/version.test.ts` が
|
|
4144
4233
|
* 一致を検査します)。
|
|
4145
4234
|
*/
|
|
4146
|
-
export declare const version = "0.
|
|
4235
|
+
export declare const version = "0.45.1";
|
|
4147
4236
|
|
|
4148
4237
|
/**
|
|
4149
4238
|
* すべてのレンダリングタスク(追従投入分を含む)の完了を待ちます。
|