ming-demo3
Version:
mdf metaui web
227 lines (181 loc) • 7.12 kB
JavaScript
"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