@beisen/ethos
Version:
beisencloud pc react components
141 lines (107 loc) • 4.86 kB
JavaScript
'use strict';
var _extends2 = require('babel-runtime/helpers/extends');
var _extends3 = _interopRequireDefault(_extends2);
var _getPrototypeOf = require('babel-runtime/core-js/object/get-prototype-of');
var _getPrototypeOf2 = _interopRequireDefault(_getPrototypeOf);
var _classCallCheck2 = require('babel-runtime/helpers/classCallCheck');
var _classCallCheck3 = _interopRequireDefault(_classCallCheck2);
var _createClass2 = require('babel-runtime/helpers/createClass');
var _createClass3 = _interopRequireDefault(_createClass2);
var _possibleConstructorReturn2 = require('babel-runtime/helpers/possibleConstructorReturn');
var _possibleConstructorReturn3 = _interopRequireDefault(_possibleConstructorReturn2);
var _inherits2 = require('babel-runtime/helpers/inherits');
var _inherits3 = _interopRequireDefault(_inherits2);
var _class, _temp;
var _react = require('react');
var _react2 = _interopRequireDefault(_react);
var _reactDom = require('react-dom');
var _toolTip = require('../tool-tip');
var _toolTip2 = _interopRequireDefault(_toolTip);
var _commonLabel = require('../common-label');
var _commonLabel2 = _interopRequireDefault(_commonLabel);
var _input = require('./input');
var _input2 = _interopRequireDefault(_input);
var _list = require('./list');
var _list2 = _interopRequireDefault(_list);
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
var Edit = (_temp = _class = function (_Component) {
(0, _inherits3.default)(Edit, _Component);
function Edit(props) {
(0, _classCallCheck3.default)(this, Edit);
var _this = (0, _possibleConstructorReturn3.default)(this, (Edit.__proto__ || (0, _getPrototypeOf2.default)(Edit)).call(this, props));
_this.getMountSize = function () {
var width = void 0,
height = 0,
heightCalc = void 0,
listHeight = void 0;
_this.inputDom = _this.refs.input.refs.wrapper.getElementsByClassName('list_horizontal list_wrap form-item__multi-list lookupv2__select-list')[0] || _this.refs.input.refs.wrapper;
width = _this.inputDom.offsetWidth;
heightCalc = _this.props.setListHeight();
return {
width: width,
height: heightCalc.listHeight,
listHeight: heightCalc.itemHeight
};
};
return _this;
}
(0, _createClass3.default)(Edit, [{
key: 'componentDidUpdate',
value: function componentDidUpdate(prevProps, prevState) {
var translation = this.props.translation;
var props = (0, _extends3.default)({}, this.props);
if (props.disabled || props.readOnly || props.onlyShowAdvanced) {
return;
}
var self = this;
if (props.isShowDoropList && Array.isArray(props.listValue) || props.isShowDoropList && props.isFetching || props.isShowDoropList && (props.isNotAllow || props.isNotInstall)) {
var _size = this.getMountSize();
var dom = document.getElementsByClassName("BS_lookupV2__mountContainer")[0];
var height = dom && dom.offsetHeight ? dom.offsetHeight : _size.height;
if (!props.isFetching) height = _size.height;
this.props.commonMount.renderDom('BS_lookupV2_container__' + this.props.uid, _react2.default.createElement(_list2.default, { listValue: props.listValue,
listHeight: _size.listHeight,
value: props.value,
isNotAllow: props.isNotAllow,
isNotInstall: props.isNotInstall,
isFetching: props.isFetching,
multiple: props.multiple,
isShowFindAll: props.isShowFindAll,
commonMount: props.commonMount,
handlerFindAll: props.handlerFindAll,
listClick: props.listClick,
setComState: props.setComState,
translation: translation,
onChange: props.onChange }), self.inputDom, [self.inputDom, {
width: 340,
height: height
}], false, 0, //水平向左偏移量,为负数则向右
false, //弹层靠左靠右模式,默认为false 靠左模式
100, //window.onresize执行时间,默认100ms
props.lablePos ? 33 : 50);
}
}
}, {
key: 'render',
value: function render() {
var props = (0, _extends3.default)({}, this.props);
return _react2.default.createElement(
'div',
{ className: 'form-item form-item-lookupv2 ' },
_react2.default.createElement(_commonLabel2.default, this.props),
_react2.default.createElement(_input2.default, (0, _extends3.default)({}, props, { handlerFindAll: props.handlerFindAll, setComState: props.setComState, ref: 'input' }))
);
}
}]);
return Edit;
}(_react.Component), _class.defaultProps = {
title: "",
hiddenTip: false,
sideTip: false,
isFocus: false,
helpMsg: '',
required: true,
listValue: null,
value: ''
}, _temp);
module.exports = Edit;