"use strict";

var _interopRequireWildcard = require("@babel/runtime/helpers/interopRequireWildcard"), _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");

Object.defineProperty(exports, "__esModule", {
    value: !0
}), exports.default = void 0;

var _extends2 = _interopRequireDefault(require("@babel/runtime/helpers/extends")), _classCallCheck2 = _interopRequireDefault(require("@babel/runtime/helpers/classCallCheck")), _createClass2 = _interopRequireDefault(require("@babel/runtime/helpers/createClass")), _assertThisInitialized2 = _interopRequireDefault(require("@babel/runtime/helpers/assertThisInitialized")), _inherits2 = _interopRequireDefault(require("@babel/runtime/helpers/inherits")), _possibleConstructorReturn2 = _interopRequireDefault(require("@babel/runtime/helpers/possibleConstructorReturn")), _getPrototypeOf2 = _interopRequireDefault(require("@babel/runtime/helpers/getPrototypeOf")), _defineProperty2 = _interopRequireDefault(require("@babel/runtime/helpers/defineProperty")), _react = _interopRequireWildcard(require("react")), _propTypes = _interopRequireDefault(require("prop-types")), _permission = require("amos-processor/lib/config/permission"), _AmosGridTable = _interopRequireDefault(require("./../../common/tableComponent/table/AmosGridTable")), _AddUser = _interopRequireDefault(require("./AddUser")), _EditUser = _interopRequireDefault(require("./EditUser")), _DelUser = _interopRequireDefault(require("./DelUser")), _StartUser = _interopRequireDefault(require("./StartUser")), _StopUser = _interopRequireDefault(require("./StopUser")), _EditPasswordContainer = _interopRequireDefault(require("./EditPasswordContainer")), _tableConf = require("./tableConf");

function _createSuper(e) {
    var t = _isNativeReflectConstruct();
    return function() {
        var r, s = (0, _getPrototypeOf2.default)(e);
        if (t) {
            var a = (0, _getPrototypeOf2.default)(this).constructor;
            r = Reflect.construct(s, arguments, a);
        } else r = s.apply(this, arguments);
        return (0, _possibleConstructorReturn2.default)(this, r);
    };
}

function _isNativeReflectConstruct() {
    if ("undefined" == typeof Reflect || !Reflect.construct) return !1;
    if (Reflect.construct.sham) return !1;
    if ("function" == typeof Proxy) return !0;
    try {
        return Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], (function() {}))), 
        !0;
    } catch (e) {
        return !1;
    }
}

var UserMgmt = function(e) {
    (0, _inherits2.default)(r, e);
    var t = _createSuper(r);
    function r(e) {
        var s;
        return (0, _classCallCheck2.default)(this, r), s = t.call(this, e), (0, _defineProperty2.default)((0, 
        _assertThisInitialized2.default)(s), "getSelectedRows", (function(e, t) {
            s.setState({
                selectedRows: e,
                selectedRowKeys: t
            });
        })), (0, _defineProperty2.default)((0, _assertThisInitialized2.default)(s), "addButtons", (function() {
            var e = [], t = s.state.reload;
            return e.push(_react.default.createElement(_AddUser.default, (0, _extends2.default)({
                text: "新增",
                reload: t
            }, s.props))), e.push(_react.default.createElement(_EditUser.default, (0, _extends2.default)({
                text: "编辑",
                reload: t,
                selectRows: s.state.selectedRows
            }, s.props))), e.push(_react.default.createElement(_DelUser.default, (0, _extends2.default)({
                text: "删除",
                reload: t,
                selectRows: s.state.selectedRows
            }, s.props))), e.push(_react.default.createElement(_StartUser.default, (0, _extends2.default)({
                text: "启用",
                reload: t,
                selectRows: s.state.selectedRows
            }, s.props))), e.push(_react.default.createElement(_StopUser.default, (0, _extends2.default)({
                text: "禁用",
                reload: t,
                selectRows: s.state.selectedRows
            }, s.props))), e.push(_react.default.createElement(_EditPasswordContainer.default, (0, 
            _extends2.default)({
                text: "修改密码",
                reload: t,
                selectRows: s.state.selectedRows
            }, s.props))), e;
        })), (0, _defineProperty2.default)((0, _assertThisInitialized2.default)(s), "reload", (function(e) {
            s.setState({
                reload: function() {
                    e(), s.setState({
                        selectedRows: [],
                        selectedRowKeys: []
                    });
                }
            }, e());
        })), s.state = {
            selectedRows: [],
            selectedRowKeys: [],
            searchColList: [],
            reload: function() {},
            columns: _tableConf.userColumns
        }, s;
    }
    return (0, _createClass2.default)(r, [ {
        key: "componentWillReceiveProps",
        value: function(e) {
            e.needRefreshTable && this.state.reload();
        }
    }, {
        key: "render",
        value: function() {
            var e = this.props, t = e.userTableAction, r = e.dataList, s = e.totals;
            return _react.default.createElement("div", {
                className: "table-mgmt-content user-mgmt-table"
            }, _react.default.createElement(_AmosGridTable.default, {
                selectedRowKeys: this.state.selectedRowKeys,
                totals: s,
                dataList: r,
                getTableDataAction: t,
                columns: this.state.columns,
                callBack: this.reload,
                operBtns: this.addButtons(),
                getSelectedRows: this.getSelectedRows
            }));
        }
    } ]), r;
}(_react.Component);

UserMgmt.displayName = "UserMgmt", UserMgmt.propTypes = {
    userTableAction: _propTypes.default.func,
    dataList: _propTypes.default.array,
    totals: _propTypes.default.number
};

var _default = UserMgmt;

exports.default = _default;