UNPKG

@talend/react-components

Version:
99 lines (98 loc) 3.15 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.AboutDialogTable = AboutDialogTable; exports.Text = Text; exports.getColumnHeaders = void 0; var _classnames = _interopRequireDefault(require("classnames")); var _propTypes = _interopRequireDefault(require("prop-types")); var _Skeleton = _interopRequireDefault(require("../Skeleton")); var _translate = require("../translate"); var _AboutDialogModule = _interopRequireDefault(require("./AboutDialog.module.scss")); var _jsxRuntime = require("react/jsx-runtime"); function _interopRequireDefault(e) { return e && e.__esModule ? e : { default: e }; } const i18n = (0, _translate.getI18nInstance)(); const getColumnHeaders = () => ({ name: { key: 'name', label: i18n.t('tui-components:SERVICE', { defaultValue: 'Service' }) }, build: { key: 'build', label: i18n.t('tui-components:BUILD_ID', { defaultValue: 'Build ID' }) }, version: { key: 'version', label: i18n.t('tui-components:VERSION', { defaultValue: 'Version' }) } }); exports.getColumnHeaders = getColumnHeaders; function Text({ text = '', loading, size = _Skeleton.default.SIZES.medium }) { return loading ? /*#__PURE__*/(0, _jsxRuntime.jsx)(_Skeleton.default, { type: _Skeleton.default.TYPES.text, size: size }) : text; } function AboutDialogTable({ definition = Object.values(getColumnHeaders()), services = [], loading = false }) { if (!services || !services.length) { return null; } return /*#__PURE__*/(0, _jsxRuntime.jsxs)("table", { className: (0, _classnames.default)(_AboutDialogModule.default['about-versions'], 'about-versions', 'table table-striped'), children: [/*#__PURE__*/(0, _jsxRuntime.jsx)("thead", { children: /*#__PURE__*/(0, _jsxRuntime.jsx)("tr", { children: definition.map(attribute => /*#__PURE__*/(0, _jsxRuntime.jsx)("th", { children: attribute.label }, attribute.key)) }) }), /*#__PURE__*/(0, _jsxRuntime.jsx)("tbody", { children: (loading ? [{ name: 'loading-first' }, { name: 'loading-second' }, { name: 'loading-third' }] : services).map(service => /*#__PURE__*/(0, _jsxRuntime.jsx)("tr", { children: definition.map(attribute => /*#__PURE__*/(0, _jsxRuntime.jsx)("td", { children: /*#__PURE__*/(0, _jsxRuntime.jsx)(Text, { loading: loading, text: service[attribute.key] }) }, attribute.key)) }, service.name)) })] }); } Text.propTypes = { text: _propTypes.default.string, loading: _propTypes.default.bool, size: _propTypes.default.string }; AboutDialogTable.propTypes = { services: _propTypes.default.arrayOf(_propTypes.default.shape({ name: _propTypes.default.string, version: _propTypes.default.string, build: _propTypes.default.string })), definition: _propTypes.default.arrayOf(_propTypes.default.shape({ key: _propTypes.default.string, label: _propTypes.default.string })), loading: _propTypes.default.bool }; //# sourceMappingURL=AboutDialogTable.component.js.map