Skip to content

Commit cae995a

Browse files
committed
move all columns to config
1 parent 860f5bf commit cae995a

File tree

6 files changed

+348
-32
lines changed

6 files changed

+348
-32
lines changed

client/packages/lowcoder/src/pages/setting/environments/config/apps.config.tsx

Lines changed: 52 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -8,6 +8,17 @@ import { getMergedWorkspaceApps, deployApp } from '../services/apps.service';
88
import { connectManagedApp, unconnectManagedApp } from '../services/enterprise.service';
99
import { App, AppStats } from '../types/app.types';
1010

11+
12+
import {
13+
createNameColumn,
14+
createDescriptionColumn,
15+
createPublishedColumn,
16+
createManagedColumn,
17+
createDeployColumn,
18+
createAuditColumn,
19+
createIdColumn
20+
} from '../utils/columnFactories';
21+
1122
// Define AppStats interface if not already defined
1223

1324

@@ -59,28 +70,60 @@ export const appsConfig: DeployableItemConfig<App, AppStats> = {
5970
},
6071

6172
// Table configuration
73+
getColumns: ({ environment, refreshing, onToggleManaged, openDeployModal, additionalParams }) => {
74+
const columns = [
75+
createIdColumn<App>(),
76+
createNameColumn<App>(),
77+
createPublishedColumn<App>(),
78+
];
79+
80+
// Add managed column if enabled
81+
if (appsConfig.enableManaged && onToggleManaged) {
82+
columns.push(createManagedColumn(onToggleManaged, refreshing));
83+
}
84+
85+
// Add deploy column if enabled
86+
if (appsConfig.deploy?.enabled && openDeployModal) {
87+
columns.push(createDeployColumn(appsConfig, environment, openDeployModal));
88+
}
89+
90+
// Add audit column if enabled
91+
if (appsConfig.audit?.enabled) {
92+
columns.push(createAuditColumn(appsConfig, environment, additionalParams));
93+
}
94+
95+
return columns;
96+
},
97+
6298
columns: [
6399
{
64100
title: 'Name',
65101
dataIndex: 'name',
66102
key: 'name',
67103
},
68104
{
69-
title: 'Description',
70-
dataIndex: 'description',
71-
key: 'description',
105+
title: 'ID',
106+
dataIndex: 'id',
107+
key: 'id',
72108
ellipsis: true,
73109
},
110+
{
111+
title: 'Role',
112+
dataIndex: 'role',
113+
key: 'role',
114+
render: (role: string) => <span>{role}</span>,
115+
},
116+
74117
{
75118
title: 'Status',
76-
dataIndex: 'published',
77-
key: 'published',
78-
render: (published: boolean) => (
79-
<Tag color={published ? 'green' : 'orange'}>
80-
{published ? 'Published' : 'Unpublished'}
119+
dataIndex: 'status',
120+
key: 'status',
121+
render: (status: string) => (
122+
<Tag color={status === 'ACTIVE' ? 'green' : 'red'} className="status-tag">
123+
{status}
81124
</Tag>
82125
),
83-
},
126+
}
84127
],
85128

86129
// Deployment options

client/packages/lowcoder/src/pages/setting/environments/config/data-sources.config.tsx

Lines changed: 36 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -7,7 +7,15 @@ import { DataSource, DataSourceStats } from '../types/datasource.types';
77
import { Environment } from '../types/environment.types';
88
import { getMergedWorkspaceDataSources, deployDataSource } from '../services/datasources.service';
99
import { connectManagedDataSource, unconnectManagedDataSource } from '../services/enterprise.service';
10-
10+
import {
11+
createNameColumn,
12+
createTypeColumn,
13+
createDatabaseColumn,
14+
createDatasourceStatusColumn,
15+
createManagedColumn,
16+
createDeployColumn,
17+
createAuditColumn
18+
} from '../utils/columnFactories';
1119

1220

1321
export const dataSourcesConfig: DeployableItemConfig<DataSource, DataSourceStats> = {
@@ -111,6 +119,33 @@ export const dataSourcesConfig: DeployableItemConfig<DataSource, DataSourceStats
111119

112120
return result.dataSources;
113121
},
122+
123+
getColumns: ({ environment, refreshing, onToggleManaged, openDeployModal, additionalParams }) => {
124+
const columns = [
125+
createNameColumn<DataSource>(),
126+
createTypeColumn<DataSource>(),
127+
createDatabaseColumn<DataSource>(),
128+
createDatasourceStatusColumn<DataSource>(),
129+
];
130+
131+
// Add managed column if enabled
132+
if (dataSourcesConfig.enableManaged && onToggleManaged) {
133+
columns.push(createManagedColumn(onToggleManaged, refreshing));
134+
}
135+
136+
// Add deploy column if enabled
137+
if (dataSourcesConfig.deploy?.enabled && openDeployModal) {
138+
columns.push(createDeployColumn(dataSourcesConfig, environment, openDeployModal));
139+
}
140+
141+
// Add audit column if enabled
142+
if (dataSourcesConfig.audit?.enabled) {
143+
columns.push(createAuditColumn(dataSourcesConfig, environment, additionalParams));
144+
}
145+
146+
return columns;
147+
},
148+
114149

