1
0
mirror of https://shylinux.com/x/volcanos synced 2025-04-25 08:48:06 +08:00
This commit is contained in:
shaoying 2020-05-08 19:09:43 +08:00
parent e5f260f4b5
commit f6119d4b0b
4 changed files with 14 additions and 7 deletions

View File

@ -48,8 +48,8 @@ Volcanos("onaction", {
},
})
Volcanos("onappend", {
_init: function(can, meta, list, cb, target) {
var field = can.onappend.field(can, target, meta.type||"plugin", meta);
_init: function(can, meta, list, cb, target, field) {
field = field || can.onappend.field(can, target, meta.type||"plugin", meta);
var option = can.page.Select(can, field, "form.option")[0];
var action = can.page.Select(can, field, "div.action")[0];
var output = can.page.Select(can, field, "div.output")[0];
@ -67,7 +67,7 @@ Volcanos("onappend", {
var args = can.base.Obj(meta.args, [])
can.core.Next(can.base.Obj(meta.inputs, []), function(item, next, index) {
sub[item.name] = Volcanos(item.name, { _help: item.name,
_target: can.onappend.input(sub, option, item.type, item),
_target: can.onappend.input(sub, option, item.type, item, args[index]),
_option: option, _action: action, _output: output,
}, Config.libs.concat([item.display||"plugin/input.js"]), function(input) {
input.onimport._init(input, input.Conf(item), item.list||[], function() {
@ -149,7 +149,7 @@ Volcanos("onappend", {
]}]).first;
return field.Meta = item, field;
},
input: function(can, option, type, item, cb) {
input: function(can, option, type, item, value) {
item.name && item.name.indexOf("@") == 0 && (item.name = item.name.slice(1)) && (item.position = item.position || "opts")
item.figure = item.figure || item.value || "";
item.action = item.action || item.value || "";
@ -177,17 +177,18 @@ Volcanos("onappend", {
case "password":
// no break
case "text":
item.value = value || item.value || ""
item.className || can.page.ClassList.add(can, item, item.position||"args");
item.autocomplete = "off";
break
}
item.value == "auto" && (item.value = "")
item.action == "auto" && (input.dataset.action = "auto")
var target = can.page.Append(can, option, [{view: ["item "+item.type], list: [item.position && {text: item.name+": "}, input]}]).last
item.figure && item.figure.indexOf("@") == 0 && (item.figure = item.figure.slice(1)) && can.require(["plugin/input/"+item.figure], function() {
target.type != "button" && (target.value = "")
})
item.action == "auto" && (input.dataset.action = "auto")
item.type == "textarea" && can.page.Append(can, option, [{type: "br"}]);
item.type == "text" && !target.placeholder && (target.placeholder = item.name || "");

View File

@ -19,6 +19,8 @@ Volcanos("onexport", {help: "导出数据", list: [],
if (can.Conf(key, msg.Option(key, can.Cache(river+"."+storm, can._output)))) {
typeof cb == "function" && cb(msg); return
}
var pod = can.user.Search(can, "pod")
msg = can.request({}, {}), can.run(msg._event, [river, storm], function(msg) { can._output.innerHTML = "";
if (Volcanos.meta.follow[can._root]) { debugger }
msg.Table(function(value, index, array) {
@ -26,6 +28,8 @@ Volcanos("onexport", {help: "导出数据", list: [],
can.onappend._init(can, value, Config.libs.concat(["plugin/state.js"]), function(sub) {
// 插件回调
sub.run = function(event, cmds, cb, silent) {
var msg = can.request(event)
pod && msg.Option("pod", pod)
can.run(event, [river, storm, index].concat(cmds), cb, silent)
}
}, can._output)

View File

@ -1,5 +1,6 @@
fieldset.story {
clear:both;
margin:5px;
}
fieldset.float {
float:left;

View File

@ -17,11 +17,12 @@ Volcanos("onimport", {help: "导入数据", list: [],
can._output.innerHTML = msg.Result()
can.page.Select(can, can._output, "fieldset.story", function(item) {var data = item.dataset
can.onappend._init(can, JSON.parse(data.meta||"{}"), Config.libs.concat(["plugin/state.js"]), function(sub) {
var meta = JSON.parse(data.meta||"{}")
can.onappend._init(can, meta, Config.libs.concat(["plugin/state.js"]), function(sub) {
sub.run = function(event, cmds, cb, silent) {
can.run(event, ["field", "action", "story", data.type, data.name, data.text].concat(cmds), cb, silent)
}
}, item)
}, can._output, item)
})
return typeof cb == "function" && cb(msg)
},