diff options
Diffstat (limited to 'app/assets/javascripts/ide/stores/getters.js')
-rw-r--r-- | app/assets/javascripts/ide/stores/getters.js | 19 |
1 files changed, 19 insertions, 0 deletions
diff --git a/app/assets/javascripts/ide/stores/getters.js b/app/assets/javascripts/ide/stores/getters.js index 53734fa626b..b8304a9b68d 100644 --- a/app/assets/javascripts/ide/stores/getters.js +++ b/app/assets/javascripts/ide/stores/getters.js @@ -6,6 +6,7 @@ import { PERMISSION_CREATE_MR, PERMISSION_PUSH_CODE, } from '../constants'; +import Api from '~/api'; export const activeFile = state => state.openFiles.find(file => file.active) || null; @@ -174,3 +175,21 @@ export const getAvailableFileName = (state, getters) => path => { return newPath; }; + +export const getUrlForPath = state => path => + `/project/${state.currentProjectId}/tree/${state.currentBranchId}/-/${path}/`; + +export const getJsonSchemaForPath = (state, getters) => path => { + const [namespace, ...project] = state.currentProjectId.split('/'); + return { + uri: + // eslint-disable-next-line no-restricted-globals + location.origin + + Api.buildUrl(Api.projectFileSchemaPath) + .replace(':namespace_path', namespace) + .replace(':project_path', project.join('/')) + .replace(':ref', getters.currentBranch?.commit.id || state.currentBranchId) + .replace(':filename', path), + fileMatch: [`*${path}`], + }; +}; |