epn-ui
Version:
Дизайн система кабинета ВМ
26 lines (23 loc) • 1.56 kB
JavaScript
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 };