Add "prettier-plugin-organize-imports" plugin -> imports got sorted
This commit is contained in:
parent
b862cdeb46
commit
a405c70bf9
|
|
@ -2,7 +2,11 @@
|
||||||
"htmlWhitespaceSensitivity": "ignore",
|
"htmlWhitespaceSensitivity": "ignore",
|
||||||
"jsonRecursiveSort": true,
|
"jsonRecursiveSort": true,
|
||||||
"organizeImportsSkipDestructiveCodeActions": true,
|
"organizeImportsSkipDestructiveCodeActions": true,
|
||||||
"plugins": ["prettier-plugin-sort-json", "prettier-plugin-tailwindcss"],
|
"plugins": [
|
||||||
|
"prettier-plugin-sort-json",
|
||||||
|
"prettier-plugin-organize-imports",
|
||||||
|
"prettier-plugin-tailwindcss"
|
||||||
|
],
|
||||||
"printWidth": 88,
|
"printWidth": 88,
|
||||||
"semi": true,
|
"semi": true,
|
||||||
"singleQuote": false,
|
"singleQuote": false,
|
||||||
|
|
|
||||||
|
|
@ -5723,6 +5723,7 @@
|
||||||
"version": "3.0.2",
|
"version": "3.0.2",
|
||||||
"resolved": "https://registry.npmjs.org/braces/-/braces-3.0.2.tgz",
|
"resolved": "https://registry.npmjs.org/braces/-/braces-3.0.2.tgz",
|
||||||
"integrity": "sha512-b8um+L1RzM3WDSzvhm6gIz1yfTbBt6YTlcEKAvsmqCZZFw46z626lVj9j1yEPW33H5H+lBQpZMP1k8l+78Ha0A==",
|
"integrity": "sha512-b8um+L1RzM3WDSzvhm6gIz1yfTbBt6YTlcEKAvsmqCZZFw46z626lVj9j1yEPW33H5H+lBQpZMP1k8l+78Ha0A==",
|
||||||
|
"dev": true,
|
||||||
"dependencies": {
|
"dependencies": {
|
||||||
"fill-range": "^7.0.1"
|
"fill-range": "^7.0.1"
|
||||||
},
|
},
|
||||||
|
|
@ -8258,6 +8259,7 @@
|
||||||
"version": "7.0.1",
|
"version": "7.0.1",
|
||||||
"resolved": "https://registry.npmjs.org/fill-range/-/fill-range-7.0.1.tgz",
|
"resolved": "https://registry.npmjs.org/fill-range/-/fill-range-7.0.1.tgz",
|
||||||
"integrity": "sha512-qOo9F+dMUmC2Lcb4BbVvnKJxTPjCm+RRpe4gDuGrzkL7mEVl/djYSu2OdQ2Pa302N4oqkSg9ir6jaLWJ2USVpQ==",
|
"integrity": "sha512-qOo9F+dMUmC2Lcb4BbVvnKJxTPjCm+RRpe4gDuGrzkL7mEVl/djYSu2OdQ2Pa302N4oqkSg9ir6jaLWJ2USVpQ==",
|
||||||
|
"dev": true,
|
||||||
"dependencies": {
|
"dependencies": {
|
||||||
"to-regex-range": "^5.0.1"
|
"to-regex-range": "^5.0.1"
|
||||||
},
|
},
|
||||||
|
|
@ -9316,6 +9318,7 @@
|
||||||
"version": "2.1.1",
|
"version": "2.1.1",
|
||||||
"resolved": "https://registry.npmjs.org/is-extglob/-/is-extglob-2.1.1.tgz",
|
"resolved": "https://registry.npmjs.org/is-extglob/-/is-extglob-2.1.1.tgz",
|
||||||
"integrity": "sha512-SbKbANkN603Vi4jEZv49LeVJMn4yGwsbzZworEoyEiutsN3nJYdbO36zfhGJ6QEDpOZIFkDtnq5JRxmvl3jsoQ==",
|
"integrity": "sha512-SbKbANkN603Vi4jEZv49LeVJMn4yGwsbzZworEoyEiutsN3nJYdbO36zfhGJ6QEDpOZIFkDtnq5JRxmvl3jsoQ==",
|
||||||
|
"dev": true,
|
||||||
"engines": {
|
"engines": {
|
||||||
"node": ">=0.10.0"
|
"node": ">=0.10.0"
|
||||||
}
|
}
|
||||||
|
|
@ -9332,6 +9335,7 @@
|
||||||
"version": "4.0.3",
|
"version": "4.0.3",
|
||||||
"resolved": "https://registry.npmjs.org/is-glob/-/is-glob-4.0.3.tgz",
|
"resolved": "https://registry.npmjs.org/is-glob/-/is-glob-4.0.3.tgz",
|
||||||
"integrity": "sha512-xelSayHH36ZgE7ZWhli7pW34hNbNl8Ojv5KVmkJD4hBdD3th8Tfk9vYasLM+mXWOZhFkgZfxhLSnrwRr4elSSg==",
|
"integrity": "sha512-xelSayHH36ZgE7ZWhli7pW34hNbNl8Ojv5KVmkJD4hBdD3th8Tfk9vYasLM+mXWOZhFkgZfxhLSnrwRr4elSSg==",
|
||||||
|
"dev": true,
|
||||||
"dependencies": {
|
"dependencies": {
|
||||||
"is-extglob": "^2.1.1"
|
"is-extglob": "^2.1.1"
|
||||||
},
|
},
|
||||||
|
|
@ -9385,6 +9389,7 @@
|
||||||
"version": "7.0.0",
|
"version": "7.0.0",
|
||||||
"resolved": "https://registry.npmjs.org/is-number/-/is-number-7.0.0.tgz",
|
"resolved": "https://registry.npmjs.org/is-number/-/is-number-7.0.0.tgz",
|
||||||
"integrity": "sha512-41Cifkg6e8TylSpdtTpeLVMqvSBEVzTttHvERD741+pnZ8ANv0004MRL43QKPDlK9cGvNp6NZWZUBlbGXYxxng==",
|
"integrity": "sha512-41Cifkg6e8TylSpdtTpeLVMqvSBEVzTttHvERD741+pnZ8ANv0004MRL43QKPDlK9cGvNp6NZWZUBlbGXYxxng==",
|
||||||
|
"dev": true,
|
||||||
"engines": {
|
"engines": {
|
||||||
"node": ">=0.12.0"
|
"node": ">=0.12.0"
|
||||||
}
|
}
|
||||||
|
|
@ -10330,6 +10335,7 @@
|
||||||
"version": "4.0.5",
|
"version": "4.0.5",
|
||||||
"resolved": "https://registry.npmjs.org/micromatch/-/micromatch-4.0.5.tgz",
|
"resolved": "https://registry.npmjs.org/micromatch/-/micromatch-4.0.5.tgz",
|
||||||
"integrity": "sha512-DMy+ERcEW2q8Z2Po+WNXuw3c5YaUSFjAO5GsJqfEl7UjvtIuFKO6ZrKvcItdy98dwFI2N1tg3zNIdKaQT+aNdA==",
|
"integrity": "sha512-DMy+ERcEW2q8Z2Po+WNXuw3c5YaUSFjAO5GsJqfEl7UjvtIuFKO6ZrKvcItdy98dwFI2N1tg3zNIdKaQT+aNdA==",
|
||||||
|
"dev": true,
|
||||||
"dependencies": {
|
"dependencies": {
|
||||||
"braces": "^3.0.2",
|
"braces": "^3.0.2",
|
||||||
"picomatch": "^2.3.1"
|
"picomatch": "^2.3.1"
|
||||||
|
|
@ -11067,6 +11073,7 @@
|
||||||
"version": "2.3.1",
|
"version": "2.3.1",
|
||||||
"resolved": "https://registry.npmjs.org/picomatch/-/picomatch-2.3.1.tgz",
|
"resolved": "https://registry.npmjs.org/picomatch/-/picomatch-2.3.1.tgz",
|
||||||
"integrity": "sha512-JU3teHTNjmE2VCGFzuY8EXzCDVwEqB2a8fsIvwaStHhAWJEeVd1o1QD80CU6+ZdEXXSLbSsuLwJjkCBWqRQUVA==",
|
"integrity": "sha512-JU3teHTNjmE2VCGFzuY8EXzCDVwEqB2a8fsIvwaStHhAWJEeVd1o1QD80CU6+ZdEXXSLbSsuLwJjkCBWqRQUVA==",
|
||||||
|
"dev": true,
|
||||||
"engines": {
|
"engines": {
|
||||||
"node": ">=8.6"
|
"node": ">=8.6"
|
||||||
},
|
},
|
||||||
|
|
@ -12666,6 +12673,7 @@
|
||||||
"version": "5.0.1",
|
"version": "5.0.1",
|
||||||
"resolved": "https://registry.npmjs.org/to-regex-range/-/to-regex-range-5.0.1.tgz",
|
"resolved": "https://registry.npmjs.org/to-regex-range/-/to-regex-range-5.0.1.tgz",
|
||||||
"integrity": "sha512-65P7iz6X5yEr1cwcgvQxbbIw7Uk3gOy5dIdtZ4rDveLqhrdJP+Li/Hx6tyK0NEb+2GCyneCMJiGqrADCSNk8sQ==",
|
"integrity": "sha512-65P7iz6X5yEr1cwcgvQxbbIw7Uk3gOy5dIdtZ4rDveLqhrdJP+Li/Hx6tyK0NEb+2GCyneCMJiGqrADCSNk8sQ==",
|
||||||
|
"dev": true,
|
||||||
"dependencies": {
|
"dependencies": {
|
||||||
"is-number": "^7.0.0"
|
"is-number": "^7.0.0"
|
||||||
},
|
},
|
||||||
|
|
@ -18799,6 +18807,7 @@
|
||||||
"version": "3.0.2",
|
"version": "3.0.2",
|
||||||
"resolved": "https://registry.npmjs.org/braces/-/braces-3.0.2.tgz",
|
"resolved": "https://registry.npmjs.org/braces/-/braces-3.0.2.tgz",
|
||||||
"integrity": "sha512-b8um+L1RzM3WDSzvhm6gIz1yfTbBt6YTlcEKAvsmqCZZFw46z626lVj9j1yEPW33H5H+lBQpZMP1k8l+78Ha0A==",
|
"integrity": "sha512-b8um+L1RzM3WDSzvhm6gIz1yfTbBt6YTlcEKAvsmqCZZFw46z626lVj9j1yEPW33H5H+lBQpZMP1k8l+78Ha0A==",
|
||||||
|
"dev": true,
|
||||||
"requires": {
|
"requires": {
|
||||||
"fill-range": "^7.0.1"
|
"fill-range": "^7.0.1"
|
||||||
}
|
}
|
||||||
|
|
@ -20659,6 +20668,7 @@
|
||||||
"version": "7.0.1",
|
"version": "7.0.1",
|
||||||
"resolved": "https://registry.npmjs.org/fill-range/-/fill-range-7.0.1.tgz",
|
"resolved": "https://registry.npmjs.org/fill-range/-/fill-range-7.0.1.tgz",
|
||||||
"integrity": "sha512-qOo9F+dMUmC2Lcb4BbVvnKJxTPjCm+RRpe4gDuGrzkL7mEVl/djYSu2OdQ2Pa302N4oqkSg9ir6jaLWJ2USVpQ==",
|
"integrity": "sha512-qOo9F+dMUmC2Lcb4BbVvnKJxTPjCm+RRpe4gDuGrzkL7mEVl/djYSu2OdQ2Pa302N4oqkSg9ir6jaLWJ2USVpQ==",
|
||||||
|
"dev": true,
|
||||||
"requires": {
|
"requires": {
|
||||||
"to-regex-range": "^5.0.1"
|
"to-regex-range": "^5.0.1"
|
||||||
}
|
}
|
||||||
|
|
@ -21416,7 +21426,8 @@
|
||||||
"is-extglob": {
|
"is-extglob": {
|
||||||
"version": "2.1.1",
|
"version": "2.1.1",
|
||||||
"resolved": "https://registry.npmjs.org/is-extglob/-/is-extglob-2.1.1.tgz",
|
"resolved": "https://registry.npmjs.org/is-extglob/-/is-extglob-2.1.1.tgz",
|
||||||
"integrity": "sha512-SbKbANkN603Vi4jEZv49LeVJMn4yGwsbzZworEoyEiutsN3nJYdbO36zfhGJ6QEDpOZIFkDtnq5JRxmvl3jsoQ=="
|
"integrity": "sha512-SbKbANkN603Vi4jEZv49LeVJMn4yGwsbzZworEoyEiutsN3nJYdbO36zfhGJ6QEDpOZIFkDtnq5JRxmvl3jsoQ==",
|
||||||
|
"dev": true
|
||||||
},
|
},
|
||||||
"is-fullwidth-code-point": {
|
"is-fullwidth-code-point": {
|
||||||
"version": "3.0.0",
|
"version": "3.0.0",
|
||||||
|
|
@ -21427,6 +21438,7 @@
|
||||||
"version": "4.0.3",
|
"version": "4.0.3",
|
||||||
"resolved": "https://registry.npmjs.org/is-glob/-/is-glob-4.0.3.tgz",
|
"resolved": "https://registry.npmjs.org/is-glob/-/is-glob-4.0.3.tgz",
|
||||||
"integrity": "sha512-xelSayHH36ZgE7ZWhli7pW34hNbNl8Ojv5KVmkJD4hBdD3th8Tfk9vYasLM+mXWOZhFkgZfxhLSnrwRr4elSSg==",
|
"integrity": "sha512-xelSayHH36ZgE7ZWhli7pW34hNbNl8Ojv5KVmkJD4hBdD3th8Tfk9vYasLM+mXWOZhFkgZfxhLSnrwRr4elSSg==",
|
||||||
|
"dev": true,
|
||||||
"requires": {
|
"requires": {
|
||||||
"is-extglob": "^2.1.1"
|
"is-extglob": "^2.1.1"
|
||||||
}
|
}
|
||||||
|
|
@ -21464,7 +21476,8 @@
|
||||||
"is-number": {
|
"is-number": {
|
||||||
"version": "7.0.0",
|
"version": "7.0.0",
|
||||||
"resolved": "https://registry.npmjs.org/is-number/-/is-number-7.0.0.tgz",
|
"resolved": "https://registry.npmjs.org/is-number/-/is-number-7.0.0.tgz",
|
||||||
"integrity": "sha512-41Cifkg6e8TylSpdtTpeLVMqvSBEVzTttHvERD741+pnZ8ANv0004MRL43QKPDlK9cGvNp6NZWZUBlbGXYxxng=="
|
"integrity": "sha512-41Cifkg6e8TylSpdtTpeLVMqvSBEVzTttHvERD741+pnZ8ANv0004MRL43QKPDlK9cGvNp6NZWZUBlbGXYxxng==",
|
||||||
|
"dev": true
|
||||||
},
|
},
|
||||||
"is-number-object": {
|
"is-number-object": {
|
||||||
"version": "1.0.7",
|
"version": "1.0.7",
|
||||||
|
|
@ -22162,6 +22175,7 @@
|
||||||
"version": "4.0.5",
|
"version": "4.0.5",
|
||||||
"resolved": "https://registry.npmjs.org/micromatch/-/micromatch-4.0.5.tgz",
|
"resolved": "https://registry.npmjs.org/micromatch/-/micromatch-4.0.5.tgz",
|
||||||
"integrity": "sha512-DMy+ERcEW2q8Z2Po+WNXuw3c5YaUSFjAO5GsJqfEl7UjvtIuFKO6ZrKvcItdy98dwFI2N1tg3zNIdKaQT+aNdA==",
|
"integrity": "sha512-DMy+ERcEW2q8Z2Po+WNXuw3c5YaUSFjAO5GsJqfEl7UjvtIuFKO6ZrKvcItdy98dwFI2N1tg3zNIdKaQT+aNdA==",
|
||||||
|
"dev": true,
|
||||||
"requires": {
|
"requires": {
|
||||||
"braces": "^3.0.2",
|
"braces": "^3.0.2",
|
||||||
"picomatch": "^2.3.1"
|
"picomatch": "^2.3.1"
|
||||||
|
|
@ -22714,7 +22728,8 @@
|
||||||
"picomatch": {
|
"picomatch": {
|
||||||
"version": "2.3.1",
|
"version": "2.3.1",
|
||||||
"resolved": "https://registry.npmjs.org/picomatch/-/picomatch-2.3.1.tgz",
|
"resolved": "https://registry.npmjs.org/picomatch/-/picomatch-2.3.1.tgz",
|
||||||
"integrity": "sha512-JU3teHTNjmE2VCGFzuY8EXzCDVwEqB2a8fsIvwaStHhAWJEeVd1o1QD80CU6+ZdEXXSLbSsuLwJjkCBWqRQUVA=="
|
"integrity": "sha512-JU3teHTNjmE2VCGFzuY8EXzCDVwEqB2a8fsIvwaStHhAWJEeVd1o1QD80CU6+ZdEXXSLbSsuLwJjkCBWqRQUVA==",
|
||||||
|
"dev": true
|
||||||
},
|
},
|
||||||
"pify": {
|
"pify": {
|
||||||
"version": "2.3.0",
|
"version": "2.3.0",
|
||||||
|
|
@ -23810,6 +23825,7 @@
|
||||||
"version": "5.0.1",
|
"version": "5.0.1",
|
||||||
"resolved": "https://registry.npmjs.org/to-regex-range/-/to-regex-range-5.0.1.tgz",
|
"resolved": "https://registry.npmjs.org/to-regex-range/-/to-regex-range-5.0.1.tgz",
|
||||||
"integrity": "sha512-65P7iz6X5yEr1cwcgvQxbbIw7Uk3gOy5dIdtZ4rDveLqhrdJP+Li/Hx6tyK0NEb+2GCyneCMJiGqrADCSNk8sQ==",
|
"integrity": "sha512-65P7iz6X5yEr1cwcgvQxbbIw7Uk3gOy5dIdtZ4rDveLqhrdJP+Li/Hx6tyK0NEb+2GCyneCMJiGqrADCSNk8sQ==",
|
||||||
|
"dev": true,
|
||||||
"requires": {
|
"requires": {
|
||||||
"is-number": "^7.0.0"
|
"is-number": "^7.0.0"
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -1,9 +1,9 @@
|
||||||
<script setup lang="ts">
|
<script setup lang="ts">
|
||||||
|
import { SUPPORT_LOCALES } from "@/i18nextWrapper";
|
||||||
import type { AvailableLanguages } from "@/stores/user";
|
import type { AvailableLanguages } from "@/stores/user";
|
||||||
import { useUserStore } from "@/stores/user";
|
import { useUserStore } from "@/stores/user";
|
||||||
import { Menu, MenuButton, MenuItem, MenuItems } from "@headlessui/vue";
|
import { Menu, MenuButton, MenuItem, MenuItems } from "@headlessui/vue";
|
||||||
import * as log from "loglevel";
|
import * as log from "loglevel";
|
||||||
import { SUPPORT_LOCALES } from "@/i18nextWrapper";
|
|
||||||
|
|
||||||
log.debug("AppFooter created");
|
log.debug("AppFooter created");
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -8,9 +8,9 @@ import type {
|
||||||
LearningContentAssignment,
|
LearningContentAssignment,
|
||||||
LearningContentEdoniqTest,
|
LearningContentEdoniqTest,
|
||||||
} from "@/types";
|
} from "@/types";
|
||||||
|
import { stringifyParse } from "@/utils/utils";
|
||||||
import log from "loglevel";
|
import log from "loglevel";
|
||||||
import { computed, onMounted, reactive } from "vue";
|
import { computed, onMounted, reactive } from "vue";
|
||||||
import { stringifyParse } from "@/utils/utils";
|
|
||||||
|
|
||||||
const props = defineProps<{
|
const props = defineProps<{
|
||||||
courseSession: CourseSession;
|
courseSession: CourseSession;
|
||||||
|
|
|
||||||
|
|
@ -2,6 +2,7 @@
|
||||||
import EvaluationIntro from "@/components/assignment/evaluation/EvaluationIntro.vue";
|
import EvaluationIntro from "@/components/assignment/evaluation/EvaluationIntro.vue";
|
||||||
import EvaluationSummary from "@/components/assignment/evaluation/EvaluationSummary.vue";
|
import EvaluationSummary from "@/components/assignment/evaluation/EvaluationSummary.vue";
|
||||||
import EvaluationTask from "@/components/assignment/evaluation/EvaluationTask.vue";
|
import EvaluationTask from "@/components/assignment/evaluation/EvaluationTask.vue";
|
||||||
|
import { useCourseSessionDetailQuery } from "@/composables";
|
||||||
import type {
|
import type {
|
||||||
Assignment,
|
Assignment,
|
||||||
AssignmentCompletion,
|
AssignmentCompletion,
|
||||||
|
|
@ -13,7 +14,6 @@ import dayjs from "dayjs";
|
||||||
import { findIndex } from "lodash";
|
import { findIndex } from "lodash";
|
||||||
import * as log from "loglevel";
|
import * as log from "loglevel";
|
||||||
import { computed, onMounted } from "vue";
|
import { computed, onMounted } from "vue";
|
||||||
import { useCourseSessionDetailQuery } from "@/composables";
|
|
||||||
|
|
||||||
const props = defineProps<{
|
const props = defineProps<{
|
||||||
assignmentUser: CourseSessionUser;
|
assignmentUser: CourseSessionUser;
|
||||||
|
|
|
||||||
|
|
@ -3,9 +3,9 @@ import { useCurrentCourseSession } from "@/composables";
|
||||||
import { UPSERT_ASSIGNMENT_COMPLETION_MUTATION } from "@/graphql/mutations";
|
import { UPSERT_ASSIGNMENT_COMPLETION_MUTATION } from "@/graphql/mutations";
|
||||||
import type { Assignment, AssignmentCompletion, CourseSessionUser } from "@/types";
|
import type { Assignment, AssignmentCompletion, CourseSessionUser } from "@/types";
|
||||||
import { useMutation } from "@urql/vue";
|
import { useMutation } from "@urql/vue";
|
||||||
import { computed } from "vue";
|
|
||||||
import dayjs, { Dayjs } from "dayjs";
|
import dayjs, { Dayjs } from "dayjs";
|
||||||
import * as log from "loglevel";
|
import * as log from "loglevel";
|
||||||
|
import { computed } from "vue";
|
||||||
|
|
||||||
const props = defineProps<{
|
const props = defineProps<{
|
||||||
assignmentUser: CourseSessionUser;
|
assignmentUser: CourseSessionUser;
|
||||||
|
|
|
||||||
|
|
@ -1,5 +1,6 @@
|
||||||
<script setup lang="ts">
|
<script setup lang="ts">
|
||||||
import ItSuccessAlert from "@/components/ui/ItSuccessAlert.vue";
|
import ItSuccessAlert from "@/components/ui/ItSuccessAlert.vue";
|
||||||
|
import RichText from "@/components/ui/RichText.vue";
|
||||||
import { useCurrentCourseSession } from "@/composables";
|
import { useCurrentCourseSession } from "@/composables";
|
||||||
import { UPSERT_ASSIGNMENT_COMPLETION_MUTATION } from "@/graphql/mutations";
|
import { UPSERT_ASSIGNMENT_COMPLETION_MUTATION } from "@/graphql/mutations";
|
||||||
import {
|
import {
|
||||||
|
|
@ -16,7 +17,6 @@ import { useMutation } from "@urql/vue";
|
||||||
import dayjs, { Dayjs } from "dayjs";
|
import dayjs, { Dayjs } from "dayjs";
|
||||||
import * as log from "loglevel";
|
import * as log from "loglevel";
|
||||||
import { computed, reactive } from "vue";
|
import { computed, reactive } from "vue";
|
||||||
import RichText from "@/components/ui/RichText.vue";
|
|
||||||
|
|
||||||
const props = defineProps<{
|
const props = defineProps<{
|
||||||
assignmentUser: CourseSessionUser;
|
assignmentUser: CourseSessionUser;
|
||||||
|
|
|
||||||
|
|
@ -1,5 +1,6 @@
|
||||||
<script setup lang="ts">
|
<script setup lang="ts">
|
||||||
import ItTextarea from "@/components/ui/ItTextarea.vue";
|
import ItTextarea from "@/components/ui/ItTextarea.vue";
|
||||||
|
import RichText from "@/components/ui/RichText.vue";
|
||||||
import { useCurrentCourseSession } from "@/composables";
|
import { useCurrentCourseSession } from "@/composables";
|
||||||
import { UPSERT_ASSIGNMENT_COMPLETION_MUTATION } from "@/graphql/mutations";
|
import { UPSERT_ASSIGNMENT_COMPLETION_MUTATION } from "@/graphql/mutations";
|
||||||
import type {
|
import type {
|
||||||
|
|
@ -13,7 +14,6 @@ import { useMutation } from "@urql/vue";
|
||||||
import { useDebounceFn } from "@vueuse/core";
|
import { useDebounceFn } from "@vueuse/core";
|
||||||
import * as log from "loglevel";
|
import * as log from "loglevel";
|
||||||
import { computed } from "vue";
|
import { computed } from "vue";
|
||||||
import RichText from "@/components/ui/RichText.vue";
|
|
||||||
|
|
||||||
const props = defineProps<{
|
const props = defineProps<{
|
||||||
assignmentUser: CourseSessionUser;
|
assignmentUser: CourseSessionUser;
|
||||||
|
|
|
||||||
|
|
@ -1,5 +1,11 @@
|
||||||
<script setup lang="ts">
|
<script setup lang="ts">
|
||||||
import AssignmentSubmissionProgress from "@/components/assignment/AssignmentSubmissionProgress.vue";
|
import AssignmentSubmissionProgress from "@/components/assignment/AssignmentSubmissionProgress.vue";
|
||||||
|
import FeedbackSubmissionProgress from "@/components/selfEvaluationFeedback/FeedbackSubmissionProgress.vue";
|
||||||
|
import {
|
||||||
|
useCourseDataWithCompletion,
|
||||||
|
useCourseSessionDetailQuery,
|
||||||
|
} from "@/composables";
|
||||||
|
import { circleFlatLearningContents } from "@/services/circle";
|
||||||
import type {
|
import type {
|
||||||
CourseSession,
|
CourseSession,
|
||||||
LearningContent,
|
LearningContent,
|
||||||
|
|
@ -7,17 +13,11 @@ import type {
|
||||||
// eslint-disable-next-line @typescript-eslint/no-unused-vars
|
// eslint-disable-next-line @typescript-eslint/no-unused-vars
|
||||||
LearningContentEdoniqTest,
|
LearningContentEdoniqTest,
|
||||||
} from "@/types";
|
} from "@/types";
|
||||||
|
import { learningContentTypeData } from "@/utils/typeMaps";
|
||||||
|
import { getCockpitUrl } from "@/utils/utils";
|
||||||
|
import { useTranslation } from "i18next-vue";
|
||||||
import log from "loglevel";
|
import log from "loglevel";
|
||||||
import { computed } from "vue";
|
import { computed } from "vue";
|
||||||
import { useTranslation } from "i18next-vue";
|
|
||||||
import FeedbackSubmissionProgress from "@/components/selfEvaluationFeedback/FeedbackSubmissionProgress.vue";
|
|
||||||
import { learningContentTypeData } from "@/utils/typeMaps";
|
|
||||||
import {
|
|
||||||
useCourseDataWithCompletion,
|
|
||||||
useCourseSessionDetailQuery,
|
|
||||||
} from "@/composables";
|
|
||||||
import { circleFlatLearningContents } from "@/services/circle";
|
|
||||||
import { getCockpitUrl } from "@/utils/utils";
|
|
||||||
|
|
||||||
interface Submittable {
|
interface Submittable {
|
||||||
id: string;
|
id: string;
|
||||||
|
|
|
||||||
|
|
@ -1,7 +1,7 @@
|
||||||
<script setup lang="ts">
|
<script setup lang="ts">
|
||||||
import { useCourseDataWithCompletion } from "@/composables";
|
import { useCourseDataWithCompletion } from "@/composables";
|
||||||
import { computed } from "vue";
|
|
||||||
import { calcPerformanceCriteriaStatusCount } from "@/services/competence";
|
import { calcPerformanceCriteriaStatusCount } from "@/services/competence";
|
||||||
|
import { computed } from "vue";
|
||||||
|
|
||||||
const props = defineProps<{
|
const props = defineProps<{
|
||||||
courseSlug: string;
|
courseSlug: string;
|
||||||
|
|
|
||||||
|
|
@ -1,8 +1,8 @@
|
||||||
<script setup lang="ts">
|
<script setup lang="ts">
|
||||||
|
import BaseBox from "@/components/dashboard/BaseBox.vue";
|
||||||
|
import { fetchMenteeCount } from "@/services/dashboard";
|
||||||
import type { Ref } from "vue";
|
import type { Ref } from "vue";
|
||||||
import { onMounted, ref } from "vue";
|
import { onMounted, ref } from "vue";
|
||||||
import { fetchMenteeCount } from "@/services/dashboard";
|
|
||||||
import BaseBox from "@/components/dashboard/BaseBox.vue";
|
|
||||||
|
|
||||||
const props = withDefaults(
|
const props = withDefaults(
|
||||||
defineProps<{
|
defineProps<{
|
||||||
|
|
|
||||||
|
|
@ -1,7 +1,7 @@
|
||||||
<script setup lang="ts">
|
<script setup lang="ts">
|
||||||
import { computed } from "vue";
|
|
||||||
import ItProgress from "@/components/ui/ItProgress.vue";
|
|
||||||
import BaseBox from "@/components/dashboard/BaseBox.vue";
|
import BaseBox from "@/components/dashboard/BaseBox.vue";
|
||||||
|
import ItProgress from "@/components/ui/ItProgress.vue";
|
||||||
|
import { computed } from "vue";
|
||||||
|
|
||||||
const props = defineProps<{
|
const props = defineProps<{
|
||||||
detailsLink: string;
|
detailsLink: string;
|
||||||
|
|
|
||||||
|
|
@ -1,9 +1,9 @@
|
||||||
<script setup lang="ts">
|
<script setup lang="ts">
|
||||||
import type { Ref } from "vue";
|
import AssignmentProgressSummaryBox from "@/components/dashboard/AssignmentProgressSummaryBox.vue";
|
||||||
import { computed, onMounted, ref } from "vue";
|
|
||||||
import type { ProgressDashboardAssignmentType } from "@/gql/graphql";
|
import type { ProgressDashboardAssignmentType } from "@/gql/graphql";
|
||||||
import { fetchProgressData } from "@/services/dashboard";
|
import { fetchProgressData } from "@/services/dashboard";
|
||||||
import AssignmentProgressSummaryBox from "@/components/dashboard/AssignmentProgressSummaryBox.vue";
|
import type { Ref } from "vue";
|
||||||
|
import { computed, onMounted, ref } from "vue";
|
||||||
|
|
||||||
const props = defineProps<{
|
const props = defineProps<{
|
||||||
courseId: string;
|
courseId: string;
|
||||||
|
|
|
||||||
|
|
@ -1,7 +1,7 @@
|
||||||
<script setup lang="ts">
|
<script setup lang="ts">
|
||||||
|
import BaseBox from "@/components/dashboard/BaseBox.vue";
|
||||||
import ItProgress from "@/components/ui/ItProgress.vue";
|
import ItProgress from "@/components/ui/ItProgress.vue";
|
||||||
import { computed } from "vue";
|
import { computed } from "vue";
|
||||||
import BaseBox from "@/components/dashboard/BaseBox.vue";
|
|
||||||
|
|
||||||
const props = defineProps<{
|
const props = defineProps<{
|
||||||
assignmentsCompleted: number;
|
assignmentsCompleted: number;
|
||||||
|
|
|
||||||
|
|
@ -1,7 +1,7 @@
|
||||||
<script setup lang="ts">
|
<script setup lang="ts">
|
||||||
|
import BaseBox from "@/components/dashboard/BaseBox.vue";
|
||||||
import ItProgress from "@/components/ui/ItProgress.vue";
|
import ItProgress from "@/components/ui/ItProgress.vue";
|
||||||
import { computed } from "vue";
|
import { computed } from "vue";
|
||||||
import BaseBox from "@/components/dashboard/BaseBox.vue";
|
|
||||||
|
|
||||||
const props = defineProps<{
|
const props = defineProps<{
|
||||||
daysCompleted: number;
|
daysCompleted: number;
|
||||||
|
|
|
||||||
|
|
@ -1,15 +1,15 @@
|
||||||
<script setup lang="ts">
|
<script setup lang="ts">
|
||||||
import { computed, onMounted, ref } from "vue";
|
import AgentConnectionCount from "@/components/dashboard/AgentConnectionCount.vue";
|
||||||
|
import AssignmentSummaryBox from "@/components/dashboard/AssignmentSummaryBox.vue";
|
||||||
|
import BaseBox from "@/components/dashboard/BaseBox.vue";
|
||||||
|
import LoadingSpinner from "@/components/ui/LoadingSpinner.vue";
|
||||||
|
import type { BaseStatisticsType } from "@/gql/graphql";
|
||||||
|
import { percentToRoundedGrade } from "@/services/assignmentService";
|
||||||
import {
|
import {
|
||||||
type DashboardRoleKeyType,
|
type DashboardRoleKeyType,
|
||||||
fetchMentorCompetenceSummary,
|
fetchMentorCompetenceSummary,
|
||||||
} from "@/services/dashboard";
|
} from "@/services/dashboard";
|
||||||
import type { BaseStatisticsType } from "@/gql/graphql";
|
import { computed, onMounted, ref } from "vue";
|
||||||
import LoadingSpinner from "@/components/ui/LoadingSpinner.vue";
|
|
||||||
import AssignmentSummaryBox from "@/components/dashboard/AssignmentSummaryBox.vue";
|
|
||||||
import BaseBox from "@/components/dashboard/BaseBox.vue";
|
|
||||||
import { percentToRoundedGrade } from "@/services/assignmentService";
|
|
||||||
import AgentConnectionCount from "@/components/dashboard/AgentConnectionCount.vue";
|
|
||||||
|
|
||||||
const props = defineProps<{
|
const props = defineProps<{
|
||||||
courseSlug: string;
|
courseSlug: string;
|
||||||
|
|
|
||||||
|
|
@ -1,9 +1,9 @@
|
||||||
<script setup lang="ts">
|
<script setup lang="ts">
|
||||||
|
import CompetenceSummaryBox from "@/components/dashboard/CompetenceSummaryBox.vue";
|
||||||
|
import type { ProgressDashboardCompetenceType } from "@/gql/graphql";
|
||||||
|
import { fetchProgressData } from "@/services/dashboard";
|
||||||
import type { Ref } from "vue";
|
import type { Ref } from "vue";
|
||||||
import { computed, onMounted, ref } from "vue";
|
import { computed, onMounted, ref } from "vue";
|
||||||
import type { ProgressDashboardCompetenceType } from "@/gql/graphql";
|
|
||||||
import CompetenceSummaryBox from "@/components/dashboard/CompetenceSummaryBox.vue";
|
|
||||||
import { fetchProgressData } from "@/services/dashboard";
|
|
||||||
|
|
||||||
const props = defineProps<{
|
const props = defineProps<{
|
||||||
courseId: string;
|
courseId: string;
|
||||||
|
|
|
||||||
|
|
@ -1,15 +1,15 @@
|
||||||
<script setup lang="ts">
|
<script setup lang="ts">
|
||||||
import { computed } from "vue";
|
|
||||||
import type { DashboardCourseConfigType, WidgetType } from "@/services/dashboard";
|
|
||||||
import LearningPathDiagram from "@/components/learningPath/LearningPathDiagram.vue";
|
|
||||||
import CompetenceSummary from "@/components/dashboard/CompetenceSummary.vue";
|
|
||||||
import AssignmentSummary from "@/components/dashboard/AssignmentSummary.vue";
|
|
||||||
import MentorOpenTasksCount from "@/components/dashboard/MentorOpenTasksCount.vue";
|
|
||||||
import AgentConnectionCount from "@/components/dashboard/AgentConnectionCount.vue";
|
import AgentConnectionCount from "@/components/dashboard/AgentConnectionCount.vue";
|
||||||
import MentorCompetenceSummary from "@/components/dashboard/MentorCompetenceSummary.vue";
|
import AssignmentSummary from "@/components/dashboard/AssignmentSummary.vue";
|
||||||
import { getCockpitUrl, getLearningMentorUrl, getLearningPathUrl } from "@/utils/utils";
|
|
||||||
import UkStatistics from "@/components/dashboard/UkStatistics.vue";
|
|
||||||
import BerufsbildnerStatistics from "@/components/dashboard/BerufsbildnerStatistics.vue";
|
import BerufsbildnerStatistics from "@/components/dashboard/BerufsbildnerStatistics.vue";
|
||||||
|
import CompetenceSummary from "@/components/dashboard/CompetenceSummary.vue";
|
||||||
|
import MentorCompetenceSummary from "@/components/dashboard/MentorCompetenceSummary.vue";
|
||||||
|
import MentorOpenTasksCount from "@/components/dashboard/MentorOpenTasksCount.vue";
|
||||||
|
import UkStatistics from "@/components/dashboard/UkStatistics.vue";
|
||||||
|
import LearningPathDiagram from "@/components/learningPath/LearningPathDiagram.vue";
|
||||||
|
import type { DashboardCourseConfigType, WidgetType } from "@/services/dashboard";
|
||||||
|
import { getCockpitUrl, getLearningMentorUrl, getLearningPathUrl } from "@/utils/utils";
|
||||||
|
import { computed } from "vue";
|
||||||
|
|
||||||
const mentorWidgets = [
|
const mentorWidgets = [
|
||||||
"MentorTasksWidget",
|
"MentorTasksWidget",
|
||||||
|
|
|
||||||
|
|
@ -1,11 +1,11 @@
|
||||||
<script setup lang="ts">
|
<script setup lang="ts">
|
||||||
import { computed, onMounted, ref } from "vue";
|
import BaseBox from "@/components/dashboard/BaseBox.vue";
|
||||||
|
import type { BaseStatisticsType } from "@/gql/graphql";
|
||||||
import {
|
import {
|
||||||
type DashboardRoleKeyType,
|
type DashboardRoleKeyType,
|
||||||
fetchMentorCompetenceSummary,
|
fetchMentorCompetenceSummary,
|
||||||
} from "@/services/dashboard";
|
} from "@/services/dashboard";
|
||||||
import type { BaseStatisticsType } from "@/gql/graphql";
|
import { computed, onMounted, ref } from "vue";
|
||||||
import BaseBox from "@/components/dashboard/BaseBox.vue";
|
|
||||||
|
|
||||||
const props = defineProps<{
|
const props = defineProps<{
|
||||||
courseId: string;
|
courseId: string;
|
||||||
|
|
|
||||||
|
|
@ -1,8 +1,8 @@
|
||||||
<script setup lang="ts">
|
<script setup lang="ts">
|
||||||
|
import BaseBox from "@/components/dashboard/BaseBox.vue";
|
||||||
|
import { fetchOpenTasksCount } from "@/services/dashboard";
|
||||||
import type { Ref } from "vue";
|
import type { Ref } from "vue";
|
||||||
import { onMounted, ref } from "vue";
|
import { onMounted, ref } from "vue";
|
||||||
import { fetchOpenTasksCount } from "@/services/dashboard";
|
|
||||||
import BaseBox from "@/components/dashboard/BaseBox.vue";
|
|
||||||
|
|
||||||
const props = defineProps<{
|
const props = defineProps<{
|
||||||
courseId: string;
|
courseId: string;
|
||||||
|
|
|
||||||
|
|
@ -1,10 +1,10 @@
|
||||||
<script setup lang="ts">
|
<script setup lang="ts">
|
||||||
import { computed, ref, watch } from "vue";
|
|
||||||
import ItDropdownSelect from "@/components/ui/ItDropdownSelect.vue";
|
import ItDropdownSelect from "@/components/ui/ItDropdownSelect.vue";
|
||||||
import { useTranslation } from "i18next-vue";
|
|
||||||
import type { StatisticsCourseSessionPropertiesType } from "@/gql/graphql";
|
import type { StatisticsCourseSessionPropertiesType } from "@/gql/graphql";
|
||||||
import type { StatisticsFilterItem } from "@/types";
|
import type { StatisticsFilterItem } from "@/types";
|
||||||
|
import { useTranslation } from "i18next-vue";
|
||||||
import _ from "lodash";
|
import _ from "lodash";
|
||||||
|
import { computed, ref, watch } from "vue";
|
||||||
|
|
||||||
const { t } = useTranslation();
|
const { t } = useTranslation();
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -1,12 +1,12 @@
|
||||||
<script setup lang="ts">
|
<script setup lang="ts">
|
||||||
|
import AssignmentSummaryBox from "@/components/dashboard/AssignmentSummaryBox.vue";
|
||||||
|
import AttendanceSummaryBox from "@/components/dashboard/AttendanceSummaryBox.vue";
|
||||||
|
import CompetenceSummaryBox from "@/components/dashboard/CompetenceSummaryBox.vue";
|
||||||
|
import FeedbackSummaryBox from "@/components/dashboard/FeedbackSummaryBox.vue";
|
||||||
|
import LoadingSpinner from "@/components/ui/LoadingSpinner.vue";
|
||||||
|
import type { CourseStatisticsType } from "@/gql/graphql";
|
||||||
import { useDashboardStore } from "@/stores/dashboard";
|
import { useDashboardStore } from "@/stores/dashboard";
|
||||||
import { computed, onMounted, ref } from "vue";
|
import { computed, onMounted, ref } from "vue";
|
||||||
import AttendanceSummaryBox from "@/components/dashboard/AttendanceSummaryBox.vue";
|
|
||||||
import type { CourseStatisticsType } from "@/gql/graphql";
|
|
||||||
import AssignmentSummaryBox from "@/components/dashboard/AssignmentSummaryBox.vue";
|
|
||||||
import FeedbackSummaryBox from "@/components/dashboard/FeedbackSummaryBox.vue";
|
|
||||||
import CompetenceSummaryBox from "@/components/dashboard/CompetenceSummaryBox.vue";
|
|
||||||
import LoadingSpinner from "@/components/ui/LoadingSpinner.vue";
|
|
||||||
|
|
||||||
const props = defineProps<{
|
const props = defineProps<{
|
||||||
courseId: string;
|
courseId: string;
|
||||||
|
|
|
||||||
|
|
@ -1,9 +1,9 @@
|
||||||
<script lang="ts" setup>
|
<script lang="ts" setup>
|
||||||
import { useDashboardPersonsDueDates } from "@/composables";
|
|
||||||
import { computed } from "vue";
|
|
||||||
import _ from "lodash";
|
|
||||||
import LoadingSpinner from "@/components/ui/LoadingSpinner.vue";
|
|
||||||
import DueDateSingle from "@/components/dueDates/DueDateSingle.vue";
|
import DueDateSingle from "@/components/dueDates/DueDateSingle.vue";
|
||||||
|
import LoadingSpinner from "@/components/ui/LoadingSpinner.vue";
|
||||||
|
import { useDashboardPersonsDueDates } from "@/composables";
|
||||||
|
import _ from "lodash";
|
||||||
|
import { computed } from "vue";
|
||||||
|
|
||||||
const props = withDefaults(
|
const props = withDefaults(
|
||||||
defineProps<{
|
defineProps<{
|
||||||
|
|
|
||||||
|
|
@ -1,8 +1,8 @@
|
||||||
<script lang="ts" setup>
|
<script lang="ts" setup>
|
||||||
import { useTranslation } from "i18next-vue";
|
|
||||||
import type { DashboardDueDate } from "@/services/dashboard";
|
import type { DashboardDueDate } from "@/services/dashboard";
|
||||||
import { computed } from "vue";
|
|
||||||
import dayjs from "dayjs";
|
import dayjs from "dayjs";
|
||||||
|
import { useTranslation } from "i18next-vue";
|
||||||
|
import { computed } from "vue";
|
||||||
|
|
||||||
const props = defineProps<{
|
const props = defineProps<{
|
||||||
dueDate: DashboardDueDate;
|
dueDate: DashboardDueDate;
|
||||||
|
|
|
||||||
|
|
@ -1,8 +1,8 @@
|
||||||
<script setup lang="ts">
|
<script setup lang="ts">
|
||||||
import { useTranslation } from "i18next-vue";
|
|
||||||
import { useRouteLookups } from "@/utils/route";
|
|
||||||
import { useCurrentCourseSession } from "@/composables";
|
import { useCurrentCourseSession } from "@/composables";
|
||||||
|
import { useRouteLookups } from "@/utils/route";
|
||||||
import { getCompetenceNaviUrl, getLearningPathUrl } from "@/utils/utils";
|
import { getCompetenceNaviUrl, getLearningPathUrl } from "@/utils/utils";
|
||||||
|
import { useTranslation } from "i18next-vue";
|
||||||
|
|
||||||
const { inCompetenceProfile, inLearningPath } = useRouteLookups();
|
const { inCompetenceProfile, inLearningPath } = useRouteLookups();
|
||||||
const courseSession = useCurrentCourseSession();
|
const courseSession = useCurrentCourseSession();
|
||||||
|
|
|
||||||
|
|
@ -1,20 +1,16 @@
|
||||||
<script setup lang="ts">
|
<script setup lang="ts">
|
||||||
import log from "loglevel";
|
|
||||||
import { getLoginURL } from "@/router/utils";
|
|
||||||
import AccountMenu from "@/components/header/AccountMenu.vue";
|
import AccountMenu from "@/components/header/AccountMenu.vue";
|
||||||
|
import CoursePreviewBar from "@/components/header/CoursePreviewBar.vue";
|
||||||
import MobileMenu from "@/components/header/MobileMenu.vue";
|
import MobileMenu from "@/components/header/MobileMenu.vue";
|
||||||
import NotificationPopover from "@/components/notifications/NotificationPopover.vue";
|
import NotificationPopover from "@/components/notifications/NotificationPopover.vue";
|
||||||
import NotificationPopoverContent from "@/components/notifications/NotificationPopoverContent.vue";
|
import NotificationPopoverContent from "@/components/notifications/NotificationPopoverContent.vue";
|
||||||
import ItFullScreenModal from "@/components/ui/ItFullScreenModal.vue";
|
import ItFullScreenModal from "@/components/ui/ItFullScreenModal.vue";
|
||||||
|
import { useVVByLink } from "@/composables";
|
||||||
|
import { getLoginURL } from "@/router/utils";
|
||||||
import { useCourseSessionsStore } from "@/stores/courseSessions";
|
import { useCourseSessionsStore } from "@/stores/courseSessions";
|
||||||
import { useNotificationsStore } from "@/stores/notifications";
|
import { useNotificationsStore } from "@/stores/notifications";
|
||||||
import { useUserStore } from "@/stores/user";
|
import { useUserStore } from "@/stores/user";
|
||||||
import { useRouteLookups } from "@/utils/route";
|
import { useRouteLookups } from "@/utils/route";
|
||||||
import { Popover, PopoverButton, PopoverPanel } from "@headlessui/vue";
|
|
||||||
import { breakpointsTailwind, useBreakpoints } from "@vueuse/core";
|
|
||||||
import { computed, onMounted, reactive } from "vue";
|
|
||||||
import { useTranslation } from "i18next-vue";
|
|
||||||
import CoursePreviewBar from "@/components/header/CoursePreviewBar.vue";
|
|
||||||
import {
|
import {
|
||||||
getCockpitUrl,
|
getCockpitUrl,
|
||||||
getCompetenceNaviUrl,
|
getCompetenceNaviUrl,
|
||||||
|
|
@ -23,7 +19,11 @@ import {
|
||||||
getMediaCenterUrl,
|
getMediaCenterUrl,
|
||||||
isVVLearningMentor,
|
isVVLearningMentor,
|
||||||
} from "@/utils/utils";
|
} from "@/utils/utils";
|
||||||
import { useVVByLink } from "@/composables";
|
import { Popover, PopoverButton, PopoverPanel } from "@headlessui/vue";
|
||||||
|
import { breakpointsTailwind, useBreakpoints } from "@vueuse/core";
|
||||||
|
import { useTranslation } from "i18next-vue";
|
||||||
|
import log from "loglevel";
|
||||||
|
import { computed, onMounted, reactive } from "vue";
|
||||||
|
|
||||||
log.debug("MainNavigationBar created");
|
log.debug("MainNavigationBar created");
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -1,8 +1,9 @@
|
||||||
<script setup lang="ts">
|
<script setup lang="ts">
|
||||||
import ItFullScreenModal from "@/components/ui/ItFullScreenModal.vue";
|
import ItFullScreenModal from "@/components/ui/ItFullScreenModal.vue";
|
||||||
|
import { useVVByLink } from "@/composables";
|
||||||
|
import { useCourseSessionsStore } from "@/stores/courseSessions";
|
||||||
import type { User } from "@/stores/user";
|
import type { User } from "@/stores/user";
|
||||||
import type { CourseSession } from "@/types";
|
import type { CourseSession } from "@/types";
|
||||||
import { useRouter } from "vue-router";
|
|
||||||
import {
|
import {
|
||||||
getCockpitUrl,
|
getCockpitUrl,
|
||||||
getCompetenceNaviUrl,
|
getCompetenceNaviUrl,
|
||||||
|
|
@ -12,8 +13,7 @@ import {
|
||||||
isVVLearningMentor,
|
isVVLearningMentor,
|
||||||
} from "@/utils/utils";
|
} from "@/utils/utils";
|
||||||
import { computed } from "vue";
|
import { computed } from "vue";
|
||||||
import { useCourseSessionsStore } from "@/stores/courseSessions";
|
import { useRouter } from "vue-router";
|
||||||
import { useVVByLink } from "@/composables";
|
|
||||||
|
|
||||||
const router = useRouter();
|
const router = useRouter();
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -1,6 +1,6 @@
|
||||||
<script setup lang="ts">
|
<script setup lang="ts">
|
||||||
import type { RouteLocationRaw } from "vue-router";
|
|
||||||
import { computed } from "vue";
|
import { computed } from "vue";
|
||||||
|
import type { RouteLocationRaw } from "vue-router";
|
||||||
|
|
||||||
const props = defineProps<{
|
const props = defineProps<{
|
||||||
taskTitle: string;
|
taskTitle: string;
|
||||||
|
|
|
||||||
|
|
@ -1,9 +1,9 @@
|
||||||
<script setup lang="ts">
|
<script setup lang="ts">
|
||||||
import { useLearningMentees } from "@/services/learningMentees";
|
import LoadingSpinner from "@/components/ui/LoadingSpinner.vue";
|
||||||
import { useCurrentCourseSession } from "@/composables";
|
import { useCurrentCourseSession } from "@/composables";
|
||||||
import { useCSRFFetch } from "@/fetchHelpers";
|
import { useCSRFFetch } from "@/fetchHelpers";
|
||||||
|
import { useLearningMentees } from "@/services/learningMentees";
|
||||||
import { computed } from "vue";
|
import { computed } from "vue";
|
||||||
import LoadingSpinner from "@/components/ui/LoadingSpinner.vue";
|
|
||||||
|
|
||||||
const courseSession = useCurrentCourseSession();
|
const courseSession = useCurrentCourseSession();
|
||||||
const { isLoading, summary, fetchData } = useLearningMentees(courseSession.value.id);
|
const { isLoading, summary, fetchData } = useLearningMentees(courseSession.value.id);
|
||||||
|
|
|
||||||
|
|
@ -1,9 +1,9 @@
|
||||||
<script setup lang="ts">
|
<script setup lang="ts">
|
||||||
import { useCurrentCourseSession } from "@/composables";
|
|
||||||
import ItModal from "@/components/ui/ItModal.vue";
|
import ItModal from "@/components/ui/ItModal.vue";
|
||||||
import { computed, ref } from "vue";
|
import { useCurrentCourseSession } from "@/composables";
|
||||||
import { useCSRFFetch } from "@/fetchHelpers";
|
import { useCSRFFetch } from "@/fetchHelpers";
|
||||||
import { useUserStore } from "@/stores/user";
|
import { useUserStore } from "@/stores/user";
|
||||||
|
import { computed, ref } from "vue";
|
||||||
|
|
||||||
const courseSession = useCurrentCourseSession();
|
const courseSession = useCurrentCourseSession();
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -1,4 +1,6 @@
|
||||||
<script setup lang="ts">
|
<script setup lang="ts">
|
||||||
|
import LoadingSpinner from "@/components/ui/LoadingSpinner.vue";
|
||||||
|
import { useCourseCircleProgress, useCourseDataWithCompletion } from "@/composables";
|
||||||
import LearningPathCircle from "@/pages/learningPath/learningPathPage/LearningPathCircle.vue";
|
import LearningPathCircle from "@/pages/learningPath/learningPathPage/LearningPathCircle.vue";
|
||||||
import {
|
import {
|
||||||
calculateCircleSectorData,
|
calculateCircleSectorData,
|
||||||
|
|
@ -6,8 +8,6 @@ import {
|
||||||
useCourseFilter,
|
useCourseFilter,
|
||||||
} from "@/pages/learningPath/learningPathPage/utils";
|
} from "@/pages/learningPath/learningPathPage/utils";
|
||||||
import { computed } from "vue";
|
import { computed } from "vue";
|
||||||
import { useCourseCircleProgress, useCourseDataWithCompletion } from "@/composables";
|
|
||||||
import LoadingSpinner from "@/components/ui/LoadingSpinner.vue";
|
|
||||||
|
|
||||||
export type DiagramType = "horizontal" | "horizontalSmall" | "singleSmall";
|
export type DiagramType = "horizontal" | "horizontalSmall" | "singleSmall";
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -11,12 +11,12 @@ import * as log from "loglevel";
|
||||||
import { useCourseDataWithCompletion, useCurrentCourseSession } from "@/composables";
|
import { useCourseDataWithCompletion, useCurrentCourseSession } from "@/composables";
|
||||||
import LearningContentContainer from "@/pages/learningPath/learningContentPage/LearningContentContainer.vue";
|
import LearningContentContainer from "@/pages/learningPath/learningContentPage/LearningContentContainer.vue";
|
||||||
import LearningContentMultiLayout from "@/pages/learningPath/learningContentPage/layouts/LearningContentMultiLayout.vue";
|
import LearningContentMultiLayout from "@/pages/learningPath/learningContentPage/layouts/LearningContentMultiLayout.vue";
|
||||||
|
import SelfEvaluationRequestFeedbackPage from "@/pages/learningPath/selfEvaluationPage/SelfEvaluationRequestFeedbackPage.vue";
|
||||||
|
import { getPreviousRoute } from "@/router/history";
|
||||||
import eventBus from "@/utils/eventBus";
|
import eventBus from "@/utils/eventBus";
|
||||||
|
import { getCompetenceNaviUrl } from "@/utils/utils";
|
||||||
import { useRouteQuery } from "@vueuse/router";
|
import { useRouteQuery } from "@vueuse/router";
|
||||||
import { computed, onUnmounted } from "vue";
|
import { computed, onUnmounted } from "vue";
|
||||||
import { getPreviousRoute } from "@/router/history";
|
|
||||||
import { getCompetenceNaviUrl } from "@/utils/utils";
|
|
||||||
import SelfEvaluationRequestFeedbackPage from "@/pages/learningPath/selfEvaluationPage/SelfEvaluationRequestFeedbackPage.vue";
|
|
||||||
|
|
||||||
log.debug("LearningContent.vue setup");
|
log.debug("LearningContent.vue setup");
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -1,17 +1,17 @@
|
||||||
<script setup lang="ts">
|
<script setup lang="ts">
|
||||||
import ItCheckbox from "@/components/ui/ItCheckbox.vue";
|
|
||||||
import { computed, reactive } from "vue";
|
|
||||||
import type { CourseSessionUserObjectsType } from "@/gql/graphql";
|
|
||||||
import dayjs from "dayjs";
|
|
||||||
import DateEmbedding from "@/components/dueDates/DateEmbedding.vue";
|
import DateEmbedding from "@/components/dueDates/DateEmbedding.vue";
|
||||||
import ItButton from "@/components/ui/ItButton.vue";
|
import ItButton from "@/components/ui/ItButton.vue";
|
||||||
import { useMutation } from "@urql/vue";
|
import ItCheckbox from "@/components/ui/ItCheckbox.vue";
|
||||||
|
import { bustItGetCache } from "@/fetchHelpers";
|
||||||
|
import type { CourseSessionUserObjectsType } from "@/gql/graphql";
|
||||||
import { UPSERT_ASSIGNMENT_COMPLETION_MUTATION } from "@/graphql/mutations";
|
import { UPSERT_ASSIGNMENT_COMPLETION_MUTATION } from "@/graphql/mutations";
|
||||||
import { useUserStore } from "@/stores/user";
|
import { useUserStore } from "@/stores/user";
|
||||||
import { bustItGetCache } from "@/fetchHelpers";
|
|
||||||
import eventBus from "@/utils/eventBus";
|
|
||||||
import log from "loglevel";
|
|
||||||
import type { Assignment } from "@/types";
|
import type { Assignment } from "@/types";
|
||||||
|
import eventBus from "@/utils/eventBus";
|
||||||
|
import { useMutation } from "@urql/vue";
|
||||||
|
import dayjs from "dayjs";
|
||||||
|
import log from "loglevel";
|
||||||
|
import { computed, reactive } from "vue";
|
||||||
|
|
||||||
const props = defineProps<{
|
const props = defineProps<{
|
||||||
evaluationDocumentUrl: string;
|
evaluationDocumentUrl: string;
|
||||||
|
|
|
||||||
|
|
@ -1,20 +1,20 @@
|
||||||
<script setup lang="ts">
|
<script setup lang="ts">
|
||||||
import ItButton from "@/components/ui/ItButton.vue";
|
import ItButton from "@/components/ui/ItButton.vue";
|
||||||
import ItCheckbox from "@/components/ui/ItCheckbox.vue";
|
import ItCheckbox from "@/components/ui/ItCheckbox.vue";
|
||||||
import { ref } from "vue";
|
|
||||||
import { bustItGetCache } from "@/fetchHelpers";
|
import { bustItGetCache } from "@/fetchHelpers";
|
||||||
import { useUserStore } from "@/stores/user";
|
import { useUserStore } from "@/stores/user";
|
||||||
import eventBus from "@/utils/eventBus";
|
import eventBus from "@/utils/eventBus";
|
||||||
import log from "loglevel";
|
|
||||||
import dayjs from "dayjs";
|
import dayjs from "dayjs";
|
||||||
|
import log from "loglevel";
|
||||||
|
import { ref } from "vue";
|
||||||
|
|
||||||
import { useMutation } from "@urql/vue";
|
import SampleSolution from "@/components/assignment/SampleSolution.vue";
|
||||||
|
import DateEmbedding from "@/components/dueDates/DateEmbedding.vue";
|
||||||
|
import NoMentorInformationPanel from "@/components/learningMentor/NoMentorInformationPanel.vue";
|
||||||
|
import { useMyLearningMentors } from "@/composables";
|
||||||
import { UPSERT_ASSIGNMENT_COMPLETION_MUTATION } from "@/graphql/mutations";
|
import { UPSERT_ASSIGNMENT_COMPLETION_MUTATION } from "@/graphql/mutations";
|
||||||
import type { Assignment } from "@/types";
|
import type { Assignment } from "@/types";
|
||||||
import DateEmbedding from "@/components/dueDates/DateEmbedding.vue";
|
import { useMutation } from "@urql/vue";
|
||||||
import { useMyLearningMentors } from "@/composables";
|
|
||||||
import NoMentorInformationPanel from "@/components/learningMentor/NoMentorInformationPanel.vue";
|
|
||||||
import SampleSolution from "@/components/assignment/SampleSolution.vue";
|
|
||||||
|
|
||||||
const props = defineProps<{
|
const props = defineProps<{
|
||||||
submissionDeadlineStart?: string | null;
|
submissionDeadlineStart?: string | null;
|
||||||
|
|
|
||||||
|
|
@ -1,14 +1,14 @@
|
||||||
<script setup lang="ts">
|
<script setup lang="ts">
|
||||||
import ItButton from "@/components/ui/ItButton.vue";
|
import ItButton from "@/components/ui/ItButton.vue";
|
||||||
import ItCheckbox from "@/components/ui/ItCheckbox.vue";
|
import ItCheckbox from "@/components/ui/ItCheckbox.vue";
|
||||||
import { ref } from "vue";
|
|
||||||
import { bustItGetCache } from "@/fetchHelpers";
|
import { bustItGetCache } from "@/fetchHelpers";
|
||||||
import { useUserStore } from "@/stores/user";
|
|
||||||
import eventBus from "@/utils/eventBus";
|
|
||||||
import log from "loglevel";
|
|
||||||
import { useMutation } from "@urql/vue";
|
|
||||||
import { UPSERT_ASSIGNMENT_COMPLETION_MUTATION } from "@/graphql/mutations";
|
import { UPSERT_ASSIGNMENT_COMPLETION_MUTATION } from "@/graphql/mutations";
|
||||||
|
import { useUserStore } from "@/stores/user";
|
||||||
import type { Assignment } from "@/types";
|
import type { Assignment } from "@/types";
|
||||||
|
import eventBus from "@/utils/eventBus";
|
||||||
|
import { useMutation } from "@urql/vue";
|
||||||
|
import log from "loglevel";
|
||||||
|
import { ref } from "vue";
|
||||||
|
|
||||||
const props = defineProps<{
|
const props = defineProps<{
|
||||||
courseSessionId: string;
|
courseSessionId: string;
|
||||||
|
|
|
||||||
|
|
@ -9,8 +9,8 @@
|
||||||
</template>
|
</template>
|
||||||
|
|
||||||
<script>
|
<script>
|
||||||
import { ref, computed, onMounted } from "vue";
|
|
||||||
import { getLocalSessionKey } from "@/statistics";
|
import { getLocalSessionKey } from "@/statistics";
|
||||||
|
import { computed, onMounted, ref } from "vue";
|
||||||
|
|
||||||
export default {
|
export default {
|
||||||
// code needed for Datatrans/Cembra device fingerprinting
|
// code needed for Datatrans/Cembra device fingerprinting
|
||||||
|
|
|
||||||
|
|
@ -1,6 +1,6 @@
|
||||||
<script setup lang="ts">
|
<script setup lang="ts">
|
||||||
import { computed } from "vue";
|
|
||||||
import { useEntities } from "@/services/entities";
|
import { useEntities } from "@/services/entities";
|
||||||
|
import { computed } from "vue";
|
||||||
|
|
||||||
const props = defineProps<{
|
const props = defineProps<{
|
||||||
modelValue: {
|
modelValue: {
|
||||||
|
|
|
||||||
|
|
@ -1,9 +1,9 @@
|
||||||
<script setup lang="ts">
|
<script setup lang="ts">
|
||||||
import { computed } from "vue";
|
import ItDatePicker from "@/components/ui/ItDatePicker.vue";
|
||||||
import { useEntities } from "@/services/entities";
|
import { useEntities } from "@/services/entities";
|
||||||
import "@vuepic/vue-datepicker/dist/main.css";
|
import "@vuepic/vue-datepicker/dist/main.css";
|
||||||
import { t } from "i18next";
|
import { t } from "i18next";
|
||||||
import ItDatePicker from "@/components/ui/ItDatePicker.vue";
|
import { computed } from "vue";
|
||||||
|
|
||||||
const props = defineProps<{
|
const props = defineProps<{
|
||||||
modelValue: {
|
modelValue: {
|
||||||
|
|
|
||||||
|
|
@ -1,8 +1,8 @@
|
||||||
<script setup lang="ts">
|
<script setup lang="ts">
|
||||||
import ItNavigationProgress from "@/components/ui/ItNavigationProgress.vue";
|
import ItNavigationProgress from "@/components/ui/ItNavigationProgress.vue";
|
||||||
|
import { isString, startsWith } from "lodash";
|
||||||
import { computed } from "vue";
|
import { computed } from "vue";
|
||||||
import { useRoute } from "vue-router";
|
import { useRoute } from "vue-router";
|
||||||
import { isString, startsWith } from "lodash";
|
|
||||||
|
|
||||||
const route = useRoute();
|
const route = useRoute();
|
||||||
const props = defineProps<{
|
const props = defineProps<{
|
||||||
|
|
|
||||||
|
|
@ -1,8 +1,8 @@
|
||||||
<script setup lang="ts">
|
<script setup lang="ts">
|
||||||
import { SUPPORT_LOCALES } from "@/i18nextWrapper";
|
import { SUPPORT_LOCALES } from "@/i18nextWrapper";
|
||||||
import { Menu, MenuButton, MenuItem, MenuItems } from "@headlessui/vue";
|
|
||||||
import type { AvailableLanguages } from "@/stores/user";
|
import type { AvailableLanguages } from "@/stores/user";
|
||||||
import { useUserStore } from "@/stores/user";
|
import { useUserStore } from "@/stores/user";
|
||||||
|
import { Menu, MenuButton, MenuItem, MenuItems } from "@headlessui/vue";
|
||||||
|
|
||||||
const props = defineProps<{
|
const props = defineProps<{
|
||||||
courseName: string;
|
courseName: string;
|
||||||
|
|
|
||||||
|
|
@ -1,10 +1,10 @@
|
||||||
<script setup lang="ts">
|
<script setup lang="ts">
|
||||||
import { useEntities } from "@/services/entities";
|
|
||||||
import AvatarImage from "@/components/ui/AvatarImage.vue";
|
import AvatarImage from "@/components/ui/AvatarImage.vue";
|
||||||
import { ref } from "vue";
|
|
||||||
import { type User, useUserStore } from "@/stores/user";
|
|
||||||
import ItDatePicker from "@/components/ui/ItDatePicker.vue";
|
import ItDatePicker from "@/components/ui/ItDatePicker.vue";
|
||||||
|
import { useEntities } from "@/services/entities";
|
||||||
|
import { type User, useUserStore } from "@/stores/user";
|
||||||
import { normalizeSwissPhoneNumber } from "@/utils/phone";
|
import { normalizeSwissPhoneNumber } from "@/utils/phone";
|
||||||
|
import { ref } from "vue";
|
||||||
|
|
||||||
const emit = defineEmits(["cancel", "save"]);
|
const emit = defineEmits(["cancel", "save"]);
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -1,10 +1,10 @@
|
||||||
<script setup lang="ts">
|
<script setup lang="ts">
|
||||||
import { useUserStore } from "@/stores/user";
|
|
||||||
import { computed } from "vue";
|
|
||||||
import { useEntities } from "@/services/entities";
|
import { useEntities } from "@/services/entities";
|
||||||
import { useTranslation } from "i18next-vue";
|
import { useUserStore } from "@/stores/user";
|
||||||
import dayjs from "dayjs";
|
|
||||||
import { displaySwissPhoneNumber } from "@/utils/phone";
|
import { displaySwissPhoneNumber } from "@/utils/phone";
|
||||||
|
import dayjs from "dayjs";
|
||||||
|
import { useTranslation } from "i18next-vue";
|
||||||
|
import { computed } from "vue";
|
||||||
|
|
||||||
const { t } = useTranslation();
|
const { t } = useTranslation();
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -1,7 +1,7 @@
|
||||||
<script setup lang="ts">
|
<script setup lang="ts">
|
||||||
import { computed } from "vue";
|
|
||||||
import type { LearningUnitSummary } from "@/services/selfEvaluationFeedback";
|
|
||||||
import SmileyCell from "@/components/selfEvaluationFeedback/SmileyCell.vue";
|
import SmileyCell from "@/components/selfEvaluationFeedback/SmileyCell.vue";
|
||||||
|
import type { LearningUnitSummary } from "@/services/selfEvaluationFeedback";
|
||||||
|
import { computed } from "vue";
|
||||||
|
|
||||||
const props = defineProps<{
|
const props = defineProps<{
|
||||||
summary: LearningUnitSummary;
|
summary: LearningUnitSummary;
|
||||||
|
|
|
||||||
|
|
@ -1,11 +1,11 @@
|
||||||
<script setup lang="ts">
|
<script setup lang="ts">
|
||||||
import { computed } from "vue";
|
|
||||||
import {
|
import {
|
||||||
type FeedbackRequest,
|
type FeedbackRequest,
|
||||||
getFeedbackEvaluationCaption,
|
getFeedbackEvaluationCaption,
|
||||||
getSelfEvaluationCaption,
|
getSelfEvaluationCaption,
|
||||||
getSmiley,
|
getSmiley,
|
||||||
} from "@/services/selfEvaluationFeedback";
|
} from "@/services/selfEvaluationFeedback";
|
||||||
|
import { computed } from "vue";
|
||||||
|
|
||||||
const props = defineProps<{
|
const props = defineProps<{
|
||||||
feedback: FeedbackRequest;
|
feedback: FeedbackRequest;
|
||||||
|
|
|
||||||
|
|
@ -1,7 +1,7 @@
|
||||||
<script setup lang="ts">
|
<script setup lang="ts">
|
||||||
import type { FeedbackRequest } from "@/services/selfEvaluationFeedback";
|
|
||||||
import FeedbackProvided from "@/components/selfEvaluationFeedback/FeedbackProvided.vue";
|
import FeedbackProvided from "@/components/selfEvaluationFeedback/FeedbackProvided.vue";
|
||||||
import ItButton from "@/components/ui/ItButton.vue";
|
import ItButton from "@/components/ui/ItButton.vue";
|
||||||
|
import type { FeedbackRequest } from "@/services/selfEvaluationFeedback";
|
||||||
|
|
||||||
defineProps<{
|
defineProps<{
|
||||||
feedback: FeedbackRequest;
|
feedback: FeedbackRequest;
|
||||||
|
|
|
||||||
|
|
@ -1,11 +1,11 @@
|
||||||
<script setup lang="ts">
|
<script setup lang="ts">
|
||||||
import { computed } from "vue";
|
|
||||||
import {
|
import {
|
||||||
type FeedbackRequest,
|
type FeedbackRequest,
|
||||||
getFeedbackReceivedCaption,
|
getFeedbackReceivedCaption,
|
||||||
getSelfEvaluationCaption,
|
getSelfEvaluationCaption,
|
||||||
getSmiley,
|
getSmiley,
|
||||||
} from "@/services/selfEvaluationFeedback";
|
} from "@/services/selfEvaluationFeedback";
|
||||||
|
import { computed } from "vue";
|
||||||
|
|
||||||
const props = defineProps<{
|
const props = defineProps<{
|
||||||
feedback: FeedbackRequest;
|
feedback: FeedbackRequest;
|
||||||
|
|
|
||||||
|
|
@ -1,10 +1,10 @@
|
||||||
<script setup lang="ts">
|
<script setup lang="ts">
|
||||||
|
import ItProgress from "@/components/ui/ItProgress.vue";
|
||||||
|
import { useCourseSessionDetailQuery } from "@/composables";
|
||||||
|
import { itGet } from "@/fetchHelpers";
|
||||||
import type { CourseSession } from "@/types";
|
import type { CourseSession } from "@/types";
|
||||||
import log from "loglevel";
|
import log from "loglevel";
|
||||||
import { computed, onMounted, ref } from "vue";
|
import { computed, onMounted, ref } from "vue";
|
||||||
import ItProgress from "@/components/ui/ItProgress.vue";
|
|
||||||
import { itGet } from "@/fetchHelpers";
|
|
||||||
import { useCourseSessionDetailQuery } from "@/composables";
|
|
||||||
|
|
||||||
const props = defineProps<{
|
const props = defineProps<{
|
||||||
courseSession: CourseSession;
|
courseSession: CourseSession;
|
||||||
|
|
|
||||||
|
|
@ -1,11 +1,11 @@
|
||||||
<script setup lang="ts">
|
<script setup lang="ts">
|
||||||
import { useSelfEvaluationFeedbackSummaries } from "@/services/selfEvaluationFeedback";
|
|
||||||
import { useCurrentCourseSession, useEvaluationWithFeedback } from "@/composables";
|
|
||||||
import { computed, ref } from "vue";
|
|
||||||
import FeedbackByLearningUnitSummary from "@/components/selfEvaluationFeedback/FeedbackByLearningUnitSummary.vue";
|
import FeedbackByLearningUnitSummary from "@/components/selfEvaluationFeedback/FeedbackByLearningUnitSummary.vue";
|
||||||
import ItDropdownSelect from "@/components/ui/ItDropdownSelect.vue";
|
import ItDropdownSelect from "@/components/ui/ItDropdownSelect.vue";
|
||||||
import { t } from "i18next";
|
import { useCurrentCourseSession, useEvaluationWithFeedback } from "@/composables";
|
||||||
|
import { useSelfEvaluationFeedbackSummaries } from "@/services/selfEvaluationFeedback";
|
||||||
import { useUserStore } from "@/stores/user";
|
import { useUserStore } from "@/stores/user";
|
||||||
|
import { t } from "i18next";
|
||||||
|
import { computed, ref } from "vue";
|
||||||
|
|
||||||
const props = defineProps<{
|
const props = defineProps<{
|
||||||
profileUserId: string;
|
profileUserId: string;
|
||||||
|
|
|
||||||
|
|
@ -1,7 +1,7 @@
|
||||||
<script setup lang="ts">
|
<script setup lang="ts">
|
||||||
import { computed } from "vue";
|
|
||||||
import { useSelfEvaluationFeedbackSummaries } from "@/services/selfEvaluationFeedback";
|
|
||||||
import { useCurrentCourseSession, useEvaluationWithFeedback } from "@/composables";
|
import { useCurrentCourseSession, useEvaluationWithFeedback } from "@/composables";
|
||||||
|
import { useSelfEvaluationFeedbackSummaries } from "@/services/selfEvaluationFeedback";
|
||||||
|
import { computed } from "vue";
|
||||||
|
|
||||||
const emit = defineEmits(["showAll"]);
|
const emit = defineEmits(["showAll"]);
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -1,10 +1,10 @@
|
||||||
<script setup lang="ts">
|
<script setup lang="ts">
|
||||||
import type { CheckboxItem } from "@/components/ui/checkbox.types";
|
import type { CheckboxItem } from "@/components/ui/checkbox.types";
|
||||||
import log from "loglevel";
|
|
||||||
import {
|
import {
|
||||||
itCheckboxDefaultIconCheckedTailwindClass,
|
itCheckboxDefaultIconCheckedTailwindClass,
|
||||||
itCheckboxDefaultIconUncheckedTailwindClass,
|
itCheckboxDefaultIconUncheckedTailwindClass,
|
||||||
} from "@/constants";
|
} from "@/constants";
|
||||||
|
import log from "loglevel";
|
||||||
|
|
||||||
interface Props {
|
interface Props {
|
||||||
checkboxItem: CheckboxItem<any>;
|
checkboxItem: CheckboxItem<any>;
|
||||||
|
|
|
||||||
|
|
@ -2,7 +2,7 @@
|
||||||
import { useUserStore } from "@/stores/user";
|
import { useUserStore } from "@/stores/user";
|
||||||
import VueDatePicker from "@vuepic/vue-datepicker";
|
import VueDatePicker from "@vuepic/vue-datepicker";
|
||||||
import "@vuepic/vue-datepicker/dist/main.css";
|
import "@vuepic/vue-datepicker/dist/main.css";
|
||||||
import { defineProps, withDefaults, defineModel } from "vue";
|
import { defineModel, defineProps, withDefaults } from "vue";
|
||||||
|
|
||||||
const model = defineModel<string>();
|
const model = defineModel<string>();
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -73,11 +73,11 @@
|
||||||
|
|
||||||
<script setup lang="ts">
|
<script setup lang="ts">
|
||||||
import QuestionSummary from "@/components/ui/QuestionSummary.vue";
|
import QuestionSummary from "@/components/ui/QuestionSummary.vue";
|
||||||
|
import { getBlendedColorForRating } from "@/utils/ratingToColor";
|
||||||
import { Popover, PopoverButton, PopoverPanel } from "@headlessui/vue";
|
import { Popover, PopoverButton, PopoverPanel } from "@headlessui/vue";
|
||||||
import { computed } from "vue";
|
|
||||||
import { useTranslation } from "i18next-vue";
|
import { useTranslation } from "i18next-vue";
|
||||||
import log from "loglevel";
|
import log from "loglevel";
|
||||||
import { getBlendedColorForRating } from "@/utils/ratingToColor";
|
import { computed } from "vue";
|
||||||
|
|
||||||
const { t } = useTranslation();
|
const { t } = useTranslation();
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -1,6 +1,6 @@
|
||||||
<script setup lang="ts">
|
<script setup lang="ts">
|
||||||
import { computed } from "vue";
|
|
||||||
import { setExternalLinksToOpenInNewTab } from "@/utils/dom";
|
import { setExternalLinksToOpenInNewTab } from "@/utils/dom";
|
||||||
|
import { computed } from "vue";
|
||||||
|
|
||||||
const props = withDefaults(
|
const props = withDefaults(
|
||||||
defineProps<{
|
defineProps<{
|
||||||
|
|
|
||||||
|
|
@ -11,9 +11,9 @@ import ItToggleSwitch from "@/components/ui/ItToggleSwitch.vue";
|
||||||
import RatingScale from "@/components/ui/RatingScale.vue";
|
import RatingScale from "@/components/ui/RatingScale.vue";
|
||||||
import VerticalBarChart from "@/components/ui/VerticalBarChart.vue";
|
import VerticalBarChart from "@/components/ui/VerticalBarChart.vue";
|
||||||
import LearningPathCircle from "@/pages/learningPath/learningPathPage/LearningPathCircle.vue";
|
import LearningPathCircle from "@/pages/learningPath/learningPathPage/LearningPathCircle.vue";
|
||||||
|
import "@vuepic/vue-datepicker/dist/main.css";
|
||||||
import logger from "loglevel";
|
import logger from "loglevel";
|
||||||
import { reactive, ref } from "vue";
|
import { reactive, ref } from "vue";
|
||||||
import "@vuepic/vue-datepicker/dist/main.css";
|
|
||||||
|
|
||||||
const state = reactive({
|
const state = reactive({
|
||||||
checkboxValue: true,
|
checkboxValue: true,
|
||||||
|
|
|
||||||
|
|
@ -1,16 +1,16 @@
|
||||||
<script setup lang="ts">
|
<script setup lang="ts">
|
||||||
|
import EvaluationContainer from "@/components/assignment/evaluation/EvaluationContainer.vue";
|
||||||
import { useCurrentCourseSession } from "@/composables";
|
import { useCurrentCourseSession } from "@/composables";
|
||||||
import { ASSIGNMENT_COMPLETION_QUERY } from "@/graphql/queries";
|
import { ASSIGNMENT_COMPLETION_QUERY } from "@/graphql/queries";
|
||||||
import EvaluationContainer from "@/components/assignment/evaluation/EvaluationContainer.vue";
|
|
||||||
import AssignmentSubmissionResponses from "@/pages/learningPath/learningContentPage/assignment/AssignmentSubmissionResponses.vue";
|
import AssignmentSubmissionResponses from "@/pages/learningPath/learningContentPage/assignment/AssignmentSubmissionResponses.vue";
|
||||||
|
import { getPreviousRoute } from "@/router/history";
|
||||||
import type { Assignment, AssignmentCompletion, CourseSessionUser } from "@/types";
|
import type { Assignment, AssignmentCompletion, CourseSessionUser } from "@/types";
|
||||||
import { useQuery } from "@urql/vue";
|
import { useQuery } from "@urql/vue";
|
||||||
|
import { useTranslation } from "i18next-vue";
|
||||||
import log from "loglevel";
|
import log from "loglevel";
|
||||||
import { computed, onMounted } from "vue";
|
import { computed, onMounted } from "vue";
|
||||||
import { useRouter } from "vue-router";
|
import { useRouter } from "vue-router";
|
||||||
import { getPreviousRoute } from "@/router/history";
|
|
||||||
import { getAssignmentTypeTitle } from "../../utils/utils";
|
import { getAssignmentTypeTitle } from "../../utils/utils";
|
||||||
import { useTranslation } from "i18next-vue";
|
|
||||||
|
|
||||||
const props = defineProps<{
|
const props = defineProps<{
|
||||||
courseSlug: string;
|
courseSlug: string;
|
||||||
|
|
|
||||||
|
|
@ -1,9 +1,9 @@
|
||||||
<script setup lang="ts">
|
<script setup lang="ts">
|
||||||
|
import { useCourseSessionDetailQuery } from "@/composables";
|
||||||
|
import { useExpertCockpitPageData } from "@/pages/cockpit/cockpitPage/composables";
|
||||||
import CirclePage from "@/pages/learningPath/circlePage/CirclePage.vue";
|
import CirclePage from "@/pages/learningPath/circlePage/CirclePage.vue";
|
||||||
import * as log from "loglevel";
|
import * as log from "loglevel";
|
||||||
import { computed, onMounted } from "vue";
|
import { computed, onMounted } from "vue";
|
||||||
import { useCourseSessionDetailQuery } from "@/composables";
|
|
||||||
import { useExpertCockpitPageData } from "@/pages/cockpit/cockpitPage/composables";
|
|
||||||
|
|
||||||
const props = defineProps<{
|
const props = defineProps<{
|
||||||
userId: string;
|
userId: string;
|
||||||
|
|
|
||||||
|
|
@ -42,15 +42,15 @@
|
||||||
<script setup lang="ts">
|
<script setup lang="ts">
|
||||||
import { useCurrentCourseSession } from "@/composables";
|
import { useCurrentCourseSession } from "@/composables";
|
||||||
import { itGet } from "@/fetchHelpers";
|
import { itGet } from "@/fetchHelpers";
|
||||||
import * as log from "loglevel";
|
|
||||||
import { onMounted, ref } from "vue";
|
|
||||||
import type { FeedbackData, FeedbackType } from "@/types";
|
|
||||||
import FeedbackPageVV from "@/pages/cockpit/FeedbackPageVV.vue";
|
|
||||||
import FeedbackPageUK from "@/pages/cockpit/FeedbackPageUK.vue";
|
import FeedbackPageUK from "@/pages/cockpit/FeedbackPageUK.vue";
|
||||||
|
import FeedbackPageVV from "@/pages/cockpit/FeedbackPageVV.vue";
|
||||||
import { useExpertCockpitPageData } from "@/pages/cockpit/cockpitPage/composables";
|
import { useExpertCockpitPageData } from "@/pages/cockpit/cockpitPage/composables";
|
||||||
import { exportFeedback } from "@/services/dashboard";
|
import { exportFeedback } from "@/services/dashboard";
|
||||||
import { useUserStore } from "@/stores/user";
|
import { useUserStore } from "@/stores/user";
|
||||||
|
import type { FeedbackData, FeedbackType } from "@/types";
|
||||||
import { openDataAsXls } from "@/utils/export";
|
import { openDataAsXls } from "@/utils/export";
|
||||||
|
import * as log from "loglevel";
|
||||||
|
import { onMounted, ref } from "vue";
|
||||||
|
|
||||||
const props = defineProps<{
|
const props = defineProps<{
|
||||||
courseSlug: string;
|
courseSlug: string;
|
||||||
|
|
|
||||||
|
|
@ -12,8 +12,8 @@
|
||||||
<script setup lang="ts">
|
<script setup lang="ts">
|
||||||
import FeedbackResults from "@/pages/cockpit/FeedbackResults.vue";
|
import FeedbackResults from "@/pages/cockpit/FeedbackResults.vue";
|
||||||
import type { FeedbackData } from "@/types";
|
import type { FeedbackData } from "@/types";
|
||||||
import * as log from "loglevel";
|
|
||||||
import { useTranslation } from "i18next-vue";
|
import { useTranslation } from "i18next-vue";
|
||||||
|
import * as log from "loglevel";
|
||||||
|
|
||||||
defineProps<{
|
defineProps<{
|
||||||
feedbackData: FeedbackData;
|
feedbackData: FeedbackData;
|
||||||
|
|
|
||||||
|
|
@ -12,8 +12,8 @@
|
||||||
<script setup lang="ts">
|
<script setup lang="ts">
|
||||||
import FeedbackResults from "@/pages/cockpit/FeedbackResults.vue";
|
import FeedbackResults from "@/pages/cockpit/FeedbackResults.vue";
|
||||||
import type { FeedbackData } from "@/types";
|
import type { FeedbackData } from "@/types";
|
||||||
import * as log from "loglevel";
|
|
||||||
import { useTranslation } from "i18next-vue";
|
import { useTranslation } from "i18next-vue";
|
||||||
|
import * as log from "loglevel";
|
||||||
|
|
||||||
defineProps<{
|
defineProps<{
|
||||||
feedbackData: FeedbackData;
|
feedbackData: FeedbackData;
|
||||||
|
|
|
||||||
|
|
@ -1,6 +1,8 @@
|
||||||
<script setup lang="ts">
|
<script setup lang="ts">
|
||||||
|
import AssignmentSubmissionProgress from "@/components/assignment/AssignmentSubmissionProgress.vue";
|
||||||
import ItPersonRow from "@/components/ui/ItPersonRow.vue";
|
import ItPersonRow from "@/components/ui/ItPersonRow.vue";
|
||||||
import type { StatusCount } from "@/components/ui/ItProgress.vue";
|
import type { StatusCount } from "@/components/ui/ItProgress.vue";
|
||||||
|
import { useCourseSessionDetailQuery } from "@/composables";
|
||||||
import type { GradedUser } from "@/services/assignmentService";
|
import type { GradedUser } from "@/services/assignmentService";
|
||||||
import { loadAssignmentCompletionStatusData } from "@/services/assignmentService";
|
import { loadAssignmentCompletionStatusData } from "@/services/assignmentService";
|
||||||
import type {
|
import type {
|
||||||
|
|
@ -9,13 +11,11 @@ import type {
|
||||||
LearningContentAssignment,
|
LearningContentAssignment,
|
||||||
LearningContentEdoniqTest,
|
LearningContentEdoniqTest,
|
||||||
} from "@/types";
|
} from "@/types";
|
||||||
import log from "loglevel";
|
|
||||||
import { computed, onMounted, reactive } from "vue";
|
|
||||||
import AssignmentSubmissionProgress from "@/components/assignment/AssignmentSubmissionProgress.vue";
|
|
||||||
import { useCourseSessionDetailQuery } from "@/composables";
|
|
||||||
import { formatDueDate } from "../../../components/dueDates/dueDatesUtils";
|
|
||||||
import { stringifyParse } from "@/utils/utils";
|
import { stringifyParse } from "@/utils/utils";
|
||||||
import { useTranslation } from "i18next-vue";
|
import { useTranslation } from "i18next-vue";
|
||||||
|
import log from "loglevel";
|
||||||
|
import { computed, onMounted, reactive } from "vue";
|
||||||
|
import { formatDueDate } from "../../../components/dueDates/dueDatesUtils";
|
||||||
|
|
||||||
const { t } = useTranslation();
|
const { t } = useTranslation();
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -1,11 +1,11 @@
|
||||||
<script setup lang="ts">
|
<script setup lang="ts">
|
||||||
import { useCourseData, useCurrentCourseSession } from "@/composables";
|
import { useCourseData, useCurrentCourseSession } from "@/composables";
|
||||||
import AssignmentDetails from "@/pages/cockpit/assignmentsPage/AssignmentDetails.vue";
|
import AssignmentDetails from "@/pages/cockpit/assignmentsPage/AssignmentDetails.vue";
|
||||||
import * as log from "loglevel";
|
|
||||||
import { computed, onMounted } from "vue";
|
|
||||||
import type { LearningContentAssignment, LearningContentEdoniqTest } from "@/types";
|
|
||||||
import { useExpertCockpitPageData } from "@/pages/cockpit/cockpitPage/composables";
|
import { useExpertCockpitPageData } from "@/pages/cockpit/cockpitPage/composables";
|
||||||
import { getPreviousRoute } from "@/router/history";
|
import { getPreviousRoute } from "@/router/history";
|
||||||
|
import type { LearningContentAssignment, LearningContentEdoniqTest } from "@/types";
|
||||||
|
import * as log from "loglevel";
|
||||||
|
import { computed, onMounted } from "vue";
|
||||||
|
|
||||||
const props = defineProps<{
|
const props = defineProps<{
|
||||||
courseSlug: string;
|
courseSlug: string;
|
||||||
|
|
|
||||||
|
|
@ -4,18 +4,18 @@ import ItDropdownSelect from "@/components/ui/ItDropdownSelect.vue";
|
||||||
import ItPersonRow from "@/components/ui/ItPersonRow.vue";
|
import ItPersonRow from "@/components/ui/ItPersonRow.vue";
|
||||||
import { useCourseSessionDetailQuery, useCurrentCourseSession } from "@/composables";
|
import { useCourseSessionDetailQuery, useCurrentCourseSession } from "@/composables";
|
||||||
import type { AttendanceUserStatus } from "@/gql/graphql";
|
import type { AttendanceUserStatus } from "@/gql/graphql";
|
||||||
|
import { graphqlClient } from "@/graphql/client";
|
||||||
import { ATTENDANCE_CHECK_MUTATION } from "@/graphql/mutations";
|
import { ATTENDANCE_CHECK_MUTATION } from "@/graphql/mutations";
|
||||||
|
import { ATTENDANCE_CHECK_QUERY } from "@/graphql/queries";
|
||||||
|
import { exportAttendance } from "@/services/dashboard";
|
||||||
|
import { useUserStore } from "@/stores/user";
|
||||||
import type { DropdownSelectable } from "@/types";
|
import type { DropdownSelectable } from "@/types";
|
||||||
|
import { openDataAsXls } from "@/utils/export";
|
||||||
import { useMutation } from "@urql/vue";
|
import { useMutation } from "@urql/vue";
|
||||||
import dayjs from "dayjs";
|
import dayjs from "dayjs";
|
||||||
|
import { useTranslation } from "i18next-vue";
|
||||||
import log from "loglevel";
|
import log from "loglevel";
|
||||||
import { computed, onMounted, reactive, watch } from "vue";
|
import { computed, onMounted, reactive, watch } from "vue";
|
||||||
import { useTranslation } from "i18next-vue";
|
|
||||||
import { ATTENDANCE_CHECK_QUERY } from "@/graphql/queries";
|
|
||||||
import { graphqlClient } from "@/graphql/client";
|
|
||||||
import { exportAttendance } from "@/services/dashboard";
|
|
||||||
import { openDataAsXls } from "@/utils/export";
|
|
||||||
import { useUserStore } from "@/stores/user";
|
|
||||||
|
|
||||||
const { t } = useTranslation();
|
const { t } = useTranslation();
|
||||||
const attendanceMutation = useMutation(ATTENDANCE_CHECK_MUTATION);
|
const attendanceMutation = useMutation(ATTENDANCE_CHECK_MUTATION);
|
||||||
|
|
|
||||||
|
|
@ -2,14 +2,14 @@
|
||||||
import LearningPathDiagram from "@/components/learningPath/LearningPathDiagram.vue";
|
import LearningPathDiagram from "@/components/learningPath/LearningPathDiagram.vue";
|
||||||
import ItPersonRow from "@/components/ui/ItPersonRow.vue";
|
import ItPersonRow from "@/components/ui/ItPersonRow.vue";
|
||||||
|
|
||||||
import { useCourseSessionDetailQuery, useCurrentCourseSession } from "@/composables";
|
|
||||||
import SubmissionsOverview from "@/components/cockpit/SubmissionsOverview.vue";
|
import SubmissionsOverview from "@/components/cockpit/SubmissionsOverview.vue";
|
||||||
|
import UserStatusCount from "@/components/cockpit/UserStatusCount.vue";
|
||||||
|
import CourseSessionDueDatesList from "@/components/dueDates/CourseSessionDueDatesList.vue";
|
||||||
|
import ItDropdownSelect from "@/components/ui/ItDropdownSelect.vue";
|
||||||
|
import { useCourseSessionDetailQuery, useCurrentCourseSession } from "@/composables";
|
||||||
|
import { useExpertCockpitPageData } from "@/pages/cockpit/cockpitPage/composables";
|
||||||
import { useExpertCockpitStore } from "@/stores/expertCockpit";
|
import { useExpertCockpitStore } from "@/stores/expertCockpit";
|
||||||
import log from "loglevel";
|
import log from "loglevel";
|
||||||
import ItDropdownSelect from "@/components/ui/ItDropdownSelect.vue";
|
|
||||||
import UserStatusCount from "@/components/cockpit/UserStatusCount.vue";
|
|
||||||
import { useExpertCockpitPageData } from "@/pages/cockpit/cockpitPage/composables";
|
|
||||||
import CourseSessionDueDatesList from "@/components/dueDates/CourseSessionDueDatesList.vue";
|
|
||||||
|
|
||||||
const props = defineProps<{
|
const props = defineProps<{
|
||||||
courseSlug: string;
|
courseSlug: string;
|
||||||
|
|
|
||||||
|
|
@ -1,22 +1,22 @@
|
||||||
<script setup lang="ts">
|
<script setup lang="ts">
|
||||||
import { useCourseData, useCurrentCourseSession } from "@/composables";
|
import DocumentListItem from "@/components/circle/DocumentListItem.vue";
|
||||||
import ItDropdownSelect from "@/components/ui/ItDropdownSelect.vue";
|
import ItDropdownSelect from "@/components/ui/ItDropdownSelect.vue";
|
||||||
import { useExpertCockpitStore } from "@/stores/expertCockpit";
|
|
||||||
import ItModal from "@/components/ui/ItModal.vue";
|
import ItModal from "@/components/ui/ItModal.vue";
|
||||||
|
import { useCourseData, useCurrentCourseSession } from "@/composables";
|
||||||
|
import { useExpertCockpitPageData } from "@/pages/cockpit/cockpitPage/composables";
|
||||||
import DocumentUploadForm from "@/pages/cockpit/documentPage/DocumentUploadForm.vue";
|
import DocumentUploadForm from "@/pages/cockpit/documentPage/DocumentUploadForm.vue";
|
||||||
import { computed, onMounted, ref, watch } from "vue";
|
|
||||||
import { useTranslation } from "i18next-vue";
|
|
||||||
import type { CircleDocument, DocumentUploadData } from "@/types";
|
|
||||||
import dialog from "@/utils/confirm-dialog";
|
|
||||||
import log from "loglevel";
|
|
||||||
import {
|
import {
|
||||||
deleteCircleDocument,
|
deleteCircleDocument,
|
||||||
fetchCourseSessionDocuments,
|
fetchCourseSessionDocuments,
|
||||||
uploadCircleDocument,
|
uploadCircleDocument,
|
||||||
} from "@/services/files";
|
} from "@/services/files";
|
||||||
import { useCourseSessionsStore } from "@/stores/courseSessions";
|
import { useCourseSessionsStore } from "@/stores/courseSessions";
|
||||||
import DocumentListItem from "@/components/circle/DocumentListItem.vue";
|
import { useExpertCockpitStore } from "@/stores/expertCockpit";
|
||||||
import { useExpertCockpitPageData } from "@/pages/cockpit/cockpitPage/composables";
|
import type { CircleDocument, DocumentUploadData } from "@/types";
|
||||||
|
import dialog from "@/utils/confirm-dialog";
|
||||||
|
import { useTranslation } from "i18next-vue";
|
||||||
|
import log from "loglevel";
|
||||||
|
import { computed, onMounted, ref, watch } from "vue";
|
||||||
|
|
||||||
const cockpitStore = useExpertCockpitStore();
|
const cockpitStore = useExpertCockpitStore();
|
||||||
const courseSession = useCurrentCourseSession();
|
const courseSession = useCurrentCourseSession();
|
||||||
|
|
|
||||||
|
|
@ -1,8 +1,8 @@
|
||||||
<script setup lang="ts">
|
<script setup lang="ts">
|
||||||
import ItDropdownSelect from "@/components/ui/ItDropdownSelect.vue";
|
import ItDropdownSelect from "@/components/ui/ItDropdownSelect.vue";
|
||||||
import type { DocumentUploadData, DropdownSelectable } from "@/types";
|
import type { DocumentUploadData, DropdownSelectable } from "@/types";
|
||||||
import { reactive } from "vue";
|
|
||||||
import { useTranslation } from "i18next-vue";
|
import { useTranslation } from "i18next-vue";
|
||||||
|
import { reactive } from "vue";
|
||||||
|
|
||||||
export interface Props {
|
export interface Props {
|
||||||
learningSequences?: DropdownSelectable[];
|
learningSequences?: DropdownSelectable[];
|
||||||
|
|
|
||||||
|
|
@ -1,9 +1,9 @@
|
||||||
<script setup lang="ts">
|
<script setup lang="ts">
|
||||||
import ItToggleArrow from "@/components/ui/ItToggleArrow.vue";
|
import ItToggleArrow from "@/components/ui/ItToggleArrow.vue";
|
||||||
import log from "loglevel";
|
|
||||||
import { ref, watch } from "vue";
|
|
||||||
import SinglePerformanceCriteriaRow from "@/pages/competence/SinglePerformanceCriteriaRow.vue";
|
import SinglePerformanceCriteriaRow from "@/pages/competence/SinglePerformanceCriteriaRow.vue";
|
||||||
import type { ActionCompetence } from "@/types";
|
import type { ActionCompetence } from "@/types";
|
||||||
|
import log from "loglevel";
|
||||||
|
import { ref, watch } from "vue";
|
||||||
|
|
||||||
interface Props {
|
interface Props {
|
||||||
competence: ActionCompetence;
|
competence: ActionCompetence;
|
||||||
|
|
|
||||||
|
|
@ -1,8 +1,8 @@
|
||||||
<script setup lang="ts">
|
<script setup lang="ts">
|
||||||
|
import { useCourseDataWithCompletion } from "@/composables";
|
||||||
import CompetenceDetail from "@/pages/competence/ActionCompetenceDetail.vue";
|
import CompetenceDetail from "@/pages/competence/ActionCompetenceDetail.vue";
|
||||||
import * as log from "loglevel";
|
import * as log from "loglevel";
|
||||||
import { ref } from "vue";
|
import { ref } from "vue";
|
||||||
import { useCourseDataWithCompletion } from "@/composables";
|
|
||||||
|
|
||||||
log.debug("CompetenceListPage created");
|
log.debug("CompetenceListPage created");
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -1,15 +1,15 @@
|
||||||
<script setup lang="ts">
|
<script setup lang="ts">
|
||||||
import * as log from "loglevel";
|
|
||||||
import type { CompetenceCertificate } from "@/types";
|
|
||||||
import CompetenceAssignmentRow from "@/pages/competence/CompetenceAssignmentRow.vue";
|
|
||||||
import { computed } from "vue";
|
|
||||||
import ItProgress from "@/components/ui/ItProgress.vue";
|
import ItProgress from "@/components/ui/ItProgress.vue";
|
||||||
|
import { useCurrentCourseSession } from "@/composables";
|
||||||
|
import CompetenceAssignmentRow from "@/pages/competence/CompetenceAssignmentRow.vue";
|
||||||
import {
|
import {
|
||||||
assignmentsUserPoints,
|
assignmentsUserPoints,
|
||||||
calcCompetenceCertificateGrade,
|
calcCompetenceCertificateGrade,
|
||||||
competenceCertificateProgressStatusCount,
|
competenceCertificateProgressStatusCount,
|
||||||
} from "@/pages/competence/utils";
|
} from "@/pages/competence/utils";
|
||||||
import { useCurrentCourseSession } from "@/composables";
|
import type { CompetenceCertificate } from "@/types";
|
||||||
|
import * as log from "loglevel";
|
||||||
|
import { computed } from "vue";
|
||||||
|
|
||||||
log.debug("CompetenceCertificateComponent setup");
|
log.debug("CompetenceCertificateComponent setup");
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -1,10 +1,10 @@
|
||||||
<script setup lang="ts">
|
<script setup lang="ts">
|
||||||
|
import { useAllCompetenceCertificates } from "@/composables";
|
||||||
|
import CompetenceCertificateComponent from "@/pages/competence/CompetenceCertificateComponent.vue";
|
||||||
|
import { getPreviousRoute } from "@/router/history";
|
||||||
|
import { useUserStore } from "@/stores/user";
|
||||||
import log from "loglevel";
|
import log from "loglevel";
|
||||||
import { computed } from "vue";
|
import { computed } from "vue";
|
||||||
import { useAllCompetenceCertificates } from "@/composables";
|
|
||||||
import { getPreviousRoute } from "@/router/history";
|
|
||||||
import CompetenceCertificateComponent from "@/pages/competence/CompetenceCertificateComponent.vue";
|
|
||||||
import { useUserStore } from "@/stores/user";
|
|
||||||
|
|
||||||
const props = defineProps<{
|
const props = defineProps<{
|
||||||
courseSlug: string;
|
courseSlug: string;
|
||||||
|
|
|
||||||
|
|
@ -1,14 +1,14 @@
|
||||||
<script setup lang="ts">
|
<script setup lang="ts">
|
||||||
import log from "loglevel";
|
|
||||||
import { computed, onMounted } from "vue";
|
|
||||||
import { useAllCompetenceCertificates } from "@/composables";
|
import { useAllCompetenceCertificates } from "@/composables";
|
||||||
import CompetenceCertificateComponent from "@/pages/competence/CompetenceCertificateComponent.vue";
|
import CompetenceCertificateComponent from "@/pages/competence/CompetenceCertificateComponent.vue";
|
||||||
import {
|
import {
|
||||||
assignmentsUserPoints,
|
assignmentsUserPoints,
|
||||||
calcCompetencesTotalGrade,
|
calcCompetencesTotalGrade,
|
||||||
} from "@/pages/competence/utils";
|
} from "@/pages/competence/utils";
|
||||||
import { useRoute } from "vue-router";
|
|
||||||
import { useUserStore } from "@/stores/user";
|
import { useUserStore } from "@/stores/user";
|
||||||
|
import log from "loglevel";
|
||||||
|
import { computed, onMounted } from "vue";
|
||||||
|
import { useRoute } from "vue-router";
|
||||||
|
|
||||||
const props = defineProps<{
|
const props = defineProps<{
|
||||||
courseSlug: string;
|
courseSlug: string;
|
||||||
|
|
|
||||||
|
|
@ -1,6 +1,6 @@
|
||||||
<script setup lang="ts">
|
<script setup lang="ts">
|
||||||
import log from "loglevel";
|
import SelfEvaluationAndFeedbackOverview from "@/components/selfEvaluationFeedback/SelfEvaluationAndFeedbackOverview.vue";
|
||||||
import { computed } from "vue";
|
import ItProgress from "@/components/ui/ItProgress.vue";
|
||||||
import { useAllCompetenceCertificates, useCurrentCourseSession } from "@/composables";
|
import { useAllCompetenceCertificates, useCurrentCourseSession } from "@/composables";
|
||||||
import {
|
import {
|
||||||
assignmentsUserPoints,
|
assignmentsUserPoints,
|
||||||
|
|
@ -8,9 +8,9 @@ import {
|
||||||
calcCompetencesTotalGrade,
|
calcCompetencesTotalGrade,
|
||||||
competenceCertificateProgressStatusCount,
|
competenceCertificateProgressStatusCount,
|
||||||
} from "@/pages/competence/utils";
|
} from "@/pages/competence/utils";
|
||||||
import ItProgress from "@/components/ui/ItProgress.vue";
|
|
||||||
import SelfEvaluationAndFeedbackOverview from "@/components/selfEvaluationFeedback/SelfEvaluationAndFeedbackOverview.vue";
|
|
||||||
import { useUserStore } from "@/stores/user";
|
import { useUserStore } from "@/stores/user";
|
||||||
|
import log from "loglevel";
|
||||||
|
import { computed } from "vue";
|
||||||
import { useRouter } from "vue-router";
|
import { useRouter } from "vue-router";
|
||||||
|
|
||||||
const props = defineProps<{
|
const props = defineProps<{
|
||||||
|
|
|
||||||
|
|
@ -1,8 +1,8 @@
|
||||||
<script setup lang="ts">
|
<script setup lang="ts">
|
||||||
|
import { useCurrentCourseSession, useEvaluationWithFeedback } from "@/composables";
|
||||||
import * as log from "loglevel";
|
import * as log from "loglevel";
|
||||||
import { onMounted } from "vue";
|
import { onMounted } from "vue";
|
||||||
import { useRoute } from "vue-router";
|
import { useRoute } from "vue-router";
|
||||||
import { useCurrentCourseSession, useEvaluationWithFeedback } from "@/composables";
|
|
||||||
|
|
||||||
log.debug("CompetenceParentPage created");
|
log.debug("CompetenceParentPage created");
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -1,6 +1,6 @@
|
||||||
<script setup lang="ts">
|
<script setup lang="ts">
|
||||||
import { useUserStore } from "@/stores/user";
|
|
||||||
import SelfEvaluationAndFeedbackList from "@/components/selfEvaluationFeedback/SelfEvaluationAndFeedbackList.vue";
|
import SelfEvaluationAndFeedbackList from "@/components/selfEvaluationFeedback/SelfEvaluationAndFeedbackList.vue";
|
||||||
|
import { useUserStore } from "@/stores/user";
|
||||||
|
|
||||||
const userId = useUserStore().id;
|
const userId = useUserStore().id;
|
||||||
</script>
|
</script>
|
||||||
|
|
|
||||||
|
|
@ -1,6 +1,6 @@
|
||||||
<script setup lang="ts">
|
<script setup lang="ts">
|
||||||
import { getCockpitUrl } from "@/utils/utils";
|
|
||||||
import { useDashboardStore } from "@/stores/dashboard";
|
import { useDashboardStore } from "@/stores/dashboard";
|
||||||
|
import { getCockpitUrl } from "@/utils/utils";
|
||||||
|
|
||||||
const dashboardStore = useDashboardStore();
|
const dashboardStore = useDashboardStore();
|
||||||
</script>
|
</script>
|
||||||
|
|
|
||||||
|
|
@ -1,10 +1,10 @@
|
||||||
<script setup lang="ts">
|
<script setup lang="ts">
|
||||||
import LoadingSpinner from "@/components/ui/LoadingSpinner.vue";
|
|
||||||
import log from "loglevel";
|
|
||||||
import { useDashboardPersonsDueDates } from "@/composables";
|
|
||||||
import { computed } from "vue";
|
|
||||||
import _ from "lodash";
|
|
||||||
import DueDateSingle from "@/components/dueDates/DueDateSingle.vue";
|
import DueDateSingle from "@/components/dueDates/DueDateSingle.vue";
|
||||||
|
import LoadingSpinner from "@/components/ui/LoadingSpinner.vue";
|
||||||
|
import { useDashboardPersonsDueDates } from "@/composables";
|
||||||
|
import _ from "lodash";
|
||||||
|
import log from "loglevel";
|
||||||
|
import { computed } from "vue";
|
||||||
|
|
||||||
log.debug("DashboardAsideWidget created");
|
log.debug("DashboardAsideWidget created");
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -1,14 +1,14 @@
|
||||||
<script setup lang="ts">
|
<script setup lang="ts">
|
||||||
import LoadingSpinner from "@/components/ui/LoadingSpinner.vue";
|
import DueDateSingle from "@/components/dueDates/DueDateSingle.vue";
|
||||||
import log from "loglevel";
|
|
||||||
import { useDashboardPersonsDueDates } from "@/composables";
|
|
||||||
import ItDropdownSelect from "@/components/ui/ItDropdownSelect.vue";
|
import ItDropdownSelect from "@/components/ui/ItDropdownSelect.vue";
|
||||||
import { computed, ref, watch } from "vue";
|
import LoadingSpinner from "@/components/ui/LoadingSpinner.vue";
|
||||||
|
import { useDashboardPersonsDueDates } from "@/composables";
|
||||||
|
import { getPreviousRoute } from "@/router/history";
|
||||||
|
import { useRouteQuery } from "@vueuse/router";
|
||||||
import { useTranslation } from "i18next-vue";
|
import { useTranslation } from "i18next-vue";
|
||||||
import _ from "lodash";
|
import _ from "lodash";
|
||||||
import { useRouteQuery } from "@vueuse/router";
|
import log from "loglevel";
|
||||||
import DueDateSingle from "@/components/dueDates/DueDateSingle.vue";
|
import { computed, ref, watch } from "vue";
|
||||||
import { getPreviousRoute } from "@/router/history";
|
|
||||||
|
|
||||||
log.debug("DashboardPersonsPage created");
|
log.debug("DashboardPersonsPage created");
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -1,11 +1,11 @@
|
||||||
<script setup lang="ts">
|
<script setup lang="ts">
|
||||||
import { onMounted } from "vue";
|
|
||||||
import { useDashboardStore } from "@/stores/dashboard";
|
|
||||||
import type { DashboardCourseConfigType } from "@/services/dashboard";
|
|
||||||
import LoadingSpinner from "@/components/ui/LoadingSpinner.vue";
|
|
||||||
import NoCourseSession from "@/components/dashboard/NoCourseSession.vue";
|
|
||||||
import CoursePanel from "@/components/dashboard/CoursePanel.vue";
|
import CoursePanel from "@/components/dashboard/CoursePanel.vue";
|
||||||
|
import NoCourseSession from "@/components/dashboard/NoCourseSession.vue";
|
||||||
|
import LoadingSpinner from "@/components/ui/LoadingSpinner.vue";
|
||||||
import DashboardAsideWidget from "@/pages/dashboard/DashboardAsideWidget.vue";
|
import DashboardAsideWidget from "@/pages/dashboard/DashboardAsideWidget.vue";
|
||||||
|
import type { DashboardCourseConfigType } from "@/services/dashboard";
|
||||||
|
import { useDashboardStore } from "@/stores/dashboard";
|
||||||
|
import { onMounted } from "vue";
|
||||||
|
|
||||||
const dashboardStore = useDashboardStore();
|
const dashboardStore = useDashboardStore();
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -1,19 +1,19 @@
|
||||||
<script setup lang="ts">
|
<script setup lang="ts">
|
||||||
import LoadingSpinner from "@/components/ui/LoadingSpinner.vue";
|
|
||||||
import log from "loglevel";
|
|
||||||
import { useDashboardPersonsDueDates } from "@/composables";
|
|
||||||
import ItDropdownSelect from "@/components/ui/ItDropdownSelect.vue";
|
import ItDropdownSelect from "@/components/ui/ItDropdownSelect.vue";
|
||||||
import { computed, ref, watch } from "vue";
|
import LoadingSpinner from "@/components/ui/LoadingSpinner.vue";
|
||||||
import { useTranslation } from "i18next-vue";
|
import { useDashboardPersonsDueDates } from "@/composables";
|
||||||
import _ from "lodash";
|
|
||||||
import {
|
import {
|
||||||
type DashboardPersonCourseSessionType,
|
type DashboardPersonCourseSessionType,
|
||||||
exportPersons,
|
exportPersons,
|
||||||
} from "@/services/dashboard";
|
} from "@/services/dashboard";
|
||||||
import { useRouteQuery } from "@vueuse/router";
|
|
||||||
import type { DashboardPersonsPageMode, StatisticsFilterItem } from "@/types";
|
|
||||||
import { useUserStore } from "@/stores/user";
|
import { useUserStore } from "@/stores/user";
|
||||||
|
import type { DashboardPersonsPageMode, StatisticsFilterItem } from "@/types";
|
||||||
import { exportDataAsXls } from "@/utils/export";
|
import { exportDataAsXls } from "@/utils/export";
|
||||||
|
import { useRouteQuery } from "@vueuse/router";
|
||||||
|
import { useTranslation } from "i18next-vue";
|
||||||
|
import _ from "lodash";
|
||||||
|
import log from "loglevel";
|
||||||
|
import { computed, ref, watch } from "vue";
|
||||||
|
|
||||||
log.debug("DashboardPersonsPage created");
|
log.debug("DashboardPersonsPage created");
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -1,6 +1,6 @@
|
||||||
<script setup lang="ts">
|
<script setup lang="ts">
|
||||||
import { getLearningMentorUrl } from "@/utils/utils";
|
|
||||||
import { useDashboardStore } from "@/stores/dashboard";
|
import { useDashboardStore } from "@/stores/dashboard";
|
||||||
|
import { getLearningMentorUrl } from "@/utils/utils";
|
||||||
|
|
||||||
const dashboardStore = useDashboardStore();
|
const dashboardStore = useDashboardStore();
|
||||||
</script>
|
</script>
|
||||||
|
|
|
||||||
|
|
@ -1,15 +1,15 @@
|
||||||
<script setup lang="ts">
|
<script setup lang="ts">
|
||||||
import { useDashboardStore } from "@/stores/dashboard";
|
import AssignmentProgressSummaryBox from "@/components/dashboard/AssignmentProgressSummaryBox.vue";
|
||||||
import { computed } from "vue";
|
import CompetenceSummaryBox from "@/components/dashboard/CompetenceSummaryBox.vue";
|
||||||
import LearningPathDiagram from "@/components/learningPath/LearningPathDiagram.vue";
|
import LearningPathDiagram from "@/components/learningPath/LearningPathDiagram.vue";
|
||||||
import { getLearningPathUrl } from "@/utils/utils";
|
|
||||||
import type {
|
import type {
|
||||||
CourseProgressType,
|
CourseProgressType,
|
||||||
ProgressDashboardAssignmentType,
|
ProgressDashboardAssignmentType,
|
||||||
ProgressDashboardCompetenceType,
|
ProgressDashboardCompetenceType,
|
||||||
} from "@/gql/graphql";
|
} from "@/gql/graphql";
|
||||||
import CompetenceSummaryBox from "@/components/dashboard/CompetenceSummaryBox.vue";
|
import { useDashboardStore } from "@/stores/dashboard";
|
||||||
import AssignmentProgressSummaryBox from "@/components/dashboard/AssignmentProgressSummaryBox.vue";
|
import { getLearningPathUrl } from "@/utils/utils";
|
||||||
|
import { computed } from "vue";
|
||||||
|
|
||||||
const dashboardStore = useDashboardStore();
|
const dashboardStore = useDashboardStore();
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -1,6 +1,6 @@
|
||||||
<script setup lang="ts">
|
<script setup lang="ts">
|
||||||
import { getCockpitUrl } from "@/utils/utils";
|
|
||||||
import { useDashboardStore } from "@/stores/dashboard";
|
import { useDashboardStore } from "@/stores/dashboard";
|
||||||
|
import { getCockpitUrl } from "@/utils/utils";
|
||||||
|
|
||||||
const dashboardStore = useDashboardStore();
|
const dashboardStore = useDashboardStore();
|
||||||
</script>
|
</script>
|
||||||
|
|
|
||||||
|
|
@ -1,10 +1,10 @@
|
||||||
<script setup lang="ts">
|
<script setup lang="ts">
|
||||||
import { useCourseData, useCurrentCourseSession } from "@/composables";
|
import { useCourseData, useCurrentCourseSession } from "@/composables";
|
||||||
import AssignmentDetails from "@/pages/cockpit/assignmentsPage/AssignmentDetails.vue";
|
import AssignmentDetails from "@/pages/cockpit/assignmentsPage/AssignmentDetails.vue";
|
||||||
|
import { useExpertCockpitPageData } from "@/pages/cockpit/cockpitPage/composables";
|
||||||
|
import type { LearningContentAssignment, LearningContentEdoniqTest } from "@/types";
|
||||||
import * as log from "loglevel";
|
import * as log from "loglevel";
|
||||||
import { computed } from "vue";
|
import { computed } from "vue";
|
||||||
import type { LearningContentAssignment, LearningContentEdoniqTest } from "@/types";
|
|
||||||
import { useExpertCockpitPageData } from "@/pages/cockpit/cockpitPage/composables";
|
|
||||||
|
|
||||||
const props = defineProps<{
|
const props = defineProps<{
|
||||||
courseSlug: string;
|
courseSlug: string;
|
||||||
|
|
|
||||||
|
|
@ -1,9 +1,9 @@
|
||||||
<script setup lang="ts">
|
<script setup lang="ts">
|
||||||
import { useCurrentCourseSession } from "@/composables";
|
import { useCurrentCourseSession } from "@/composables";
|
||||||
|
import AgentAssignmentDetail from "@/pages/dashboard/agentAssignment/AgentAssignmentDetail.vue";
|
||||||
|
import { fetchDashboardPersons } from "@/services/dashboard";
|
||||||
import * as log from "loglevel";
|
import * as log from "loglevel";
|
||||||
import { onMounted, ref } from "vue";
|
import { onMounted, ref } from "vue";
|
||||||
import { fetchDashboardPersons } from "@/services/dashboard";
|
|
||||||
import AgentAssignmentDetail from "@/pages/dashboard/agentAssignment/AgentAssignmentDetail.vue";
|
|
||||||
|
|
||||||
const props = defineProps<{
|
const props = defineProps<{
|
||||||
courseSlug: string;
|
courseSlug: string;
|
||||||
|
|
|
||||||
|
|
@ -1,14 +1,14 @@
|
||||||
<script setup lang="ts">
|
<script setup lang="ts">
|
||||||
import log from "loglevel";
|
import LoadingSpinner from "@/components/ui/LoadingSpinner.vue";
|
||||||
import { onMounted, ref } from "vue";
|
import type { BaseStatisticsType } from "@/gql/graphql";
|
||||||
|
import AssignmentList from "@/pages/dashboard/statistic/AssignmentList.vue";
|
||||||
import {
|
import {
|
||||||
courseIdForCourseSlug,
|
courseIdForCourseSlug,
|
||||||
fetchMentorCompetenceSummary,
|
fetchMentorCompetenceSummary,
|
||||||
} from "@/services/dashboard";
|
} from "@/services/dashboard";
|
||||||
import type { BaseStatisticsType } from "@/gql/graphql";
|
|
||||||
import { useDashboardStore } from "@/stores/dashboard";
|
import { useDashboardStore } from "@/stores/dashboard";
|
||||||
import LoadingSpinner from "@/components/ui/LoadingSpinner.vue";
|
import log from "loglevel";
|
||||||
import AssignmentList from "@/pages/dashboard/statistic/AssignmentList.vue";
|
import { onMounted, ref } from "vue";
|
||||||
|
|
||||||
const dashboardStore = useDashboardStore();
|
const dashboardStore = useDashboardStore();
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -1,15 +1,15 @@
|
||||||
<script setup lang="ts">
|
<script setup lang="ts">
|
||||||
|
import LoadingSpinner from "@/components/ui/LoadingSpinner.vue";
|
||||||
|
import type { CompetenceCertificateObjectType } from "@/gql/graphql";
|
||||||
|
import { graphqlClient } from "@/graphql/client";
|
||||||
|
import { COMPETENCE_NAVI_CERTIFICATE_QUERY } from "@/graphql/queries";
|
||||||
|
import { calcCompetenceCertificateGrade } from "@/pages/competence/utils";
|
||||||
|
import { percentToRoundedGrade } from "@/services/assignmentService";
|
||||||
|
import { type DashboardPersonType, fetchDashboardPersons } from "@/services/dashboard";
|
||||||
|
import type { CompetenceCertificateAssignment } from "@/types";
|
||||||
|
import _ from "lodash";
|
||||||
import log from "loglevel";
|
import log from "loglevel";
|
||||||
import { computed, onMounted, ref } from "vue";
|
import { computed, onMounted, ref } from "vue";
|
||||||
import { type DashboardPersonType, fetchDashboardPersons } from "@/services/dashboard";
|
|
||||||
import LoadingSpinner from "@/components/ui/LoadingSpinner.vue";
|
|
||||||
import { COMPETENCE_NAVI_CERTIFICATE_QUERY } from "@/graphql/queries";
|
|
||||||
import { graphqlClient } from "@/graphql/client";
|
|
||||||
import type { CompetenceCertificateObjectType } from "@/gql/graphql";
|
|
||||||
import { calcCompetenceCertificateGrade } from "@/pages/competence/utils";
|
|
||||||
import _ from "lodash";
|
|
||||||
import type { CompetenceCertificateAssignment } from "@/types";
|
|
||||||
import { percentToRoundedGrade } from "@/services/assignmentService";
|
|
||||||
|
|
||||||
const props = defineProps<{
|
const props = defineProps<{
|
||||||
agentRole: string;
|
agentRole: string;
|
||||||
|
|
|
||||||
|
|
@ -1,17 +1,17 @@
|
||||||
<script setup lang="ts">
|
<script setup lang="ts">
|
||||||
import log from "loglevel";
|
import StatisticFilterList from "@/components/dashboard/StatisticFilterList.vue";
|
||||||
import { computed, onMounted, type Ref, ref } from "vue";
|
import LoadingSpinner from "@/components/ui/LoadingSpinner.vue";
|
||||||
|
import type { AssignmentStatisticsRecordType, BaseStatisticsType } from "@/gql/graphql";
|
||||||
|
import { percentToRoundedGrade } from "@/services/assignmentService";
|
||||||
import {
|
import {
|
||||||
courseIdForCourseSlug,
|
courseIdForCourseSlug,
|
||||||
fetchMentorCompetenceSummary,
|
fetchMentorCompetenceSummary,
|
||||||
} from "@/services/dashboard";
|
} from "@/services/dashboard";
|
||||||
import type { AssignmentStatisticsRecordType, BaseStatisticsType } from "@/gql/graphql";
|
|
||||||
import { useDashboardStore } from "@/stores/dashboard";
|
import { useDashboardStore } from "@/stores/dashboard";
|
||||||
import LoadingSpinner from "@/components/ui/LoadingSpinner.vue";
|
|
||||||
import _ from "lodash";
|
|
||||||
import { percentToRoundedGrade } from "@/services/assignmentService";
|
|
||||||
import StatisticFilterList from "@/components/dashboard/StatisticFilterList.vue";
|
|
||||||
import type { StatisticsFilterItem } from "@/types";
|
import type { StatisticsFilterItem } from "@/types";
|
||||||
|
import _ from "lodash";
|
||||||
|
import log from "loglevel";
|
||||||
|
import { computed, onMounted, type Ref, ref } from "vue";
|
||||||
|
|
||||||
const dashboardStore = useDashboardStore();
|
const dashboardStore = useDashboardStore();
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -1,18 +1,18 @@
|
||||||
<script setup lang="ts">
|
<script setup lang="ts">
|
||||||
|
import StatisticFilterList from "@/components/dashboard/StatisticFilterList.vue";
|
||||||
|
import { getDateString } from "@/components/dueDates/dueDatesUtils";
|
||||||
|
import ItProgress from "@/components/ui/ItProgress.vue";
|
||||||
import type {
|
import type {
|
||||||
AssignmentCompletionMetricsType,
|
AssignmentCompletionMetricsType,
|
||||||
AssignmentStatisticsRecordType,
|
AssignmentStatisticsRecordType,
|
||||||
BaseStatisticsType,
|
BaseStatisticsType,
|
||||||
StatisticsCircleDataType,
|
StatisticsCircleDataType,
|
||||||
} from "@/gql/graphql";
|
} from "@/gql/graphql";
|
||||||
import StatisticFilterList from "@/components/dashboard/StatisticFilterList.vue";
|
|
||||||
import { getDateString } from "@/components/dueDates/dueDatesUtils";
|
|
||||||
import dayjs from "dayjs";
|
|
||||||
import ItProgress from "@/components/ui/ItProgress.vue";
|
|
||||||
import { type Ref, ref } from "vue";
|
|
||||||
import { exportDataAsXls } from "@/utils/export";
|
|
||||||
import { exportCompetenceElements } from "@/services/dashboard";
|
import { exportCompetenceElements } from "@/services/dashboard";
|
||||||
import { useUserStore } from "@/stores/user";
|
import { useUserStore } from "@/stores/user";
|
||||||
|
import { exportDataAsXls } from "@/utils/export";
|
||||||
|
import dayjs from "dayjs";
|
||||||
|
import { type Ref, ref } from "vue";
|
||||||
|
|
||||||
// eslint-disable-next-line @typescript-eslint/no-unused-vars
|
// eslint-disable-next-line @typescript-eslint/no-unused-vars
|
||||||
const props = defineProps<{
|
const props = defineProps<{
|
||||||
|
|
|
||||||
|
|
@ -1,17 +1,17 @@
|
||||||
<script setup lang="ts">
|
<script setup lang="ts">
|
||||||
|
import StatisticFilterList from "@/components/dashboard/StatisticFilterList.vue";
|
||||||
|
import { getDateString } from "@/components/dueDates/dueDatesUtils";
|
||||||
|
import ItProgress from "@/components/ui/ItProgress.vue";
|
||||||
import type {
|
import type {
|
||||||
CourseStatisticsType,
|
CourseStatisticsType,
|
||||||
PresenceRecordStatisticsType,
|
PresenceRecordStatisticsType,
|
||||||
StatisticsCircleDataType,
|
StatisticsCircleDataType,
|
||||||
} from "@/gql/graphql";
|
} from "@/gql/graphql";
|
||||||
import StatisticFilterList from "@/components/dashboard/StatisticFilterList.vue";
|
|
||||||
import ItProgress from "@/components/ui/ItProgress.vue";
|
|
||||||
import { getDateString } from "@/components/dueDates/dueDatesUtils";
|
|
||||||
import dayjs from "dayjs";
|
|
||||||
import { ref, type Ref } from "vue";
|
|
||||||
import { exportDataAsXls } from "@/utils/export";
|
|
||||||
import { exportAttendance } from "@/services/dashboard";
|
import { exportAttendance } from "@/services/dashboard";
|
||||||
import { useUserStore } from "@/stores/user";
|
import { useUserStore } from "@/stores/user";
|
||||||
|
import { exportDataAsXls } from "@/utils/export";
|
||||||
|
import dayjs from "dayjs";
|
||||||
|
import { ref, type Ref } from "vue";
|
||||||
|
|
||||||
// eslint-disable-next-line @typescript-eslint/no-unused-vars
|
// eslint-disable-next-line @typescript-eslint/no-unused-vars
|
||||||
const props = defineProps<{
|
const props = defineProps<{
|
||||||
|
|
|
||||||
|
|
@ -1,10 +1,10 @@
|
||||||
<script setup lang="ts">
|
<script setup lang="ts">
|
||||||
|
import StatisticFilterList from "@/components/dashboard/StatisticFilterList.vue";
|
||||||
import type {
|
import type {
|
||||||
CompetenceRecordStatisticsType,
|
CompetenceRecordStatisticsType,
|
||||||
CourseStatisticsType,
|
CourseStatisticsType,
|
||||||
StatisticsCircleDataType,
|
StatisticsCircleDataType,
|
||||||
} from "@/gql/graphql";
|
} from "@/gql/graphql";
|
||||||
import StatisticFilterList from "@/components/dashboard/StatisticFilterList.vue";
|
|
||||||
|
|
||||||
// eslint-disable-next-line @typescript-eslint/no-unused-vars
|
// eslint-disable-next-line @typescript-eslint/no-unused-vars
|
||||||
const props = defineProps<{
|
const props = defineProps<{
|
||||||
|
|
|
||||||
|
|
@ -1,16 +1,16 @@
|
||||||
<script setup lang="ts">
|
<script setup lang="ts">
|
||||||
|
import StatisticFilterList from "@/components/dashboard/StatisticFilterList.vue";
|
||||||
import type {
|
import type {
|
||||||
CourseStatisticsType,
|
CourseStatisticsType,
|
||||||
FeedbackStatisticsRecordType,
|
FeedbackStatisticsRecordType,
|
||||||
PresenceRecordStatisticsType,
|
PresenceRecordStatisticsType,
|
||||||
StatisticsCircleDataType,
|
StatisticsCircleDataType,
|
||||||
} from "@/gql/graphql";
|
} from "@/gql/graphql";
|
||||||
import StatisticFilterList from "@/components/dashboard/StatisticFilterList.vue";
|
|
||||||
import { getBlendedColorForRating } from "@/utils/ratingToColor";
|
|
||||||
import { ref, type Ref } from "vue";
|
|
||||||
import { exportDataAsXls } from "@/utils/export";
|
|
||||||
import { exportFeedback } from "@/services/dashboard";
|
import { exportFeedback } from "@/services/dashboard";
|
||||||
import { useUserStore } from "@/stores/user";
|
import { useUserStore } from "@/stores/user";
|
||||||
|
import { exportDataAsXls } from "@/utils/export";
|
||||||
|
import { getBlendedColorForRating } from "@/utils/ratingToColor";
|
||||||
|
import { ref, type Ref } from "vue";
|
||||||
|
|
||||||
// eslint-disable-next-line @typescript-eslint/no-unused-vars
|
// eslint-disable-next-line @typescript-eslint/no-unused-vars
|
||||||
const props = defineProps<{
|
const props = defineProps<{
|
||||||
|
|
|
||||||
|
|
@ -1,7 +1,7 @@
|
||||||
<script setup lang="ts">
|
<script setup lang="ts">
|
||||||
import { useRoute, useRouter } from "vue-router";
|
|
||||||
import { useCurrentCourseSession } from "@/composables";
|
import { useCurrentCourseSession } from "@/composables";
|
||||||
import { onMounted } from "vue";
|
import { onMounted } from "vue";
|
||||||
|
import { useRoute, useRouter } from "vue-router";
|
||||||
|
|
||||||
const route = useRoute();
|
const route = useRoute();
|
||||||
const router = useRouter();
|
const router = useRouter();
|
||||||
|
|
|
||||||
|
|
@ -1,7 +1,7 @@
|
||||||
<script setup lang="ts">
|
<script setup lang="ts">
|
||||||
import ItDropdownSelect from "@/components/ui/ItDropdownSelect.vue";
|
|
||||||
import PraxisAssignmentItem from "@/components/learningMentor/PraxisAssignmentItem.vue";
|
import PraxisAssignmentItem from "@/components/learningMentor/PraxisAssignmentItem.vue";
|
||||||
import SelfAssignmentFeedbackAssignmentItem from "@/components/learningMentor/SelfAssignmentFeedbackAssignmentItem.vue";
|
import SelfAssignmentFeedbackAssignmentItem from "@/components/learningMentor/SelfAssignmentFeedbackAssignmentItem.vue";
|
||||||
|
import ItDropdownSelect from "@/components/ui/ItDropdownSelect.vue";
|
||||||
import { useAssignmentTodoListStore } from "@/stores/learningMentor/assignmentTodoList";
|
import { useAssignmentTodoListStore } from "@/stores/learningMentor/assignmentTodoList";
|
||||||
|
|
||||||
const assignmentTodoListStore = useAssignmentTodoListStore();
|
const assignmentTodoListStore = useAssignmentTodoListStore();
|
||||||
|
|
|
||||||
|
|
@ -1,7 +1,7 @@
|
||||||
<script setup lang="ts">
|
<script setup lang="ts">
|
||||||
import { useCurrentCourseSession } from "@/composables";
|
|
||||||
import MyMentors from "@/components/learningMentor/MyMentors.vue";
|
|
||||||
import MyMentees from "@/components/learningMentor/MyMentees.vue";
|
import MyMentees from "@/components/learningMentor/MyMentees.vue";
|
||||||
|
import MyMentors from "@/components/learningMentor/MyMentors.vue";
|
||||||
|
import { useCurrentCourseSession } from "@/composables";
|
||||||
import { computed } from "vue";
|
import { computed } from "vue";
|
||||||
|
|
||||||
const courseSession = useCurrentCourseSession();
|
const courseSession = useCurrentCourseSession();
|
||||||
|
|
|
||||||
|
|
@ -1,9 +1,9 @@
|
||||||
<script setup lang="ts">
|
<script setup lang="ts">
|
||||||
|
import { useCurrentCourseSession } from "@/composables";
|
||||||
import type { Assignment, UserShort } from "@/services/learningMentees";
|
import type { Assignment, UserShort } from "@/services/learningMentees";
|
||||||
import { useLearningMentees } from "@/services/learningMentees";
|
import { useLearningMentees } from "@/services/learningMentees";
|
||||||
import { computed, onMounted, type Ref } from "vue";
|
|
||||||
import { useCurrentCourseSession } from "@/composables";
|
|
||||||
import log from "loglevel";
|
import log from "loglevel";
|
||||||
|
import { computed, onMounted, type Ref } from "vue";
|
||||||
|
|
||||||
const props = defineProps<{
|
const props = defineProps<{
|
||||||
praxisAssignmentId: string;
|
praxisAssignmentId: string;
|
||||||
|
|
|
||||||
|
|
@ -1,8 +1,8 @@
|
||||||
<script setup lang="ts">
|
<script setup lang="ts">
|
||||||
|
import { useCurrentCourseSession } from "@/composables";
|
||||||
import type { Assignment, UserShort } from "@/services/learningMentees";
|
import type { Assignment, UserShort } from "@/services/learningMentees";
|
||||||
import { useLearningMentees } from "@/services/learningMentees";
|
import { useLearningMentees } from "@/services/learningMentees";
|
||||||
import { computed, type Ref } from "vue";
|
import { computed, type Ref } from "vue";
|
||||||
import { useCurrentCourseSession } from "@/composables";
|
|
||||||
|
|
||||||
const props = defineProps<{
|
const props = defineProps<{
|
||||||
learningUnitId: string;
|
learningUnitId: string;
|
||||||
|
|
|
||||||
|
|
@ -1,16 +1,16 @@
|
||||||
<script setup lang="ts">
|
<script setup lang="ts">
|
||||||
|
import FeedbackProviderRankCriteria from "@/components/selfEvaluationFeedback/FeedbackProviderRankCriteria.vue";
|
||||||
|
import FeedbackProviderReleaseOverview from "@/components/selfEvaluationFeedback/FeedbackProviderReleaseOverview.vue";
|
||||||
import LearningContentMultiLayout from "@/pages/learningPath/learningContentPage/layouts/LearningContentMultiLayout.vue";
|
import LearningContentMultiLayout from "@/pages/learningPath/learningContentPage/layouts/LearningContentMultiLayout.vue";
|
||||||
import LearningContentContainer from "@/pages/learningPath/learningContentPage/LearningContentContainer.vue";
|
import LearningContentContainer from "@/pages/learningPath/learningContentPage/LearningContentContainer.vue";
|
||||||
import { useRouter } from "vue-router";
|
|
||||||
import { computed, ref, watch } from "vue";
|
|
||||||
import {
|
import {
|
||||||
type Criterion,
|
type Criterion,
|
||||||
useSelfEvaluationFeedback,
|
useSelfEvaluationFeedback,
|
||||||
} from "@/services/selfEvaluationFeedback";
|
} from "@/services/selfEvaluationFeedback";
|
||||||
import { useRouteQuery } from "@vueuse/router";
|
import { useRouteQuery } from "@vueuse/router";
|
||||||
import FeedbackProviderRankCriteria from "@/components/selfEvaluationFeedback/FeedbackProviderRankCriteria.vue";
|
|
||||||
import FeedbackProviderReleaseOverview from "@/components/selfEvaluationFeedback/FeedbackProviderReleaseOverview.vue";
|
|
||||||
import log from "loglevel";
|
import log from "loglevel";
|
||||||
|
import { computed, ref, watch } from "vue";
|
||||||
|
import { useRouter } from "vue-router";
|
||||||
|
|
||||||
const router = useRouter();
|
const router = useRouter();
|
||||||
const props = defineProps<{
|
const props = defineProps<{
|
||||||
|
|
|
||||||
|
|
@ -9,11 +9,11 @@ import { computed, onMounted } from "vue";
|
||||||
// @ts-ignore
|
// @ts-ignore
|
||||||
import colors from "@/colors.json";
|
import colors from "@/colors.json";
|
||||||
|
|
||||||
import type { CircleType, LearningSequence } from "@/types";
|
|
||||||
import {
|
import {
|
||||||
allFinishedInLearningSequence,
|
allFinishedInLearningSequence,
|
||||||
someFinishedInLearningSequence,
|
someFinishedInLearningSequence,
|
||||||
} from "@/services/circle";
|
} from "@/services/circle";
|
||||||
|
import type { CircleType, LearningSequence } from "@/types";
|
||||||
|
|
||||||
const props = defineProps<{
|
const props = defineProps<{
|
||||||
circle: CircleType;
|
circle: CircleType;
|
||||||
|
|
|
||||||
|
|
@ -1,7 +1,7 @@
|
||||||
<script setup lang="ts">
|
<script setup lang="ts">
|
||||||
import ItFullScreenModal from "@/components/ui/ItFullScreenModal.vue";
|
import ItFullScreenModal from "@/components/ui/ItFullScreenModal.vue";
|
||||||
import type { CircleType } from "@/types";
|
|
||||||
import RichText from "@/components/ui/RichText.vue";
|
import RichText from "@/components/ui/RichText.vue";
|
||||||
|
import type { CircleType } from "@/types";
|
||||||
|
|
||||||
defineProps<{
|
defineProps<{
|
||||||
circle: CircleType;
|
circle: CircleType;
|
||||||
|
|
|
||||||
|
|
@ -1,20 +1,20 @@
|
||||||
<script setup lang="ts">
|
<script setup lang="ts">
|
||||||
|
import {
|
||||||
|
useCourseDataWithCompletion,
|
||||||
|
useCourseSessionDetailQuery,
|
||||||
|
useCurrentCourseSession,
|
||||||
|
} from "@/composables";
|
||||||
|
import { useCSRFFetch } from "@/fetchHelpers";
|
||||||
|
import LearningSequence from "@/pages/learningPath/circlePage/LearningSequence.vue";
|
||||||
|
import { useCircleStore } from "@/stores/circle";
|
||||||
import type { CourseSessionUser } from "@/types";
|
import type { CourseSessionUser } from "@/types";
|
||||||
|
import { stringifyParse } from "@/utils/utils";
|
||||||
import log from "loglevel";
|
import log from "loglevel";
|
||||||
import { computed, watch } from "vue";
|
import { computed, watch } from "vue";
|
||||||
import { useRoute } from "vue-router";
|
import { useRoute } from "vue-router";
|
||||||
import CircleDiagram from "./CircleDiagram.vue";
|
import CircleDiagram from "./CircleDiagram.vue";
|
||||||
import CircleOverview from "./CircleOverview.vue";
|
import CircleOverview from "./CircleOverview.vue";
|
||||||
import DocumentSection from "./DocumentSection.vue";
|
import DocumentSection from "./DocumentSection.vue";
|
||||||
import {
|
|
||||||
useCourseDataWithCompletion,
|
|
||||||
useCourseSessionDetailQuery,
|
|
||||||
useCurrentCourseSession,
|
|
||||||
} from "@/composables";
|
|
||||||
import { stringifyParse } from "@/utils/utils";
|
|
||||||
import { useCircleStore } from "@/stores/circle";
|
|
||||||
import LearningSequence from "@/pages/learningPath/circlePage/LearningSequence.vue";
|
|
||||||
import { useCSRFFetch } from "@/fetchHelpers";
|
|
||||||
|
|
||||||
export interface Props {
|
export interface Props {
|
||||||
courseSlug: string;
|
courseSlug: string;
|
||||||
|
|
|
||||||
|
|
@ -22,9 +22,9 @@
|
||||||
<script setup lang="ts">
|
<script setup lang="ts">
|
||||||
import DocumentListItem from "@/components/circle/DocumentListItem.vue";
|
import DocumentListItem from "@/components/circle/DocumentListItem.vue";
|
||||||
import { useCurrentCourseSession } from "@/composables";
|
import { useCurrentCourseSession } from "@/composables";
|
||||||
import { computed, onMounted, ref } from "vue";
|
|
||||||
import type { CircleDocument, CircleType } from "@/types";
|
|
||||||
import { fetchCourseSessionDocuments } from "@/services/files";
|
import { fetchCourseSessionDocuments } from "@/services/files";
|
||||||
|
import type { CircleDocument, CircleType } from "@/types";
|
||||||
|
import { computed, onMounted, ref } from "vue";
|
||||||
|
|
||||||
const props = defineProps<{
|
const props = defineProps<{
|
||||||
circle: CircleType;
|
circle: CircleType;
|
||||||
|
|
|
||||||
Some files were not shown because too many files have changed in this diff Show More
Loading…
Reference in New Issue