tntd
Version:
tntd是基于 TNT Design 设计体系的 React UI 组件库,主要用于研发企业级中后台产品。
169 lines (168 loc) • 8.64 kB
JavaScript
"use strict";
Object.defineProperty(exports, "__esModule", {
value: true
});
exports["default"] = void 0;
var _react = _interopRequireDefault(require("react"));
var _reactDom = _interopRequireDefault(require("react-dom"));
var _modal = _interopRequireDefault(require("../../modal"));
var _button = _interopRequireDefault(require("../../button"));
var _collapse = _interopRequireDefault(require("../../collapse"));
var _message = _interopRequireDefault(require("../../message"));
var _tag = _interopRequireDefault(require("../../tag"));
var _tooltip = _interopRequireDefault(require("../../tooltip"));
var _icon = _interopRequireDefault(require("../../icon"));
var _alert = _interopRequireDefault(require("../../alert"));
var _ReferenceInfo = _interopRequireDefault(require("../ReferenceInfo"));
var _prevLocale = require("../../prev-locale");
require("./index.less");
function _interopRequireDefault(e) {
return e && e.__esModule ? e : {
"default": e
};
}
var Panel = _collapse["default"].Panel;
var _default = exports["default"] = function _default(props) {
var _ref = props || {},
_ref$title = _ref.title,
title = _ref$title === void 0 ? _react["default"].createElement(_react["default"].Fragment, null, _react["default"].createElement(_icon["default"], {
type: "warning",
style: {
marginRight: '4px',
color: '#EF6555'
}
}), (0, _prevLocale.getText)('onLineFail', props === null || props === void 0 ? void 0 : props.lang)) : _ref$title,
rq = _ref.rq,
checkReferResponse = _ref.checkReferResponse,
showPagination = _ref.showPagination,
_ref$destroyOnClose = _ref.destroyOnClose,
destroyOnClose = _ref$destroyOnClose === void 0 ? true : _ref$destroyOnClose,
_ref$orgMap = _ref.orgMap,
orgMap = _ref$orgMap === void 0 ? {} : _ref$orgMap,
_ref$appList = _ref.appList,
appList = _ref$appList === void 0 ? [] : _ref$appList,
_ref$value = _ref.value,
value = _ref$value === void 0 ? undefined : _ref$value,
_ref$onChange = _ref.onChange,
onChange = _ref$onChange === void 0 ? function () {} : _ref$onChange,
cancelText = _ref.cancelText,
okText = _ref.okText,
emptyType = _ref.emptyType,
_ref$weakMsg = _ref.weakMsg,
weakMsg = _ref$weakMsg === void 0 ? (0, _prevLocale.getText)('weakMsg', props === null || props === void 0 ? void 0 : props.lang) : _ref$weakMsg,
_ref$strongMsg = _ref.strongMsg,
strongMsg = _ref$strongMsg === void 0 ? (0, _prevLocale.getText)('strongMsg', props === null || props === void 0 ? void 0 : props.lang) : _ref$strongMsg;
var appendModal = function appendModal(reject, resolve) {
var referenceData = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : [];
var type = '';
if (!Array.isArray(referenceData) && (referenceData === null || referenceData === void 0 ? void 0 : referenceData.type)) {
type = referenceData === null || referenceData === void 0 ? void 0 : referenceData.type;
referenceData = (referenceData === null || referenceData === void 0 ? void 0 : referenceData.result) || [];
}
var modalWrap = document.createElement('div');
modalWrap.setAttribute('id', 'tddc-reference-online-check-modal');
var removeModal = function removeModal() {
var _a;
var tddcModal = document.querySelectorAll('#tddc-reference-online-check-modal');
if (tddcModal) {
tddcModal.forEach(function (ele) {
var _a;
return (_a = ele === null || ele === void 0 ? void 0 : ele.parentNode) === null || _a === void 0 ? void 0 : _a.removeChild(ele);
});
}
modalWrap && ((_a = modalWrap === null || modalWrap === void 0 ? void 0 : modalWrap.parentNode) === null || _a === void 0 ? void 0 : _a.removeChild(modalWrap));
!type && reject && reject(referenceData);
if (document.body.getAttribute('style')) {
document.body.removeAttribute('style');
}
};
removeModal();
document.body.appendChild(modalWrap);
// 能进行下一步操作
var canNextOpera = !!type && !['STRONG'].includes(type);
_reactDom["default"].render(_react["default"].createElement(_modal["default"], {
title: title,
visible: true,
width: 1000,
destroyOnClose: destroyOnClose,
getContainer: modalWrap,
onCancel: removeModal,
footer: [_react["default"].createElement(_button["default"], {
key: "back",
onClick: removeModal
}, cancelText || (0, _prevLocale.getText)('cancel', props === null || props === void 0 ? void 0 : props.lang)), canNextOpera && _react["default"].createElement(_button["default"], {
key: "submit",
type: "primary",
onClick: function onClick() {
removeModal();
resolve(type);
}
}, okText || (0, _prevLocale.getText)('next', props === null || props === void 0 ? void 0 : props.lang))]
}, _react["default"].createElement("div", {
className: "reference-online-check-modal"
}, !!type && canNextOpera && _react["default"].createElement("div", {
className: "mb16"
}, _react["default"].createElement(_alert["default"], {
type: "warning",
message: weakMsg || (referenceData === null || referenceData === void 0 ? void 0 : referenceData.message) || (0, _prevLocale.getText)('weakMsg', props === null || props === void 0 ? void 0 : props.lang)
})), !!type && !canNextOpera && _react["default"].createElement("div", {
className: "mb16"
}, _react["default"].createElement(_alert["default"], {
type: "error",
message: strongMsg || (referenceData === null || referenceData === void 0 ? void 0 : referenceData.message) || (0, _prevLocale.getText)('strongMsg', props === null || props === void 0 ? void 0 : props.lang)
})), _react["default"].createElement(_collapse["default"], {
defaultActiveKey: value || [0],
onChange: onChange
}, referenceData === null || referenceData === void 0 ? void 0 : referenceData.map(function (d, i) {
var headerTxt = d === null || d === void 0 ? void 0 : d.componentName;
if (d === null || d === void 0 ? void 0 : d.componentCode) {
headerTxt += "[".concat(d === null || d === void 0 ? void 0 : d.componentCode, "]");
}
return _react["default"].createElement(Panel, {
header: _react["default"].createElement("div", {
className: "refer-panel-head"
}, _react["default"].createElement(_tooltip["default"], {
title: headerTxt,
placement: "topLeft"
}, _react["default"].createElement("span", null, headerTxt)), (d === null || d === void 0 ? void 0 : d.componentVersion) && _react["default"].createElement(_tag["default"], {
size: "small",
color: "tnt-purple"
}, "V", d === null || d === void 0 ? void 0 : d.componentVersion), (d === null || d === void 0 ? void 0 : d.type) === 'STRONG' && _react["default"].createElement(_tag["default"], {
color: "red",
size: "small"
}, (0, _prevLocale.getText)('exist', props === null || props === void 0 ? void 0 : props.lang), (d === null || d === void 0 ? void 0 : d.typeName) || (0, _prevLocale.getText)('strong', props === null || props === void 0 ? void 0 : props.lang))),
key: i
}, _react["default"].createElement(_ReferenceInfo["default"], {
emptyType: emptyType,
from: "ReferenceBatchCheck",
unmountHandle: removeModal,
referenceData: (d === null || d === void 0 ? void 0 : d.result) || [],
orgMap: orgMap,
appList: appList,
showPagination: showPagination
}));
})))), modalWrap);
};
if (rq && typeof rq === 'function') {
return new Promise(function (resolve, reject) {
return rq().then(function (res) {
var _ref2 = res || {},
success = _ref2.success,
data = _ref2.data;
if (success) {
if (Array.isArray(data) && !!(data === null || data === void 0 ? void 0 : data.length)) {
appendModal(reject, resolve, data);
} else if (!Array.isArray(data) && (data === null || data === void 0 ? void 0 : data.type) !== 'NO_EXIST') {
appendModal(reject, resolve, data);
} else {
resolve(data);
}
} else {
reject((0, _prevLocale.getText)('relationFail', props === null || props === void 0 ? void 0 : props.lang));
}
});
});
} else {
_message["default"].error((0, _prevLocale.getText)('reliableQuery', props === null || props === void 0 ? void 0 : props.lang)); // '请提供一个可靠的查询请求!!!'
}
};