1
0
forked from x/volcanos
This commit is contained in:
harveyshao 2022-10-15 23:17:54 +08:00
parent 741d70d78f
commit be90a47487
4 changed files with 10 additions and 11 deletions

View File

@ -51,11 +51,11 @@ Volcanos(chat.ONFIGURE, {help: "控件详情", key: {
}, },
onkeydown: function(event, can, meta, cb, target, last) { onkeydown: function(event, can, meta, cb, target, last) {
switch (event.key) { switch (event.key) {
case "Enter": meta._enter && meta._enter(event); break
case "Escape": target._can? target._can.close(): target.blur(); return case "Escape": target._can? target._can.close(): target.blur(); return
case "Tab": target._can && target._can.close(); return case "Tab": target._can && target._can.close(); return
case "n": case "n":
case "p": event.ctrlKey && can.onkeymap.prevent(event); break case "p": event.ctrlKey && can.onkeymap.prevent(event); break
case "Enter": if (meta._enter) { meta._enter(event); break }
default: can.base.isFunc(last) && last(event, can) default: can.base.isFunc(last) && last(event, can)
} }
can.onfigure.key._make(event, can, meta, cb, target) can.onfigure.key._make(event, can, meta, cb, target)

View File

@ -387,7 +387,7 @@ Volcanos(chat.ONIMPORT, {help: "导入数据", _init: function(can, msg, cb, tar
var hash = location.hash; can.tabview[can.onexport.keys(can)] = msg var hash = location.hash; can.tabview[can.onexport.keys(can)] = msg
can.onimport.tabview(can, can.Option(nfs.PATH), can.Option(nfs.FILE), can.Option(nfs.LINE), function() { can.onimport.tabview(can, can.Option(nfs.PATH), can.Option(nfs.FILE), can.Option(nfs.LINE), function() {
if (can.isCmdMode() && hash) { var args = can.core.Split(decodeURIComponent(hash).slice(1)) if (can.isCmdMode() && hash) { var args = can.core.Split(decodeURIComponent(hash).slice(1))
can.onmotion.delay(can, function() { can.onimport.tabview(can, args[args.length-3]||can.Option(nfs.PATH), args[args.length-2]||can.Option(nfs.FILE), args[args.length-1]) }, 30) can.onmotion.delay(can, function() { can.onimport.tabview(can, args[args.length-3]||can.Option(nfs.PATH), args[args.length-2]||can.Option(nfs.FILE), args[args.length-1]) }, 300)
} }
}), can.base.isFunc(cb) && cb(msg) }), can.base.isFunc(cb) && cb(msg)
}, },

View File

@ -223,8 +223,8 @@ Volcanos(chat.ONKEYMAP, {help: "键盘交互",
Enter: shy("换行", function(can, target) { if (event.key != "Enter") { return } Enter: shy("换行", function(can, target) { if (event.key != "Enter") { return }
var rest = can.onkeymap.deleteText(target, target.selectionEnd), text = can.ui.current.value var rest = can.onkeymap.deleteText(target, target.selectionEnd), text = can.ui.current.value
var left = text.substr(0, text.indexOf(text.trimLeft()))||(text.trimRight() == ""? text: "") var left = text.substr(0, text.indexOf(text.trimLeft()))||(text.trimRight() == ""? text: "")
can.core.List(["{}", "[]", "()"], function(item) { if (can.base.endWith(text, item[0])) { text && can.core.List(["{}", "[]", "()"], function(item) { if (can.base.endWith(text, item[0])) {
!can.base.beginWith(rest, item[1]) && (left += ice.TB), !rest && can.onaction.insertLine(can, left+item[1], can.current.next()) !can.base.beginWith(rest, item[1]) && (!rest && can.onaction.insertLine(can, left+item[1], can.current.next()), left += ice.TB)
} }); if (can.base.endWith(text, "`") && can.base.count(text, "`")%2==1) { !rest && can.onaction.insertLine(can, left+"`", can.current.next()) } } }); if (can.base.endWith(text, "`") && can.base.count(text, "`")%2==1) { !rest && can.onaction.insertLine(can, left+"`", can.current.next()) }
var line = can.onaction.insertLine(can, left+rest.trimLeft(), can.current.next()) var line = can.onaction.insertLine(can, left+rest.trimLeft(), can.current.next())
can.current.text(text.trimRight()||text), can.onaction.selectLine(can, line) can.current.text(text.trimRight()||text), can.onaction.selectLine(can, line)
@ -414,10 +414,8 @@ Volcanos(chat.ONACTION, {help: "控件交互",
_getLineno: function(can, line) { _getLineno: function(can, line) {
return can.page.Select(can, can.ui.content, html.TR, function(item, index, array) { if (item == line || index+1 == line) { return index+1 } })[0] return can.page.Select(can, can.ui.content, html.TR, function(item, index, array) { if (item == line || index+1 == line) { return index+1 } })[0]
}, },
rerankLine: function(can, value) { can.max = 0 rerankLine: function(can, value) {
can.page.Select(can, can.ui.content, html.TR, function(item, index) { can.max = can.page.Select(can, can.ui.content, "tr>td.line", function(target, index) { return target.innerText = index+1 }).length
can.max++, can.page.Select(can, item, "td.line", function(item) { item.innerText = index+1 })
})
}, },
insertLine: function(can, value, before) { var line = can.onaction.appendLine(can, value) insertLine: function(can, value, before) { var line = can.onaction.appendLine(can, value)
before && can.ui.content.insertBefore(line, can.onaction._getLine(can, before)) before && can.ui.content.insertBefore(line, can.onaction._getLine(can, before))

View File

@ -81,12 +81,13 @@ Volcanos(chat.ONIMPORT, {help: "导入数据", _init: function(can, msg, cb, tar
} }
can.onmotion.modify(can, event.target, function(sub, value) { can.onmotion.modify(can, event.target, function(sub, value) {
can.onaction.modifyTask(event, can, task, key, value) can.onaction.modifyTask(event, can, task, key, value)
event.target.innerText = value
}, {name: key, action: key.indexOf(mdb.TIME) > 0? "date": "key", msg: msg, mode: "simple"}) }, {name: key, action: key.indexOf(mdb.TIME) > 0? "date": "key", msg: msg, mode: "simple"})
}, },
}]) }), can.onimport._display(can, task) }]) }), can.onimport._display(can, task)
}, },
_display: function(can, task) { if (!task["extra.cmd"]) { return } _display: function(can, task) { if (!task["extra.index"]) { return }
can.onappend.plugin(can, {type: "plug", ctx: task["extra.ctx"], cmd: task["extra.cmd"], arg: task["extra.arg"]}, function(sub, meta) { can.onappend.plugin(can, {type: "plug", index: task["extra.index"], args: task["extra.args"]}, function(sub, meta) {
sub.run = function(event, cmds, cb) { var msg = can.request(event, kit.Dict("task.pod", task["pod"], "task.zone", task.zone, "task.id", task.id)) sub.run = function(event, cmds, cb) { var msg = can.request(event, kit.Dict("task.pod", task["pod"], "task.zone", task.zone, "task.id", task.id))
can.runAction(event, ice.RUN, [task[mdb.ZONE], task[mdb.ID]].concat(cmds), cb) can.runAction(event, ice.RUN, [task[mdb.ZONE], task[mdb.ID]].concat(cmds), cb)
} }
@ -171,7 +172,7 @@ Volcanos(chat.ONACTION, {help: "组件交互", list: [
}) })
}, },
modifyTask: function(event, can, task, key, value) { modifyTask: function(event, can, task, key, value) {
can.runAction(can.request(event, task), mdb.MODIFY, [key, value, task[key]]) can.runAction(can.request(event, task, can.Option()), mdb.MODIFY, [key, value])
}, },
_filter: function(event, can, key, value) { var count = 0 _filter: function(event, can, key, value) { var count = 0