diff --git a/packages/core/client/src/flow/FlowPage.tsx b/packages/core/client/src/flow/FlowPage.tsx
index 5e46747d3a..034f586e1d 100644
--- a/packages/core/client/src/flow/FlowPage.tsx
+++ b/packages/core/client/src/flow/FlowPage.tsx
@@ -20,7 +20,7 @@ function InternalFlowPage({ uid, ...props }) {
return (
}
+ fallback={}
hideRemoveInSettings
showFlowSettings={{ showBackground: false, showBorder: false }}
{...props}
@@ -106,7 +106,7 @@ export const RemoteFlowModelRenderer = (props) => {
},
);
if (loading || !data?.uid) {
- return ;
+ return ;
}
return ;
};
diff --git a/packages/core/client/src/flow/components/SkeletonFallback.tsx b/packages/core/client/src/flow/components/SkeletonFallback.tsx
index fe794be934..32f2315b45 100644
--- a/packages/core/client/src/flow/components/SkeletonFallback.tsx
+++ b/packages/core/client/src/flow/components/SkeletonFallback.tsx
@@ -10,9 +10,9 @@
import { Card, Skeleton, Spin } from 'antd';
import React from 'react';
-export function SkeletonFallback() {
+export function SkeletonFallback(props) {
return (
-
+
);
diff --git a/packages/core/client/src/flow/models/base/GridModel.tsx b/packages/core/client/src/flow/models/base/GridModel.tsx
index e6e069e465..57394b1603 100644
--- a/packages/core/client/src/flow/models/base/GridModel.tsx
+++ b/packages/core/client/src/flow/models/base/GridModel.tsx
@@ -18,12 +18,13 @@ import {
FlowsFloatContextMenu,
useStepSettingContext,
} from '@nocobase/flow-engine';
+import { tval } from '@nocobase/utils/client';
import { Alert, Space } from 'antd';
import _ from 'lodash';
import React, { useState } from 'react';
-import { tval } from '@nocobase/utils/client';
import { Grid } from '../../components/Grid';
import JsonEditor from '../../components/JsonEditor';
+import { SkeletonFallback } from '../../components/SkeletonFallback';
import { BlockModel } from './BlockModel';
type GridModelStructure = {
@@ -111,6 +112,7 @@ export class GridModel extends FlowModel {
}
showFlowSettings={{ showBackground: false }}
showErrorFallback
/>
diff --git a/packages/core/client/src/flow/models/data-blocks/table/TableModel.tsx b/packages/core/client/src/flow/models/data-blocks/table/TableModel.tsx
index 95b1822613..36c070883c 100644
--- a/packages/core/client/src/flow/models/data-blocks/table/TableModel.tsx
+++ b/packages/core/client/src/flow/models/data-blocks/table/TableModel.tsx
@@ -22,6 +22,7 @@ import {
import { tval } from '@nocobase/utils/client';
import { Card, Space, Spin, Table } from 'antd';
import classNames from 'classnames';
+import { t } from 'i18next';
import _ from 'lodash';
import React, { useRef } from 'react';
import { ActionModel } from '../../base/ActionModel';
@@ -257,13 +258,15 @@ export class TableModel extends DataBlockModel {
tableLayout="fixed"
rowKey={this.collection.filterTargetKey}
rowSelection={{
+ columnWidth: 50,
type: 'checkbox',
onChange: (_, selectedRows) => {
this.resource.setSelectedRows(selectedRows);
},
selectedRowKeys: this.resource.getSelectedRows().map((row) => row.id),
}}
- scroll={{ x: 'max-content', y: 'calc(100vh - 300px)' }}
+ virtual={this.props.virtual}
+ scroll={{ x: 'max-content', y: 'calc(100vh - 200px)' }}
dataSource={this.resource.getData()}
columns={this.getColumns()}
pagination={{
@@ -272,6 +275,7 @@ export class TableModel extends DataBlockModel {
total: this.resource.getMeta('count'),
}}
onChange={(pagination) => {
+ console.log('onChange pagination:', pagination);
this.resource.setPage(pagination.current);
this.resource.setPageSize(pagination.pageSize);
this.resource.loading = true;
@@ -288,6 +292,21 @@ TableModel.registerFlow({
key: 'default',
auto: true,
steps: {
+ virtual: {
+ title: tval('Virtual'),
+ uiSchema: {
+ virtual: {
+ 'x-component': 'Switch',
+ 'x-decorator': 'FormItem',
+ },
+ },
+ defaultParams: {
+ virtual: false,
+ },
+ handler(ctx, params) {
+ ctx.model.setProps('virtual', params.virtual);
+ },
+ },
enableEditable: {
title: tval('Editable'),
uiSchema: {