dtd
Version:
根据数梦工场视觉规范打造的组件库,感谢react-components和ant design
1 lines • 8.55 kB
JavaScript
"use strict";Object.defineProperty(exports,"__esModule",{value:!0});var _toConsumableArray2=require("babel-runtime/helpers/toConsumableArray"),_toConsumableArray3=_interopRequireDefault(_toConsumableArray2),_defineProperty2=require("babel-runtime/helpers/defineProperty"),_defineProperty3=_interopRequireDefault(_defineProperty2),_classCallCheck2=require("babel-runtime/helpers/classCallCheck"),_classCallCheck3=_interopRequireDefault(_classCallCheck2),_createClass2=require("babel-runtime/helpers/createClass"),_createClass3=_interopRequireDefault(_createClass2),_possibleConstructorReturn2=require("babel-runtime/helpers/possibleConstructorReturn"),_possibleConstructorReturn3=_interopRequireDefault(_possibleConstructorReturn2),_inherits2=require("babel-runtime/helpers/inherits"),_inherits3=_interopRequireDefault(_inherits2),_react=require("react"),React=_interopRequireWildcard(_react),_propTypes=require("prop-types"),PropTypes=_interopRequireWildcard(_propTypes),_classnames=require("classnames"),_classnames2=_interopRequireDefault(_classnames),_list=require("./list"),_list2=_interopRequireDefault(_list),_operation=require("./operation"),_operation2=_interopRequireDefault(_operation),_search=require("./search"),_search2=_interopRequireDefault(_search),_LocaleReceiver=require("../locale-provider/LocaleReceiver"),_LocaleReceiver2=_interopRequireDefault(_LocaleReceiver),_default=require("../locale-provider/default"),_default2=_interopRequireDefault(_default);function _interopRequireWildcard(e){if(e&&e.__esModule)return e;var t={};if(null!=e)for(var r in e)Object.prototype.hasOwnProperty.call(e,r)&&(t[r]=e[r]);return t.default=e,t}function _interopRequireDefault(e){return e&&e.__esModule?e:{default:e}}function noop(){}var Transfer=function(e){function n(e){(0,_classCallCheck3.default)(this,n);var D=(0,_possibleConstructorReturn3.default)(this,(n.__proto__||Object.getPrototypeOf(n)).call(this,e));D.moveTo=function(e){var t=D.props,r=t.targetKeys,l=void 0===r?[]:r,a=t.dataSource,n=void 0===a?[]:a,o=t.onChange,i=D.state,s=i.sourceSelectedKeys,c=i.targetSelectedKeys,u=("right"===e?s:c).filter(function(t){return!n.some(function(e){return!(t!==e.key||!e.disabled)})}),d="right"===e?u.concat(l):l.filter(function(e){return-1===u.indexOf(e)}),f="right"===e?"left":"right";D.setState((0,_defineProperty3.default)({},D.getSelectedKeysName(f),[])),D.handleSelectChange(f,[]),o&&o(d,e,u)},D.moveToLeft=function(){return D.moveTo("left")},D.moveToRight=function(){return D.moveTo("right")},D.handleSelectAll=function(e,t,r){var l=D.state[D.getSelectedKeysName(e)]||[],a=t.map(function(e){return e.key}),n=l.filter(function(e){return-1===a.indexOf(e)}),o=[].concat((0,_toConsumableArray3.default)(l));a.forEach(function(e){-1===o.indexOf(e)&&o.push(e)});var i=r?n:o;D.handleSelectChange(e,i),D.props.selectedKeys||D.setState((0,_defineProperty3.default)({},D.getSelectedKeysName(e),i))},D.handleLeftSelectAll=function(e,t){return D.handleSelectAll("left",e,t)},D.handleRightSelectAll=function(e,t){return D.handleSelectAll("right",e,t)},D.handleFilter=function(e,t){D.setState((0,_defineProperty3.default)({},e+"Filter",t.target.value)),D.props.onSearchChange&&D.props.onSearchChange(e,t)},D.handleLeftFilter=function(e){return D.handleFilter("left",e)},D.handleRightFilter=function(e){return D.handleFilter("right",e)},D.handleClear=function(e){D.setState((0,_defineProperty3.default)({},e+"Filter",""))},D.handleLeftClear=function(){return D.handleClear("left")},D.handleRightClear=function(){return D.handleClear("right")},D.handleSelect=function(e,t,r){var l=D.state,a=l.sourceSelectedKeys,n=l.targetSelectedKeys,o=[].concat("left"===e?(0,_toConsumableArray3.default)(a):(0,_toConsumableArray3.default)(n)),i=o.indexOf(t.key);-1<i&&o.splice(i,1),r&&o.push(t.key),D.handleSelectChange(e,o),D.props.selectedKeys||D.setState((0,_defineProperty3.default)({},D.getSelectedKeysName(e),o))},D.handleLeftSelect=function(e,t){return D.handleSelect("left",e,t)},D.handleRightSelect=function(e,t){return D.handleSelect("right",e,t)},D.handleScroll=function(e,t){var r=D.props.onScroll;r&&r(e,t)},D.handleLeftScroll=function(e){return D.handleScroll("left",e)},D.handleRightScroll=function(e){return D.handleScroll("right",e)},D.renderTransfer=function(e){var t=D.props,r=t.prefixCls,l=void 0===r?"dt-transfer":r,a=t.className,n=t.operations,o=void 0===n?[]:n,i=t.showSearch,s=t.notFoundContent,c=t.searchPlaceholder,u=t.body,d=t.footer,f=t.listStyle,p=t.filterOption,h=t.render,y=t.lazy,S=D.state,_=S.leftFilter,g=S.rightFilter,m=S.sourceSelectedKeys,v=S.targetSelectedKeys,C=D.splitDataSource(D.props),T=C.leftDataSource,R=C.rightDataSource,K=0<v.length,P=0<m.length,b=(0,_classnames2.default)(a,l),q=D.getTitles(e);return React.createElement("div",{className:b},React.createElement(_list2.default,{prefixCls:l+"-list",titleText:q&&q[0],dataSource:T,filter:_,filterOption:p,style:f,checkedKeys:m,handleFilter:D.handleLeftFilter,handleClear:D.handleLeftClear,handleSelect:D.handleLeftSelect,handleSelectAll:D.handleLeftSelectAll,render:h,showSearch:i,searchPlaceholder:c||e.searchPlaceholder,notFoundContent:s||e.notFoundContent,itemUnit:e.itemUnit,itemsUnit:e.itemsUnit,body:u,footer:d,lazy:y,onScroll:D.handleLeftScroll}),React.createElement(_operation2.default,{className:l+"-operation",rightActive:P,rightArrowText:o[0],moveToRight:D.moveToRight,leftActive:K,leftArrowText:o[1],moveToLeft:D.moveToLeft}),React.createElement(_list2.default,{prefixCls:l+"-list",titleText:q&&q[1],dataSource:R,filter:g,filterOption:p,style:f,checkedKeys:v,handleFilter:D.handleRightFilter,handleClear:D.handleRightClear,handleSelect:D.handleRightSelect,handleSelectAll:D.handleRightSelectAll,render:h,showSearch:i,searchPlaceholder:c||e.searchPlaceholder,notFoundContent:s||e.notFoundContent,itemUnit:e.itemUnit,itemsUnit:e.itemsUnit,body:u,footer:d,lazy:y,onScroll:D.handleRightScroll}))};var t=e.selectedKeys,r=void 0===t?[]:t,l=e.targetKeys,a=void 0===l?[]:l;return D.state={leftFilter:"",rightFilter:"",sourceSelectedKeys:r.filter(function(e){return-1===a.indexOf(e)}),targetSelectedKeys:r.filter(function(e){return-1<a.indexOf(e)})},D}return(0,_inherits3.default)(n,e),(0,_createClass3.default)(n,[{key:"componentWillReceiveProps",value:function(e){var t=this.state,r=t.sourceSelectedKeys,l=t.targetSelectedKeys;if((e.targetKeys!==this.props.targetKeys||e.dataSource!==this.props.dataSource)&&(this.splitedDataSource=null,!e.selectedKeys)){var a=e.dataSource,n=e.targetKeys,o=void 0===n?[]:n,i=[],s=[];a.forEach(function(e){var t=e.key;r.includes(t)&&!o.includes(t)&&i.push(t),l.includes(t)&&o.includes(t)&&s.push(t)}),this.setState({sourceSelectedKeys:i,targetSelectedKeys:s})}if(e.selectedKeys){var c=e.targetKeys||[];this.setState({sourceSelectedKeys:e.selectedKeys.filter(function(e){return!c.includes(e)}),targetSelectedKeys:e.selectedKeys.filter(function(e){return c.includes(e)})})}}},{key:"splitDataSource",value:function(e){if(this.splitedDataSource)return this.splitedDataSource;var t=e.dataSource,r=e.rowKey,l=e.targetKeys,a=void 0===l?[]:l,n=[],o=new Array(a.length);return t.forEach(function(e){r&&(e.key=r(e));var t=a.indexOf(e.key);-1!==t?o[t]=e:n.push(e)}),this.splitedDataSource={leftDataSource:n,rightDataSource:o},this.splitedDataSource}},{key:"handleSelectChange",value:function(e,t){var r=this.state,l=r.sourceSelectedKeys,a=r.targetSelectedKeys,n=this.props.onSelectChange;n&&("left"===e?n(t,a):n(l,t))}},{key:"getTitles",value:function(e){var t=this.props;return t.titles?t.titles:e.titles}},{key:"getSelectedKeysName",value:function(e){return"left"===e?"sourceSelectedKeys":"targetSelectedKeys"}},{key:"render",value:function(){return React.createElement(_LocaleReceiver2.default,{componentName:"Transfer",defaultLocale:_default2.default.Transfer},this.renderTransfer)}}]),n}(React.Component);(exports.default=Transfer).List=_list2.default,Transfer.Operation=_operation2.default,Transfer.Search=_search2.default,Transfer.defaultProps={dataSource:[],render:noop,showSearch:!1},Transfer.propTypes={prefixCls:PropTypes.string,dataSource:PropTypes.array,render:PropTypes.func,targetKeys:PropTypes.array,onChange:PropTypes.func,height:PropTypes.number,listStyle:PropTypes.object,className:PropTypes.string,titles:PropTypes.array,operations:PropTypes.array,showSearch:PropTypes.bool,filterOption:PropTypes.func,searchPlaceholder:PropTypes.string,notFoundContent:PropTypes.node,body:PropTypes.func,footer:PropTypes.func,rowKey:PropTypes.func,lazy:PropTypes.oneOfType([PropTypes.object,PropTypes.bool])},module.exports=exports.default;