diff --git a/docs/guides/migration.en.md b/docs/guides/migration.en.md index 23d498a074..084e61db6e 100644 --- a/docs/guides/migration.en.md +++ b/docs/guides/migration.en.md @@ -1215,6 +1215,33 @@ Three fixes with nothing to migrate: the pane carries `role="tooltip"` and the t Reported by `tooltip-pointer-events-and-types`, which reports the _absence_ of the input: a file that renders `kbqTooltip` and never writes `ignoreTooltipPointerEvents` is exactly the file whose behavior changed. +#### Tree + +The tree moved its inputs and its query members to signals. Six members that used to be writable are getters now — over a `computed()`, over an `InputSignal`, or over an `asObservable()` view of a `Subject`. + +**An unmigrated write does not merely stop compiling.** Assigning to a getter-only property throws `TypeError: Cannot set property … which has only a getter` in strict mode, and an ES module is always strict, so it throws at runtime in any build that skips type checking. + +| Member | Was | Is | +| ------------------------------------------ | ------------------------------ | -------------------------------------- | +| `KbqTreeNodeToggle.disabled` | `@Input()` accessor pair | getter over a `computed()` | +| `KbqTreeBase.nodeDefs` | `QueryList>` | `Signal[]>` | +| `KbqTreeNodePadding.indent` | accessor pair | `InputSignal` | +| `KbqTreeNodePadding.indentUnits` | writable field | getter derived from `indent` | +| `KbqTreeNodeToggleBaseDirective.recursive` | accessor pair | `InputSignalWithTransform` | +| `KbqTreeOption.onFocus` / `onBlur` | `Subject` | `Observable` | + +| Pattern | Manual migration | +| ------------------------------------------------- | ---------------------------------------------------------------------------------- | +| `.disabled = …` | Bind the `disabled` attribute; it still reaches the toggle through `disabledInput` | +| `.recursive` | Read `recursive()`; bind `kbqTreeNodeToggleRecursive` | +| `nodeDefs.changes` / `.length` / `.toArray()` / … | Read `nodeDefs()`; replace the subscription with an `effect` | +| `.indent` / `.indentUnits` | Read `indent()`; bind `kbqTreeNodePaddingIndent` | +| `