@@ -377,20 +377,25 @@ export class VocabularyTreeviewService {
377377 ] ) . pipe (
378378 mergeMap ( ( [ rootNode , list ] ) => {
379379 tempList = list ;
380+ let newPageInfo : PageInfo ;
380381
381382 const childNodes : TreeviewNode [ ] = list . page . map ( ( entryDetail : VocabularyEntryDetail ) => this . _generateNode ( entryDetail , selectedItems ) ) ;
382383
383384 if ( ( tempList . pageInfo . currentPage + 1 ) <= tempList . pageInfo . totalPages ) {
384385 // Need a new load more node
385- const newPageInfo : PageInfo = Object . assign ( new PageInfo ( ) , tempList . pageInfo , {
386+ newPageInfo = Object . assign ( new PageInfo ( ) , tempList . pageInfo , {
386387 currentPage : tempList . pageInfo . currentPage + 1
387388 } ) ;
388389 const loadMoreNode = new TreeviewNode ( LOAD_MORE_NODE , false , newPageInfo ) ;
389390 loadMoreNode . updatePageInfo ( newPageInfo ) ;
390391 childNodes . push ( loadMoreNode ) ;
391392 }
392-
393- return this . getNodeHierarchy ( rootNode , selectedItems , childNodes ) ;
393+ return this . getNodeHierarchy ( rootNode , selectedItems , childNodes ) . pipe (
394+ map ( node => {
395+ node . updatePageInfo ( newPageInfo ) ;
396+ return node ;
397+ } ) ,
398+ ) ;
394399 } )
395400 ) . subscribe ( hierarchy => {
396401 nodes . push ( hierarchy ) ;
@@ -421,7 +426,7 @@ export class VocabularyTreeviewService {
421426 if ( isNotEmpty ( children ) ) {
422427 const newChildren = children
423428 . filter ( ( entry : TreeviewNode ) => {
424- return findIndex ( node . children , ( nodeEntry ) => nodeEntry . item . otherInformation . id === entry . item . otherInformation . id ) === - 1 ;
429+ return findIndex ( node . children , ( nodeEntry ) => nodeEntry . item . otherInformation ? .id === entry . item . otherInformation ? .id ) === - 1 ;
425430 } ) ;
426431 newChildren . forEach ( ( entry : TreeviewNode ) => {
427432 entry . loadMoreParentItem = node . item ;
0 commit comments