UNPKG

@linkdesign/screen

Version:

屏组件库,但使用场景又不局限于屏。主要用于BI、大盘和屏

114 lines (113 loc) 4.81 kB
"use strict"; var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault"); exports.__esModule = true; exports["default"] = void 0; var _extends2 = _interopRequireDefault(require("@babel/runtime/helpers/extends")); var _objectWithoutPropertiesLoose2 = _interopRequireDefault(require("@babel/runtime/helpers/objectWithoutPropertiesLoose")); var _react = _interopRequireWildcard(require("react")); var _classnames = _interopRequireDefault(require("classnames")); var _lodashEs = require("lodash-es"); var _next = require("@alifd/next"); var _echart = _interopRequireDefault(require("../echart")); var _context = _interopRequireDefault(require("../context")); var _Utils = require("../Utils"); var _excluded = ["className", "options"]; function _getRequireWildcardCache(e) { if ("function" != typeof WeakMap) return null; var r = new WeakMap(), t = new WeakMap(); return (_getRequireWildcardCache = function _getRequireWildcardCache(e) { return e ? t : r; })(e); } function _interopRequireWildcard(e, r) { if (!r && e && e.__esModule) return e; if (null === e || "object" != typeof e && "function" != typeof e) return { "default": e }; var t = _getRequireWildcardCache(r); if (t && t.has(e)) return t.get(e); var n = { __proto__: null }, a = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var u in e) if ("default" !== u && Object.prototype.hasOwnProperty.call(e, u)) { var i = a ? Object.getOwnPropertyDescriptor(e, u) : null; i && (i.get || i.set) ? Object.defineProperty(n, u, i) : n[u] = e[u]; } return n["default"] = e, t && t.set(e, n), n; } var Row = _next.Grid.Row, Col = _next.Grid.Col; var COLORS = ['#0095ff', '#0085e5', '#0077cc', '#0068b2', '#005999', '#004a7f', '#003b66', '#03355d', '#04192e']; var OPTIONS = { legend: { icon: 'circle', orient: 'vertical', textStyle: { fontFamily: 'HelveticaNeue-CondensedBold', textBorderColor: '#fff', textBorderWidth: 2, fontSize: 12 } }, axisPointer: { z: 50, snap: false, triggerTooltip: false, value: null, status: null }, series: [{ type: 'treemap', roam: false, width: '100%', height: '100%', sort: false, breadcrumb: { show: false }, itemStyle: { borderColor: '#333' }, levels: [{ color: COLORS, itemStyle: { borderWidth: 0, gapWidth: 2 } }] }] }; var Container = function Container(props) { var _useContext = (0, _react.useContext)(_context["default"]), _cssPrefix = _useContext._cssPrefix; var className = props.className, options = props.options, others = (0, _objectWithoutPropertiesLoose2["default"])(props, _excluded); var _options = (0, _lodashEs.merge)(JSON.parse(JSON.stringify(OPTIONS)), options); var _data = (0, _lodashEs.get)(_options, 'series.[0].data'); if (!_data || (_data === null || _data === void 0 ? void 0 : _data.length) < 1) { (0, _lodashEs.set)(_options, 'series.[0].data', [{ name: '暂无数据', value: 100, itemStyle: { color: '#04192d' } }]); } return /*#__PURE__*/_react["default"].createElement("div", { className: (0, _classnames["default"])(className, _cssPrefix + "treemap-chart-wrapper") }, /*#__PURE__*/_react["default"].createElement(_echart["default"], (0, _extends2["default"])({ options: _options }, others)), /*#__PURE__*/_react["default"].createElement("div", { className: _cssPrefix + "treemap-items" }, (0, _lodashEs.chunk)(!_data || (_data === null || _data === void 0 ? void 0 : _data.length) < 1 ? (0, _Utils.fillBy)(_data, { name: '-', value: '-', itemStyle: { color: '#0196ff' } }, 5) : _data, 3).map(function (item, i) { return /*#__PURE__*/_react["default"].createElement(Row, { key: i, justify: "space-between", gutter: "10" }, item.map(function (o, j) { var _o$itemStyle; return /*#__PURE__*/_react["default"].createElement(Col, { key: i + "-" + j, span: "8", className: _cssPrefix + "treemap-item" }, /*#__PURE__*/_react["default"].createElement("div", { className: _cssPrefix + "treemap-name" }, /*#__PURE__*/_react["default"].createElement("i", { style: { backgroundColor: (_o$itemStyle = o.itemStyle) === null || _o$itemStyle === void 0 ? void 0 : _o$itemStyle.color } }), /*#__PURE__*/_react["default"].createElement("span", { className: _cssPrefix + "treemap-text" }, o.name), "\uFF1A"), /*#__PURE__*/_react["default"].createElement("span", { className: (0, _classnames["default"])(_cssPrefix + "treemap-scale", _cssPrefix + "data") }, o.cell ? o.cell(o.value, o) : o.value)); })); }))); }; var _default = exports["default"] = Container;