mirror of
https://shylinux.com/x/volcanos
synced 2025-04-25 16:58:06 +08:00
add hot
This commit is contained in:
parent
94ee5322a2
commit
e249031505
17
frame.js
17
frame.js
@ -38,6 +38,9 @@ var can = Volcanos("chat", {
|
||||
Import: function(event, value, key) {var cb = pane.onimport[key];
|
||||
typeof cb == "function" && cb(event, pane, value, key, pane.output);
|
||||
can.core.List(pane._plugins, function(item) {item.Import(event, value, key)})
|
||||
pane.page.Select(pane, pane.action, "input."+key, function(item) {
|
||||
item.value = value
|
||||
})
|
||||
},
|
||||
|
||||
Size: function(event, width, height) {var cb = pane.onimport["size"];
|
||||
@ -107,7 +110,7 @@ var can = Volcanos("chat", {
|
||||
}, meta)
|
||||
return pane
|
||||
}),
|
||||
Plugin: shy("构造插件", function(can, name, meta, run, field) {
|
||||
Plugin: shy("构造插件", function(can, name, meta, run, field, cb) {
|
||||
var option = field.querySelector("form.option");
|
||||
var action = field.querySelector("div.action");
|
||||
var output = field.querySelector("div.output");
|
||||
@ -191,14 +194,16 @@ var can = Volcanos("chat", {
|
||||
Show: function(type, msg, cb) {plugin.msg = msg, msg._plugin_name = name;
|
||||
return plugin._output = plugin[type] = can.Output(plugin, feature, type, msg, cb, output, option)
|
||||
},
|
||||
Clone: function(event) {meta.nick = meta.name + can.ID()
|
||||
Clone: function(event, cb) {meta.nick = meta.name + can.ID()
|
||||
can.Plugin(can, meta.nick, meta, run,
|
||||
can.page.AppendField(can, field.parentNode, "item "+meta.group+" "+meta.nick, meta))
|
||||
can.page.AppendField(can, field.parentNode, "item "+meta.group+" "+meta.nick, meta), cb)
|
||||
},
|
||||
Delete: function(event) {field.parentNode.removeChild(field)},
|
||||
}, Config.libs.concat(["plugin/"+(meta.type||"state")]), function(plugin) {plugin.Conf(meta);
|
||||
var list = JSON.parse(meta.inputs||"[]");
|
||||
can.core.Next(list.length>0? list: [{type: "text"}, {type: "button", value: "执行"}], plugin.Append)
|
||||
can.core.Next(list.length>0? list: [{type: "text"}, {type: "button", value: "执行"}], plugin.Append, function() {
|
||||
typeof cb == "function" && cb(plugin)
|
||||
})
|
||||
}, meta)
|
||||
return plugin
|
||||
}),
|
||||
@ -210,6 +215,8 @@ var can = Volcanos("chat", {
|
||||
input.target.value = value;
|
||||
item.action == "auto"? can.Runs(event): can.Check(event, input.target);
|
||||
},
|
||||
Append: function(event, value) {can.Append(null, function(input) {can.Select(event, input.target, true)})},
|
||||
Clone: function(event, value) {can.Clone(event, function(input) {input.Select(event, null, true)})},
|
||||
run: function(event, cmd, cb, silent) {
|
||||
(input[item.cb] || can[item.cb] || can.Check)(event, event.target, cb);
|
||||
},
|
||||
@ -218,7 +225,7 @@ var can = Volcanos("chat", {
|
||||
var target = input.onimport.init(input, item, name, value, option);
|
||||
input.target = target, target.Input = input;
|
||||
|
||||
typeof cb == "function" && cb();
|
||||
typeof cb == "function" && cb(input);
|
||||
})
|
||||
return input
|
||||
}),
|
||||
|
@ -37,19 +37,9 @@ Volcanos("onimport", {help: "导入数据", list: [],
|
||||
|
||||
can._plugin && can._plugin.Import(event, msg, cmd)
|
||||
},
|
||||
pod: function(event, can, value, cmd, output) {
|
||||
can.page.Select(can, can.action, "input."+cmd, function(item) {
|
||||
item.value = value
|
||||
})
|
||||
},
|
||||
you: function(event, can, value, cmd, output) {
|
||||
can.page.Select(can, can.action, "input."+cmd, function(item) {
|
||||
document.title = item.value = value;
|
||||
})
|
||||
},
|
||||
})
|
||||
Volcanos("onaction", {help: "组件交互", list: [["layout", "工作", "办公", "聊天"], "清屏", "刷新", "串行", "并行",
|
||||
{input: "pod"}, {input: "you"}],
|
||||
{input: "pod"}, {input: "you"}, {input: "hot"}],
|
||||
"工作": function(event, can, msg, cmd, output) {
|
||||
can.Export(event, cmd, "layout")
|
||||
},
|
||||
|
@ -1,7 +1,7 @@
|
||||
Volcanos("onimport", {help: "导入数据", list: [],
|
||||
init: shy("添加控件", function(can, item, name, value, option) {
|
||||
var input = {type: "input", name: name, data: item};
|
||||
item.type = item.type || item._type;
|
||||
item.type = item.type || item._type || item._input;
|
||||
switch (item.type) {
|
||||
case "upfile": item.type = "file"; break
|
||||
case "select":
|
||||
@ -40,7 +40,16 @@ Volcanos("onimport", {help: "导入数据", list: [],
|
||||
Volcanos("onaction", {help: "控件交互", list: [],
|
||||
onclick: function(event, can) {can.Select(event); can.item.type == "button" && can.run(event)},
|
||||
onkeydown: function(event, can) {
|
||||
can.page.oninput(event, can)
|
||||
can.page.oninput(event, can, function(event) {
|
||||
switch (event.key) {
|
||||
case "b":
|
||||
can.Append(event)
|
||||
return true
|
||||
case "m":
|
||||
can.Clone(event)
|
||||
return true
|
||||
}
|
||||
})
|
||||
|
||||
switch (event.key) {
|
||||
case "Enter": can.run(event, []); break
|
||||
|
@ -77,8 +77,10 @@ Volcanos("ondetail", {help: "组件详情", list: ["选择", "编辑", "删除",
|
||||
"编辑": function(event, can, msg, index, key, cmd, td) {
|
||||
var text = td.innerHTML;
|
||||
can.page.Appends(can, td, [{type: "input", style: {width: td.clientWidth+"px"}, data: {onkeydown: function(event) {
|
||||
if (event.key == " ") {return event.stopPropagation()}
|
||||
if (event.key != "Enter") {return}
|
||||
can.run(event, [msg.Ids(index), "modify", key == "value" && msg.key? msg[key][index]: key, event.target.value, text], function(msg) {
|
||||
if (key == "value" && msg.key) {key = msg.key[index]}
|
||||
can.run(event, [msg.Ids(index), "modify", key, event.target.value, text], function(msg) {
|
||||
td.innerHTML = event.target.value;
|
||||
can.user.toast("修改成功")
|
||||
}, true)
|
||||
|
2
proto.js
2
proto.js
@ -78,7 +78,7 @@ function Volcanos(name, can, libs, cb, msg) { // 封装模块
|
||||
msg = event.msg = msg || event.msg || {}, msg.__proto__ = proto || {
|
||||
_create_time: can.base.Time(), _source: can,
|
||||
Log: shy("输出日志", function() {console.log(arguments)}),
|
||||
Ids: function(index) {
|
||||
Ids: function(index, key) {
|
||||
var id = index;
|
||||
msg && msg.id && (id = msg.id[index]) || msg && msg.name && (id = msg.name[index]);
|
||||
return id;
|
||||
|
Loading…
x
Reference in New Issue
Block a user