ming-demo3
Version:
mdf metaui web
236 lines (205 loc) • 7.34 kB
JavaScript
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 _gridMobile = _interopRequireDefault(require("../../grid-mobile"));
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, 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
}, eleData[fieldName]);
}
});
if (bAddIndexCol) {
tmpData[indexCol.key] = _react["default"].createElement("div", {
style: skinStyle
}, 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: "mobile_RankTable"
}, _react["default"].createElement("div", {
className: "mobile_RankTable_Title",
style: titleStyle
}, yySetting.title.text), "/>");
}
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, 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) {
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: "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: "mobile_RankTable_Ranknumber"
}, " ", bShowValueAfterBar && bShowValueAfterBarCol == false ? value : null)));
};
//# sourceMappingURL=rankTableChart_Mobile.js.map
;