UNPKG

3.81 kBSource Map (JSON)View Raw
1{"version":3,"sources":["table/createBodyRow.js"],"names":["React","Component","classnames","omit","createTableRow","Cmp","BodyRow","props","store","getState","selectedRowKeys","state","selected","indexOf","rowKey","subscribe","unsubscribe","setState","className","prefixCls","children","otherProps","classString","createElement"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,OAAOA,KAAP,IAAgBC,SAAhB,QAAiC,OAAjC;AACA,OAAOC,UAAP,MAAuB,YAAvB;AACA,OAAOC,IAAP,MAAiB,aAAjB;AACA,eAAe,SAASC,cAAT,GAAoC;AAAA,MAAZC,GAAY,uEAAN,IAAM;;AAAA,MACzCC,OADyC;AAAA;AAAA;AAAA;;AAAA;;AAE3C,qBAAYC,KAAZ,EAAmB;AAAA;;AAAA;;AACf,gCAAMA,KAAN;AACA,YAAKC,KAAL,GAAaD,KAAK,CAACC,KAAnB;;AAFe,iCAGa,MAAKA,KAAL,CAAWC,QAAX,EAHb;AAAA,UAGPC,eAHO,wBAGPA,eAHO;;AAIf,YAAKC,KAAL,GAAa;AACTC,QAAAA,QAAQ,EAAEF,eAAe,CAACG,OAAhB,CAAwBN,KAAK,CAACO,MAA9B,KAAyC;AAD1C,OAAb;AAJe;AAOlB;;AAT0C;AAAA;AAAA,0CAUvB;AAChB,aAAKC,SAAL;AACH;AAZ0C;AAAA;AAAA,6CAapB;AACnB,YAAI,KAAKC,WAAT,EAAsB;AAClB,eAAKA,WAAL;AACH;AACJ;AAjB0C;AAAA;AAAA,kCAkB/B;AAAA;;AAAA,0BACkB,KAAKT,KADvB;AAAA,YACAC,KADA,eACAA,KADA;AAAA,YACOM,MADP,eACOA,MADP;AAER,aAAKE,WAAL,GAAmBR,KAAK,CAACO,SAAN,CAAgB,YAAM;AAAA,cAC7BJ,KAD6B,GACnB,MADmB,CAC7BA,KAD6B;;AAAA,sCAET,MAAI,CAACH,KAAL,CAAWC,QAAX,EAFS;AAAA,cAE7BC,eAF6B,yBAE7BA,eAF6B;;AAGrC,cAAME,QAAQ,GAAGF,eAAe,CAACG,OAAhB,CAAwBC,MAAxB,KAAmC,CAApD;;AACA,cAAIF,QAAQ,KAAKD,KAAK,CAACC,QAAvB,EAAiC;AAC7B,YAAA,MAAI,CAACK,QAAL,CAAc;AAAEL,cAAAA,QAAQ,EAARA;AAAF,aAAd;AACH;AACJ,SAPkB,CAAnB;AAQH;AA5B0C;AAAA;AAAA,+BA6BlC;AAAA,YACGL,KADH,GACa,IADb,CACGA,KADH;AAAA,YAEGK,QAFH,GAEgB,KAAKD,KAFrB,CAEGC,QAFH;AAAA,YAGGM,SAHH,GAGsCX,KAHtC,CAGGW,SAHH;AAAA,YAGcC,SAHd,GAGsCZ,KAHtC,CAGcY,SAHd;AAAA,YAGyBC,QAHzB,GAGsCb,KAHtC,CAGyBa,QAHzB;AAIL,YAAMC,UAAU,GAAGlB,IAAI,CAACI,KAAD,EAAQ,CAAC,WAAD,EAAc,QAAd,EAAwB,OAAxB,EAAiC,UAAjC,CAAR,CAAvB;AACA,YAAMe,WAAW,GAAGpB,UAAU,CAACgB,SAAD,gCACtBC,SADsB,oBACKP,QADL,EAA9B;AAGA,eAAQZ,KAAK,CAACuB,aAAN,CAAoBlB,GAApB,EAAyB,SAAc,EAAd,EAAkBgB,UAAlB,EAA8B;AAAEH,UAAAA,SAAS,EAAEI;AAAb,SAA9B,CAAzB,EAAoFF,QAApF,CAAR;AACH;AAtC0C;;AAAA;AAAA,IACzBnB,SADyB;;AAwC/C,SAAOK,OAAP;AACH","sourcesContent":["import React, { Component } from 'react';\nimport classnames from 'classnames';\nimport omit from 'lodash/omit';\nexport default function createTableRow(Cmp = 'tr') {\n class BodyRow extends Component {\n constructor(props) {\n super(props);\n this.store = props.store;\n const { selectedRowKeys } = this.store.getState();\n this.state = {\n selected: selectedRowKeys.indexOf(props.rowKey) >= 0,\n };\n }\n componentDidMount() {\n this.subscribe();\n }\n componentWillUnmount() {\n if (this.unsubscribe) {\n this.unsubscribe();\n }\n }\n subscribe() {\n const { store, rowKey } = this.props;\n this.unsubscribe = store.subscribe(() => {\n const { state } = this;\n const { selectedRowKeys } = this.store.getState();\n const selected = selectedRowKeys.indexOf(rowKey) >= 0;\n if (selected !== state.selected) {\n this.setState({ selected });\n }\n });\n }\n render() {\n const { props } = this;\n const { selected } = this.state;\n const { className, prefixCls, children } = props;\n const otherProps = omit(props, ['prefixCls', 'rowKey', 'store', 'children']);\n const classString = classnames(className, {\n [`${prefixCls}-row-selected`]: selected,\n });\n return (React.createElement(Cmp, Object.assign({}, otherProps, { className: classString }), children));\n }\n }\n return BodyRow;\n}\n"],"file":"createBodyRow.js"}
\No newline at end of file