| | |
| | | import ItemTypes from './itemtypes' |
| | | import './index.scss' |
| | | |
| | | const Container = ({list, setting, type, placeholder, handleList, handleMenu, copyElement }) => { |
| | | const Container = ({list, setting, type, placeholder, handleList, handleMenu, deleteMenu, copyElement }) => { |
| | | let target = null |
| | | const [cards, setCards] = useState(list) |
| | | const moveCard = (id, atIndex) => { |
| | |
| | | const editCard = id => { |
| | | const { card } = findCard(id) |
| | | handleMenu(card) |
| | | } |
| | | |
| | | const delCard = id => { |
| | | const { card } = findCard(id) |
| | | deleteMenu({card: card, type: type}) |
| | | } |
| | | |
| | | const copyCard = id => { |
| | |
| | | newcard.IsSort = 'true' |
| | | newcard.type = item.subType |
| | | newcard.Width = 120 |
| | | if (item.subType === 'colspan') { |
| | | newcard.sublist = [] |
| | | newcard.IsSort = 'false' |
| | | } |
| | | } |
| | | |
| | | let indexes = cards.map(car => {return car.id}) |
| | |
| | | } |
| | | }) |
| | | let columns = [] |
| | | if (type === 'columns' && cards.length > 10) { |
| | | let number = Math.ceil(cards.length / Math.ceil(cards.length / 10)) |
| | | for (let i = 0, len = cards.length; i < len; i += number) { |
| | | columns.push(cards.slice(i, i + number)) |
| | | let _colCards = [] |
| | | |
| | | // 过滤合并列 |
| | | if (type === 'columns') { |
| | | let _hideCol = [] |
| | | cards.forEach(col => { |
| | | if (col.type === 'colspan' && col.sublist) { |
| | | _hideCol = _hideCol.concat(col.sublist) |
| | | } |
| | | }) |
| | | cards.forEach(col => { |
| | | if (!_hideCol.includes(col.uuid)) { |
| | | _colCards.push(col) |
| | | } |
| | | }) |
| | | } |
| | | |
| | | // 显示列分行 |
| | | if (type === 'columns' && _colCards.length > 10) { |
| | | let number = Math.ceil(_colCards.length / Math.ceil(_colCards.length / 10)) |
| | | for (let i = 0, len = _colCards.length; i < len; i += number) { |
| | | columns.push(_colCards.slice(i, i + number)) |
| | | } |
| | | } else if (type === 'columns') { |
| | | columns.push(cards) |
| | | columns.push(_colCards) |
| | | } |
| | | |
| | | return ( |
| | |
| | | card={card} |
| | | moveCard={moveCard} |
| | | editCard={editCard} |
| | | delCard={delCard} |
| | | copyCard={copyCard} |
| | | findCard={findCard} |
| | | hasDrop={hasDrop} |
| | |
| | | card={card} |
| | | moveCard={moveCard} |
| | | editCard={editCard} |
| | | delCard={delCard} |
| | | findCard={findCard} |
| | | hasDrop={hasDrop} |
| | | /> |
| | | </Col> |
| | | ))} |
| | | {type === 'columns' && cards.length > 0 && |
| | | {type === 'columns' && _colCards.length > 0 && |
| | | columns.map((column, i) => ( |
| | | <div key={i} className="column-box"> |
| | | {/* 多选 */} |
| | |
| | | card={card} |
| | | moveCard={moveCard} |
| | | editCard={editCard} |
| | | delCard={delCard} |
| | | findCard={findCard} |
| | | hasDrop={hasDrop} |
| | | /> |