25 lines
823 B
JavaScript
25 lines
823 B
JavaScript
import { visitUrl, webIDEUrl } from '~/lib/utils/url_utility';
|
|
|
|
/**
|
|
* Takes a project path and optional file path and branch
|
|
* and then redirects the user to the web IDE.
|
|
*
|
|
* @param {string} projectPath - Full path to project including namespace (ex. flightjs/Flight)
|
|
* @param {string} filePath - optional path to file to be edited, otherwise will open at base directory (ex. README.md)
|
|
* @param {string} branch - optional branch to open the IDE, defaults to 'main'
|
|
*/
|
|
|
|
export const openWebIDE = (projectPath, filePath, branch = 'main') => {
|
|
if (!projectPath) {
|
|
throw new TypeError('projectPath parameter is required');
|
|
}
|
|
|
|
const pathnameSegments = [projectPath, 'edit', branch, '-'];
|
|
|
|
if (filePath) {
|
|
pathnameSegments.push(filePath);
|
|
}
|
|
|
|
visitUrl(webIDEUrl(`/${pathnameSegments.join('/')}/`));
|
|
};
|