forked from x/volcanos
opt table.js
This commit is contained in:
parent
f4a8acdcb4
commit
5e3fb6eb89
5
frame.js
5
frame.js
@ -269,6 +269,7 @@ Volcanos("onappend", {help: "渲染引擎", list: [], _init: function(can, meta,
|
|||||||
_option: can._option, _action: can._action, _output: can._output,
|
_option: can._option, _action: can._action, _output: can._output,
|
||||||
CloneInput: function() { add(item)._target.focus() },
|
CloneInput: function() { add(item)._target.focus() },
|
||||||
CloneField: function() { can.Clone() },
|
CloneField: function() { can.Clone() },
|
||||||
|
Option: can.Option,
|
||||||
}, Volcanos.meta.libs.concat([item.display||"/plugin/input.js", Volcanos.meta.volcano]), function(input) {
|
}, Volcanos.meta.libs.concat([item.display||"/plugin/input.js", Volcanos.meta.volcano]), function(input) {
|
||||||
input.Conf(item), input.sup = can
|
input.Conf(item), input.sup = can
|
||||||
input.run = function(event, cmds, cb, silent) {
|
input.run = function(event, cmds, cb, silent) {
|
||||||
@ -304,11 +305,11 @@ Volcanos("onappend", {help: "渲染引擎", list: [], _init: function(can, meta,
|
|||||||
})
|
})
|
||||||
|
|
||||||
can.run(event, cmds||[], function(msg) {
|
can.run(event, cmds||[], function(msg) {
|
||||||
|
if (can.onimport._process(can, msg, cmds, cb)) { return }
|
||||||
|
|
||||||
typeof cb == "function" && cb(msg)
|
typeof cb == "function" && cb(msg)
|
||||||
if (silent) { return }
|
if (silent) { return }
|
||||||
|
|
||||||
if (can.onimport._process(can, msg)) { return }
|
|
||||||
|
|
||||||
var display = meta.feature.display || "table.js"
|
var display = meta.feature.display || "table.js"
|
||||||
display.indexOf("/") == 0 || (display = "/plugin/"+display)
|
display.indexOf("/") == 0 || (display = "/plugin/"+display)
|
||||||
display.endsWith(".js") || (display += ".js")
|
display.endsWith(".js") || (display += ".js")
|
||||||
|
@ -82,9 +82,8 @@ Volcanos("onaction", {help: "控件交互", list: [], _init: function(can, meta,
|
|||||||
switch (event.key) {
|
switch (event.key) {
|
||||||
case "Enter":
|
case "Enter":
|
||||||
if (can.Conf("type") == "text") { event.target.setSelectionRange(0, -1), can.run(event) }
|
if (can.Conf("type") == "text") { event.target.setSelectionRange(0, -1), can.run(event) }
|
||||||
if (can.Conf("type") == "textarea") { break }
|
if (can.Conf("type") == "textarea") { if (!event.ctrlKey) { break }; can.run(event) }
|
||||||
event.stopPropagation()
|
event.stopPropagation(), event.preventDefault()
|
||||||
event.preventDefault()
|
|
||||||
break
|
break
|
||||||
case "b": if (!event.ctrlKey) { break }; can.CloneInput(); break
|
case "b": if (!event.ctrlKey) { break }; can.CloneInput(); break
|
||||||
case "m": if (!event.ctrlKey) { break }; can.CloneField(); break
|
case "m": if (!event.ctrlKey) { break }; can.CloneField(); break
|
||||||
@ -94,8 +93,7 @@ Volcanos("onaction", {help: "控件交互", list: [], _init: function(can, meta,
|
|||||||
switch (event.key) {
|
switch (event.key) {
|
||||||
case "Enter":
|
case "Enter":
|
||||||
if (can.Conf("type") == "textarea") { break }
|
if (can.Conf("type") == "textarea") { break }
|
||||||
event.stopPropagation()
|
event.stopPropagation(), event.preventDefault()
|
||||||
event.preventDefault()
|
|
||||||
break
|
break
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
|
@ -1,29 +1,31 @@
|
|||||||
Volcanos("onimport", {help: "导入数据", list: [], _init: function(can, conf, list, cb, target) {
|
Volcanos("onimport", {help: "导入数据", list: [], _init: function(can, conf, list, cb, target) {
|
||||||
},
|
},
|
||||||
_process: function(can, msg) {
|
_process: function(can, msg, cmds, cb, silent) {
|
||||||
var cb = can.onimport[msg.Option("_process") || can.Conf("feature._process")]
|
var action = can.onimport[msg.Option("_process") || can.Conf("feature._process")]
|
||||||
return typeof cb == "function" && cb(can, msg)
|
return typeof action == "function" && action(can, msg, cmds, cb, silent)
|
||||||
},
|
},
|
||||||
_progress: function(can, sub, conf, msg, cmds, cb, silent) {
|
_progress: function(can, msg, cmds, cb, silent) {
|
||||||
var size = msg.Append("size") || msg.Append("count")
|
var size = msg.Append("size") || msg.Append("count")
|
||||||
if (size != "" && size == msg.Append("total")) {
|
if (size != "" && size == msg.Append("total")) {
|
||||||
return typeof cb == "function" && cb(msg)
|
return false
|
||||||
}
|
}
|
||||||
|
|
||||||
can.user.toast(can, {
|
can.user.toast(can, {
|
||||||
width: 400,
|
title: can._name+" "+msg.Append("step")+"% ", duration: 1100,
|
||||||
title: conf.name+" "+msg.Append("step")+"% ", duration: 1100,
|
|
||||||
text: "执行进度: "+can.base.Size(size||0)+"/"+can.base.Size(msg.Append("total")||"1000")+"\n"+msg.Append("name"),
|
text: "执行进度: "+can.base.Size(size||0)+"/"+can.base.Size(msg.Append("total")||"1000")+"\n"+msg.Append("name"),
|
||||||
progress: parseInt(msg.Append("step")),
|
progress: parseInt(msg.Append("step")),
|
||||||
|
width: 400,
|
||||||
})
|
})
|
||||||
can.page.Select(can, sub._output, "td", function(td) {
|
|
||||||
|
can.page.Select(can, can._output, "td", function(td) {
|
||||||
if (td.innerText == msg.Option("name")) {
|
if (td.innerText == msg.Option("name")) {
|
||||||
can.page.ClassList.add(can, td, "done")
|
can.page.ClassList.add(can, td, "done")
|
||||||
}
|
}
|
||||||
})
|
})
|
||||||
|
|
||||||
can.core.Timer(1000, function() {
|
can.core.Timer(1000, function() {
|
||||||
var res = sub.request({})
|
var res = can.request({}, {_process: msg.Option("_progress")})
|
||||||
res.Option("_progress", msg.Option("_progress"))
|
return can.onappend._output(can, can.Conf(), res._event, can.Pack(cmds), cb, silent)
|
||||||
sub.run(res._event, cmds, cb, silent)
|
|
||||||
})
|
})
|
||||||
return true
|
return true
|
||||||
},
|
},
|
||||||
@ -53,15 +55,15 @@ Volcanos("onaction", {help: "交互操作", list: [], _init: function(can, msg,
|
|||||||
},
|
},
|
||||||
input: function(event, can, name, cb) { var feature = can.Conf("feature")
|
input: function(event, can, name, cb) { var feature = can.Conf("feature")
|
||||||
feature[name]? can.user.input(event, can, feature[name], function(ev, button, data, list) {
|
feature[name]? can.user.input(event, can, feature[name], function(ev, button, data, list) {
|
||||||
var msg = can.request(event); msg.Option(can.Option())
|
var msg = can.request(event, can.Option())
|
||||||
var args = ["action", name]; can.core.Item(data, function(key, value) {
|
var args = ["action", name]; can.core.Item(data, function(key, value) {
|
||||||
key && value && args.push(key, value)
|
key && value && args.push(key, value)
|
||||||
})
|
})
|
||||||
|
|
||||||
var sub = can._outputs && can._outputs[can._outputs.length-1] || can
|
var sub = can._outputs && can._outputs[can._outputs.length-1] || can
|
||||||
sub.run(event, args, function(msg) { typeof cb == "function" && cb(msg) })
|
sub.run(event, args, function(msg) { typeof cb == "function" && cb(msg) }, true)
|
||||||
return true
|
return true
|
||||||
}): can.run(event, ["action", name], function(msg) { typeof cb == "function" && cb(msg) })
|
}): can.run(event, ["action", name], function(msg) { typeof cb == "function" && cb(msg) }, true)
|
||||||
},
|
},
|
||||||
change: function(event, can, name, value, cb) {
|
change: function(event, can, name, value, cb) {
|
||||||
can.page.Select(can, can._option, "input.args", function(input) { if (input.name == name) { var data = input.dataset || {}
|
can.page.Select(can, can._option, "input.args", function(input) { if (input.name == name) { var data = input.dataset || {}
|
||||||
|
@ -71,19 +71,13 @@ Volcanos("onimport", {help: "导入数据", list: [], _init: function(can, msg,
|
|||||||
},
|
},
|
||||||
_table: function(can, value, key, index, line, array) {
|
_table: function(can, value, key, index, line, array) {
|
||||||
return {type: "td", inner: value, click: function(event) { var target = event.target
|
return {type: "td", inner: value, click: function(event) { var target = event.target
|
||||||
if (target.tagName == "INPUT" && target.type == "button") { var msg = can.sup.request(event); msg.Option(can.Option())
|
if (target.tagName == "INPUT" && target.type == "button") {
|
||||||
|
var msg = can.sup.request(event, can.Option())
|
||||||
key == "value"? can.core.List(array, function(item, index) { msg.Option(item.key, item.value) }): msg.Option(line)
|
key == "value"? can.core.List(array, function(item, index) { msg.Option(item.key, item.value) }): msg.Option(line)
|
||||||
|
|
||||||
var msg = can.request(event)
|
var cb = can.onaction[msg.Option("action", target.name)]
|
||||||
msg.Option("action", target.name)
|
typeof cb == "function"? cb(event, can, target.name): can.sup.onaction.input(event, can.sup, target.name, function(msg) {
|
||||||
var cb = can.onaction[target.name]; return typeof cb == "function"? cb(event, can, target.name):
|
can.onimport._process(can, msg) || can.run({})
|
||||||
can.sup.onaction.input(event, can.sup, target.name, function(msg) {
|
|
||||||
can.user.toast(can, msg.Result())
|
|
||||||
|
|
||||||
if (can.onimport._process(can, msg)) {
|
|
||||||
return typeof cb == "function" && cb(msg)
|
|
||||||
}
|
|
||||||
can.run({})
|
|
||||||
})
|
})
|
||||||
} else {
|
} else {
|
||||||
can.sup.onaction.change(event, can.sup, key, value, function(msg) {
|
can.sup.onaction.change(event, can.sup, key, value, function(msg) {
|
||||||
|
Loading…
x
Reference in New Issue
Block a user