|
|
@@ -20,53 +20,56 @@
|
|
|
<script lang="ts">
|
|
|
import Competence from "@/models/Competence";
|
|
|
import EditeurContrainte from "@/components/EditeurCompetence.vue";
|
|
|
-import DataTable, { DataTableData, DataTableObject } from "@/components/DataTable.vue";
|
|
|
+import DataTable, { DataTableData, DataTableColumn } from "@/components/DataTable.vue";
|
|
|
import { defineComponent } from "vue";
|
|
|
import { MutationTypes } from "@/store/Mutations";
|
|
|
|
|
|
+type CompetenceTableObject = {
|
|
|
+ id: number;
|
|
|
+ name: string;
|
|
|
+ overflowDescription: string;
|
|
|
+ renderPreference: string;
|
|
|
+ isPreference: string;
|
|
|
+ renderTeachable: string;
|
|
|
+ isTeachable: string;
|
|
|
+};
|
|
|
+const columns: Array<DataTableColumn<CompetenceTableObject>> = [
|
|
|
+ {
|
|
|
+ label: "Nom",
|
|
|
+ field: "name",
|
|
|
+ numeric: false,
|
|
|
+ html: false,
|
|
|
+ class: "overflow-cell",
|
|
|
+ },
|
|
|
+ {
|
|
|
+ label: "Description",
|
|
|
+ field: "overflowDescription",
|
|
|
+ numeric: false,
|
|
|
+ html: true,
|
|
|
+ class: "overflow-cell",
|
|
|
+ },
|
|
|
+ {
|
|
|
+ label: "Preference",
|
|
|
+ field: "renderPreference",
|
|
|
+ numeric: false,
|
|
|
+ html: true,
|
|
|
+ class: "fitwidth",
|
|
|
+ export: "isPreference",
|
|
|
+ },
|
|
|
+ {
|
|
|
+ label: "Apprenable",
|
|
|
+ field: "renderTeachable",
|
|
|
+ numeric: false,
|
|
|
+ html: true,
|
|
|
+ class: "fitwidth",
|
|
|
+ export: "isTeachable",
|
|
|
+ },
|
|
|
+];
|
|
|
export default defineComponent({
|
|
|
name: "CompetenceManager",
|
|
|
components: { "data-table": DataTable, EditeurContrainte },
|
|
|
data: () => ({
|
|
|
- columns: [
|
|
|
- {
|
|
|
- label: "Id",
|
|
|
- field: "id",
|
|
|
- numeric: true,
|
|
|
- html: false,
|
|
|
- class: "fitwidth",
|
|
|
- },
|
|
|
- {
|
|
|
- label: "Nom",
|
|
|
- field: "name",
|
|
|
- numeric: false,
|
|
|
- html: false,
|
|
|
- class: "overflow-cell",
|
|
|
- },
|
|
|
- {
|
|
|
- label: "Description",
|
|
|
- field: "overflowDescription",
|
|
|
- numeric: false,
|
|
|
- html: true,
|
|
|
- class: "overflow-cell",
|
|
|
- },
|
|
|
- {
|
|
|
- label: "Preference",
|
|
|
- field: "renderPreference",
|
|
|
- numeric: false,
|
|
|
- html: true,
|
|
|
- class: "fitwidth",
|
|
|
- export: "isPreference",
|
|
|
- },
|
|
|
- {
|
|
|
- label: "Apprenable",
|
|
|
- field: "renderTeachable",
|
|
|
- numeric: false,
|
|
|
- html: true,
|
|
|
- class: "fitwidth",
|
|
|
- export: "isTeachable",
|
|
|
- },
|
|
|
- ],
|
|
|
+ columns,
|
|
|
currentCompetence: undefined as Competence | undefined,
|
|
|
loading: true,
|
|
|
}),
|
|
|
@@ -74,7 +77,7 @@ export default defineComponent({
|
|
|
competenceList(): Array<Competence> {
|
|
|
return this.$store.state.competenceList;
|
|
|
},
|
|
|
- data(): DataTableData<DataTableObject> {
|
|
|
+ data(): DataTableData<CompetenceTableObject> {
|
|
|
return {
|
|
|
items: this.competenceList.map((c) => {
|
|
|
return {
|