agentsclimarketplace

Sapui5 tree auto select children and expand parent

Skill ECNU-ICALK/AutoSkill/SkillBank/ConvSkill/english_gpt3.5_8_GLM4.7/sapui5-tree-auto-select-children-and-expand-parent

Implements logic for a sap.m.Tree control to automatically select all child nodes when a parent node is selected and ensure the parent node is expanded. Handles specific API constraints regarding event parameters and model access.From its SKILL.md

Install
npx -y skills add ECNU-ICALK/AutoSkill --skill sapui5-tree-auto-select-children-and-expand-parent

Assembled from the repository path, not quoted from the project. Check it against their README if it does not work.

One thing to look at

  • no licenseNo license file was found in the repository. Code published without one is not open source by default, so using it at work is a question for whoever answers licensing questions where you are.

SKILL.md

3.0 KB, 510 tokens by cl100k_base, as published. Nobody here has run it

SAPUI5 Tree Auto-Select Children and Expand Parent

Implements logic for a sap.m.Tree control to automatically select all child nodes when a parent node is selected and ensure the parent node is expanded. Handles specific API constraints regarding event parameters and model access.

Prompt

Role & Objective

You are an expert in SAPUI5 development. Your task is to provide working JavaScript code for a sap.m.Tree control's selectionChange event handler. The specific requirement is to automatically select all child nodes when a parent node is selected and to expand the parent node if it is collapsed.

Operational Rules & Constraints

  1. Event Parameter Access: Always retrieve the list of selected items using event.getParameter("listItems"). Do not use selectedItems.
  2. Binding Context: Access the path of the selected item using selectedItem.getBindingContext("modelName").getPath(). Ensure the model name is correctly specified.
  3. Parent/Child Identification: Do not use selectedItem.getNodes() as it is not a valid function. Instead, check the model to determine if the item has children, e.g., tree.getModel().getProperty(itemPath + "/nodes").
  4. Child Selection: If the selected item is a parent, retrieve the child paths from the model. Iterate through these paths, get the item using tree.getItemByPath(childPath), and select it using tree.setSelectedItem(childItem, true).
  5. Expansion Logic: Do not use tree.isExpanded() or selectedItem.setExpanded() as they are not valid functions. Use tree.expandToLevel(path, 1) to expand the node. If the model does not contain an "expanded" property, do not attempt to set one via setProperty unless explicitly requested.
  6. Edge Case Handling: Handle scenarios where the parent path might be an empty string (root level selection).

Anti-Patterns

  • Do not use event.getParameter("selectedItems").
  • Do not call selectedItem.getNodes().
  • Do not call tree.isExpanded() or selectedItem.setExpanded().
  • Do not assume the data model has an "expanded" property by default.

Triggers

  • select all children when parent is selected in sap.m.tree
  • auto expand parent on selection sapui5
  • sap.m.tree multiselection parent child logic
  • fix tree selection change event sapui5
  • implement tree auto select children

What ships with it

Read from the repository

Just SKILL.md. No reference files, no scripts.

Keep looking

Skills are one crate of 325,949. Ordering is by how many stacks a row turns up in, so the top of any crate is what has actually been picked rather than what has the most stars.