CN-1071: entity explorer在列表页点击后退时,没有返回首页
This commit is contained in:
@@ -115,11 +115,11 @@ export default {
|
||||
},
|
||||
setup (props) {
|
||||
// 默认为文本模式
|
||||
let searchMode = ref('text')
|
||||
const searchMode = ref('text')
|
||||
if (props.defaultMode) {
|
||||
switch (props.defaultMode) {
|
||||
case 'tag': {
|
||||
searchMode = 'tag'
|
||||
searchMode.value = 'tag'
|
||||
break
|
||||
}
|
||||
}
|
||||
|
||||
@@ -93,6 +93,7 @@ import Meta, { connection, condition, columnType } from './meta/meta'
|
||||
import _ from 'lodash'
|
||||
import { handleErrorTip } from '@/components/advancedSearch/meta/error'
|
||||
import Parser, { stringInQuot } from '@/components/advancedSearch/meta/parser'
|
||||
import { overwriteUrl, urlParamsHandler } from '@/utils/tools'
|
||||
export default {
|
||||
name: 'TagMode',
|
||||
props: {
|
||||
@@ -320,8 +321,10 @@ export default {
|
||||
const parser = new Parser(this.columnList)
|
||||
const errorList = parser.validateMeta(this.metaList)
|
||||
if (_.isEmpty(errorList)) {
|
||||
this.reloadUrl({ mode: 'text' })
|
||||
this.$emit('changeMode', 'text', parser.parseMeta(this.metaList))
|
||||
} else {
|
||||
this.reloadUrl({ mode: 'text' })
|
||||
this.$emit('changeMode', 'text', { metaList: [], str: '' })
|
||||
}
|
||||
},
|
||||
@@ -397,10 +400,28 @@ export default {
|
||||
this.metaList.splice(metaIndex, 2)
|
||||
}
|
||||
})
|
||||
},
|
||||
/**
|
||||
* 向地址栏添加/删除参数
|
||||
*/
|
||||
reloadUrl (newParam, clean) {
|
||||
const { query } = this.$route
|
||||
let newUrl = urlParamsHandler(window.location.href, query, newParam)
|
||||
if (clean) {
|
||||
newUrl = urlParamsHandler(window.location.href, query, newParam, clean)
|
||||
}
|
||||
overwriteUrl(newUrl)
|
||||
}
|
||||
},
|
||||
mounted () {
|
||||
const vm = this
|
||||
// 如果地址栏包含参数q,则匹配出metaList到搜索栏回显使用
|
||||
const { q } = this.$route.query
|
||||
if (q) {
|
||||
const parser = new Parser(this.columnList)
|
||||
this.metaList = parser.parseStr(q).metaList
|
||||
}
|
||||
|
||||
this.emitter.on('advanced-search', function () {
|
||||
vm.search()
|
||||
})
|
||||
|
||||
@@ -28,6 +28,7 @@ import { toRaw } from 'vue'
|
||||
import _ from 'lodash'
|
||||
import { columnType } from '@/components/advancedSearch/meta/meta'
|
||||
import { handleErrorTip } from '@/components/advancedSearch/meta/error'
|
||||
import { overwriteUrl, urlParamsHandler } from '@/utils/tools'
|
||||
|
||||
export default {
|
||||
name: 'TextMode',
|
||||
@@ -81,11 +82,14 @@ export default {
|
||||
const errorList = parser.validateStr(str)
|
||||
if (_.isEmpty(errorList)) {
|
||||
const metaList = parser.parseStr(str)
|
||||
this.reloadUrl({ mode: 'tag' })
|
||||
this.$emit('changeMode', 'tag', metaList)
|
||||
} else {
|
||||
this.reloadUrl({ mode: 'tag' })
|
||||
this.$emit('changeMode', 'tag', { metaList: [], str: '' })
|
||||
}
|
||||
} else {
|
||||
this.reloadUrl({ mode: 'tag' })
|
||||
this.$emit('changeMode', 'tag', { str: '', metaList: [] })
|
||||
}
|
||||
},
|
||||
@@ -135,6 +139,17 @@ export default {
|
||||
current = current.replace(oldSqlPiece, newSqlPiece)
|
||||
})
|
||||
toRaw(this.codeMirror).setValue(current.trim())
|
||||
},
|
||||
/**
|
||||
* 向地址栏添加/删除参数
|
||||
*/
|
||||
reloadUrl (newParam, clean) {
|
||||
const { query } = this.$route
|
||||
let newUrl = urlParamsHandler(window.location.href, query, newParam)
|
||||
if (clean) {
|
||||
newUrl = urlParamsHandler(window.location.href, query, newParam, clean)
|
||||
}
|
||||
overwriteUrl(newUrl)
|
||||
}
|
||||
},
|
||||
watch: {
|
||||
@@ -150,7 +165,13 @@ export default {
|
||||
}
|
||||
},
|
||||
mounted () {
|
||||
// 如果地址栏包含参数q,则将参数q回显到搜索栏内
|
||||
const { q } = this.$route.query
|
||||
this.initCodeMirror()
|
||||
if (q) {
|
||||
toRaw(this.codeMirror).setValue(q)
|
||||
}
|
||||
|
||||
const vm = this
|
||||
this.emitter.on('advanced-search', function () {
|
||||
vm.search()
|
||||
|
||||
Reference in New Issue
Block a user