UNPKG

react-native-context-center

Version:

React native package for Impekable context center customer app

43 lines (36 loc) 1.3 kB
import {NativeModules} from 'react-native'; const { CCPaginator } = NativeModules; import ClientChannel from './ClientChannel'; import ChatMember from './ChatMember'; class Paginator{ constructor(sid, type, paginator) { this.sid = sid; this.type = type; this.hasNextPage = paginator.hasNextPage; let items = []; if (type === 'Channel' || type === 'ChannelDescriptor') { items = paginator.items.map(item => new ClientChannel(item)); } else { items = paginator.items.map(item => new ChatMember(item)); } this.items = items; } nextPage() { if (this.hasNextPage) { if (this.type === 'Channel') { return CCPaginator.requestNextPage(this.sid).then(this._returnNewPaginator); } else if (this.type === 'ChannelDescriptor') { return CCPaginator.requestNextPageChannelDescriptors(this.sid).then(this._returnNewPaginator); } else { return CCPaginator.requestNextPageMembers(this.sid).then(this._returnNewPaginator); } } } _returnNewPaginator({ sid, type, paginator }) { console.log('_returnNewPaginator :',sid) return new Paginator(sid, type, paginator); } } export default Paginator;