ze-react-component-library
Version:
ZeroETP React Component Library
200 lines (161 loc) • 7.07 kB
JavaScript
;
Object.defineProperty(exports, "__esModule", {
value: true
});
exports.default = void 0;
require("antd/lib/switch/style");
var _switch = _interopRequireDefault(require("antd/lib/switch"));
require("antd/lib/card/style");
var _card = _interopRequireDefault(require("antd/lib/card"));
require("antd/lib/drawer/style");
var _drawer = _interopRequireDefault(require("antd/lib/drawer"));
require("antd/lib/button/style");
var _button = _interopRequireDefault(require("antd/lib/button"));
require("antd/lib/list/style");
var _list = _interopRequireDefault(require("antd/lib/list"));
var _react = _interopRequireWildcard(require("react"));
var _ZELogicformVisualizer = _interopRequireDefault(require("../ZELogicformVisualizer"));
var _underscore = _interopRequireDefault(require("underscore"));
var _useLocale = _interopRequireDefault(require("../hooks/useLocale"));
function _getRequireWildcardCache(nodeInterop) { if (typeof WeakMap !== "function") return null; var cacheBabelInterop = new WeakMap(); var cacheNodeInterop = new WeakMap(); return (_getRequireWildcardCache = function _getRequireWildcardCache(nodeInterop) { return nodeInterop ? cacheNodeInterop : cacheBabelInterop; })(nodeInterop); }
function _interopRequireWildcard(obj, nodeInterop) { if (!nodeInterop && obj && obj.__esModule) { return obj; } if (obj === null || _typeof(obj) !== "object" && typeof obj !== "function") { return { default: obj }; } var cache = _getRequireWildcardCache(nodeInterop); if (cache && cache.has(obj)) { return cache.get(obj); } var newObj = {}; var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var key in obj) { if (key !== "default" && Object.prototype.hasOwnProperty.call(obj, key)) { var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null; if (desc && (desc.get || desc.set)) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } newObj.default = obj; if (cache) { cache.set(obj, newObj); } return newObj; }
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
function _typeof(obj) { "@babel/helpers - typeof"; if (typeof Symbol === "function" && typeof Symbol.iterator === "symbol") { _typeof = function _typeof(obj) { return typeof obj; }; } else { _typeof = function _typeof(obj) { return obj && typeof Symbol === "function" && obj.constructor === Symbol && obj !== Symbol.prototype ? "symbol" : typeof obj; }; } return _typeof(obj); }
var __assign = void 0 && (void 0).__assign || function () {
__assign = Object.assign || function (t) {
for (var s, i = 1, n = arguments.length; i < n; i++) {
s = arguments[i];
for (var p in s) {
if (Object.prototype.hasOwnProperty.call(s, p)) t[p] = s[p];
}
}
return t;
};
return __assign.apply(this, arguments);
};
/**
* 注意,ZELogicformVisualizerList只接受norm后的logicform
*/
var ZELogicformVisualizerList = function ZELogicformVisualizerList(_a) {
var initLogicforms = _a.logicforms,
_b = _a.compact,
compact = _b === void 0 ? false : _b,
isDrawer = _a.isDrawer,
_onClick = _a.onClick;
var t = (0, _useLocale.default)().t; // 按照schema排序
var logicforms = _underscore.default.sortBy(initLogicforms, "schema");
var _c = (0, _react.useState)(false),
showDiff = _c[0],
setShowDiff = _c[1];
var diffLogicforms = getDiffLogicforms(logicforms);
var content = /*#__PURE__*/_react.default.createElement(_list.default, {
dataSource: showDiff ? diffLogicforms : logicforms,
renderItem: function renderItem(logicform, index) {
return /*#__PURE__*/_react.default.createElement(_list.default.Item, {
key: JSON.stringify(logicform),
actions: [/*#__PURE__*/_react.default.createElement(_button.default, {
onClick: function onClick() {
return _onClick(logicforms[index]);
},
type: "primary"
}, t("nlq.logicforms.choose"))]
}, /*#__PURE__*/_react.default.createElement("div", null, /*#__PURE__*/_react.default.createElement(_ZELogicformVisualizer.default, {
logicform: logicform,
mode: "verbose",
showQueryFilter: false
})));
},
bordered: true
});
var publicProps = {
title: t("nlq.logicforms")
};
if (isDrawer) {
return /*#__PURE__*/_react.default.createElement(_drawer.default, __assign({
open: true,
width: "100vw",
contentWrapperStyle: {
bottom: 80,
top: "unset"
},
closable: false,
closeIcon: false,
placement: "bottom"
}, publicProps), content);
}
return /*#__PURE__*/_react.default.createElement(_card.default, __assign({}, publicProps, {
size: compact ? "small" : "default",
bodyStyle: {
maxHeight: "60vh",
overflowY: "scroll"
},
className: "ze-logicform-visual-list"
}), /*#__PURE__*/_react.default.createElement("div", {
style: {
paddingTop: 10,
paddingBottom: 10,
width: "100%",
display: "flex"
}
}, /*#__PURE__*/_react.default.createElement("span", {
style: {
marginRight: 5
}
}, t("nlq.logicforms.showDiff")), /*#__PURE__*/_react.default.createElement(_switch.default, {
checked: showDiff,
onChange: function onChange() {
setShowDiff(!showDiff);
}
})), content);
};
var getDiffLogicforms = function getDiffLogicforms(logicforms) {
var diffKeyValuePool = {}; // 下面循环的一个帮助函数
var iterObject = function iterObject(obj, field) {
Object.entries(obj).forEach(function (_a) {
var _b;
var k = _a[0],
v = _a[1];
var key = field ? field + "_" + k : k;
var isObj = v && _typeof(v) === "object" && !(v instanceof Array) && !((_b = Object.keys(v)[0]) === null || _b === void 0 ? void 0 : _b.startsWith("$"));
if (isObj) {
iterObject(v, key);
} else {
var value = JSON.stringify(v);
if (!(key in diffKeyValuePool)) {
diffKeyValuePool[key] = {
value: value,
count: 1
};
} else if (value === diffKeyValuePool[key].value) {
diffKeyValuePool[key].count++;
}
}
});
};
logicforms.forEach(function (logicform) {
iterObject(logicform);
}); // 生成diffLogicforms
var diffLogicforms = JSON.parse(JSON.stringify(logicforms));
diffLogicforms.forEach(function (logicform) {
Object.keys(diffKeyValuePool).forEach(function (key) {
if (diffKeyValuePool[key].count === logicforms.length) {
var keys_1 = key.split("_");
var obj_1 = logicform;
keys_1.forEach(function (k, i) {
if (i === keys_1.length - 1) {
if (obj_1) {
delete obj_1[k];
}
} else {
if (obj_1) {
obj_1 = obj_1[k];
}
}
});
}
});
});
return diffLogicforms;
};
var _default = ZELogicformVisualizerList;
exports.default = _default;