UNPKG

app-base-react

Version:
1 lines 5.18 kB
"use strict";Object.defineProperty(exports,"__esModule",{value:!0});var _checkbox=require("antd/lib/checkbox"),_checkbox2=_interopRequireDefault(_checkbox),_extends=Object.assign||function(e){for(var t=1;t<arguments.length;t++){var a,n=arguments[t];for(a in n)Object.prototype.hasOwnProperty.call(n,a)&&(e[a]=n[a])}return e},_createClass=function(){function n(e,t){for(var a=0;a<t.length;a++){var n=t[a];n.enumerable=n.enumerable||!1,n.configurable=!0,"value"in n&&(n.writable=!0),Object.defineProperty(e,n.key,n)}}return function(e,t,a){return t&&n(e.prototype,t),a&&n(e,a),e}}(),_react=(require("antd/lib/checkbox/style/css"),require("react")),_react2=_interopRequireDefault(_react),_antd=require("antd"),_utilDic=require("../util-dic"),_utilDic2=_interopRequireDefault(_utilDic);function _interopRequireDefault(e){return e&&e.__esModule?e:{default:e}}function _classCallCheck(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}function _possibleConstructorReturn(e,t){if(e)return!t||"object"!=typeof t&&"function"!=typeof t?e:t;throw new ReferenceError("this hasn't been initialised - super() hasn't been called")}function _inherits(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function, not "+typeof t);e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,enumerable:!1,writable:!0,configurable:!0}}),t&&(Object.setPrototypeOf?Object.setPrototypeOf(e,t):e.__proto__=t)}require("./style");var CheckGroup=function(){function t(e){_classCallCheck(this,t);var l=_possibleConstructorReturn(this,(t.__proto__||Object.getPrototypeOf(t)).call(this,e));return l.getArr=function(){var t,a,e=void 0,n=[],r=(n=l.state.dic?(e=l.state.dic.subType?_utilDic2.default.list(l.state.dic.app,l.state.dic.type,l.state.dic.subType):_utilDic2.default.list(l.state.dic.app,l.state.dic.type),(e=0<(t=l.state.removeValue).length?e.filter(function(e){return!t.includes(e.value)}):e).map(function(e){return e.value})):(e=l.state.options||l.props.data,a=[],e.forEach(function(e,t){e instanceof Object?a.push(e[l.state.defineValue]):a.push(e)}),a),l.state.value),e=0<r.length&&r.length<n.length,i=!1,s=n.every(function(e){return r.includes(e)});0<r.length&&s&&(i=!0),console.log(l.state.value,"初始值"),console.log(n,"字典的值或传的值"),l.setState({arr:n,indeterminate:e,checkAll:i})},l.onCheckAllChange=function(e){var e=e.target.checked,t=l.state.arr,a=(console.log(t,"字典的值或传的值"),[]),a=e?t:[];l.setState({indeterminate:!1,checkAll:e,value:a},function(){l.props.onChange&&l.props.onChange(l.state.value&&0<l.state.value.length?JSON.stringify(l.state.value):"")})},l.state={value:e.value&&e.value&&JSON.parse(e.value)?JSON.parse(e.value):[],options:l.props.options,dic:l.props.dic,removeValue:l.props.removeValue||[],checkAll:!1,indeterminate:!1,arr:[],defineLable:l.props.defineLable||"name",defineValue:l.props.defineValue||"id"},l}return _inherits(t,_react2.default.Component),_createClass(t,[{key:"componentDidMount",value:function(){this.getArr()}},{key:"init",value:function(){var n=this,r=[],i=void 0;if(this.state.dic){if(!(i=this.state.dic.subType?_utilDic2.default.list(this.state.dic.app,this.state.dic.type,this.state.dic.subType):_utilDic2.default.list(this.state.dic.app,this.state.dic.type)))return r;for(var e=i.length,t=0;t<e;t++)!function(e){var t=i[e],a=t.value,t=t.zh_CN;n.state.removeValue.find(function(e){return e==a})||r.push(_react2.default.createElement(_checkbox2.default,{style:{margin:"0 8px 10px 0",paddingLeft:"8px",background:"#F5F7F9"},key:"chekbox-"+e,value:a},t))}(t)}else(this.state.options||this.props.data).map(function(e,t){e instanceof Object?r.push(_react2.default.createElement(_checkbox2.default,{style:{margin:"0 8px 10px 0",paddingLeft:"8px",background:"#F5F7F9"},key:"chekbox-"+t,value:e[n.state.defineValue]},e[n.state.defineLable])):r.push(_react2.default.createElement(_checkbox2.default,{style:{margin:"0 8px 10px 0",paddingLeft:"8px",background:"#F5F7F9"},key:"chekbox-"+t,value:e},e))});return r}},{key:"onChange",value:function(t){var e=this,a=0<t.length&&t.length<this.state.arr.length,n=(console.log(t,"选中的值"),!1),r=this.state.arr.every(function(e){return t.includes(e)});0<t.length&&r&&(n=!0),this.setState({value:t,indeterminate:a,checkAll:n},function(){e.props.onChange&&e.props.onChange(e.state.value&&0<e.state.value.length?JSON.stringify(e.state.value):"")})}},{key:"render",value:function(){var e=this.state.value;return this.props.value&&(e=this.props.value&&this.props.value&&JSON.parse(this.props.value)?JSON.parse(this.props.value):[]),_react2.default.createElement("div",{style:{display:"flex",flexWrap:"wrap"}},_react2.default.createElement(_checkbox2.default,_extends({},this.props,{style:{display:2<this.state.arr.length?"":"none",margin:"0 8px 10px 0",paddingLeft:"8px",background:"#F5F7F9"},indeterminate:this.state.indeterminate,onChange:this.onCheckAllChange,checked:this.state.checkAll}),"全选"),_react2.default.createElement(_checkbox2.default.Group,_extends({className:"app-checkboxgroup"},this.props,{value:e,onChange:this.onChange.bind(this)}),this.init()))}}]),t}();exports.default=CheckGroup;