UNPKG

10.1 kBSource Map (JSON)View Raw
1{"version":3,"sources":["icon-picker/IconCategory.js"],"names":["__decorate","React","Component","PropTypes","observer","MobxPropTypes","action","observable","pxToRem","measureScrollbar","IconItem","Pagination","autobind","IconCategory","props","setPage","page","node","ul","onPageChange","category","icon","onSelect","nextProps","syncItemPosition","value","prefixCls","item","querySelector","offsetHeight","scrollTop","offsetTop","height","scrollTo","paging","pageSize","icons","total","length","createElement","key","className","showSizeChanger","onChange","handlePageChange","style","right","customFontName","getIcons","map","type","handleItemSelect","active","slice","renderPagination","ref","saveRef","renderIcons","displayName","propTypes","string","arrayOrObservableArrayOf","isRequired","func","number","bool","defaultProps","prototype"],"mappings":"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","sourcesContent":["import { __decorate } from \"tslib\";\nimport React, { Component } from 'react';\nimport PropTypes from 'prop-types';\nimport { observer, PropTypes as MobxPropTypes } from 'mobx-react';\nimport { action, observable } from 'mobx';\nimport { pxToRem } from '../../../es/_util/UnitConvertor';\nimport measureScrollbar from '../../../es/_util/measureScrollbar';\nimport IconItem from './IconItem';\nimport Pagination from '../pagination/Pagination';\nimport autobind from '../_util/autobind';\nlet IconCategory = class IconCategory extends Component {\n constructor(props) {\n super(props);\n this.setPage(props.page);\n }\n saveRef(node) {\n this.ul = node;\n }\n handlePageChange(page) {\n this.setPage(page);\n const { onPageChange, category } = this.props;\n if (onPageChange) {\n onPageChange(page, category);\n }\n }\n handleItemSelect(icon) {\n const { onSelect } = this.props;\n onSelect(icon);\n }\n componentWillReceiveProps(nextProps) {\n if (nextProps.page && nextProps.page !== this.page) {\n this.setPage(nextProps.page);\n }\n }\n componentDidMount() {\n this.syncItemPosition();\n }\n componentDidUpdate() {\n this.syncItemPosition();\n }\n syncItemPosition() {\n const { props: { value, prefixCls }, ul, } = this;\n if (value && ul) {\n const item = ul.querySelector(`li.${prefixCls}-item-selected`);\n if (item) {\n const { offsetHeight, scrollTop } = ul;\n const { offsetTop, offsetHeight: height } = item;\n if (offsetTop < scrollTop) {\n ul.scrollTo(0, offsetTop);\n }\n else if (offsetTop + height > scrollTop + offsetHeight) {\n ul.scrollTo(0, offsetTop + height - offsetHeight);\n }\n }\n }\n }\n setPage(page = 1) {\n this.page = page;\n }\n renderPagination() {\n const { page, props: { paging, pageSize, prefixCls, icons }, } = this;\n const total = icons.length;\n if (paging && total > pageSize) {\n return (React.createElement(Pagination, { key: \"page\", className: `${prefixCls}-pagination`, total: total, page: page, pageSize: pageSize, showSizeChanger: false, onChange: this.handlePageChange, style: { right: pxToRem(measureScrollbar()) } }));\n }\n }\n renderIcons() {\n const { value, prefixCls, customFontName } = this.props;\n return this.getIcons().map(icon => (React.createElement(IconItem, { key: icon, customFontName: customFontName, prefixCls: prefixCls, type: icon, onSelect: this.handleItemSelect, active: value === icon })));\n }\n getIcons() {\n const { page, props: { paging, pageSize, icons }, } = this;\n if (paging && icons.length > pageSize) {\n return icons.slice((page - 1) * pageSize, page * pageSize);\n }\n return icons;\n }\n render() {\n const { props: { prefixCls }, } = this;\n return (React.createElement(\"div\", { className: `${prefixCls}-category` },\n this.renderPagination(),\n React.createElement(\"ul\", { key: \"icon-items\", ref: this.saveRef }, this.renderIcons())));\n }\n};\nIconCategory.displayName = 'IconCategory';\nIconCategory.propTypes = {\n prefixCls: PropTypes.string,\n icons: MobxPropTypes.arrayOrObservableArrayOf(PropTypes.string).isRequired,\n value: PropTypes.string,\n onSelect: PropTypes.func.isRequired,\n onPageChange: PropTypes.func,\n pageSize: PropTypes.number,\n page: PropTypes.number,\n paging: PropTypes.bool,\n customFontName: PropTypes.string,\n};\nIconCategory.defaultProps = {\n paging: true,\n};\n__decorate([\n observable\n], IconCategory.prototype, \"page\", void 0);\n__decorate([\n autobind\n], IconCategory.prototype, \"saveRef\", null);\n__decorate([\n autobind\n], IconCategory.prototype, \"handlePageChange\", null);\n__decorate([\n autobind\n], IconCategory.prototype, \"handleItemSelect\", null);\n__decorate([\n action\n], IconCategory.prototype, \"setPage\", null);\nIconCategory = __decorate([\n observer\n], IconCategory);\nexport default IconCategory;\n"],"file":"IconCategory.js"}
\No newline at end of file