mirror of
https://github.com/fofolee/uTools-quickcommand.git
synced 2025-06-08 14:34:13 +08:00
313 lines
8.1 KiB
JavaScript
313 lines
8.1 KiB
JavaScript
import { newVarInputVal } from "js/composer/varInputValManager";
|
||
|
||
const SAVE_DIALOG_PROPERTIES = {
|
||
component: "CheckGroup",
|
||
icon: "settings",
|
||
label: "选项",
|
||
width: 12,
|
||
options: [
|
||
{ label: "显示隐藏文件", value: "showHiddenFiles" },
|
||
{ label: "允许创建文件夹(Mac)", value: "createDirectory" },
|
||
{
|
||
label: "将.App作为目录(Mac)",
|
||
value: "treatPackageAsDirectory",
|
||
},
|
||
{
|
||
label: "显示覆盖确认(Linux)",
|
||
value: "showOverwriteConfirmation",
|
||
},
|
||
{ label: "不添加到最近(Win)", value: "dontAddToRecent" },
|
||
],
|
||
};
|
||
|
||
const OPEN_DIALOG_PROPERTIES = {
|
||
...SAVE_DIALOG_PROPERTIES,
|
||
options: [
|
||
{ label: "选择文件", value: "openFile" },
|
||
{ label: "选择文件夹", value: "openDirectory" },
|
||
{ label: "允许多选", value: "multiSelections" },
|
||
{ label: "显示隐藏文件", value: "showHiddenFiles" },
|
||
{ label: "提示新建路径(Win)", value: "promptToCreate" },
|
||
{ label: "不添加到最近(Win)", value: "dontAddToRecent" },
|
||
{ label: "允许创建文件夹(Mac)", value: "createDirectory" },
|
||
{ label: "不解析符号链接(Mac)", value: "noResolveAliases" },
|
||
{
|
||
label: "将.App作为目录(Mac)",
|
||
value: "treatPackageAsDirectory",
|
||
},
|
||
],
|
||
};
|
||
|
||
const DIALOG_CONFIG = {
|
||
options: {
|
||
title: {
|
||
label: "标题",
|
||
component: "VariableInput",
|
||
icon: "title",
|
||
width: 6,
|
||
},
|
||
defaultPath: {
|
||
label: "默认路径",
|
||
component: "VariableInput",
|
||
icon: "folder",
|
||
width: 6,
|
||
},
|
||
buttonLabel: {
|
||
label: "按钮文本",
|
||
component: "VariableInput",
|
||
icon: "text_fields",
|
||
width: 6,
|
||
},
|
||
message: {
|
||
label: "提示信息",
|
||
component: "VariableInput",
|
||
icon: "info",
|
||
width: 6,
|
||
},
|
||
filters: {
|
||
topLabel: "过滤器",
|
||
component: "ArrayEditor",
|
||
icon: "filter_list",
|
||
width: 12,
|
||
defaultRowValue: [newVarInputVal("str"), newVarInputVal("var", "")],
|
||
columns: {
|
||
name: {
|
||
label: "文件类型",
|
||
noIcon: true,
|
||
width: 4,
|
||
},
|
||
extensions: {
|
||
label: "扩展名",
|
||
noIcon: true,
|
||
width: 7,
|
||
disableToggleType: true,
|
||
options: {
|
||
items: ["*", "jpg", "png", "gif", "txt", "json", "exe"],
|
||
multiSelect: true,
|
||
},
|
||
},
|
||
},
|
||
},
|
||
},
|
||
defaultValue: {
|
||
title: newVarInputVal("str", "请选择"),
|
||
defaultPath: newVarInputVal("str"),
|
||
buttonLabel: newVarInputVal("str", "选择"),
|
||
message: newVarInputVal("str", "请选择"),
|
||
filters: [
|
||
{
|
||
name: newVarInputVal("str", "file"),
|
||
extensions: newVarInputVal("var", '["*"]'),
|
||
},
|
||
],
|
||
properties: ["openFile", "showHiddenFiles"],
|
||
},
|
||
};
|
||
|
||
export const uiCommands = {
|
||
label: "用户交互",
|
||
icon: "web",
|
||
defaultOpened: false,
|
||
commands: [
|
||
{
|
||
value: "quickcommand.showButtonBox",
|
||
label: "按钮组",
|
||
isAsync: true,
|
||
outputVariable: "{id,text}",
|
||
saveOutput: true,
|
||
width: 12,
|
||
config: [
|
||
{
|
||
label: "按钮",
|
||
component: "ArrayEditor",
|
||
defaultValue: [
|
||
newVarInputVal("str", "是"),
|
||
newVarInputVal("str", "否"),
|
||
],
|
||
defaultRowValue: newVarInputVal("str"),
|
||
},
|
||
],
|
||
},
|
||
{
|
||
value: "quickcommand.showInputBox",
|
||
label: "输入框",
|
||
isAsync: true,
|
||
outputVariable: "[inputValue1]",
|
||
saveOutput: true,
|
||
width: 12,
|
||
config: [
|
||
{
|
||
label: "输入框",
|
||
component: "ArrayEditor",
|
||
width: 12,
|
||
columns: {
|
||
label: {
|
||
label: "标签",
|
||
},
|
||
value: {
|
||
label: "默认值",
|
||
},
|
||
},
|
||
defaultValue: [
|
||
{
|
||
label: newVarInputVal("str", "请输入"),
|
||
value: newVarInputVal("str"),
|
||
},
|
||
],
|
||
},
|
||
{
|
||
label: "标题",
|
||
component: "VariableInput",
|
||
defaultValue: newVarInputVal("str"),
|
||
width: 12,
|
||
},
|
||
],
|
||
},
|
||
{
|
||
value: "quickcommand.showSelectList",
|
||
label: "选择列表",
|
||
desc: "显示一个支持搜索的选项列表,可以动态更新选项",
|
||
component: "SelectListEditor",
|
||
isAsync: true,
|
||
},
|
||
{
|
||
value: "quickcommand.showTextArea",
|
||
label: "文本框",
|
||
desc: "显示一个文本框,可以输入多行文本",
|
||
isAsync: true,
|
||
outputVariable: "textareaValue",
|
||
saveOutput: true,
|
||
config: [
|
||
{
|
||
label: "文本框占位符",
|
||
component: "VariableInput",
|
||
defaultValue: newVarInputVal("str", "请输入"),
|
||
width: 6,
|
||
},
|
||
{
|
||
label: "文本框默认值",
|
||
component: "VariableInput",
|
||
defaultValue: newVarInputVal("str"),
|
||
width: 6,
|
||
},
|
||
],
|
||
},
|
||
{
|
||
value: "quickcommand.showMessageBox",
|
||
label: "消息提示",
|
||
desc: "显示一个自动消失的提示框",
|
||
isAsync: true,
|
||
config: [
|
||
{
|
||
label: "提示内容",
|
||
component: "VariableInput",
|
||
icon: "info",
|
||
defaultValue: newVarInputVal("str", "这是一条提示消息"),
|
||
width: 12,
|
||
},
|
||
{
|
||
label: "图标类型",
|
||
component: "q-select",
|
||
defaultValue: "success",
|
||
icon: "lightbulb",
|
||
width: 6,
|
||
options: [
|
||
{ label: "成功", value: "success" },
|
||
{ label: "错误", value: "error" },
|
||
{ label: "警告", value: "warning" },
|
||
{ label: "信息", value: "info" },
|
||
],
|
||
},
|
||
{
|
||
label: "显示时间(ms)",
|
||
component: "NumberInput",
|
||
min: 0,
|
||
step: 100,
|
||
width: 6,
|
||
placeholder: "0为手动关闭,留空按文本长度调整",
|
||
},
|
||
],
|
||
},
|
||
{
|
||
value: "quickcommand.showConfirmBox",
|
||
label: "确认框",
|
||
desc: "显示一个确认框,返回是否点击了确认",
|
||
isAsync: true,
|
||
outputVariable: "confirmed",
|
||
saveOutput: true,
|
||
config: [
|
||
{
|
||
label: "提示内容",
|
||
component: "VariableInput",
|
||
defaultValue: newVarInputVal("str", "确认要执行此操作吗?"),
|
||
width: 12,
|
||
},
|
||
{
|
||
label: "标题",
|
||
component: "VariableInput",
|
||
defaultValue: newVarInputVal("str", "提示"),
|
||
width: 7,
|
||
},
|
||
{
|
||
label: "支持HTML",
|
||
component: "q-toggle",
|
||
defaultValue: false,
|
||
width: 2,
|
||
},
|
||
{
|
||
label: "宽度",
|
||
component: "NumberInput",
|
||
min: 0,
|
||
step: 100,
|
||
defaultValue: 450,
|
||
width: 3,
|
||
placeholder: "对话框宽度",
|
||
},
|
||
],
|
||
},
|
||
{
|
||
value: "utools.showOpenDialog",
|
||
label: "文件选择框",
|
||
desc: "显示一个文件选择框,返回选择的文件路径",
|
||
outputVariable: "filePaths",
|
||
saveOutput: true,
|
||
subCommands: [
|
||
{
|
||
value: "utools.showOpenDialog",
|
||
label: "打开文件对话框",
|
||
desc: "打开文件对话框",
|
||
icon: "folder_open",
|
||
config: [
|
||
{
|
||
label: "选项",
|
||
component: "OptionEditor",
|
||
defaultValue: DIALOG_CONFIG.defaultValue,
|
||
options: {
|
||
...DIALOG_CONFIG.options,
|
||
properties: OPEN_DIALOG_PROPERTIES,
|
||
},
|
||
},
|
||
],
|
||
},
|
||
{
|
||
value: "utools.showSaveDialog",
|
||
label: "保存文件对话框",
|
||
desc: "保存文件对话框",
|
||
icon: "save",
|
||
config: [
|
||
{
|
||
label: "选项",
|
||
component: "OptionEditor",
|
||
defaultValue: DIALOG_CONFIG.defaultValue,
|
||
options: {
|
||
...DIALOG_CONFIG.options,
|
||
properties: SAVE_DIALOG_PROPERTIES,
|
||
},
|
||
},
|
||
],
|
||
},
|
||
],
|
||
},
|
||
],
|
||
};
|