ming-demo3
Version:
mdf metaui web
205 lines (176 loc) • 7.4 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 _baseui = require("@mdf/baseui");
var _basic = require("../basic");
var _rangepicker = _interopRequireDefault(require("../basic/rangepicker"));
var Option = _baseui.Select.Option;
var FilterControl = function (_React$Component) {
(0, _inherits2["default"])(FilterControl, _React$Component);
function FilterControl(props) {
var _this;
(0, _classCallCheck2["default"])(this, FilterControl);
_this = (0, _possibleConstructorReturn2["default"])(this, (0, _getPrototypeOf2["default"])(FilterControl).call(this, props));
_this.state = {
compareLogic: 'eq',
selectedField: '',
defaultValue: _this.props.selectedValue
};
return _this;
}
(0, _createClass2["default"])(FilterControl, [{
key: "getFieldControl",
value: function getFieldControl() {
var self = this;
var selectedField = this.props.dataSource.length && this.props.dataSource.filter(function (item) {
return item.itemName == self.props.selectedValue;
})[0];
var ctrlType = selectedField.ctrlType.trim().toLocaleLowerCase();
var compareLogic = this.props.compareLogic || this.state.compareLogic;
var fromModel = this.props.model && this.props.model.getFromModel();
var toModel = this.props.model && this.props.model.getToModel();
var control;
switch (ctrlType) {
case 'input':
if (compareLogic == 'between') {
control = _react["default"].createElement(_basic.Row, null, _react["default"].createElement(_basic.Col, {
span: 11
}, _react["default"].createElement(_basic.Input, {
model: fromModel
})), _react["default"].createElement(_basic.Col, {
span: 2,
className: "sp-range-txt"
}, _react["default"].createElement("span", null, "\u81F3")), _react["default"].createElement(_basic.Col, {
span: 11
}, _react["default"].createElement(_basic.Input, {
model: toModel
})));
} else control = _react["default"].createElement(_basic.Input, {
model: fromModel
});
break;
case 'inputnumber':
if (compareLogic == 'between') {
control = _react["default"].createElement(_basic.Row, null, _react["default"].createElement(_basic.Col, {
span: 11
}, _react["default"].createElement(_basic.InputNumber, {
model: fromModel
})), _react["default"].createElement(_basic.Col, {
span: 2,
className: "sp-range-txt"
}, _react["default"].createElement("span", null, "\u81F3")), _react["default"].createElement(_basic.Col, {
span: 11
}, _react["default"].createElement(_basic.InputNumber, {
model: toModel
})));
} else control = _react["default"].createElement(_basic.InputNumber, {
model: fromModel
});
break;
case 'refer':
if (compareLogic == 'between') {
control = _react["default"].createElement(_basic.Row, null, _react["default"].createElement(_basic.Col, {
span: 11
}, _react["default"].createElement(_basic.Refer, {
model: fromModel
})), _react["default"].createElement(_basic.Col, {
span: 2,
className: "sp-range-txt"
}, _react["default"].createElement("span", null, "\u81F3")), _react["default"].createElement(_basic.Col, {
span: 11
}, _react["default"].createElement(_basic.Refer, {
model: toModel
})));
} else control = _react["default"].createElement(_basic.Refer, {
model: fromModel
});
break;
case 'datepicker':
if (compareLogic == 'between') {
control = _react["default"].createElement(_basic.Row, null, _react["default"].createElement(_basic.Col, {
span: 11
}, _react["default"].createElement(_basic.DatePicker, {
model: fromModel
})), _react["default"].createElement(_basic.Col, {
span: 2,
className: "sp-range-txt"
}, _react["default"].createElement("span", null, "\u81F3")), _react["default"].createElement(_basic.Col, {
span: 11
}, _react["default"].createElement(_basic.DatePicker, {
model: toModel
})));
} else control = _react["default"].createElement(_basic.DatePicker, {
model: fromModel
});
break;
}
return _react["default"].createElement("div", null, control);
}
}, {
key: "handleChange",
value: function handleChange(value) {
var selectedField = this.props.dataSource.filter(function (item) {
return item.itemName == value;
})[0];
if (this.props.onChange) this.props.onChange(this.state.defaultValue, selectedField);
if (selectedField) this.setState({
selectedField: selectedField,
defaultValue: selectedField.itemName
});
}
}, {
key: "getSelect",
value: function getSelect() {
var _this2 = this;
var options = new Array();
this.props.dataSource && this.props.dataSource.length && this.props.dataSource.forEach(function (item) {
options.push(_react["default"].createElement(Option, {
value: item.itemName
}, item.cShowCaption));
});
return _react["default"].createElement(_baseui.Select, {
showSearch: true,
style: {
width: 95
},
optionFilterProp: "children",
value: this.props.selectedValue,
notFoundContent: "\u65E0\u6CD5\u627E\u5230",
onChange: function onChange(e) {
return _this2.handleChange(e);
}
}, options);
}
}, {
key: "getControl",
value: function getControl() {
var selectControl = this.getSelect();
var inputControl = this.getFieldControl();
var control = _react["default"].createElement(_basic.Row, null, _react["default"].createElement(_basic.Col, {
span: 6
}, selectControl), _react["default"].createElement(_basic.Col, {
span: 18
}, inputControl));
return control;
}
}, {
key: "render",
value: function render() {
var control = this.getControl();
return _react["default"].createElement("div", null, control);
}
}]);
return FilterControl;
}(_react["default"].Component);
exports["default"] = FilterControl;
;
//# sourceMappingURL=filter.js.map