mirror of
https://github.com/Cp0204/quark-auto-save.git
synced 2026-01-13 15:50:45 +08:00
新增任务按钮显示方式设置功能
This commit is contained in:
parent
0d2e942eae
commit
3f04866c81
@ -3972,3 +3972,61 @@ table.selectable-records .expand-button:hover {
|
||||
position: relative;
|
||||
top: -0.5px;
|
||||
}
|
||||
|
||||
/* 任务按钮悬停显示样式 */
|
||||
.task-buttons .hover-only {
|
||||
opacity: 0;
|
||||
transition: opacity 0.2s ease-in-out;
|
||||
position: absolute;
|
||||
right: 0;
|
||||
visibility: hidden;
|
||||
}
|
||||
|
||||
/* 修改悬停触发范围到整个任务单元 */
|
||||
.task:hover .task-buttons .hover-only {
|
||||
opacity: 1;
|
||||
visibility: visible;
|
||||
position: static;
|
||||
}
|
||||
|
||||
/* 确保按钮容器在悬停时保持宽度 */
|
||||
.task-buttons {
|
||||
position: relative;
|
||||
min-width: 160px; /* 根据按钮数量和间距调整 */
|
||||
display: flex;
|
||||
justify-content: flex-end;
|
||||
padding-right: 0;
|
||||
margin-right: 0;
|
||||
}
|
||||
|
||||
/* 确保按钮在悬停时可见 */
|
||||
.task:hover .task-buttons {
|
||||
z-index: 1;
|
||||
}
|
||||
|
||||
/* 移动模式下的任务按钮容器样式 */
|
||||
@media (max-width: 767.98px) {
|
||||
.task .col-auto.task-buttons {
|
||||
padding-right: 15px; /* 与添加任务按钮的右边距保持一致 */
|
||||
}
|
||||
}
|
||||
|
||||
@media (min-width: 992px) {
|
||||
.display-setting-row > .col-lg-3 {
|
||||
padding-left: 4px !important;
|
||||
padding-right: 4px !important;
|
||||
}
|
||||
.display-setting-row {
|
||||
margin-left: -4px !important;
|
||||
margin-right: -4px !important;
|
||||
}
|
||||
}
|
||||
|
||||
.display-setting-row > [class*='col-'] {
|
||||
padding-left: 4px !important;
|
||||
padding-right: 4px !important;
|
||||
}
|
||||
.display-setting-row {
|
||||
margin-left: -4px !important;
|
||||
margin-right: -4px !important;
|
||||
}
|
||||
|
||||
@ -440,6 +440,63 @@
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="row title" title="设置任务列表页面的任务按钮的显示方式,刷新Plex媒体库和刷新AList目录按钮仅在配置了对应插件的前提下才支持显示">
|
||||
<div class="col">
|
||||
<h2 style="display: inline-block; font-size: 1.5rem;">显示设置</h2>
|
||||
<span class="badge badge-pill badge-light">
|
||||
<a href="#"><i class="bi bi-question-circle"></i></a>
|
||||
</span>
|
||||
</div>
|
||||
</div>
|
||||
<div class="row mb-2 display-setting-row">
|
||||
<div class="col-lg-3 col-md-6 mb-2">
|
||||
<div class="input-group">
|
||||
<div class="input-group-prepend">
|
||||
<span class="input-group-text">运行此任务</span>
|
||||
</div>
|
||||
<select class="form-control" v-model="formData.button_display.run_task">
|
||||
<option value="always">始终显示</option>
|
||||
<option value="hover">悬停显示</option>
|
||||
</select>
|
||||
</div>
|
||||
</div>
|
||||
<div class="col-lg-3 col-md-6 mb-2">
|
||||
<div class="input-group">
|
||||
<div class="input-group-prepend">
|
||||
<span class="input-group-text">删除此任务</span>
|
||||
</div>
|
||||
<select class="form-control" v-model="formData.button_display.delete_task">
|
||||
<option value="always">始终显示</option>
|
||||
<option value="hover">悬停显示</option>
|
||||
</select>
|
||||
</div>
|
||||
</div>
|
||||
<div class="col-lg-3 col-md-6 mb-2">
|
||||
<div class="input-group">
|
||||
<div class="input-group-prepend">
|
||||
<span class="input-group-text">刷新 Plex 媒体库</span>
|
||||
</div>
|
||||
<select class="form-control" v-model="formData.button_display.refresh_plex">
|
||||
<option value="always">始终显示</option>
|
||||
<option value="hover">悬停显示</option>
|
||||
<option value="disabled">禁用</option>
|
||||
</select>
|
||||
</div>
|
||||
</div>
|
||||
<div class="col-lg-3 col-md-6 mb-2">
|
||||
<div class="input-group">
|
||||
<div class="input-group-prepend">
|
||||
<span class="input-group-text">刷新 AList 目录</span>
|
||||
</div>
|
||||
<select class="form-control" v-model="formData.button_display.refresh_alist">
|
||||
<option value="always">始终显示</option>
|
||||
<option value="hover">悬停显示</option>
|
||||
<option value="disabled">禁用</option>
|
||||
</select>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
</div>
|
||||
|
||||
<div v-if="activeTab === 'tasklist'">
|
||||
@ -483,12 +540,12 @@
|
||||
<i class="bi bi-caret-right-fill"></i> #<span v-html="`${String(index+1).padStart(2, '0')} ${task.taskname}`"></span>
|
||||
</div>
|
||||
</div>
|
||||
<div class="col-auto">
|
||||
<button type="button" class="btn btn-outline-plex" v-if="formData.plugins && formData.plugins.plex && formData.plugins.plex.url && formData.plugins.plex.token && formData.plugins.plex.quark_root_path" @click="refreshPlexLibrary(index)" title="刷新Plex媒体库"><img src="./static/Plex.svg" class="plex-icon"></button>
|
||||
<button type="button" class="btn btn-outline-alist" v-if="formData.plugins && formData.plugins.alist && formData.plugins.alist.url && formData.plugins.alist.token && formData.plugins.alist.storage_id" @click="refreshAlistDirectory(index)" title="刷新AList目录"><img src="https://cdn.jsdelivr.net/gh/alist-org/logo@main/logo.svg" class="alist-icon"></button>
|
||||
<div class="col-auto task-buttons">
|
||||
<button type="button" class="btn btn-outline-plex" v-if="formData.plugins && formData.plugins.plex && formData.plugins.plex.url && formData.plugins.plex.token && formData.plugins.plex.quark_root_path && formData.button_display.refresh_plex !== 'disabled'" :class="{'hover-only': formData.button_display.refresh_plex === 'hover'}" @click="refreshPlexLibrary(index)" title="刷新Plex媒体库"><img src="./static/Plex.svg" class="plex-icon"></button>
|
||||
<button type="button" class="btn btn-outline-alist" v-if="formData.plugins && formData.plugins.alist && formData.plugins.alist.url && formData.plugins.alist.token && formData.plugins.alist.storage_id && formData.button_display.refresh_alist !== 'disabled'" :class="{'hover-only': formData.button_display.refresh_alist === 'hover'}" @click="refreshAlistDirectory(index)" title="刷新AList目录"><img src="https://cdn.jsdelivr.net/gh/alist-org/logo@main/logo.svg" class="alist-icon"></button>
|
||||
<button class="btn btn-warning" v-if="task.shareurl_ban" :title="formatShareUrlBanMessage(task.shareurl_ban)" disabled><i class="bi bi-exclamation-circle"></i></button>
|
||||
<button type="button" class="btn btn-outline-primary" @click="runScriptNow(index)" title="运行此任务" v-if="!task.shareurl_ban"><i class="bi bi-caret-right"></i></button>
|
||||
<button type="button" class="btn btn-outline-danger" @click="removeTask(index)" title="删除此任务"><i class="bi bi-trash3"></i></button>
|
||||
<button type="button" class="btn btn-outline-primary" @click="runScriptNow(index)" title="运行此任务" v-if="!task.shareurl_ban" :class="{'hover-only': formData.button_display.run_task === 'hover'}"><i class="bi bi-caret-right"></i></button>
|
||||
<button type="button" class="btn btn-outline-danger" @click="removeTask(index)" title="删除此任务" :class="{'hover-only': formData.button_display.delete_task === 'hover'}"><i class="bi bi-trash3"></i></button>
|
||||
</div>
|
||||
</div>
|
||||
<div class="collapse ml-3" :id="'collapse_'+index">
|
||||
@ -1008,6 +1065,12 @@
|
||||
webui: {
|
||||
username: "",
|
||||
password: ""
|
||||
},
|
||||
button_display: {
|
||||
run_task: "always",
|
||||
delete_task: "always",
|
||||
refresh_plex: "always",
|
||||
refresh_alist: "always"
|
||||
}
|
||||
},
|
||||
userInfoList: [], // 用户信息列表
|
||||
@ -1526,6 +1589,15 @@
|
||||
if (!config_data.episode_patterns) {
|
||||
config_data.episode_patterns = [];
|
||||
}
|
||||
// 确保按钮显示配置存在
|
||||
if (!config_data.button_display) {
|
||||
config_data.button_display = {
|
||||
run_task: "always",
|
||||
delete_task: "always",
|
||||
refresh_plex: "always",
|
||||
refresh_alist: "always"
|
||||
};
|
||||
}
|
||||
this.formData = config_data;
|
||||
setTimeout(() => {
|
||||
this.configModified = false;
|
||||
|
||||
Loading…
Reference in New Issue
Block a user