Skip to content

Commit d691373

Browse files
committed
Support table data custom view columns
1 parent 2da6bea commit d691373

13 files changed

Lines changed: 137 additions & 91 deletions

src/renderer/app/layout/header/header.component.html

Lines changed: 12 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -10,10 +10,20 @@
1010
<ng-template #betaPopoverContent>
1111
<nz-space [nzSize]="30">
1212
<a *nzSpaceItem [routerLink]="['/query/beta']">
13-
<nz-avatar [nzSize]="64" nzIcon="console-sql" style="background-color:#87d068;"></nz-avatar>
13+
<nz-card nzBorderless="true" [nzCover]="coverQueryTemplate">
14+
<nz-card-meta nzTitle="{{'common.query'|translate}}"></nz-card-meta>
15+
</nz-card>
16+
<ng-template #coverQueryTemplate>
17+
<span nz-icon nzType="console-sql" style="color:#87d068; font-size: 35px;"></span>
18+
</ng-template>
1419
</a>
1520
<a *nzSpaceItem [routerLink]="['/object/designer']">
16-
<nz-avatar [nzSize]="64" nzIcon="appstore-add" style="color:#f56a00; background-color:#fde3cf;"></nz-avatar>
21+
<nz-card nzBorderless="true" [nzCover]="coverObjectDesignerTemplate">
22+
<nz-card-meta nzTitle="{{'common.designer'|translate}}"></nz-card-meta>
23+
</nz-card>
24+
<ng-template #coverObjectDesignerTemplate>
25+
<span nz-icon nzType="appstore-add" style="color:#f56a00; font-size: 35px;"></span>
26+
</ng-template>
1727
</a>
1828
</nz-space>
1929
</ng-template>
Lines changed: 17 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,17 @@
1+
.logo {
2+
width: 120px;
3+
height: 31px;
4+
background: rgba(255, 255, 255, 0.2);
5+
margin: 0px 30px 15px 30px;
6+
float: left;
7+
}
8+
9+
nz-header {
10+
position: fixed;
11+
width: 100%;
12+
z-index: 1;
13+
}
14+
15+
.ant-layout-header {
16+
padding: 0;
17+
}

src/renderer/app/layout/header/header.component.ts

Lines changed: 1 addition & 21 deletions
Original file line numberDiff line numberDiff line change
@@ -8,27 +8,7 @@ import { ipcRenderer, shell } from 'electron';
88
@Component({
99
selector: 'app-header',
1010
templateUrl: './header.component.html',
11-
styles: [
12-
`
13-
.logo {
14-
width: 120px;
15-
height: 31px;
16-
background: rgba(255, 255, 255, 0.2);
17-
margin: 0px 30px 15px 30px;
18-
float: left;
19-
}
20-
21-
nz-header {
22-
position: fixed;
23-
width: 100%;
24-
z-index: 1;
25-
}
26-
27-
.ant-layout-header {
28-
padding: 0;
29-
}
30-
`
31-
]
11+
styleUrls: ['./header.component.scss']
3212
})
3313
export class HeaderComponent extends BaseComponent implements OnInit {
3414
version: string = PackageUtils.get('version');

src/renderer/app/ng-zorro-antd.module.ts

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -39,6 +39,7 @@ import { NzDrawerModule } from 'ng-zorro-antd/drawer';
3939
import { NzTypographyModule } from 'ng-zorro-antd/typography';
4040
import { NzIconModule } from "ng-zorro-antd/icon";
4141
import { NzSpaceModule } from "ng-zorro-antd/space";
42+
import { NzCheckboxModule } from "ng-zorro-antd/checkbox";
4243

4344
@NgModule({
4445
declarations: [],
@@ -82,7 +83,8 @@ import { NzSpaceModule } from "ng-zorro-antd/space";
8283
NzDrawerModule,
8384
NzTypographyModule,
8485
NzIconModule,
85-
NzSpaceModule
86+
NzSpaceModule,
87+
NzCheckboxModule
8688
]
8789
})
8890
export class NgZorroAntdModule {

src/renderer/app/views/object_designer/designer.module.ts

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -13,13 +13,13 @@ import { TableService } from "@renderer/services/management/table.service";
1313
import {
1414
LayoutContentDetailDatabaseComponent
1515
} from "@renderer/app/views/object_designer/layout/content/components/preview/database/detail.database.component";
16-
import {
17-
LayoutDetailTableComponent
18-
} from "@renderer/app/views/object_designer/layout/content/components/preview/table/detail.table.component";
1916
import { AceModule } from "ngx-ace-wrapper";
2017
import {
2118
CreateTableComponent
2219
} from "@renderer/app/views/object_designer/layout/content/components/create_table/create.table.component";
20+
import {
21+
PreviewTableComponent
22+
} from "@renderer/app/views/object_designer/layout/content/components/preview_table/preview.table.component";
2323

2424
const DESIGNER_ROUTES: Routes = [
2525
{path: '', component: DesignerComponent}
@@ -40,8 +40,8 @@ const DESIGNER_ROUTES: Routes = [
4040
DesignerComponent,
4141
LayoutContentComponent,
4242
LayoutContentDetailDatabaseComponent,
43-
LayoutDetailTableComponent,
44-
CreateTableComponent
43+
CreateTableComponent,
44+
PreviewTableComponent
4545
],
4646
providers: [
4747
DatabaseService,
Lines changed: 0 additions & 20 deletions
Original file line numberDiff line numberDiff line change
@@ -1,23 +1,3 @@
1-
:host ::ng-deep .action-buttons {
2-
margin-left: 10px;
3-
}
4-
5-
:host ::ng-deep .action-button {
6-
margin-left: 10px;
7-
}
8-
9-
:host ::ng-deep .action-button-success {
10-
color: #00c853;
11-
}
12-
13-
:host ::ng-deep .action-button-danger {
14-
color: #ff7875;
15-
}
16-
17-
:host ::ng-deep .ant-divider-horizontal {
18-
margin: 0;
19-
}
20-
211
:host ::ng-deep .ant-card-small>.ant-card-head>.ant-card-head-wrapper>.ant-card-head-title {
222
padding: 8px 10px;
233
}

src/renderer/app/views/object_designer/layout/content/components/preview/table/detail.table.style.scss

Lines changed: 0 additions & 3 deletions
This file was deleted.

src/renderer/app/views/object_designer/layout/content/components/preview/table/detail.table.view.html

Lines changed: 0 additions & 25 deletions
This file was deleted.

src/renderer/app/views/object_designer/layout/content/components/preview/table/detail.table.component.ts renamed to src/renderer/app/views/object_designer/layout/content/components/preview_table/preview.table.component.ts

Lines changed: 25 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -4,25 +4,26 @@ import { PluginFactory } from "@renderer/factory/plugin.factory";
44
import { ConfigFactory } from "@renderer/factory/config.factory";
55
import { StringUtils } from "@renderer/utils/string.utils";
66
import { RequestModel } from "@renderer/model/request.model";
7-
import { ResponseDataModel } from "@renderer/model/response.model";
87

98
@Component({
10-
selector: 'object-designer-layout-content-detail-table',
11-
templateUrl: './detail.table.view.html',
12-
styleUrls: ['./detail.table.style.scss']
9+
selector: 'object-designer-layout-content-preview-table',
10+
templateUrl: './preview.table.view.html',
11+
styleUrls: ['./preview.table.style.scss']
1312
})
14-
export class LayoutDetailTableComponent implements AfterViewInit {
13+
export class PreviewTableComponent implements AfterViewInit {
1514
@Input()
1615
applyData: DesignerApplyData;
1716

18-
tableData = new ResponseDataModel();
19-
tableDataSize = 0;
2017
loading = {
2118
tableContainer: false
2219
}
2320
applyResult = {
2421
headers: [],
25-
columns: []
22+
columns: [],
23+
checkedColumns: []
24+
}
25+
applyVisible = {
26+
columnDrawer: false
2627
}
2728

2829
constructor(private pluginFactory: PluginFactory,
@@ -32,7 +33,6 @@ export class LayoutDetailTableComponent implements AfterViewInit {
3233
ngAfterViewInit(): void {
3334
setTimeout(() => {
3435
this.loading.tableContainer = true;
35-
this.tableDataSize = 0;
3636
const request = new RequestModel();
3737
request.config = this.applyData.dataSource;
3838
const type = this.applyData.dataSource.type;
@@ -43,10 +43,10 @@ export class LayoutDetailTableComponent implements AfterViewInit {
4343
.getResponse(request, sql)
4444
.then(response => {
4545
if (response.status) {
46-
this.tableDataSize = response.data.rows;
47-
if (this.tableDataSize > 0) {
46+
if (response.data.rows > 0) {
4847
Object.keys(response.data.columns[0]).forEach(column => {
4948
this.applyResult.headers.push(column);
49+
this.applyResult.checkedColumns.push({label: column, value: column, checked: true})
5050
})
5151
this.applyResult.columns = response.data.columns;
5252
}
@@ -55,4 +55,18 @@ export class LayoutDetailTableComponent implements AfterViewInit {
5555
});
5656
}, 0);
5757
}
58+
59+
handlerShowColumnDrawer() {
60+
this.applyVisible.columnDrawer = true;
61+
}
62+
63+
handlerCloseColumnDrawer() {
64+
this.applyVisible.columnDrawer = false;
65+
}
66+
67+
handlerColumnChecked() {
68+
this.applyResult.headers = this.applyResult.checkedColumns
69+
.filter(item => item.checked)
70+
.map(item => item.value);
71+
}
5872
}
Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,7 @@
1+
:host ::ng-deep .td {
2+
min-width: 100px;
3+
}
4+
5+
:host ::ng-deep .ant-card-small>.ant-card-head>.ant-card-head-wrapper>.ant-card-head-title {
6+
padding: 8px 10px;
7+
}

0 commit comments

Comments
 (0)