@@ -26,17 +26,27 @@ export class OneDriveService extends FileBrowserService {
26
26
/**
27
27
* Gets files from OneDrive personal library
28
28
*/
29
- public getListItems = async ( libraryName : string , folderPath ?: string , acceptedFilesExtensionsList ?: string ) : Promise < FilesQueryResult > => {
29
+ public getListItems = async ( libraryName : string , folderPath ?: string , acceptedFilesExtensionsList ?: string , nextPageQueryStringParams ?: string ) : Promise < FilesQueryResult > => {
30
30
let filesQueryResult : FilesQueryResult = { items : [ ] , nextHref : null } ;
31
31
try {
32
32
const oneDriveRootFolder = await this . getOneDriveRootFolderFullUrl ( ) ;
33
33
const encodedListUrl = encodeURIComponent ( oneDriveRootFolder ) ;
34
34
35
+ let queryStringParams = "" ;
35
36
folderPath = folderPath ? folderPath : this . oneDriveRootFolderRelativeUrl ;
36
37
const encodedFolderPath = encodeURIComponent ( folderPath ) ;
37
38
38
- const restApi : string = `${ this . context . pageContext . web . absoluteUrl } /_api/SP.List.GetListDataAsStream?listFullUrl='${ encodedListUrl } '&RootFolder=${ encodedFolderPath } ` ;
39
+ if ( nextPageQueryStringParams ) {
40
+ // Remove start ? from the query params
41
+ if ( nextPageQueryStringParams . charAt ( 0 ) === "?" ) {
42
+ nextPageQueryStringParams = nextPageQueryStringParams . substring ( 1 ) ;
43
+ }
44
+ queryStringParams = nextPageQueryStringParams ;
45
+ } else {
46
+ queryStringParams = `RootFolder=${ encodedFolderPath } ` ;
47
+ }
39
48
49
+ const restApi = `${ this . context . pageContext . web . absoluteUrl } /_api/SP.List.GetListDataAsStream?listFullUrl='${ encodedListUrl } '&${ queryStringParams } ` ;
40
50
filesQueryResult = await this . _getListDataAsStream ( restApi , null , acceptedFilesExtensionsList ) ;
41
51
} catch ( error ) {
42
52
filesQueryResult . items = null ;
@@ -81,7 +91,7 @@ export class OneDriveService extends FileBrowserService {
81
91
this . oneDriveRootFolderRelativeUrl = `${ myDocumentsLibrary . ParentWebUrl } /${ myDocumentsLibrary . Title } ` ;
82
92
this . oneDriveRootFolderAbsoluteUrl = `${ this . oneDrivePersonalUrl } ${ myDocumentsLibrary . Title } ` ;
83
93
} catch ( error ) {
84
- console . error ( `[FileBrowserService.getOneDrivePersonalUrl] Err='${ error . message } '` )
94
+ console . error ( `[FileBrowserService.getOneDrivePersonalUrl] Err='${ error . message } '` ) ;
85
95
this . oneDriveRootFolderAbsoluteUrl = null ;
86
96
}
87
97
return this . oneDriveRootFolderAbsoluteUrl ;
@@ -104,7 +114,7 @@ export class OneDriveService extends FileBrowserService {
104
114
/**
105
115
* Gets personal site path.
106
116
*/
107
- protected getOneDrivePersonalUrl = async ( ) : Promise < string > => {
117
+ private getOneDrivePersonalUrl = async ( ) : Promise < string > => {
108
118
try {
109
119
// Return result if already obtained
110
120
if ( this . oneDrivePersonalUrl ) {
@@ -125,7 +135,7 @@ export class OneDriveService extends FileBrowserService {
125
135
126
136
this . oneDrivePersonalUrl = profileData . FollowPersonalSiteUrl ;
127
137
} catch ( error ) {
128
- console . error ( `[FileBrowserService.getOneDrivePersonalUrl] Err='${ error . message } '` )
138
+ console . error ( `[FileBrowserService.getOneDrivePersonalUrl] Err='${ error . message } '` ) ;
129
139
this . oneDrivePersonalUrl = null ;
130
140
}
131
141
return this . oneDrivePersonalUrl ;
0 commit comments