UNPKG

epn-ui

Version:

Дизайн система кабинета ВМ

26 lines (23 loc) 1.56 kB
import React, { useEffect } from 'react'; import { FontAwesomeIcon } from '@fortawesome/react-fontawesome'; import { faFileDownload } from '@fortawesome/pro-regular-svg-icons/faFileDownload'; import useI18n from '../../../../i18n/index.js'; import Button from '../../../Button/index.js'; import { DropdownPro } from '../../../DropdownPro/index.js'; import { TooltipPro } from '../../../TooltipPro/index.js'; var DEFAULT_EXPORT_FORMATS = [{ key: 'csv', value: 'CSV' }]; var SaveTableToFile = function (_a) { var _b = _a.formats, formats = _b === void 0 ? DEFAULT_EXPORT_FORMATS : _b, onSave = _a.onSave, locale = _a.locale; var _c = useI18n(), t = _c.t, changeLanguage = _c.changeLanguage; useEffect(function () { changeLanguage(locale); }, [locale]); if (Array.isArray(formats) && formats.length === 1) { return (React.createElement(TooltipPro, { title: t('Save table data to file'), placement: "bottom" }, React.createElement(Button, { size: "small", icon: React.createElement(FontAwesomeIcon, { icon: faFileDownload }), onClick: function () { return onSave(formats[0].key); } }))); } return (React.createElement(DropdownPro, { menu: { items: formats, onSelect: function (item) { return onSave(item.key); } } }, React.createElement(TooltipPro, { title: t('Save table data to file'), placement: "bottom" }, React.createElement(Button, { size: "small", icon: React.createElement(FontAwesomeIcon, { icon: faFileDownload }) })))); }; export { SaveTableToFile as default };