mirror of
https://shylinux.com/x/volcanos
synced 2025-04-25 16:58:06 +08:00
opt wiki
This commit is contained in:
parent
da9205d3c0
commit
f3c7e1fe62
10
frame.js
10
frame.js
@ -223,7 +223,7 @@ Volcanos("onappend", { _init: function(can, meta, list, cb, target, field) { met
|
|||||||
if (silent) { typeof cb == "function" && cb(msg); return }
|
if (silent) { typeof cb == "function" && cb(msg); return }
|
||||||
|
|
||||||
// 添加组件
|
// 添加组件
|
||||||
var display = (msg.Option("_display")||meta.feature.display||"table.js")
|
var display = (msg.Option("_plugin")||msg.Option("_display")||meta.feature.plugin||meta.feature.display||"table.js")
|
||||||
display.indexOf("/") == 0 || (display = "/plugin/"+display)
|
display.indexOf("/") == 0 || (display = "/plugin/"+display)
|
||||||
|
|
||||||
var table = Volcanos(display, { _help: display, _follow: can._follow+"."+meta.name+"."+display,
|
var table = Volcanos(display, { _help: display, _follow: can._follow+"."+meta.name+"."+display,
|
||||||
@ -263,11 +263,14 @@ Volcanos("onappend", { _init: function(can, meta, list, cb, target, field) { met
|
|||||||
action && (action.innerHTML = ""), can.onaction && can.core.List(list||can.onaction.list, function(item) {
|
action && (action.innerHTML = ""), can.onaction && can.core.List(list||can.onaction.list, function(item) {
|
||||||
item === ""? /*空白*/ can.page.Append(can, action, [{view: "item space"}]):
|
item === ""? /*空白*/ can.page.Append(can, action, [{view: "item space"}]):
|
||||||
typeof item == "string"? /*按键*/ can.onappend.input(can, action, "input", {type: "button", value: item, onclick: function(event) {
|
typeof item == "string"? /*按键*/ can.onappend.input(can, action, "input", {type: "button", value: item, onclick: function(event) {
|
||||||
var cb = can.onaction[item] || can.onkeymap && can.onkeymap._remote
|
var cb = can.onaction[item] || can.onaction["_engine"] || can.onkeymap && can.onkeymap._remote
|
||||||
cb? cb(event, can, item): can.run(event, ["action", item], function(msg) {}, true)
|
cb? cb(event, can, item): can.run(event, ["action", item], function(msg) {}, true)
|
||||||
}}): item.length > 0? /*列表*/ can.onappend.input(can, action, "input", {type: "select", values: item.slice(1), name: item[0], onchange: function(event) {
|
}}): item.length > 0? /*列表*/ can.onappend.input(can, action, "input", {type: "select", values: item.slice(1), name: item[0], onchange: function(event) {
|
||||||
|
var which = item[event.target.selectedIndex+1]
|
||||||
|
var cb = can.onaction[which]
|
||||||
|
cb && cb(event, can, which)
|
||||||
var cb = can.onaction[item[0]]
|
var cb = can.onaction[item[0]]
|
||||||
cb && cb(event, can, item[0], item[event.target.selectedIndex+1])
|
cb && cb(event, can, item[0], which)
|
||||||
}}): item.input? /*文本*/ can.page.Append(can, action, [{view: "item", list: [{type: "input", name: item.input[0], onkeydown: function(event) {
|
}}): item.input? /*文本*/ can.page.Append(can, action, [{view: "item", list: [{type: "input", name: item.input[0], onkeydown: function(event) {
|
||||||
item.input[1](event, can)
|
item.input[1](event, can)
|
||||||
}}] }]): typeof item == "object" && /*其它*/ can.page.Append(can, action, [item])
|
}}] }]): typeof item == "object" && /*其它*/ can.page.Append(can, action, [item])
|
||||||
@ -406,6 +409,7 @@ Volcanos("onappend", { _init: function(can, meta, list, cb, target, field) { met
|
|||||||
})
|
})
|
||||||
}, }
|
}, }
|
||||||
})
|
})
|
||||||
|
return table
|
||||||
},
|
},
|
||||||
board: function(can, target, type, msg) {
|
board: function(can, target, type, msg) {
|
||||||
msg.result && can.page.AppendBoard(can, target, can.page.Display(msg.Result()))
|
msg.result && can.page.AppendBoard(can, target, can.page.Display(msg.Result()))
|
||||||
|
@ -64,7 +64,7 @@ var misc = Volcanos("misc", {help: "工具模块",
|
|||||||
return msg[key] = value, key
|
return msg[key] = value, key
|
||||||
})
|
})
|
||||||
|
|
||||||
msg._hand = true, can.misc.POST(can, msg, can.Conf("iceberg")+(msg.names||dataset.names||event.names||"").toLowerCase(), option, function(msg) {
|
msg._hand = true, can.misc.POST(can, msg, can.Conf("iceberg")+(msg.names||dataset.names||event.names||"").toLowerCase()+"?="+event._pane, option, function(msg) {
|
||||||
typeof cb == "function" && cb(msg)
|
typeof cb == "function" && cb(msg)
|
||||||
}), delete(event.msg)
|
}), delete(event.msg)
|
||||||
}),
|
}),
|
||||||
|
@ -6,7 +6,6 @@ fieldset.Search {
|
|||||||
background:black;
|
background:black;
|
||||||
}
|
}
|
||||||
fieldset.Search div.output div.content {
|
fieldset.Search div.output div.content {
|
||||||
max-height:400px;
|
|
||||||
max-width:1000px;
|
max-width:1000px;
|
||||||
overflow:auto;
|
overflow:auto;
|
||||||
}
|
}
|
||||||
|
@ -16,6 +16,9 @@ fieldset.editor>div.action>div.file.select {
|
|||||||
fieldset.editor>div.output>div.project {
|
fieldset.editor>div.output>div.project {
|
||||||
max-width:120px; overflow:auto;
|
max-width:120px; overflow:auto;
|
||||||
}
|
}
|
||||||
|
fieldset.editor>div.output>div.project div.item {
|
||||||
|
cursor:pointer;
|
||||||
|
}
|
||||||
fieldset.editor>div.output>div.profile {
|
fieldset.editor>div.output>div.profile {
|
||||||
position:absolute; right:0;
|
position:absolute; right:0;
|
||||||
width:80px; overflow:auto;
|
width:80px; overflow:auto;
|
||||||
|
@ -1,23 +1,19 @@
|
|||||||
Volcanos("onimport", {help: "导入数据", list: [],
|
Volcanos("onimport", {help: "导入数据", list: [], _init: function(can, msg, list, cb) {
|
||||||
init: function(can, msg, cb, output, action, option) {output.innerHTML = "";
|
can._target.innerHTML = "", can.ui = can.page.Append(can, can._target, [
|
||||||
can.table = can.page.AppendTable(can, output, msg, msg.append, function(event, value, key, index, tr, td) {
|
{view: "content"}, {view: "display"},
|
||||||
can.Export(event, value, key)
|
])
|
||||||
}, function(event, value, key, index, tr, td) {
|
can.table = can.onappend.table(can, can.ui.content, "table", msg, function(value, key, index, line) {
|
||||||
can.user.carte(event, shy("上下文菜单", can.ondetail, can.ondetail.list, function(event, cmd, meta) {var cb = meta[cmd];
|
return {text: [value, "td"], oncontextmenu: function(event) {
|
||||||
var sub = can.Event(event);
|
can.onappend.carte(can, can.ondetail, can.ondetail.list, function(ev, cmd, meta) {
|
||||||
msg.append.forEach(function(key) {sub.Option(key, msg[key][index].trim())})
|
var cb = meta[cmd]; cb && cb(event, can, cmd, value, key, index, line)
|
||||||
|
})
|
||||||
typeof cb == "function"? cb(event, can, msg, index, key, cmd, td, tr):
|
}, ondblclick: function(event) {
|
||||||
(cb = can.onchoice[cmd], typeof cb == "function")? cb(event, can, msg, index, key, cmd, td, tr):
|
can.page.Modify(can, event.target, {contenteditable: true})
|
||||||
(cb = can.onaction[cmd], typeof cb == "function")? cb(event, can, msg, index, key, cmd, td, tr):
|
}}
|
||||||
can.run(event, ["action", typeof cb == "string"? cb: cmd, key, value.trim(), msg.Ids(index)], function(msg) {
|
})
|
||||||
can.user.toast(msg.Result())
|
|
||||||
}, true)
|
|
||||||
}))
|
|
||||||
});
|
|
||||||
},
|
},
|
||||||
})
|
})
|
||||||
Volcanos("onfigure", {help: "组件菜单", list: ["保存", "求和"],
|
Volcanos("onfigure", {help: "组件菜单", list: [],
|
||||||
"求和": function(event, can, res, td, index) {
|
"求和": function(event, can, res, td, index) {
|
||||||
res[index] = parseInt(td.innerText) + (res[index]||0);
|
res[index] = parseInt(td.innerText) + (res[index]||0);
|
||||||
},
|
},
|
||||||
@ -37,111 +33,97 @@ Volcanos("onfigure", {help: "组件菜单", list: ["保存", "求和"],
|
|||||||
},
|
},
|
||||||
})
|
})
|
||||||
Volcanos("onaction", {help: "组件菜单", list: ["保存", ["mode", "正常", "块选", "反选", "多选", "拖动", "编辑"], "求和", "最大", "最小", "平均"],
|
Volcanos("onaction", {help: "组件菜单", list: ["保存", ["mode", "正常", "块选", "反选", "多选", "拖动", "编辑"], "求和", "最大", "最小", "平均"],
|
||||||
"保存": function(event, can, msg, cmd, target) {
|
_engine: function(event, can, cmd) {
|
||||||
can.run(event, ["action", cmd, can.Option("path"), can.Export(event, "", "file")], function(msg) {
|
var mul = "tr" + (can.Action("mode") == "正常"? "": ".select")
|
||||||
|
var method = can.onfigure[cmd]
|
||||||
|
var res = {}
|
||||||
|
|
||||||
|
|
||||||
|
can.page.Select(can, can.ui.content, mul, function(tr, nrow, rows) {
|
||||||
|
(mul != "tr" || nrow > 0) && can.page.Select(can, tr, "td", function(td, ncol, cols) {
|
||||||
|
method && method(event, can, res, td, ncol, cols, rows, nrow)
|
||||||
|
})
|
||||||
|
})
|
||||||
|
can.page.Append(can, can.ui.display, [{type: "table", list: [{type: "tr", list: can.core.Item(res, function(key, value) {
|
||||||
|
return {text: [value, "td"]}
|
||||||
|
}).concat([{text: [cmd, "td"]}]) }] }])
|
||||||
|
},
|
||||||
|
|
||||||
|
"保存": function(event, can, cmd) {
|
||||||
|
can.run(event, ["action", cmd, can.Option("path"), can.onexport.file(can)], function(msg) {
|
||||||
can.user.toast("保存成功")
|
can.user.toast("保存成功")
|
||||||
}, true)
|
}, true)
|
||||||
},
|
},
|
||||||
"正常": function(event, can, msg, cmd, target) {
|
"正常": function(event, can, cmd) {
|
||||||
cmd && can.Action("mode", cmd)
|
cmd && can.Action("mode", cmd)
|
||||||
can.page.Select(can, can.table, "tr", function(item) {
|
can.page.Select(can, can.ui.content, "tr", function(item) {
|
||||||
|
can.page.ClassList.del(can, item, "over")
|
||||||
|
can.page.ClassList.del(can, item, "select")
|
||||||
item.setAttribute("contenteditable", false)
|
item.setAttribute("contenteditable", false)
|
||||||
item.setAttribute("draggable", false)
|
item.setAttribute("draggable", false)
|
||||||
item.onmouseenter = null
|
item.onmouseenter = null
|
||||||
item.onclick = null
|
item.onclick = null
|
||||||
})
|
})
|
||||||
},
|
},
|
||||||
"块选": function(event, can, msg, cmd, target) {
|
"块选": function(event, can, cmd) {
|
||||||
cmd && can.Action("mode", cmd)
|
cmd && can.Action("mode", cmd)
|
||||||
can.page.Select(can, can.table, "tr", function(item) {
|
can.page.Select(can, can.ui.content, "tr", function(item) {
|
||||||
item.onmouseenter = function() {
|
item.onmouseenter = function() {
|
||||||
can.page.ClassList.add(can, item, "select")
|
can.page.ClassList.add(can, item, "select")
|
||||||
}
|
}
|
||||||
})
|
})
|
||||||
},
|
},
|
||||||
"反选": function(event, can, msg, cmd, target) {
|
"反选": function(event, can, cmd) {
|
||||||
cmd && can.Action("mode", cmd)
|
cmd && can.Action("mode", cmd)
|
||||||
can.page.Select(can, can.table, "tr", function(item) {
|
can.page.Select(can, can.ui.content, "tr", function(item) {
|
||||||
item.onmouseenter = function() {
|
item.onmouseenter = function() {
|
||||||
can.page.ClassList.del(can, item, "select")
|
can.page.ClassList.del(can, item, "select")
|
||||||
}
|
}
|
||||||
})
|
})
|
||||||
},
|
},
|
||||||
"多选": function(event, can, msg, cmd, target) {
|
"多选": function(event, can, cmd) {
|
||||||
cmd && can.Action("mode", cmd)
|
cmd && can.Action("mode", cmd)
|
||||||
can.page.Select(can, can.table, "tr", function(item) {
|
can.page.Select(can, can.ui.content, "tr", function(item) {
|
||||||
item.onclick = function() {
|
item.onclick = function() {
|
||||||
can.page.ClassList.neg(can, item, "select")
|
can.page.ClassList.neg(can, item, "select")
|
||||||
}
|
}
|
||||||
})
|
})
|
||||||
},
|
},
|
||||||
"拖动": function(event, can, msg, cmd, target) {
|
"拖动": function(event, can, cmd) {
|
||||||
can.onaction["正常"](event, can, msg, cmd, target)
|
can.onaction["正常"](event, can, cmd)
|
||||||
can.page.Select(can, can.table, "tr", function(item) {
|
can.page.Select(can, can.ui.content, "tr", function(item) {
|
||||||
item.setAttribute("draggable", true)
|
item.setAttribute("draggable", true)
|
||||||
item.ondragstart = function(event) {can.drag = item}
|
item.ondragstart = function(event) { can.drag = item }
|
||||||
item.ondragover = function(event) {
|
item.ondragover = function(event) { event.preventDefault(), can.page.ClassList.add(can, item, "over")}
|
||||||
event.preventDefault(),
|
item.ondragleave = function(event) { can.page.ClassList.del(can, item, "over") }
|
||||||
can.page.ClassList.add(can, item, "over")}
|
item.ondrop = function(event) { event.preventDefault()
|
||||||
item.ondragleave = function(event) {
|
can.page.Select(can, can.ui.content, "table", function(table) {
|
||||||
can.page.ClassList.del(can, item, "over")
|
table.insertBefore(can.drag, item)
|
||||||
}
|
})
|
||||||
item.ondrop = function(event) {event.preventDefault()
|
|
||||||
can.table.insertBefore(can.drag, item)
|
|
||||||
}
|
}
|
||||||
})
|
})
|
||||||
},
|
},
|
||||||
"编辑": function(event, can, msg, cmd, target) {
|
"编辑": function(event, can, cmd) {
|
||||||
cmd && can.Action("mode", cmd)
|
cmd && can.Action("mode", cmd)
|
||||||
can.page.Select(can, can.table, "tr", function(item) {
|
can.page.Select(can, can.ui.content, "tr", function(item) {
|
||||||
item.setAttribute("contenteditable", true)
|
item.setAttribute("contenteditable", true)
|
||||||
})
|
})
|
||||||
},
|
},
|
||||||
|
|
||||||
show: function(event, can, msg, cmd, target) {
|
|
||||||
var res = {};
|
|
||||||
var method = can.onfigure[cmd];
|
|
||||||
var mul = "tr" + (can.Action("mode") == "正常"? "": ".select");
|
|
||||||
|
|
||||||
|
|
||||||
can.page.Select(can, can.table, mul, function(tr, nrow, rows) {
|
|
||||||
(mul != "tr" || nrow > 0) && can.page.Select(can, tr, "td", function(td, ncol, cols) {
|
|
||||||
method && method(event, can, res, td, ncol, cols, rows, nrow)
|
|
||||||
})
|
|
||||||
});
|
|
||||||
can.page.Append(can, can.target, [{type: "table", list: [{type: "tr", list: can.core.Item(res, function(key, value) {
|
|
||||||
return {text: [value, "td"]}
|
|
||||||
}).concat([{text: [cmd, "td"]}])}]}]);
|
|
||||||
},
|
|
||||||
"求和": function(event, can, msg, cmd, target) {
|
|
||||||
can.onaction.show(event, can, msg, cmd, target)
|
|
||||||
},
|
|
||||||
"最大": function(event, can, msg, cmd, target) {
|
|
||||||
can.onaction.show(event, can, msg, cmd, target)
|
|
||||||
},
|
|
||||||
"最小": function(event, can, msg, cmd, target) {
|
|
||||||
can.onaction.show(event, can, msg, cmd, target)
|
|
||||||
},
|
|
||||||
"平均": function(event, can, msg, cmd, target) {
|
|
||||||
can.onaction.show(event, can, msg, cmd, target)
|
|
||||||
},
|
|
||||||
})
|
})
|
||||||
Volcanos("onchoice", {help: "组件交互", list: ["保存", "块选", "反选", "求和"]})
|
Volcanos("ondetail", {help: "组件详情", list: ["复制", "删除"],
|
||||||
Volcanos("ondetail", {help: "组件详情", list: ["复制", "块选", "反选", "编辑", "删除"],
|
"复制": function(event, can, cmd, value, key, index, line) {
|
||||||
"复制": function(event, can, msg, index, key, cmd, td, tr) {
|
var end = can.page.Append(can, can.table, [{type: "tr", list: can.core.List(can._msg.append, function(key) {
|
||||||
var end = can.page.Append(can, can.table, [{type: "tr", list: can.page.Select(can, tr, "td", function(item) {
|
return {text: [line[key], "td"]}
|
||||||
return {text: [item.innerHTML, "td"]}
|
|
||||||
})}]).tr
|
})}]).tr
|
||||||
can.table.insertBefore(end, tr)
|
can.table.insertBefore(end, event.target.parentNode)
|
||||||
},
|
},
|
||||||
"删除": function(event, can, msg, index, key, cmd, td, tr) {
|
"删除": function(event, can, cmd) {
|
||||||
can.page.Remove(can, tr)
|
can.page.Remove(can, event.target.parentNode)
|
||||||
},
|
},
|
||||||
})
|
})
|
||||||
Volcanos("onstatus", {help: "组件状态", list: []})
|
|
||||||
Volcanos("onexport", {help: "导出数据", list: [],
|
Volcanos("onexport", {help: "导出数据", list: [],
|
||||||
file: function(event, can, csv, cmd, target) {
|
file: function(can) {
|
||||||
return can.page.Select(can, target, "tr", function(tr) {
|
return can.page.Select(can, can.ui.content, "tr", function(tr) {
|
||||||
return can.page.Select(can, tr, "th,td", function(td) {return td.innerHTML}).join(",")
|
return can.page.Select(can, tr, "th,td", function(td) {return td.innerHTML}).join(",")
|
||||||
}).join("\n")
|
}).join("\n")
|
||||||
},
|
},
|
||||||
|
@ -1,4 +1,24 @@
|
|||||||
Volcanos("onimport", {help: "导入数据", list: [],
|
Volcanos("onimport", {help: "导入数据", list: [], _init: function(can, msg, list, cb) {
|
||||||
|
can._target.innerHTML = "", can.ui = can.page.Append(can, can._target, [
|
||||||
|
{view: "content"}, {view: "display"},
|
||||||
|
])
|
||||||
|
can.table = can.onappend.table(can, can.ui.content, "table", msg, function(value, key, index, line) {
|
||||||
|
return {text: [value, "td"], oncontextmenu: function(event) {
|
||||||
|
can.onappend.carte(can, can.ondetail, can.ondetail.list, function(ev, cmd, meta) {
|
||||||
|
var cb = meta[cmd]; cb && cb(event, can, cmd, value, key, index, line)
|
||||||
|
})
|
||||||
|
}, ondblclick: function(event) {
|
||||||
|
can.page.Modify(can, event.target, {contenteditable: true})
|
||||||
|
}}
|
||||||
|
})
|
||||||
|
|
||||||
|
can.core.List(msg.result, function(item) {
|
||||||
|
var ls = item.split("/")
|
||||||
|
var ls = ls[ls.length-1].split(".")
|
||||||
|
var ext = ls[ls.length-1].toLowerCase()
|
||||||
|
can.page.Append(can, can.ui.content, [can.onfigure[ext](can, item)])
|
||||||
|
})
|
||||||
|
},
|
||||||
init: function(can, msg, cb, output, action, option) {output.innerHTML = "";
|
init: function(can, msg, cb, output, action, option) {output.innerHTML = "";
|
||||||
if (!msg.append || msg.append.length == 0) {return}
|
if (!msg.append || msg.append.length == 0) {return}
|
||||||
|
|
||||||
@ -18,13 +38,6 @@ Volcanos("onimport", {help: "导入数据", list: [],
|
|||||||
return {className: "preview", img: "/share/local/web.wiki.feel/"+item.path, width: width, oncontextmenu: menu}
|
return {className: "preview", img: "/share/local/web.wiki.feel/"+item.path, width: width, oncontextmenu: menu}
|
||||||
case "MOV":
|
case "MOV":
|
||||||
case "m4v":
|
case "m4v":
|
||||||
return {className: "preview", type: "video", width: width, oncontextmenu: menu,
|
|
||||||
onplay: cb, onpause: cb,
|
|
||||||
onloadedmetadata: cb,
|
|
||||||
onloadeddata: cb,
|
|
||||||
ontimeupdate: cb,
|
|
||||||
onended: cb,
|
|
||||||
data: {src: "/share/local/web.wiki.feel/"+item.path, controls: "controls", autoplay: auto, loop: false}}
|
|
||||||
default:
|
default:
|
||||||
return
|
return
|
||||||
}
|
}
|
||||||
@ -138,19 +151,31 @@ Volcanos("onimport", {help: "导入数据", list: [],
|
|||||||
})
|
})
|
||||||
},
|
},
|
||||||
})
|
})
|
||||||
Volcanos("onaction", {help: "组件菜单", list: ["预览", "上传"],
|
|
||||||
"预览": function(event, can, msg, cmd, target) {
|
Volcanos("onfigure", {help: "组件菜单", list: [],
|
||||||
|
image: function(can, path) {
|
||||||
|
return {img: "/share/local/"+path}
|
||||||
},
|
},
|
||||||
"上传": function(event, can, msg, cmd, target) {
|
jpg: function(can, path) { return can.onfigure.image(can, path) },
|
||||||
can.run(event, ["action", cmd, can.Option("name"), can.page.Select(can, target, "tr", function(tr) {return can.page.Select(can, tr, "th,td", function(td) {return td.innerHTML}).join(",")}).join("\n")], function() {
|
qrc: function(can, path) { return can.onfigure.image(can, path) },
|
||||||
can.user.toast("保存成功")
|
|
||||||
}, true)
|
video: function(can, path) {
|
||||||
|
function cb(event) {
|
||||||
|
}
|
||||||
|
return {className: "preview", type: "video", width: width, oncontextmenu: menu,
|
||||||
|
onplay: cb, onpause: cb,
|
||||||
|
onloadedmetadata: cb,
|
||||||
|
onloadeddata: cb,
|
||||||
|
ontimeupdate: cb,
|
||||||
|
onended: cb,
|
||||||
|
data: {src: "/share/local/"+path, controls: "controls", autoplay: auto, loop: false,
|
||||||
|
}}
|
||||||
},
|
},
|
||||||
|
m4v: function(can, path) { return can.onfigure.image(can, path) },
|
||||||
})
|
})
|
||||||
Volcanos("onchoice", {help: "组件交互", list: ["保存", "清空", ["rect", "rect", "line", "circle"]],
|
|
||||||
"清空": function(event, can, msg, cmd, target) {
|
Volcanos("onaction", {help: "组件菜单", list: ["上传"],
|
||||||
console.log("choice", cmd)
|
"上传": function(event, can) { can.onappend.upload(can) },
|
||||||
},
|
|
||||||
})
|
})
|
||||||
Volcanos("ondetail", {help: "组件详情", list: ["标签"],
|
Volcanos("ondetail", {help: "组件详情", list: ["标签"],
|
||||||
"标签": function(event, can, msg, index, key, cmd, target) {
|
"标签": function(event, can, msg, index, key, cmd, target) {
|
||||||
|
3
proto.js
3
proto.js
@ -85,7 +85,8 @@ var Volcanos = shy("火山架", {cache: {}, index: 1, order: 1, debug: {
|
|||||||
},
|
},
|
||||||
request: function(event, msg, proto) { event = event || {};
|
request: function(event, msg, proto) { event = event || {};
|
||||||
if (!msg && event._msg) { return event._msg }
|
if (!msg && event._msg) { return event._msg }
|
||||||
|
var ls = (can._name||can._help).split("/")
|
||||||
|
event._pane = ls[ls.length-1]
|
||||||
event._msg = msg = msg || {}, msg._event = event, msg._can = can;
|
event._msg = msg = msg || {}, msg._event = event, msg._can = can;
|
||||||
msg.__proto__ = proto || { _name: meta.order++, _create_time: new Date(),
|
msg.__proto__ = proto || { _name: meta.order++, _create_time: new Date(),
|
||||||
Option: function(key, val) {
|
Option: function(key, val) {
|
||||||
|
Loading…
x
Reference in New Issue
Block a user