qm-bus
Version:
千米公有云业务组件库
195 lines (164 loc) • 7.37 kB
JavaScript
'use strict';
Object.defineProperty(exports, "__esModule", {
value: true
});
exports.default = undefined;
var _checkbox = require('antd/lib/checkbox');
var _checkbox2 = _interopRequireDefault(_checkbox);
var _radio = require('antd/lib/radio');
var _radio2 = _interopRequireDefault(_radio);
var _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; };
var _createClass = function () { function defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if ("value" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } return function (Constructor, protoProps, staticProps) { if (protoProps) defineProperties(Constructor.prototype, protoProps); if (staticProps) defineProperties(Constructor, staticProps); return Constructor; }; }();
var _class, _class2, _temp2; /**
* QMSearchForm 通过store与其他组件(table,grid)耦合
*
* @author gcy[of1518]
* @date 16/10/11
*/
var _react = require('react');
var _react2 = _interopRequireDefault(_react);
var _iflux = require('iflux2');
var _immutable = require('immutable');
var _ql = require('../ql');
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } }
function _possibleConstructorReturn(self, call) { if (!self) { throw new ReferenceError("this hasn't been initialised - super() hasn't been called"); } return call && (typeof call === "object" || typeof call === "function") ? call : self; }
function _inherits(subClass, superClass) { if (typeof superClass !== "function" && superClass !== null) { throw new TypeError("Super expression must either be null or a function, not " + typeof superClass); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, enumerable: false, writable: true, configurable: true } }); if (superClass) Object.setPrototypeOf ? Object.setPrototypeOf(subClass, superClass) : subClass.__proto__ = superClass; }
var RadioButton = _radio2.default.Button;
var RadioGroup = _radio2.default.Group;
var noop = function noop() {};
var ToolBar = (0, _iflux.Relax)(_class = (_temp2 = _class2 = function (_Component) {
_inherits(ToolBar, _Component);
function ToolBar() {
var _ref;
var _temp, _this, _ret;
_classCallCheck(this, ToolBar);
for (var _len = arguments.length, args = Array(_len), _key = 0; _key < _len; _key++) {
args[_key] = arguments[_key];
}
return _ret = (_temp = (_this = _possibleConstructorReturn(this, (_ref = ToolBar.__proto__ || Object.getPrototypeOf(ToolBar)).call.apply(_ref, [this].concat(args))), _this), _this.onChange = function (e) {
var value = e.target.value;
_this.props.elementOnChange({
index: 'fileType',
source: { index: 'fileType', value: value, group: 'simple' }
});
_this.props.onCellSelectedClear();
_this.props.onFetch({ group: 'simple' });
}, _temp), _possibleConstructorReturn(_this, _ret);
}
_createClass(ToolBar, [{
key: 'onCheckboxChange',
value: function onCheckboxChange(e) {
var map = (0, _immutable.OrderedMap)({});
this.props.currentData.filter(function (i) {
return i.get('isCate') != 1;
}).forEach(function (i) {
return map = map.set(i.get('id'), i);
});
if (this.props.allChecked) {
this.props.onCellSelect(this.props.selects.filter(function (i, k) {
return !map.has(k);
}));
} else {
this.props.onCellSelect(this.props.selects.merge(map));
}
}
}, {
key: 'selectText',
value: function selectText() {
var _selects = this.props.selects.count();
var _limit = this.props.limit;
if (_selects <= 0) {
return '请选择文件';
}
if (_selects >= _limit) {
return '已选中了' + _limit + '个文件,不能选择更多文件';
}
return '已选中了' + _selects + '个文件,还能选择' + (_limit - _selects) + '个文件';
}
}, {
key: 'render',
value: function render() {
var map = (0, _immutable.OrderedMap)({});
this.props.currentData.filter(function (i) {
return i.get('isCate') != 1;
}).forEach(function (i) {
return map = map.set(i.get('id'), i);
});
var disabledProps = {};
if (this.props.selects.merge(map).size > this.props.limit) {
disabledProps = { disabled: true };
}
if (this.props.fileType === 'all') {
return _react2.default.createElement(
'div',
{ className: 'pusht' },
_react2.default.createElement(
RadioGroup,
{
onChange: this.onChange.bind(this),
defaultValue: 'all',
size: 'small',
className: 'pushr' },
_react2.default.createElement(
RadioButton,
{ value: 'all', checked: this.props.selectValue === 'all' ? 'checked' : '' },
'\u5168\u90E8'
),
_react2.default.createElement(
RadioButton,
{ value: 'pic' },
'\u56FE\u7247'
),
_react2.default.createElement(
RadioButton,
{ value: 'video' },
'\u89C6\u9891'
)
),
_react2.default.createElement(_checkbox2.default, _extends({
checked: this.props.allChecked && map.count() > 0,
indeterminate: !this.props.allChecked && !this.props.notChecked
}, disabledProps, {
onChange: this.onCheckboxChange.bind(this)
})),
_react2.default.createElement(
'span',
{ style: { paddingLeft: 0 } },
this.selectText()
)
);
} else {
return _react2.default.createElement(
'span',
null,
_react2.default.createElement(_checkbox2.default, _extends({
checked: this.props.allChecked && map.count() > 0,
indeterminate: !this.props.allChecked && !this.props.notChecked
}, disabledProps, {
onChange: this.onCheckboxChange.bind(this)
})),
_react2.default.createElement(
'span',
null,
this.selectText()
)
);
}
}
}]);
return ToolBar;
}(_react.Component), _class2.defaultProps = {
selects: _ql.cellSelectQL,
onCellSelectedClear: noop,
allChecked: _ql.allCheckedQL,
onCellSelect: noop,
currentData: _ql.currentDataQL,
notChecked: _ql.notCheckedQL,
limit: _ql.limitQL,
elementOnChange: noop,
onFetch: noop,
selectValue: _ql.selectValueQL,
fileType: _ql.fileTypeQL
}, _temp2)) || _class;
exports.default = ToolBar;