mirror of
https://github.com/fofolee/uTools-quickcommand.git
synced 2025-07-04 07:02:50 +08:00
subinput历史记录
This commit is contained in:
parent
82646538c2
commit
804caf8c26
@ -49,6 +49,7 @@
|
|||||||
import outputTypes from "../js/options/outputTypes.js";
|
import outputTypes from "../js/options/outputTypes.js";
|
||||||
import specialVars from "../js/options/specialVars.js";
|
import specialVars from "../js/options/specialVars.js";
|
||||||
import commandTypes from "../js/options/commandTypes.js";
|
import commandTypes from "../js/options/commandTypes.js";
|
||||||
|
import { event } from "quasar";
|
||||||
|
|
||||||
export default {
|
export default {
|
||||||
data() {
|
data() {
|
||||||
@ -58,6 +59,8 @@ export default {
|
|||||||
runResultStatus: true,
|
runResultStatus: true,
|
||||||
subInputValue: "",
|
subInputValue: "",
|
||||||
listener: null,
|
listener: null,
|
||||||
|
history: [],
|
||||||
|
historyIdx: 1,
|
||||||
};
|
};
|
||||||
},
|
},
|
||||||
props: {
|
props: {
|
||||||
@ -143,8 +146,8 @@ export default {
|
|||||||
// 子输入框
|
// 子输入框
|
||||||
setSubInput(currentCommand) {
|
setSubInput(currentCommand) {
|
||||||
this.fromUtools && utools.setExpendHeight(0);
|
this.fromUtools && utools.setExpendHeight(0);
|
||||||
let matched = currentCommand.cmd.match(specialVars.subinput.match);
|
let matched = specialVars.subinput.match.exec(currentCommand.cmd);
|
||||||
let placeholder = matched[1] || "请输入";
|
let placeholder = matched[1] || "回车键执行命令,方向键上下切换历史";
|
||||||
utools.setSubInput(({ text }) => {
|
utools.setSubInput(({ text }) => {
|
||||||
this.subInputValue = text;
|
this.subInputValue = text;
|
||||||
}, placeholder);
|
}, placeholder);
|
||||||
@ -154,6 +157,8 @@ export default {
|
|||||||
specialVars.subinput.match,
|
specialVars.subinput.match,
|
||||||
this.subInputValue
|
this.subInputValue
|
||||||
);
|
);
|
||||||
|
this.history.push(this.subInputValue);
|
||||||
|
utools.setSubInputValue("");
|
||||||
this.fire(command);
|
this.fire(command);
|
||||||
};
|
};
|
||||||
// 自动粘贴的情况下自动执行
|
// 自动粘贴的情况下自动执行
|
||||||
@ -161,7 +166,30 @@ export default {
|
|||||||
if (this.subInputValue) querySubInput();
|
if (this.subInputValue) querySubInput();
|
||||||
}, 100);
|
}, 100);
|
||||||
this.listener = (event) => {
|
this.listener = (event) => {
|
||||||
if (event.keyCode == 13) querySubInput();
|
event.preventDefault();
|
||||||
|
switch (event.keyCode) {
|
||||||
|
case 13:
|
||||||
|
querySubInput();
|
||||||
|
break;
|
||||||
|
case 38:
|
||||||
|
if (!this.history.length) break;
|
||||||
|
this.historyIdx = Math.min(
|
||||||
|
this.history.length + 1,
|
||||||
|
this.historyIdx + 1
|
||||||
|
);
|
||||||
|
utools.setSubInputValue(
|
||||||
|
this.history[this.history.length - this.historyIdx + 1]
|
||||||
|
);
|
||||||
|
break;
|
||||||
|
case 40:
|
||||||
|
if (this.historyIdx === 1) break;
|
||||||
|
this.historyIdx = Math.max(1, this.historyIdx - 1);
|
||||||
|
utools.setSubInputValue(
|
||||||
|
this.history[this.history.length - this.historyIdx]
|
||||||
|
);
|
||||||
|
default:
|
||||||
|
break;
|
||||||
|
}
|
||||||
};
|
};
|
||||||
document.addEventListener("keydown", this.listener, true);
|
document.addEventListener("keydown", this.listener, true);
|
||||||
},
|
},
|
||||||
|
Loading…
x
Reference in New Issue
Block a user