29 lines
1.0 KiB
TypeScript
29 lines
1.0 KiB
TypeScript
import * as React from 'react';
|
|
import type { WebPartContext } from '@microsoft/sp-webpart-base';
|
|
|
|
export interface IApprovalViewProps {
|
|
context: WebPartContext;
|
|
itemId: number;
|
|
}
|
|
|
|
type ViewComponent = React.ComponentType<IApprovalViewProps>;
|
|
|
|
/**
|
|
* Реестр форм «только для чтения» (режим согласующего): ключ формы → ленивый просмотр.
|
|
* Добавить просмотр = создать <Форма>View.tsx + строка здесь.
|
|
*/
|
|
const viewRegistry: Record<string, React.LazyExoticComponent<ViewComponent>> = {
|
|
'recruiting-hire': React.lazy(
|
|
() => import(/* webpackChunkName: 'view-recruiting-hire' */ './RecruitingHire/RecruitingHireView')
|
|
),
|
|
'it-workplace-setup': React.lazy(
|
|
() => import(/* webpackChunkName: 'view-workplace-setup' */ './WorkplaceSetup/WorkplaceSetupView')
|
|
)
|
|
};
|
|
|
|
export function getViewComponent(
|
|
formKey: string
|
|
): React.LazyExoticComponent<ViewComponent> | undefined {
|
|
return viewRegistry[formKey];
|
|
}
|