Skip to content

09 Launchpad: smart link popover with getLinks (Z2UI5_CL_SMPS_APP_026) - #105

Merged
oblomov-dev merged 1 commit into
mainfrom
claude/friendly-fermat-thzz4r
Oct 26, 2026
Merged

oblomov-dev merged 1 commit into
mainfrom
claude/friendly-fermat-thzz4r

Conversation

@oblomov-dev

Copy link
Copy Markdown
Member

A sample for cs_event-cross_app_nav_get_links, the frontend action added in abap2UI5/abap2UI5#2948.

What it shows

Z2UI5_CL_SMPS_APP_026 is a list of products whose IDs are links, like a smart link in Fiori elements:

  1. A press calls follow_up_action( cs_event-cross_app_nav_get_links ) with three arguments: the semantic object from an input field, the row's PRODUCT and QUANTITY as intent parameters, and LINKS_READ as the callback event.
  2. The LINKS_READ handler reads intent, text and subTitle out of the JSON array by hand. This follows the inbound JSON rule in building-apps.md, since there is no released parser.
  3. It lists the intents in a popover next to the pressed link, using popover_display( by_id = … ) with ${$source>/id}.
  4. A press on an entry navigates there with cross_app_nav_to_ext and {"shellHash":"<intent>"} as target.

The default semantic object is Z2UI5_CL_LP_SAMPLE_04, the semantic object of the receiver Z2UI5_CL_SMPS_APP_484. The target mapping that src/09/README.md already sets up is therefore all the sample needs. The popover lists the receiver, which then shows the product and quantity of the pressed row. Started standalone, the sample shows the same message box as Z2UI5_CL_SMPS_APP_481 to _483.

The sample needs abap2UI5 newer than 1.148.0.

Changes

  • src/09/z2ui5_cl_smps_app_026.clas.abap and .clas.xml: the new sample, with ABAP Doc, @keywords and @summary
  • src/z2ui5_cl_smps_app_000.clas.abap: overview entry in t_launchpad
  • src/09/README.md: a sample table row and a section "Asking the launchpad which apps there are"
  • SAMPLES.md, catalogue.json and catalogue-derived.json: regenerated

How it was tested

  • abaplint: 0 issues on main (v757). For src/09, also 0 issues at v740sp08, the release the 09-launchpad branch is linted at, and at Cloud.
  • abap2ui5lint --no-render: 0 errors and 0 warnings. One hint remains, handler-without-event for LINKS_READ. It is raised by the frontend, as a comment in the handler says.
  • These checks pass: check:overview, check:keywords, check:titles, check:abapdoc, check:samples-md, check:catalogue, check:derived, check:app-rules, check:atc, check:prose, check:pin and check:released-api.
  • Not tested: the headless render gate, which needs the UI5 runtime, and a run inside a real launchpad.

Generated by Claude Code

A list of products whose ids are links. A press asks the launchpad which
apps the user may open for the semantic object with the row's PRODUCT and
QUANTITY - follow_up_action( cs_event-cross_app_nav_get_links ), new in
abap2UI5/abap2UI5#2948 - and lists the intents it answers in a popover
next to the pressed link; an entry navigates there with
cross_app_nav_to_ext and the hash as shellHash target.

The default semantic object is the receiver's (Z2UI5_CL_SMPS_APP_484), so
the target mapping the package README already sets up is all it needs.
Overview entry, package README, SAMPLES.md, catalogue.json and
catalogue-derived.json updated.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01K3bNqUpvnY4AaHZaKTrgNW
@oblomov-dev
oblomov-dev merged commit e426bf6 into main Oct 26, 2026
30 checks passed
@oblomov-dev
oblomov-dev deleted the claude/friendly-fermat-thzz4r branch October 26, 2026 09:57
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant