UNPKG

ming-demo3

Version:
268 lines (236 loc) 8.43 kB
"use strict"; var _interopRequireWildcard = require("@babel/runtime/helpers/interopRequireWildcard"); var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault"); Object.defineProperty(exports, "__esModule", { value: true }); exports.getRankTable = getRankTable; var _cloneDeep2 = _interopRequireDefault(require("lodash/cloneDeep")); var _filter2 = _interopRequireDefault(require("lodash/filter")); var eChartDemoData = _interopRequireWildcard(require("../eChartDemoData")); var eChartCommon = _interopRequireWildcard(require("../eChartCommon")); var _baseui = require("@mdf/baseui"); var _react = _interopRequireWildcard(require("react")); var _row = _interopRequireDefault(require("../../basic/row")); var _col = _interopRequireDefault(require("../../basic/col")); function getRankTable(yySetting, data, isInPanel, panelType, skinConfig) { var skinStyle = {}; var skinStyle2 = {}; if (!!skinConfig && skinConfig.displaySkin) { skinStyle.color = skinConfig.displaySkin.textColor; skinStyle2.color = skinConfig.displaySkin.textColor2; } var bShowValueAfterBarCol = true; var dimensionX = yySetting.dataField.dimensionX ? yySetting.dataField.dimensionX : []; dimensionX.sort(function (a, b) { return a.iLabelOrder - b.iLabelOrder; }); var measure = yySetting.dataField.measure; measure.sort(function (a, b) { return a.iOrder - b.iOrder; }); var tableCols = []; var colorList = eChartCommon.getChartColorArr(100); var indexCol = yySetting.indexCol; var bAddIndexCol = indexCol.bAddIndexCol ? true : false; var orderInfo = yySetting.orderInfo; var maxMeasureArr = []; measure.forEach(function (ele) { if (ele.bShowValueNotBar == false) { maxMeasureArr.push({ fieldname: ele.valueField, fieldvalue: 0, bShowValueAfterBar: ele.bShowValueAfterBar ? true : false }); } }); if (maxMeasureArr.length > 0) { maxMeasureArr.forEach(function (eleMeasure) { data.forEach(function (eleData) { if (isNaN(eleData[eleMeasure.fieldname]) == false) { if (Number(eleData[eleMeasure.fieldname]) > Number(eleMeasure.fieldvalue)) eleMeasure.fieldvalue = Number(eleData[eleMeasure.fieldname]); } }); }); } ; if (data.length > 1) { if (orderInfo.orderBy == "asc") data.sort(function (a, b) { return a[orderInfo.orderField] - b[orderInfo.orderField]; });else data.sort(function (a, b) { return b[orderInfo.orderField] - a[orderInfo.orderField]; }); } if (isNaN(orderInfo.topNum) == false && data.length > orderInfo.topNum) { data = data.slice(0, orderInfo.topNum); } if (bAddIndexCol) { tableCols.push({ title: _react["default"].createElement("div", { style: skinStyle2 }, indexCol.caption), dataIndex: indexCol.key, width: isInPanel ? undefined : 40 }); } dimensionX.forEach(function (ele) { tableCols.push({ title: _react["default"].createElement("div", { style: skinStyle2 }, ele.caption), dataIndex: ele.nameField, width: isInPanel ? undefined : 220 }); }); measure.forEach(function (ele) { if (ele.bShowValueNotBar) { tableCols.push({ title: _react["default"].createElement("div", { style: skinStyle2 }, ele.caption), dataIndex: ele.valueField }); } else { tableCols.push({ title: _react["default"].createElement("div", { style: skinStyle2 }, ele.caption), dataIndex: ele.valueField, render: function render(text, row, index) { return renderLenthBar(text, row, index, ele, colorList[index], maxMeasureArr, isInPanel, panelType, bShowValueAfterBarCol); } }); if (bShowValueAfterBarCol && ele.bShowValueAfterBar) tableCols.push({ dataIndex: ele.valueField + "_BarValue" }); } }); var tableData = []; data.forEach(function (eleData, dataIndex) { var tmpData = { key: dataIndex }; tableCols.forEach(function (eleCols) { var fieldName = eleCols.dataIndex; if (fieldName.indexOf("_BarValue") > 0) { var num = fieldName.indexOf("_BarValue"); tmpData[fieldName] = _react["default"].createElement("div", { style: skinStyle }, eleData[fieldName.substring(0, num)]); } else if ((0, _filter2["default"])(maxMeasureArr, function (o) { return o.fieldname == fieldName; }).length > 0) { tmpData[fieldName] = eleData[fieldName]; } else { tmpData[fieldName] = _react["default"].createElement("div", { style: skinStyle, className: getClassNamePrifx(panelType, "rankTable") + "_Col_Value" }, eleData[fieldName]); } }); if (bAddIndexCol) { tmpData[indexCol.key] = _react["default"].createElement("div", { style: skinStyle, className: getClassNamePrifx(panelType, "rankTable") + "_Index_" + (dataIndex > 2 ? 4 : dataIndex + 1) }, dataIndex + 1); } tableData.push(tmpData); }); var pagination = { pageSize: 10 }; if (isInPanel || tableData.length <= pagination.pageSize) { pagination = false; } var titleStyle = (0, _cloneDeep2["default"])(skinStyle); titleStyle.fontSize = 14; titleStyle.fontWeight = "bold"; return _react["default"].createElement("div", { className: getClassNamePrifx(panelType, "rankTable") + (isInPanel ? "_Panel" : "_Report") }, _react["default"].createElement("div", { className: getClassNamePrifx(panelType, "rankTable") + "_Title", style: titleStyle }, yySetting.title.text), _react["default"].createElement(_baseui.Table, { pagination: pagination, size: isInPanel ? "small" : "middle", bordered: false, columns: tableCols, dataSource: tableData, rowClassName: function rowClassName(record, index) { return "rankTable_Row"; } })); } var getClassNamePrifx = function getClassNamePrifx(panelType, className) { if (panelType == 2) { return className + "2"; } else { return className; } }; var renderLenthBarValue = function renderLenthBarValue(text, row, index, ele, barColor, maxMeasureArr, isInPanel) { var obj = { children: text, props: {} }; return obj; }; var renderLenthBar = function renderLenthBar(text, row, index, ele, barColor, maxMeasureArr, isInPanel, panelType, bShowValueAfterBarCol) { var eleMeasures = (0, _filter2["default"])(maxMeasureArr, function (o) { return o.fieldname == ele.valueField; }); var maxValue = eleMeasures[0].fieldvalue; if (maxValue == 0) maxValue = 1; var bShowValueAfterBar = eleMeasures[0].bShowValueAfterBar; if (bShowValueAfterBar) maxValue = maxValue * 2;else maxValue = maxValue * 1.5; var value = 0; var valuePer = 0; if (row.hasOwnProperty(ele.valueField) && isNaN(row[ele.valueField]) == false) { value = Number(row[ele.valueField]); valuePer = Math.abs(value * 100 / maxValue); } var style; if (isInPanel) { if (panelType == 1) { style = { height: '20%', width: valuePer + "%", backgroundColor: barColor, "float": "left", borderTopLeftRadius: "0", borderBottomLeftRadius: "0", borderTopRightRadius: valuePer > 10 ? "5px" : "0", borderBottomRightRadius: valuePer > 10 ? "5px" : "0" }; } else { style = { height: '10px', width: valuePer + "%", backgroundColor: barColor, "float": "left", borderTopLeftRadius: "0", borderBottomLeftRadius: "0", borderTopRightRadius: valuePer > 10 ? "4px" : "0", borderBottomRightRadius: valuePer > 10 ? "4px" : "0" }; } } else { style = { height: '10px', width: valuePer + "%", backgroundColor: barColor, "float": "left", borderTopLeftRadius: "0", borderBottomLeftRadius: "0", borderTopRightRadius: "10px", borderBottomRightRadius: "10px", marginTop: "5px" }; } return _react["default"].createElement("div", null, _react["default"].createElement("div", { style: style }, "\xA0"), _react["default"].createElement("div", null, _react["default"].createElement("span", { className: "ranknumber" }, " ", bShowValueAfterBar && bShowValueAfterBarCol == false ? value : null))); }; //# sourceMappingURL=rankTableChart.js.map