1
0
mirror of https://shylinux.com/x/ContextOS synced 2025-04-25 16:58:06 +08:00

add focus color

This commit is contained in:
shaoying 2019-08-20 09:55:48 +08:00
parent 72f57af479
commit 4b6f98256d
4 changed files with 31 additions and 16 deletions

View File

@ -152,7 +152,7 @@ Page({
}}])
})
},
Clear: function(name) {
clear: function(name) {
table.innerHTML = "", ui.list.innerHTML = "", ui.name.value = name, ui.name.focus()
},
Create: function(name, list) {
@ -162,7 +162,7 @@ Page({
})
},
Show: function() {var pane = field.Pane
pane.Dialog() && (pane.Clear("good"), pane.Run([], pane.Append))
pane.Dialog() && (pane.clear("good"), pane.Run([], pane.Append))
},
Action: {
"取消": function(event) {
@ -230,7 +230,7 @@ Page({
initSource: function(page, field, option, output) {
var ui = kit.AppendChild(field, [{"view": ["input", "textarea"], "data": {"onkeyup": function(event){
page.oninput(event), kit.isSpace(event.key) && field.Pane.which.set(event.target.value)
event.key == "Enter" && !event.shiftKey && page.target.Pane.Send("text", event.target.value, field.Pane.Clear)
event.key == "Enter" && !event.shiftKey && page.target.Pane.Send("text", event.target.value, field.Pane.clear)
}, "onkeydown": function(event) {
event.key == "Enter" && !event.shiftKey && event.preventDefault()
}}}])
@ -238,7 +238,7 @@ Page({
Select: function() {
ui.first.focus()
},
Clear: function(value) {
clear: function(value) {
ui.first.value = ""
},
Size: function(width, height) {
@ -295,8 +295,8 @@ Page({
if (typeof engine[args[0]] == "function") {
return kit._call(engine[args[0]], args.slice(1))
}
if (page.plugin && typeof page.plugin[args[0]] == "function") {
return kit._call(page.plugin[args[0]], args.slice(1))
if (page.plugin && typeof page.plugin.Plugin[args[0]] == "function") {
return kit._call(page.plugin.Plugin[args[0]], args.slice(1))
}
if (page.dialog && page.dialog.Pane.Jshy(event, args)) {return true}
@ -330,7 +330,7 @@ Page({
Show: function() {var pane = field.Pane
if (field.Pane.Back(river+storm, output)) {return}
pane.Clear(), pane.Update([river, storm], "plugin", ["node", "name"], "index", false, function(line, index, event, args, cbs) {
pane.clear(), pane.Update([river, storm], "plugin", ["node", "name"], "index", false, function(line, index, event, args, cbs) {
pane.Core(event, line, args, cbs)
})
},
@ -507,7 +507,7 @@ Page({
list.push(item.dataset.index)
list.push(item.dataset.name)
})
if (list.length == 0) {kit.alert("请添加命令"); return}
// if (list.length == 0) {kit.alert("请添加命令"); return}
field.Pane.Create(ui.name.value, list)

View File

@ -255,6 +255,10 @@ fieldset.item>div.output>div.status>input.cmd {
width:250px;
}
fieldset.item.select {
background-color:gold;
}
fieldset table {
font-size:14px;
overflow: auto;

View File

@ -467,6 +467,7 @@ function Page(page) {
page.action.Pane.Core(event, {}, ["_cmd", event.target.value]), event.target.value = ""
event.stopPropagation()
event.preventDefault()
ui.magic.focus()
return
}
@ -540,7 +541,7 @@ function Pane(page, field) {
last = index, list[index] && (list[index].className = "item select")
key && pane.which.set(key)
},
Clear: function() {
clear: function() {
output.innerHTML = "", list = [], last = -1
},
@ -572,6 +573,7 @@ function Pane(page, field) {
},
Jshy: function(event, args) {
if (pane[args[0]] && pane[args[0]].type == "fieldset") {
pane[args[0]].Plugin.Select()
return pane[args[0]].Plugin.Jshy(event, args.slice(1))
}
if (typeof pane.Action[args[0]] == "function") {
@ -703,8 +705,11 @@ function Plugin(page, pane, field, run) {
page.plugin = field.previousSibling
field.parentNode.removeChild(field)
},
Select: function() {
option.querySelectorAll("input")[1].focus()
Select: function(focus) {
field.scrollIntoView()
page.plugin && (page.plugin.className = "item")
page.plugin = field, field.className = "item select"
focus && option.querySelectorAll("input")[1].focus()
},
Reveal: function(msg) {
return msg.append && msg.append[0]? ["table", JSON.stringify(ctx.Tables(msg))]: ["code", msg.result? msg.result.join(""): ""]
@ -744,8 +749,10 @@ function Plugin(page, pane, field, run) {
if (typeof plugin[args[0]] == "function") {
return kit._call(plugin[args[0]], args.slice(1))
}
if (args.length > 1) {
return kit._call(plugin.Run, [event].concat(args.slice(1)))
if (args.length > 0) {
kit.Selector(option, ".args", function(item, index) {
index < args.length && (item.value = args[index])
})
}
return kit._call(plugin.Runs, [event])
},
@ -777,6 +784,9 @@ function Plugin(page, pane, field, run) {
})
},
clear: function() {
output.innerHTML = ""
},
display: function(arg, cb) {
display.deal = arg, plugin.ondaemon[display.deal||"table"](plugin.msg, cb)
},
@ -826,11 +836,12 @@ function Plugin(page, pane, field, run) {
},
onaction: {
onfocus: function(event, action, type, name, item) {
page.pane = pane.target, page.plugin = plugin.target, page.input = event.target
page.input = event.target
},
onclick: function(event, action, type, name, item) {
switch (type) {
case "button":
plugin.Select()
action[item.click]? action[item.click](event, item, option, field):
plugin[item.click]? plugin[item.click](event, item, option, field): plugin.Runs(event)
break

View File

@ -525,9 +525,9 @@ kit = toolkit = {
Selector: function(obj, item, cb) {
var list = []
obj.querySelectorAll(item).forEach(function(item, index) {
obj.querySelectorAll(item).forEach(function(item, index, array) {
if (typeof cb == "function") {
var value = cb(item)
var value = cb(item, index, array)
value != undefined && list.push(value)
} else {
list.push(item)