UNPKG

@netdata/charts

Version:

Netdata frontend SDK and chart utilities

80 lines (79 loc) 2.93 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports["default"] = void 0; var _react = _interopRequireDefault(require("react")); var _styledComponents = _interopRequireDefault(require("styled-components")); var _netdataUi = require("@netdata/netdata-ui"); var _download = _interopRequireDefault(require("@netdata/netdata-ui/dist/components/icon/assets/download.svg")); var _icon = _interopRequireDefault(require("../../../icon")); var _useDownload = require("../../download/useDownload"); var _jsxRuntime = require("react/jsx-runtime"); function _interopRequireDefault(e) { return e && e.__esModule ? e : { "default": e }; } var subtitles = { "Download as CSV": "Values converted to display units", "Download raw data": "Raw values straight from the database", "Download as PDF": "Rendered chart image, A4 page", "Download as PNG": "Rendered chart image, transparent-friendly" }; var RowButton = (0, _styledComponents["default"])(_netdataUi.Flex).attrs({ as: "button", role: "button" }).withConfig({ displayName: "download__RowButton", componentId: "sc-748uf9-0" })(["appearance:none;background:transparent;border:0;border-radius:4px;cursor:pointer;text-align:left;width:100%;color:inherit;font:inherit;transition:background 120ms ease;&:hover,&:focus-visible{background:", ";outline:none;}"], (0, _netdataUi.getColor)("selected")); var Row = function Row(_ref) { var label = _ref.label, onClick = _ref.onClick, dataTrack = _ref["data-track"]; return /*#__PURE__*/(0, _jsxRuntime.jsxs)(RowButton, { alignItems: "center", gap: 3, padding: [2, 3], onClick: onClick, "data-track": dataTrack, "data-testid": "chartSettings-download-".concat(label.replace(/\s+/g, "-").toLowerCase()), children: [/*#__PURE__*/(0, _jsxRuntime.jsx)(_icon["default"], { svg: _download["default"], size: "16px", color: "textLite" }), /*#__PURE__*/(0, _jsxRuntime.jsxs)(_netdataUi.Flex, { column: true, gap: 0.5, flex: true, children: [/*#__PURE__*/(0, _jsxRuntime.jsx)(_netdataUi.TextSmall, { strong: true, children: label }), /*#__PURE__*/(0, _jsxRuntime.jsx)(_netdataUi.TextSmall, { color: "textNoFocus", children: subtitles[label] })] })] }); }; var DownloadBody = function DownloadBody(_ref2) { var chart = _ref2.chart; var items = (0, _useDownload.useDownloadItems)(chart); return /*#__PURE__*/(0, _jsxRuntime.jsx)(_netdataUi.Flex, { column: true, padding: [2], gap: 1, width: { min: "260px" }, children: items.map(function (item) { return /*#__PURE__*/(0, _jsxRuntime.jsx)(Row, { label: item.label, onClick: item.onClick, "data-track": item["data-track"] }, item.label); }) }); }; var _default = exports["default"] = { id: "download", label: "Download", Component: DownloadBody };