1
0
mirror of https://shylinux.com/x/volcanos synced 2025-04-25 08:48:06 +08:00
This commit is contained in:
IT 老营长 @云轩领航-创始人 2023-05-28 20:06:54 +08:00
parent da34282cf3
commit e41a18978e
3 changed files with 23 additions and 9 deletions

View File

@ -193,14 +193,14 @@ Volcanos(chat.ONAPPEND, {_init: function(can, meta, list, cb, target, field) {
}, can._inputs = can._inputs||{}, can._inputs[item.name] = sub, sub.sup = can
can.core.ItemCB(sub.onaction, function(key, cb) { sub._target[key] = function(event) { can.misc.Event(event, can, function(msg) { cb(event, sub, sub._target) })} })
can.core.ItemCB(item, function(key, cb) { sub._target[key] = function(event) { can.misc.Event(event, can, function(msg) { cb(event, sub, sub._target) })} })
item.action && can.onappend.figure(sub, item, sub._target, function(_sub, value) { sub._target.value = value, can.Update() })
item.action && can.onappend.figure(sub, item, sub._target, function(_sub, value) { can.Update() })
if (skip) { return } item.type == html.BUTTON && item.action == ice.AUTO && can.base.isUndefined(can._delay_init) && (auto = sub._target), next()
})
}; var auto; can.core.Next(can.core.Value(can, [chat.ONIMPORT, mdb.LIST])||meta.inputs, add, function() { auto && auto.click() })
},
_action: function(can, list, action, meta) { meta = meta||can.onaction||{}, action = action||can._action, can.onmotion.clear(can, action)
function run(event, button) { can.misc.Event(event, can, function(msg) { var _can = can._fields? can.sup: can
var cb = meta[button]||meta[chat._ENGINE]; cb? can.core.CallFunc(cb, {event: event, can: can, button: button}): can.run(event, [ctx.ACTION, button].concat(_can.Input()))
var cb = meta[button]||meta[chat._ENGINE]; cb? can.core.CallFunc(cb, {event: event, can: can, button: button}): can.run(event, button == mdb.LIST? []: [ctx.ACTION, button].concat(_can.Input()))
}) }
return can.core.List(can.page.inputs(can, can.base.getValid(can.base.Obj(list), can.core.Value(can, [chat.ONACTION, mdb.LIST]), meta != can.onaction? can.core.Item(meta): [])||[]), function(item) {
can.base.isUndefined(item) || can.onappend.input(can, item == ""? /* 1.空白 */ {type: html.BR}:
@ -211,7 +211,7 @@ Volcanos(chat.ONAPPEND, {_init: function(can, meta, list, cb, target, field) {
}) }}: /* 4.其它 */(item.type == html.BUTTON && (item.value = item.value||can.user.trans(can, item.name, meta._trans), item.onclick = item.onclick||function(event) {
run(event, item.name)
}, item._init = item._init||function(target) {
// if (!can.page.ClassList.has(can, can._fields||can._target, chat.STORY)) { return }
item.action && can.onappend.figure(sub, item, target, function(_sub, value) { can.Update() })
if (can.base.isIn(item.name, mdb.CREATE, mdb.INSERT)) { can.onappend.style(can, "icons", target.parentNode)
can.page.Append(can, target.parentNode, [{icon: item.name, onclick: function(event) { can.Update(event, [ctx.ACTION, item.name]) }}])
}
@ -357,7 +357,10 @@ Volcanos(chat.ONAPPEND, {_init: function(can, meta, list, cb, target, field) {
var icon = [], _item = can.base.Copy({className: "", type: "", name: ""}, item), input = can.page.input(can, _item, value)
if (item.type == html.BUTTON && !input.value) { input.value = can.user.trans(can, item.name) }
if (item.type == html.TEXT) { input.onfocus = input.onfocus||function(event) { can.onmotion.selectRange(event.target) }
input.onkeydown = item.onkeydown||function(event) { can.onkeymap.input(event, can), can.onkeymap.selectOutput(event, can) }
input.onkeydown = item.onkeydown||function(event) {
if (event.key == lang.ENTER) { can.Update() }
can.onkeymap.input(event, can), can.onkeymap.selectOutput(event, can)
}
input.onkeyup = item.onkeyup||function(event) { if (item.name == html.FILTER) { can.user.toast(can, "filter out "+can.page.Select(can, can._output, html.TR, function(tr, index) {
if (!can.page.ClassList.set(can, tr, html.HIDE, index > 0 && tr.innerText.indexOf(event.target.value) == -1)) { return tr }
}).length+" lines") } }
@ -502,7 +505,7 @@ Volcanos(chat.ONAPPEND, {_init: function(can, meta, list, cb, target, field) {
}, can._root._target) },
figure: function(can, meta, target, cb) { if (meta.type == html.SELECT || meta.type == html.BUTTON) { return }
var input = meta.action||mdb.KEY, path = chat.PLUGIN_INPUT+input+nfs._JS; can.require([path], function(can) {
function _cb(sub, value, old) { if (value == old) { return } can.base.isFunc(cb)? cb(sub, value, old): target.value = value }
function _cb(sub, value, old) { if (value == old) { return } target.value = value, can.base.isFunc(cb) && cb(sub, value, old) }
target.onkeydown = function() { if (event.key == lang.ESCAPE && target._can) { return target._can.close(), target.blur() } else if (event.key == lang.ENTER) { can.base.isFunc(cb) && cb(event, target.value) } }
can.core.ItemCB(can.onfigure[input], function(key, on) { var last = target[key]||function() { }; target[key] = function(event) { can.misc.Event(event, can, function(msg) {
function show(sub, cb) { can.base.isFunc(cb) && cb(sub, _cb), can.onlayout.figure(event, can, sub._target, false), can.onmotion.toggle(can, sub._target, true) }
@ -684,7 +687,7 @@ Volcanos(chat.ONMOTION, {_init: function(can, target) {
resize: function(can, target, cb, top) { var begin, action
target.onclick = function(event) {
if (can.page.tagis(event.target, html.INPUT)) { return }
can.onmotion.clearCarte(can)
can.onmotion.delay(can, function() { can.onmotion.clearCarte(can) })
can.onkeymap.prevent(event)
}
target.onmousedown = function(event) { if (event.which != 1) { return }

View File

@ -264,15 +264,26 @@ Volcanos("page", {
_list.push({type: html.BUTTON, name: ice.BACK})
break
case mdb.PAGE:
_list.push({type: html.TEXT, name: mdb.LIMIT, value: can._msg.Option(mdb.LIMIT)})
_list.push({type: html.TEXT, name: mdb.OFFEND, value: can._msg.Option(mdb.OFFEND)})
_list.push({type: html.TEXT, name: mdb.LIMIT, value: can._msg.Option(mdb.LIMIT), _init: function(target) {
can.onappend.figure(can, {action: "key", run: function(event, cmds, cb) {
var msg = can.request(event)
msg.Push(cmds[1], "10")
msg.Push(cmds[1], "30")
msg.Push(cmds[1], "50")
msg.Push(cmds[1], "100")
cb(msg)
}}, target, function() { can.Update() })
}})
_list.push(mdb.NEXT, mdb.PREV)
break
default:
(function() { var item = can.core.SplitInput(list[i], type||html.BUTTON)
if (item.type == html.SELECT) { item._init = function(target) { target.value = item.value||item.values[0], target.onchange = function(event) { can.misc.Event(event, can, function(msg) {
can.run(event)
}) } } } item.action && (function() { item._init = function(target) { can.onappend.figure(can, item, target) } })()
}) } } } item.action && (function() { item._init = function(target) {
can.onappend.figure(can, item, target, function() { can.Update({}, ) })
} })()
_list.push(item), type = item.type
})()
} } return _list },

View File

@ -20,7 +20,7 @@ Volcanos(chat.ONFIGURE, {key: {
onfocus: function(event, can, meta, target, cbs) { cbs(function(sub, cb) { if (sub.Status(mdb.TOTAL) > 0) { return }
meta.msg && meta.msg.Length() > 0? sub._show(sub, meta.msg, cb, target, meta.name): sub._load(event, sub, cb, target, meta.name, target.value)
}) },
onblur: function(event, can, sub) { sub && can.onmotion.delay(can, sub.close, 300) },
onblur: function(event, can, sub, cb) { sub && can.onmotion.delay(can, sub.close, 300) },
onkeydown: function(event, can, meta, cb, target, sub, last) {
if (event.key == lang.ENTER) { return meta._enter && (!can.page.tagis(event.target, html.TEXTAREA) || event.ctrlKey) && meta._enter(event, target.value)? sub.close(): last(event) }
if (!sub) { return }