Document the four removed client APIs and slotValue( ), and repoint every sample link at the flat src/ - #334
Merged
Merged
Conversation
Three constants left abap2UI5 and the pages that taught them follow. **Soft Keyboard is rewritten around the control instead of the action.** `cs_event-keyboard_set_mode` wrote the HTML `inputmode` attribute straight onto the input's DOM node, and UI5 throws that DOM away on every re-render — so the mode was lost by whatever redrew the field next, a model update on the same input included, with nothing reporting it. `z2ui5.cc.InputExt` carries `inputMode` as a bound property, written on every rendering. The page now teaches that, says why it is a property rather than an action, and carries a warning block naming the removed constant so somebody arriving from an older app finds the migration rather than a page that no longer mentions what they are looking for. Its `samples:` frontmatter drops the deleted `z2ui5_cl_smp_app_352` and adds `_530`. **The nav_container_to section becomes a removal.** The five constants never reached the frontend as events of their own — the backend rewrote each into `cs_event-control_by_id` with method `to` — so the migration is to write that call, which additionally reaches every other NavContainer method. The slot variants become the `view` parameter, and the one behaviour difference is stated rather than glossed: `cs_view-main` travels as the EMPTY slot where the constant injected the literal `MAIN`, which resolves across every open view and is therefore wider, never narrower. Also: `cs_event-keyboard_set_mode` is gone from the `cs_event` block the frontend page reproduces, and the deprecations table gains three rows — the two event families and the DDIC structure `Z2UI5_T_02`, which abap2UI5 removed because nothing had ever named it. The generated API reference (`resources/api.md`, `public/api/client-api.json`) is deliberately untouched: `check:api-reference` regenerates it from `z2ui5_if_client` on `main` and compares byte for byte, so it updates itself when the framework change merges. Editing it by hand would fail that gate. All fifteen gates pass except two that cannot run in this environment and say so themselves: `check:design` has no playground checkout to compare against, and `npm run build` fetches the playground sitemap, which this sandbox's proxy answers with 403. `docs:build`, `check:cross-site`, `check:samples`, `check:api-names` and `check:api-reference` all pass. Co-Authored-By: Claude Opus 5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_013QGx7T2k1n42yrvPfraLZW
…nt's removal The backend-event page had three ways to read something into an event argument — the control that fired, the event object, a bound model property — and no way to reach a *different* control. A new section says so and gives the form: `$controller.slotValue( slot, id, getter )`, with the dialog whose value the closing button has to carry as the example it exists for. Two things the section is explicit about, because both are easy to get wrong: the getter takes no arguments (calling a control is `cs_event-control_by_id`, which has a whitelist in front of it), and the helper never throws — an argument expression is evaluated while UI5 dispatches the handler, so one that throws loses the whole event rather than just the value. `cs_event-image_editor_popup_close` is added to the deprecations table with what replaces it. `getter` goes on the project vocabulary list: a word a developer writes that Hunspell does not carry. Co-Authored-By: Claude Opus 5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_013QGx7T2k1n42yrvPfraLZW
abap2UI5/samples moved every sample out of `src/01` into `src/` and deleted `src/00` with it, so a link to `blob/main/src/01/<class>.clas.abap` is a 404 the moment that lands. `npm run link:samples` rewrote the 48 generated "Working Samples" rows from the sibling checkout; the five hand-written prose links (one in the UI5 insight, four in the deprecations page) are fixed here by hand, which is what `check:samples` reported them as. Co-Authored-By: Claude Opus 5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_013QGx7T2k1n42yrvPfraLZW
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
What this changes
The manual half of two framework changes, plus the link repair the samples
restructure needs.
The removals.
cs_event-keyboard_set_mode, the five*_nav_container_toconstants,cs_event-image_editor_popup_closeand thereleased DDIC structure
z2ui5_t_02are gone from the framework. Four rows inresources/deprecations.mdwith the migration for each, and the two pages thattaught one of them are rewritten rather than annotated:
cookbook/browser_interaction/soft_keyboard.mdis now aboutz2ui5.cc.InputExtand its boundinputModeproperty, with a warning boxsaying what the old frontend action was and why it could not work (UI5 throws
the DOM away on every re-render, so the attribute was lost by whatever redrew
the field next).
cookbook/event_navigation/backend.mdgains A Control in Another ViewSlot:
$controller.slotById( )/$controller.slotValue( ), the new eventarguments that read a getter off a control in a named slot — the capability
that let
image_editor_popup_closebe removed instead of renamed.The links. abap2UI5/samples moved every sample out of
src/01intosrc/,so
blob/main/src/01/<class>.clas.abap404s the moment that lands.npm run link:samplesrewrote the 48 generated Working Samples rows from thesibling checkout; the five hand-written prose links (one in the UI5 insight,
four in the deprecations page) are fixed by hand, which is what
check:samplesreported them as.
Companion pull requests
slotValue( )How to test
All green. Two steps of
npm run checkcannot run in this sandbox and areunrelated to the change:
buildfetches the playground sitemap (403 throughthe proxy here), and
check:designrefuses to pass without the playgroundstylesheet to compare against.
🤖 Generated with Claude Code
https://claude.ai/code/session_013QGx7T2k1n42yrvPfraLZW
Generated by Claude Code