import PageHeader from "components/PageHeader/PageHeader"; import { ReactElement } from "react"; import "./FileTemplate.scss"; import useFileTemplateHook from "./FileTemplateHook"; import { Button, InputText, TextArea } from "react3l-ui-library"; import View16 from "@carbon/icons-react/es/view/16"; import DocumentDownload16 from "@carbon/icons-react/es/document--download/16"; import Download16 from "@carbon/icons-react/es/download/16"; import ChevronDown16 from "@carbon/icons-react/es/chevron--down/16"; import { Col, Dropdown, Menu, Row, Spin } from "antd"; import React from "react"; import { Observable } from "rxjs"; import { FileTemplate, FileTemplateInput } from "core/models/FileTemplate"; export interface FileTemplateParams { queryParams?: any; template: FileTemplate; } export interface FileTemplateProps { getListFileTemplates: () => Observable; previewFileTemplate: (params: FileTemplateParams) => Observable; downloadFileTemplatePdf: (params: FileTemplateParams) => Observable; downloadFileTemplateOriginal: (params: FileTemplateParams) => Observable; saveFileTemplate?: (fileTemplate: FileTemplate) => void; subTitle?: string; dataParams?: any; } export default function FileTemplatePage( props: FileTemplateProps ): ReactElement { const { getListFileTemplates, previewFileTemplate, downloadFileTemplatePdf, downloadFileTemplateOriginal, saveFileTemplate, subTitle, dataParams, } = props; const { currentfileTemplate, fileTemplates, pdfBlobUrl, loadingPdf, translate, handleChangeFileTemplateInputValue, handleChangeFileTemplateName, handleChangeFileTemplate, handlePreviewFileTemplate, handleDownloadFileTemplate, handleDownloadFileTemplateOriginal, handleSaveFileTemplate, } = useFileTemplateHook( getListFileTemplates, previewFileTemplate, downloadFileTemplatePdf, downloadFileTemplateOriginal, saveFileTemplate, dataParams ); const listFileTemplates = React.useMemo(() => { const idString = currentfileTemplate && currentfileTemplate.id ? currentfileTemplate.id.toString() : null; return fileTemplates && fileTemplates.length > 0 ? ( {fileTemplates.map((item: FileTemplate) => { return {item.name}; })} ) : ( {"Empty"} ); }, [currentfileTemplate, fileTemplates, handleChangeFileTemplate]); return ( <>
{translate("fileTemplates.title")}
listFileTemplates} trigger={["click"]} > {saveFileTemplate && ( )}
{currentfileTemplate && currentfileTemplate.inputs != null && currentfileTemplate.inputs.map( ( fileTemplateInput: FileTemplateInput, index: number ) => { return (