"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 _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")), _dt2react = _interopRequireDefault(require("dt2react")), _amosAntd = require("amos-antd"), _AddView = _interopRequireDefault(require("./AddView")), _EditView = _interopRequireDefault(require("./EditView"));

function _createSuper(e) {
    var t = _isNativeReflectConstruct();
    return function() {
        var r, a = (0, _getPrototypeOf2.default)(e);
        if (t) {
            var i = (0, _getPrototypeOf2.default)(this).constructor;
            r = Reflect.construct(a, arguments, i);
        } else r = a.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 ContextMenu = function(e) {
    (0, _inherits2.default)(r, e);
    var t = _createSuper(r);
    function r(e) {
        var a;
        return (0, _classCallCheck2.default)(this, r), a = t.call(this, e), (0, _defineProperty2.default)((0, 
        _assertThisInitialized2.default)(a), "showMenu", (function(e, t) {
            var r = a.props.treeLocation, i = e.clientX, n = e.clientY;
            _dt2react.default.addStyle(a.contextMenu, "top", "".concat(n - r.top - 50, "px")), 
            _dt2react.default.addStyle(a.contextMenu, "left", "".concat(i - r.left, "px")), 
            a.setState({
                visible: !0
            });
        })), (0, _defineProperty2.default)((0, _assertThisInitialized2.default)(a), "_handleClick", (function(e) {
            var t = a.state.visible;
            !(e.target.contains === a.contextMenu) && t && a.setState({
                visible: !1
            });
        })), a.state = {
            visible: !1
        }, a;
    }
    return (0, _createClass2.default)(r, [ {
        key: "componentDidMount",
        value: function() {
            document.addEventListener("click", this._handleClick);
        }
    }, {
        key: "componentWillUnmount",
        value: function() {
            document.removeEventListener("click", this._handleClick);
        }
    }, {
        key: "render",
        value: function() {
            var e = this, t = this.state.visible, r = this.props, a = r.selectedKeys, i = r.currentNode, n = r.editTreeData, u = r.addTreeData, l = r.onDelClick, o = t ? "inline" : "none";
            return _react.default.createElement("div", {
                style: {
                    display: o
                },
                ref: function(t) {
                    return e.contextMenu = t;
                },
                className: "contextMenu"
            }, _react.default.createElement("div", {
                className: "contextMenu--option"
            }, _react.default.createElement(_AddView.default, {
                selectedKeys: a,
                addTreeData: u
            })), _react.default.createElement("div", {
                className: "contextMenu--option"
            }, _react.default.createElement(_EditView.default, {
                currentNode: i,
                selectedKeys: a,
                editTreeData: n
            })), _react.default.createElement("div", {
                className: "contextMenu--option"
            }, _react.default.createElement(_amosAntd.Button, {
                onClick: l
            }, "删除视图")));
        }
    } ]), r;
}(_react.Component);

ContextMenu.displayName = "ContextMenu", ContextMenu.propTypes = {
    treeLocation: _propTypes.default.object,
    selectedKeys: _propTypes.default.array,
    editTreeData: _propTypes.default.func,
    currentNode: _propTypes.default.object,
    addTreeData: _propTypes.default.func,
    onDelClick: _propTypes.default.func
};

var _default = ContextMenu;

exports.default = _default;