ming-demo3
Version:
mdf metaui web
209 lines (170 loc) • 6.6 kB
JavaScript
"use strict";
var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
Object.defineProperty(exports, "__esModule", {
value: true
});
exports["default"] = void 0;
var _typeof2 = _interopRequireDefault(require("@babel/runtime/helpers/typeof"));
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 _checkboxenum = _interopRequireDefault(require("../basic/checkboxenum"));
var _select = _interopRequireDefault(require("../basic/select"));
var UncertainControl = function (_React$Component) {
(0, _inherits2["default"])(UncertainControl, _React$Component);
function UncertainControl(props) {
var _this;
(0, _classCallCheck2["default"])(this, UncertainControl);
_this = (0, _possibleConstructorReturn2["default"])(this, (0, _getPrototypeOf2["default"])(UncertainControl).call(this, props));
_this.state = {
model: null
};
return _this;
}
(0, _createClass2["default"])(UncertainControl, [{
key: "componentDidMount",
value: function componentDidMount() {
var _this2 = this;
var col = this.props.cellConfig;
if (!col) col = {
'cControlType': 'Input'
};
var cControlType = col.cControlType && col.cControlType.trim().toLocaleLowerCase();
var model = null;
switch (cControlType) {
case 'select':
case 'radio':
case 'checkboxenum':
model = new cb.models.ListModel(col);
break;
default:
model = new cb.models.SimpleModel(col);
break;
}
this.setState({
model: model
});
model.on('blur', function () {
var val = _this2.state.model.getValue();
var _this2$props$RowPrope = _this2.props.RowProperty,
rowIndex = _this2$props$RowPrope.rowIndex,
columnKey = _this2$props$RowPrope.columnKey;
_this2.props.model.setCellValue(rowIndex, columnKey, val, true, true);
});
model.on('afterValueChange', function (val) {
if (val.value != null && (0, _typeof2["default"])(val.value) == 'object') {
var _this2$props$RowPrope2 = _this2.props.RowProperty,
rowIndex = _this2$props$RowPrope2.rowIndex,
columnKey = _this2$props$RowPrope2.columnKey;
var newValue = val.value;
if (!cb.utils.isArray(newValue)) {
newValue = newValue.value;
} else {
var temp = '';
newValue.map(function (newVal) {
if (temp == '') temp = newVal.value;else temp = temp + ',' + newVal.value;
});
newValue = temp;
}
_this2.props.model.setCellValue(rowIndex, columnKey, newValue || '', true, true);
}
});
}
}, {
key: "getComponents",
value: function getComponents(col) {
if (!col) col = {
'cControlType': 'Input'
};
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':
case 'refer':
case 'treerefer':
case 'listrefer':
components = _react["default"].createElement(_input["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 data = this.props.dataList;
var _this$props$RowProper = this.props.RowProperty,
rowIndex = _this$props$RowProper.rowIndex,
columnKey = _this$props$RowProper.columnKey;
var value = data[rowIndex][columnKey];
if (!cb.utils.isEmpty(value)) model.setValue(value);
}
return components;
}
}, {
key: "render",
value: function render() {
var components = this.getComponents(this.props.cellConfig);
return components;
}
}]);
return UncertainControl;
}(_react["default"].Component);
exports["default"] = UncertainControl;
//# sourceMappingURL=UncertainControl.js.map