mirror of
https://shylinux.com/x/volcanos
synced 2025-04-25 08:48:06 +08:00
37 lines
1.4 KiB
JavaScript
37 lines
1.4 KiB
JavaScript
Volcanos("onaction", {help: "控件交互", list: [], _init: function(can, meta, cb, target) {
|
|
can.base.isFunc(cb) && cb(); switch (meta.type) {
|
|
case html.SELECT: meta.value && (target.value = meta.value); break
|
|
case html.BUTTON: meta.action == ice.AUTO && target.click(); break
|
|
}
|
|
},
|
|
run: function(event, can) {
|
|
var title = can.sup._name+ice.SP+can.sup.Input([], true)
|
|
var toast = can.user.toast(can, "执行中...", title, -1)
|
|
can.run(event, [], function() { toast.close(), can.user.toastSuccess(can) })
|
|
},
|
|
list: function(event, can) { can.run(event) },
|
|
back: function(event, can) { can.sup.onimport._back(can.sup) },
|
|
refresh: function(event, can) { can.run(event) },
|
|
|
|
onclick: function(event, can) {
|
|
if (can.Conf(mdb.TYPE) == html.BUTTON) { can.run(event, [ctx.ACTION, can.Conf(mdb.NAME)].concat(can.sup.Input())) }
|
|
},
|
|
onchange: function(event, can) {
|
|
if (can.Conf(mdb.TYPE) == html.SELECT) { can.run(event) }
|
|
},
|
|
onkeydown: function(event, can) { can.onkeymap.input(event, can, event.target)
|
|
if (can.Conf(mdb.TYPE) == html.TEXTAREA) { if (!event.ctrlKey) { return } }
|
|
if (event.key == lang.ENTER) {
|
|
can.run(event), can.onmotion.focus(can, event.target)
|
|
can.onkeymap.prevent(event)
|
|
} if (!event.ctrlKey) { return }
|
|
|
|
switch (event.key) {
|
|
case "b": can.CloneInput(); break
|
|
case "m": can.CloneField(); break
|
|
default: return
|
|
} can.onkeymap.prevent(event)
|
|
},
|
|
})
|
|
|