-
public final class ChannelListKt
-
-
Method Summary
Modifier and Type Method Description final static UnitChannelList(Modifier modifier, PaddingValues contentPadding, ChannelListViewModel viewModel, LazyListState lazyListState, Function0<Unit> onLastItemReached, Function1<Channel, Unit> onChannelClick, Function1<Channel, Unit> onChannelLongClick, Function1<Message, Unit> onSearchResultClick, Function0<Unit> onLoadingErrorClick, Function0<Unit> onStartChatClick)Default ChannelList component, that relies on the ChannelListViewModel to load the data and show it on the UI. final static UnitChannelList(ChannelsState channelsState, User currentUser, Modifier modifier, PaddingValues contentPadding, LazyListState lazyListState, Function0<Unit> onLastItemReached, Function1<Channel, Unit> onChannelClick, Function1<Channel, Unit> onChannelLongClick, Function1<Message, Unit> onSearchResultClick, Function0<Unit> onLoadingErrorClick, Function0<Unit> onStartChatClick)Root Channel list component, that represents different UI, based on the current channel state. -
-
Method Detail
-
ChannelList
@Composable() final static Unit ChannelList(Modifier modifier, PaddingValues contentPadding, ChannelListViewModel viewModel, LazyListState lazyListState, Function0<Unit> onLastItemReached, Function1<Channel, Unit> onChannelClick, Function1<Channel, Unit> onChannelLongClick, Function1<Message, Unit> onSearchResultClick, Function0<Unit> onLoadingErrorClick, Function0<Unit> onStartChatClick)
Default ChannelList component, that relies on the ChannelListViewModel to load the data and show it on the UI.
- Parameters:
modifier- Modifier for styling.contentPadding- Padding values to be applied to the channel list surrounding the content inside.viewModel- The ViewModel that loads all the data and connects it to the UI.lazyListState- State of the lazy list that represents the list of channels.onLastItemReached- Handler for pagination, when the user reaches the last item in the list.onChannelClick- Handler for a single item tap.onChannelLongClick- Handler for a long item tap.onSearchResultClick- Handler for a single search result tap.onLoadingErrorClick- Handler for the "Tap to retry" banner shown when loading the next page fails.onStartChatClick- Handler for the "Start a chat" button in the empty state.
-
ChannelList
@Composable() final static Unit ChannelList(ChannelsState channelsState, User currentUser, Modifier modifier, PaddingValues contentPadding, LazyListState lazyListState, Function0<Unit> onLastItemReached, Function1<Channel, Unit> onChannelClick, Function1<Channel, Unit> onChannelLongClick, Function1<Message, Unit> onSearchResultClick, Function0<Unit> onLoadingErrorClick, Function0<Unit> onStartChatClick)
Root Channel list component, that represents different UI, based on the current channel state.
This is decoupled from ViewModels, so the user can provide manual and custom data handling, as well as define a completely custom UI component for the channel item.
If there is no state, no query active or the data is being loaded, we show the LoadingIndicator.
If there are no results or we're offline, usually due to an error in the API or network, we show an EmptyContent.
If there is data available and it is not empty, we show Channels.
- Parameters:
channelsState- Current state of the Channel list, represented by ChannelsState.currentUser- The data of the current user, used various states.modifier- Modifier for styling.contentPadding- Padding values to be applied to the list surrounding the content inside.lazyListState- State of the lazy list that represents the list of channels.onLastItemReached- Handler for pagination, when the user reaches the end of the list.onChannelClick- Handler for a single item tap.onChannelLongClick- Handler for a long item tap.onSearchResultClick- Handler for a single search result tap.onLoadingErrorClick- Handler for the "Tap to retry" banner shown when loading the next page fails.onStartChatClick- Handler for the "Start a chat" button in the empty state.
-
-
-
-