mirror of
https://github.com/haiwen/seahub.git
synced 2025-09-24 04:48:03 +00:00
show cards quantity in kanban (#7075)
Co-authored-by: zhouwenxuan <aries@Mac.local>
This commit is contained in:
@@ -9,5 +9,16 @@
|
|||||||
|
|
||||||
.sf-metadata-view-kanban-board-header .sf-metadata-view-kanban-board-header-title {
|
.sf-metadata-view-kanban-board-header .sf-metadata-view-kanban-board-header-title {
|
||||||
flex: 1;
|
flex: 1;
|
||||||
|
display: flex;
|
||||||
overflow: hidden;
|
overflow: hidden;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
.sf-metadata-view-kanban-board-header .sf-metadata-view-kanban-board-header-title .sf-metadata-ui.cell-formatter-container {
|
||||||
|
width: auto;
|
||||||
|
}
|
||||||
|
|
||||||
|
.sf-metadata-view-kanban-board-header .sf-metadata-view-kanban-board-header-title .cards-quantity {
|
||||||
|
font-size: 14px;
|
||||||
|
color: #666666;
|
||||||
|
margin-left: 12px;
|
||||||
|
}
|
||||||
|
@@ -7,7 +7,7 @@ import { CellType } from '../../../../../constants';
|
|||||||
|
|
||||||
import './index.css';
|
import './index.css';
|
||||||
|
|
||||||
const Header = ({ readonly, haveFreezed, value, groupByColumn, onDelete, onFreezed, onUnFreezed }) => {
|
const Header = ({ readonly, haveFreezed, value, groupByColumn, cardsQuantity, onDelete, onFreezed, onUnFreezed }) => {
|
||||||
const [active, setActive] = useState(false);
|
const [active, setActive] = useState(false);
|
||||||
|
|
||||||
const onMouseEnter = useCallback(() => {
|
const onMouseEnter = useCallback(() => {
|
||||||
@@ -39,6 +39,7 @@ const Header = ({ readonly, haveFreezed, value, groupByColumn, onDelete, onFreez
|
|||||||
) : (
|
) : (
|
||||||
<span>{gettext('Uncategorized')}</span>
|
<span>{gettext('Uncategorized')}</span>
|
||||||
)}
|
)}
|
||||||
|
<span className="cards-quantity">{cardsQuantity}</span>
|
||||||
</div>
|
</div>
|
||||||
{value && !readonly && active && (
|
{value && !readonly && active && (
|
||||||
<OpMenu onDelete={onDelete} onFreezed={onFreezed} onUnFreezed={handelUnFreezed} />
|
<OpMenu onDelete={onDelete} onFreezed={onFreezed} onUnFreezed={handelUnFreezed} />
|
||||||
@@ -51,6 +52,8 @@ Header.propTypes = {
|
|||||||
readonly: PropTypes.bool,
|
readonly: PropTypes.bool,
|
||||||
value: PropTypes.any,
|
value: PropTypes.any,
|
||||||
groupByColumn: PropTypes.object,
|
groupByColumn: PropTypes.object,
|
||||||
|
haveFreezed: PropTypes.bool,
|
||||||
|
cardsQuantity: PropTypes.number,
|
||||||
onDelete: PropTypes.func,
|
onDelete: PropTypes.func,
|
||||||
onFreezed: PropTypes.func,
|
onFreezed: PropTypes.func,
|
||||||
onUnFreezed: PropTypes.func,
|
onUnFreezed: PropTypes.func,
|
||||||
|
@@ -31,6 +31,7 @@ const Board = ({
|
|||||||
}) => {
|
}) => {
|
||||||
const [isDraggingOver, setDraggingOver] = useState(false);
|
const [isDraggingOver, setDraggingOver] = useState(false);
|
||||||
const boardName = useMemo(() => `sf_metadata_kanban_board_${board.key}`, [board]);
|
const boardName = useMemo(() => `sf_metadata_kanban_board_${board.key}`, [board]);
|
||||||
|
const cardsQuantity = useMemo(() => board.children.length, [board.children]);
|
||||||
|
|
||||||
const { metadata } = useMetadataView();
|
const { metadata } = useMetadataView();
|
||||||
|
|
||||||
@@ -59,6 +60,7 @@ const Board = ({
|
|||||||
value={board.value}
|
value={board.value}
|
||||||
groupByColumn={groupByColumn}
|
groupByColumn={groupByColumn}
|
||||||
haveFreezed={haveFreezed}
|
haveFreezed={haveFreezed}
|
||||||
|
cardsQuantity={cardsQuantity}
|
||||||
onDelete={() => deleteOption(board.key)}
|
onDelete={() => deleteOption(board.key)}
|
||||||
onFreezed={onFreezed}
|
onFreezed={onFreezed}
|
||||||
onUnFreezed={onUnFreezed}
|
onUnFreezed={onUnFreezed}
|
||||||
|
Reference in New Issue
Block a user