115150
toggleManaged: async ({ item, checked, environment }) => {
116151
try {

client/packages/lowcoder/src/pages/setting/environments/config/query.config.tsx

Lines changed: 55 additions & 19 deletions
Original file line numberDiff line numberDiff line change
@@ -8,6 +8,16 @@ import { connectManagedQuery, unconnectManagedQuery } from '../services/enterpri
88
import { getMergedWorkspaceQueries, deployQuery } from '../services/query.service';
99
import { Environment } from '../types/environment.types';
1010

11+
import {
12+
createNameColumn,
13+
createCreatorColumn,
14+
createDateColumn,
15+
createQueryTypeColumn,
16+
createManagedColumn,
17+
createDeployColumn,
18+
createAuditColumn
19+
} from '../utils/columnFactories';
20+
1121
// Define QueryStats interface
1222
export interface QueryStats {
1323
total: number;
@@ -55,37 +65,63 @@ export const queryConfig: DeployableItemConfig<Query, QueryStats> = {
5565
unmanaged: total - managed
5666
};
5767
},
58-
59-
// Table configuration
6068
columns: [
6169
{
6270
title: 'Name',
6371
dataIndex: 'name',
6472
key: 'name',
6573
},
6674
{
67-
title: 'Creator',
68-
dataIndex: 'creatorName',
69-
key: 'creatorName',
75+
title: 'Type',
76+
dataIndex: 'type',
77+
key: 'type',
78+
render: (type: string) => (
79+
<Tag color="blue">{type || 'Unknown'}</Tag>
80+
),
7081
},
7182
{
72-
title: 'Creation Date',
73-
key: 'createTime',
74-
render: (_, record: Query) => {
75-
if (!record.createTime) return 'N/A';
76-
const date = new Date(record.createTime);
77-
return `${date.getMonth() + 1}/${date.getDate()}/${date.getFullYear()}`;
78-
},
83+
title: 'Database',
84+
key: 'database',
85+
render: (_, record: Query) => (
86+
<span>{record.datasourceConfig?.database || 'N/A'}</span>
87+
),
7988
},
8089
{
81-
title: 'Query Type',
82-
key: 'queryType',
83-
render: (_, record: Query) => {
84-
const queryType = record.libraryQueryDSL?.query?.compType || 'Unknown';
85-
return <Tag color="blue">{queryType}</Tag>;
86-
},
87-
}
90+
title: 'Status',
91+
dataIndex: 'datasourceStatus',
92+
key: 'status',
93+
render: (status: string) => (
94+
<Tag color={status === 'NORMAL' ? 'green' : 'red'}>
95+
{status}
96+
</Tag>
97+
),
98+
},
8899
],
100+
getColumns: ({ environment, refreshing, onToggleManaged, openDeployModal, additionalParams }) => {
101+
const columns = [
102+
createNameColumn<Query>(),
103+
createCreatorColumn<Query>(),
104+
createDateColumn<Query>('createTime', 'Creation Date'),
105+
createQueryTypeColumn<Query>(),
106+
];
107+
108+
// Add managed column if enabled
109+
if (queryConfig.enableManaged && onToggleManaged) {
110+
columns.push(createManagedColumn(onToggleManaged, refreshing));
111+
}
112+
113+
// Add deploy column if enabled
114+
if (queryConfig.deploy?.enabled && openDeployModal) {
115+
columns.push(createDeployColumn(queryConfig, environment, openDeployModal));
116+
}
117+
118+
// Add audit column if enabled
119+
if (queryConfig.audit?.enabled) {
120+
columns.push(createAuditColumn(queryConfig, environment, additionalParams));
121+
}
122+
123+
return columns;
124+
},
89125

90126
// Deployment options
91127
enableManaged: true,

client/packages/lowcoder/src/pages/setting/environments/config/usergroups.config.tsx

Lines changed: 27 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -5,7 +5,14 @@ import { TeamOutlined, UserOutlined } from '@ant-design/icons';
55
import { getEnvironmentUserGroups } from '../services/environments.service';
66
import { UserGroup, UserGroupStats } from '../types/userGroup.types';
77
import { DeployableItemConfig } from '../types/deployable-item.types';
8-
8+
import {
9+
createUserGroupNameColumn,
10+
createGroupIdColumn,
11+
createUserCountColumn,
12+
createDateColumn,
13+
createGroupTypeColumn,
14+
createAuditColumn
15+
} from '../utils/columnFactories';
916

1017
const formatDate = (timestamp: number): string => {
1118
if (!timestamp) return 'N/A';
@@ -120,6 +127,25 @@ export const userGroupsConfig: DeployableItemConfig<UserGroup, UserGroupStats> =
120127
// No managed status for user groups
121128
enableManaged: false,
122129

130+
getColumns: ({ environment, additionalParams }) => {
131+
const columns = [
132+
createGroupIdColumn<UserGroup>(),
133+
createUserGroupNameColumn<UserGroup>(),
134+
135+
createUserCountColumn<UserGroup>(),
136+
createDateColumn<UserGroup>('createTime', 'Created'),
137+
createGroupTypeColumn<UserGroup>(),
138+
];
139+
140+
// User groups aren't managed, so we don't add the managed column
141+
142+
// Add audit column if enabled
143+
if (userGroupsConfig.audit?.enabled) {
144+
columns.push(createAuditColumn(userGroupsConfig, environment, additionalParams));
145+
}
146+
147+
return columns;
148+
},
123149
// Service functions
124150
fetchItems: async ({ environment }) => {
125151
const userGroups = await getEnvironmentUserGroups(

client/packages/lowcoder/src/pages/setting/environments/config/workspace.config.tsx

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -99,8 +99,8 @@ export const workspaceConfig: DeployableItemConfig<Workspace, WorkspaceStats> =
9999
// New getColumns method
100100
getColumns: ({ environment, refreshing, onToggleManaged, additionalParams }) => {
101101
const columns = [
102-
createNameColumn<Workspace>(),
103102
createIdColumn<Workspace>(),
103+
createNameColumn<Workspace>(),
104104
createRoleColumn<Workspace>(),
105105
createDateColumn<Workspace>('creationDate', 'Creation Date'),
106106
createStatusColumn<Workspace>()

0 commit comments

Comments
 (0)