(e: MouseEvent | KeyboardEvent)
| 216 | } |
| 217 | |
| 218 | _selectItem(e: MouseEvent | KeyboardEvent) { |
| 219 | const target = e.target as SegmentedButtonItem; |
| 220 | const isTargetSegmentedButtonItem = target.hasAttribute("ui5-segmented-button-item"); |
| 221 | |
| 222 | if (target.disabled || target === this.getDomRef() || !isTargetSegmentedButtonItem) { |
| 223 | return; |
| 224 | } |
| 225 | |
| 226 | // Check if preventDefault was called on the native event (e.g., by item's semantic click handler) |
| 227 | if (e.defaultPrevented) { |
| 228 | return; |
| 229 | } |
| 230 | |
| 231 | switch (this.selectionMode) { |
| 232 | case SegmentedButtonSelectionMode.Multiple: |
| 233 | target.selected = !target.selected; |
| 234 | break; |
| 235 | default: |
| 236 | this._applySingleSelection(target as unknown as ISegmentedButtonItem); |
| 237 | } |
| 238 | |
| 239 | this.fireDecoratorEvent("selection-change", { |
| 240 | selectedItems: this.selectedItems, |
| 241 | }); |
| 242 | |
| 243 | this._itemNavigation.setCurrentItem(target); |
| 244 | |
| 245 | return this; |
| 246 | } |
| 247 | |
| 248 | _applySingleSelection(item: ISegmentedButtonItem) { |
| 249 | this.items.forEach(currentItem => { |
no test coverage detected