UNPKG

ming-demo3

Version:
227 lines (181 loc) 7.12 kB
"use strict"; var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault"); Object.defineProperty(exports, "__esModule", { value: true }); exports["default"] = void 0; 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 _inherits2 = _interopRequireDefault(require("@babel/runtime/helpers/inherits")); var _react = _interopRequireDefault(require("react")); var _input = _interopRequireDefault(require("../basic/input")); var _inputnumber = _interopRequireDefault(require("../basic/inputnumber")); var _datepicker = _interopRequireDefault(require("../basic/datepicker")); var _timepicker = _interopRequireDefault(require("../basic/timepicker")); var _select = _interopRequireDefault(require("../basic/select")); var _refer = _interopRequireDefault(require("../basic/refer")); var TreeTableEditCell = function (_React$Component) { (0, _inherits2["default"])(TreeTableEditCell, _React$Component); function TreeTableEditCell(props) { var _this; (0, _classCallCheck2["default"])(this, TreeTableEditCell); _this = (0, _possibleConstructorReturn2["default"])(this, (0, _getPrototypeOf2["default"])(TreeTableEditCell).call(this, props)); _this.state = { model: null }; return _this; } (0, _createClass2["default"])(TreeTableEditCell, [{ key: "componentDidMount", value: function componentDidMount() { var _this2 = this; var col = this.props.column; var cControlType = col.cControlType && col.cControlType.trim().toLocaleLowerCase(); var model = null; switch (cControlType) { case 'select': case 'radio': model = new cb.models.ListModel(col); break; case 'refer': model = new cb.models.ReferModel(cb.utils.extend(true, {}, { multiple: false }, col)); break; default: model = new cb.models.SimpleModel(col); break; } this.setState({ model: model }); model.on('blur', function () { var _this2$props = _this2.props, bExpand = _this2$props.bExpand, rowIndex = _this2$props.rowIndex, column = _this2$props.column; var cControlType = column.cControlType && column.cControlType.trim().toLocaleLowerCase(); if (cControlType == 'refer') { _this2.props.onCellBlur(val, bExpand, rowIndex, column.cItemName, false); return; } var val = _this2.state.model.getValue(); _this2.props.onCellBlur(val, bExpand, rowIndex, column.cItemName, true); }); model.on('afterValueChange', function (val) { var _this2$props2 = _this2.props, bExpand = _this2$props2.bExpand, rowIndex = _this2$props2.rowIndex, column = _this2$props2.column; var cControlType = column.cControlType && column.cControlType.trim().toLocaleLowerCase(); if (cControlType == 'refer') { var value = val.value; var data = {}; var returnFields = _this2.state.model.getReturnFields(); var valueField = _this2.state.model.get('valueField'); data[column.cItemName] = cb.utils.isEmpty(value) ? null : value[valueField]; for (var billKey in returnFields) { if (cb.utils.isEmpty(value)) data[billKey] = null;else data[billKey] = value[returnFields[billKey]]; } _this2.props.onCellBlur(data, bExpand, rowIndex, column.cItemName, true); } }); model.on('beforeBrowse', function (data) { var TreeModel = _this2.props.model; return TreeModel.execute('beforeBrowse', { rowData: _this2.props.row, context: _this2.state.model }); }); } }, { key: "getComponents", value: function getComponents(col) { var components = null; var NumPoint = 1; if (col.iNumPoint && col.iNumPoint > 1) { NumPoint = 0.1; NumPoint = Math.pow(NumPoint, col.iNumPoint).toFixed(col.iNumPoint); } var controlType = col.cControlType && col.cControlType.trim().toLocaleLowerCase(); var model = this.state.model; switch (controlType) { case 'input': components = _react["default"].createElement(_input["default"], { focus: true, model: model }); break; case 'refer': components = _react["default"].createElement(_refer["default"], { focus: true, model: model }); break; case 'inputnumber': case 'money': case 'price': if (controlType === 'money') NumPoint = cb.rest.AppContext.option.amountofdecimal;else if (controlType === 'price') NumPoint = cb.rest.AppContext.option.monovalentdecimal; components = _react["default"].createElement(_inputnumber["default"], { className: 'edit-input-number', focus: true, model: model, iNumPoint: col.iNumPoint, cFormatData: col.cFormatData }); break; case 'datepicker': components = _react["default"].createElement(_datepicker["default"], { model: model, className: 'edit-input-number', cFormatData: col.cFormatData }); break; case 'timepicker': components = _react["default"].createElement(_timepicker["default"], { model: model, className: "edit-input-number" }); break; case 'select': case 'radio': components = _react["default"].createElement(_select["default"], { focus: true, model: model, className: 'edit-input-number' }); break; case 'checkboxenum': components = _react["default"].createElement(_select["default"], { focus: true, model: model }); break; default: components = _react["default"].createElement(_input["default"], { focus: true, model: model }); break; } if (model) { var value = this.props.row[col.cItemName]; if (!cb.utils.isEmpty(value)) model.setValue(value); } return components; } }, { key: "render", value: function render() { var components = this.getComponents(this.props.column); return _react["default"].createElement("div", { className: "tree-table-edit-cell" }, components); } }]); return TreeTableEditCell; }(_react["default"].Component); exports["default"] = TreeTableEditCell; //# sourceMappingURL=TreeTableEditCell.js.map