1
0
mirror of https://shylinux.com/x/ContextOS synced 2025-04-26 17:24:05 +08:00

opt onaction

Change-Id: I478f1e0ac6a5dbd3d5807b9e3c250e837b0355cc
This commit is contained in:
shaoying 2018-12-09 18:57:25 +08:00
parent f7bf81abb8
commit 0d82a3293c
2 changed files with 68 additions and 55 deletions

View File

@ -342,8 +342,6 @@ function onaction(event, action, arg) {
var dataset = target.dataset var dataset = target.dataset
switch (action) { switch (action) {
case "workflow":
break
case "scroll": case "scroll":
var body = document.getElementsByTagName("body")[0] var body = document.getElementsByTagName("body")[0]
if (target.tagName == "BODY") { if (target.tagName == "BODY") {
@ -395,45 +393,60 @@ function onaction(event, action, arg) {
if (target.tagName == "INPUT" && target.type == "text") { if (target.tagName == "INPUT" && target.type == "text") {
return return
} }
if (event.ctrlKey) {
switch (event.key) {
case "b":
var item = document.querySelector("div.workflow>div")
item.onclick()
break
case "p":
var target = document.querySelector("div.workflow>ul>li>ul>li[data-action=quick_txt]")
code.quick_txt = !code.quick_txt
target.className= code.quick_txt? "quick": ""
break
case "y":
copy_to_clipboard(prompt("text"))
break
case "s":
save_clipboard(document.querySelector("div.workflow>ul>li>ul.txt>li[data-action=save_txt"))
break
case "m":
add_command()
break
case "z":
shrink_command_result()
break
case "r":
location.reload()
break
case "t":
location.search = ""
break
case "g":
document.querySelectorAll("form.option label.keymap").forEach(function(item) {
code.showmap = !(item.className == "keymap show")
item.className = code.showmap? "keymap show": "keymap hide"
})
break
case "0":
document.querySelector("form.option.command input[name=cmd]").focus()
break
case "1":
case "2":
case "3":
case "4":
case "5":
case "6":
case "7":
case "8":
case "9":
document.querySelector("form.option.command"+event.key+" input[name=cmd]").focus()
break
}
return
}
switch (event.key) { switch (event.key) {
case "g":
document.querySelectorAll("form.option label.keymap").forEach(function(item) {
code.showmap = !(item.className == "keymap show")
item.className = code.showmap? "keymap show": "keymap hide"
})
break
case "m":
add_command()
break
case "z":
shrink_command_result()
break
case "s":
save_clipboard(document.querySelector("div.workflow>ul>li>ul.txt>li[data-action=save_txt"))
break
case "y":
copy_to_clipboard(prompt("text"))
break
case "r":
location.reload()
break
case "t":
location.search = ""
break
case "0":
document.querySelector("form.option.command input[name=cmd]").focus()
break
case "1":
case "2":
case "3":
case "4":
case "5":
case "6":
case "7":
case "8":
case "9":
document.querySelector("form.option.command"+event.key+" input[name=cmd]").focus()
break
default: default:
if (code.inputs[event.key]) { if (code.inputs[event.key]) {
code.inputs[event.key].focus() code.inputs[event.key].focus()
@ -441,16 +454,6 @@ function onaction(event, action, arg) {
break break
} }
break break
case "command":
check_option(target.form, target)
break
case "click":
if (target.nodeName == "INPUT" && event.altKey) {
var board = document.querySelector(".clipboard")
target.value = board.value
check_option(target.form, target)
}
break
case "input": case "input":
if (event.key == "Escape") { if (event.key == "Escape") {
target.blur() target.blur()
@ -468,7 +471,6 @@ function onaction(event, action, arg) {
var result = command.querySelector("code.result pre") var result = command.querySelector("code.result pre")
if (event.ctrlKey) { if (event.ctrlKey) {
// yt
switch (event.key) { switch (event.key) {
case "1": case "1":
case "2": case "2":
@ -600,13 +602,24 @@ function onaction(event, action, arg) {
break break
} }
} }
if (dataset["last_char"] == "j" && event.key == "k") { if (dataset["last_char"] == "j" && event.key == "k") {
target.value = target.value.substr(0, target.value.length-2) target.value = target.value.substr(0, target.value.length-2)
target.blur() target.blur()
} }
dataset["last_char"] = event.key dataset["last_char"] = event.key
return false break
case "click":
if (target.nodeName == "INPUT" && event.altKey) {
var board = document.querySelector(".clipboard")
target.value = board.value
check_option(target.form, target)
}
break
case "command":
check_option(target.form, target)
break
} }
} }

View File

@ -136,7 +136,7 @@
} }
</style> </style>
</head> </head>
<body onkeyup="return onaction(event, 'keymap')" onkeydown="return onaction(event, 'scroll')"> <body onkeydown="return onaction(event, 'scroll')" onkeyup="return onaction(event, 'keymap')">
<script> <script>
{{$id := option . "bench"|option}} {{$id := option . "bench"|option}}
var bench ={{conf . "bench" $id}} var bench ={{conf . "bench" $id}}
@ -164,13 +164,13 @@
{{$bench := conf . "bench" $key}} {{$bench := conf . "bench" $key}}
<script>var workflow = {{conf . "bench"}}</script> <script>var workflow = {{conf . "bench"}}</script>
<div class="workflow"> <div class="workflow">
<div>&nbsp;bench</div> <div>&nbsp;bench (Ctrl+B)</div>
<ul class="docker"> <ul class="docker">
<li><span>粘贴板</span> <li><span>粘贴板</span>
<ul class="txt"> <ul class="txt">
<li data-action="save_txt">+ 保存粘贴板(Ctrl+S)</li> <li data-action="save_txt">+ 保存粘贴板(Ctrl+S)</li>
<li data-action="create_txt">+ 添加粘贴板(Ctrl+Y)</li> <li data-action="create_txt">+ 添加粘贴板(Ctrl+Y)</li>
<li data-action="quick_txt">+ 快捷粘贴板</li> <li data-action="quick_txt">+ 快捷粘贴板(Ctrl+P)</li>
</ul> </ul>
</li> </li>
<li><span>命令行</span> <li><span>命令行</span>