From d019a975a5a26fe1a6a615a3b87f4a6a70f8107a Mon Sep 17 00:00:00 2001 From: chenjinsong <523037378@qq.com> Date: Wed, 26 Jan 2022 18:13:25 +0800 Subject: [PATCH 1/5] =?UTF-8?q?feat:=20=E6=90=9C=E7=B4=A2=E5=8E=86?= =?UTF-8?q?=E5=8F=B2=E8=B0=83=E6=95=B4=E4=B8=8A=E9=99=90=E4=B8=BA30?= =?UTF-8?q?=E4=B8=AA?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../search/explorer-search.scss | 78 +++++++++++-------- 1 file changed, 47 insertions(+), 31 deletions(-) diff --git a/src/assets/css/components/views/entityExplorer/search/explorer-search.scss b/src/assets/css/components/views/entityExplorer/search/explorer-search.scss index d4f44976..75afa58b 100644 --- a/src/assets/css/components/views/entityExplorer/search/explorer-search.scss +++ b/src/assets/css/components/views/entityExplorer/search/explorer-search.scss @@ -81,51 +81,67 @@ .search__history { position: absolute; display: flex; - padding: 10px 0; + padding: 10px 0 0 0; flex-direction: column; width: 100%; max-width: 1000px; + z-index: 2; top: 47px; border: 1px solid rgba(206,206,206,0.20); border-radius: 2px; background-color: white; - .history__item { - height: 35px; - display: flex; - align-items: center; + .history__items { + max-height: 300px; + overflow: auto; + .history__item { + height: 35px; + display: flex; + align-items: center; + padding-left: 30px; + font-weight: normal; + font-size: 14px; + flex-shrink: 0; + + &.clear-all span { + cursor: pointer; + } + div { + color: #999; + } + .item-date { + color: #bbb; + padding: 0 20px 0 0; + } + .item-value { + flex-basis: calc(100% - 200px); + overflow: hidden; + text-overflow: ellipsis; + white-space: nowrap; + word-break: break-all; + color: #444; + } + } + .history__item { + cursor: pointer; + } + .history__item:hover { + background-color: #ecf5ff; + color: #66b1ff; + } + } + .clear-all { padding-left: 30px; font-weight: normal; font-size: 14px; + height: 35px; + display: flex; + align-items: center; + color: #3976CB; - &.clear-all span { + span { cursor: pointer; } - div { - color: #999; - } - .item-date { - color: #bbb; - padding: 0 20px 0 0; - } - .item-value { - flex-basis: calc(100% - 200px); - overflow: hidden; - text-overflow: ellipsis; - white-space: nowrap; - word-break: break-all; - color: #444; - } - } - .history__item:not(.clear-all) { - cursor: pointer; - } - .history__item:hover:not(.clear-all) { - background-color: #ecf5ff; - color: #66b1ff; - } - .history__item.clear-all { - color: #3976CB; } } } From aef5bc95c03b43933a3b49c8c8a07a6b573390dd Mon Sep 17 00:00:00 2001 From: chenjinsong <523037378@qq.com> Date: Wed, 26 Jan 2022 18:13:40 +0800 Subject: [PATCH 2/5] =?UTF-8?q?feat:=20=E6=90=9C=E7=B4=A2=E5=8E=86?= =?UTF-8?q?=E5=8F=B2=E8=B0=83=E6=95=B4=E4=B8=8A=E9=99=90=E4=B8=BA30?= =?UTF-8?q?=E4=B8=AA?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/components/advancedSearch/TextMode.vue | 3 +++ .../entityExplorer/search/ExplorerSearch.vue | 22 ++++++++++++++----- 2 files changed, 19 insertions(+), 6 deletions(-) diff --git a/src/components/advancedSearch/TextMode.vue b/src/components/advancedSearch/TextMode.vue index a9d8261b..fe4d2896 100644 --- a/src/components/advancedSearch/TextMode.vue +++ b/src/components/advancedSearch/TextMode.vue @@ -66,6 +66,9 @@ export default { this.$emit('search') } }, + focus () { + this.codeMirror.focus() + }, changeMode () { const originalSql = this.codeMirror.getValue() const parser = new SqlParser(originalSql, this.columnList) diff --git a/src/views/entityExplorer/search/ExplorerSearch.vue b/src/views/entityExplorer/search/ExplorerSearch.vue index 06932a28..cee88b94 100644 --- a/src/views/entityExplorer/search/ExplorerSearch.vue +++ b/src/views/entityExplorer/search/ExplorerSearch.vue @@ -28,11 +28,13 @@
-
- {{h.date}} -
{{h.sql}}
+
+
+ {{h.date}} +
{{h.sql}}
+
-
+
{{$t('overall.clear')}}
暂无记录
@@ -196,7 +198,7 @@ export default { methods: { search (metaList, formatSql) { let sql = formatSql - if (metaList) { + if (metaList && this.$_.isArray(metaList)) { // 全文搜索处理 const hasFullText = metaList.some(meta => { return meta.column && meta.column.type === columnType.fullText @@ -207,7 +209,7 @@ export default { } } this.$emit('search', metaList, sql) - // 加入搜索记录 + // 加入搜索记录,将记录数量控制在30以内 if (sql) { const oldHistory = localStorage.getItem(storageKey.entitySearchHistory) let arr = [] @@ -216,6 +218,9 @@ export default { const oldArr = JSON.parse(oldHistory) oldArr.unshift(newItem) arr = [...oldArr] + if (arr.length > 30) { + arr = arr.slice(0, 30) + } } else { arr.push(newItem) } @@ -228,6 +233,11 @@ export default { selectHistory (sql) { this.$refs.search.setSql(sql) this.showHistory = false + this.$nextTick(() => { + if (this.$refs.search.$refs.textMode) { + this.$refs.search.$refs.textMode.focus() + } + }) }, clearHistory () { localStorage.setItem(storageKey.entitySearchHistory, '') From a87b297c20c63875e0f96e97550acf298ab391c2 Mon Sep 17 00:00:00 2001 From: "@changcode" Date: Wed, 26 Jan 2022 18:17:02 +0800 Subject: [PATCH 3/5] =?UTF-8?q?fix:=20=E4=BF=AE=E5=A4=8D=E5=8D=95=E5=80=BC?= =?UTF-8?q?=E5=9B=BE=E6=97=A0=E6=95=B0=E6=8D=AE=E6=97=B6=E5=B1=95=E7=A4=BA?= =?UTF-8?q?NaN=E9=97=AE=E9=A2=98?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/views/charts/PanelChart.vue | 2 ++ 1 file changed, 2 insertions(+) diff --git a/src/views/charts/PanelChart.vue b/src/views/charts/PanelChart.vue index ab52f340..f5097ad2 100644 --- a/src/views/charts/PanelChart.vue +++ b/src/views/charts/PanelChart.vue @@ -211,6 +211,8 @@ export default { if (chartParams && chartParams.dataKey) { if (response.data.result && (response.data.result[chartParams.dataKey] || response.data.result[chartParams.dataKey] === 0)) { this.chartData = response.data.result[chartParams.dataKey] + } else { + this.chartData = null } } } From e7c0ec0cb7a72bf41b150c63f0f15e63e242b086 Mon Sep 17 00:00:00 2001 From: chenjinsong <523037378@qq.com> Date: Wed, 26 Jan 2022 18:27:12 +0800 Subject: [PATCH 4/5] =?UTF-8?q?fix:=20=E6=90=9C=E7=B4=A2=E6=A1=86bug?= =?UTF-8?q?=E4=BF=AE=E5=A4=8D?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/components/advancedSearch/meta/sql-parser.js | 8 ++++---- src/views/entityExplorer/EntityExplorer.vue | 2 +- 2 files changed, 5 insertions(+), 5 deletions(-) diff --git a/src/components/advancedSearch/meta/sql-parser.js b/src/components/advancedSearch/meta/sql-parser.js index 12efd1ea..5f5e0164 100644 --- a/src/components/advancedSearch/meta/sql-parser.js +++ b/src/components/advancedSearch/meta/sql-parser.js @@ -190,13 +190,13 @@ export default class SqlParser extends SqlParserVisitor { // 字段或值 visitExpressionAtomPredicate (ctx) { - const constant = ctx.getText().toLowerCase() + const constant = ctx.getText() this.buildMeta('expression', constant) } // 操作符 visitComparisonOperator (ctx) { - const comparisonOperator = ctx.getText().toLowerCase() + const comparisonOperator = ctx.getText() this.buildMeta('operator', comparisonOperator) } @@ -208,13 +208,13 @@ export default class SqlParser extends SqlParserVisitor { // in语句 visitInPredicate (ctx) { - const inPredicate = ctx.getText().toLowerCase() + const inPredicate = ctx.getText() this.buildMeta('in', inPredicate) } // like语句 visitLikePredicate (ctx) { - const likePredicate = ctx.getText().toLowerCase() + const likePredicate = ctx.getText() this.buildMeta('like', likePredicate) } } diff --git a/src/views/entityExplorer/EntityExplorer.vue b/src/views/entityExplorer/EntityExplorer.vue index 0c7eebc0..2f554157 100644 --- a/src/views/entityExplorer/EntityExplorer.vue +++ b/src/views/entityExplorer/EntityExplorer.vue @@ -452,7 +452,7 @@ export default { const entityTypeMeta = metaList.find(meta => { return meta.column && meta.column.name === 'entity_type' }) - if (entityTypeMeta) { + if (entityTypeMeta && entityTypeMeta.operator.value === '=') { let entityType = '' this.limitFilterType = false if (entityTypeMeta.value.value === "'ip'") { From 9f1ab860be59328dcdf4ffc3075270908640fc69 Mon Sep 17 00:00:00 2001 From: "@changcode" Date: Wed, 26 Jan 2022 18:32:58 +0800 Subject: [PATCH 5/5] =?UTF-8?q?style:=20=E5=8E=BB=E9=99=A4=E9=83=A8?= =?UTF-8?q?=E5=88=86=E8=A1=A8=E5=A4=B4=E5=BA=95=E9=83=A8=E8=BE=B9=E6=A1=86?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/assets/css/components/views/charts/panel.scss | 1 + 1 file changed, 1 insertion(+) diff --git a/src/assets/css/components/views/charts/panel.scss b/src/assets/css/components/views/charts/panel.scss index b0f1d2a3..37b4fac8 100644 --- a/src/assets/css/components/views/charts/panel.scss +++ b/src/assets/css/components/views/charts/panel.scss @@ -54,6 +54,7 @@ font-size: 20px; color: #333; padding: 0; + border-bottom: none; } .chart-header__title { max-width: calc(100% - 100px);