nsn-comp
Version:
NSN核心组件
125 lines (96 loc) • 4.22 kB
JavaScript
"use strict";
Object.defineProperty(exports, "__esModule", {
value: true
});
exports.RemoveAction = void 0;
require("antd/lib/popconfirm/style");
var _popconfirm = _interopRequireDefault(require("antd/lib/popconfirm"));
require("antd/lib/button/style");
var _button = _interopRequireDefault(require("antd/lib/button"));
require("antd/lib/spin/style");
var _spin = _interopRequireDefault(require("antd/lib/spin"));
var _icons = require("@ant-design/icons");
var _nsnUtil = require("nsn-util");
var _react = _interopRequireDefault(require("react"));
var _util = require("../../_util");
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
function _objectWithoutProperties(source, excluded) { if (source == null) return {}; var target = _objectWithoutPropertiesLoose(source, excluded); var key, i; if (Object.getOwnPropertySymbols) { var sourceSymbolKeys = Object.getOwnPropertySymbols(source); for (i = 0; i < sourceSymbolKeys.length; i++) { key = sourceSymbolKeys[i]; if (excluded.indexOf(key) >= 0) continue; if (!Object.prototype.propertyIsEnumerable.call(source, key)) continue; target[key] = source[key]; } } return target; }
function _objectWithoutPropertiesLoose(source, excluded) { if (source == null) return {}; var target = {}; var sourceKeys = Object.keys(source); var key, i; for (i = 0; i < sourceKeys.length; i++) { key = sourceKeys[i]; if (excluded.indexOf(key) >= 0) continue; target[key] = source[key]; } return target; }
/**
* table 工具栏中的移除按钮
*/
var RemoveAction = function RemoveAction(props) {
var _newProps$text, _newProps$title;
var comp = props.comp;
var _comp$props = comp.props,
dispatch = _comp$props.dispatch,
loading = _comp$props.loading,
toolbar = _comp$props.toolbar;
var _comp$state$selectedR = comp.state.selectedRows,
selectedRows = _comp$state$selectedR === void 0 ? [] : _comp$state$selectedR; //
var removeProps = undefined;
if (_nsnUtil.NType.isFunction(toolbar)) {
removeProps = toolbar(comp).remove;
} else if (toolbar) {
removeProps = toolbar.remove;
} //
var newProps = {};
if (removeProps) {
if (_nsnUtil.NType.isString(removeProps)) {
newProps.dtype = removeProps;
} else {
var _ref = removeProps || {},
onClick = _ref.onClick,
text = _ref.text,
dtype = _ref.dtype,
title = _ref.title,
restProps = _objectWithoutProperties(_ref, ["onClick", "text", "dtype", "title"]);
newProps.dtype = dtype;
newProps.onClick = onClick;
newProps.text = text;
newProps.restProps = restProps;
}
} //
var removeLoading = false;
if (newProps.dtype) {
removeLoading = loading.effects[newProps.dtype];
}
var removeDom = _react.default.createElement(_spin.default, {
size: "small",
spinning: !!removeLoading
}, _react.default.createElement(_button.default, Object.assign({
icon: _react.default.createElement(_icons.CloseOutlined, null),
disabled: removeLoading,
danger: true,
type: "text"
}, newProps.restProps || {}), (_newProps$text = newProps.text) !== null && _newProps$text !== void 0 ? _newProps$text : _nsnUtil.NLocale.getText('operation.remove')));
;
return removeLoading ? removeDom : _react.default.createElement(_popconfirm.default, {
placement: "bottomRight",
title: (_newProps$title = newProps.title) !== null && _newProps$title !== void 0 ? _newProps$title : _nsnUtil.NLocale.getText('operation.delete.confirm'),
onConfirm: function onConfirm() {
if (newProps.onClick) {
// 使用自定义事件
newProps.onClick();
} else {
if (dispatch && newProps.dtype) {
dispatch({
type: newProps.dtype,
payload: {
id_list: selectedRows.map(function (row) {
return row.id;
})
},
callback: function callback(_ref2) {
var success = _ref2.success;
if (success) {
(0, _util.requestPage)(comp);
}
}
});
}
}
}
}, removeDom);
};
exports.RemoveAction = RemoveAction;