12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182838485868788899091929394959697 |
- import PropTypes from "prop-types"
- import React from "react"
- import style from "./index.less"
- import TemplateItem from './TemplateItem'
- import check_circle from './TemplateItem/img/check-circle.png';
- import check_right from './TemplateItem/img/check-right.png';
- import Empty from '@components/Empty';
- import {windowEventHandler,getWindowInnerHeight} from '@utils/tools'
- class TemplateItems extends React.Component {
- constructor(props) {
- super(props);
- this.$cont = React.createRef();
- this.genItems = this.genItems.bind(this);
- }
- componentDidMount(){
- const height = getWindowInnerHeight()-206;
- this.$cont.current.style.height = height+"px";
- windowEventHandler('resize', ()=>{
- if(this.$cont.current){
- const height = getWindowInnerHeight()-206;
- this.$cont.current.style.height = height+"px";
- }
- });
- }
- genItems() {
- const Items = [];
- this.props.items.forEach((v,idx) => {
- Items.push(
- <TemplateItem
- {...v}
- key={v.id}
- idx={idx}
- checkItems={this.props.checkItems}
- allCheckShow={this.props.allCheckShow}
- handleContentClick={this.props.handleContentClick}
- handleTemplateDel={this.props.handleTemplateDel}
- handleTitleChange={this.props.handleTitleChange}
- />
- );
- });
- return Items;
- }
- getCheckIcon() {
- if (this.props.items.length == this.props.checkItems.length && this.props.checkItems.length != 0) {
- return check_right;
- } else {
- return check_circle;
- }
- }
- render() {
- const { allCheckShow, handleMangerTemplate,handleClickGetMore, handleDelList, handleAllCheckbox, items,checkItems,current,hasMore } = this.props;
- // console.log(hasMore,current,7877877)
- return (
- <div className={style.wrapper}>
- {
- items && items.length > 0 ? (allCheckShow ?
- <div className={style.wrapperTop}>
- <div className={style['check-wrap']} onClick={handleAllCheckbox}>
- <img className={`${style['fl-element']} ${style['check-box']}`} src={this.getCheckIcon()} />
- </div>
- <span onClick={handleAllCheckbox}>全选</span>
- <span className={`${style['fr-element']} ${style['done']}`} onClick={handleMangerTemplate}>完成</span>
- {
- checkItems.length>0?<span className={`${style['fr-element']} ${style['del-items']}`} onClick={handleDelList}>删除</span>:
- <span className={`${style['fr-element']} ${style['del-items-gray']}`}>删除</span>
- }
- </div> :
- <div className={style.wrapperTop}>
- <span className={`${style['fr-element']} ${style['manger']}`} onClick={handleMangerTemplate}>管理</span>
- </div>) : <div style={{height:'36px'}}></div>
- }
- <div className={style.tempLists} ref={this.$cont}>
- {
- this.genItems().length > 0?this.genItems():
- <Empty message={'还没有保存模板'}></Empty>
- }
- {/* {//注释掉的暂时没有分也功能
- hasMore?<p onClick={()=>handleClickGetMore(current)} className={style.loadMore}>点击查看更多</p>:null
- } */}
-
- </div>
- </div>
- )
- }
- }
- export default TemplateItems;
- TemplateItems.propTypes = {
- items: PropTypes.arrayOf(PropTypes.object),
- handleContentClick: PropTypes.func,
- handleUpdate: PropTypes.func,
- handleTemplateDel: PropTypes.func,
- handleTitleChange: PropTypes.func
- };
|