// // Copyright © 2023 Hardcore Engineering Inc. // import training, { type Training, trainingId, type TrainingRequest } from '@hcengineering/training' import { mergeIds, type Resource } from '@hcengineering/platform' import { type ComponentType } from 'svelte' import { type Ref } from '@hcengineering/core' import { type Action, type GetAllValuesFunc, type ObjectTitle, type SortFunc, type ViewActionAvailabilityFunction, type ViewActionFunction, type ViewletDescriptor } from '@hcengineering/view' import type EmployeeEditor from './components/EmployeeEditor.svelte' import type IncomingRequestPresenter from './components/IncomingRequestPresenter.svelte' import type IncomingRequestStatePresenter from './components/IncomingRequestStatePresenter.svelte' 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' import type TrainingAttemptScorePresenter from './components/TrainingAttemptScorePresenter.svelte' import type TrainingAttemptStateFilterPresenter from './components/TrainingAttemptStateFilterPresenter.svelte' import type TrainingAttemptStatePresenter from './components/TrainingAttemptStatePresenter.svelte' import type TrainingCodePresenter from './components/TrainingCodePresenter.svelte' import type TrainingCreator from './components/TrainingCreator.svelte' import type TrainingPanel from './components/TrainingPanel.svelte' import type TrainingPassingScorePresenter from './components/TrainingPassingScorePresenter.svelte' import type TrainingRequestDueDateEditor from './components/TrainingRequestDueDateEditor.svelte' import type TrainingRequestMaxAttemptsEditor from './components/TrainingRequestMaxAttemptsEditor.svelte' import type TrainingRequestMaxAttemptsPresenter from './components/TrainingRequestMaxAttemptsPresenter.svelte' import type IncomingRequestAttemptsPresenter from './components/IncomingRequestAttemptsPresenter.svelte' import type TrainingRequestNotificationPresenter from './components/TrainingRequestNotificationPresenter.svelte' 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' import type ViewMyTrainings from './components/ViewMyTrainings.svelte' import type ViewSentRequests from './components/ViewSentRequests.svelte' import type ViewTraineesResults from './components/ViewTraineesResults.svelte' export default mergeIds(trainingId, training, { component: { EmployeeEditor: '' as Resource>, IncomingRequestAttemptsPresenter: '' as Resource>, IncomingRequestPresenter: '' as Resource>, IncomingRequestStatePresenter: '' as Resource>, SentRequestCompletionPresenter: '' as Resource>, SentRequestPresenter: '' as Resource>, SentRequestStatePresenter: '' as Resource>, TrainingPresenter: '' as Resource>, TrainingAttemptNumberPresenter: '' as Resource>, TrainingAttemptPanel: '' as Resource>, TrainingAttemptPresenter: '' as Resource>, TrainingAttemptScorePresenter: '' as Resource>, TrainingAttemptStateFilterPresenter: '' as Resource>, TrainingAttemptStatePresenter: '' as Resource>, TrainingCodePresenter: '' as Resource>, TrainingCreator: '' as Resource>, TrainingPanel: '' as Resource>, TrainingPassingScorePresenter: '' as Resource>, TrainingRequestDueDateEditor: '' as Resource>, TrainingRequestMaxAttemptsEditor: '' as Resource>, TrainingRequestMaxAttemptsPresenter: '' as Resource>, TrainingRequestNotificationPresenter: '' as Resource>, TrainingRequestPanel: '' as Resource>, TrainingRequestTraineesEditor: '' as Resource>, TrainingStateFilterPresenter: '' as Resource>, TrainingStatePresenter: '' as Resource>, TrainingTitlePresenter: '' as Resource>, ViewAllTrainings: '' as Resource>, ViewIncomingRequests: '' as Resource>, ViewMyTrainings: '' as Resource>, ViewMyResults: '' as Resource>, ViewSentRequests: '' as Resource>, ViewTraineesResults: '' as Resource> }, action: { TrainingChangeOwner: '' as Ref>, TrainingChangeOwnerAction: '' as Resource>, TrainingChangeOwnerIsAvailable: '' as Resource>, TrainingDelete: '' as Ref>, TrainingDeleteAction: '' as Resource>, TrainingDeleteIsAvailable: '' as Resource>, TrainingDraft: '' as Ref>, TrainingDraftAction: '' as Resource>, TrainingDraftIsAvailable: '' as Resource>, TrainingDuplicate: '' as Ref>, TrainingDuplicateAction: '' as Resource>, TrainingDuplicateIsAvailable: '' as Resource>, TrainingRelease: '' as Ref>, TrainingReleaseAction: '' as Resource>, TrainingReleaseIsAvailable: '' as Resource>, TrainingRequestCancel: '' as Ref>, TrainingRequestCancelAction: '' as Resource>, TrainingRequestCancelIsAvailable: '' as Resource>, TrainingRequestChangeOwner: '' as Ref>, TrainingRequestChangeOwnerAction: '' as Resource>, TrainingRequestChangeOwnerIsAvailable: '' as Resource>, TrainingRequestCreate: '' as Ref>, TrainingRequestCreateAction: '' as Resource>, TrainingRequestCreateIsAvailable: '' as Resource> }, function: { TrainingAttemptStateSort: '' as SortFunc, TrainingAttemptStateAllValues: '' as GetAllValuesFunc, TrainingRequestObjectTitleProvider: '' as ObjectTitle['titleProvider'], TrainingStateSort: '' as SortFunc, TrainingStateAllValues: '' as GetAllValuesFunc }, viewlet: { IncomingRequests: '' as Ref, SentRequests: '' as Ref, TrainingAttempts: '' as Ref, TrainingIncomingRequests: '' as Ref, TrainingSentRequests: '' as Ref, TrainingAttemptsNested: '' as Ref } })