mirror of
https://shylinux.com/x/volcanos
synced 2025-04-25 16:58:06 +08:00
opt table.js
This commit is contained in:
parent
c702306219
commit
10199a893b
87
frame.js
87
frame.js
@ -289,7 +289,7 @@ Volcanos("onappend", {help: "渲染引擎", list: [], _init: function(can, meta,
|
||||
if (typeof key == "object") { return sub.core.Item(key, sub.Option), key }
|
||||
if (key == undefined) { value = {}
|
||||
sub.page.Select(sub, option, "select.args,input.args,textarea.args", function(item) {
|
||||
value[item.name] = item.value
|
||||
item.name && item.value && (value[item.name] = item.value)
|
||||
})
|
||||
return value
|
||||
}
|
||||
@ -333,28 +333,9 @@ Volcanos("onappend", {help: "渲染引擎", list: [], _init: function(can, meta,
|
||||
CloneInput: function() { add(item, function() {})._target.focus() },
|
||||
CloneField: function() { can.Clone() },
|
||||
}, Volcanos.meta.libs.concat([item.display||"/plugin/input.js", "/frame.js"]), function(input) { input.sup = can
|
||||
input.run = function(event, cmds, cb, silent) { var msg = can.request(event)
|
||||
var prefix = []; can.onkeypop.show({key: meta.name[0]}, can)
|
||||
switch (item.name) {
|
||||
case "打开":
|
||||
case "查看":
|
||||
break
|
||||
case "返回":
|
||||
can._history.pop(); var his = can._history.pop(); if (his) {
|
||||
can.page.Select(can, can._option, "input.args", function(item, index) {
|
||||
item.value = his[index] || ""
|
||||
})
|
||||
}
|
||||
break
|
||||
case "清空":
|
||||
can._output.innerHTML = ""
|
||||
return typeof cb == "function" && cb(can.request(event))
|
||||
default:
|
||||
cmds && cmds[0] == "action" || prefix.push(item.name||item.value)
|
||||
}
|
||||
|
||||
msg.Option(can.Conf("option"))
|
||||
return can.onappend._output(can, meta, event, prefix.concat(can.Pack(cmds)), cb, silent)
|
||||
input.run = function(event, cmds, cb, silent) {
|
||||
var msg = can.request(event); msg.Option(can.Conf("option"))
|
||||
return can.onappend._output(can, meta, event, can.Pack(cmds), cb, silent)
|
||||
}
|
||||
|
||||
input.onimport && input.onimport._init(input, input.Conf(item), item.list||[], function() {}, input._target)
|
||||
@ -401,7 +382,7 @@ Volcanos("onappend", {help: "渲染引擎", list: [], _init: function(can, meta,
|
||||
_target: can._output, _option: can._option, _action: can._action, _output: can._output, _status: can._status,
|
||||
_fields: can._target, Option: can.Option, Action: can.Action, Status: can.Status,
|
||||
}, Volcanos.meta.libs.concat([display, "/frame.js"]), function(table) { table.Conf(can.Conf()), table._msg = msg
|
||||
table.run = function(event, cmds, cb, silent) { var msg = can.request(event)
|
||||
table.sup = can, table.run = function(event, cmds, cb, silent) { var msg = can.request(event)
|
||||
can.core.Item(can.Conf("option"), msg.Option)
|
||||
return can.onappend._output(can, meta, event, can.Pack(cmds), cb, silent)
|
||||
}
|
||||
@ -534,63 +515,7 @@ Volcanos("onappend", {help: "渲染引擎", list: [], _init: function(can, meta,
|
||||
return target
|
||||
},
|
||||
table: function(can, target, type, msg, cb) {
|
||||
var table = can.page.AppendTable(can, target, msg, msg.append, cb || function(value, key, index, line) {
|
||||
function run(event, item, value) {
|
||||
var msg = can.request(event); msg.Option(can.Option()), msg.Option(line)
|
||||
var toast = can.user.toast(can, item+"中...", item, 1000000)
|
||||
|
||||
var cb = can.onaction[item] || can.onaction["运行"]
|
||||
cb? cb(event, can, item): can.run(event, ["action", item, key=="value"? line.key: key, value.trim()], function(res) {
|
||||
toast.Close(), can.user.toast(can, item+"成功"), can.run({})
|
||||
}, true)
|
||||
}
|
||||
return {type: "td", inner: value, click: function(event) {
|
||||
var target = event.target; if (target.tagName == "INPUT" && target.type == "button") {
|
||||
if (can.Conf("feature")[target.value]) {
|
||||
// 输入参数
|
||||
can.user.input(event, can, can.Conf("feature")[target.value], function(event, button, data, list) {
|
||||
var msg = can.request(event); msg.Option(can.Option()), msg.Option(line), msg.Option(data)
|
||||
var args = ["action", target.value]; can.core.Item(data, function(key, value) {
|
||||
key && value && args.push(key, value)
|
||||
})
|
||||
|
||||
can.run(event, args, function(msg) {
|
||||
can.user.toast(can, target.value+"成功"), can.run({})
|
||||
}, true)
|
||||
return true
|
||||
})
|
||||
return
|
||||
}
|
||||
return run(event, event.target.value, value)
|
||||
}
|
||||
|
||||
can.page.Select(can, can._option, "input.args", function(input) { if (input.name == key) { var data = input.dataset || {}
|
||||
// 补全参数
|
||||
input.value = value, typeof cb == "function" && cb(event, value); if (data.action == "auto") {
|
||||
var msg = can.request(event); msg.Option(can.Option()), msg.Option(line)
|
||||
can.Option("_action", msg.Option("_action"))
|
||||
can.run(event)
|
||||
}
|
||||
} })
|
||||
}, ondblclick: function(event) {
|
||||
can.onmotion.modify(can, event.target, function(event, value, old) {
|
||||
run(event, "编辑", value)
|
||||
})
|
||||
}, oncontextmenu: function(event) {
|
||||
can.user.carte(can, can.ondetail||{}, msg["_detail"] || can.Conf("detail") || can.ondetail.list, function(event, item, meta) {
|
||||
switch (item) {
|
||||
case "编辑":
|
||||
can.onmotion.modify(can, event.target, function(event, value, old) {
|
||||
run(event, "编辑", value)
|
||||
})
|
||||
break
|
||||
default:
|
||||
run(event, item, value)
|
||||
}
|
||||
})
|
||||
}, }
|
||||
})
|
||||
return table
|
||||
return can.page.AppendTable(can, target, msg, msg.append, cb)
|
||||
},
|
||||
board: function(can, target, type, msg, text) { text = text || can.page.Display(msg.Result())
|
||||
return text && can.page.Append(can, target, [{view: ["code", "div", text]}]).code
|
||||
|
@ -270,6 +270,12 @@ body.white input[type=button] {
|
||||
background-color:#FF9900;
|
||||
color:white;
|
||||
}
|
||||
body.white table input[type=button][value=结束] {
|
||||
background:red;
|
||||
}
|
||||
body.white table input[type=button][value=启动] {
|
||||
background:#52ce78;
|
||||
}
|
||||
body.white input[type=button]:hover {
|
||||
border-radius:10px 10px 10px 10px;
|
||||
border:2px solid #FFCC33;
|
||||
@ -377,6 +383,9 @@ body.white fieldset.Action fieldset.plugin div.item input[type=button] {
|
||||
body.white fieldset.Action fieldset.plugin div.item input {
|
||||
box-shadow: 4px 4px 10px 1px #626bd0;
|
||||
}
|
||||
body.white fieldset.Action fieldset.plugin div.item input[name=cmd] {
|
||||
width:160px;
|
||||
}
|
||||
body.white fieldset.Action fieldset.plugin div.item select {
|
||||
box-shadow: 4px 4px 10px 1px #626bd0;
|
||||
margin-top:-2px;
|
||||
|
@ -199,9 +199,9 @@ var page = Volcanos("page", {help: "网页模块",
|
||||
}
|
||||
});
|
||||
|
||||
can.page.Append(can, table, can.core.List(msg.Table(), function(line, index) {
|
||||
can.page.Append(can, table, can.core.List(msg.Table(), function(line, index, array) {
|
||||
return {type: "tr", dataset: {index: index}, list: can.core.List(list, function(key) {if (key.indexOf("_") == 0) {return}
|
||||
return cb(can.page.Display(line[key]).trim(), key, index, line)
|
||||
return cb(can.page.Display(line[key]).trim(), key, index, line, array)
|
||||
})}
|
||||
}))
|
||||
return table;
|
||||
|
@ -6,6 +6,25 @@ Volcanos("onaction", {help: "交互操作", list: [], _init: function(can, msg,
|
||||
can.onexport._init(can, msg, list, cb, target)
|
||||
},
|
||||
|
||||
_progress: function(can, msg) {
|
||||
if (msg.Option("_progress")) {
|
||||
if (msg.Append("count") != msg.Append("total")) {
|
||||
can.user.toast(can, {
|
||||
text: "执行进度: "+msg.Append("count")+"/"+msg.Append("total")+"\n"+msg.Append("name"),
|
||||
title: value.name,
|
||||
duration: 1100,
|
||||
progress: parseInt(msg.Append("count"))*100/parseInt(msg.Append("total")),
|
||||
})
|
||||
can.Timer(1000, function() {
|
||||
var res = can.request({})
|
||||
res.Option("_action", _action)
|
||||
res.Option("_progress", msg.Option("_progress"))
|
||||
sub.run(res._event, cmds, cb, silent)
|
||||
})
|
||||
return
|
||||
}
|
||||
}
|
||||
},
|
||||
add_plugin: function(can, river, storm, value) {
|
||||
if (can.user.Search(can, "river") == river && can.user.Search(can, "storm") == storm && can.user.Search(can, "active") == value.name) {
|
||||
value.args = can.core.List(value.inputs, function(item) {
|
||||
@ -19,36 +38,18 @@ Volcanos("onaction", {help: "交互操作", list: [], _init: function(can, msg,
|
||||
var opt = {pod: can.user.Search(can, "pod"), river: river, storm: storm, active: value.name}
|
||||
can.core.Item(sub.Option(), function(key, value) { opt[key] = value })
|
||||
location.href = can.user.Share(can, opt, true)
|
||||
|
||||
}
|
||||
sub.run = function(event, cmds, cb, silent) { var msg = can.request(event)
|
||||
var _action = msg.Option("_action")
|
||||
sub.run = function(event, cmds, cb, silent) { var msg = can.request(event); cmds = cmds || []
|
||||
can.Conf("active", sub.Option())
|
||||
can.Conf("action", value.name)
|
||||
can.Conf("current", sub)
|
||||
// 插件回调
|
||||
//
|
||||
var toast = can.user.toast(can, "执行中...", value.name)
|
||||
return can.run(event, can.onengine[cmds[0]]? cmds: [river, storm, value.action].concat(cmds), function(msg) {
|
||||
toast.Close(), can.user.toast(can, "执行成功", value.name, 400)
|
||||
can.run(msg._event, ["search", "Footer.onaction.ncmd"])
|
||||
can.onaction._progress(can, msg)
|
||||
typeof cb == "function" && cb(msg)
|
||||
if (msg.Option("_progress")) {
|
||||
if (msg.Append("count") != msg.Append("total")) {
|
||||
can.user.toast(can, {
|
||||
text: "执行进度: "+msg.Append("count")+"/"+msg.Append("total")+"\n"+msg.Append("name"),
|
||||
title: value.name,
|
||||
duration: 1100,
|
||||
progress: parseInt(msg.Append("count"))*100/parseInt(msg.Append("total")),
|
||||
})
|
||||
can.Timer(1000, function() {
|
||||
var res = can.request({})
|
||||
res.Option("_action", _action)
|
||||
res.Option("_progress", msg.Option("_progress"))
|
||||
sub.run(res._event, cmds, cb, silent)
|
||||
})
|
||||
return
|
||||
}
|
||||
}
|
||||
can.user.toast(can, "执行成功", value.name, 400)
|
||||
}, silent)
|
||||
}
|
||||
sub._target.oncontextmenu = function(event) {
|
||||
|
@ -1,47 +1,50 @@
|
||||
Volcanos("onimport", {help: "导入数据", list: [], _init: function(can, meta, list, cb, output, action, option, field) {
|
||||
Volcanos("onimport", {help: "导入数据", list: [], _init: function(can, conf, list, cb, target) {
|
||||
},
|
||||
})
|
||||
Volcanos("onaction", {help: "控件交互", list: [],
|
||||
"上传": function(event, can) { can.user.upload(event, can) },
|
||||
"查看": function(event, can) { can.run(event) },
|
||||
"返回": function(event, can) {
|
||||
can.sup._history.pop(); var his = can.sup._history.pop(); if (his) {
|
||||
can.page.Select(can, can._option, "input.args", function(item, index) {
|
||||
item.value = his[index] || ""
|
||||
})
|
||||
}
|
||||
can.run(event)
|
||||
},
|
||||
|
||||
onchange: function(event, can) {
|
||||
if (event.target.tagName == "SELECT") { can.run(event) }
|
||||
},
|
||||
onclick: function(event, can) { var name = can.Conf("name")
|
||||
var msg = can.sup.request(event)
|
||||
// 前端回调
|
||||
var sub = can.sup && can.sup._outputs && can.sup._outputs[can.sup._outputs.length-1]
|
||||
onclick: function(event, can) { var msg = can.sup.request(event)
|
||||
// 插件回调
|
||||
var name = can.Conf("name")
|
||||
var sub = can.sup._outputs && can.sup._outputs[can.sup._outputs.length-1]
|
||||
var cb = sub && sub.onaction && sub.onaction[name]
|
||||
if (typeof cb == "function") { return cb(event, sub, name) }
|
||||
|
||||
// 通用回调
|
||||
var cb = can.onaction[name]
|
||||
if (can.sup && typeof cb == "function") { return cb(event, can.sup, name) }
|
||||
|
||||
// 后端回调
|
||||
// 交互回调
|
||||
var feature = can.sup.Conf("feature")
|
||||
var input = feature && feature[name]; if (input) {
|
||||
return can.user.input(event, can, input,function(event, button, data, list) {
|
||||
var msg = can.request(event); msg.Option(can.sup.Option())
|
||||
var args = ["action", name]; can.core.Item(data, function(key, value) {
|
||||
key && value && args.push(key, value)
|
||||
})
|
||||
can.run(event, args, function(msg) { can.run(event) }, true)
|
||||
return true
|
||||
return can.sup.onaction.input(event, can.sup, name, function(msg) {
|
||||
can.run({})
|
||||
})
|
||||
}
|
||||
|
||||
// 控件回调
|
||||
var cb = can.onaction[name]
|
||||
if (typeof cb == "function") { return cb(event, can, name) }
|
||||
|
||||
// 通用回调
|
||||
if (can.Conf("type") == "button") { can.run(event) }
|
||||
if (can.Conf("type") == "button") { can.run(event, [name].concat(can.sup.Pack())) }
|
||||
if (event.target.tagName == "INPUT") { event.target.setSelectionRange(0, -1) }
|
||||
},
|
||||
onkeydown: function(event, can) {
|
||||
can.onkeypop.show(event, can)
|
||||
switch (event.key) {
|
||||
case "Enter":
|
||||
if (event.target.tagName == "TEXTAREA") {
|
||||
break
|
||||
}
|
||||
if (event.target.tagName == "INPUT") {
|
||||
can.run(event)
|
||||
}
|
||||
if (event.target.tagName == "INPUT") { event.target.setSelectionRange(0, -1), can.run(event) }
|
||||
if (event.target.tagName == "TEXTAREA") { break }
|
||||
event.stopPropagation()
|
||||
event.preventDefault()
|
||||
break
|
||||
@ -53,13 +56,12 @@ Volcanos("onaction", {help: "控件交互", list: [],
|
||||
onkeyup: function(event, can) {
|
||||
switch (event.key) {
|
||||
case "Enter":
|
||||
if (event.target.tagName == "TEXTAREA") { break }
|
||||
event.stopPropagation()
|
||||
event.preventDefault()
|
||||
break
|
||||
default: return
|
||||
}
|
||||
},
|
||||
|
||||
"上传": function(event, can) { can.user.upload(event, can) },
|
||||
})
|
||||
|
||||
|
@ -1,25 +1,24 @@
|
||||
Volcanos("onfigure", {help: "控件详情", list: [],
|
||||
key: {onclick: function(event, can, item, target) {
|
||||
function run() { var msg = can.request(event); msg.Option(item)
|
||||
can.page.Select(can, event.target.parentNode.parentNode.parentNode, "input", function(item) {
|
||||
msg.Option(item.name, item.value)
|
||||
})
|
||||
function run() { var msg = can.request(event); msg.Option(can.Option())
|
||||
can.run(event, ["action", "inputs", item.name, target.value], function(msg) {
|
||||
if (!msg.append) { return }
|
||||
|
||||
var figure = can.onappend.field(can, document.body, "input key", {})
|
||||
can.page.Modify(can, figure.fieldset, {style: {top: event.clientY+10, left: event.clientX}})
|
||||
can.page.Remove(can, figure.legend)
|
||||
can._figure && can.page.Remove(can, can._figure.fieldset)
|
||||
can._figure = can.onappend.field(can, document.body, "input key", {})
|
||||
|
||||
can.page.Append(can, figure.action, [
|
||||
can.page.Modify(can, can._figure.fieldset, {style: {top: event.clientY+10, left: event.clientX}})
|
||||
can.page.Remove(can, can._figure.legend)
|
||||
|
||||
can.page.Append(can, can._figure.action, [
|
||||
{button: ["清空", function(event) { target.value = "" }]},
|
||||
{button: ["关闭", function(event) { can.page.Remove(can, figure.fieldset) }]},
|
||||
{button: ["关闭", function(event) { can.page.Remove(can, can._figure.fieldset) }]},
|
||||
])
|
||||
|
||||
can.page.AppendTable(can, figure.output, msg, msg.append, function(value, key, index, line) {
|
||||
can.page.AppendTable(can, can._figure.output, msg, msg.append, function(value, key, index, line) {
|
||||
return {type: "td", inner: value, onclick: function() {
|
||||
target.value = value; msg.Option("_refresh") && run()
|
||||
can.page.Remove(can, figure.fieldset)
|
||||
can.page.Remove(can, can._figure.fieldset)
|
||||
}}
|
||||
})
|
||||
}, true)
|
||||
|
@ -9,6 +9,14 @@ Volcanos("onimport", {help: "导入数据", list: [], _init: function(can, msg,
|
||||
})
|
||||
return typeof cb == "function" && cb(msg)
|
||||
},
|
||||
table: function(can, list, target) {
|
||||
can.page.Select(can, target, "td", function(item) {
|
||||
item.title = "点击复制"
|
||||
item.onclick = function(event) {
|
||||
can.user.copy(can, item.innerText)
|
||||
}
|
||||
})
|
||||
},
|
||||
spark: function(can, list, target) {
|
||||
if (list["name"] == "inner") {
|
||||
target.title = "点击复制"
|
||||
|
@ -1,4 +1,28 @@
|
||||
Volcanos("onimport", {help: "导入数据", list: [], _init: function(can, meta, list, cb, target) {
|
||||
Volcanos("onimport", {help: "导入数据", list: [], _init: function(can, conf, list, cb, target) {
|
||||
},
|
||||
})
|
||||
Volcanos("onaction", {help: "交互操作", list: [], _init: function(can, msg, list, cb, target) {
|
||||
},
|
||||
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) {
|
||||
var msg = can.request(event); msg.Option(can.Option())
|
||||
var args = ["action", name]; can.core.Item(data, function(key, value) {
|
||||
key && value && args.push(key, value)
|
||||
})
|
||||
|
||||
can.run(event, args, function(msg) {
|
||||
typeof cb == "function" && cb(msg)
|
||||
})
|
||||
return true
|
||||
}): can.run(event, ["action", name], function(msg) {
|
||||
typeof cb == "function" && cb(msg)
|
||||
}, true)
|
||||
},
|
||||
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 || {}
|
||||
if (value != input.value) { input.value = value;
|
||||
data.action == "auto" && typeof cb == "function" && cb()
|
||||
}
|
||||
} })
|
||||
},
|
||||
})
|
||||
|
@ -1,53 +1,87 @@
|
||||
Volcanos("onimport", {help: "导入数据", list: [], _init: function(can, msg, list, cb, target) {
|
||||
if (msg.Option("_progress")) {
|
||||
// 异步进度
|
||||
can.page.Select(can, can._output, "td", function(td) {
|
||||
if (td.innerText == msg.Option("name")) {
|
||||
can.page.Modify(can, td, {style: {
|
||||
"background-color": "green",
|
||||
}})
|
||||
}
|
||||
})
|
||||
return
|
||||
if (can.onimport._process(can, msg)) {
|
||||
return typeof cb == "function" && cb(msg)
|
||||
}
|
||||
|
||||
// 自动刷新
|
||||
var refresh = msg.Option("_refresh") || can.Conf("feature")["_refresh"]
|
||||
var i = 0; refresh && can.Timer(refresh, function(timer) {
|
||||
if (i > 100) { timer.stop = true} else { can.run({}) }
|
||||
})
|
||||
|
||||
// 展示数据
|
||||
can.ui = can.page.Appends(can, can._target, [
|
||||
can.ui = can.page.Appends(can, target, [
|
||||
{view: ["content", "div"]}, {view: ["display", "pre"]},
|
||||
])
|
||||
can.onappend.table(can, can.ui.content, "table", msg)
|
||||
can.onappend.board(can, can.ui.display, "board", msg)
|
||||
|
||||
can.page.Select(can, target, ".story", function(item) { var data = item.dataset
|
||||
can.page.Modify(can, item, {style: can.base.Obj(data.style)})
|
||||
var cb = can.onimport[data.type]; typeof cb == "function" && cb(can, data, item)
|
||||
can.onappend.table(can, can.ui.content, "table", msg, function(value, key, index, line, array) {
|
||||
return can.onimport._table(can, value, key, index, line, array)
|
||||
})
|
||||
|
||||
can.onappend.board(can, can.ui.display, "board", msg)
|
||||
can.onimport._board(can, msg)
|
||||
return typeof cb == "function" && cb(msg)
|
||||
},
|
||||
_process: function(can, msg) {
|
||||
return
|
||||
var process = msg.Option("_process") || can.Conf("feature")["_process"]
|
||||
var cb = can.onaction[process]; typeof cb == "function" && cb(can, msg)
|
||||
if (can.onimport._progress(can, msg)) {
|
||||
return true
|
||||
}; can.onimport._refresh(can, msg)
|
||||
},
|
||||
_progress: function(can, msg) {
|
||||
var progress = msg.Option("_progress") || can.Conf("feature")["_progress"]
|
||||
if (progress) {
|
||||
can.page.Select(can, can._output, "td", function(td) {
|
||||
if (td.innerText == msg.Option("name")) {
|
||||
can.page.Modify(can, td, {style: {"background-color": "green"}})
|
||||
}
|
||||
})
|
||||
return true
|
||||
}
|
||||
},
|
||||
_refresh: function(can, msg) {
|
||||
var refresh = msg.Option("_refresh") || can.Conf("feature")["_refresh"]
|
||||
can.Timer({interval: 500, length: parseInt(refresh)}, function(timer) {
|
||||
can.run({})
|
||||
})
|
||||
},
|
||||
_table: function(can, value, key, index, line, array) {
|
||||
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(line)
|
||||
var cb = can.onaction[target.value]; return typeof cb == "function"? cb(event, can, target.value):
|
||||
can.sup.onaction.input(event, can.sup, target.value, function(msg) { can.run({}) })
|
||||
}
|
||||
can.sup.onaction.change(event, can.sup, key, value, function(msg) {
|
||||
can.run(event)
|
||||
})
|
||||
|
||||
}, ondblclick: function(event) {
|
||||
can.onmotion.modify(can, event.target, function(event, value, old) {
|
||||
can.run(event, ["action", "编辑", key, value], function(msg) { can.run({}) }, true)
|
||||
})
|
||||
}, onmouseover: function(event) {
|
||||
can.user.toast(can, index+1+"/"+array.length)
|
||||
}}
|
||||
},
|
||||
_board: function(can, msg) {
|
||||
can.page.Select(can, can.ui.display, ".story", function(item) { var data = item.dataset
|
||||
var cb = can.onimport[data.type]; typeof cb == "function" && cb(can, data, item)
|
||||
can.page.Modify(can, item, {style: can.base.Obj(data.style)})
|
||||
})
|
||||
},
|
||||
|
||||
spark: function(can, list, target) {
|
||||
if (list["name"] == "inner") {
|
||||
target.title = "点击复制"
|
||||
target.onclick = function(event) {
|
||||
target.title = "点击复制", target.onclick = function(event) {
|
||||
can.user.copy(can, target.innerText)
|
||||
}
|
||||
return
|
||||
}
|
||||
can.page.Select(can, target, "span", function(item) {
|
||||
item.title = "点击复制"
|
||||
item.onclick = function(event) {
|
||||
item.title = "点击复制", item.onclick = function(event) {
|
||||
can.user.copy(can, item.innerText)
|
||||
}
|
||||
})
|
||||
},
|
||||
})
|
||||
Volcanos("onaction", {help: "控件交互", list: [],
|
||||
onclick: function(event, can) {
|
||||
can.run(event, [], function() {})
|
||||
},
|
||||
"清空": function(event, can, name) { can._output.innerHTML = "" },
|
||||
"结束": function(event, can, name) { can.user.confirm("确定结束?") && can.run(event, ["action", name], function(msg) {
|
||||
can.run({})
|
||||
}, true) },
|
||||
})
|
||||
|
Loading…
x
Reference in New Issue
Block a user