Register participants as operators
Operators can register other channel participants as operators through the OpenChannelRegisterOperatorFragment
. All channel participants are listed through pagination and participants who are already an operator can't be registered.
Usage
You can start building a Register participants as operators screen by first creating a fragment. To do so, call the createOpenChannelRegisterOperatorFragment
method. Once the fragment is built, you need to set up the navigation props and register the screen to a navigation library. Refer to the code below.
List of properties
The following table lists the properties of OpenChannelRegisterOperatorFragment
.
Properties
Required | Type | Description |
---|---|---|
channel | object | Specifies the open channel that the current user is a participant of. |
onPressHeaderLeft | function | Specifies the prop to execute a custom navigation operation when the button on the top left corner of the header component is selected. By default, the screen goes back to the previous screen. |
onPressHeaderRight | function | Specifies the prop to execute a custom navigation operation when the button on the top right corner of the header component is selected. By default, the list of operators for open channel screen appears. |
Optional | Type | Description |
---|---|---|
renderUser | function | Renders a customized view of the user profile. |
sortComparator | function | Specifies the function to sort a list of users in the register participants as operators screen. You can customize the sorting order by passing users as a parameter in the method. |
Context
OpenChannelRegisterOperatorFragment
uses UserListModule
to display a list of participants of a channel. To store and handle data that are used to build the user list screen, Sendbird Chat UIKit provides UserListContexts
, which is comprised of two context objects: Fragment
and List
.
Fragment
To retrieve user list data from the Chat SDK, you need to call the useContext
hook and pass UserListContexts.Fragment
as a parameter. The data is then used to render the user list module.
List
You can call the useContext
hook and pass UserListContexts.List
as a parameter to retrieve user list data from the Chat SDK. The data is then used to render the list component of UserListModule
.
Module components
A register participants as operators screen is composed of five module components: header, list, loading status, empty status, and error status. These components make up the UserListModule
and are used to create and display the UI of the screen.
Header
The header component displays the title of OpenChannelRegisterOperatorFragment
, a button on the top left corner, and a button on the top right corner. By default, the left button allows you to go back to the previous screen and when selected, the onPressHeaderLeft
navigation prop is called. When the add button on the right is selected, the selected users are registered as operator to the channel. The onPressHeaderRight
function is called and the operator list screen appears.
List of properties
The following table lists the properties of UserListModule.Header
.
Property name | Type | Description |
---|---|---|
onPressHeaderLeft | function | Specifies the prop to execute a custom navigation operation when the button on the top left corner of the header component is selected. By default, the screen goes back to the previous screen. |
onPressHeaderRight | function | Specifies the prop to execute a custom navigation operation when the button on the top right corner of the header component is selected. By default, the function passes the selected users as a parameter to register them as operators of the channel and the channel gets updated. |
List
The list component shows a list of users' profile images, names, and selectable checkboxes. By default, all participants of the channel are listed.
List of properties
The following table lists the properties of UserListModule.List
.
Property name | Type | Description |
---|---|---|
users | array of objects | Specifies a list of all users that appear on the user list. |
onLoadNext | function | Specifies the prop to execute custom operations when loading more user list items. |
onRefresh | function | Specifies the prop to execute custom operations when refreshing the user list. |
refreshing | boolean | Determines whether the user list is refreshing or not after |
ListEmptyComponent | ReactElement | Renders a customized view of the empty user list. |
renderUser | function | Renders a customized view of the user profile. |
StatusLoading
The StatusLoading
component lets the user know if the participant list is loading.
StatusEmpty
The StatusEmpty
component lets the user know if the list is empty.
StatusError
The StatusError
component lets the user know if the list fetching has failed.
Customization
In the register as operator key function, you can customize the default OpenChannelRegisterOperatorFragment
to change various elements of the screen such as the module and its components. See the code below on how to replace the default header component with a custom header component in OpenChannelRegisterOperatorFragment
as an example.
Note: To learn more about how to customize a fragment, go to the Fragment page.