@netdata/charts
Version:
Netdata frontend SDK and chart utilities
80 lines (79 loc) • 2.93 kB
JavaScript
;
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
};