EQMS-1642 Show training title in tables (#9793)

Signed-off-by: Alexander Onnikov <Alexander.Onnikov@xored.com>
This commit is contained in:
Alexander Onnikov
2025-09-05 23:36:11 +07:00
committed by GitHub
parent 8381d2ce70
commit be7df4aef1
4 changed files with 37 additions and 3 deletions
+7 -3
View File
@@ -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',
@@ -0,0 +1,22 @@
<!--
Copyright © 2023 Hardcore Engineering Inc.
-->
<script lang="ts">
import { type Training } from '@hcengineering/training'
import { DocNavLink } from '@hcengineering/view-resources'
export let value: Training
export let disabled: boolean = false
export let accent: boolean = false
</script>
{#if value}
<div class="content-halfcontent-color">
<DocNavLink object={value} {disabled} noOverflow accent>
<span class="whitespace-nowrap" class:fs-bold={accent}>
{value.title}
</span>
</DocNavLink>
</div>
{/if}
+4
View File
@@ -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<Resources> => ({
TrainingCreator,
TrainingPanel,
TrainingPassingScorePresenter,
TrainingPresenter,
TrainingRequestDueDateEditor,
TrainingRequestMaxAttemptsEditor,
TrainingRequestMaxAttemptsPresenter,
@@ -84,6 +87,7 @@ export default async (): Promise<Resources> => ({
TrainingRequestTraineesEditor,
TrainingStateFilterPresenter,
TrainingStatePresenter,
TrainingTitlePresenter,
ViewAllTrainings,
ViewIncomingRequests,
ViewMyTrainings,
+4
View File
@@ -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<ComponentType<SentRequestCompletionPresenter>>,
SentRequestPresenter: '' as Resource<ComponentType<SentRequestPresenter>>,
SentRequestStatePresenter: '' as Resource<ComponentType<SentRequestStatePresenter>>,
TrainingPresenter: '' as Resource<ComponentType<TrainingPresenter>>,
TrainingAttemptNumberPresenter: '' as Resource<ComponentType<TrainingAttemptNumberPresenter>>,
TrainingAttemptPanel: '' as Resource<ComponentType<TrainingAttemptPanel>>,
TrainingAttemptPresenter: '' as Resource<ComponentType<TrainingAttemptPresenter>>,
@@ -74,6 +77,7 @@ export default mergeIds(trainingId, training, {
TrainingRequestTraineesEditor: '' as Resource<ComponentType<TrainingRequestTraineesEditor>>,
TrainingStateFilterPresenter: '' as Resource<ComponentType<TrainingStateFilterPresenter>>,
TrainingStatePresenter: '' as Resource<ComponentType<TrainingStatePresenter>>,
TrainingTitlePresenter: '' as Resource<ComponentType<TrainingTitlePresenter>>,
ViewAllTrainings: '' as Resource<ComponentType<ViewAllTrainings>>,
ViewIncomingRequests: '' as Resource<ComponentType<ViewIncomingRequests>>,
ViewMyTrainings: '' as Resource<ComponentType<ViewMyTrainings>>,