react-native-context-center
Version:
React native package for Impekable context center customer app
43 lines (36 loc) • 1.3 kB
JavaScript
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;