@docsvision/webclient
Version:
Type definitions for DocsVision WebClient scripts and extensions.
29 lines (28 loc) • 1.6 kB
TypeScript
import React from "react";
import { IComponentProps } from '@docsvision/web/core/component';
import { ModalDialogProps } from '@docsvision/web/components/modals/modal-dialog';
import { DirectoryEntryModalLogic } from "@docsvision/webclient/BackOffice/DirectoryEntryModalLogic";
import { Event } from "effector";
import { $LocationContainerControlServices, LocationContainerControl } from "@docsvision/webclient/System/LocationContainerControl";
import { GenModels } from "@docsvision/webclient/Generated/DocsVision.WebClient.Models";
/** @internal */
export interface IDirectoryEntryModalProps<TParams, TResult> extends Omit<ModalDialogProps, "onSetupView" | "onSetupLogic" | "isOpen">, IComponentProps<DirectoryEntryModalLogic<any, any>, DirectoryEntryModalView> {
locationName: string;
loadLayout: (params: TParams) => Promise<GenModels.LayoutViewModel>;
getHeader: (params: TParams) => string | React.ReactNode;
showEvent: Event<TParams>;
/** Create layout creates row on load. So it should be canceled normally, with deletion of the row. */
preventCloseBeforeLoaded?: boolean;
onAccept?: (result?: TResult, params?: TParams) => void;
onCancel?: (reason: any) => void;
onClosed?: () => void;
services: $LocationContainerControlServices;
name?: string;
}
/** @internal */
export declare class DirectoryEntryModalView {
dialog: (props: ModalDialogProps) => JSX.Element;
locationContainer: typeof LocationContainerControl;
}
/** @internal */
export declare const DirectoryEntryModal: (props: IDirectoryEntryModalProps<any, any>) => JSX.Element;