dtd
Version:
根据数梦工场视觉规范打造的组件库,感谢react-components和ant design
1 lines • 9.26 kB
JavaScript
Object.defineProperty(exports,"__esModule",{value:!0});var _defineProperty2=require("babel-runtime/helpers/defineProperty"),_defineProperty3=_interopRequireDefault(_defineProperty2),_toConsumableArray2=require("babel-runtime/helpers/toConsumableArray"),_toConsumableArray3=_interopRequireDefault(_toConsumableArray2),_extends2=require("babel-runtime/helpers/extends"),_extends3=_interopRequireDefault(_extends2),_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),_classnames=require("classnames"),_classnames2=_interopRequireDefault(_classnames),_row=require("../row"),_row2=_interopRequireDefault(_row),_col=require("../col"),_col2=_interopRequireDefault(_col),_icon=require("../icon"),_icon2=_interopRequireDefault(_icon),_form=require("../form"),_form2=_interopRequireDefault(_form),_input=require("../input"),_input2=_interopRequireDefault(_input),_modal=require("../modal"),_modal2=_interopRequireDefault(_modal),_button=require("../button"),_button2=_interopRequireDefault(_button),_select=require("../select"),_select2=_interopRequireDefault(_select),_checkbox=require("../checkbox"),_checkbox2=_interopRequireDefault(_checkbox),_datePicker=require("../date-picker"),_datePicker2=_interopRequireDefault(_datePicker),_timePicker=require("../time-picker"),_timePicker2=_interopRequireDefault(_timePicker),_tooltip=require("../tooltip"),_tooltip2=_interopRequireDefault(_tooltip),_warning=require("../_util/warning"),_warning2=_interopRequireDefault(_warning);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}}var CheckboxGroup=_checkbox2.default.Group,Option=_select2.default.Option,FormItem=_form2.default.Item,Filter=function(e){function s(e){(0,_classCallCheck3.default)(this,s);var T=(0,_possibleConstructorReturn3.default)(this,(s.__proto__||Object.getPrototypeOf(s)).call(this,e));T.handleSubmit=function(e){e&&e.preventDefault&&e.preventDefault(),T.props.form.validateFields(function(e,t){!e&&T.props.fetchDataFunc&&T.props.fetchDataFunc(t)})},T.handleReset=function(){T.props.form.resetFields();var e=T.props,t=e.resetFunc,r=e.fetchDataFunc,a=e.form.getFieldsValue();t?t(a):r&&r(a,"reset")},T.setSearchFields=function(e){var t=1<arguments.length&&void 0!==arguments[1]&&arguments[1];T.props.form.setFields(e,function(){t&&T.handleSubmit(0)})},T.setSearchFieldsValue=function(e){var t=1<arguments.length&&void 0!==arguments[1]&&arguments[1];T.props.form.setFieldsValue(e,function(){t&&T.handleSubmit(0)})},T.handleSelectChange=function(){setTimeout(function(){T.handleSubmit(0)},0)},T.renderItem=function(e){var t=1<arguments.length&&void 0!==arguments[1]?arguments[1]:[],r=arguments[2],a=3<arguments.length&&void 0!==arguments[3]?arguments[3]:{};switch(e){case"input":return React.createElement(_input2.default,(0,_extends3.default)({onPressEnter:T.handleSubmit},a));case"select":var n=t.map(function(e){var t=e.value,r=e.text;return React.createElement(Option,{key:t,value:t},r)});return React.createElement(_select2.default,(0,_extends3.default)({onChange:function(){return r?T.handleSelectChange():function(){}}},a),n);case"datePicker":return React.createElement(_datePicker2.default,a);case"monthPicker":return React.createElement(_datePicker2.default.MonthPicker,a);case"weekPicker":return React.createElement(_datePicker2.default.WeekPicker,a);case"rangePicker":return React.createElement(_datePicker2.default.RangePicker,a);case"timePicker":return React.createElement(_timePicker2.default,a);default:return React.isValidElement(e)?e:null}},T.renderComp=function(e,t){var r=T.props.form.getFieldDecorator,a=t.ctrlSingleRow,n=void 0!==a&&a,l=t.showAdvanceCig,i=void 0===l||l,o=t.formItemCol,u=t.ctrlStyles,c=t.searchText,s=void 0===c?"搜索":c,d=t.resetText,f=void 0===d?"重置":d,m=t.customCtrlGroup,p=t.noCtrlBtn,_=void 0!==p&&p,h=t.lineLimit,v=void 0===h?3:h,R=!1,C=e.length,b=C/v;!n&&b<=2&&1<b&&(R=!0);var g=void 0;g=24%v==0?{span:24/v}:{style:{float:"left",width:100/v+"%"}};for(var k=(0,_extends3.default)({labelCol:{span:6},wrapperCol:{span:18}},o),y=React.createElement(_tooltip2.default,{placement:"top",title:"高级设置"},React.createElement(_button2.default,{key:"config",onClick:T.showAdvanceModal,style:{marginLeft:8,padding:"0 10px"}},React.createElement(_icon2.default,{type:"configuration"}))),x=[],q=0;q<C;q+=1){var D=e[q],w=D.type,E=D.label,P=D.name,F=D.data,A=D.options,S=D.extra;(0,_warning2.default)(!!P,"searchData中name是必填项,请检查"+e[q]+"项!"),P&&x.push(React.createElement(_col2.default,(0,_extends3.default)({},g,{key:P}),React.createElement(FormItem,(0,_extends3.default)({label:E},k),r(P,A)(T.renderItem(w,F,1===C,S)))))}if(!_){var I=m||React.createElement(FormItem,null,React.createElement(_button2.default,{key:"primary",type:"primary",htmlType:"submit"},s),React.createElement(_button2.default,{key:"reset",style:{marginLeft:8},onClick:T.handleReset},f),i&&(!R||x.length<v)&&y),N=void 0,O=void 0;if(b<=1)return N={width:n?"100%":"calc(100% - 182px)",float:"left",margin:0},O={width:n?"100%":"182px",paddingRight:n?"16px":0,float:"left",textAlign:"right"},React.createElement("div",null,React.createElement(_row2.default,{gutter:32,style:N},x),React.createElement("div",{style:O},I));if(i&&R)return N={width:"calc(100% - 140px)",float:"left",margin:0},O={width:"140px",float:"left",textAlign:"right"},React.createElement("div",null,React.createElement(_row2.default,{gutter:32,style:N},x.slice(0,v)),React.createElement("div",{style:O},y),React.createElement(_row2.default,{gutter:32,style:N},x.slice(v)),React.createElement("div",{style:O},I));var M={},B=(0,_extends3.default)({textAlign:"right"},u);g.span?M.span=n?24:g.span*(v-x.length%v):(B.width=n?"100%":100*(1-x.length%v/v)+"%",B.float="left"),x.push(React.createElement(_col2.default,(0,_extends3.default)({key:"ctrl"},M,{style:B}),I))}return x},T.genCheckboxes=function(e){return e.length?e.map(function(e){return React.createElement(_col2.default,{span:6,key:e.name},React.createElement(_checkbox2.default,{value:e.name},e.label))}):[]},T.showAdvanceModal=function(){T.setState({showAdvance:!0})},T.onCheckboxChange=function(e){T.itemNames=[].concat((0,_toConsumableArray3.default)(e)),e.length?"block"===T.errDiv.style.display&&(T.errDiv.style.display="none"):T.errDiv.style.display="block"},T.onFieldsChangeCancel=function(){T.itemNames=T.itemNamesBackup,T.setState({showAdvance:!1})},T.handleFieldsChange=function(){if(T.itemNames.length){var e=T.props.searchData,r=[];(void 0===e?[]:e).map(function(e){var t=e.name;T.itemNames.includes(t)&&r.push(e)}),T.setState({showAdvance:!1,displayedItem:r},function(){return T.itemNamesBackup=T.itemNames})}};var t=e.initialMax,r=void 0===t?-1:t,a=e.searchData,n=void 0===a?[]:a,l=e.searchCig,i=(void 0===l?{}:l).showAdvanceCig,o=void 0===i||i;(0,_warning2.default)(!!n.length,"searchData不能为空。"),o?r<0&&(r=n.length):r=n.length;var u=[];n.map(function(e,t){t<r&&u.push(e)}),T.state={showAdvance:!1,displayedItem:u};var c=u.map(function(e){return e.name});return T.itemNames=[].concat((0,_toConsumableArray3.default)(c)),T.itemNamesBackup=[].concat((0,_toConsumableArray3.default)(c)),T}return(0,_inherits3.default)(s,e),(0,_createClass3.default)(s,[{key:"render",value:function(){var t=this,e=this.props,r=e.searchData,a=void 0===r?[]:r,n=e.searchCig,l=void 0===n?{}:n,i=e.prefixCls,o=e.useFlexBox,u=this.state,c=u.showAdvance,s=u.displayedItem,d=this.genCheckboxes(a);if(!a.length)return null;var f=(0,_classnames2.default)(i,l.customCls,(0,_defineProperty3.default)({},i+"-flex",o));return React.createElement(_form2.default,{className:f,onSubmit:this.handleSubmit},React.createElement(_row2.default,{gutter:32},this.renderComp(s,l)),React.createElement(_modal2.default,{visible:c,okText:"保存",cancelText:"取消",title:"自定义筛选项",destroyOnClose:!0,onCancel:this.onFieldsChangeCancel,onOk:this.handleFieldsChange},React.createElement(CheckboxGroup,{defaultValue:this.itemNames,onChange:this.onCheckboxChange,style:{width:"100%"}},React.createElement(_row2.default,null,d),React.createElement("div",{ref:function(e){return t.errDiv=e},style:{display:"none"},className:i+"-errDiv"},"请至少选择一项。"))))}}],[{key:"getDerivedStateFromProps",value:function(e,t){if("searchData"in e){var r=e.searchData,a=void 0===r?[]:r,n=t.displayedItem,l=(void 0===n?[]:n).map(function(e){return e.name});return{displayedItem:a.filter(function(e){return-1<l.indexOf(e.name||"")})}}return null}}]),s}(React.Component);Filter.defaultProps={prefixCls:"dt-filter",useFlexBox:!1},exports.default=_form2.default.create()(Filter),module.exports=exports.default;
;