Skip to main content

The Custom Collection component for Retool Mobile

A repeatable set of components with values that map to a list of data.

Settings

Custom Collection includes the following configurable options when building apps in the IDE.

ElevationDataEvent handlersGapShow on desktopShow on mobileMaintain space when hiddenMarginPrimary keyEnable server side paginationPagination typeAlways show in edit modeShow separatorStyles

Properties

All properties for Custom Collection with supported data types or values. You can write JavaScript almost anywhere in Retool to manipulate or read property values.

afterCursor

string

The cursor to reference in a request for the next set of data.


The card style to use.

Values
flat

No border or shadow.

elevated

Include a border and shadow.


data

any[]

The source data.


events

object[]

A list of configured event handlers that trigger actions or queries.

Properties

event

enum

The event type. Refer to the events section for a list of supported events.


method

enum

The JavaScript method to perform when type is datasource, widget, state, or localStorage.


The type of action to perform.

Values
datasource

Control query.

widget

Control component.

script

Run script.

state

Set variable.

localStorage

Set localStorage.

util

Perform utility action (e.g., Open URL or Confetti).



gap

enum

The gap between components.

Values
0
4
8
12
16
24
32
48
64
128
256

global

boolean

Whether the object is globally scoped for use in all app pages.


boolean

Whether the component is visible.


id

string

The unique identifier.


instances

number

The number of instances.


Whether the component is visible in the desktop layout.


Whether the component is visible in the mobile layout.


Whether the component takes up space on the canvas if hidden is true.


The amount of margin to render outside.

Values
4px 8px

Normal margin.

0

No margin.


numRows

number

The number of rows displayed.


offset

The offset.


padding

number

The amount of padding to render inside.


pageSize

number

The number of rows per page.


pagination

object

The pagination state.

Properties

afterCursor

string

The cursor to reference in a request for the next set of data.


beforeCursor

string

The cursor to reference in a request for the previous set of data.


currentPage

number

The selected page.


offset

number

The page offset.


pageSize

number

The number of rows per page.


selectedPageIndex

number

The selected page, by index.


Whether to use server-side pagination.


The type of server-side pagination in use.

Values
limitOffsetBased

Limit offset based.

cursorBased

GraphQL Relay cursor based.



pluginType

string

The plugin type.


The primary key with which to identify records.


selectedIndex

number

The selected value, by index.


selectedItem

object

The selected item.


selectedPageIndex

number

The selected page, by index.


Whether to use server-side pagination.


The type of server-side pagination in use.

Values
limitOffsetBased

Limit offset based.

cursorBased

GraphQL Relay cursor based.


Whether to remain visible in the editor if hidden is true.


Whether the show a separating line betweeen items.


style

object

Custom style options in use. Not all style options may be available for all components.


Methods

JavaScript API methods for interacting with Custom Collection. You can write JavaScript almost anywhere in Retool and use methods to manipulate data and property values.

setHidden

Set the hidden value to toggle whether the component is visible. Defaults to true without a parameter.

customCollection.setHidden(hidden)
Parameters

boolean

Whether the component is visible.



setSelectedPageIndex

Set the selected page index.

customCollection.setSelectedPageIndex(index)
Parameters

index

number

The index of an item.



Events

Events are triggered by user interactions, such as clicking a button or entering a value. Use event handlers to trigger queries or other actions in response to events.

press

The item is clicked or pressed.