Skip to content

ptcs-list-shuttle

Visual

Overview

A ptcs-list-shuttle allows the user to select items from a source list and move it to a target list, where the items can be rearranged. Items in the target list can be moved back to the source list.

The list-shuttle supports both single and multiple selection mode. The source-list can be filtered.

Usage Examples

Basic Usage

<ptcs-list-shuttle items="[[itemsIn]]" selected-items="[[itemsOut]]></ptcs-list>

Single selection list shuttle

<ptcs-list single-select ...></ptcs-list>

List shuttle that hides the search filter

<ptcs-list hide-filter ...></ptcs-list>

Component API

Properties

Property Type Description Default Triggers a changed event?
addLabel String Label for the add button "Add"
disabled Boolean Is the list-shuttle disabled? false
hideFilter Boolean Hide the source-list search filter?
idSelector Any Selects a string from each item in items as the identifier for each list item. If unassigned, the 'selector' acts as the identifier. If a string then items should be an array of objects, where idSelector specifies the (string) property to use as a unique identifier. If a function, then the function is called with each item and should return a string that represents the item
items Array A Javascript array with the list data. [ ]
label String Title label for the list shuttle ""
labelAlignment String Alignment of the "main" label.possible options are 'left', 'center' and 'right'. "left"
labelType String Variant to use for the "main" label. possible options are 'label', 'header', 'sub-header', and 'body'. "label"
labelUp String Label for the move up button "Up"
labelDown String Label for the move down button "Down"
removeLabel String Label for the remove button "Remove"
selectedItems Array The subset of the items in items that occurs in the target list [ ] Yes
selector Any Selects a string from each item in items to be displayed as the list item label. If unassigned, items should be an array of strings. If a string then items should be an array of objects, where selector specifies the (string) property to display. If a function, then the function is called with each item and should return a string that represents the item
singleSelect Boolean Use single (true) or multiple (false) selection mode in the lists? false
selectAllLabel String Label for selecting all of the source / target list items "Select All"
clearSelectedItemsLabel String Label for clearing the source / target list items selection "Clear Selected Items"
sourceLabel String Label for the source list "Source"
sourceLabelAlignment String Alignment of the source list label. possible options are 'left', 'center' and 'right'. "left"
sourceLabelType String Variant to use for the label above the source list. possible options are 'label', 'header', 'sub-header', and 'body'. "label"
sourceFilter String The current text in the source-list search filter. "" Yes
targetLabel String Label for the target list "Target"
targetLabelType String Variant to use for the label above the target list. possible options are 'label', 'header', 'sub-header', and 'body'. label
targetLabelAlignment String Alignment of the target list label. possible options are 'left', 'center' and 'right'. "left"
externalValidity String The component's validity as determined externally (server-side). Value: undefined, unvalidated, invalid, or valid No
required Boolean If true, the target list must contain at least one item. false No
requiredMessage String The message to display when required target list item(s) is missing. No
targetListMaxItems Number The maximum number of target list items. No
targetListMaxItemsFailureMessage String The error message when the number of target item(s) exceeds limit targetListMaxItems. No
targetListMinItems Number The minimum number of target list items. No
targetListMinItemsFailureMessage String The error message when the number of target item(s) is less than targetListMinItems. No
hideValidationCriteria Boolean Don't show a hint message about the required selection in unvalidated state? false
hideValidationError Boolean Don't show a failure message when the validation failed? false
hideValidationSuccess Boolean Don't show a success message when the validation is successful? false
validationCriteria String A secondary message that displays more information about the validation failure/criteria message.
validationCriteriaIcon String An icon to display within the criteria status message (unvalidated). "cds:icon_info"
validationErrorIcon String An icon to display within the status message when the validation fails (invalid). "cds:icon_error" No
validationOutput String Reflects the internal validition (Value: undefined, unvalidated, invalid, or valid) Yes
validationMessage String The validation (title) message to display when the validation is in invalid state. No
validationSuccessDetails String A secondary message that displays more information about the validation success message.
validationSuccessIcon String An icon to display within the status message when the validation succeeds (valid). "cds:icon_success"
validationSuccessMessage String The message (title) to display when the validation is successful.

Styling

State attributes

Attribute Description Part
disabled Is list-shuttle disabled? :host
vertical Is the list-shuttle in vertical mode (lists stacked on top of each other) or in horizontal mode (lists side-by-side)? :host

Parts

Part Description
add-button The add button
button Part name used on all buttons
buttons Button container (= source-buttons and target-buttons)
down-button The down button
head Container for the title label
label The shuttle title label
remove-button The remove button
source-buttons Container for the button associated to the source list
source-list The source list
source-list-parent Container for the source list (previously 'source-list-container')
target-buttons Container for the buttons associated to the target list
target-list The target list
target-list-parent Container for the target list (previously 'target-list-container')
up-button The up button

Note: A part name collision of the imported source and target lists has caused a part name change. The list has a part list-container and the part import process adds a prefix to imported list parts (source- and target-, respectively), causing a clash with the earlier ptcs-list-shuttle part names for the list containers.