Skip to content

Commit

Permalink
FilePicker stopped working after #724 fix
Browse files Browse the repository at this point in the history
  • Loading branch information
AJIXuMuK committed Nov 30, 2020
1 parent 56d7e01 commit 056c6d9
Show file tree
Hide file tree
Showing 2 changed files with 29 additions and 2 deletions.
26 changes: 26 additions & 0 deletions src/common/utilities/GeneralHelper.ts
Original file line number Diff line number Diff line change
Expand Up @@ -325,3 +325,29 @@ export class GeneralHelper {
return o[c];
}
}

export function urlCombine(urlStart: string, urlFinish: string, escapeFinish: boolean = true): string {
let url = urlStart;
if (url.lastIndexOf('/') === url.length - 1) {
url = url.slice(0, -1);
}
if (urlFinish) {
if (escapeFinish) {
const escapeFunc = (str: string) => {
return encodeURIComponent(unescape(str))
.replace(/[!'()*]/g, escape)
.replace(/\./g, '%2E');
};

urlFinish = urlFinish.split('/').map(escapeFunc).join('/');
}

if (urlFinish.indexOf('/') !== 0) {
urlFinish = `/${urlFinish}`;
}

url += urlFinish;
}

return url;
}
Original file line number Diff line number Diff line change
Expand Up @@ -12,6 +12,7 @@ import { IFilePickerResult, FilePickerBreadcrumbItem } from '../FilePicker.types

import styles from './SiteFilePickerTab.module.scss';
import * as strings from 'ControlStrings';
import { urlCombine } from '../../../common/utilities';

export default class SiteFilePickerTab extends React.Component<ISiteFilePickerTabProps, ISiteFilePickerTabState> {
constructor(props: ISiteFilePickerTabProps) {
Expand All @@ -28,7 +29,7 @@ export default class SiteFilePickerTab extends React.Component<ISiteFilePickerTa
this.state = {
filePickerResult: null,
libraryAbsolutePath: undefined,
libraryUrl: '/Shared%20Documents',
libraryUrl: urlCombine(props.context.pageContext.web.serverRelativeUrl, '/Shared%20Documents'),
libraryPath: undefined,
folderName: strings.DocumentLibraries,
breadcrumbItems: [breadcrumbSiteNode]
Expand Down Expand Up @@ -182,7 +183,7 @@ export default class SiteFilePickerTab extends React.Component<ISiteFilePickerTa
}
this.setState({
libraryAbsolutePath: library.absoluteUrl,
libraryUrl: library.webRelativeUrl,
libraryUrl: library.serverRelativeUrl,
libraryPath: library.serverRelativeUrl,
breadcrumbItems
});
Expand Down

0 comments on commit 056c6d9

Please sign in to comment.