1
0
mirror of https://shylinux.com/x/volcanos synced 2025-04-25 16:58:06 +08:00

opt order.js

This commit is contained in:
shaoying 2020-08-03 22:09:48 +08:00
parent d6ffbe2349
commit 4e821017f0
7 changed files with 56 additions and 36 deletions

View File

@ -365,7 +365,7 @@ Volcanos("onappend", { _init: function(can, meta, list, cb, target, field) { met
for (var k in sub._inputs) { sub._inputs[k]._target.focus(); break } for (var k in sub._inputs) { sub._inputs[k]._target.focus(); break }
}) })
}, target) }, }, target) },
}, Volcanos.meta.libs.concat([item.display||"/plugin/input.js", "frame.js"]), function(input) { input.sup = sub }, Volcanos.meta.libs.concat([item.display||"/plugin/input.js", "/frame.js"]), function(input) { input.sup = sub
input.onimport._init(input, input.Conf(item), item.list||[], function() {}, input._target) input.onimport._init(input, input.Conf(item), item.list||[], function() {}, input._target)
if (location.protocol == "chrome-extension:") { if (location.protocol == "chrome-extension:") {
@ -393,6 +393,9 @@ Volcanos("onappend", { _init: function(can, meta, list, cb, target, field) { met
}) })
} }
break break
case "清空":
sub._output.innerHTML = ""
return typeof cb == "function" && cb(can.request(event))
default: default:
cmds && cmds[0] == "action" || msg.Option("_action", item.name||item.value) cmds && cmds[0] == "action" || msg.Option("_action", item.name||item.value)
} }
@ -422,7 +425,8 @@ Volcanos("onappend", { _init: function(can, meta, list, cb, target, field) { met
var args = can.base.Obj(meta.args, []); can.core.Next(can.base.Obj(meta.inputs, []), add) var args = can.base.Obj(meta.args, []); can.core.Next(can.base.Obj(meta.inputs, []), add)
var count = 0; function run(event, cmds, cb, silent) { return sub.run(event, cmds||[], function(msg) { var count = 0; function run(event, cmds, cb, silent) { return sub.run(event, cmds||[], function(msg) {
sub.Status("ncmd", sub._history.length+"/"+count++) sub.Status("ncmd", sub._history.length+"/"+count++)
if (silent) { typeof cb == "function" && cb(msg); return } typeof cb == "function" && cb(msg)
if (silent) { return }
// 添加组件 // 添加组件
var display = (msg.Option("_plugin")||msg.Option("_display")||meta.feature.plugin||meta.feature.display||"table.js") var display = (msg.Option("_plugin")||msg.Option("_display")||meta.feature.plugin||meta.feature.display||"table.js")

View File

@ -4,6 +4,29 @@ Volcanos("onimport", {help: "导入数据", list: [], _init: function(can, meta,
Volcanos("onaction", {help: "交互操作", list: [], _init: function(can, msg, list, cb, target) { Volcanos("onaction", {help: "交互操作", list: [], _init: function(can, msg, list, cb, target) {
can.onexport._init(can, msg, list, cb, target) can.onexport._init(can, msg, list, cb, target)
}, },
add_plugin: function(can, river, storm, value) {
value.name && 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)
can.Conf("active", sub.Option())
can.Conf("action", value.name)
can.Conf("current", sub)
// 插件回调
return can.run(event, can.onengine[cmds[0]]? cmds: [river, storm, value.action].concat(cmds), function(msg) {
can.run(msg._event, ["search", "Footer.onaction.ncmd"]);
can.user.toast(can, "执行成功", value.name, 1000);
typeof cb == "function" && cb(msg)
}, silent)
}
sub._target.oncontextmenu = function(event) {
can.user.carte(can, can.ondetail, can.ondetail.list, function(event, item, meta) {
// 菜单命令
meta[item] && meta[item](event, can, value, sub)
})
}
}, can._output);
},
}) })
Volcanos("ondetail", {help: "交互菜单", list: ["共享", "更名", "删除"], Volcanos("ondetail", {help: "交互菜单", list: ["共享", "更名", "删除"],
"共享": function(event, can, value, sub) { var msg = sub.request(event) "共享": function(event, can, value, sub) { var msg = sub.request(event)
@ -21,34 +44,25 @@ Volcanos("onexport", {help: "导出数据", list: [], _init: function(can, msg,
var position = can.Conf(key, msg.Option(key, can.Cache(river+"."+storm, can._output)||"")); var position = can.Conf(key, msg.Option(key, can.Cache(river+"."+storm, can._output)||""));
if (position) { can._output.scrollTo(0, position-1); return } if (position) { can._output.scrollTo(0, position-1); return }
msg.Clear("option"), can.run(msg._event, [river, storm], function(sup) { can._output.innerHTML = ""; sup.Table(function(value, index, array) { msg.Clear("option"), can.run(msg._event, [river, storm], function(sup) { can._output.innerHTML = "";
value.inputs = can.base.Obj(value.inputs||"[]", []), value.inputs.length == 0 && (value.inputs = [ can.core.Next(sup.Table(), function(value, next) {
{type: "text", name: "name", action: "auto"}, // value.inputs = can.base.Obj(value.inputs||"[]", [])
{type: "button", name: "查看", action: "auto"}, // value.args = typeof value.args == "string"? value.args.split(","): value.args
{type: "button", name: "返回"}, value.inputs = can.base.Obj(value.inputs||"[]", [])
]); value.height = can._target.offsetHeight
value.width = can._target.offsetWidth value.width = can._target.offsetWidth
value.height = can._target.offsetHeight
value.name && can.onappend._init(can, value, Volcanos.meta.libs.concat(["/plugin/state.js"]), function(sub) { if (value.inputs.length == 0) {
sub.run = function(event, cmds, cb, silent) { var msg = can.request(event) can.run({}, [river, storm, "action", "command", value.index], function(msg) {
can.Conf("active", sub.Option()) value.inputs = can.base.Obj(msg.list&&msg.list[0]||"[]", [])
can.Conf("action", value.name) value.feature = can.base.Obj(msg.meta&&msg.meta[0]||"{}", {})
can.Conf("current", sub) can.onaction.add_plugin(can, river, storm, value), next()
// 插件回调
return can.run(event, can.onengine[cmds[0]]? cmds: [river, storm, value.action].concat(cmds), function(msg) {
can.run(msg._event, ["search", "Footer.onaction.ncmd"]);
can.user.toast(can, "执行成功", value.name, 1000);
typeof cb == "function" && cb(msg)
}, silent)
}
sub._target.oncontextmenu = function(event) {
can.user.carte(can, can.ondetail, can.ondetail.list, function(event, item, meta) {
// 菜单命令
meta[item] && meta[item](event, can, value, sub)
}) })
return
} }
}, can._output); can.onaction.add_plugin(can, river, storm, value), next()
}) }) })
})
}, },
key: function(can, msg) { msg.Option("active", can.Conf("action")) key: function(can, msg) { msg.Option("active", can.Conf("action"))
can.core.Item(can.Conf("active"), msg.Option) can.core.Item(can.Conf("active"), msg.Option)

View File

@ -1,5 +1,4 @@
Volcanos("onimport", {help: "导入数据", list: [], Volcanos("onimport", {help: "导入数据", list: [], _init: function(can, meta, list, cb, output, action, option, field) {
_init: function(can, meta, list, cb, output, action, option, field) {
}, },
}) })
Volcanos("onaction", {help: "控件交互", list: [], Volcanos("onaction", {help: "控件交互", list: [],
@ -27,7 +26,10 @@ Volcanos("onaction", {help: "控件交互", list: [],
switch (can.Conf("type")) { switch (can.Conf("type")) {
case "button": case "button":
can.run(event, [], function() {}) var toast = can.user.toast(can, "执行中...", can.sup._help, 100000)
can.run(event, [], function(msg) {
toast.Close()
})
break break
} }
}, },

View File

@ -77,7 +77,7 @@ Volcanos("onimport", {help: "导入数据", _init: function(can, msg, list, cb,
can.run({}, ["action", "render", can.base.Ext(file), file, path], function(msg) { can.run({}, ["action", "render", can.base.Ext(file), file, path], function(msg) {
can.tabview[path+file] = msg can.tabview[path+file] = msg
msg.Option({path: path, file: file, line: line}) msg.Option({path: path, file: file, line: line||1})
can.page.Append(can, can._action, [{view: ["file", "div", file], onclick: function(event) { can.page.Append(can, can._action, [{view: ["file", "div", file], onclick: function(event) {
can.onimport.tabview(can, path, file) can.onimport.tabview(can, path, file)
}, ondblclick: function(event) { }, ondblclick: function(event) {

View File

@ -49,8 +49,7 @@ Volcanos("onimport", {help: "导入数据", list: [], _init: function(can, msg,
]) ])
}) })
}, },
_task: function(can, msg, time, list, view) { _task: function(can, msg, time, list, view) { return {text: ["", "td"],
return {text: ["", "td"],
ondragover: function(event) { event.preventDefault() ondragover: function(event) { event.preventDefault()
can.page.Select(can, can.ui.content, "td", function(item) { can.page.Select(can, can.ui.content, "td", function(item) {
can.page.ClassList.del(can, item, "over") can.page.ClassList.del(can, item, "over")
@ -79,7 +78,7 @@ Volcanos("onimport", {help: "导入数据", list: [], _init: function(can, msg,
can.onaction.modifyTask(event, can, task, "status", item) can.onaction.modifyTask(event, can, task, "status", item)
}) })
}, },
_init: function(target) { _init: function(target) { can.task || target.click()
can._option._task && can._option._task.id == task.id && target.click() can._option._task && can._option._task.id == task.id && target.click()
}, },
} }

View File

@ -64,6 +64,7 @@ Volcanos("onaction", {help: "组件菜单", list: ["编辑", "清空", ["view",
return list return list
}, },
_height: function(can, tree) { _height: function(can, tree) {
if (!tree) { return }
if (tree.hide) { return tree.height = 1 } if (tree.hide) { return tree.height = 1 }
if (tree.list.length == 0) { if (tree.list.length == 0) {

View File

@ -147,7 +147,7 @@ var Volcanos = shy("火山架", {cache: {}, index: 1, order: 1, debug: {
} }
if (i >= msg.append.length) {msg.append.push(key)} if (i >= msg.append.length) {msg.append.push(key)}
msg[key] = msg[key] || [] msg[key] = msg[key] || []
msg[key].push(""+value+"") msg[key].push(""+(typeof value == "object"? JSON.stringify(value): value)+"")
return msg return msg
}, },
Echo: shy("输出响应", function(res) {msg.result = msg.result || [] Echo: shy("输出响应", function(res) {msg.result = msg.result || []