diff --git a/models/training/src/index.ts b/models/training/src/index.ts index cb539af8e0..82980172d8 100644 --- a/models/training/src/index.ts +++ b/models/training/src/index.ts @@ -189,6 +189,10 @@ function defineTraining (builder: Builder): void { component: training.component.TrainingPanel }) + builder.mixin(training.class.Training, core.class.Class, view.mixin.ObjectPresenter, { + presenter: training.component.TrainingPresenter + }) + builder.createDoc(view.class.Viewlet, core.space.Model, { attachTo: training.class.Training, descriptor: view.viewlet.Table, @@ -201,7 +205,8 @@ function defineTraining (builder: Builder): void { }, { ...columns.trainingTitle, - key: 'title' + key: '', + presenter: training.component.TrainingTitlePresenter }, { ...columns.trainingRevision, @@ -890,8 +895,7 @@ const columns = { trainingTitle: { key: 'title', label: training.string.TrainingTitle, - props: { accent: true }, - displayProps: { grow: true, align: 'left' } + displayProps: { align: 'left' } }, trainingRevision: { key: 'revision', diff --git a/plugins/training-resources/src/components/TrainingTitlePresenter.svelte b/plugins/training-resources/src/components/TrainingTitlePresenter.svelte new file mode 100644 index 0000000000..3a0ac1a866 --- /dev/null +++ b/plugins/training-resources/src/components/TrainingTitlePresenter.svelte @@ -0,0 +1,22 @@ + + + + +{#if value} +
+ + + {value.title} + + +
+{/if} diff --git a/plugins/training-resources/src/index.ts b/plugins/training-resources/src/index.ts index 53a920bcd2..5532886810 100644 --- a/plugins/training-resources/src/index.ts +++ b/plugins/training-resources/src/index.ts @@ -28,6 +28,7 @@ import TrainingCodePresenter from './components/TrainingCodePresenter.svelte' import TrainingCreator from './components/TrainingCreator.svelte' import TrainingPanel from './components/TrainingPanel.svelte' import TrainingPassingScorePresenter from './components/TrainingPassingScorePresenter.svelte' +import TrainingPresenter from './components/TrainingPresenter.svelte' import TrainingRequestDueDateEditor from './components/TrainingRequestDueDateEditor.svelte' import TrainingRequestMaxAttemptsEditor from './components/TrainingRequestMaxAttemptsEditor.svelte' import TrainingRequestMaxAttemptsPresenter from './components/TrainingRequestMaxAttemptsPresenter.svelte' @@ -36,6 +37,7 @@ import TrainingRequestPanel from './components/TrainingRequestPanel.svelte' import TrainingRequestTraineesEditor from './components/TrainingRequestTraineesEditor.svelte' import TrainingStateFilterPresenter from './components/TrainingStateFilterPresenter.svelte' import TrainingStatePresenter from './components/TrainingStatePresenter.svelte' +import TrainingTitlePresenter from './components/TrainingTitlePresenter.svelte' import ViewAllTrainings from './components/ViewAllTrainings.svelte' import ViewIncomingRequests from './components/ViewIncomingRequests.svelte' import ViewMyResults from './components/ViewMyResults.svelte' @@ -76,6 +78,7 @@ export default async (): Promise => ({ TrainingCreator, TrainingPanel, TrainingPassingScorePresenter, + TrainingPresenter, TrainingRequestDueDateEditor, TrainingRequestMaxAttemptsEditor, TrainingRequestMaxAttemptsPresenter, @@ -84,6 +87,7 @@ export default async (): Promise => ({ TrainingRequestTraineesEditor, TrainingStateFilterPresenter, TrainingStatePresenter, + TrainingTitlePresenter, ViewAllTrainings, ViewIncomingRequests, ViewMyTrainings, diff --git a/plugins/training-resources/src/plugin.ts b/plugins/training-resources/src/plugin.ts index 5488a0ac99..5286717704 100644 --- a/plugins/training-resources/src/plugin.ts +++ b/plugins/training-resources/src/plugin.ts @@ -21,6 +21,7 @@ import type IncomingRequestStatePresenter from './components/IncomingRequestStat import type SentRequestCompletionPresenter from './components/SentRequestCompletionPresenter.svelte' import type SentRequestPresenter from './components/SentRequestPresenter.svelte' import type SentRequestStatePresenter from './components/SentRequestStatePresenter.svelte' +import type TrainingPresenter from './components/TrainingPresenter.svelte' import type TrainingAttemptNumberPresenter from './components/TrainingAttemptNumberPresenter.svelte' import type TrainingAttemptPanel from './components/TrainingAttemptPanel.svelte' import type TrainingAttemptPresenter from './components/TrainingAttemptPresenter.svelte' @@ -40,6 +41,7 @@ import type TrainingRequestPanel from './components/TrainingRequestPanel.svelte' import type TrainingRequestTraineesEditor from './components/TrainingRequestTraineesEditor.svelte' import type TrainingStateFilterPresenter from './components/TrainingStateFilterPresenter.svelte' import type TrainingStatePresenter from './components/TrainingStatePresenter.svelte' +import type TrainingTitlePresenter from './components/TrainingTitlePresenter.svelte' import type ViewAllTrainings from './components/ViewAllTrainings.svelte' import type ViewIncomingRequests from './components/ViewIncomingRequests.svelte' import type ViewMyResults from './components/ViewMyResults.svelte' @@ -56,6 +58,7 @@ export default mergeIds(trainingId, training, { SentRequestCompletionPresenter: '' as Resource>, SentRequestPresenter: '' as Resource>, SentRequestStatePresenter: '' as Resource>, + TrainingPresenter: '' as Resource>, TrainingAttemptNumberPresenter: '' as Resource>, TrainingAttemptPanel: '' as Resource>, TrainingAttemptPresenter: '' as Resource>, @@ -74,6 +77,7 @@ export default mergeIds(trainingId, training, { TrainingRequestTraineesEditor: '' as Resource>, TrainingStateFilterPresenter: '' as Resource>, TrainingStatePresenter: '' as Resource>, + TrainingTitlePresenter: '' as Resource>, ViewAllTrainings: '' as Resource>, ViewIncomingRequests: '' as Resource>, ViewMyTrainings: '' as Resource>,