Merge pull request #290 from SELab-2/fix/verbeteringen-eigen-leerpaden
fix: Kleine verbeteringen omtrent eigen leerpaden
This commit is contained in:
commit
98ac8ab5a7
1 changed files with 61 additions and 28 deletions
|
@ -89,6 +89,15 @@
|
||||||
props.selectedLearningPath.language !== parsedLearningPath.value.language),
|
props.selectedLearningPath.language !== parsedLearningPath.value.language),
|
||||||
);
|
);
|
||||||
|
|
||||||
|
const selectedLearningPathLink = computed(() => {
|
||||||
|
if (!props.selectedLearningPath) {
|
||||||
|
return undefined;
|
||||||
|
}
|
||||||
|
const { hruid, language } = props.selectedLearningPath;
|
||||||
|
const startNode = props.selectedLearningPath.nodes.find((it) => it.start_node);
|
||||||
|
return `/learningPath/${hruid}/${language}/${startNode.learningobject_hruid}`;
|
||||||
|
});
|
||||||
|
|
||||||
function getErrorMessage(): string | null {
|
function getErrorMessage(): string | null {
|
||||||
if (postError.value) {
|
if (postError.value) {
|
||||||
return t(extractErrorMessage(postError.value));
|
return t(extractErrorMessage(postError.value));
|
||||||
|
@ -104,7 +113,43 @@
|
||||||
</script>
|
</script>
|
||||||
|
|
||||||
<template>
|
<template>
|
||||||
<v-card :title="props.selectedLearningPath ? t('editLearningPath') : t('newLearningPath')">
|
<v-card>
|
||||||
|
<template v-slot:title>
|
||||||
|
<div class="title-container">
|
||||||
|
<span class="title">{{
|
||||||
|
props.selectedLearningPath ? t("editLearningPath") : t("newLearningPath")
|
||||||
|
}}</span>
|
||||||
|
<span class="actions">
|
||||||
|
<v-btn
|
||||||
|
@click="uploadLearningPath"
|
||||||
|
prependIcon="mdi mdi-check"
|
||||||
|
:loading="isPostPending || isPutPending"
|
||||||
|
:disabled="parsedLearningPath.hruid === DEFAULT_LEARNING_PATH.hruid || isIdModified"
|
||||||
|
variant="text"
|
||||||
|
>
|
||||||
|
{{ props.selectedLearningPath ? t("saveChanges") : t("create") }}
|
||||||
|
</v-btn>
|
||||||
|
<button-with-confirmation
|
||||||
|
@confirm="deleteLearningPath"
|
||||||
|
:disabled="!props.selectedLearningPath"
|
||||||
|
:text="t('delete')"
|
||||||
|
color="red"
|
||||||
|
prependIcon="mdi mdi-delete"
|
||||||
|
:confirmQueryText="t('learningPathDeleteQuery')"
|
||||||
|
variant="text"
|
||||||
|
/>
|
||||||
|
<v-btn
|
||||||
|
:href="selectedLearningPathLink"
|
||||||
|
target="_blank"
|
||||||
|
prepend-icon="mdi mdi-open-in-new"
|
||||||
|
:disabled="!props.selectedLearningPath"
|
||||||
|
variant="text"
|
||||||
|
>
|
||||||
|
{{ t("open") }}
|
||||||
|
</v-btn>
|
||||||
|
</span>
|
||||||
|
</div>
|
||||||
|
</template>
|
||||||
<template v-slot:text>
|
<template v-slot:text>
|
||||||
<json-editor-vue v-model="learningPath"></json-editor-vue>
|
<json-editor-vue v-model="learningPath"></json-editor-vue>
|
||||||
<v-alert
|
<v-alert
|
||||||
|
@ -115,33 +160,21 @@
|
||||||
:text="getErrorMessage()!"
|
:text="getErrorMessage()!"
|
||||||
></v-alert>
|
></v-alert>
|
||||||
</template>
|
</template>
|
||||||
<template v-slot:actions>
|
|
||||||
<v-btn
|
|
||||||
@click="uploadLearningPath"
|
|
||||||
prependIcon="mdi mdi-check"
|
|
||||||
:loading="isPostPending || isPutPending"
|
|
||||||
:disabled="parsedLearningPath.hruid === DEFAULT_LEARNING_PATH.hruid || isIdModified"
|
|
||||||
>
|
|
||||||
{{ props.selectedLearningPath ? t("saveChanges") : t("create") }}
|
|
||||||
</v-btn>
|
|
||||||
<button-with-confirmation
|
|
||||||
@confirm="deleteLearningPath"
|
|
||||||
:disabled="!props.selectedLearningPath"
|
|
||||||
:text="t('delete')"
|
|
||||||
color="red"
|
|
||||||
prependIcon="mdi mdi-delete"
|
|
||||||
:confirmQueryText="t('learningPathDeleteQuery')"
|
|
||||||
/>
|
|
||||||
<v-btn
|
|
||||||
:href="`/learningPath/${props.selectedLearningPath?.hruid}/${props.selectedLearningPath?.language}/start`"
|
|
||||||
target="_blank"
|
|
||||||
prepend-icon="mdi mdi-open-in-new"
|
|
||||||
:disabled="!props.selectedLearningPath"
|
|
||||||
>
|
|
||||||
{{ t("open") }}
|
|
||||||
</v-btn>
|
|
||||||
</template>
|
|
||||||
</v-card>
|
</v-card>
|
||||||
</template>
|
</template>
|
||||||
|
|
||||||
<style scoped></style>
|
<style scoped>
|
||||||
|
.title-container {
|
||||||
|
display: flex;
|
||||||
|
flex-direction: row;
|
||||||
|
flex-wrap: wrap;
|
||||||
|
}
|
||||||
|
.title {
|
||||||
|
flex: 1;
|
||||||
|
}
|
||||||
|
.actions {
|
||||||
|
display: flex;
|
||||||
|
flex-wrap: wrap;
|
||||||
|
gap: 10px;
|
||||||
|
}
|
||||||
|
</style>
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue