From 2ebb26ec4716c339b54822e977d7943837a9c0aa Mon Sep 17 00:00:00 2001 From: qianmoQ Date: Mon, 11 Apr 2022 09:09:15 +0800 Subject: [PATCH 01/22] [Version] Clean and start new version 1.15.0 --- electron-builder.yml | 16 ++-------------- package.json | 2 +- 2 files changed, 3 insertions(+), 15 deletions(-) diff --git a/electron-builder.yml b/electron-builder.yml index df1cdf8d..9c64056d 100644 --- a/electron-builder.yml +++ b/electron-builder.yml @@ -10,40 +10,28 @@ releaseInfo: --- - - Support visual build of MongoDB tables - - Supports adding the TTL of the table visually - - Support data source copy - - Supports remove the TTL of the table visually - - Supports metadata management to change database names - - Query history supports IndexDB storage - - Supports deleting a single query history - - Support metadata management to add columns + #### Docs --- - - Optimize data source management documentation - - Add Monitor --> Connection docs - - Add Monitor --> Mutations docs + #### Optimize ---- - - Optimize the prompt message when deleting only one column in the data table #### Bug --- - - Fix the error condition of deleting existing columns #### UI --- - - Unavailable data source disallows click action directories: diff --git a/package.json b/package.json index bc40f7c1..5a43fb87 100644 --- a/package.json +++ b/package.json @@ -1,6 +1,6 @@ { "name": "dbm", - "version": "1.14.0", + "version": "1.15.0", "author": "qianmoQ ", "description": "ClickHouse DataBase GUI", "github": "https://github.com/EdurtIO/dbm.git", From 6d264530292e001e4c446a148fcc0768497d5440 Mon Sep 17 00:00:00 2001 From: qianmoQ Date: Tue, 12 Apr 2022 20:21:55 +0800 Subject: [PATCH 02/22] [Enhancement] Support metadata management, add column description information --- .../assets/images/versions/1.15.0/img.png | Bin 0 -> 43839 bytes .../assets/images/versions/1.15.0/img_1.png | Bin 0 -> 20269 bytes .../development/version/1.15.0-development.md | 4 ++ electron-builder.yml | 2 +- .../management/metadata/metadata.module.ts | 4 +- src/renderer/assets/i18n/en.json | 3 +- src/renderer/assets/i18n/zh.json | 3 +- .../comment/column.comment.component.html | 22 ++++++ .../comment/column.comment.component.ts | 64 ++++++++++++++++++ .../common/common.column.component.html | 4 ++ src/renderer/config/operation.config.ts | 3 +- src/renderer/enum/operation.enum.ts | 1 + .../services/management/column.service.ts | 6 ++ 13 files changed, 111 insertions(+), 5 deletions(-) create mode 100644 docs/docs/assets/images/versions/1.15.0/img.png create mode 100644 docs/docs/assets/images/versions/1.15.0/img_1.png create mode 100644 src/renderer/components/column/comment/column.comment.component.html create mode 100644 src/renderer/components/column/comment/column.comment.component.ts diff --git a/docs/docs/assets/images/versions/1.15.0/img.png b/docs/docs/assets/images/versions/1.15.0/img.png new file mode 100644 index 0000000000000000000000000000000000000000..2433e62741cf6433cd48bf1b06fded15ae48ae81 GIT binary patch literal 43839 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 a_~I&|%$o5>q?7dx;0IUMdQt+j2>Bl!X}4Mc literal 0 HcmV?d00001 diff --git a/docs/docs/assets/images/versions/1.15.0/img_1.png b/docs/docs/assets/images/versions/1.15.0/img_1.png new file mode 100644 index 0000000000000000000000000000000000000000..bcc87eea7c280a7d0fcf0d4796f03cf6bafb5ef5 GIT binary patch literal 20269 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
    ^@O!Na5LM@^_Ah?LLI#XYB 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 Aga7~l literal 0 HcmV?d00001 diff --git a/docs/docs/development/version/1.15.0-development.md b/docs/docs/development/version/1.15.0-development.md index 4ab27505..0dae62fc 100644 --- a/docs/docs/development/version/1.15.0-development.md +++ b/docs/docs/development/version/1.15.0-development.md @@ -13,6 +13,10 @@ DBM Version for `1.15.0` is development! --- +- Support metadata management, add column description information +![img.png](../../assets/images/versions/1.15.0/img.png) +![img_1.png](../../assets/images/versions/1.15.0/img_1.png) + #### UI --- diff --git a/electron-builder.yml b/electron-builder.yml index 9c64056d..e6d57c0a 100644 --- a/electron-builder.yml +++ b/electron-builder.yml @@ -10,7 +10,7 @@ releaseInfo: --- - + - Support metadata management, add column description information #### Docs diff --git a/src/renderer/app/pages/management/metadata/metadata.module.ts b/src/renderer/app/pages/management/metadata/metadata.module.ts index 1c0d8c01..bdd855b0 100644 --- a/src/renderer/app/pages/management/metadata/metadata.module.ts +++ b/src/renderer/app/pages/management/metadata/metadata.module.ts @@ -39,6 +39,7 @@ import { TableTtlRemoveComponent } from '@renderer/components/table/ttl/remove/t import { CommonDatabaseComponent } from '@renderer/components/database/common/common.database.component'; import { DatabaseRenameComponent } from '@renderer/components/database/rename/database.rename.component'; import { ColumnCreateComponent } from '@renderer/components/column/create/column.create.component'; +import { CommentColumnComponent } from '@renderer/components/column/comment/column.comment.component'; const MANAGEMENT_METADATA_ROUTES: Routes = [ {path: '', component: MetadataComponent} @@ -81,7 +82,8 @@ const MANAGEMENT_METADATA_ROUTES: Routes = [ TableTtlRemoveComponent, CommonDatabaseComponent, DatabaseRenameComponent, - ColumnCreateComponent + ColumnCreateComponent, + CommentColumnComponent ], providers: [ DatasourceService, diff --git a/src/renderer/assets/i18n/en.json b/src/renderer/assets/i18n/en.json index ad6fd5c0..31f4df8b 100644 --- a/src/renderer/assets/i18n/en.json +++ b/src/renderer/assets/i18n/en.json @@ -139,7 +139,8 @@ "remove": "Remove", "status": "Status", "success": "Success", - "description": "Description" + "description": "Description", + "comment": "Comment" }, "language": { "english": "English", diff --git a/src/renderer/assets/i18n/zh.json b/src/renderer/assets/i18n/zh.json index d89b5591..4478d7b2 100644 --- a/src/renderer/assets/i18n/zh.json +++ b/src/renderer/assets/i18n/zh.json @@ -138,7 +138,8 @@ "remove": "移除", "status": "状态", "success": "成功", - "description": "描述" + "description": "描述", + "comment": "评论" }, "language": { "english": "英语", diff --git a/src/renderer/components/column/comment/column.comment.component.html b/src/renderer/components/column/comment/column.comment.component.html new file mode 100644 index 00000000..123d55e7 --- /dev/null +++ b/src/renderer/components/column/comment/column.comment.component.html @@ -0,0 +1,22 @@ +
    +
    + + + + + +
    +
    + diff --git a/src/renderer/components/column/comment/column.comment.component.ts b/src/renderer/components/column/comment/column.comment.component.ts new file mode 100644 index 00000000..80c42604 --- /dev/null +++ b/src/renderer/components/column/comment/column.comment.component.ts @@ -0,0 +1,64 @@ +import { AfterViewInit, Component, EventEmitter, Input, Output } from '@angular/core'; +import { BaseComponent } from '@renderer/app/base.component'; +import { ConfigModel } from '@renderer/model/config.model'; +import { DatabaseModel } from '@renderer/model/database.model'; +import { RequestModel } from '@renderer/model/request.model'; +import { ColumnService } from '@renderer/services/management/column.service'; +import { DatasourceService } from '@renderer/services/management/datasource.service'; +import { NzMessageService } from 'ng-zorro-antd/message'; +import { StringUtils } from '@renderer/utils/string.utils'; + +@Component({ + selector: 'app-component-comment-column', + templateUrl: './column.comment.component.html' +}) +export class CommentColumnComponent extends BaseComponent implements AfterViewInit { + @Input() + config: ConfigModel; + @Input() + value: string; + @Input() + database: string; + @Input() + table: string; + @Output() + emitter = new EventEmitter(); + inputValue: string; + + constructor(private dataSourceService: DatasourceService, + private columnService: ColumnService, + private messageService: NzMessageService) { + super(); + } + + handlerValidate() { + if (StringUtils.isNotEmpty(this.inputValue)) { + this.disabled.button = false; + } else { + this.disabled.button = true; + } + } + + handlerAddComment() { + this.loading.button = true; + const request = new RequestModel(); + request.config = this.dataSourceService.getAll(this.config.value)?.data?.columns[0]; + const _value = new DatabaseModel(); + _value.database = this.database; + _value.table = this.table; + _value.name = this.value; + this.columnService.comment(request, _value, this.inputValue).then(response => { + if (response.status) { + this.messageService.success(response.message); + this.config.status = false; + this.emitter.emit(this.config); + } else { + this.messageService.error(response.message); + } + this.loading.button = false; + }); + } + + ngAfterViewInit(): void { + } +} diff --git a/src/renderer/components/column/common/common.column.component.html b/src/renderer/components/column/common/common.column.component.html index 77e162e6..6ba9f2c5 100644 --- a/src/renderer/components/column/common/common.column.component.html +++ b/src/renderer/components/column/common/common.column.component.html @@ -16,5 +16,9 @@ [value]="value?.origin?.key" [database]="database" [table]="table" (emitter)="handlerEmitter($event)"> + + diff --git a/src/renderer/config/operation.config.ts b/src/renderer/config/operation.config.ts index 9bc927ce..2e4c3d33 100644 --- a/src/renderer/config/operation.config.ts +++ b/src/renderer/config/operation.config.ts @@ -51,7 +51,8 @@ export class OperationConfig { {type: TypeEnum.column, actions: [OperationEnum.preview]}, {type: TypeEnum.column, actions: [OperationEnum.create]}, {type: TypeEnum.column, actions: [OperationEnum.delete]}, - {type: TypeEnum.column, actions: [OperationEnum.rename]} + {type: TypeEnum.column, actions: [OperationEnum.rename]}, + {type: TypeEnum.column, actions: [OperationEnum.comment]} ]; opertions.push(column); return opertions; diff --git a/src/renderer/enum/operation.enum.ts b/src/renderer/enum/operation.enum.ts index 4dd74b3f..7f80503a 100644 --- a/src/renderer/enum/operation.enum.ts +++ b/src/renderer/enum/operation.enum.ts @@ -9,6 +9,7 @@ export enum OperationEnum { clean = ('clean'), optimize = ('optimize'), structure = ('structure'), + comment = ('comment'), ttl = ('ttl'), ttl_modify = ('ttl_modify'), ttl_remove = ('ttl_remove') diff --git a/src/renderer/services/management/column.service.ts b/src/renderer/services/management/column.service.ts index a5f269d5..01b74480 100644 --- a/src/renderer/services/management/column.service.ts +++ b/src/renderer/services/management/column.service.ts @@ -29,6 +29,12 @@ export class ColumnService implements BaseService { return this.getResponse(request, sql); } + comment(request: RequestModel, value: DatabaseModel, comment: string): Promise { + const sql = StringUtils.format(`ALTER TABLE {0} COMMENT COLUMN {1} '{2}'`, + [SqlUtils.getTableName(value.database, value.table), value.name, StringUtils.appendBackslash(comment)]); + return this.getResponse(request, sql); + } + rename(request: RequestModel, value: DatabaseModel, newName: string): Promise { const sql = StringUtils.format('ALTER TABLE {0} RENAME COLUMN {1} TO {2}', [SqlUtils.getTableName(value.database, value.table), value.name, newName]); return this.getResponse(request, sql); From c9d597db74b3bb448c197bfc585ff6208e522668 Mon Sep 17 00:00:00 2001 From: qianmoQ Date: Wed, 13 Apr 2022 00:26:51 +0800 Subject: [PATCH 03/22] [Bug] Fix the problem that invalid metadata management nodes can be clicked --- .../development/version/1.15.0-development.md | 2 ++ electron-builder.yml | 1 + .../management/metadata/metadata.component.ts | 17 +++++++++++++++-- 3 files changed, 18 insertions(+), 2 deletions(-) diff --git a/docs/docs/development/version/1.15.0-development.md b/docs/docs/development/version/1.15.0-development.md index 0dae62fc..66976982 100644 --- a/docs/docs/development/version/1.15.0-development.md +++ b/docs/docs/development/version/1.15.0-development.md @@ -33,6 +33,8 @@ DBM Version for `1.15.0` is development! --- +- Fix the problem that invalid metadata management nodes can be clicked + #### Contributors (In no particular order) --- diff --git a/electron-builder.yml b/electron-builder.yml index e6d57c0a..24bb78db 100644 --- a/electron-builder.yml +++ b/electron-builder.yml @@ -27,6 +27,7 @@ releaseInfo: --- + - Fix the problem that invalid metadata management nodes can be clicked #### UI diff --git a/src/renderer/app/pages/management/metadata/metadata.component.ts b/src/renderer/app/pages/management/metadata/metadata.component.ts index 55ccb412..bc8acd17 100644 --- a/src/renderer/app/pages/management/metadata/metadata.component.ts +++ b/src/renderer/app/pages/management/metadata/metadata.component.ts @@ -53,6 +53,9 @@ export class MetadataComponent extends BaseComponent implements OnInit { configModel.title = k.alias; configModel.type = TypeEnum.disk; configModel.disabled = k.status ? false : true; + if (configModel.disabled) { + configModel.isLeaf = true; + } return configModel; }); this.nodes = datasourceConfigs; @@ -66,8 +69,10 @@ export class MetadataComponent extends BaseComponent implements OnInit { if (!origin.level) { this.rootNode = origin; } - this.contextMenus = this.contextMenuService.getContextMenu(origin.type); - this.nzContextMenuService.create($event, menu); + if (!origin.disabled) { + this.contextMenus = this.contextMenuService.getContextMenu(origin.type); + this.nzContextMenuService.create($event, menu); + } } handlerContextMenuClick(menu: MenuModel): void { @@ -141,6 +146,10 @@ export class MetadataComponent extends BaseComponent implements OnInit { } handlerNodeClick(event: NzFormatEmitEvent): void { + // Invalid node disables click function + if (event.node.origin.disabled) { + return; + } // if (event.node.isSelected) { this.loading.button = true; if (event.node?.level === 0) { @@ -169,6 +178,10 @@ export class MetadataComponent extends BaseComponent implements OnInit { } handlerNodeLoad(event: NzFormatEmitEvent): void { + // Invalid node disables click function + if (event.node.origin.disabled) { + return; + } const node = event.node; this.handlerLevel(node); const originNode: any = event.node.origin; From d7a9a28e51c66a4d642b86431dd9d5ab59e665ef Mon Sep 17 00:00:00 2001 From: qianmoQ Date: Wed, 13 Apr 2022 11:36:20 +0800 Subject: [PATCH 04/22] [UI] Add multiple editor themes --- .../assets/images/versions/1.15.0/themes.png | Bin 0 -> 27007 bytes .../development/version/1.15.0-development.md | 5 ++++- electron-builder.yml | 1 + src/renderer/editor.theme.scss | 10 +++++++++- src/renderer/enum/editor/theme.enum.ts | 10 +++++++++- src/renderer/model/column.model.ts | 2 +- 6 files changed, 24 insertions(+), 4 deletions(-) create mode 100644 docs/docs/assets/images/versions/1.15.0/themes.png diff --git a/docs/docs/assets/images/versions/1.15.0/themes.png b/docs/docs/assets/images/versions/1.15.0/themes.png new file mode 100644 index 0000000000000000000000000000000000000000..d1630c7366902568d395139e7a6b739ccbc45a9b GIT binary patch literal 27007 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 T_5**cM5C``bgx3|Ma2ICIpfMR literal 0 HcmV?d00001 diff --git a/docs/docs/development/version/1.15.0-development.md b/docs/docs/development/version/1.15.0-development.md index 66976982..37661e56 100644 --- a/docs/docs/development/version/1.15.0-development.md +++ b/docs/docs/development/version/1.15.0-development.md @@ -13,7 +13,7 @@ DBM Version for `1.15.0` is development! --- -- Support metadata management, add column description information +- Support metadata management, add column description information
    ![img.png](../../assets/images/versions/1.15.0/img.png) ![img_1.png](../../assets/images/versions/1.15.0/img_1.png) @@ -21,6 +21,9 @@ DBM Version for `1.15.0` is development! --- +- Add multiple editor themes
    +![multiple editor themes](../../assets/images/versions/1.15.0/themes.png) + #### Optimize ---- diff --git a/electron-builder.yml b/electron-builder.yml index 24bb78db..2f536f9e 100644 --- a/electron-builder.yml +++ b/electron-builder.yml @@ -33,6 +33,7 @@ releaseInfo: --- + - Add multiple editor themes directories: diff --git a/src/renderer/editor.theme.scss b/src/renderer/editor.theme.scss index ef5f0920..c312e720 100644 --- a/src/renderer/editor.theme.scss +++ b/src/renderer/editor.theme.scss @@ -27,5 +27,13 @@ @import "~codemirror/theme/lesser-dark.css"; @import "~codemirror/theme/liquibyte.css"; @import "~codemirror/theme/lucario.css"; -//@import "~codemirror/theme/"; +@import "~codemirror/theme/material-darker.css"; +@import "~codemirror/theme/material-ocean.css"; +@import "~codemirror/theme/material-palenight.css"; +@import "~codemirror/theme/material.css"; +@import "~codemirror/theme/mbo.css"; +@import "~codemirror/theme/mdn-like.css"; +@import "~codemirror/theme/midnight.css"; +@import "~codemirror/theme/monokai.css"; +@import "~codemirror/theme/moxer.css"; //@import "~codemirror/theme/"; diff --git a/src/renderer/enum/editor/theme.enum.ts b/src/renderer/enum/editor/theme.enum.ts index 1782a2e6..077293d4 100644 --- a/src/renderer/enum/editor/theme.enum.ts +++ b/src/renderer/enum/editor/theme.enum.ts @@ -27,5 +27,13 @@ export enum EditorThemeEnum { juejin = ('juejin'), 'lesser-dark' = ('lesser-dark'), liquibyte = ('liquibyte'), - lucario = ('lucario') + lucario = ('lucario'), + 'material-darker' = ('material-darker'), + 'material-ocean' = ('material-ocean'), + 'material-palenight' = ('material-palenight'), + material = ('material'), + mbo = ('mbo'), + 'mdn-like' = ('mdn-like'), + midnight = ('midnight'), + moxer = ('moxer') } diff --git a/src/renderer/model/column.model.ts b/src/renderer/model/column.model.ts index 97ce2ad1..cf8bf9b3 100644 --- a/src/renderer/model/column.model.ts +++ b/src/renderer/model/column.model.ts @@ -1,6 +1,6 @@ export class ColumnModel { name: string; - type: string; + type = 'String'; description: string; empty: boolean = false; } From 5633cea62c885dabff6f859036c2578ce2a00de2 Mon Sep 17 00:00:00 2001 From: qianmoQ Date: Wed, 13 Apr 2022 21:36:10 +0800 Subject: [PATCH 05/22] [Enhancement] Support code snippet management --- .../assets/images/versions/1.15.0/img_2.png | Bin 0 -> 22894 bytes .../assets/images/versions/1.15.0/img_3.png | Bin 0 -> 40087 bytes .../assets/images/versions/1.15.0/img_4.png | Bin 0 -> 43097 bytes .../development/version/1.15.0-development.md | 4 + electron-builder.yml | 1 + package.json | 3 +- src/renderer/app/common-share.module.ts | 4 +- .../app/layout/header/header.component.html | 7 +- src/renderer/app/layout/layout.routing.ts | 4 + src/renderer/app/ng-zorro-antd.module.ts | 6 +- .../query/snippet/snippet.component.html | 97 ++++++++++++++ .../pages/query/snippet/snippet.component.ts | 124 ++++++++++++++++++ .../app/pages/query/snippet/snippet.module.ts | 47 +++++++ src/renderer/assets/i18n/en.json | 12 +- src/renderer/assets/i18n/zh.json | 12 +- src/renderer/db/dexiedb.ts | 7 +- src/renderer/model/snippet.model.ts | 8 ++ src/renderer/services/persistence.service.ts | 2 +- .../services/snippet/snippet.service.ts | 43 ++++++ 19 files changed, 370 insertions(+), 11 deletions(-) create mode 100644 docs/docs/assets/images/versions/1.15.0/img_2.png create mode 100644 docs/docs/assets/images/versions/1.15.0/img_3.png create mode 100644 docs/docs/assets/images/versions/1.15.0/img_4.png create mode 100644 src/renderer/app/pages/query/snippet/snippet.component.html create mode 100644 src/renderer/app/pages/query/snippet/snippet.component.ts create mode 100644 src/renderer/app/pages/query/snippet/snippet.module.ts create mode 100644 src/renderer/model/snippet.model.ts create mode 100644 src/renderer/services/snippet/snippet.service.ts diff --git a/docs/docs/assets/images/versions/1.15.0/img_2.png b/docs/docs/assets/images/versions/1.15.0/img_2.png new file mode 100644 index 0000000000000000000000000000000000000000..ff93e984a60ff8c1c879170e4db5c82fbc116a35 GIT binary patch literal 22894 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 literal 0 HcmV?d00001 diff --git a/docs/docs/assets/images/versions/1.15.0/img_3.png b/docs/docs/assets/images/versions/1.15.0/img_3.png new file mode 100644 index 0000000000000000000000000000000000000000..b9073bc102c12e978bd3aa48dcf7532e83d61777 GIT binary patch literal 40087 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

    ccV(y7Qw=&**7y0h( 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 ![img.png](../../assets/images/versions/1.15.0/img.png) ![img_1.png](../../assets/images/versions/1.15.0/img_1.png) +- Support code snippet management
    +![img.png](../../assets/images/versions/1.15.0/img_2.png)
    +![img_1.png](../../assets/images/versions/1.15.0/img_3.png)
    +![img_1.png](../../assets/images/versions/1.15.0/img_4.png) #### UI diff --git a/electron-builder.yml b/electron-builder.yml index 2f536f9e..465ba90c 100644 --- a/electron-builder.yml +++ b/electron-builder.yml @@ -11,6 +11,7 @@ releaseInfo: --- - Support metadata management, add column description information + - Support code snippet management #### Docs diff --git a/package.json b/package.json index 5a43fb87..c14e43b3 100644 --- a/package.json +++ b/package.json @@ -59,11 +59,12 @@ "highcharts": "^9.3.2", "jsstore": "^4.3.8", "lodash": "^4.17.21", - "moment": "^2.29.1", + "moment": "^2.29.2", "ng-zorro-antd": "^12.1.0", "ngx-clipboard": "^14.0.2", "ngx-easy-table": "^15.2.0", "ngx-markdown": "^13.1.0", + "ngx-moment": "^6.0.2", "node-sql-parser": "^4.1.1", "rxjs": "~6.6.0", "sass-loader": "^12.3.0", diff --git a/src/renderer/app/common-share.module.ts b/src/renderer/app/common-share.module.ts index d9d63005..57f7e9cb 100644 --- a/src/renderer/app/common-share.module.ts +++ b/src/renderer/app/common-share.module.ts @@ -13,6 +13,7 @@ import { ChartModule } from 'angular-highcharts'; import { EmptyAntdComponent } from '@renderer/components/antd/empty/empty.antd.component'; import { DrividerAntdComponent } from '@renderer/components/antd/drivider/drivider.antd.component'; import { TableModule } from 'ngx-easy-table'; +import { MomentModule } from 'ngx-moment'; @NgModule({ imports: [ @@ -23,7 +24,8 @@ import { TableModule } from 'ngx-easy-table'; CommonModule, ServiceModule, ChartModule, - TableModule + TableModule, + MomentModule ], declarations: [ DdlQueryComponent, diff --git a/src/renderer/app/layout/header/header.component.html b/src/renderer/app/layout/header/header.component.html index 837e3cab..f13dab98 100644 --- a/src/renderer/app/layout/header/header.component.html +++ b/src/renderer/app/layout/header/header.component.html @@ -13,6 +13,11 @@ {{ 'common.query' | translate }}
    +

  1. + + {{ 'common.snippet' | translate }} + +
  2. {{ 'common.history' | translate }} @@ -185,4 +190,4 @@ - \ No newline at end of file + diff --git a/src/renderer/app/layout/layout.routing.ts b/src/renderer/app/layout/layout.routing.ts index 2755c895..1432df8f 100644 --- a/src/renderer/app/layout/layout.routing.ts +++ b/src/renderer/app/layout/layout.routing.ts @@ -20,6 +20,10 @@ const LAYOUT_ROUTES: Routes = [ path: 'query', loadChildren: () => import('../pages/query/query/query.module').then(m => m.QueryModule) }, + { + path: 'snippet', + loadChildren: () => import('../pages/query/snippet/snippet.module').then(m => m.SnippetModule) + }, { path: 'history', loadChildren: () => import('../pages/query/history/history.module').then(m => m.HistoryModule) diff --git a/src/renderer/app/ng-zorro-antd.module.ts b/src/renderer/app/ng-zorro-antd.module.ts index e1953371..cc962f07 100644 --- a/src/renderer/app/ng-zorro-antd.module.ts +++ b/src/renderer/app/ng-zorro-antd.module.ts @@ -35,6 +35,8 @@ import { NzResultModule } from 'ng-zorro-antd/result'; import { NzCollapseModule } from 'ng-zorro-antd/collapse'; import { NzBadgeModule } from 'ng-zorro-antd/badge'; import { NzPaginationModule } from 'ng-zorro-antd/pagination'; +import { NzDrawerModule } from 'ng-zorro-antd/drawer'; +import { NzTypographyModule } from 'ng-zorro-antd/typography'; @NgModule({ declarations: [], @@ -74,7 +76,9 @@ import { NzPaginationModule } from 'ng-zorro-antd/pagination'; NzResultModule, NzCollapseModule, NzBadgeModule, - NzPaginationModule + NzPaginationModule, + NzDrawerModule, + NzTypographyModule ] }) export class NgZorroAntdModule { diff --git a/src/renderer/app/pages/query/snippet/snippet.component.html b/src/renderer/app/pages/query/snippet/snippet.component.html new file mode 100644 index 00000000..124ff6cd --- /dev/null +++ b/src/renderer/app/pages/query/snippet/snippet.component.html @@ -0,0 +1,97 @@ + + + + + + + + + + + + {{row.id}} + +

    {{row.name}}

    + + +

    {{row.description}}

    + + + + + +

    {{row.created|amDateFormat:'YYYY-MM-DD HH:mm:ss'}}

    + + +

    {{row.updated|amDateFormat:'YYYY-MM-DD HH:mm:ss'}}

    + +
    +
    +
    +
    + + + + +
    +
    +
    + + {{'common.name'|translate}} + + + + +
    +
    + + {{'common.description'|translate}} + + + + +
    +
    + + {{'common.snippet' | translate}} + + + + + +
    +
    +
    + +
    + + +
    +
    +
    + + diff --git a/src/renderer/app/pages/query/snippet/snippet.component.ts b/src/renderer/app/pages/query/snippet/snippet.component.ts new file mode 100644 index 00000000..7d8b6222 --- /dev/null +++ b/src/renderer/app/pages/query/snippet/snippet.component.ts @@ -0,0 +1,124 @@ +import { Component } from '@angular/core'; +import { BaseComponent } from '@renderer/app/base.component'; +import { QueryHistoryService } from '@renderer/services/query/query.history.service'; +import { NzModalService } from 'ng-zorro-antd/modal'; +import { NzMessageService } from 'ng-zorro-antd/message'; +import { TranslateService } from '@ngx-translate/core'; +import { Columns, Config, DefaultConfig } from 'ngx-easy-table'; +import { ActionEnum } from '@renderer/enum/action.enum'; +import { SnippetModel } from '@renderer/model/snippet.model'; +import { SystemEditorModel } from '@renderer/model/system.model'; +import { EditorService } from '@renderer/services/editor/editor.service'; +import { FormBuilder, FormGroup, Validators } from '@angular/forms'; +import { SnippetService } from '@renderer/services/snippet/snippet.service'; + +@Component({ + selector: 'app-query-snippet', + templateUrl: 'snippet.component.html' +}) +export class SnippetComponent extends BaseComponent { + configuration: Config; + columns: any[] = new Array(); + headers: Columns[] = new Array(); + action = ActionEnum; + snippet: SnippetModel; + editorConfig: any; + validateForm!: FormGroup; + selectRow: SnippetModel; + + constructor(private editorService: EditorService, + private modal: NzModalService, + private formBuilder: FormBuilder, + private snippetService: SnippetService, + private messageService: NzMessageService, + private translateService: TranslateService) { + super(); + const id = this.translateService.instant('common.id'); + this.headers.push({key: id, title: id}); + const name = this.translateService.instant('common.name'); + this.headers.push({key: name, title: name}); + const description = this.translateService.instant('common.description'); + this.headers.push({key: description, title: description}); + const code = this.translateService.instant('common.code'); + this.headers.push({key: code, title: code}); + const created = this.translateService.instant('common.created'); + this.headers.push({key: created, title: created}); + const updated = this.translateService.instant('common.updated'); + this.headers.push({key: updated, title: updated}); + this.configuration = {...DefaultConfig}; + this.configuration.horizontalScroll = true; + this.configuration.orderEnabled = false; + this.configuration.paginationRangeEnabled = false; + const cache = this.editorService.get() === null ? new SystemEditorModel() : this.editorService.get(); + this.editorConfig = Object.assign(this.editorService.getDefault(), cache); + this.handlerRestValidator(); + this.initialize(); + } + + initialize() { + this.snippetService.getAll() + .then(response => { + if (response.length > 0) { + this.columns = response; + } + }) + .catch(() => { + this.messageService.error(this.translateService.instant('common.error')); + }); + ; + } + + handlerRestValidator(): void { + this.validateForm = this.formBuilder.group({ + name: [null, [Validators.required]], + description: [null, [Validators.required]], + code: [null, [Validators.required]] + }); + } + + handlerShowDrawer(type: ActionEnum): void { + this.dialog.create = true; + this.handlerRestValidator(); + switch (type) { + case ActionEnum.create: + this.snippet = new SnippetModel(); + break; + } + } + + handlerCloseDrawer(): void { + this.dialog.create = false; + this.snippet = null; + this.validateForm = null; + } + + handlerSave(): void { + if (this.validateForm.valid) { + this.snippetService.save(this.snippet) + .then(() => { + this.messageService.success(this.translateService.instant('common.success')); + this.handlerCloseDrawer(); + this.initialize(); + }) + .catch(() => { + this.messageService.error(this.translateService.instant('common.error')); + }); + } else { + Object.values(this.validateForm.controls).forEach(control => { + if (control.invalid) { + control.markAsDirty(); + control.updateValueAndValidity({onlySelf: true}); + } + }); + } + } + + handlerShowModal(row: SnippetModel): void { + this.dialog.select = true; + this.selectRow = row; + } + + handlerCloseModal(): void { + this.dialog.select = false; + } +} diff --git a/src/renderer/app/pages/query/snippet/snippet.module.ts b/src/renderer/app/pages/query/snippet/snippet.module.ts new file mode 100644 index 00000000..c9875cfe --- /dev/null +++ b/src/renderer/app/pages/query/snippet/snippet.module.ts @@ -0,0 +1,47 @@ +import { NgModule } from '@angular/core'; +import { FormsModule, ReactiveFormsModule } from '@angular/forms'; +import { RouterModule, Routes } from '@angular/router'; +import { TranslateModule, TranslateService } from '@ngx-translate/core'; +import { CommonModule } from '@angular/common'; +import { QueryHistoryService } from '@renderer/services/query/query.history.service'; +import { NgZorroAntdModule } from '@renderer/app/ng-zorro-antd.module'; +import { NzModalService } from 'ng-zorro-antd/modal'; +import { CommonShareModule } from '@renderer/app/common-share.module'; +import { EditorService } from '@renderer/services/editor/editor.service'; +import { SnippetComponent } from '@renderer/app/pages/query/snippet/snippet.component'; +import { TableModule } from 'ngx-easy-table'; +import { CodemirrorModule } from '@ctrl/ngx-codemirror'; +import { SnippetService } from '@renderer/services/snippet/snippet.service'; +import { MomentModule } from 'ngx-moment'; + +const QUERY_ROUTES: Routes = [ + {path: '', component: SnippetComponent} +]; + +@NgModule({ + imports: [ + FormsModule, + TranslateModule, + CommonModule, + NgZorroAntdModule, + RouterModule.forChild(QUERY_ROUTES), + CommonShareModule, + TableModule, + CodemirrorModule, + ReactiveFormsModule, + MomentModule + ], + exports: [], + declarations: [ + SnippetComponent + ], + providers: [ + TranslateService, + QueryHistoryService, + NzModalService, + EditorService, + SnippetService + ] +}) +export class SnippetModule { +} diff --git a/src/renderer/assets/i18n/en.json b/src/renderer/assets/i18n/en.json index 31f4df8b..ac0de044 100644 --- a/src/renderer/assets/i18n/en.json +++ b/src/renderer/assets/i18n/en.json @@ -140,7 +140,14 @@ "status": "Status", "success": "Success", "description": "Description", - "comment": "Comment" + "comment": "Comment", + "snippet": "Snippet", + "id": "ID", + "name": "Name", + "description": "Description", + "code": "Code", + "created": "Created", + "updated": "Updated" }, "language": { "english": "English", @@ -171,7 +178,8 @@ "commitEveryBatch": "Commit Every Batch", "threadPerConsumer": "Thread Per Consumer", "maxTotal": "The maximum number of rows is displayed. If you manually enter limit, the configuration is overwritten. If 0 is set, the configuration does not take effect", - "collection": "Please input collection" + "collection": "Please input collection", + "required": "This value cannot be empty, please enter" }, "tooltip": { "network": "Duration of accessing the remote server (in seconds)", diff --git a/src/renderer/assets/i18n/zh.json b/src/renderer/assets/i18n/zh.json index 4478d7b2..b858e71b 100644 --- a/src/renderer/assets/i18n/zh.json +++ b/src/renderer/assets/i18n/zh.json @@ -139,7 +139,14 @@ "status": "状态", "success": "成功", "description": "描述", - "comment": "评论" + "comment": "评论", + "snippet": "片段", + "id": "标记", + "name": "名称", + "description": "描述", + "code": "代码", + "created": "创建", + "updated": "更新" }, "language": { "english": "英语", @@ -172,7 +179,8 @@ "maxTotal": "返回查询最大行数,用户手动填写limit将覆盖该配置,如果设置0则该配置不生效", "collection": "Please input collection", "options": "Options", - "ttl": "TTL" + "ttl": "TTL", + "required": "该值不能为空, 请输入" }, "tooltip": { "network": "访问远程服务器的时间(以秒为单位)", diff --git a/src/renderer/db/dexiedb.ts b/src/renderer/db/dexiedb.ts index 28484e0f..076a5b59 100644 --- a/src/renderer/db/dexiedb.ts +++ b/src/renderer/db/dexiedb.ts @@ -1,13 +1,16 @@ import Dexie, { Table } from 'dexie'; import { QueryHistoryModel } from '@renderer/model/query.history.model'; +import { SnippetModel } from '@renderer/model/snippet.model'; export class DexieDb extends Dexie { QueryHistoryTable: Table; + SnippetTable: Table; constructor() { super('dbm_db'); - this.version(1).stores({ - QueryHistoryTable: '++id,createdTime,startTime,endTime' + this.version(2).stores({ + QueryHistoryTable: '++id,createdTime,startTime,endTime', + SnippetTable: '++id,name,created,updated' }); } } diff --git a/src/renderer/model/snippet.model.ts b/src/renderer/model/snippet.model.ts new file mode 100644 index 00000000..5bd90d09 --- /dev/null +++ b/src/renderer/model/snippet.model.ts @@ -0,0 +1,8 @@ +export class SnippetModel { + id: string; + name: string; + description: string; + code: string; + created: Date; + updated: Date; +} diff --git a/src/renderer/services/persistence.service.ts b/src/renderer/services/persistence.service.ts index 9d04663d..d2541a88 100644 --- a/src/renderer/services/persistence.service.ts +++ b/src/renderer/services/persistence.service.ts @@ -1,6 +1,6 @@ export abstract class PersistenceService { public abstract save(model: any): any; - public abstract getAll(): any[]; + public abstract getAll(): any; public abstract clear(): boolean; public abstract deleteById(id: number): boolean; } diff --git a/src/renderer/services/snippet/snippet.service.ts b/src/renderer/services/snippet/snippet.service.ts new file mode 100644 index 00000000..6b193b21 --- /dev/null +++ b/src/renderer/services/snippet/snippet.service.ts @@ -0,0 +1,43 @@ +import { BaseService } from '@renderer/services/base.service'; +import { RequestModel } from '@renderer/model/request.model'; +import { ResponseModel } from '@renderer/model/response.model'; +import { PersistenceService } from '@renderer/services/persistence.service'; +import { DexieDb } from '@renderer/db/dexiedb'; +import { SnippetModel } from '@renderer/model/snippet.model'; +import { PromiseExtended } from 'dexie'; +import { Injectable } from '@angular/core'; + +@Injectable() +export class SnippetService extends PersistenceService implements BaseService { + private db: DexieDb; + + constructor() { + super(); + this.db = new DexieDb(); + } + + getResponse(request: RequestModel, sql?: string): Promise { + return Promise.resolve(undefined); + } + + save(model: SnippetModel): PromiseExtended { + model.created = new Date(); + model.updated = new Date(); + return this.db.SnippetTable.add(model); + } + + getAll(): PromiseExtended { + return this.db.SnippetTable + .orderBy('id') + .reverse() + .toArray(); + } + + clear(): boolean { + return false; + } + + deleteById(id: number): boolean { + return false; + } +} From a8cf24f363af3a93e386cdae5adf587d7f17f6e2 Mon Sep 17 00:00:00 2001 From: qianmoQ Date: Thu, 14 Apr 2022 06:38:24 +0800 Subject: [PATCH 06/22] [UI] Quick query unavailable nodes prohibit operations --- .../assets/images/versions/1.15.0/img_5.png | Bin 0 -> 55631 bytes .../development/version/1.15.0-development.md | 4 +++- electron-builder.yml | 2 +- .../query/quick/quick.query.component.html | 2 +- 4 files changed, 5 insertions(+), 3 deletions(-) create mode 100644 docs/docs/assets/images/versions/1.15.0/img_5.png diff --git a/docs/docs/assets/images/versions/1.15.0/img_5.png b/docs/docs/assets/images/versions/1.15.0/img_5.png new file mode 100644 index 0000000000000000000000000000000000000000..e9288db3524ff761549ddd81bee379391f7ea784 GIT binary patch literal 55631 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'QLsm3U1l^0@*uQ0>q$aL{ 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 literal 0 HcmV?d00001 diff --git a/docs/docs/development/version/1.15.0-development.md b/docs/docs/development/version/1.15.0-development.md index dc420b74..1486bd2d 100644 --- a/docs/docs/development/version/1.15.0-development.md +++ b/docs/docs/development/version/1.15.0-development.md @@ -26,7 +26,9 @@ DBM Version for `1.15.0` is development! --- - Add multiple editor themes
    -![multiple editor themes](../../assets/images/versions/1.15.0/themes.png) +![multiple editor themes](../../assets/images/versions/1.15.0/themes.png)
    +- Quick query unavailable nodes prohibit operations
    +![img.png](../../assets/images/versions/1.15.0/img_5.png)
    #### Optimize diff --git a/electron-builder.yml b/electron-builder.yml index 465ba90c..30260cdd 100644 --- a/electron-builder.yml +++ b/electron-builder.yml @@ -35,7 +35,7 @@ releaseInfo: --- - Add multiple editor themes - + - Quick query unavailable nodes prohibit operations directories: output: ./release diff --git a/src/renderer/components/query/quick/quick.query.component.html b/src/renderer/components/query/quick/quick.query.component.html index 9532dbf2..84228150 100644 --- a/src/renderer/components/query/quick/quick.query.component.html +++ b/src/renderer/components/query/quick/quick.query.component.html @@ -9,7 +9,7 @@ - + From 05fc909dc9b7008cc100eb4a6b33ff052eceb3be Mon Sep 17 00:00:00 2001 From: qianmoQ Date: Thu, 14 Apr 2022 07:06:20 +0800 Subject: [PATCH 07/22] [CI] CONTRIBUTING.md --- CONTRIBUTING.md | 0 1 file changed, 0 insertions(+), 0 deletions(-) create mode 100644 CONTRIBUTING.md diff --git a/CONTRIBUTING.md b/CONTRIBUTING.md new file mode 100644 index 00000000..e69de29b From f3015140cb96dcfd3da7ea713a7514812a21d4b5 Mon Sep 17 00:00:00 2001 From: qianmoQ Date: Thu, 14 Apr 2022 17:29:51 +0800 Subject: [PATCH 08/22] [Enhancement] Support query reference code snippet --- .../assets/images/versions/1.15.0/img_6.png | Bin 0 -> 18915 bytes .../assets/images/versions/1.15.0/img_7.png | Bin 0 -> 32680 bytes .../development/version/1.15.0-development.md | 5 +- electron-builder.yml | 1 + .../app/layout/header/header.component.html | 13 ++- .../pages/query/query/query.component.html | 25 ++++-- .../app/pages/query/query/query.component.ts | 18 ++++ .../app/pages/query/query/query.module.ts | 12 ++- src/renderer/assets/i18n/en.json | 3 +- src/renderer/assets/i18n/zh.json | 3 +- .../quote/quote.snippet.component.html | 36 ++++++++ .../snippet/quote/quote.snippet.component.ts | 83 ++++++++++++++++++ 12 files changed, 181 insertions(+), 18 deletions(-) create mode 100644 docs/docs/assets/images/versions/1.15.0/img_6.png create mode 100644 docs/docs/assets/images/versions/1.15.0/img_7.png create mode 100644 src/renderer/components/snippet/quote/quote.snippet.component.html create mode 100644 src/renderer/components/snippet/quote/quote.snippet.component.ts diff --git a/docs/docs/assets/images/versions/1.15.0/img_6.png b/docs/docs/assets/images/versions/1.15.0/img_6.png new file mode 100644 index 0000000000000000000000000000000000000000..4089f0730bacdf97f57c888f47906d2c1540fe5c GIT binary patch literal 18915 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 literal 0 HcmV?d00001 diff --git a/docs/docs/assets/images/versions/1.15.0/img_7.png b/docs/docs/assets/images/versions/1.15.0/img_7.png new file mode 100644 index 0000000000000000000000000000000000000000..3a3472e148158bc74271abf841f6f66a13c6f097 GIT binary patch literal 32680 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 literal 0 HcmV?d00001 diff --git a/docs/docs/development/version/1.15.0-development.md b/docs/docs/development/version/1.15.0-development.md index 1486bd2d..9c3f0042 100644 --- a/docs/docs/development/version/1.15.0-development.md +++ b/docs/docs/development/version/1.15.0-development.md @@ -19,7 +19,10 @@ DBM Version for `1.15.0` is development! - Support code snippet management
    ![img.png](../../assets/images/versions/1.15.0/img_2.png)
    ![img_1.png](../../assets/images/versions/1.15.0/img_3.png)
    -![img_1.png](../../assets/images/versions/1.15.0/img_4.png) +![img_1.png](../../assets/images/versions/1.15.0/img_4.png)
    +- Support query reference code snippet
    +![img.png](../../assets/images/versions/1.15.0/img_6.png) +![img_1.png](../../assets/images/versions/1.15.0/img_7.png) #### UI diff --git a/electron-builder.yml b/electron-builder.yml index 30260cdd..21ecf256 100644 --- a/electron-builder.yml +++ b/electron-builder.yml @@ -12,6 +12,7 @@ releaseInfo: - Support metadata management, add column description information - Support code snippet management + - Support query reference code snippet #### Docs diff --git a/src/renderer/app/layout/header/header.component.html b/src/renderer/app/layout/header/header.component.html index f13dab98..5e3c8b65 100644 --- a/src/renderer/app/layout/header/header.component.html +++ b/src/renderer/app/layout/header/header.component.html @@ -14,13 +14,13 @@
  3. - - {{ 'common.snippet' | translate }} + + {{ 'common.history' | translate }}
  4. - - {{ 'common.history' | translate }} + + {{ 'common.snippet' | translate }}
  5. @@ -115,9 +115,8 @@ {{version}} - + (nzOnCancel)="handlerUpdate(false)" [nzMaskClosable]="false" [nzClosable]="false" nzWidth="80%"> {{'common.update'|translate}}
    @@ -188,6 +187,6 @@ + [disabled]="!disabled.button">{{'common.cancel'|translate}} diff --git a/src/renderer/app/pages/query/query/query.component.html b/src/renderer/app/pages/query/query/query.component.html index 8fbafade..4592ad69 100644 --- a/src/renderer/app/pages/query/query/query.component.html +++ b/src/renderer/app/pages/query/query/query.component.html @@ -40,6 +40,13 @@ + +
      +
    • + {{command.name}} +
    • +
    +
    - - +
      -
    • - {{command.name}} +
    • +  {{'common.quick' | translate}}{{'common.query' | translate}} +
    • +
    • +  {{'common.code' | translate}}{{'common.snippet' | translate}}
    @@ -103,3 +114,7 @@ (emitter)="handlerQuickQuery(true)" (emitterValue)="handlerQuickQueryProcessor($event)"> + + diff --git a/src/renderer/app/pages/query/query/query.component.ts b/src/renderer/app/pages/query/query/query.component.ts index b3dcd230..b5ecaac2 100644 --- a/src/renderer/app/pages/query/query/query.component.ts +++ b/src/renderer/app/pages/query/query/query.component.ts @@ -15,6 +15,7 @@ import { SqlUtils } from '@renderer/utils/sql.utils'; import { ResponseDataModel } from '@renderer/model/response.model'; import { SystemEditorModel } from '@renderer/model/system.model'; import { CommandModel } from '@renderer/model/command.model'; +import { SnippetModel } from '@renderer/model/snippet.model'; @Component({ selector: 'app-query', @@ -37,6 +38,10 @@ export class QueryComponent extends BaseComponent implements AfterViewInit { loadingContainers = []; processorContainers = []; containerSelected = 0; + codeSnippet = { + disabled: false, + value: SnippetModel + }; constructor(private editorService: EditorService, private datasourceService: DatasourceService, @@ -178,4 +183,17 @@ export class QueryComponent extends BaseComponent implements AfterViewInit { handlerExecuteCommand(command: CommandModel) { this.handlerExecute(command); } + + handlerCodeSnippet(close?: boolean) { + if (close) { + this.codeSnippet.disabled = false; + } else { + this.codeSnippet.disabled = true; + } + } + + handlerCodeSnippetProcessor(sql?: string) { + const codeMirror = this.codeEditors.get(this.containerSelected)['codeMirror']; + codeMirror.setValue(sql); + } } diff --git a/src/renderer/app/pages/query/query/query.module.ts b/src/renderer/app/pages/query/query/query.module.ts index d252aa85..8cb592fb 100644 --- a/src/renderer/app/pages/query/query/query.module.ts +++ b/src/renderer/app/pages/query/query/query.module.ts @@ -14,6 +14,9 @@ import { QuickQueryComponent } from '@renderer/components/query/quick/quick.quer import { QueryQuickService } from '@renderer/services/query/query.quick.service'; import { ServiceModule } from '@renderer/app/service.module'; import { CommonShareModule } from '@renderer/app/common-share.module'; +import { QuoteSnippetComponent } from '@renderer/components/snippet/quote/quote.snippet.component'; +import { SnippetService } from '@renderer/services/snippet/snippet.service'; +import { TableModule } from 'ngx-easy-table'; const QUERY_ROUTES: Routes = [ {path: '', component: QueryComponent} @@ -28,19 +31,22 @@ const QUERY_ROUTES: Routes = [ NgZorroAntdModule, ServiceModule, RouterModule.forChild(QUERY_ROUTES), - CommonShareModule + CommonShareModule, + TableModule ], exports: [], declarations: [ QueryComponent, - QuickQueryComponent + QuickQueryComponent, + QuoteSnippetComponent ], providers: [ EditorService, DatasourceService, QueryService, QueryHistoryService, - QueryQuickService + QueryQuickService, + SnippetService ] }) export class QueryModule { diff --git a/src/renderer/assets/i18n/en.json b/src/renderer/assets/i18n/en.json index ac0de044..dc93b97c 100644 --- a/src/renderer/assets/i18n/en.json +++ b/src/renderer/assets/i18n/en.json @@ -147,7 +147,8 @@ "description": "Description", "code": "Code", "created": "Created", - "updated": "Updated" + "updated": "Updated", + "quote": "Quote" }, "language": { "english": "English", diff --git a/src/renderer/assets/i18n/zh.json b/src/renderer/assets/i18n/zh.json index b858e71b..22da38cb 100644 --- a/src/renderer/assets/i18n/zh.json +++ b/src/renderer/assets/i18n/zh.json @@ -146,7 +146,8 @@ "description": "描述", "code": "代码", "created": "创建", - "updated": "更新" + "updated": "更新", + "quote": "引用" }, "language": { "english": "英语", diff --git a/src/renderer/components/snippet/quote/quote.snippet.component.html b/src/renderer/components/snippet/quote/quote.snippet.component.html new file mode 100644 index 00000000..0456f8fa --- /dev/null +++ b/src/renderer/components/snippet/quote/quote.snippet.component.html @@ -0,0 +1,36 @@ + + + + + {{row.id}} + + {{row.name}} + + + {{row.description}} + + + + + + + + + + +
    + +
    +
    +
    +
    diff --git a/src/renderer/components/snippet/quote/quote.snippet.component.ts b/src/renderer/components/snippet/quote/quote.snippet.component.ts new file mode 100644 index 00000000..382d713c --- /dev/null +++ b/src/renderer/components/snippet/quote/quote.snippet.component.ts @@ -0,0 +1,83 @@ +import { BaseComponent } from '@renderer/app/base.component'; +import { Component, EventEmitter, Input, Output, ViewChild } from '@angular/core'; +import { NzMessageService } from 'ng-zorro-antd/message'; +import { SnippetService } from '@renderer/services/snippet/snippet.service'; +import { SnippetModel } from '@renderer/model/snippet.model'; +import { TranslateService } from '@ngx-translate/core'; +import { API, APIDefinition, Columns, Config, DefaultConfig } from 'ngx-easy-table'; + +@Component({ + selector: 'app-component-quote-snippet', + templateUrl: './quote.snippet.component.html' +}) +export class QuoteSnippetComponent extends BaseComponent { + @ViewChild('table') + table: APIDefinition; + @Input() + visible: boolean; + @Output() + emitter = new EventEmitter(); + @Output() + emitterValue = new EventEmitter(); + configuration: Config; + columns: SnippetModel[] = new Array(); + headers: Columns[] = new Array(); + toggledRows = new Set(); + tableWidth = '100%'; + + constructor(private snippetService: SnippetService, + private messageService: NzMessageService, + private translateService: TranslateService) { + super(); + const id = this.translateService.instant('common.id'); + this.headers.push({key: id, title: id}); + const name = this.translateService.instant('common.name'); + this.headers.push({key: name, title: name}); + const description = this.translateService.instant('common.description'); + this.headers.push({key: description, title: description}); + const code = this.translateService.instant('common.code'); + this.headers.push({key: code, title: code}); + const action = this.translateService.instant('common.action'); + this.headers.push({key: action, title: action}); + this.configuration = {...DefaultConfig}; + this.configuration.horizontalScroll = true; + this.configuration.orderEnabled = false; + this.configuration.paginationRangeEnabled = false; + this.configuration.detailsTemplate = true; + this.initialize(); + } + + initialize() { + this.snippetService.getAll() + .then((snippets: SnippetModel[]) => { + this.columns = snippets; + }) + .catch(() => { + this.messageService.error(this.translateService.instant('common.error')); + }); + } + + handlerCancel() { + this.visible = false; + this.emitter.emit(this.visible); + } + + handlerRowToggled($event: MouseEvent, index: number): void { + $event.preventDefault(); + this.table.apiEvent({ + type: API.toggleRowIndex, + value: index + }); + if (this.toggledRows.has(index)) { + this.toggledRows.delete(index); + } else { + this.toggledRows.add(index); + } + this.tableWidth = document.getElementById('table')?.offsetWidth - 15 + 'px'; + } + + handlerRowSelectedQuote(snippet: SnippetModel): void { + this.emitterValue.emit(snippet.code); + this.handlerCancel(); + } +} From 4af1c7b10eca0bb4583417491fb1729938454134 Mon Sep 17 00:00:00 2001 From: qianmoQ Date: Thu, 14 Apr 2022 19:34:10 +0800 Subject: [PATCH 09/22] [UI] The code fragment is configured using the system editor --- .../components/snippet/quote/quote.snippet.component.html | 2 +- .../components/snippet/quote/quote.snippet.component.ts | 7 +++++++ 2 files changed, 8 insertions(+), 1 deletion(-) diff --git a/src/renderer/components/snippet/quote/quote.snippet.component.html b/src/renderer/components/snippet/quote/quote.snippet.component.html index 0456f8fa..f171f28e 100644 --- a/src/renderer/components/snippet/quote/quote.snippet.component.html +++ b/src/renderer/components/snippet/quote/quote.snippet.component.html @@ -29,7 +29,7 @@
    - +
    diff --git a/src/renderer/components/snippet/quote/quote.snippet.component.ts b/src/renderer/components/snippet/quote/quote.snippet.component.ts index 382d713c..494a5b1e 100644 --- a/src/renderer/components/snippet/quote/quote.snippet.component.ts +++ b/src/renderer/components/snippet/quote/quote.snippet.component.ts @@ -5,6 +5,8 @@ import { SnippetService } from '@renderer/services/snippet/snippet.service'; import { SnippetModel } from '@renderer/model/snippet.model'; import { TranslateService } from '@ngx-translate/core'; import { API, APIDefinition, Columns, Config, DefaultConfig } from 'ngx-easy-table'; +import { SystemEditorModel } from '@renderer/model/system.model'; +import { EditorService } from '@renderer/services/editor/editor.service'; @Component({ selector: 'app-component-quote-snippet', @@ -24,9 +26,11 @@ export class QuoteSnippetComponent extends BaseComponent { headers: Columns[] = new Array(); toggledRows = new Set(); tableWidth = '100%'; + editorConfig: any; constructor(private snippetService: SnippetService, private messageService: NzMessageService, + private editorService: EditorService, private translateService: TranslateService) { super(); const id = this.translateService.instant('common.id'); @@ -44,6 +48,9 @@ export class QuoteSnippetComponent extends BaseComponent { this.configuration.orderEnabled = false; this.configuration.paginationRangeEnabled = false; this.configuration.detailsTemplate = true; + const cache = this.editorService.get() === null ? new SystemEditorModel() : this.editorService.get(); + this.editorConfig = Object.assign(this.editorService.getDefault(), cache); + this.editorConfig.readOnly = true; this.initialize(); } From 723867ea99e4e279b70e381341470a19bf4e2c82 Mon Sep 17 00:00:00 2001 From: qianmoQ Date: Thu, 14 Apr 2022 20:07:59 +0800 Subject: [PATCH 10/22] [Optimize] Split and create code snippets into separate components --- .../query/snippet/snippet.component.html | 63 ++---------- .../pages/query/snippet/snippet.component.ts | 52 ++-------- .../app/pages/query/snippet/snippet.module.ts | 4 +- .../create/create.snippet.component.html | 45 +++++++++ .../create/create.snippet.component.ts | 95 +++++++++++++++++++ 5 files changed, 159 insertions(+), 100 deletions(-) create mode 100644 src/renderer/components/snippet/create/create.snippet.component.html create mode 100644 src/renderer/components/snippet/create/create.snippet.component.ts diff --git a/src/renderer/app/pages/query/snippet/snippet.component.html b/src/renderer/app/pages/query/snippet/snippet.component.html index 124ff6cd..4f6606da 100644 --- a/src/renderer/app/pages/query/snippet/snippet.component.html +++ b/src/renderer/app/pages/query/snippet/snippet.component.html @@ -3,7 +3,7 @@ [nzNotFoundContent]="contentTemplate" [nzNotFoundFooter]="footerTemplate"> - @@ -15,10 +15,10 @@ {{row.id}} -

    {{row.name}}

    + {{row.name}} -

    {{row.description}}

    + {{row.description}}
    - - -
    -
    - - {{'common.name'|translate}} - - - - -
    -
    - - {{'common.description'|translate}} - - - - -
    -
    - - {{'common.snippet' | translate}} - - - - - -
    -
    - - -
    - - -
    -
    -
    + + + diff --git a/src/renderer/app/pages/query/snippet/snippet.component.ts b/src/renderer/app/pages/query/snippet/snippet.component.ts index 7d8b6222..73aa910b 100644 --- a/src/renderer/app/pages/query/snippet/snippet.component.ts +++ b/src/renderer/app/pages/query/snippet/snippet.component.ts @@ -1,6 +1,5 @@ import { Component } from '@angular/core'; import { BaseComponent } from '@renderer/app/base.component'; -import { QueryHistoryService } from '@renderer/services/query/query.history.service'; import { NzModalService } from 'ng-zorro-antd/modal'; import { NzMessageService } from 'ng-zorro-antd/message'; import { TranslateService } from '@ngx-translate/core'; @@ -9,7 +8,7 @@ import { ActionEnum } from '@renderer/enum/action.enum'; import { SnippetModel } from '@renderer/model/snippet.model'; import { SystemEditorModel } from '@renderer/model/system.model'; import { EditorService } from '@renderer/services/editor/editor.service'; -import { FormBuilder, FormGroup, Validators } from '@angular/forms'; +import { FormBuilder } from '@angular/forms'; import { SnippetService } from '@renderer/services/snippet/snippet.service'; @Component({ @@ -20,10 +19,9 @@ export class SnippetComponent extends BaseComponent { configuration: Config; columns: any[] = new Array(); headers: Columns[] = new Array(); - action = ActionEnum; - snippet: SnippetModel; + action: ActionEnum; + actionComponent = ActionEnum; editorConfig: any; - validateForm!: FormGroup; selectRow: SnippetModel; constructor(private editorService: EditorService, @@ -51,7 +49,6 @@ export class SnippetComponent extends BaseComponent { this.configuration.paginationRangeEnabled = false; const cache = this.editorService.get() === null ? new SystemEditorModel() : this.editorService.get(); this.editorConfig = Object.assign(this.editorService.getDefault(), cache); - this.handlerRestValidator(); this.initialize(); } @@ -68,48 +65,15 @@ export class SnippetComponent extends BaseComponent { ; } - handlerRestValidator(): void { - this.validateForm = this.formBuilder.group({ - name: [null, [Validators.required]], - description: [null, [Validators.required]], - code: [null, [Validators.required]] - }); - } - - handlerShowDrawer(type: ActionEnum): void { + handlerShowCreateSnippet(type: ActionEnum): void { this.dialog.create = true; - this.handlerRestValidator(); - switch (type) { - case ActionEnum.create: - this.snippet = new SnippetModel(); - break; - } + this.action = type; } - handlerCloseDrawer(): void { + handlerCloseCreateSnippet(close?: boolean): void { this.dialog.create = false; - this.snippet = null; - this.validateForm = null; - } - - handlerSave(): void { - if (this.validateForm.valid) { - this.snippetService.save(this.snippet) - .then(() => { - this.messageService.success(this.translateService.instant('common.success')); - this.handlerCloseDrawer(); - this.initialize(); - }) - .catch(() => { - this.messageService.error(this.translateService.instant('common.error')); - }); - } else { - Object.values(this.validateForm.controls).forEach(control => { - if (control.invalid) { - control.markAsDirty(); - control.updateValueAndValidity({onlySelf: true}); - } - }); + if (close) { + this.initialize(); } } diff --git a/src/renderer/app/pages/query/snippet/snippet.module.ts b/src/renderer/app/pages/query/snippet/snippet.module.ts index c9875cfe..c7d45d21 100644 --- a/src/renderer/app/pages/query/snippet/snippet.module.ts +++ b/src/renderer/app/pages/query/snippet/snippet.module.ts @@ -13,6 +13,7 @@ import { TableModule } from 'ngx-easy-table'; import { CodemirrorModule } from '@ctrl/ngx-codemirror'; import { SnippetService } from '@renderer/services/snippet/snippet.service'; import { MomentModule } from 'ngx-moment'; +import { CreateSnippetComponent } from '@renderer/components/snippet/create/create.snippet.component'; const QUERY_ROUTES: Routes = [ {path: '', component: SnippetComponent} @@ -33,7 +34,8 @@ const QUERY_ROUTES: Routes = [ ], exports: [], declarations: [ - SnippetComponent + SnippetComponent, + CreateSnippetComponent ], providers: [ TranslateService, diff --git a/src/renderer/components/snippet/create/create.snippet.component.html b/src/renderer/components/snippet/create/create.snippet.component.html new file mode 100644 index 00000000..2260c70a --- /dev/null +++ b/src/renderer/components/snippet/create/create.snippet.component.html @@ -0,0 +1,45 @@ + +
    +
    +
    + + {{'common.name'|translate}} + + + + +
    +
    + + {{'common.description'|translate}} + + + + +
    +
    + + {{'common.snippet' | translate}} + + + + + +
    +
    +
    + +
    + + +
    +
    +
    diff --git a/src/renderer/components/snippet/create/create.snippet.component.ts b/src/renderer/components/snippet/create/create.snippet.component.ts new file mode 100644 index 00000000..9ed5efd6 --- /dev/null +++ b/src/renderer/components/snippet/create/create.snippet.component.ts @@ -0,0 +1,95 @@ +import { AfterViewInit, Component, EventEmitter, Input, Output } from '@angular/core'; +import { BaseComponent } from '@renderer/app/base.component'; +import { NzModalService } from 'ng-zorro-antd/modal'; +import { NzMessageService } from 'ng-zorro-antd/message'; +import { TranslateService } from '@ngx-translate/core'; +import { ActionEnum } from '@renderer/enum/action.enum'; +import { SnippetModel } from '@renderer/model/snippet.model'; +import { SystemEditorModel } from '@renderer/model/system.model'; +import { EditorService } from '@renderer/services/editor/editor.service'; +import { FormBuilder, FormGroup, Validators } from '@angular/forms'; +import { SnippetService } from '@renderer/services/snippet/snippet.service'; +import { StringUtils } from '@renderer/utils/string.utils'; + +@Component({ + selector: 'app-component-create-snippet', + templateUrl: 'create.snippet.component.html' +}) +export class CreateSnippetComponent extends BaseComponent implements AfterViewInit { + @Input() + visible: boolean; + @Input() + action: ActionEnum; + @Output() + emitter = new EventEmitter(); + snippet: SnippetModel; + editorConfig: any; + validateForm!: FormGroup; + + constructor(private editorService: EditorService, + private modal: NzModalService, + private formBuilder: FormBuilder, + private snippetService: SnippetService, + private messageService: NzMessageService, + private translateService: TranslateService) { + super(); + } + + ngAfterViewInit(): void { + setTimeout(() => { + this.initialize(); + }, 0); + } + + initialize() { + const cache = this.editorService.get() === null ? new SystemEditorModel() : this.editorService.get(); + this.editorConfig = Object.assign(this.editorService.getDefault(), cache); + this.handlerShowDrawer(this.action); + } + + handlerRestValidator(): void { + this.validateForm = this.formBuilder.group({ + name: [null, [Validators.required]], + description: [null, [Validators.required]], + code: [null, [Validators.required]] + }); + } + + handlerShowDrawer(type: ActionEnum): void { + this.handlerRestValidator(); + switch (type) { + case ActionEnum.create: + this.snippet = new SnippetModel(); + break; + } + } + + handlerCloseDrawer(close?: boolean): void { + this.snippet = null; + this.validateForm = null; + if (StringUtils.isEmpty(close)) { + this.emitter.emit(false); + } + this.emitter.emit(close); + } + + handlerSave(): void { + if (this.validateForm.valid) { + this.snippetService.save(this.snippet) + .then(() => { + this.messageService.success(this.translateService.instant('common.success')); + this.handlerCloseDrawer(true); + }) + .catch(() => { + this.messageService.error(this.translateService.instant('common.error')); + }); + } else { + Object.values(this.validateForm.controls).forEach(control => { + if (control.invalid) { + control.markAsDirty(); + control.updateValueAndValidity({onlySelf: true}); + } + }); + } + } +} From 600e58801a670d0733bc9c5be8d785c0ebe05ade Mon Sep 17 00:00:00 2001 From: qianmoQ Date: Thu, 14 Apr 2022 21:17:44 +0800 Subject: [PATCH 11/22] [Enhancement] Support to quickly add code snippets after successful query --- .../assets/images/versions/1.15.0/img_8.png | Bin 0 -> 41828 bytes .../development/version/1.15.0-development.md | 6 ++++-- electron-builder.yml | 1 + src/renderer/app/common-share.module.ts | 12 ++++++++---- .../app/pages/query/query/query.component.html | 11 +++++++++++ .../app/pages/query/query/query.component.ts | 15 ++++++++++++++- .../app/pages/query/snippet/snippet.module.ts | 4 +--- .../snippet/create/create.snippet.component.ts | 5 +++++ 8 files changed, 44 insertions(+), 10 deletions(-) create mode 100644 docs/docs/assets/images/versions/1.15.0/img_8.png diff --git a/docs/docs/assets/images/versions/1.15.0/img_8.png b/docs/docs/assets/images/versions/1.15.0/img_8.png new file mode 100644 index 0000000000000000000000000000000000000000..41e9e08647703171ab447fb93e681cf26de29117 GIT binary patch literal 41828 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 literal 0 HcmV?d00001 diff --git a/docs/docs/development/version/1.15.0-development.md b/docs/docs/development/version/1.15.0-development.md index 9c3f0042..1bdc91b3 100644 --- a/docs/docs/development/version/1.15.0-development.md +++ b/docs/docs/development/version/1.15.0-development.md @@ -21,8 +21,10 @@ DBM Version for `1.15.0` is development! ![img_1.png](../../assets/images/versions/1.15.0/img_3.png)
    ![img_1.png](../../assets/images/versions/1.15.0/img_4.png)
    - Support query reference code snippet
    -![img.png](../../assets/images/versions/1.15.0/img_6.png) -![img_1.png](../../assets/images/versions/1.15.0/img_7.png) +![img.png](../../assets/images/versions/1.15.0/img_6.png)
    +![img_1.png](../../assets/images/versions/1.15.0/img_7.png)
    +- Support to quickly add code snippets after successful query
    +![img.png](../../assets/images/versions/1.15.0/img_8.png)
    #### UI diff --git a/electron-builder.yml b/electron-builder.yml index 21ecf256..afa3cdc7 100644 --- a/electron-builder.yml +++ b/electron-builder.yml @@ -13,6 +13,7 @@ releaseInfo: - Support metadata management, add column description information - Support code snippet management - Support query reference code snippet + - Support to quickly add code snippets after successful query #### Docs diff --git a/src/renderer/app/common-share.module.ts b/src/renderer/app/common-share.module.ts index 57f7e9cb..19e0b6f8 100644 --- a/src/renderer/app/common-share.module.ts +++ b/src/renderer/app/common-share.module.ts @@ -3,7 +3,7 @@ import { DdlQueryComponent } from '@renderer/components/query/ddl/ddl.query.comp import { NgZorroAntdModule } from '@renderer/app/ng-zorro-antd.module'; import { TranslateModule } from '@ngx-translate/core'; import { CodemirrorModule } from '@ctrl/ngx-codemirror'; -import { FormsModule } from '@angular/forms'; +import { FormsModule, ReactiveFormsModule } from '@angular/forms'; import { ClipboardComService } from '@renderer/services/other/clipboard.service'; import { BasicTableComponent } from '@renderer/components/table/basic/basic.table.component'; import { CommonModule } from '@angular/common'; @@ -14,6 +14,7 @@ import { EmptyAntdComponent } from '@renderer/components/antd/empty/empty.antd.c import { DrividerAntdComponent } from '@renderer/components/antd/drivider/drivider.antd.component'; import { TableModule } from 'ngx-easy-table'; import { MomentModule } from 'ngx-moment'; +import { CreateSnippetComponent } from '@renderer/components/snippet/create/create.snippet.component'; @NgModule({ imports: [ @@ -25,14 +26,16 @@ import { MomentModule } from 'ngx-moment'; ServiceModule, ChartModule, TableModule, - MomentModule + MomentModule, + ReactiveFormsModule ], declarations: [ DdlQueryComponent, BasicTableComponent, LineChartsComponent, EmptyAntdComponent, - DrividerAntdComponent + DrividerAntdComponent, + CreateSnippetComponent ], providers: [ ClipboardComService @@ -42,7 +45,8 @@ import { MomentModule } from 'ngx-moment'; BasicTableComponent, LineChartsComponent, EmptyAntdComponent, - DrividerAntdComponent + DrividerAntdComponent, + CreateSnippetComponent ] }) export class CommonShareModule { diff --git a/src/renderer/app/pages/query/query/query.component.html b/src/renderer/app/pages/query/query/query.component.html index 4592ad69..c6078ba0 100644 --- a/src/renderer/app/pages/query/query/query.component.html +++ b/src/renderer/app/pages/query/query/query.component.html @@ -60,6 +60,13 @@ + - + diff --git a/src/renderer/components/table/delete/table.delete.component.ts b/src/renderer/components/table/delete/table.delete.component.ts index bd7c06c1..7dc69e75 100644 --- a/src/renderer/components/table/delete/table.delete.component.ts +++ b/src/renderer/components/table/delete/table.delete.component.ts @@ -1,4 +1,4 @@ -import { Component, EventEmitter, Input, Output } from '@angular/core'; +import { AfterViewInit, Component, EventEmitter, Input, Output } from '@angular/core'; import { BaseComponent } from '@renderer/app/base.component'; import { ConfigModel } from '@renderer/model/config.model'; import { DatabaseModel } from '@renderer/model/database.model'; @@ -11,7 +11,7 @@ import { NzMessageService } from 'ng-zorro-antd/message'; selector: 'app-component-delete-table', templateUrl: './table.delete.component.html' }) -export class DeleteTableComponent extends BaseComponent { +export class DeleteTableComponent extends BaseComponent implements AfterViewInit { @Input() config: ConfigModel; @Input() @@ -21,13 +21,30 @@ export class DeleteTableComponent extends BaseComponent { @Output() emitter = new EventEmitter(); inputValue: string; + tableInfo: any; constructor(private dataSourceService: DatasourceService, private tableService: TableService, + private datasourceService: DatasourceService, private messageService: NzMessageService) { super(); } + ngAfterViewInit(): void { + setTimeout(() => { + const request = new RequestModel(); + request.config = this.dataSourceService.getAll(this.config.value)?.data?.columns[0]; + this.tableService.getSize(request, this.database, this.value) + .then(response => { + if (response.status) { + this.tableInfo = response.data?.columns[0]; + } else { + this.messageService.error(response.message); + } + }); + }, 0); + } + handlerValidate() { if (this.inputValue === this.value) { this.disabled.button = false; From eafcb892ebf5f69d008ffb6222b80bf3ca885d7f Mon Sep 17 00:00:00 2001 From: qianmoQ Date: Sun, 17 Apr 2022 10:46:54 +0800 Subject: [PATCH 13/22] [Enhancement] Support code snippet update --- .../development/version/1.15.0-development.md | 2 +- .../query/snippet/snippet.component.html | 65 ++++++++++++------- .../pages/query/snippet/snippet.component.ts | 19 ++---- .../create/create.snippet.component.ts | 31 ++++++--- .../table/delete/table.delete.component.html | 4 +- .../table/delete/table.delete.component.ts | 18 ++--- src/renderer/db/dexiedb.ts | 2 +- src/renderer/model/snippet.model.ts | 2 +- .../services/snippet/snippet.service.ts | 5 ++ 9 files changed, 88 insertions(+), 60 deletions(-) diff --git a/docs/docs/development/version/1.15.0-development.md b/docs/docs/development/version/1.15.0-development.md index 34c3ac04..0c0c2608 100644 --- a/docs/docs/development/version/1.15.0-development.md +++ b/docs/docs/development/version/1.15.0-development.md @@ -40,7 +40,7 @@ DBM Version for `1.15.0` is development! ---- - Add data sheet deletion prompt greater than 50GB
    - ![img.png](../../assets/images/versions/1.15.0/img_9.png) +![img.png](../../assets/images/versions/1.15.0/img_9.png) #### Docs diff --git a/src/renderer/app/pages/query/snippet/snippet.component.html b/src/renderer/app/pages/query/snippet/snippet.component.html index 4f6606da..95a3475e 100644 --- a/src/renderer/app/pages/query/snippet/snippet.component.html +++ b/src/renderer/app/pages/query/snippet/snippet.component.html @@ -11,29 +11,47 @@ - - - {{row.id}} - - {{row.name}} - - - {{row.description}} - - - - - -

    {{row.created|amDateFormat:'YYYY-MM-DD HH:mm:ss'}}

    - - -

    {{row.updated|amDateFormat:'YYYY-MM-DD HH:mm:ss'}}

    - -
    - + + + + {{'common.id'|translate}} + {{'common.name'|translate}} + {{'common.description'|translate}} + {{'common.code'|translate}} + {{'common.created'|translate}} + {{'common.updated'|translate}} + {{'common.action'|translate}} + + + + + + {{data.id}} + + {{data.name}} + + + {{data.description}} + + + + + {{data.created|amDateFormat:'YYYY-MM-DD HH:mm:ss'}} + {{data.updated|amDateFormat:'YYYY-MM-DD HH:mm:ss'}} + + + + + + + @@ -42,6 +60,7 @@ (); snippet: SnippetModel; @@ -66,6 +68,8 @@ export class CreateSnippetComponent extends BaseComponent implements AfterViewIn this.snippet.code = this.snippetValue; } break; + case ActionEnum.update: + this.snippet = this.snippetComponent; } } @@ -80,14 +84,25 @@ export class CreateSnippetComponent extends BaseComponent implements AfterViewIn handlerSave(): void { if (this.validateForm.valid) { - this.snippetService.save(this.snippet) - .then(() => { - this.messageService.success(this.translateService.instant('common.success')); - this.handlerCloseDrawer(true); - }) - .catch(() => { - this.messageService.error(this.translateService.instant('common.error')); - }); + if (this.action === ActionEnum.create) { + this.snippetService.save(this.snippet) + .then(() => { + this.messageService.success(this.translateService.instant('common.success')); + this.handlerCloseDrawer(true); + }) + .catch(() => { + this.messageService.error(this.translateService.instant('common.error')); + }); + } else { + this.snippetService.update(this.snippet) + .then(() => { + this.messageService.success(this.translateService.instant('common.success')); + this.handlerCloseDrawer(true); + }) + .catch(error => { + this.messageService.error(error); + }); + } } else { Object.values(this.validateForm.controls).forEach(control => { if (control.invalid) { diff --git a/src/renderer/components/table/delete/table.delete.component.html b/src/renderer/components/table/delete/table.delete.component.html index b048139a..1059fd67 100644 --- a/src/renderer/components/table/delete/table.delete.component.html +++ b/src/renderer/components/table/delete/table.delete.component.html @@ -32,14 +32,14 @@ - - diff --git a/src/renderer/components/table/delete/table.delete.component.ts b/src/renderer/components/table/delete/table.delete.component.ts index 7dc69e75..d7b95861 100644 --- a/src/renderer/components/table/delete/table.delete.component.ts +++ b/src/renderer/components/table/delete/table.delete.component.ts @@ -21,7 +21,7 @@ export class DeleteTableComponent extends BaseComponent implements AfterViewInit @Output() emitter = new EventEmitter(); inputValue: string; - tableInfo: any; + tableInfo = {flag: 1}; constructor(private dataSourceService: DatasourceService, private tableService: TableService, @@ -35,15 +35,15 @@ export class DeleteTableComponent extends BaseComponent implements AfterViewInit const request = new RequestModel(); request.config = this.dataSourceService.getAll(this.config.value)?.data?.columns[0]; this.tableService.getSize(request, this.database, this.value) - .then(response => { - if (response.status) { - this.tableInfo = response.data?.columns[0]; - } else { - this.messageService.error(response.message); - } - }); + .then(response => { + if (response.status) { + this.tableInfo = response.data?.columns[0]; + } else { + this.messageService.error(response.message); + } + }); }, 0); - } + } handlerValidate() { if (this.inputValue === this.value) { diff --git a/src/renderer/db/dexiedb.ts b/src/renderer/db/dexiedb.ts index 076a5b59..1aa6bba3 100644 --- a/src/renderer/db/dexiedb.ts +++ b/src/renderer/db/dexiedb.ts @@ -8,7 +8,7 @@ export class DexieDb extends Dexie { constructor() { super('dbm_db'); - this.version(2).stores({ + this.version(3).stores({ QueryHistoryTable: '++id,createdTime,startTime,endTime', SnippetTable: '++id,name,created,updated' }); diff --git a/src/renderer/model/snippet.model.ts b/src/renderer/model/snippet.model.ts index 5bd90d09..89d9bad0 100644 --- a/src/renderer/model/snippet.model.ts +++ b/src/renderer/model/snippet.model.ts @@ -1,5 +1,5 @@ export class SnippetModel { - id: string; + id: number; name: string; description: string; code: string; diff --git a/src/renderer/services/snippet/snippet.service.ts b/src/renderer/services/snippet/snippet.service.ts index 6b193b21..36f04f29 100644 --- a/src/renderer/services/snippet/snippet.service.ts +++ b/src/renderer/services/snippet/snippet.service.ts @@ -6,6 +6,7 @@ import { DexieDb } from '@renderer/db/dexiedb'; import { SnippetModel } from '@renderer/model/snippet.model'; import { PromiseExtended } from 'dexie'; import { Injectable } from '@angular/core'; +import { toNumber } from 'ng-zorro-antd/core/util'; @Injectable() export class SnippetService extends PersistenceService implements BaseService { @@ -26,6 +27,10 @@ export class SnippetService extends PersistenceService implements BaseService { return this.db.SnippetTable.add(model); } + update(model: SnippetModel): PromiseExtended { + return this.db.SnippetTable.update(model.id, model); + } + getAll(): PromiseExtended { return this.db.SnippetTable .orderBy('id') From a7071a5ef1ce7fe45214c876e2464502a42a9cb2 Mon Sep 17 00:00:00 2001 From: qianmoQ Date: Sun, 17 Apr 2022 11:04:18 +0800 Subject: [PATCH 14/22] [Enhancement] Support code snippet delete --- .../pages/query/snippet/snippet.component.html | 8 ++++++++ .../app/pages/query/snippet/snippet.component.ts | 16 ++++++++++++---- src/renderer/services/snippet/snippet.service.ts | 6 +++++- 3 files changed, 25 insertions(+), 5 deletions(-) diff --git a/src/renderer/app/pages/query/snippet/snippet.component.html b/src/renderer/app/pages/query/snippet/snippet.component.html index 95a3475e..dc430929 100644 --- a/src/renderer/app/pages/query/snippet/snippet.component.html +++ b/src/renderer/app/pages/query/snippet/snippet.component.html @@ -47,6 +47,14 @@ nz-tooltip nzTooltipTitle="{{'common.edit'|translate}}"> + diff --git a/src/renderer/app/pages/query/snippet/snippet.component.ts b/src/renderer/app/pages/query/snippet/snippet.component.ts index 144e7627..1787d910 100644 --- a/src/renderer/app/pages/query/snippet/snippet.component.ts +++ b/src/renderer/app/pages/query/snippet/snippet.component.ts @@ -43,14 +43,11 @@ export class SnippetComponent extends BaseComponent { initialize() { this.snippetService.getAll() .then(response => { - if (response.length > 0) { - this.columns = response; - } + this.columns = response; }) .catch(() => { this.messageService.error(this.translateService.instant('common.error')); }); - ; } handlerShowCreateSnippet(type: ActionEnum, data?: SnippetModel): void { @@ -74,4 +71,15 @@ export class SnippetComponent extends BaseComponent { handlerCloseModal(): void { this.dialog.select = false; } + + handlerDelete(id: number) { + this.snippetService.delete(id) + .then(() => { + this.messageService.success(this.translateService.instant('common.success')); + this.initialize(); + }) + .catch(() => { + this.messageService.error(this.translateService.instant('common.error')); + }); + } } diff --git a/src/renderer/services/snippet/snippet.service.ts b/src/renderer/services/snippet/snippet.service.ts index 36f04f29..ae7c3734 100644 --- a/src/renderer/services/snippet/snippet.service.ts +++ b/src/renderer/services/snippet/snippet.service.ts @@ -42,7 +42,11 @@ export class SnippetService extends PersistenceService implements BaseService { return false; } + delete(id: number): PromiseExtended { + return this.db.SnippetTable.delete(id); + } + deleteById(id: number): boolean { - return false; + return false; } } From b5db50516b7e6e15383975f7c46fca92569052f2 Mon Sep 17 00:00:00 2001 From: qianmoQ Date: Sun, 17 Apr 2022 23:11:18 +0800 Subject: [PATCH 15/22] [Docs] Add snippet docs --- docs/docs/assets/images/query/img.png | Bin 0 -> 27991 bytes docs/docs/assets/images/query/snippet/img.png | Bin 0 -> 58854 bytes .../assets/images/query/snippet/img_1.png | Bin 0 -> 43698 bytes .../assets/images/query/snippet/img_2.png | Bin 0 -> 72840 bytes .../assets/images/query/snippet/img_3.png | Bin 0 -> 74661 bytes .../assets/images/query/snippet/img_4.png | Bin 0 -> 30790 bytes .../development/version/1.15.0-development.md | 2 + docs/docs/reference/query/query_history.md | 22 +++-- docs/docs/reference/query/snippet/snippet.md | 77 ++++++++++++++++++ docs/mkdocs.yml | 2 + electron-builder.yml | 2 +- 11 files changed, 98 insertions(+), 7 deletions(-) create mode 100644 docs/docs/assets/images/query/img.png create mode 100644 docs/docs/assets/images/query/snippet/img.png create mode 100644 docs/docs/assets/images/query/snippet/img_1.png create mode 100644 docs/docs/assets/images/query/snippet/img_2.png create mode 100644 docs/docs/assets/images/query/snippet/img_3.png create mode 100644 docs/docs/assets/images/query/snippet/img_4.png create mode 100644 docs/docs/reference/query/snippet/snippet.md diff --git a/docs/docs/assets/images/query/img.png b/docs/docs/assets/images/query/img.png new file mode 100644 index 0000000000000000000000000000000000000000..07bc9fad5cab667d89ee9061dafad172b64517e6 GIT binary patch literal 27991 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�m|Aa{RIwRyxzD*E@Or_{^AGQw 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 literal 0 HcmV?d00001 diff --git a/docs/docs/assets/images/query/snippet/img.png b/docs/docs/assets/images/query/snippet/img.png new file mode 100644 index 0000000000000000000000000000000000000000..3043b11b3fbc0e0c5fe770b6d56a5dc1b3a8ece6 GIT binary patch literal 58854 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 MKUkU;9YtUJ7n_f4>Hq)$ literal 0 HcmV?d00001 diff --git a/docs/docs/assets/images/query/snippet/img_1.png b/docs/docs/assets/images/query/snippet/img_1.png new file mode 100644 index 0000000000000000000000000000000000000000..521305863a463f39056544526f9481c3c3ff6520 GIT binary patch literal 43698 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 literal 0 HcmV?d00001 diff --git a/docs/docs/assets/images/query/snippet/img_2.png b/docs/docs/assets/images/query/snippet/img_2.png new file mode 100644 index 0000000000000000000000000000000000000000..acc660f4f56a61ba1d39a30d98789911a5b7a756 GIT binary patch literal 72840 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 literal 0 HcmV?d00001 diff --git a/docs/docs/assets/images/query/snippet/img_3.png b/docs/docs/assets/images/query/snippet/img_3.png new file mode 100644 index 0000000000000000000000000000000000000000..253585ff6fb6fecb38b930d03ec5090367dc67b7 GIT binary patch literal 74661 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 z%0D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 I36pRC1A~K200000 literal 0 HcmV?d00001 diff --git a/docs/docs/development/version/1.15.0-development.md b/docs/docs/development/version/1.15.0-development.md index 0c0c2608..ecd0b5e9 100644 --- a/docs/docs/development/version/1.15.0-development.md +++ b/docs/docs/development/version/1.15.0-development.md @@ -46,6 +46,8 @@ DBM Version for `1.15.0` is development! --- +- Add snippet docs + #### Bug --- diff --git a/docs/docs/reference/query/query_history.md b/docs/docs/reference/query/query_history.md index 1c207a58..8002da2a 100644 --- a/docs/docs/reference/query/query_history.md +++ b/docs/docs/reference/query/query_history.md @@ -4,10 +4,6 @@ template: overrides/main.html The query history function is mainly used to mark some of our query records for each data source. -!!! warning - - Currently supports up to `100` query history, we will expand this function to support more data storage in the future! - Move the mouse to the top menu `Query` and wait for the drop-down options to appear, click `History` to enter the query history interface, which is similar to the following page ![Query History](/assets/images/query/query_history.png) @@ -31,10 +27,24 @@ On the top right side of the page we can see the - - - {{row.id}} - - {{row.name}} - - - {{row.description}} - - - - - - - - - - -
    - -
    -
    + + + + {{'common.id'|translate}} + {{'common.name'|translate}} + {{'common.description'|translate}} + {{'common.code'|translate}} + {{'common.action'|translate}} + + + + + + {{data.id}} + + {{data.name}} + + + {{data.description}} + + + + + + + + + +
    + +
    + +
    + +
    diff --git a/src/renderer/components/snippet/quote/quote.snippet.component.ts b/src/renderer/components/snippet/quote/quote.snippet.component.ts index 494a5b1e..31cd099a 100644 --- a/src/renderer/components/snippet/quote/quote.snippet.component.ts +++ b/src/renderer/components/snippet/quote/quote.snippet.component.ts @@ -1,10 +1,9 @@ import { BaseComponent } from '@renderer/app/base.component'; -import { Component, EventEmitter, Input, Output, ViewChild } from '@angular/core'; +import { Component, EventEmitter, Input, Output } from '@angular/core'; import { NzMessageService } from 'ng-zorro-antd/message'; import { SnippetService } from '@renderer/services/snippet/snippet.service'; import { SnippetModel } from '@renderer/model/snippet.model'; import { TranslateService } from '@ngx-translate/core'; -import { API, APIDefinition, Columns, Config, DefaultConfig } from 'ngx-easy-table'; import { SystemEditorModel } from '@renderer/model/system.model'; import { EditorService } from '@renderer/services/editor/editor.service'; @@ -13,17 +12,13 @@ import { EditorService } from '@renderer/services/editor/editor.service'; templateUrl: './quote.snippet.component.html' }) export class QuoteSnippetComponent extends BaseComponent { - @ViewChild('table') - table: APIDefinition; @Input() visible: boolean; @Output() emitter = new EventEmitter(); @Output() emitterValue = new EventEmitter(); - configuration: Config; columns: SnippetModel[] = new Array(); - headers: Columns[] = new Array(); toggledRows = new Set(); tableWidth = '100%'; editorConfig: any; @@ -33,21 +28,6 @@ export class QuoteSnippetComponent extends BaseComponent { private editorService: EditorService, private translateService: TranslateService) { super(); - const id = this.translateService.instant('common.id'); - this.headers.push({key: id, title: id}); - const name = this.translateService.instant('common.name'); - this.headers.push({key: name, title: name}); - const description = this.translateService.instant('common.description'); - this.headers.push({key: description, title: description}); - const code = this.translateService.instant('common.code'); - this.headers.push({key: code, title: code}); - const action = this.translateService.instant('common.action'); - this.headers.push({key: action, title: action}); - this.configuration = {...DefaultConfig}; - this.configuration.horizontalScroll = true; - this.configuration.orderEnabled = false; - this.configuration.paginationRangeEnabled = false; - this.configuration.detailsTemplate = true; const cache = this.editorService.get() === null ? new SystemEditorModel() : this.editorService.get(); this.editorConfig = Object.assign(this.editorService.getDefault(), cache); this.editorConfig.readOnly = true; @@ -70,11 +50,6 @@ export class QuoteSnippetComponent extends BaseComponent { } handlerRowToggled($event: MouseEvent, index: number): void { - $event.preventDefault(); - this.table.apiEvent({ - type: API.toggleRowIndex, - value: index - }); if (this.toggledRows.has(index)) { this.toggledRows.delete(index); } else { From b18d74dfdc5833d5e6378d4a324c1a79408f21b8 Mon Sep 17 00:00:00 2001 From: qianmoQ Date: Thu, 21 Apr 2022 10:15:09 +0800 Subject: [PATCH 17/22] [UI] It is forbidden to use functions such as quick query if the data source is not selected --- docs/docs/development/version/1.15.0-development.md | 1 + electron-builder.yml | 1 + .../app/pages/query/query/query.component.html | 2 +- .../snippet/quote/quote.snippet.component.html | 10 ++++++---- 4 files changed, 9 insertions(+), 5 deletions(-) diff --git a/docs/docs/development/version/1.15.0-development.md b/docs/docs/development/version/1.15.0-development.md index ecd0b5e9..ded6f3c3 100644 --- a/docs/docs/development/version/1.15.0-development.md +++ b/docs/docs/development/version/1.15.0-development.md @@ -34,6 +34,7 @@ DBM Version for `1.15.0` is development! ![multiple editor themes](../../assets/images/versions/1.15.0/themes.png)
    - Quick query unavailable nodes prohibit operations
    ![img.png](../../assets/images/versions/1.15.0/img_5.png)
    +- It is forbidden to use functions such as quick query if the data source is not selected #### Optimize diff --git a/electron-builder.yml b/electron-builder.yml index d0e7ac38..43116478 100644 --- a/electron-builder.yml +++ b/electron-builder.yml @@ -39,6 +39,7 @@ releaseInfo: - Add multiple editor themes - Quick query unavailable nodes prohibit operations + - It is forbidden to use functions such as quick query if the data source is not selected directories: output: ./release diff --git a/src/renderer/app/pages/query/query/query.component.html b/src/renderer/app/pages/query/query/query.component.html index c6078ba0..83179d44 100644 --- a/src/renderer/app/pages/query/query/query.component.html +++ b/src/renderer/app/pages/query/query/query.component.html @@ -68,7 +68,7 @@  {{'common.snippet'|translate}} diff --git a/src/renderer/components/snippet/quote/quote.snippet.component.html b/src/renderer/components/snippet/quote/quote.snippet.component.html index 0f222223..9730ef07 100644 --- a/src/renderer/components/snippet/quote/quote.snippet.component.html +++ b/src/renderer/components/snippet/quote/quote.snippet.component.html @@ -25,10 +25,12 @@ nzTooltipTitle="{{data.description}}">{{data.description}} - + +
    + +
    - + Design ©2021 Implement By EdurtIO + + + +
    +

    {{migrateConfirmMessage}}

    +
    +
    + +
    +
    + diff --git a/src/renderer/app/layout/layout.component.ts b/src/renderer/app/layout/layout.component.ts index 42b3b01c..2cc68545 100644 --- a/src/renderer/app/layout/layout.component.ts +++ b/src/renderer/app/layout/layout.component.ts @@ -3,6 +3,11 @@ import { TranslateService } from '@ngx-translate/core'; import { BasicService } from '@renderer/services/system/basic.service'; import { SystemBasicModel } from '@renderer/model/system.model'; import { TranslateUtils } from '@renderer/utils/translate.utils'; +import { StringUtils } from '@renderer/utils/string.utils'; +import { DatasourceService } from '@renderer/services/management/datasource.service'; +import { RequestUtils } from '@renderer/utils/request.utils'; +import { DatasourceModel } from '@renderer/model/datasource.model'; +import { NzMessageService } from 'ng-zorro-antd/message'; @Component({ selector: 'app-layout', @@ -37,13 +42,48 @@ import { TranslateUtils } from '@renderer/utils/translate.utils'; ] }) export class LayoutComponent implements OnInit { + visible: boolean = false; + migrateConfirmMessage: string; + migrateLoading: boolean = false; + dataSources: DatasourceModel[] = new Array(); + constructor(private translate: TranslateService, - private basicService: BasicService) { + private basicService: BasicService, + private messageService: NzMessageService, + private dataSourceService: DatasourceService) { const basicConfig = this.basicService.get() === null ? new SystemBasicModel() : this.basicService.get(); this.translate.setDefaultLang(basicConfig.language); TranslateUtils.init(translate); + this.initDataSources(); } ngOnInit() { } + + initDataSources() { + this.dataSources = JSON.parse(localStorage.getItem(RequestUtils.KEY_DATASOURCE)); + } + + handlerMigrateShow(value: boolean) { + this.visible = value; + if (value) { + this.migrateConfirmMessage = StringUtils.format(this.translate.instant('formatter.migrate_data'), + [this.dataSources.length]); + } + } + + handlerMigrate() { + this.migrateLoading = true; + this.dataSources.forEach(dataSource => { + this.dataSourceService.save(dataSource).then(() => { + }).catch(error => { + this.messageService.error(error); + }); + }); + this.migrateLoading = false; + this.visible = false; + localStorage.removeItem(RequestUtils.KEY_DATASOURCE); + this.initDataSources(); + this.messageService.success(this.translate.instant('common.success')); + } } diff --git a/src/renderer/app/layout/layout.module.ts b/src/renderer/app/layout/layout.module.ts index 1b81543a..993d4f44 100644 --- a/src/renderer/app/layout/layout.module.ts +++ b/src/renderer/app/layout/layout.module.ts @@ -10,6 +10,8 @@ import { TranslateHttpLoader } from '@ngx-translate/http-loader'; import { NgZorroAntdModule } from '@renderer/app/ng-zorro-antd.module'; import { BasicService } from '@renderer/services/system/basic.service'; import { MarkdownModule } from 'ngx-markdown'; +import { DatasourceService } from '@renderer/services/management/datasource.service'; +import { HttpService } from '@renderer/services/http.service'; const httpLoaderFactory = (http: HttpClient): TranslateHttpLoader => new TranslateHttpLoader(http, './renderer/assets/i18n/', '.json'); @@ -34,7 +36,9 @@ const httpLoaderFactory = (http: HttpClient): TranslateHttpLoader => }) ], providers: [ - BasicService + BasicService, + DatasourceService, + HttpService ] }) export class LayoutModule { diff --git a/src/renderer/app/pages/home/home.component.ts b/src/renderer/app/pages/home/home.component.ts index 83647aee..9dd11624 100644 --- a/src/renderer/app/pages/home/home.component.ts +++ b/src/renderer/app/pages/home/home.component.ts @@ -5,6 +5,7 @@ import { DatasourceService } from '@renderer/services/management/datasource.serv import { QueryService } from '@renderer/services/query/query.service'; import { RequestModel } from '@renderer/model/request.model'; import { ClickhousePluginService } from '@renderer/services/plugin/clickhouse.plugin.service'; +import { DatasourceModel } from '@renderer/model/datasource.model'; @Component({ selector: 'app-home', @@ -12,21 +13,23 @@ import { ClickhousePluginService } from '@renderer/services/plugin/clickhouse.pl }) export class HomeComponent implements OnInit { version: string = PackageUtils.get('version'); - dataSources: any[]; + dataSources: DatasourceModel[] = new Array(); chartsConfig: ChartsModel[] = new Array(); chartsSkeleton: boolean[] = new Array(); constructor(private datasourceService: DatasourceService, private queryService: QueryService, private clickhousePluginService: ClickhousePluginService) { - this.dataSources = this.datasourceService.getAll()?.data?.columns; for (let i = 0; i < this.chartsConfig.length; i++) { this.chartsSkeleton[i] = true; } } ngOnInit() { - this.handlerInitChart(); + this.datasourceService.getAll().then(response => { + this.dataSources = response; + this.handlerInitChart(); + }); } handlerInitChart() { diff --git a/src/renderer/app/pages/management/datasource/datasource.component.html b/src/renderer/app/pages/management/datasource/datasource.component.html index 1011bf31..bd8858c9 100644 --- a/src/renderer/app/pages/management/datasource/datasource.component.html +++ b/src/renderer/app/pages/management/datasource/datasource.component.html @@ -1,5 +1,5 @@ - @@ -11,7 +11,7 @@ - + {{'common.alias' | translate}} @@ -45,7 +45,7 @@ nz-tooltip nzTooltipTitle="{{'common.delete' | translate}}" [nzCancelText]="'common.cancel'|translate" [nzOkText]="'common.ok'|translate" - (nzOnConfirm)="handlerDelete(data.alias)"> + (nzOnConfirm)="handlerDelete(data.id)">