forked from x/volcanos
opt some
This commit is contained in:
parent
8557dee71a
commit
21be9add84
6
frame.js
6
frame.js
@ -282,6 +282,7 @@ Volcanos("onappend", {help: "渲染引擎", list: [], _init: function(can, meta,
|
||||
key && value && cmds.push(key, value)
|
||||
})
|
||||
|
||||
var msg = can.request(event, can.Option())
|
||||
can.run(event, cmds, function(msg) { var sub = can.core.Value(can, "_outputs.-1")
|
||||
if (can.core.CallFunc([sub, "onimport._process"], [sub, msg, cmds, cb])) { return }
|
||||
if (can.core.CallFunc([can, "onimport._process"], [can, msg, cmds, cb])) { return }
|
||||
@ -446,7 +447,7 @@ Volcanos("onappend", {help: "渲染引擎", list: [], _init: function(can, meta,
|
||||
},
|
||||
plugin: function(can, meta, cb, target) { meta = meta || {}
|
||||
meta.inputs && meta.inputs.length > 0? can.onappend._plugin(can, {meta: meta.meta, list: meta.list}, meta, cb, target):
|
||||
can.run({}, ["action", "command", meta.index||item.ctx+"."+item.cmd], function(msg) { msg.Table(function(value) {
|
||||
can.run({}, ["action", "command", meta.index||meta.ctx+"."+meta.cmd], function(msg) { msg.Table(function(value) {
|
||||
can.onappend._plugin(can, value, meta, cb, target)
|
||||
}) }, true)
|
||||
},
|
||||
@ -555,8 +556,6 @@ Volcanos("onkeypop", {help: "键盘交互", list: [], _init: function(can, targe
|
||||
}
|
||||
},
|
||||
_parse: function(event, can, mode, list, target) { list.push(event.key)
|
||||
can.Status && can.Status("keys", list.join(""))
|
||||
|
||||
for (var pre = 0; pre < list.length; pre++) {
|
||||
if ("0" <= list[pre] && list[pre] <= "9") { continue } break
|
||||
}; var count = parseInt(list.slice(0, pre).join(""))||1
|
||||
@ -564,7 +563,6 @@ Volcanos("onkeypop", {help: "键盘交互", list: [], _init: function(can, targe
|
||||
function repeat(cb, count) { list = []
|
||||
for (var i = 1; i <= count; i++) { if (cb(event, can, target, count)) { break } }
|
||||
event.stopPropagation(), event.preventDefault()
|
||||
can.Status && can.Status("keys", list.join(""))
|
||||
}
|
||||
|
||||
var map = can.onkeypop._mode[mode]
|
||||
|
@ -93,7 +93,7 @@ Volcanos("core", {help: "核心模块",
|
||||
var cb = args["cb"]
|
||||
var ls = func.toString().split(")")[0].split("(")[1].split(",")
|
||||
var list = [], echo = false; this.List(ls, function(item, index) { item = item.trim()
|
||||
list.push(args[item] || msg&&msg.Option&&msg.Option(item) || args[index] || can&&can.Conf&&can.Conf(item) || null)
|
||||
list.push(args[item] || args[index] || msg&&msg.Option&&msg.Option(item) || can&&can.Conf&&can.Conf(item) || null)
|
||||
if (item == "cb") { echo = true }
|
||||
})
|
||||
|
||||
|
@ -226,6 +226,7 @@ Volcanos("page", {help: "网页模块",
|
||||
|
||||
index = typeof index == "object"? index: [index]
|
||||
index = can.core.List(index, function(item) { if (item > -1) { return item} })
|
||||
if (index.length == 0) { return }
|
||||
|
||||
var is_time = true, is_number = true
|
||||
can.core.List(list, function(tr) {
|
||||
|
@ -166,10 +166,11 @@ Volcanos("user", {help: "用户模块", agent: {
|
||||
},
|
||||
input: function(event, can, form, cb) { // form [ string, {_input: }, array, object, button ]
|
||||
function cbs(event, button) {
|
||||
var data = {}; var list = can.page.Select(can, ui.table, "select,input,textarea", function(item) {
|
||||
var data = {}, args = []; var list = can.page.Select(can, ui.table, "select,input,textarea", function(item) {
|
||||
args.push(item.name, item.value)
|
||||
return data[item.name] = item.value
|
||||
})
|
||||
if (typeof cb == "function" && cb(event, button, data, list)) {
|
||||
if (typeof cb == "function" && cb(event, button, data, list, args)) {
|
||||
can.page.Remove(can, ui.first)
|
||||
}
|
||||
}
|
||||
@ -231,7 +232,7 @@ Volcanos("user", {help: "用户模块", agent: {
|
||||
return ui
|
||||
},
|
||||
select: function(event, can, type, fields, cb, cbs) {
|
||||
var msg = can.request(event, {fields: fields||"pod,name,text"})
|
||||
var msg = can.request(event, {fields: fields||"type,name,text"})
|
||||
can.run(msg._event, ["search", "Search.onimport.select", type, "", ""], function(list) {
|
||||
can.core.Next(list, cb, cbs||function() {
|
||||
can.user.toast(can, "添加成功")
|
||||
|
@ -97,7 +97,7 @@ table {
|
||||
cursor:pointer; overflow: auto;
|
||||
}
|
||||
table tr {
|
||||
background:#04272f85;
|
||||
background-color:#04272f45;
|
||||
}
|
||||
table th {
|
||||
background-color:#0fbd45;
|
||||
@ -110,6 +110,12 @@ table td {
|
||||
table td.select {
|
||||
background-color:red;
|
||||
}
|
||||
table td.select {
|
||||
background-color:red;
|
||||
}
|
||||
table td.done {
|
||||
background-color:green;
|
||||
}
|
||||
|
||||
table.content tr:hover {
|
||||
background-color:green;
|
||||
@ -341,7 +347,7 @@ body.white table {
|
||||
color:black;
|
||||
}
|
||||
body.white table tr {
|
||||
background-color:#e1f1ff6b;
|
||||
background-color:#e1f1ff1f;
|
||||
}
|
||||
body.white table th {
|
||||
background-color:#99CCFF;
|
||||
@ -360,15 +366,20 @@ body.white table input[type=button][value=启动] {
|
||||
}
|
||||
|
||||
body.white fieldset.story {
|
||||
background-color:#7c8ea5ab;
|
||||
/* background-color:#7c8ea5ab; */
|
||||
}
|
||||
|
||||
body.white fieldset.Action {
|
||||
background-color:#a2dceab3;
|
||||
color:black;
|
||||
}
|
||||
body.white fieldset.Action>div.action {
|
||||
color:white;
|
||||
}
|
||||
body.white fieldset.Action>div.action div.item {
|
||||
height:21px;
|
||||
}
|
||||
body.white fieldset.Action fieldset.plugin {
|
||||
background-color:#ffffff9c;
|
||||
background-color:#ffffff78;
|
||||
}
|
||||
body.white fieldset.Action fieldset.plugin legend {
|
||||
background-color:#339999; color:white;
|
||||
|
@ -1,6 +1,6 @@
|
||||
fieldset.Action {
|
||||
background-color:#7299a28c;
|
||||
min-width:160px;
|
||||
background-color:#a2dceab3;
|
||||
}
|
||||
fieldset.Action>div.action {
|
||||
display:none;
|
||||
@ -35,11 +35,11 @@ fieldset.Action div.output.flow fieldset.plugin {
|
||||
float:left;
|
||||
}
|
||||
fieldset.Action div.output.grid fieldset.plugin {
|
||||
width:240px; height:240px; overflow:auto;
|
||||
width:480px; height:320px; overflow:auto;
|
||||
float:left;
|
||||
}
|
||||
fieldset.Action div.output.grid fieldset.plugin>div.output {
|
||||
width:240px; height:240px; overflow:auto;
|
||||
width:480px; height:320px; overflow:auto;
|
||||
}
|
||||
fieldset.Action div.output.tabs fieldset.plugin {
|
||||
display:none; position:absolute;
|
||||
|
@ -130,7 +130,7 @@ Volcanos("onexport", {help: "导出数据", list: [],
|
||||
})
|
||||
},
|
||||
plugin: function(can, msg, word) {
|
||||
var fields = (msg.Option("fields")||"pod,ctx,cmd,type,name,text").split(",")
|
||||
var fields = (msg.Option("fields")||"ctx,cmd,type,name,text").split(",")
|
||||
can.page.Select(can, can._output, "fieldset.plugin>legend", function(item) {
|
||||
if (item.innerHTML.indexOf(word[1]) == -1) { return }
|
||||
|
||||
|
@ -33,9 +33,7 @@ Volcanos("onimport", {help: "导入数据", list: [], _init: function(can, msg,
|
||||
can.page.Append(can, target, [{view: ["state "+item, "div", can.Conf(item)], onclick: function(event) {
|
||||
can.core.CallFunc([can.onaction, item], [event, can, item])
|
||||
}, _init: function(target) {
|
||||
item == "time" && can.core.Timer({interval: 1000, length: -1}, function() {
|
||||
can.onimport.time(can, target)
|
||||
}) && can.onappend.figure(can, {}, "@date", target)
|
||||
item == "time" && can.onimport._time(can, target)
|
||||
}}])
|
||||
})
|
||||
},
|
||||
@ -101,6 +99,12 @@ Volcanos("onimport", {help: "导入数据", list: [], _init: function(can, msg,
|
||||
})
|
||||
}) })
|
||||
},
|
||||
_time: function(can, target) {
|
||||
can.core.Timer({interval: 1000, length: -1}, function() {
|
||||
can.onimport.time(can, target)
|
||||
})
|
||||
can.onappend.figure(can, {style: {left: "", right: "0", top: can._target.offsetHeight}}, "@date", target)
|
||||
},
|
||||
|
||||
time: function(can, target) { can.onlayout.topic(can)
|
||||
target.innerHTML = can.base.Time(null, "%w %H:%M:%S")
|
||||
@ -133,13 +137,19 @@ Volcanos("onaction", {help: "交互数据", list: [], _init: function(can, msg,
|
||||
function init() { can.run({}, [], function(msg) {
|
||||
can.Conf("username", msg.Option("user.nick")||msg.Option("user.name"))
|
||||
can.onimport._init(can, msg, list, function(msg) {
|
||||
can.run({}, ["search", "Search.onaction._init"])
|
||||
can.run({}, ["search", "Action.onaction._init"])
|
||||
can.run({}, ["search", "River.onaction._init"])
|
||||
can.run({}, ["search", "Footer.onaction._init"])
|
||||
can.run(msg._event, ["search", "Search.onaction._init"])
|
||||
can.run(msg._event, ["search", "Action.onaction._init"])
|
||||
can.run(msg._event, ["search", "River.onaction._init"])
|
||||
can.run(msg._event, ["search", "Footer.onaction._init"])
|
||||
typeof cb == "function" && cb(msg)
|
||||
}, can._output)
|
||||
can.page.Select(can, document.body, "fieldset.River", function(item) {
|
||||
can.onmotion.toggle(can, item)
|
||||
})
|
||||
}) }
|
||||
can.page.Select(can, document.body, "fieldset.River", function(item) {
|
||||
can.onmotion.hidden(can, item)
|
||||
})
|
||||
|
||||
can.onlayout.topic(can)
|
||||
can.user.isLocalFile? init(): can.run({}, ["check"], function(msg) {
|
||||
|
@ -43,9 +43,9 @@ Volcanos("onaction", {help: "控件交互", list: [], _init: function(can, msg,
|
||||
})
|
||||
|
||||
can.run({}, ["search", "Header.onimport.menu", "river",
|
||||
["添加", "创建群组", "添加应用", "添加工具", "添加用户", "添加设备"],
|
||||
["访问", "访问研发", "访问应用", "访问工具", "访问用户", "访问设备", "访问任务"],
|
||||
["共享", "共享群组", "共享应用", "共享工具", "邀请用户", "邀请设备"],
|
||||
["添加", "创建群组", "添加应用", "添加工具", "添加用户", "添加设备", "创建空间"],
|
||||
["访问", "内部系统", "访问应用", "访问工具", "访问用户", "访问设备", "访问任务"],
|
||||
["共享", "共享群组", "共享应用", "共享工具", "共享用户", "邀请设备"],
|
||||
], function(event, item) {
|
||||
can.core.CallFunc([can.ondetail, item], [event, can, item, can.Conf("river"), can.Conf("storm")])
|
||||
})
|
||||
@ -113,15 +113,15 @@ Volcanos("ondetail", {help: "菜单交互", list: ["共享群组", "添加用户
|
||||
})
|
||||
},
|
||||
"添加用户": function(event, can, button, river) {
|
||||
can.user.select(event, can, "user", "pod,name,text", function(item, next) {
|
||||
can.run({}, [river, "user", "action", "insert", "username", item[2]], function(msg) {
|
||||
can.user.select(event, can, "user", "usernick,username", function(item, next) {
|
||||
can.run({}, [river, "user", "action", "insert", "username", item[0]], function(msg) {
|
||||
next()
|
||||
})
|
||||
})
|
||||
},
|
||||
"添加设备": function(event, can, button, river) {
|
||||
can.user.select(event, can, "space", "pod,type,name,text", function(item, next) {
|
||||
can.run({}, [river, "node", "action", "insert", "type", item[1], "name", item[2]], function(msg) {
|
||||
can.user.select(event, can, "space", "type,name,text", function(item, next) {
|
||||
can.run({}, [river, "node", "action", "insert", "type", item[0], "name", item[1]], function(msg) {
|
||||
next()
|
||||
})
|
||||
})
|
||||
@ -163,8 +163,8 @@ Volcanos("ondetail", {help: "菜单交互", list: ["共享群组", "添加用户
|
||||
})
|
||||
},
|
||||
"添加工具": function(event, can, button, river, storm) {
|
||||
can.user.select(event, can, "command", "pod,name,text", function(item, next) {
|
||||
can.run({}, [river, "tool", "action", "insert", "hash", storm].concat(["pod", item[0], "ctx", item[2], "cmd", item[1]]), function(msg) {
|
||||
can.user.select(event, can, "command", "context,command", function(item, next) {
|
||||
can.run({}, [river, "tool", "action", "insert", "hash", storm].concat(["pod", "", "ctx", item[0], "cmd", item[1]]), function(msg) {
|
||||
next()
|
||||
})
|
||||
}, function() {
|
||||
@ -194,13 +194,15 @@ Volcanos("ondetail", {help: "菜单交互", list: ["共享群组", "添加用户
|
||||
})
|
||||
},
|
||||
|
||||
"访问研发": function(event, can, button, river, storm) {
|
||||
"内部系统": function(event, can, button, river, storm) {
|
||||
can.user.select(event, can, "github", "time,type,name,text")
|
||||
},
|
||||
"访问应用": function(event, can, button, river, storm) {
|
||||
var msg = can.request(event, {sort: ","})
|
||||
can.user.select(event, can, "storm", "type,name,text")
|
||||
},
|
||||
"访问工具": function(event, can, button, river, storm) {
|
||||
var msg = can.request(event, {sort: ","})
|
||||
can.user.select(event, can, "plugin", "type,name,text")
|
||||
},
|
||||
"访问用户": function(event, can, button, river, storm) {
|
||||
@ -213,8 +215,14 @@ Volcanos("ondetail", {help: "菜单交互", list: ["共享群组", "添加用户
|
||||
var msg = can.request(event, {index: "web.team.task"})
|
||||
can.user.select(event, can, "task", "time,zone,id,type,name,text")
|
||||
},
|
||||
"邀请用户": function(event, can, button, river, storm) {
|
||||
can.user.toast(can, "what", "邀请用户")
|
||||
|
||||
"共享用户": function(event, can, button, river, storm) {
|
||||
can.user.input(event, can, [
|
||||
{_input: "text", name: "name", value: river},
|
||||
], function(event, button, meta, list) {
|
||||
can.user.share(can, can.request(event), [river, "action", "share", "type", "login"])
|
||||
return true
|
||||
})
|
||||
},
|
||||
"邀请设备": function(event, can, button, river, storm) {
|
||||
can.run(event, ["action", "invite"], function(msg) {
|
||||
@ -226,12 +234,29 @@ Volcanos("ondetail", {help: "菜单交互", list: ["共享群组", "添加用户
|
||||
})
|
||||
})
|
||||
},
|
||||
|
||||
"创建空间": function(event, can, button, river, storm) {
|
||||
can.user.input(event, {__proto__: can, run: function(event, cmds, cb, silent) {
|
||||
var msg = can.request(event, {action: "start"})
|
||||
can.run(event, cmds, cb, silent)
|
||||
}}, [
|
||||
{_input: "text", name: "name", value: "@key"},
|
||||
{_input: "text", name: "repos", value: "@key"},
|
||||
{_input: "text", name: "template", value: "@key"},
|
||||
], function(event, button, data, list, args) {
|
||||
can.run(event, ["action", "start"].concat(args), function(msg) {
|
||||
can.user.open(can.user.MergeURL(can, {pod: msg.Option("name")}))
|
||||
can.user.toast(can, can.user.MergeURL(can, {pod: msg.Option("name")}))
|
||||
})
|
||||
return true
|
||||
})
|
||||
},
|
||||
})
|
||||
Volcanos("onexport", {help: "导出数据", list: [],
|
||||
width: function(can) { return can._target.offsetWidth },
|
||||
height: function(can) { return can._target.offsetHeight },
|
||||
storm: function(can, msg, word) {
|
||||
var fields = (msg.Option("fields")||"pod,ctx,cmd,type,name,text").split(",")
|
||||
var fields = (msg.Option("fields")||"ctx,cmd,type,name,text").split(",")
|
||||
can.core.Item(can.onengine.river, function(river, value) {
|
||||
can.core.Item(value.storm, function(storm, item) {
|
||||
if (word[1] != "" && word[1] != storm && word[1] != item.name) { return }
|
||||
|
@ -1,8 +1,11 @@
|
||||
fieldset.Search {
|
||||
background:#041a258a; padding:10px;
|
||||
background:#041a25bd; padding:10px;
|
||||
position:fixed; z-index:20;
|
||||
display:none;
|
||||
}
|
||||
body.white fieldset.Search table {
|
||||
color:white;
|
||||
}
|
||||
fieldset.Search input.word {
|
||||
width:-webkit-fill-available;
|
||||
}
|
||||
|
@ -20,33 +20,25 @@ Volcanos("onimport", {help: "导入数据", list: [], _init: function(can, msg,
|
||||
return {text: [key == "text" && typeof line.text == "function" && line.text.help || value, "td"], onclick: function(event) {
|
||||
if (event.shiftKey) { event.stopPropagation(), event.preventDefault()
|
||||
return can.onappend.plugin(can, {index: line.ctx? line.ctx+"."+line.cmd: msg.Option("index"), option: line}, function(sub, meta) {
|
||||
sub.run = function(event, cmds, cb) {
|
||||
sub.run = function(event, cmds, cb) { var msg = can.request(event, line)
|
||||
can.run(event, ["action", "command", "run", meta.index].concat(cmds), function(msg) {
|
||||
typeof cb == "function" && cb(msg)
|
||||
})
|
||||
}
|
||||
}, can.ui.preview)
|
||||
}
|
||||
|
||||
if (line.ctx == "web.chat" && line.cmd == "/search") {
|
||||
return can.onimport.select(can, msg, [line.type, line.name, line.text], can.cb)
|
||||
}
|
||||
if (typeof line.text == "function") {
|
||||
return can.onmotion.hide(can), line.text(event)
|
||||
}
|
||||
|
||||
can.page.Append(can, can.ui.display, [{td: can.core.List(fields, function(item) {
|
||||
return line[item]
|
||||
}), data: {index: index}, onclick: function(event) {
|
||||
can.page.Remove(can, event.target.parentNode)
|
||||
can.Status("selected", can.page.Select(can, can.ui.display, "tr").length-1)
|
||||
}}]), can.Status("selected", can.page.Select(can, can.ui.display, "tr").length-1)
|
||||
if (can.onaction.select(event, can, index)) { return }
|
||||
}}
|
||||
}, can.ui.content, [fields.indexOf("pod"), fields.indexOf("ctx"), fields.indexOf("cmd"),
|
||||
fields.indexOf("type"), fields.indexOf("name"), fields.indexOf("text")])
|
||||
|
||||
}, can.ui.content, can.core.List((msg.Option("sort")||"ctx,cmd,type,name,text").split(","), function(item) {
|
||||
return fields.indexOf(item)
|
||||
}))
|
||||
},
|
||||
_word: function(can, msg, cmds, fields) {
|
||||
msg = can.request({}, {fields: fields.join(","), word: cmds, index: msg.Option("index")})
|
||||
msg = can.request({}, {word: cmds, fields: fields.join(","), sort: msg.Option("sort"), index: msg.Option("index")})
|
||||
can.onengine.signal(can, "search", msg)
|
||||
|
||||
can.run(msg._event, cmds, function(msg) { can.list = msg.Table()
|
||||
@ -56,7 +48,7 @@ Volcanos("onimport", {help: "导入数据", list: [], _init: function(can, msg,
|
||||
},
|
||||
|
||||
select: function(can, msg, cmds, cb) { can.ui.word.value = cmds[1]
|
||||
var fields = (cmds[2]||msg.Option("fields")||"pod,ctx,cmd,type,name,text").split(",")
|
||||
var fields = (cmds[2]||msg.Option("fields")||"ctx,cmd,type,name,text").split(",")
|
||||
can.page.Appends(can, can.ui.display, [{th: fields}]), can.cb = function() {
|
||||
typeof cb == "function" && cb(can.onexport.select(can)), can.onmotion.hide(can)
|
||||
}
|
||||
@ -84,12 +76,21 @@ Volcanos("onaction", {help: "交互操作", list: ["关闭", "清空", "完成"]
|
||||
"完成": function(event, can) { typeof can.cb == "function" && can.cb() },
|
||||
|
||||
select: function(event, can, index) {
|
||||
if (can.list && can.list[index]) { can.onmotion.hide(can)
|
||||
if (typeof can.list[index].text == "function") {
|
||||
if (can.list && can.list[index]) {
|
||||
var text = can.list[index].text || ""
|
||||
if (typeof text == "function") {
|
||||
can.list[index].text(event)
|
||||
} else if (can.list[index].text.indexOf("http") == 0) {
|
||||
can.user.open(can.list[index].text)
|
||||
} else { var line = can.list[index]
|
||||
var fields = can.page.Select(can, can.ui.display, "th", function(item) { return item.innerText })
|
||||
can.page.Append(can, can.ui.display, [{td: can.core.List(fields, function(item) {
|
||||
return line[item]
|
||||
}), data: {index: index}, onclick: function(event) {
|
||||
can.page.Remove(can, event.target.parentNode)
|
||||
can.Status("selected", can.page.Select(can, can.ui.display, "tr").length-1)
|
||||
}}]), can.Status("selected", can.page.Select(can, can.ui.display, "tr").length-1)
|
||||
return false
|
||||
}
|
||||
can.onmotion.hide(can)
|
||||
return true
|
||||
}
|
||||
return false
|
||||
|
@ -1,4 +1,5 @@
|
||||
Volcanos("onfigure", {help: "控件详情", list: [], date: {onclick: function(event, can, item, target, figure) {
|
||||
item.style && can.page.Modify(can, figure.fieldset, {style: item.style})
|
||||
|
||||
// 设置输入
|
||||
function set(now) {
|
||||
|
@ -17,7 +17,7 @@ fieldset.editor {
|
||||
background:#0b2c54ab;
|
||||
}
|
||||
fieldset.editor>div.output {
|
||||
background-color:#173d40ab;
|
||||
background-color:#173d4047;
|
||||
}
|
||||
fieldset.editor>div.output>table>tr {
|
||||
background-color:#99CCFF00;
|
||||
@ -88,6 +88,9 @@ fieldset.editor>div.output table.content td.text span.datatype {
|
||||
fieldset.editor>div.output table.content td.text span.string {
|
||||
color:magenta;
|
||||
}
|
||||
body.white fieldset.editor>div.output table.content td.text span.string {
|
||||
color:#a703a7;
|
||||
}
|
||||
|
||||
fieldset.editor>div.output div.search {
|
||||
background-color:#060627ab; color:white;
|
||||
|
@ -262,7 +262,9 @@ Volcanos("onaction", {help: "控件交互", list: [],
|
||||
|
||||
if (can.current) {
|
||||
var pos = can.current.offset()-can.current.line.offsetTop
|
||||
can.current.scroll(0, -pos)
|
||||
if (pos > 0 || -pos > can._output.offsetHeight) {
|
||||
can.current.scroll(0, -pos)
|
||||
}
|
||||
}
|
||||
},
|
||||
searchLine: function(event, can, value) { value = value.trim()
|
||||
|
@ -20,7 +20,7 @@ Volcanos("onimport", {help: "导入数据", list: [], _init: function(can, conf,
|
||||
})
|
||||
|
||||
can.core.Timer(1000, function() {
|
||||
var res = can.request({}, {_process: msg.Option("_progress")})
|
||||
var res = can.request({}, {_progress: msg.Option("_progress")})
|
||||
return can.onappend._output(can, can.Conf(), res._event, can.Pack(cmds), cb, silent)
|
||||
})
|
||||
return true
|
||||
|
Loading…
x
Reference in New Issue
Block a user