mirror of
https://github.com/docmost/docmost.git
synced 2026-08-29 10:05:03 +08:00
fix(bases): give kanban its own scroll container so column auto-scroll works
This commit is contained in:
@@ -190,6 +190,8 @@ export function BaseView({ pageId, embedded }: BaseViewProps) {
|
|||||||
baselineConfig: activeView?.config,
|
baselineConfig: activeView?.config,
|
||||||
});
|
});
|
||||||
|
|
||||||
|
const isKanban = effectiveView?.type === "kanban";
|
||||||
|
|
||||||
const handleCellUpdate = useCallback(
|
const handleCellUpdate = useCallback(
|
||||||
(rowId: string, propertyId: string, value: unknown) => {
|
(rowId: string, propertyId: string, value: unknown) => {
|
||||||
updateRowMutation.mutate({
|
updateRowMutation.mutate({
|
||||||
@@ -389,6 +391,7 @@ export function BaseView({ pageId, embedded }: BaseViewProps) {
|
|||||||
base={base}
|
base={base}
|
||||||
rows={rows}
|
rows={rows}
|
||||||
openRowId={openRowId}
|
openRowId={openRowId}
|
||||||
|
canEdit={canSave}
|
||||||
onClose={closeRow}
|
onClose={closeRow}
|
||||||
/>
|
/>
|
||||||
</>
|
</>
|
||||||
@@ -405,32 +408,65 @@ export function BaseView({ pageId, embedded }: BaseViewProps) {
|
|||||||
>
|
>
|
||||||
{banner}
|
{banner}
|
||||||
{toolbar}
|
{toolbar}
|
||||||
<div className={classes.tableScrollport} ref={setScrollportEl}>
|
{isKanban ? (
|
||||||
<ViewRenderer
|
<div
|
||||||
base={base}
|
ref={setScrollportEl}
|
||||||
rows={rows}
|
style={{
|
||||||
effectiveView={effectiveView}
|
flex: 1,
|
||||||
table={table}
|
minHeight: 0,
|
||||||
pageId={pageId}
|
display: "flex",
|
||||||
embedded={embedded}
|
flexDirection: "column",
|
||||||
hasNextPage={!!hasNextPage}
|
}}
|
||||||
isFetchingNextPage={isFetchingNextPage}
|
>
|
||||||
onFetchNextPage={fetchNextPage}
|
<ViewRenderer
|
||||||
onCellUpdate={handleCellUpdate}
|
base={base}
|
||||||
onAddRow={handleAddRow}
|
rows={rows}
|
||||||
onColumnReorder={handleColumnReorder}
|
effectiveView={effectiveView}
|
||||||
onResizeEnd={handleResizeEnd}
|
table={table}
|
||||||
onRowReorder={handleRowReorder}
|
pageId={pageId}
|
||||||
onCardClick={handleCardClick}
|
embedded={embedded}
|
||||||
persistViewConfig={persistViewConfig}
|
hasNextPage={!!hasNextPage}
|
||||||
scrollportEl={scrollportEl}
|
isFetchingNextPage={isFetchingNextPage}
|
||||||
/>
|
onFetchNextPage={fetchNextPage}
|
||||||
</div>
|
onCellUpdate={handleCellUpdate}
|
||||||
|
onAddRow={handleAddRow}
|
||||||
|
onColumnReorder={handleColumnReorder}
|
||||||
|
onResizeEnd={handleResizeEnd}
|
||||||
|
onRowReorder={handleRowReorder}
|
||||||
|
onCardClick={handleCardClick}
|
||||||
|
persistViewConfig={persistViewConfig}
|
||||||
|
scrollportEl={scrollportEl}
|
||||||
|
/>
|
||||||
|
</div>
|
||||||
|
) : (
|
||||||
|
<div className={classes.tableScrollport} ref={setScrollportEl}>
|
||||||
|
<ViewRenderer
|
||||||
|
base={base}
|
||||||
|
rows={rows}
|
||||||
|
effectiveView={effectiveView}
|
||||||
|
table={table}
|
||||||
|
pageId={pageId}
|
||||||
|
embedded={embedded}
|
||||||
|
hasNextPage={!!hasNextPage}
|
||||||
|
isFetchingNextPage={isFetchingNextPage}
|
||||||
|
onFetchNextPage={fetchNextPage}
|
||||||
|
onCellUpdate={handleCellUpdate}
|
||||||
|
onAddRow={handleAddRow}
|
||||||
|
onColumnReorder={handleColumnReorder}
|
||||||
|
onResizeEnd={handleResizeEnd}
|
||||||
|
onRowReorder={handleRowReorder}
|
||||||
|
onCardClick={handleCardClick}
|
||||||
|
persistViewConfig={persistViewConfig}
|
||||||
|
scrollportEl={scrollportEl}
|
||||||
|
/>
|
||||||
|
</div>
|
||||||
|
)}
|
||||||
</div>
|
</div>
|
||||||
<RowDetailModal
|
<RowDetailModal
|
||||||
base={base}
|
base={base}
|
||||||
rows={rows}
|
rows={rows}
|
||||||
openRowId={openRowId}
|
openRowId={openRowId}
|
||||||
|
canEdit={canSave}
|
||||||
onClose={closeRow}
|
onClose={closeRow}
|
||||||
/>
|
/>
|
||||||
</>
|
</>
|
||||||
|
|||||||
Reference in New Issue
Block a user