1
0
mirror of https://shylinux.com/x/volcanos synced 2025-04-26 01:04:06 +08:00
2020-02-23 06:35:23 +08:00

33 lines
1.6 KiB
JavaScript

Volcanos("onfigure", {help: "控件详情", list: [],
key: {click: function(event, can, value, cmd, target) {
function add(msg, list, update) {
can.page.Append(can, can.figure.output, [{view: "list", list: can.core.List(list, function(item) {
return {text: [item, "div", "label"], onclick: function(event) {
target.value = item;
update && can.history.unshift(item);
msg.Option("_refresh") && run()
}}
})}])
}
function run() {can.figure.output.innerHTML = ""
can.Run(event, ["action", "input", can.item.name, target.value], function(msg) {
add(msg, can.history), can.core.List(msg.append, function(key) {add(msg, msg[key], true)})
}, true)
}
can.history = can.history || [];
can.onfigure._prepare(event, can, value, cmd ,target) && run()
}},
_prepare: function(event, can, value, cmd, target) {if (can.figure) {return}
can.figure = can.page.Append(can, document.body, [{view: ["input "+cmd, "fieldset"], style: {
position: "absolute", left: "20px", top: event.clientY+10+"px",
}, list: [{text: [cmd, "legend"]}, {view: ["action"]}, {view: ["output"]}], onmouseleave: function(event) {
!can.figure.stick && can.onfigure._release(event, can, value, cmd, target)
}}])
return can.figure
},
_release: function(event, can, value, cmd, target) {
can.page.Remove(can, can.figure.first); delete(can.figure);
},
})