UNPKG

nsn-comp

Version:

NSN核心组件

102 lines (80 loc) 2.55 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.StatusColumn = void 0; require("antd/lib/switch/style"); var _switch = _interopRequireDefault(require("antd/lib/switch")); var _nsnEnum = require("nsn-enum"); var _nsnUtil = require("nsn-util"); var _react = _interopRequireDefault(require("react")); var _util = require("../../_util"); function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; } var getToggleNType = function getToggleNType(columnsProps) { var _ref = columnsProps || {}, status = _ref.status; var toggleType = undefined; if (_nsnUtil.NType.isString(status)) { toggleType = status; } else if (_nsnUtil.NType.isNotUndefined(status)) { toggleType = status === null || status === void 0 ? void 0 : status.dtype; } return toggleType; }; var onSubmitStatus = function onSubmitStatus(comp, record) { // 此状态设置,为了渲染表格行StatusColumn中的loading状态 comp.setState({ record: record }); // var _comp$props = comp.props, dispatch = _comp$props.dispatch, table = _comp$props.table; var columnsProps = table.columnsProps; var toggleType = getToggleNType(columnsProps); if (dispatch && toggleType) { dispatch({ message: { success: true }, type: toggleType, payload: { id: record.id }, callback: function callback(_ref2) { var success = _ref2.success; comp.setState({ record: undefined }); if (success) { (0, _util.refreshStatus)(comp, record); } } }); } }; /** * 渲染状态列 */ var StatusColumn = function StatusColumn(props) { var comp = props.comp, record = props.record; var toggleRecord = comp.state.record; var _comp$props2 = comp.props, table = _comp$props2.table, loading = _comp$props2.loading; var columnsProps = table.columnsProps; var toggleType = getToggleNType(columnsProps); // var toggleLoading = false; if (toggleType) { toggleLoading = loading.effects[toggleType]; } return _react.default.createElement(_switch.default, { size: "small", loading: toggleLoading && record.id === (toggleRecord === null || toggleRecord === void 0 ? void 0 : toggleRecord.id), onChange: function onChange() { return onSubmitStatus(comp, record); }, checked: _nsnUtil.NStr.isEqual(record['status'], _nsnEnum.StatusEnum.NORMAL) }); }; exports.StatusColumn = StatusColumn;