fastlion-amis
Version:
一种MIS页面生成工具
61 lines (60 loc) • 2.74 kB
JavaScript
"use strict";
Object.defineProperty(exports, "__esModule", { value: true });
exports.getColumnProperty = void 0;
var tslib_1 = require("tslib");
var react_1 = tslib_1.__importStar(require("react"));
var antd_1 = require("antd");
var react_json_view_1 = tslib_1.__importDefault(require("react-json-view"));
var getColumnProperty = function (columns, columnName) {
var column = columns.filter(function (item) { return item.name === columnName; })[0];
return column !== null && column !== void 0 ? column : {};
};
exports.getColumnProperty = getColumnProperty;
var PropertyModal = function (props) {
var info = props.info, onCancel = props.onCancel;
var _a = (0, react_1.useState)(false), visible = _a[0], setVisible = _a[1];
(0, react_1.useEffect)(function () {
var _a;
var hasInfo = info && ((_a = Object.keys(info)) === null || _a === void 0 ? void 0 : _a.length);
setVisible(hasInfo);
}, [info]);
var handleLoopGetData = function (item) {
var treeData = [];
for (var key in item) {
var value = item[key];
var type = typeof value;
if (type === 'object' && value !== null) {
treeData.push({
title: key,
key: key + '_' + Math.random(),
children: handleLoopGetData(value)
});
}
else {
treeData.push({
key: key + '_' + Math.random(),
title: react_1.default.createElement("span", null,
key,
": ",
react_1.default.createElement("span", { style: { backgroundColor: '#f1f1f1' } }, type === 'function' ? 'function' : JSON.stringify(value)))
});
}
}
return treeData;
};
var parsedJSON = (0, react_1.useMemo)(function () {
try {
return JSON.parse(info);
}
catch (e) {
return info;
}
}, [info]);
return (visible ? react_1.default.createElement(antd_1.Modal, { title: '当前字段:' + ((info === null || info === void 0 ? void 0 : info.label) || '属性'), style: {
top: 10
}, visible: visible, onCancel: onCancel, footer: null },
react_1.default.createElement("div", { style: { maxHeight: '80vh', overflow: 'auto' } },
react_1.default.createElement(react_json_view_1.default, { name: false, src: parsedJSON, theme: 'rjv-default', enableClipboard: false, iconStyle: "square" }))) : null);
};
exports.default = PropertyModal;
//# sourceMappingURL=./renderers/Table/PropertyModal/index.js.map