Skip to content

Commit

Permalink
Merge pull request #233 from jamebal/dev
Browse files Browse the repository at this point in the history
style: 优化单个文件重建索引操作
  • Loading branch information
jamebal authored Jul 16, 2024
2 parents fa9dfe3 + e1499fa commit 9e7bf6d
Show file tree
Hide file tree
Showing 2 changed files with 42 additions and 19 deletions.
20 changes: 15 additions & 5 deletions src/components/ShowFile/ShowFile.vue
Original file line number Diff line number Diff line change
Expand Up @@ -162,13 +162,13 @@
placeholder="搜索"
v-model="searchFileName"
:clearable="true"
@keyup.enter.native="searchFile(searchFileName)"
@keyup.enter.native="searchFileEnter(searchFileName)"
@focus="setInputFocus"
@input="searchFile(searchFileName)"
@input="searchFileEnter(searchFileName)"
@blur="setInputBlur()"
@clear="searchFile(searchFileName)"
@clear="searchFileEnter(searchFileName)"
>
<el-button slot="prepend" @click="searchFile(searchFileName)">
<el-button slot="prepend" @click="searchFileEnter(searchFileName)">
<svg-icon icon-class="search" style="font-size: 22px" />
</el-button>
</el-input>
Expand Down Expand Up @@ -809,6 +809,8 @@ import FileTree from '@/components/FileTree'
import '@/utils/directives.js'
import _ from "lodash";
import fileConfig from '@/utils/file-config'
import EditElement from '@/views/markdown/EditElement'
import IframePreview from '@/components/preview/IframePreview.vue'
Expand Down Expand Up @@ -1088,6 +1090,7 @@ export default {
permanentDeleteDisable: false, // 是否禁用永久删除选项
selectDeleteFile: [], // 选中的删除文件
deleteLoading: false, // 删除loading
debounceSearch: null,// 搜索防抖
}
},
computed: {
Expand Down Expand Up @@ -1155,7 +1158,11 @@ export default {
: ''
},
},
created() {},
created() {
this.debounceSearch = _.debounce((key, onLoad) => {
this.searchFile(key, onLoad)
}, 200)
},
watch: {
$route(to) {
if (to.query.tagId && this.queryCondition.tagId !== this.$route.query.tagId) {
Expand Down Expand Up @@ -2696,6 +2703,9 @@ export default {
}
}
},
searchFileEnter(key, onLoad) {
this.debounceSearch(key, onLoad)
},
searchFile(key, onLoad) {
if (key) {
this.beforeLoadData(onLoad)
Expand Down
41 changes: 27 additions & 14 deletions src/components/preview/FileDetails.vue
Original file line number Diff line number Diff line change
Expand Up @@ -17,7 +17,19 @@
</div>
<el-form class="details-form">
<el-form-item label="重建索引:" class="details-scan">
<el-button type="primary" size="mini" :loading="syncLoading" @click="scanDirectory(rowContextData)" ><i class="el-icon-refresh"></i></el-button>
<el-popover
placement="bottom"
trigger="click">
<p class="el-popconfirm__main">
<i class="el-popconfirm__icon el-icon-question" style="color: rgb(255, 153, 0);"></i>
是否开始扫描?
</p>
<div style="text-align: right; margin: 0">
<el-button size="mini" type="text" @click="cancelScan()">取消</el-button>
<el-button type="primary" size="mini" @click="scanDirectory(rowContextData)">确定</el-button>
</div>
<el-button slot="reference" id="scanDirectoryBtn-file" type="primary" size="small" :loading="syncLoading"><i class="el-icon-refresh"></i></el-button>
</el-popover>
<span v-show="syncPercent < 100">正在同步文件基本信息: {{ syncPercent }}%</span>
<span v-show="indexingPercent > 0 && indexingPercent < 100">正在为文件内容创建索引: </span><span v-show="indexingPercent > 0 && indexingPercent < 100">{{ indexingPercent }}%</span>
</el-form-item>
Expand Down Expand Up @@ -162,20 +174,18 @@ export default {
}
this.syncLoading = !((this.syncPercent === 100 && this.indexingPercent === 100) || (this.syncPercent === 0 && this.indexingPercent === 0));
},
cancelScan() {
document.getElementById('scanDirectoryBtn-file').click()
},
scanDirectory(file) {
this.$confirm('是否开始扫描? ', '提示', {
confirmButtonText: '确定',
cancelButtonText: '取消',
type: 'warning'
}).then(() => {
this.syncLoading = true
this.syncPercent = 0
this.clickSync = true
settingApi.syncUser({username: this.$store.state.user.name, path: decodeURIComponent(file.path + file.name)}).then(() => {
this.clickSync = false
}).catch(() => {
this.clickSync = false
})
this.cancelScan()
this.syncLoading = true
this.syncPercent = 0
this.clickSync = true
settingApi.syncUser({username: this.$store.state.user.name, path: decodeURIComponent(file.path + file.name)}).then(() => {
this.clickSync = false
}).catch(() => {
this.clickSync = false
})
},
}
Expand Down Expand Up @@ -216,6 +226,9 @@ export default {
}
>>> .details-scan {
.el-form-item__label {
line-height: 32.5px;
}
margin-bottom: 10px;
.el-button--mini, .el-button--mini.is-round {
padding: 5px 15px;
Expand Down

0 comments on commit 9e7bf6d

Please sign in to comment.