mirror of
https://github.com/fofolee/uTools-quickcommand.git
synced 2026-02-27 17:44:05 +08:00
配置菜单组件化
This commit is contained in:
87
src/components/menu/CommandManageMenu.vue
Normal file
87
src/components/menu/CommandManageMenu.vue
Normal file
@@ -0,0 +1,87 @@
|
||||
<template>
|
||||
<q-menu anchor="top end" self="top start">
|
||||
<q-list>
|
||||
<!-- 导入 -->
|
||||
<q-item clickable v-close-popup @click="importCommand(importCommandFromFile())">
|
||||
<q-item-section side>
|
||||
<q-icon name="text_snippet" />
|
||||
</q-item-section>
|
||||
<q-item-section>从文件导入命令</q-item-section>
|
||||
</q-item>
|
||||
<q-item clickable v-close-popup @click="importCommand(importCommandFromClipboard())">
|
||||
<q-item-section side>
|
||||
<q-icon name="content_paste" />
|
||||
</q-item-section>
|
||||
<q-item-section>从剪贴板导入命令</q-item-section>
|
||||
</q-item>
|
||||
<!-- 导出 -->
|
||||
<q-item clickable v-close-popup @click="exportAllCommands">
|
||||
<q-item-section side>
|
||||
<q-icon name="file_upload" />
|
||||
</q-item-section>
|
||||
<q-item-section>导出所有命令</q-item-section>
|
||||
</q-item>
|
||||
<q-item clickable v-close-popup @click="enableAllCommands">
|
||||
<q-item-section side>
|
||||
<q-icon name="checklist_rtl" />
|
||||
</q-item-section>
|
||||
<q-item-section>启用本页所有命令</q-item-section>
|
||||
</q-item>
|
||||
<q-item clickable v-close-popup @click="disableAllCommands">
|
||||
<q-item-section side>
|
||||
<q-icon name="remove_done" />
|
||||
</q-item-section>
|
||||
<q-item-section>禁用本页所有命令</q-item-section>
|
||||
</q-item>
|
||||
<!-- 清空 -->
|
||||
<q-item style="color: red" clickable v-close-popup @click="clearAllCommands">
|
||||
<q-item-section side>
|
||||
<q-icon name="delete" />
|
||||
</q-item-section>
|
||||
<q-item-section>清空数据</q-item-section>
|
||||
</q-item>
|
||||
</q-list>
|
||||
</q-menu>
|
||||
</template>
|
||||
|
||||
<script>
|
||||
export default {
|
||||
name: 'CommandManageMenu',
|
||||
computed: {
|
||||
configurationPage() {
|
||||
return this.$root.$refs.view;
|
||||
}
|
||||
},
|
||||
methods: {
|
||||
importCommand(command) {
|
||||
this.configurationPage.importCommand(command);
|
||||
},
|
||||
importCommandFromFile() {
|
||||
let options = {
|
||||
type: "dialog",
|
||||
argvs: { filters: [{ name: "json", extensions: ["json"] }] },
|
||||
readfile: true,
|
||||
};
|
||||
let fileContent = window.getFileInfo(options);
|
||||
return fileContent ? fileContent.data : false;
|
||||
},
|
||||
importCommandFromClipboard() {
|
||||
return window.clipboardReadText();
|
||||
},
|
||||
exportAllCommands() {
|
||||
this.configurationPage.exportAllCommands();
|
||||
},
|
||||
clearAllCommands() {
|
||||
this.configurationPage.clearAllCommands();
|
||||
},
|
||||
enableAllCommands() {
|
||||
document.querySelectorAll('.q-toggle[aria-checked="false"]')
|
||||
.forEach(x => x.click());
|
||||
},
|
||||
disableAllCommands() {
|
||||
document.querySelectorAll('.q-toggle[aria-checked="true"]')
|
||||
.forEach(x => x.click());
|
||||
}
|
||||
}
|
||||
};
|
||||
</script>
|
||||
77
src/components/menu/EnvConfigMenu.vue
Normal file
77
src/components/menu/EnvConfigMenu.vue
Normal file
@@ -0,0 +1,77 @@
|
||||
<template>
|
||||
<q-menu anchor="bottom end" self="bottom start">
|
||||
<q-list>
|
||||
<q-item clickable v-close-popup @click="$emit('open-user-data')">
|
||||
<q-item-section side>
|
||||
<q-icon name="manage_accounts" />
|
||||
</q-item-section>
|
||||
<q-item-section>用户特殊变量</q-item-section>
|
||||
<q-tooltip>
|
||||
用户设置的变量,类似一个全局配置项<br />
|
||||
配置好后可选择特殊变量中的「usr:」插入<br />
|
||||
也可直接在特殊变量中配置
|
||||
</q-tooltip>
|
||||
</q-item>
|
||||
<q-item>
|
||||
<q-item-section side>
|
||||
<q-icon name="dvr" />
|
||||
</q-item-section>
|
||||
<q-input
|
||||
dense
|
||||
outlined
|
||||
autogrow
|
||||
style="width: 280px"
|
||||
autofocus
|
||||
v-model="$root.nativeProfile.envPath"
|
||||
@blur="saveProfile"
|
||||
type="text"
|
||||
label="环境变量 PATH"
|
||||
>
|
||||
<q-tooltip>
|
||||
修改本插件环境变量中的 PATH,直接覆盖而非追加
|
||||
<br />将会影响到除 quickcommand、html 以外的所有环境
|
||||
</q-tooltip>
|
||||
</q-input>
|
||||
</q-item>
|
||||
<q-item v-if="showAlias">
|
||||
<q-item-section side>
|
||||
<q-icon name="code" />
|
||||
</q-item-section>
|
||||
<q-input
|
||||
dense
|
||||
outlined
|
||||
autogrow
|
||||
style="width: 280px"
|
||||
v-model="$root.nativeProfile.alias"
|
||||
@blur="saveProfile"
|
||||
type="text"
|
||||
label="Alias"
|
||||
>
|
||||
<q-tooltip>
|
||||
一行一条,配置方法和 shell 的语法一样<br />如 alias
|
||||
python="/home/user/.bin/python"<br />
|
||||
将会影响到除 quickcommand、html 以外的所有环境
|
||||
</q-tooltip>
|
||||
</q-input>
|
||||
</q-item>
|
||||
</q-list>
|
||||
</q-menu>
|
||||
|
||||
</template>
|
||||
|
||||
<script>
|
||||
|
||||
export default {
|
||||
name: "EnvConfigMenu",
|
||||
data() {
|
||||
return {
|
||||
showAlias: this.$q.platform.is.mac || this.$q.platform.is.linux,
|
||||
};
|
||||
},
|
||||
methods: {
|
||||
saveProfile() {
|
||||
this.$root.saveProfile();
|
||||
},
|
||||
},
|
||||
};
|
||||
</script>
|
||||
208
src/components/menu/PersonalizeMenu.vue
Normal file
208
src/components/menu/PersonalizeMenu.vue
Normal file
@@ -0,0 +1,208 @@
|
||||
<template>
|
||||
<q-menu anchor="top end" self="top start">
|
||||
<q-list>
|
||||
<q-item clickable :disable="!user.isVIP">
|
||||
<q-item-section side>
|
||||
<q-icon name="color_lens" />
|
||||
</q-item-section>
|
||||
<q-item-section>主颜色</q-item-section>
|
||||
<q-tooltip>你可以更改界面的主题色,会员限定 😎</q-tooltip>
|
||||
<q-menu
|
||||
v-if="user.isVIP"
|
||||
anchor="center left"
|
||||
self="center right"
|
||||
style="min-width: 250px"
|
||||
>
|
||||
<div class="column">
|
||||
<q-color
|
||||
@change="setPrimaryColor"
|
||||
v-model="$root.profile.primaryColor"
|
||||
default-view="palette"
|
||||
class="full-width"
|
||||
/>
|
||||
<q-btn
|
||||
color="primary"
|
||||
label="重置为默认"
|
||||
class="q-mt-sm"
|
||||
@click="resetPrimary"
|
||||
/>
|
||||
</div>
|
||||
</q-menu>
|
||||
</q-item>
|
||||
<q-item clickable :disable="!user.isVIP" class="bg-img-menu">
|
||||
<q-item-section side>
|
||||
<q-icon name="image" />
|
||||
</q-item-section>
|
||||
<q-item-section>背景图片设置</q-item-section>
|
||||
<q-tooltip>设置背景图片,会员限定 😎</q-tooltip>
|
||||
<q-menu v-if="user.isVIP" anchor="center left" self="center right">
|
||||
<q-list style="min-width: 280px">
|
||||
<q-item>
|
||||
<q-item-section>
|
||||
<q-file
|
||||
v-model="selectFileLight"
|
||||
label="亮色模式背景"
|
||||
dense
|
||||
outlined
|
||||
class="full-width"
|
||||
accept=".jpg,.png,jpeg"
|
||||
@update:model-value="() => setBackgroundImg('light')"
|
||||
>
|
||||
<template v-slot:prepend>
|
||||
<q-icon name="light_mode" />
|
||||
</template>
|
||||
</q-file>
|
||||
</q-item-section>
|
||||
</q-item>
|
||||
<q-item>
|
||||
<q-item-section>
|
||||
<q-file
|
||||
v-model="selectFileDark"
|
||||
label="暗色模式背景"
|
||||
dense
|
||||
outlined
|
||||
class="full-width"
|
||||
accept=".jpg,.png,.webp"
|
||||
@update:model-value="() => setBackgroundImg('dark')"
|
||||
>
|
||||
<template v-slot:prepend>
|
||||
<q-icon name="dark_mode" />
|
||||
</template>
|
||||
</q-file>
|
||||
</q-item-section>
|
||||
</q-item>
|
||||
<q-item>
|
||||
<q-item-section>
|
||||
<q-btn
|
||||
color="negative"
|
||||
label="删除背景图片"
|
||||
class="full-width"
|
||||
@click="removeBackgroundImg"
|
||||
/>
|
||||
</q-item-section>
|
||||
</q-item>
|
||||
</q-list>
|
||||
</q-menu>
|
||||
</q-item>
|
||||
<q-item clickable :disable="!user.isVIP">
|
||||
<q-item-section side>
|
||||
<q-icon name="blur_on" />
|
||||
</q-item-section>
|
||||
<q-item-section>毛玻璃效果</q-item-section>
|
||||
<q-tooltip>启用毛玻璃界面,并调节效果强度,会员限定 😎</q-tooltip>
|
||||
<q-item-section side>
|
||||
<div class="flex items-center justify-center" style="width: 56px">
|
||||
<q-knob
|
||||
v-model="$root.profile.glassEffect"
|
||||
:min="0"
|
||||
:max="12"
|
||||
:step="1"
|
||||
color="primary"
|
||||
@update:model-value="toggleGlassEffect"
|
||||
size="34px"
|
||||
:thickness="0.22"
|
||||
class="glass-effect-knob"
|
||||
show-value
|
||||
font-size="13px"
|
||||
>
|
||||
</q-knob>
|
||||
</div>
|
||||
</q-item-section>
|
||||
</q-item>
|
||||
<q-item clickable :disable="!user.isVIP">
|
||||
<q-item-section side>
|
||||
<q-icon name="label" />
|
||||
</q-item-section>
|
||||
<q-item-section>紧凑标签栏</q-item-section>
|
||||
<q-tooltip
|
||||
>更为紧凑的标签栏,适用于标签非常多的情形,会员限定 😎</q-tooltip
|
||||
>
|
||||
<q-item-section side>
|
||||
<q-toggle
|
||||
v-model="$root.profile.denseTagBar"
|
||||
:disable="!user.isVIP"
|
||||
color="primary"
|
||||
@update:model-value="$root.saveProfile"
|
||||
/>
|
||||
</q-item-section>
|
||||
</q-item>
|
||||
<q-item clickable>
|
||||
<q-item-section side>
|
||||
<q-icon name="search" />
|
||||
</q-item-section>
|
||||
<q-item-section class="flex">自动聚焦搜索</q-item-section>
|
||||
<q-tooltip>进入插件时自动聚焦搜索</q-tooltip>
|
||||
<q-item-section side>
|
||||
<q-toggle
|
||||
v-model="$root.profile.autofocusSearch"
|
||||
color="primary"
|
||||
@update:model-value="$root.saveProfile"
|
||||
/>
|
||||
</q-item-section>
|
||||
</q-item>
|
||||
</q-list>
|
||||
</q-menu>
|
||||
</template>
|
||||
|
||||
<script>
|
||||
import { setCssVar } from "quasar";
|
||||
|
||||
export default {
|
||||
name: "PersonalizeMenu",
|
||||
props: {
|
||||
user: Object,
|
||||
},
|
||||
data() {
|
||||
return {
|
||||
selectFileLight: null,
|
||||
selectFileDark: null,
|
||||
};
|
||||
},
|
||||
methods: {
|
||||
setPrimaryColor() {
|
||||
setCssVar("primary", this.$root.profile.primaryColor);
|
||||
this.$root.saveProfile();
|
||||
},
|
||||
resetPrimary() {
|
||||
this.$root.profile.primaryColor = this.$root.profile.defaultPrimaryColor;
|
||||
this.setPrimaryColor();
|
||||
},
|
||||
async setBackgroundImg(mode) {
|
||||
const file =
|
||||
mode === "light" ? this.selectFileLight : this.selectFileDark;
|
||||
if (!file) return;
|
||||
|
||||
const processedImage = await window.imageProcessor(file.path);
|
||||
|
||||
if (mode === "light") {
|
||||
this.$root.profile.backgroundImgLight = processedImage;
|
||||
} else {
|
||||
this.$root.profile.backgroundImgDark = processedImage;
|
||||
}
|
||||
this.$root.saveProfile();
|
||||
},
|
||||
removeBackgroundImg() {
|
||||
this.$root.profile.backgroundImgLight = "";
|
||||
this.$root.profile.backgroundImgDark = "";
|
||||
this.$root.saveProfile();
|
||||
},
|
||||
toggleGlassEffect(val) {
|
||||
this.$root.profile.glassEffect = val;
|
||||
this.$root.saveProfile();
|
||||
},
|
||||
},
|
||||
};
|
||||
</script>
|
||||
|
||||
<style scoped>
|
||||
.glass-effect-knob {
|
||||
cursor: pointer;
|
||||
transition: transform 0.3s;
|
||||
border-radius: 50%;
|
||||
box-shadow: 0 0 10px rgba(0, 0, 0, 0.2);
|
||||
}
|
||||
|
||||
.glass-effect-knob:hover {
|
||||
transform: scale(1.1);
|
||||
}
|
||||
</style>
|
||||
136
src/components/menu/UtilityFeaturesMenu.vue
Normal file
136
src/components/menu/UtilityFeaturesMenu.vue
Normal file
@@ -0,0 +1,136 @@
|
||||
<template>
|
||||
<q-menu anchor="top end" self="top start">
|
||||
<q-list>
|
||||
<q-item>
|
||||
<q-item-section side>
|
||||
<q-icon name="folder_special" />
|
||||
</q-item-section>
|
||||
<q-input
|
||||
dense
|
||||
prefix="快速收藏文件至"
|
||||
suffix="标签"
|
||||
outlined
|
||||
input-class="text-center"
|
||||
style="width: 280px"
|
||||
autofocus
|
||||
v-model="$root.profile.quickFileTag"
|
||||
@blur="$root.profile.quickFileTag || ($root.profile.quickFileTag = '文件')"
|
||||
type="text"
|
||||
>
|
||||
<template v-slot:append>
|
||||
<q-toggle
|
||||
@update:model-value="(val) => toggleFeature('favFile', val)"
|
||||
v-model="$root.profile.quickFileEnable"
|
||||
checked-icon="check"
|
||||
color="primary"
|
||||
/>
|
||||
</template>
|
||||
<q-tooltip>启用后,选中文件可以通过超级面板快速将文件收藏到「{{ $root.profile.quickFileTag }}」标签</q-tooltip>
|
||||
</q-input>
|
||||
</q-item>
|
||||
<q-item>
|
||||
<q-item-section side>
|
||||
<q-icon name="bookmarks" />
|
||||
</q-item-section>
|
||||
<q-input
|
||||
dense
|
||||
prefix="快速收藏网址至"
|
||||
suffix="标签"
|
||||
outlined
|
||||
input-class="text-center"
|
||||
style="width: 280px"
|
||||
v-model="$root.profile.quickUrlTag"
|
||||
@blur="$root.profile.quickUrlTag || ($root.profile.quickUrlTag = '网址')"
|
||||
type="text"
|
||||
>
|
||||
<template v-slot:append>
|
||||
<q-toggle
|
||||
@update:model-value="(val) => toggleFeature('favUrl', val)"
|
||||
v-model="$root.profile.quickUrlEnable"
|
||||
checked-icon="check"
|
||||
color="primary"
|
||||
/>
|
||||
</template>
|
||||
<q-tooltip>启用后,在浏览器界面可以通过超级面板快速将网址收藏到「{{ $root.profile.quickUrlTag }}」标签</q-tooltip>
|
||||
</q-input>
|
||||
</q-item>
|
||||
<q-item>
|
||||
<q-item-section side>
|
||||
<q-icon name="drive_file_rename_outline" />
|
||||
</q-item-section>
|
||||
<q-input
|
||||
dense
|
||||
prefix="新建插件别名至"
|
||||
suffix="标签"
|
||||
outlined
|
||||
input-class="text-center"
|
||||
style="width: 280px"
|
||||
autofocus
|
||||
v-model="$root.profile.pluNickNameTag"
|
||||
type="text"
|
||||
>
|
||||
<template v-slot:append>
|
||||
<q-toggle
|
||||
@update:model-value="(val) => toggleFeature('pluNickName', val)"
|
||||
v-model="$root.profile.pluNickNameEnable"
|
||||
checked-icon="check"
|
||||
color="primary"
|
||||
/>
|
||||
</template>
|
||||
<q-tooltip>
|
||||
启用后,在主输入框输入「插件别名」可以快速设置插件别名<br />
|
||||
并将所有设置的别名保存至「{{ $root.profile.pluNickNameTag }}」标签
|
||||
</q-tooltip>
|
||||
</q-input>
|
||||
</q-item>
|
||||
<q-item>
|
||||
<q-item-section side>
|
||||
<q-icon name="api" />
|
||||
</q-item-section>
|
||||
<q-field dense outlined style="width: 280px">
|
||||
<template v-slot:control>
|
||||
<div class="self-center full-width no-outline" tabindex="0">快捷命令服务</div>
|
||||
</template>
|
||||
<template v-slot:append>
|
||||
<q-btn flat @click="$router.push('server')" icon="open_in_new" />
|
||||
</template>
|
||||
<q-tooltip>
|
||||
通过本地监听 {{ $root.nativeProfile.serverPort }} 端口的形式,接收用户传送过来的参数,然后根据参数执行不同的操作
|
||||
<br />需要配置插件跟随 utools 启动和保留后台<br />也可在主输入框通过关键字「快捷命令服务配置」进入
|
||||
</q-tooltip>
|
||||
</q-field>
|
||||
</q-item>
|
||||
<q-item>
|
||||
<q-item-section side>
|
||||
<q-icon name="code" />
|
||||
</q-item-section>
|
||||
<q-field dense outlined style="width: 280px">
|
||||
<template v-slot:control>
|
||||
<div class="self-center full-width no-outline" tabindex="0">运行代码</div>
|
||||
</template>
|
||||
<template v-slot:append>
|
||||
<q-btn flat @click="$router.push('code')" icon="open_in_new" />
|
||||
</template>
|
||||
<q-tooltip>
|
||||
一个可以直接运行代码的代码编辑器<br />也可在主输入框输入关键字「RunCode」进入
|
||||
</q-tooltip>
|
||||
</q-field>
|
||||
</q-item>
|
||||
</q-list>
|
||||
</q-menu>
|
||||
</template>
|
||||
|
||||
<script>
|
||||
import features from "js/options/quickFeatures.js";
|
||||
|
||||
export default {
|
||||
name: 'UtilityFeaturesMenu',
|
||||
methods: {
|
||||
toggleFeature(type, enable) {
|
||||
enable
|
||||
? this.$root.utools.whole.setFeature(_.cloneDeep(features[type]))
|
||||
: this.$root.utools.whole.removeFeature(features[type].code);
|
||||
}
|
||||
}
|
||||
};
|
||||
</script>
|
||||
152
src/components/menu/index.vue
Normal file
152
src/components/menu/index.vue
Normal file
@@ -0,0 +1,152 @@
|
||||
<template>
|
||||
<div>
|
||||
<q-menu
|
||||
target="#menuBtn"
|
||||
max-height="480px"
|
||||
max-width="300px"
|
||||
transition-show="jump-up"
|
||||
transition-hide="jump-down"
|
||||
>
|
||||
<!-- 用户信息 -->
|
||||
<UserInfo
|
||||
ref="user"
|
||||
:allQuickCommandsLength="allQuickCommandsLength"
|
||||
:allFeaturesLength="allFeaturesLength"
|
||||
/>
|
||||
|
||||
<!-- 菜单列表 -->
|
||||
<q-list>
|
||||
<!-- 命令管理 -->
|
||||
<q-item clickable>
|
||||
<q-item-section side>
|
||||
<q-icon name="keyboard_arrow_left" />
|
||||
</q-item-section>
|
||||
<q-item-section>命令管理</q-item-section>
|
||||
<CommandManageMenu />
|
||||
</q-item>
|
||||
|
||||
<!-- 实用功能 -->
|
||||
<q-item clickable>
|
||||
<q-item-section side>
|
||||
<q-icon name="keyboard_arrow_left" />
|
||||
</q-item-section>
|
||||
<q-item-section>实用功能</q-item-section>
|
||||
<UtilityFeaturesMenu />
|
||||
</q-item>
|
||||
|
||||
<!-- 环境配置 -->
|
||||
<q-item clickable>
|
||||
<q-item-section side>
|
||||
<q-icon name="keyboard_arrow_left" />
|
||||
</q-item-section>
|
||||
<q-item-section>环境配置</q-item-section>
|
||||
<EnvConfigMenu @open-user-data="showUserData = true" />
|
||||
</q-item>
|
||||
|
||||
<!-- 个性化设置 -->
|
||||
<q-item clickable>
|
||||
<q-item-section side>
|
||||
<q-icon name="keyboard_arrow_left" />
|
||||
</q-item-section>
|
||||
<q-item-section>个性化设置</q-item-section>
|
||||
<PersonalizeMenu :user="$refs.user" />
|
||||
</q-item>
|
||||
|
||||
<!-- 收藏 -->
|
||||
<q-item v-if="isTagStared" clickable v-close-popup @click="unMarkTag">
|
||||
<q-item-section side>
|
||||
<q-icon name="star_border" />
|
||||
</q-item-section>
|
||||
<q-item-section>取消收藏</q-item-section>
|
||||
</q-item>
|
||||
<q-item v-else clickable v-close-popup @click="showPanelConf = true">
|
||||
<q-item-section side>
|
||||
<q-icon name="star" />
|
||||
</q-item-section>
|
||||
<q-item-section>收藏标签</q-item-section>
|
||||
<q-tooltip>
|
||||
收藏后,会将当前标签名作为全局关键字,可在 uTools 的主输入框进行搜索
|
||||
<br />
|
||||
搜索进入后,默认进入当前标签的面板视图 <br />
|
||||
类似于旧版本的「快捷面板」
|
||||
</q-tooltip>
|
||||
</q-item>
|
||||
|
||||
<!-- 关于 -->
|
||||
<q-item clickable v-close-popup @click="showAbout = true">
|
||||
<q-item-section side>
|
||||
<q-icon name="info" />
|
||||
</q-item-section>
|
||||
<q-item-section>关于和帮助</q-item-section>
|
||||
</q-item>
|
||||
</q-list>
|
||||
</q-menu>
|
||||
|
||||
<!-- 弹窗组件 -->
|
||||
<q-dialog v-model="showAbout">
|
||||
<AboutThis />
|
||||
</q-dialog>
|
||||
<q-dialog v-model="showPanelConf">
|
||||
<PanelSetting :isTagStared="isTagStared" :currentTag="currentTag" />
|
||||
</q-dialog>
|
||||
<q-dialog v-model="showUserData">
|
||||
<UserData :showInsertBtn="false" />
|
||||
</q-dialog>
|
||||
</div>
|
||||
</template>
|
||||
|
||||
<script>
|
||||
import AboutThis from "../popup/AboutThis";
|
||||
import PanelSetting from "../popup/PanelSetting";
|
||||
import UserInfo from "../popup/UserInfo";
|
||||
import CommandManageMenu from "./CommandManageMenu.vue";
|
||||
import UtilityFeaturesMenu from "./UtilityFeaturesMenu.vue";
|
||||
import EnvConfigMenu from "./EnvConfigMenu.vue";
|
||||
import PersonalizeMenu from "./PersonalizeMenu.vue";
|
||||
import UserData from "../popup/UserData.vue";
|
||||
|
||||
export default {
|
||||
name: "ConfigurationMenu",
|
||||
components: {
|
||||
AboutThis,
|
||||
PanelSetting,
|
||||
UserInfo,
|
||||
CommandManageMenu,
|
||||
UtilityFeaturesMenu,
|
||||
EnvConfigMenu,
|
||||
PersonalizeMenu,
|
||||
UserData,
|
||||
},
|
||||
data() {
|
||||
return {
|
||||
showAbout: false,
|
||||
showPanelConf: false,
|
||||
showUserData: false,
|
||||
};
|
||||
},
|
||||
props: {
|
||||
isTagStared: Boolean,
|
||||
currentTag: String,
|
||||
},
|
||||
computed: {
|
||||
configurationPage() {
|
||||
return this.$root.$refs.view;
|
||||
},
|
||||
allQuickCommandsLength() {
|
||||
return Object.keys(this.configurationPage.allQuickCommands).length;
|
||||
},
|
||||
allFeaturesLength() {
|
||||
return this.configurationPage.activatedQuickCommandFeatureCodes.length;
|
||||
},
|
||||
},
|
||||
methods: {
|
||||
unMarkTag() {
|
||||
this.$root.utools.whole.removeFeature(
|
||||
`panel_${window.hexEncode(this.currentTag)}`
|
||||
);
|
||||
_.pull(this.$root.$refs.view.activatedQuickPanels, this.currentTag);
|
||||
quickcommand.showMessageBox("取消收藏成功");
|
||||
},
|
||||
},
|
||||
};
|
||||
</script>
|
||||
Reference in New Issue
Block a user