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];
|
Import: function(event, value, key) {var cb = pane.onimport[key];
|
||||||
typeof cb == "function" && cb(event, pane, value, key, pane.output);
|
typeof cb == "function" && cb(event, pane, value, key, pane.output);
|
||||||
can.core.List(pane._plugins, function(item) {item.Import(event, value, key)})
|
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"];
|
Size: function(event, width, height) {var cb = pane.onimport["size"];
|
||||||
@ -107,7 +110,7 @@ var can = Volcanos("chat", {
|
|||||||
}, meta)
|
}, meta)
|
||||||
return pane
|
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 option = field.querySelector("form.option");
|
||||||
var action = field.querySelector("div.action");
|
var action = field.querySelector("div.action");
|
||||||
var output = field.querySelector("div.output");
|
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;
|
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)
|
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.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)},
|
Delete: function(event) {field.parentNode.removeChild(field)},
|
||||||
}, Config.libs.concat(["plugin/"+(meta.type||"state")]), function(plugin) {plugin.Conf(meta);
|
}, Config.libs.concat(["plugin/"+(meta.type||"state")]), function(plugin) {plugin.Conf(meta);
|
||||||
var list = JSON.parse(meta.inputs||"[]");
|
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)
|
}, meta)
|
||||||
return plugin
|
return plugin
|
||||||
}),
|
}),
|
||||||
@ -210,6 +215,8 @@ var can = Volcanos("chat", {
|
|||||||
input.target.value = value;
|
input.target.value = value;
|
||||||
item.action == "auto"? can.Runs(event): can.Check(event, input.target);
|
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) {
|
run: function(event, cmd, cb, silent) {
|
||||||
(input[item.cb] || can[item.cb] || can.Check)(event, event.target, cb);
|
(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);
|
var target = input.onimport.init(input, item, name, value, option);
|
||||||
input.target = target, target.Input = input;
|
input.target = target, target.Input = input;
|
||||||
|
|
||||||
typeof cb == "function" && cb();
|
typeof cb == "function" && cb(input);
|
||||||
})
|
})
|
||||||
return input
|
return input
|
||||||
}),
|
}),
|
||||||
|
@ -37,19 +37,9 @@ Volcanos("onimport", {help: "导入数据", list: [],
|
|||||||
|
|
||||||
can._plugin && can._plugin.Import(event, msg, cmd)
|
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", "工作", "办公", "聊天"], "清屏", "刷新", "串行", "并行",
|
Volcanos("onaction", {help: "组件交互", list: [["layout", "工作", "办公", "聊天"], "清屏", "刷新", "串行", "并行",
|
||||||
{input: "pod"}, {input: "you"}],
|
{input: "pod"}, {input: "you"}, {input: "hot"}],
|
||||||
"工作": function(event, can, msg, cmd, output) {
|
"工作": function(event, can, msg, cmd, output) {
|
||||||
can.Export(event, cmd, "layout")
|
can.Export(event, cmd, "layout")
|
||||||
},
|
},
|
||||||
|
@ -1,7 +1,7 @@
|
|||||||
Volcanos("onimport", {help: "导入数据", list: [],
|
Volcanos("onimport", {help: "导入数据", list: [],
|
||||||
init: shy("添加控件", function(can, item, name, value, option) {
|
init: shy("添加控件", function(can, item, name, value, option) {
|
||||||
var input = {type: "input", name: name, data: item};
|
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) {
|
switch (item.type) {
|
||||||
case "upfile": item.type = "file"; break
|
case "upfile": item.type = "file"; break
|
||||||
case "select":
|
case "select":
|
||||||
@ -40,7 +40,16 @@ Volcanos("onimport", {help: "导入数据", list: [],
|
|||||||
Volcanos("onaction", {help: "控件交互", list: [],
|
Volcanos("onaction", {help: "控件交互", list: [],
|
||||||
onclick: function(event, can) {can.Select(event); can.item.type == "button" && can.run(event)},
|
onclick: function(event, can) {can.Select(event); can.item.type == "button" && can.run(event)},
|
||||||
onkeydown: function(event, can) {
|
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) {
|
switch (event.key) {
|
||||||
case "Enter": can.run(event, []); break
|
case "Enter": can.run(event, []); break
|
||||||
|
@ -77,8 +77,10 @@ Volcanos("ondetail", {help: "组件详情", list: ["选择", "编辑", "删除",
|
|||||||
"编辑": function(event, can, msg, index, key, cmd, td) {
|
"编辑": function(event, can, msg, index, key, cmd, td) {
|
||||||
var text = td.innerHTML;
|
var text = td.innerHTML;
|
||||||
can.page.Appends(can, td, [{type: "input", style: {width: td.clientWidth+"px"}, data: {onkeydown: function(event) {
|
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}
|
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;
|
td.innerHTML = event.target.value;
|
||||||
can.user.toast("修改成功")
|
can.user.toast("修改成功")
|
||||||
}, true)
|
}, 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 || {
|
msg = event.msg = msg || event.msg || {}, msg.__proto__ = proto || {
|
||||||
_create_time: can.base.Time(), _source: can,
|
_create_time: can.base.Time(), _source: can,
|
||||||
Log: shy("输出日志", function() {console.log(arguments)}),
|
Log: shy("输出日志", function() {console.log(arguments)}),
|
||||||
Ids: function(index) {
|
Ids: function(index, key) {
|
||||||
var id = index;
|
var id = index;
|
||||||
msg && msg.id && (id = msg.id[index]) || msg && msg.name && (id = msg.name[index]);
|
msg && msg.id && (id = msg.id[index]) || msg && msg.name && (id = msg.name[index]);
|
||||||
return id;
|
return id;
|
||||||
|
Loading…
x
Reference in New Issue
Block a user