Skip to content

Commit d2fe9d1

Browse files
committed
Fix #1023 - issue with root site and default folder path
1 parent f957409 commit d2fe9d1

File tree

1 file changed

+19
-2
lines changed

1 file changed

+19
-2
lines changed

src/controls/filePicker/SiteFilePickerTab/SiteFilePickerTab.tsx

Lines changed: 19 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -60,21 +60,33 @@ export default class SiteFilePickerTab extends React.Component<ISiteFilePickerTa
6060
// folderServRelPath: "/teams/Test/DocLib/Folder"
6161
let folderServRelPath = folderAbsPath && folderAbsPath.substr(folderAbsPath.indexOf(webServRelUrl));
6262

63+
// folderAbsPath: "https://tenant.sharepoint.com/DocLib/Folder"
64+
if (webServRelUrl === "/") {
65+
folderServRelPath = folderAbsPath && folderAbsPath.split(webAbsUrl)[1];
66+
}
67+
6368
// folderWebRelPath: "/DocLib/Folder"
6469
let folderWebRelPath = folderServRelPath && folderServRelPath.substr(webServRelUrl.length);
6570
let libInternalName = folderWebRelPath && folderWebRelPath.substring(1, Math.max(folderWebRelPath.indexOf("/", 2), 0) || undefined);
71+
if (webServRelUrl === "/") {
72+
libInternalName = folderWebRelPath && folderWebRelPath.substring(0, Math.max(folderWebRelPath.indexOf("/", 2), 0) || undefined);
73+
}
6674

6775
// libraryServRelUrl: "/teams/Test/DocLib/"
6876
let libraryServRelUrl = urlCombine(webServRelUrl, libInternalName);
6977

7078
let tenantUrl = folderAbsPath.substring(0, folderAbsPath.indexOf(webServRelUrl));
79+
if (webAbsUrl === "/") {
80+
tenantUrl = webAbsUrl;
81+
}
7182
let folderBreadcrumbs: FilePickerBreadcrumbItem[] = this.parseBreadcrumbsFromPaths(
7283
libraryServRelUrl,
7384
folderServRelPath,
7485
folderWebRelPath,
7586
webAbsUrl,
7687
tenantUrl,
77-
libInternalName
88+
libInternalName,
89+
webServRelUrl
7890
);
7991

8092
return { libraryServRelUrl, folderServRelPath, folderAbsPath, folderBreadcrumbs };
@@ -86,7 +98,8 @@ export default class SiteFilePickerTab extends React.Component<ISiteFilePickerTa
8698
folderWebRelPath: string,
8799
webAbsUrl: string,
88100
tenantUrl: string,
89-
libInternalName: string
101+
libInternalName: string,
102+
webServRelUrl: string
90103
) {
91104
this._defaultLibraryNamePromise = this.props.fileBrowserService.getLibraryNameByInternalName(libInternalName);
92105
let folderBreadcrumbs: FilePickerBreadcrumbItem[] = [];
@@ -104,6 +117,10 @@ export default class SiteFilePickerTab extends React.Component<ISiteFilePickerTa
104117

105118
if (folderServRelPath != libraryServRelUrl) {
106119
let folderLibRelPath = folderWebRelPath.substring(libInternalName.length + 2);
120+
if (webServRelUrl === "/") {
121+
folderLibRelPath = folderWebRelPath.substring(libInternalName.length + 1);
122+
}
123+
107124
let breadcrumbFolderServRelPath = libraryServRelUrl;
108125

109126
let crumbs: FilePickerBreadcrumbItem[] = folderLibRelPath.split("/").map((currFolderName => {

0 commit comments

Comments
 (0)