ming-demo3
Version:
mdf metaui web
178 lines (148 loc) • 6.35 kB
JavaScript
"use strict";
var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
Object.defineProperty(exports, "__esModule", {
value: true
});
exports["default"] = void 0;
var _extends2 = _interopRequireDefault(require("@babel/runtime/helpers/extends"));
var _classCallCheck2 = _interopRequireDefault(require("@babel/runtime/helpers/classCallCheck"));
var _createClass2 = _interopRequireDefault(require("@babel/runtime/helpers/createClass"));
var _possibleConstructorReturn2 = _interopRequireDefault(require("@babel/runtime/helpers/possibleConstructorReturn"));
var _getPrototypeOf2 = _interopRequireDefault(require("@babel/runtime/helpers/getPrototypeOf"));
var _assertThisInitialized2 = _interopRequireDefault(require("@babel/runtime/helpers/assertThisInitialized"));
var _inherits2 = _interopRequireDefault(require("@babel/runtime/helpers/inherits"));
var _defineProperty2 = _interopRequireDefault(require("@babel/runtime/helpers/defineProperty"));
var _react = _interopRequireDefault(require("react"));
var _baseui = require("@mdf/baseui");
var _reactDom = require("react-dom");
var _label = _interopRequireDefault(require("./label"));
var _text = _interopRequireDefault(require("./text"));
var _moment = _interopRequireDefault(require("moment"));
var TimePickerControl = function (_React$Component) {
(0, _inherits2["default"])(TimePickerControl, _React$Component);
function TimePickerControl(props) {
var _this;
(0, _classCallCheck2["default"])(this, TimePickerControl);
_this = (0, _possibleConstructorReturn2["default"])(this, (0, _getPrototypeOf2["default"])(TimePickerControl).call(this, props));
(0, _defineProperty2["default"])((0, _assertThisInitialized2["default"])(_this), "handleBodyClick", function (e) {
document.body.removeEventListener('click', _this.handleBodyClick);
if (_this.contains(_this.refs.div, e.target)) return;
if (e.target && cb.dom((0, _reactDom.findDOMNode)(e.target)).parents('div.ant-time-picker-panel').length) return;
if (_this.props.model) _this.props.model.execute('blur');
});
(0, _defineProperty2["default"])((0, _assertThisInitialized2["default"])(_this), "onChange", function (time, timeString) {
_this.timeString = timeString;
_this.props.model.setValue(_this.timeString, true);
});
(0, _defineProperty2["default"])((0, _assertThisInitialized2["default"])(_this), "validate", function (val) {
_this.setState({
err: 'has-' + val.type,
msg: val.message
});
});
(0, _defineProperty2["default"])((0, _assertThisInitialized2["default"])(_this), "baseControl", function () {
var baseControl;
var _this$state = _this.state,
readOnly = _this$state.readOnly,
value = _this$state.value,
format = _this$state.format,
disabled = _this$state.disabled;
if (readOnly) {
baseControl = (0, _text["default"])(value);
} else {
var pickerProps = {
disabled: disabled,
format: format
};
if (value) {
pickerProps.value = (0, _moment["default"])(value, format);
} else {}
var addon = function addon(panel) {
return _react["default"].createElement(_baseui.Button, {
size: "small",
type: "primary",
onClick: function onClick() {
return _this.handleButtonClick(panel);
}
}, "\u786E\u5B9A");
};
baseControl = _react["default"].createElement(_baseui.TimePicker, (0, _extends2["default"])({}, pickerProps, {
onChange: _this.onChange
}));
}
return baseControl;
});
(0, _defineProperty2["default"])((0, _assertThisInitialized2["default"])(_this), "getControl", function () {
var cShowCaption = _this.props.cShowCaption;
var title = !_this.state.readOnly && _this.state.bIsNull === false && cShowCaption ? _react["default"].createElement("label", null, _react["default"].createElement(_baseui.Icon, {
type: "star"
}), cShowCaption) : _react["default"].createElement("label", null, cShowCaption);
var control = cShowCaption ? _react["default"].createElement(_label["default"], {
control: _this.baseControl(),
title: title
}) : _this.baseControl();
return control;
});
_this.state = {
bIsNull: props.bIsNull,
format: props.cFormatData || 'HH:mm:ss',
visible: !props.bHidden
};
return _this;
}
(0, _createClass2["default"])(TimePickerControl, [{
key: "componentDidMount",
value: function componentDidMount() {
if (this.props.model) this.props.model.addListener(this);
}
}, {
key: "componentDidUpdate",
value: function componentDidUpdate() {
if (this.props.model) this.props.model.addListener(this);
}
}, {
key: "componentWillUnmount",
value: function componentWillUnmount() {
if (this.props.model) this.props.model.removeListener(this);
}
}, {
key: "contains",
value: function contains(elem, target) {
if (elem === target) return true;
if (!elem.children || !elem.children.length) return false;
for (var i = 0, len = elem.children.length; i < len; i++) {
if (this.contains(elem.children[i], target)) return true;
}
return false;
}
}, {
key: "handleButtonClick",
value: function handleButtonClick(panel) {
if (this.props.model) {
this.props.model.setValue(this.timeString, true);
this.props.model.execute('blur');
}
panel.close();
}
}, {
key: "render",
value: function render() {
document.body.addEventListener('click', this.handleBodyClick);
var control = this.getControl();
var style = this.state.visible ? {} : {
display: "none"
};
var className = this.state.err + ' ' + this.state.className;
return _react["default"].createElement("div", {
ref: "div",
style: style,
className: className
}, control, _react["default"].createElement("div", {
className: "ant-form-explain"
}, this.state.msg));
}
}]);
return TimePickerControl;
}(_react["default"].Component);
exports["default"] = TimePickerControl;
//# sourceMappingURL=timepicker.js.map