mirror of
https://shylinux.com/x/volcanos
synced 2025-04-25 16:58:06 +08:00
opt engine
This commit is contained in:
parent
b94f768d74
commit
a8485b8ecd
45
frame.js
45
frame.js
@ -1,8 +1,11 @@
|
|||||||
Volcanos("onaction", { _init: function(can, meta, list, cb, target) {
|
// volcanos: 前端 火山架 我看不行
|
||||||
|
// FMS: a fieldset manager system
|
||||||
|
|
||||||
|
Volcanos("onengine", { _init: function(can, meta, list, cb, target) {
|
||||||
can.core.Next(meta.panes, function(item, next) {
|
can.core.Next(meta.panes, function(item, next) {
|
||||||
can.onappend._init(can, item, meta.libs.concat(item.list), function(pane) {
|
can.onappend._init(can, item, meta.libs.concat(item.list), function(pane) {
|
||||||
pane.Conf(item), pane.run = function(event, cmds, cb) {
|
pane.Conf(item), pane.run = function(event, cmds, cb) {
|
||||||
(can.onaction[cmds[0]]||can.onaction[meta.main.engine])(event, can, pane.request(event), pane, cmds, cb);
|
(can.onengine[cmds[0]]||can.onengine[meta.main.engine])(event, can, pane.request(event), pane, cmds, cb);
|
||||||
}, can[item.name] = pane, next();
|
}, can[item.name] = pane, next();
|
||||||
}, can._target);
|
}, can._target);
|
||||||
}, function() { can.onlayout._init(can, meta, list, function() {
|
}, function() { can.onlayout._init(can, meta, list, function() {
|
||||||
@ -27,10 +30,13 @@ Volcanos("onaction", { _init: function(can, meta, list, cb, target) {
|
|||||||
// 应用入口
|
// 应用入口
|
||||||
can.user.title(can.user.Search(can, "title"))
|
can.user.title(can.user.Search(can, "title"))
|
||||||
var pane = can[meta.main.name], msg = can.request({});
|
var pane = can[meta.main.name], msg = can.request({});
|
||||||
pane.onaction._init(pane, msg, msg.option||[], cb, target);
|
pane.onaction && pane.onaction._init(pane, msg, msg.option||[], cb, target);
|
||||||
})
|
})
|
||||||
}, target) });
|
}, target) });
|
||||||
},
|
},
|
||||||
|
_merge: function(can, sub) { can.core.Item(sub, function(key, value) {
|
||||||
|
if (sub.hasOwnProperty(key)) { can.onengine[key] = value }
|
||||||
|
}); return true },
|
||||||
search: function(event, can, msg, pane, cmds, cb) { var chain = cmds[1]
|
search: function(event, can, msg, pane, cmds, cb) { var chain = cmds[1]
|
||||||
var sub, mod = can, key, fun = can; can.core.List(chain.split("."), function(value, index, array) {
|
var sub, mod = can, key, fun = can; can.core.List(chain.split("."), function(value, index, array) {
|
||||||
fun && (sub = mod, mod = fun, key = value, fun = mod[value])
|
fun && (sub = mod, mod = fun, key = value, fun = mod[value])
|
||||||
@ -85,13 +91,14 @@ Volcanos("onaction", { _init: function(can, meta, list, cb, target) {
|
|||||||
return false;
|
return false;
|
||||||
},
|
},
|
||||||
remote: function(event, can, msg, pane, cmds, cb) {
|
remote: function(event, can, msg, pane, cmds, cb) {
|
||||||
if (can.onaction.engine(event, can, msg, pane, cmds, cb)) { return }
|
if (can.onengine.engine(event, can, msg, pane, cmds, cb)) { return }
|
||||||
if (location.protocol == "file:") { typeof cb == "function" && cb(msg); return }
|
if (location.protocol == "file:") { typeof cb == "function" && cb(msg); return }
|
||||||
can.misc.Run(event, can, {names: pane._name}, cmds, cb)
|
can.misc.Run(event, can, {names: pane._name}, cmds, cb)
|
||||||
},
|
},
|
||||||
})
|
})
|
||||||
Volcanos("onappend", { _init: function(can, meta, list, cb, target, field) {
|
Volcanos("onappend", { _init: function(can, meta, list, cb, target, field) {
|
||||||
field = field || can.onappend.field(can, target, meta.type||"plugin", meta);
|
field = field || can.onappend.field(can, target, meta.type||"plugin", meta);
|
||||||
|
var legend = can.page.Select(can, field, "legend")[0];
|
||||||
var option = can.page.Select(can, field, "form.option")[0];
|
var option = can.page.Select(can, field, "form.option")[0];
|
||||||
var action = can.page.Select(can, field, "div.action")[0];
|
var action = can.page.Select(can, field, "div.action")[0];
|
||||||
var output = can.page.Select(can, field, "div.output")[0];
|
var output = can.page.Select(can, field, "div.output")[0];
|
||||||
@ -99,10 +106,22 @@ Volcanos("onappend", { _init: function(can, meta, list, cb, target, field) {
|
|||||||
var feature = can.base.Obj(meta.feature)
|
var feature = can.base.Obj(meta.feature)
|
||||||
can.page.ClassList.add(can, field, feature.style||"")
|
can.page.ClassList.add(can, field, feature.style||"")
|
||||||
|
|
||||||
|
legend && (legend.onclick = function(event) { var msg = can.request(event)
|
||||||
|
can.core.List(["share", "pod"], function(key) { var value = can.user.Search(can, key)
|
||||||
|
value != undefined && msg.Option(key, can.user.Search(key))
|
||||||
|
})
|
||||||
|
can.core.List(["River", "Storm", "Action"], function(item) {
|
||||||
|
can.run(event, ["search", item+".onexport.key"])
|
||||||
|
})
|
||||||
|
var args = {}; can.core.List(msg.option, function(key) { args[key] = msg.Option(key) })
|
||||||
|
location.href = can.user.Share(can, args, true)
|
||||||
|
})
|
||||||
|
|
||||||
// 添加插件
|
// 添加插件
|
||||||
var sub = Volcanos(meta.name, { _help: meta.name, _target: field,
|
var sub = Volcanos(meta.name, { _help: meta.name, _target: field,
|
||||||
_option: option, _action: action, _output: output,
|
_option: option, _action: action, _output: output,
|
||||||
_follow: can._follow+"."+meta.name, _history: [],
|
_follow: can._follow+"."+meta.name, _history: [],
|
||||||
|
_inputs: {}, _outputs: [],
|
||||||
Option: function(key, value) {
|
Option: function(key, value) {
|
||||||
if (key == undefined) { value = {}
|
if (key == undefined) { value = {}
|
||||||
sub.page.Select(sub, option, "select.args,input.args", function(item) {
|
sub.page.Select(sub, option, "select.args,input.args", function(item) {
|
||||||
@ -138,7 +157,7 @@ Volcanos("onappend", { _init: function(can, meta, list, cb, target, field) {
|
|||||||
// 添加控件
|
// 添加控件
|
||||||
var args = can.base.Obj(meta.args, [])
|
var args = can.base.Obj(meta.args, [])
|
||||||
can.core.Next(can.base.Obj(meta.inputs, []), function(item, next, index) {
|
can.core.Next(can.base.Obj(meta.inputs, []), function(item, next, index) {
|
||||||
sub[item.name] = Volcanos(item.name, { _help: item.name,
|
sub._inputs[item.name] = Volcanos(item.name, { _help: item.name,
|
||||||
_target: can.onappend.input(sub, option, item.type, item, args[index]),
|
_target: can.onappend.input(sub, option, item.type, item, args[index]),
|
||||||
_option: option, _action: action, _output: output,
|
_option: option, _action: action, _output: output,
|
||||||
_follow: can._follow+"."+meta.name+"."+item.name,
|
_follow: can._follow+"."+meta.name+"."+item.name,
|
||||||
@ -168,8 +187,11 @@ Volcanos("onappend", { _init: function(can, meta, list, cb, target, field) {
|
|||||||
if (!cmds[i]) { cmds.pop() } else { break }
|
if (!cmds[i]) { cmds.pop() } else { break }
|
||||||
}
|
}
|
||||||
|
|
||||||
var msg = sub.request(event); msg.Option("_action", item.name);
|
var msg = sub.request(event); msg.Option("_action", item.name)
|
||||||
cmds[0] != "action" && sub._history.push(cmds);
|
|
||||||
|
var last = sub._history[sub._history.length-1]
|
||||||
|
!can.core.Eq(last, cmds) && cmds[0] != "action" && sub._history.push(cmds)
|
||||||
|
|
||||||
run(event, cmds, cb, silent)
|
run(event, cmds, cb, silent)
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -187,26 +209,28 @@ Volcanos("onappend", { _init: function(can, meta, list, cb, target, field) {
|
|||||||
})
|
})
|
||||||
})
|
})
|
||||||
|
|
||||||
|
var count = 0
|
||||||
function run(event, cmds, cb, silent) { sub.run(event, cmds, function(msg) {
|
function run(event, cmds, cb, silent) { sub.run(event, cmds, function(msg) {
|
||||||
|
sub.Status("ncmd", sub._history.length+"/"+count++)
|
||||||
if (silent) { typeof cb == "function" && cb(msg); return }
|
if (silent) { typeof cb == "function" && cb(msg); return }
|
||||||
|
|
||||||
// 添加组件
|
// 添加组件
|
||||||
var display = (msg.Option("_display")||feature.display||"table.js")
|
var display = (msg.Option("_display")||feature.display||"table.js")
|
||||||
display.indexOf("/") == 0 || (display = "/plugin/"+display)
|
display.indexOf("/") == 0 || (display = "/plugin/"+display)
|
||||||
|
|
||||||
sub[display] = Volcanos(display, { _help: display, _target: output,
|
var table = Volcanos(display, { _help: display, _target: output,
|
||||||
_option: option, _action: action, _output: output,
|
_option: option, _action: action, _output: output,
|
||||||
_follow: can._follow+"."+meta.name+"."+display,
|
_follow: can._follow+"."+meta.name+"."+display,
|
||||||
Option: sub.Option, Action: sub.Action, Status: sub.Status,
|
Option: sub.Option, Action: sub.Action, Status: sub.Status,
|
||||||
}, Volcanos.meta.libs.concat(["/frame.js", display]), function(table) { table.Conf(sub.Conf())
|
}, Volcanos.meta.libs.concat(["/frame.js", display]), function(table) { table.Conf(sub.Conf())
|
||||||
table.onimport && table.onimport._init && table.onimport._init(table, msg, msg.result||[], function() {}, output)
|
table.onimport && table.onimport._init && table.onimport._init(table, msg, msg.result||[], function() {}, output)
|
||||||
|
|
||||||
table.run = function(event, cmds, cb, silent) { cmds = cmds || []
|
table.run = function(event, cmds, cb, silent) { cmds = cmds || []
|
||||||
run(event, cmds, cb, silent)
|
run(event, cmds, cb, silent)
|
||||||
}
|
}
|
||||||
|
|
||||||
// 工具栏
|
// 工具栏
|
||||||
action.innerHTML = "", table.onaction && can.core.List(table.onaction.list, function(item) {
|
action.innerHTML = "", table.onaction && can.core.List(table.onaction.list, function(item) {
|
||||||
|
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) {
|
||||||
table.onaction[item](event, table, msg)
|
table.onaction[item](event, table, msg)
|
||||||
}}): 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) {
|
||||||
@ -225,8 +249,9 @@ Volcanos("onappend", { _init: function(can, meta, list, cb, target, field) {
|
|||||||
status.innerHTML = "", table.onexport && can.core.List(table.onexport.list, function(item) {
|
status.innerHTML = "", table.onexport && can.core.List(table.onexport.list, function(item) {
|
||||||
can.page.Append(can, status, [{view: "item "+item, title: item, list: [{text: [item+": ", "label"]}, {text: ["", "span"]}]}])
|
can.page.Append(can, status, [{view: "item "+item, title: item, list: [{text: [item+": ", "label"]}, {text: ["", "span"]}]}])
|
||||||
})
|
})
|
||||||
|
sub.Status("ncmd", sub._history.length+"/"+count)
|
||||||
})
|
})
|
||||||
var table = sub[display];
|
sub._outputs.push(table)
|
||||||
}, silent) }
|
}, silent) }
|
||||||
|
|
||||||
}); cb(sub);
|
}); cb(sub);
|
||||||
|
@ -10,6 +10,10 @@ fieldset {
|
|||||||
legend {
|
legend {
|
||||||
margin-left:10px;
|
margin-left:10px;
|
||||||
}
|
}
|
||||||
|
legend:hover {
|
||||||
|
cursor:pointer;
|
||||||
|
background:red;
|
||||||
|
}
|
||||||
div.hidden {
|
div.hidden {
|
||||||
display:none;
|
display:none;
|
||||||
}
|
}
|
||||||
|
23
lib/core.js
23
lib/core.js
@ -120,4 +120,27 @@ Volcanos("core", {help: "核心模块",
|
|||||||
if (begin < list.length) { res.push(list.slice(begin)) }
|
if (begin < list.length) { res.push(list.slice(begin)) }
|
||||||
return res
|
return res
|
||||||
}),
|
}),
|
||||||
|
|
||||||
|
Eq: function(obj, other) { var self = arguments.callee
|
||||||
|
// undefined null
|
||||||
|
// string number boolen
|
||||||
|
// object function
|
||||||
|
if (typeof obj != typeof other) {
|
||||||
|
return false
|
||||||
|
}
|
||||||
|
if (typeof obj == "object") {
|
||||||
|
for (var i = 0; i < obj.length; i++) {
|
||||||
|
if (!self(obj[i], other[i])) {
|
||||||
|
return false
|
||||||
|
}
|
||||||
|
}
|
||||||
|
for (var k in obj) {
|
||||||
|
if (!self(obj[k], other[k])) {
|
||||||
|
return false
|
||||||
|
}
|
||||||
|
}
|
||||||
|
return true
|
||||||
|
}
|
||||||
|
return obj === other
|
||||||
|
}
|
||||||
})
|
})
|
||||||
|
@ -52,7 +52,7 @@ Volcanos("misc", {help: "工具模块",
|
|||||||
}
|
}
|
||||||
msg._xhr = xhr
|
msg._xhr = xhr
|
||||||
}),
|
}),
|
||||||
Run: shy("请求后端", {order: 0}, function(event, can, dataset, cmd, cb) {
|
Run: shy("请求后端", {order: 0}, function(event, can, dataset, cmd, cb) { event = event || {}
|
||||||
var msg = (can.request||can.Event)(event);
|
var msg = (can.request||can.Event)(event);
|
||||||
|
|
||||||
// 解析参数
|
// 解析参数
|
||||||
|
@ -37,9 +37,10 @@ Volcanos("onexport", {help: "导出数据", list: [], _init: function(can, msg,
|
|||||||
value.width = can._target.offsetWidth
|
value.width = can._target.offsetWidth
|
||||||
value.height = can._target.offsetHeight
|
value.height = can._target.offsetHeight
|
||||||
can.onappend._init(can, value, Volcanos.meta.libs.concat(["/plugin/state.js"]), function(sub) {
|
can.onappend._init(can, value, Volcanos.meta.libs.concat(["/plugin/state.js"]), function(sub) {
|
||||||
sub.run = function(event, cmds, cb, silent) { var msg = can.request(event, event._msg||{_msg: sup});
|
sub.run = function(event, cmds, cb, silent) { var msg = can.request(event)
|
||||||
can.Conf("active", sub.Option())
|
can.Conf("active", sub.Option())
|
||||||
can.Conf("action", value.name)
|
can.Conf("action", value.name)
|
||||||
|
// console.log(event, sub, msg)
|
||||||
// 插件回调
|
// 插件回调
|
||||||
can.run(event, [river, storm, index].concat(cmds), function(msg) {
|
can.run(event, [river, storm, index].concat(cmds), function(msg) {
|
||||||
can.run(msg._event, ["search", "Footer.onaction.ncmd"]);
|
can.run(msg._event, ["search", "Footer.onaction.ncmd"]);
|
||||||
|
@ -31,11 +31,11 @@ Volcanos("onaction", {help: "交互数据", list: [], _init: function(can, msg,
|
|||||||
})
|
})
|
||||||
},
|
},
|
||||||
title: function(event, can, key) { var msg = can.request(event)
|
title: function(event, can, key) { var msg = can.request(event)
|
||||||
can.core.List(["River", "Storm", "Action"], function(item) {
|
can.core.List(["share", "pod"], function(key) { var value = can.user.Search(can, key)
|
||||||
can.run(event, ["search", item+".onexport.key"])
|
value != undefined && msg.Option(key, can.user.Search(key))
|
||||||
})
|
})
|
||||||
var args = {}; can.core.List(msg.option, function(key) { args[key] = msg.Option(key) })
|
var args = {}; can.core.List(msg.option, function(key) { args[key] = msg.Option(key) })
|
||||||
location.href = can.user.Share(can, args)
|
location.href = can.user.Share(can, args, true)
|
||||||
},
|
},
|
||||||
username: function(event, can, key) {
|
username: function(event, can, key) {
|
||||||
if (can.user.confirm("logout?")) {
|
if (can.user.confirm("logout?")) {
|
||||||
|
@ -1,3 +1,6 @@
|
|||||||
|
fieldset.editor>div.action {
|
||||||
|
clear:none;
|
||||||
|
}
|
||||||
fieldset.editor>div.action>div.file {
|
fieldset.editor>div.action>div.file {
|
||||||
border:solid 2px red;
|
border:solid 2px red;
|
||||||
padding:2px;
|
padding:2px;
|
||||||
@ -11,6 +14,7 @@ fieldset.editor>div.action>div.file:hover {
|
|||||||
fieldset.editor>div.action>div.file.select {
|
fieldset.editor>div.action>div.file.select {
|
||||||
background-color:green;
|
background-color:green;
|
||||||
}
|
}
|
||||||
|
|
||||||
fieldset.editor>div.output {
|
fieldset.editor>div.output {
|
||||||
min-height:300px;
|
min-height:300px;
|
||||||
}
|
}
|
||||||
|
@ -32,6 +32,9 @@ Volcanos("onimport", {help: "导入数据", _init: function(can, msg, list, cb,
|
|||||||
})
|
})
|
||||||
}, onblur: function(event) {
|
}, onblur: function(event) {
|
||||||
can.onaction.modifyLine(can, can.current, can.editor.value)
|
can.onaction.modifyLine(can, can.current, can.editor.value)
|
||||||
|
}, onclick: function(event) {
|
||||||
|
}, ondblclick: function(event) {
|
||||||
|
can.onkeymap._mode(can, "insert")
|
||||||
}},
|
}},
|
||||||
])
|
])
|
||||||
|
|
||||||
@ -110,7 +113,7 @@ Volcanos("onsyntax", {help: "语法高亮", list: ["keyword", "prefix", "line"],
|
|||||||
|
|
||||||
// plugin
|
// plugin
|
||||||
function init() {
|
function init() {
|
||||||
can.onkeymap._remote(event, can, "运行")
|
can.onkeymap._remote(null, can, "运行")
|
||||||
typeof p.display == "object" && (
|
typeof p.display == "object" && (
|
||||||
p.display.height && can.page.Modify(can, can.ui.display, {style: {
|
p.display.height && can.page.Modify(can, can.ui.display, {style: {
|
||||||
"max-height": p.display.height,
|
"max-height": p.display.height,
|
||||||
@ -164,6 +167,7 @@ Volcanos("onsyntax", {help: "语法高亮", list: ["keyword", "prefix", "line"],
|
|||||||
"do": "keyword",
|
"do": "keyword",
|
||||||
"done": "keyword",
|
"done": "keyword",
|
||||||
|
|
||||||
|
"local": "keyword",
|
||||||
"echo": "keyword",
|
"echo": "keyword",
|
||||||
"kill": "keyword",
|
"kill": "keyword",
|
||||||
"let": "keyword",
|
"let": "keyword",
|
||||||
@ -171,18 +175,22 @@ Volcanos("onsyntax", {help: "语法高亮", list: ["keyword", "prefix", "line"],
|
|||||||
|
|
||||||
"xargs": "function",
|
"xargs": "function",
|
||||||
"date": "function",
|
"date": "function",
|
||||||
|
"find": "function",
|
||||||
|
"grep": "function",
|
||||||
|
"sed": "function",
|
||||||
"awk": "function",
|
"awk": "function",
|
||||||
"pwd": "function",
|
"pwd": "function",
|
||||||
"ps": "function",
|
"ps": "function",
|
||||||
"ls": "function",
|
"ls": "function",
|
||||||
"rm": "function",
|
"rm": "function",
|
||||||
|
"go": "function",
|
||||||
|
|
||||||
"export": "keyword",
|
"export": "keyword",
|
||||||
"source": "keyword",
|
"source": "keyword",
|
||||||
"require": "keyword",
|
"require": "keyword",
|
||||||
},
|
},
|
||||||
prefix: {"#": "comment"},
|
prefix: {"#": "comment"},
|
||||||
suffix: {"&": "comment"},
|
suffix: {"{": "comment"},
|
||||||
line: function(can, line) { return line },
|
line: function(can, line) { return line },
|
||||||
},
|
},
|
||||||
vim: {
|
vim: {
|
||||||
@ -553,7 +561,7 @@ Volcanos("onkeymap", {help: "键盘交互", list: ["command", "normal", "insert"
|
|||||||
},
|
},
|
||||||
},
|
},
|
||||||
})
|
})
|
||||||
Volcanos("onaction", {help: "控件交互", list: ["项目", "上传", "保存", "历史", "提交", "运行", "记录", "复盘"],
|
Volcanos("onaction", {help: "控件交互", list: ["项目", "上传", "保存", "", "历史", "提交", "运行", "日志", "记录", "复盘"],
|
||||||
modifyLine: function(can, target, value) { var p = can.onsyntax.parse(can, value)
|
modifyLine: function(can, target, value) { var p = can.onsyntax.parse(can, value)
|
||||||
typeof p == "object"? can.page.Appends(can, target, [p]): target.innerHTML = p
|
typeof p == "object"? can.page.Appends(can, target, [p]): target.innerHTML = p
|
||||||
},
|
},
|
||||||
@ -605,6 +613,7 @@ Volcanos("onaction", {help: "控件交互", list: ["项目", "上传", "保存",
|
|||||||
"提交": function(event, can, msg) { can.onkeymap._remote(event, can, "提交") },
|
"提交": function(event, can, msg) { can.onkeymap._remote(event, can, "提交") },
|
||||||
"历史": function(event, can, msg) { can.onkeymap._remote(event, can, "历史") },
|
"历史": function(event, can, msg) { can.onkeymap._remote(event, can, "历史") },
|
||||||
"运行": function(event, can, msg) { can.onkeymap._remote(event, can, "运行") },
|
"运行": function(event, can, msg) { can.onkeymap._remote(event, can, "运行") },
|
||||||
|
"日志": function(event, can, msg) { can.onkeymap._remote(event, can, "日志") },
|
||||||
"记录": function(event, can, msg) {
|
"记录": function(event, can, msg) {
|
||||||
var sub = can.request(event)
|
var sub = can.request(event)
|
||||||
can.core.Item(can.Option(), sub.Option)
|
can.core.Item(can.Option(), sub.Option)
|
||||||
@ -652,10 +661,7 @@ Volcanos("onlayout", {help: "页面布局", list: [], _init: function(can) {
|
|||||||
can.page.Modify(can, can.ui.editor, style)
|
can.page.Modify(can, can.ui.editor, style)
|
||||||
},
|
},
|
||||||
})
|
})
|
||||||
Volcanos("ondaemon", {help: "数据刷新", list: [], _init: function(can) {
|
Volcanos("onexport", {help: "导出数据", list: ["输入法", "输入值", "文件名", "解析器", "当前行", "ncmd"],
|
||||||
},
|
|
||||||
})
|
|
||||||
Volcanos("onexport", {help: "导出数据", list: ["输入法", "输入值", "文件名", "解析器", "当前行"],
|
|
||||||
content: function(can) {
|
content: function(can) {
|
||||||
return can.page.Select(can, can._output, "div.content>pre.item", function(item) {
|
return can.page.Select(can, can._output, "div.content>pre.item", function(item) {
|
||||||
return can.current == item? can.editor.value: item.innerText
|
return can.current == item? can.editor.value: item.innerText
|
||||||
|
@ -1,5 +1,4 @@
|
|||||||
Volcanos("onimport", {help: "导入数据", list: [],
|
Volcanos("onimport", {help: "导入数据", list: [], _init: function(can, msg, list, cb, target) { can._output.innerHTML = "";
|
||||||
_init: function(can, msg, list, cb, target) { can._output.innerHTML = "";
|
|
||||||
can.onappend.table(can, target, "table", msg)
|
can.onappend.table(can, target, "table", msg)
|
||||||
|
|
||||||
// if (msg.Option("_display") == "table") {
|
// if (msg.Option("_display") == "table") {
|
||||||
@ -20,7 +19,7 @@ Volcanos("onimport", {help: "导入数据", list: [],
|
|||||||
var meta = JSON.parse(data.meta||"{}")
|
var meta = JSON.parse(data.meta||"{}")
|
||||||
can.onappend._init(can, meta, Volcanos.meta.libs.concat(["plugin/state.js"]), function(sub) {
|
can.onappend._init(can, meta, Volcanos.meta.libs.concat(["plugin/state.js"]), function(sub) {
|
||||||
sub.run = function(event, cmds, cb, silent) {
|
sub.run = function(event, cmds, cb, silent) {
|
||||||
// can.run(event, ["field", "action", "story", data.type, data.name, data.text].concat(cmds), cb, silent)
|
can.run(event, ["action", "story", data.type, data.name, data.text].concat(cmds), cb, true)
|
||||||
}
|
}
|
||||||
}, can._output, item)
|
}, can._output, item)
|
||||||
})
|
})
|
||||||
|
10
proto.js
10
proto.js
@ -1,6 +1,3 @@
|
|||||||
// volcanos: 前端 火山架 我看不行
|
|
||||||
// FMS: a fieldset manager system
|
|
||||||
|
|
||||||
function shy(help, meta, list, cb) {
|
function shy(help, meta, list, cb) {
|
||||||
var index = -1, value = "", type = "string", args = arguments; function next(check) {
|
var index = -1, value = "", type = "string", args = arguments; function next(check) {
|
||||||
if (++index >= args.length) {return false}
|
if (++index >= args.length) {return false}
|
||||||
@ -29,7 +26,7 @@ var Volcanos = shy("火山架", {cache: {}, index: 1, order: 1, debug: {
|
|||||||
_head: document.head, _body: document.body,
|
_head: document.head, _body: document.body,
|
||||||
_width: window.innerWidth, _height: window.innerHeight,
|
_width: window.innerWidth, _height: window.innerHeight,
|
||||||
}, libs = Preload.concat(Config.volcano), cb = function(can) {
|
}, libs = Preload.concat(Config.volcano), cb = function(can) {
|
||||||
can.onaction._init(can, can.Conf(Config), [], function(msg) {
|
can.onengine._init(can, can.Conf(Config), [], function(msg) {
|
||||||
}, can._target)
|
}, can._target)
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@ -43,7 +40,9 @@ var Volcanos = shy("火山架", {cache: {}, index: 1, order: 1, debug: {
|
|||||||
}
|
}
|
||||||
|
|
||||||
for (var i = 0; i < cache.length; i++) {
|
for (var i = 0; i < cache.length; i++) {
|
||||||
typeof cb == "function" && cb(can, name, cache[i]) || (can[cache[i]._name] = cache[i]);
|
if (can[cache[i]._name] && can[cache[i]._name]._merge && can[cache[i]._name]._merge(can, cache[i])) { continue }
|
||||||
|
if (typeof cb == "function" && cb(can, name, cache[i])) { continue}
|
||||||
|
can[cache[i]._name] = cache[i]
|
||||||
// 加载索引
|
// 加载索引
|
||||||
}
|
}
|
||||||
meta.cache[name] = cache;
|
meta.cache[name] = cache;
|
||||||
@ -209,3 +208,4 @@ var Volcanos = shy("火山架", {cache: {}, index: 1, order: 1, debug: {
|
|||||||
|
|
||||||
return can.require(libs, cb), can
|
return can.require(libs, cb), can
|
||||||
})
|
})
|
||||||
|
|
||||||
|
Loading…
x
Reference in New Issue
Block a user