1
0
mirror of https://shylinux.com/x/volcanos synced 2025-04-25 16:58:06 +08:00
This commit is contained in:
shaoying 2020-09-23 08:21:42 +08:00
parent e50abf16d4
commit 1c2aa0a123
5 changed files with 62 additions and 42 deletions

View File

@ -82,17 +82,17 @@ Volcanos("onengine", {help: "解析引擎", list: [], _init: function(can, meta,
case "River": case "River":
if (cmds.length == 0) { if (cmds.length == 0) {
can.core.Item(can.onengine.river, function(key, value) { can.core.Item(can.onengine.river, function(key, value) {
msg.Push("key", key) msg.Push("hash", key)
msg.Push("name", value.name) msg.Push("name", value.name)
}) })
} }
if (cmds.length != 1 && cmds[1] != "storm") { if (cmds.length != 1 && cmds[1] != "tool") {
break break
} }
case "Storm": case "Storm":
var river = can.onengine.river[cmds[0]]; if (!river) { break } var river = can.onengine.river[cmds[0]]; if (!river) { break }
can.core.Item(river.storm, function(key, value) { can.core.Item(river.storm, function(key, value) {
msg.Push("key", key) msg.Push("hash", key)
msg.Push("name", value.name) msg.Push("name", value.name)
msg.Push("count", (value.index||value.action).length) msg.Push("count", (value.index||value.action).length)
}) })

View File

@ -111,13 +111,15 @@ var user = Volcanos("user", {help: "用户模块",
var pval = item.value.slice(1).split("=")[1] var pval = item.value.slice(1).split("=")[1]
} }
can.require(["/plugin/input/"+pkey], function(can) { target.type != "button" && (target.value = pval)
can.core.Item(can.onfigure[pkey], function(key, value) { if (key.startsWith("on")) {
target[key] = function(event) { value(event, can, item, target) }
} })
target.type != "button" && (target.value = pval)
})
can.page.Modify(can, target, {autocomplete: "off"}) can.page.Modify(can, target, {autocomplete: "off"})
can.require(["/plugin/input/"+pkey], function(can) {
can.onfigure._init(can, item, target, function(event) {
var msg = can.request(event); can.page.Select(can, ui.table, "select,input,textarea", function(item) {
item.name && item.value && msg.Option(item.name, item.value)
})
})
})
} }
} }
return {type: ["tr"], list: [ return {type: ["tr"], list: [

View File

@ -15,7 +15,7 @@ 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(["share", "pod"], function(key) { var value = can.user.Search(can, key) can.core.List(["pod"], function(key) { var value = can.user.Search(can, key)
value != undefined && msg.Option(key, can.user.Search(can, key)) value != undefined && msg.Option(key, can.user.Search(can, 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) })

View File

@ -12,13 +12,13 @@ Volcanos("onimport", {help: "导入数据", list: [], _init: function(can, meta,
can.run({}, [], function(sup) { can._output.innerHTML = ""; var select; sup.Table(function(value, index, array) { can.run({}, [], function(sup) { can._output.innerHTML = ""; var select; sup.Table(function(value, index, array) {
var view = can.onappend.item(can, can._output, "item", value, function(event, item) { var msg = can.request(event, {_msg: sup}) var view = can.onappend.item(can, can._output, "item", value, function(event, item) { var msg = can.request(event, {_msg: sup})
// 左键点击 // 左键点击
can.onimport.storm(event, can, value.key) can.onimport.storm(event, can, value.hash)
}, function(event) { }, function(event) {
// 右键点击 // 右键点击
can.onappend.menu(can, sup, value) can.onappend.menu(can, sup, value)
}) })
if (index == 0 || [value.key, value.name].indexOf(can._main_river) > -1) { select = view } if (index == 0 || [value.hash, value.name].indexOf(can._main_river) > -1) { select = view }
}); select && select.click(), typeof cb == "function" && cb(sup) }) }); select && select.click(), typeof cb == "function" && cb(sup) })
}, },
storm: function(event, can, river) { storm: function(event, can, river) {
@ -26,24 +26,33 @@ Volcanos("onimport", {help: "导入数据", list: [], _init: function(can, meta,
return can.page.Modify(can, list, {style: {display: hide? "": "none"}}) return can.page.Modify(can, list, {style: {display: hide? "": "none"}})
} }
can.run({}, [river], function(msg) { var which = 0 can.run({}, [river, "tool"], function(msg) { var which = 0
list = can.page.Append(can, can._output, [{view: "sublist", list: msg.Table(function(value, index) { list = can.page.Append(can, can._output, [{view: "sublist", list: msg.Table(function(storm, index) {
river == can._main_river && value.key == can._main_storm && (which = index) river == can._main_river && storm.hash == can._main_storm && (which = index)
return {text: [value.name, "div", "subitem"], onclick: function(event) { return {text: [storm.name, "div", "subitem"], onclick: function(event) {
// 左键点击 // 左键点击
var msg = can.request(event) var msg = can.request(event)
msg.Option(RIVER, can.Conf(RIVER, river)) msg.Option(RIVER, can.Conf(RIVER, river))
msg.Option(STORM, can.Conf(STORM, value.key)) msg.Option(STORM, can.Conf(STORM, storm.hash))
can.run(event, ["search", "Action.onaction._init"]) can.run(event, ["search", "Action.onaction._init"])
value.name != "main" && can.user.title(can.user.Search(can, "pod") || value.name) storm.name != "main" && can.user.title(can.user.Search(can, "pod") || storm.name)
can.page.Select(can, can._output, "div.subitem.select", function(item) { can.page.Select(can, can._output, "div.subitem.select", function(item) {
can.page.ClassList.del(can, item, "select") can.page.ClassList.del(can, item, "select")
}), can.page.ClassList.add(can, event.target, "select") }), can.page.ClassList.add(can, event.target, "select")
}, oncontextmenu: function(event) { }, oncontextmenu: function(event) {
// 右键点击 // 右键点击
can.user.carte(can, {}, ["添加工具", "保存", "删除"], function(ev, item, meta) { can.user.carte(can, {}, ["添加工具", "重命名", "保存", "删除应用"], function(ev, item, meta) {
switch (item) { switch (item) {
case "重命名":
can.user.input(event, can, ["name"], function(event, button, meta, list) {
var msg = can.request(event); msg.Option("hash", storm.hash)
can.run(event, [river, "tool", "action", "modify", "name", meta.name], function(msg) {
can.user.Search(can, {river: can.Conf(RIVER), storm: can.Conf(STORM)})
})
return true
})
break
case "保存": case "保存":
var list = can.page.Select(can, document.body, "fieldset.Action>div.output>fieldset.plugin>form.option", function(item) { var list = can.page.Select(can, document.body, "fieldset.Action>div.output>fieldset.plugin>form.option", function(item) {
return JSON.stringify(can.page.Select(can, item, 'input[type="text"],select', function(item) { return JSON.stringify(can.page.Select(can, item, 'input[type="text"],select', function(item) {
@ -51,17 +60,12 @@ Volcanos("onimport", {help: "导入数据", list: [], _init: function(can, meta,
})) }))
}) })
can.run(event, [can.Conf(RIVER), value.key, STORM, "action", "save"].concat(list), function(msg) { can.run(event, [can.Conf(RIVER), storm.hash, STORM, "action", "save"].concat(list), function(msg) {
can.user.toast(can, "保存成功", STORM) can.user.toast(can, "保存成功", STORM)
}) })
break break
case "删除":
can.run(event, [can.Conf(RIVER), value.key, STORM, "action", "remove"], function(msg) {
can.user.Search(can, {river: can.Conf(RIVER)})
}) || can.ondetail[item](event, can, value)
break
default: default:
can.ondetail[item](event, can, item) can.ondetail[item](event, can, item, storm)
} }
}) })
}} }}
@ -82,7 +86,7 @@ Volcanos("onaction", {help: "控件交互", list: ["创建", "刷新"], _init: f
{_input: "text", name: "简介", value: "hello"}, {_input: "text", name: "简介", value: "hello"},
], function(event, button, meta, list) { ], function(event, button, meta, list) {
can.run(event, ["action", "create"].concat(["type", list[0], "name", list[1], "text", list[2]]), function(msg) { can.run(event, ["action", "create"].concat(["type", list[0], "name", list[1], "text", list[2]]), function(msg) {
// can.user.Search(can, {river: msg.Result()}) can.user.Search(can, {river: msg.Result()})
}) })
return true return true
}) })
@ -90,19 +94,26 @@ Volcanos("onaction", {help: "控件交互", list: ["创建", "刷新"], _init: f
"创建": function(event, can) { can.onaction.create(can) }, "创建": function(event, can) { can.onaction.create(can) },
"刷新": function(event, can) { can.user.Search(can, {river: can.Conf(RIVER), storm: can.Conf(STORM)}) }, "刷新": function(event, can) { can.user.Search(can, {river: can.Conf(RIVER), storm: can.Conf(STORM)}) },
}) })
Volcanos("ondetail", {help: "菜单交互", list: ["添加应用", "添加设备", "添加用户", "重命名", "共享", "删除"], _init: function(can, msg, list, cb, target) { Volcanos("ondetail", {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)
}, },
"添加工具": function(event, can, value) { "添加工具": function(event, can, button, storm) {
can.run(event, ["search", "Search.onimport.select", "command", "", ""], function(list) { can.run(event, ["search", "Search.onimport.select", "command", "", ""], function(list) {
var args = []; can.core.List(list, function(item) { can.core.Next(list, function(item, next) {
args = args.concat([item[0], item[5], item[4], ""]) can.run({}, [can.Conf(RIVER), "tool", "action", "insert", "hash", can.Conf(STORM)].concat(["pod", item[0], "ctx", item[5], "cmd", item[4]]), function(msg) {
}) next()
can.run(event, [can.Conf(RIVER), can.Conf(STORM), STORM, "action", "tool"].concat(args), function(msg) { })
can.user.Search(can, {river: can.Conf(RIVER), STORM: can.Conf(STORM)}) }, function() {
can.user.Search(can, {river: can.Conf(RIVER), storm: can.Conf(STORM)})
}) })
}) })
}, },
"删除应用": function(event, can, button, storm) {
var msg = can.request(event); msg.Option("hash", storm.hash)
can.run(event, [can.Conf(RIVER), "tool", "action", "remove"], function(msg) {
can.user.Search(can, {river: can.Conf(RIVER)})
})
},
"添加应用": function(event, can, river, button) { "添加应用": function(event, can, river, button) {
can.user.input(event, can, [ can.user.input(event, can, [
@ -110,8 +121,8 @@ Volcanos("ondetail", {help: "菜单交互", list: ["添加应用", "添加设备
{_input: "text", name: "名称", value: "hi"}, {_input: "text", name: "名称", value: "hi"},
{_input: "text", name: "简介", value: "hello"}, {_input: "text", name: "简介", value: "hello"},
], function(event, button, meta, list) { ], function(event, button, meta, list) {
can.run(event, [can.Conf(RIVER), STORM, "action", "create"].concat(list), function(msg) { can.run(event, [can.Conf(RIVER), "tool", "action", "create"].concat(["type", list[0], "name", list[1], "text", list[2]]), function(msg) {
can.user.Search(can, {river: can.Conf(RIVER), STORM: msg.Result()}) can.user.Search(can, {river: can.Conf(RIVER), storm: msg.Result()})
}) })
return true return true
}) })
@ -140,7 +151,8 @@ Volcanos("ondetail", {help: "菜单交互", list: ["添加应用", "添加设备
}, },
"重命名": function(event, can, river, button) { "重命名": function(event, can, river, button) {
can.user.input(event, can, ["name"], function(event, button, meta, list) { can.user.input(event, can, ["name"], function(event, button, meta, list) {
can.run(event, [river.key, "action", "rename", meta.name], function(msg) { var msg = can.request(event); msg.Option("hash", river.hash)
can.run(event, ["action", "modify", "name", meta.name], function(msg) {
can.user.Search(can, {river: can.Conf(RIVER)}) can.user.Search(can, {river: can.Conf(RIVER)})
}) })
return true return true
@ -149,14 +161,14 @@ Volcanos("ondetail", {help: "菜单交互", list: ["添加应用", "添加设备
"共享": function(event, can, value) { "共享": function(event, can, value) {
can.user.input(event, can, ["name"], function(event, button, meta, list) { can.user.input(event, can, ["name"], function(event, button, meta, list) {
var msg = can.request(event) var msg = can.request(event)
can.user.share(can, msg, [value.key, "action", "share", meta.name]) can.user.share(can, msg, [value.hash, "action", "share", meta.name])
return true return true
}) })
}, },
"删除": function(event, can, river, button) { "删除群组": function(event, can, river, button) {
can.run(event, ["remove", "hash", river.key], function(msg) { can.run(event, ["remove", "hash", river.hash], function(msg) {
// can.user.Search(can, {}) can.user.Search(can, {})
}) })
}, },
}) })

View File

@ -1,4 +1,10 @@
Volcanos("onfigure", {help: "控件详情", list: [], Volcanos("onfigure", {help: "控件详情", list: [], _init: function(can, item, target, cb) {
can.core.Item(can.onfigure.key, function(key, value) { if (key.startsWith("on")) {
target[key] = function(event) {
cb(event), value(event, can, item, target)
}
} })
},
key: {onclick: function(event, can, item, target) { key: {onclick: function(event, can, item, target) {
function run() { var msg = can.request(event); msg.Option(can.Option()) function run() { var msg = can.request(event); msg.Option(can.Option())
can.run(event, ["action", "inputs", item.name, target.value], function(msg) { can.run(event, ["action", "inputs", item.name, target.value], function(msg) {