diff --git a/frame.js b/frame.js index f80ce197..3cc53cb1 100644 --- a/frame.js +++ b/frame.js @@ -124,6 +124,14 @@ var can = Volcanos("chat", { key && plugin[key] && plugin[key].target && plugin[key].Import(event, value, key) }, + Share: function(event) { + can.user.input(event, can, ["name", "text"], function(event, cmd, meta, list) { + cmd == "提交" && plugin.Run(event, ["action", "share", meta.name, meta.text], function(msg) { + can.user.toast(can.user.Share(can, {path: "/share/"+msg.Result()+"/"}, true)) + }, true) + return true + }) + }, Rename: function(event) {var meta = field.Meta; meta.help = can.user.prompt("", function(help) { meta.help = help @@ -286,10 +294,10 @@ var can = Volcanos("chat", { can[Config.main] = can.Page(can, Config.main, Config, function(chat) { chat.Import(event||{}, can.user.Search(can, "layout")||Config.layout.def, "layout") can.user.title(can.user.Search(can, "you")||Config.title) - can.user.login(function(user) { + chat.Login? can.user.login(function(user) { chat.River.Import(event||{}, "update", "river") chat.Header.Import(event||{}, user.name, "username") - }) + }): (chat.Action.Import(event||{}, location.pathname.split("/")[2], "river"), chat.Action.Import(event||{}, "none", "storm")) }, document.body) can.require(["page/"+(can.user.Search(can, "topic")||Config.topic)+".css"], function() {}) diff --git a/index.html b/index.html index 07e645fc..b8c37581 100644 --- a/index.html +++ b/index.html @@ -9,7 +9,7 @@ - + diff --git a/order.js b/index.js similarity index 100% rename from order.js rename to index.js diff --git a/pane/Action.js b/pane/Action.js index 96429989..f758c8ef 100644 --- a/pane/Action.js +++ b/pane/Action.js @@ -51,7 +51,7 @@ Volcanos("onimport", {help: "导入数据", list: [], can._plugin && can._plugin.Import(event, msg, cmd) }, }) -Volcanos("onaction", {help: "组件交互", list: [["layout", "工作", "办公", "聊天", "最长"], "刷新", "清屏", "并行","串行", +Volcanos("onaction", {help: "组件交互", list: [["layout"].concat(Config.layout.list), "刷新", "清屏", "并行","串行", ["action", "正常", "编辑", "编排", "定位"], {input: "pod"}, {input: "you"}, {input: "hot"}, {input: "top"}, ], @@ -61,6 +61,14 @@ Volcanos("onaction", {help: "组件交互", list: [["layout", "工作", "办公" layout: function(event, can, value, cmd, target) {can.Export(event, value, cmd)}, + "共享": function(event, can, msg, cmd, target) { + can.user.input(event, can, ["name", "text"], function(event, cmd, meta, list) { + cmd == "提交" && can.run(event, [can.Conf("river"), can.Conf("storm"), "share", meta.name, meta.text], function(msg) { + can.user.toast(can.user.Share(can, {path: "/share/"+msg.Result()+"/"}, true)) + }, true) + return true + }) + }, "保存": function(event, can, msg, cmd, target) { var list = [] can.page.Select(can, target, "fieldset", function(item) {var meta = item.Meta @@ -153,7 +161,7 @@ Volcanos("onaction", {help: "组件交互", list: [["layout", "工作", "办公" } }, }) -Volcanos("onchoice", {help: "组件菜单", list: ["保存", "刷新"]}) +Volcanos("onchoice", {help: "组件菜单", list: ["保存", "刷新", "共享"]}) Volcanos("ondetail", {help: "组件详情", list: []}) Volcanos("onexport", {help: "导出数据", list: []}) diff --git a/plugin/state.js b/plugin/state.js index f21c6dd7..ec3cfb00 100644 --- a/plugin/state.js +++ b/plugin/state.js @@ -8,9 +8,10 @@ Volcanos("onimport", {help: "导入数据", list: [], }, }) Volcanos("onaction", {help: "组件交互", list: []}) -Volcanos("onchoice", {help: "组件菜单", list: ["执行", "返回", "重命名", "选项", "加参", "减参", "克隆", "删除"], +Volcanos("onchoice", {help: "组件菜单", list: ["执行", "返回", "共享", "重命名", "选项", "加参", "减参", "克隆", "删除"], "执行": function(event, can, msg, cmd, field) {can.Runs(event)}, "返回": function(event, can, msg, cmd, field) {can.Last(event)}, + "共享": function(event, can, msg, cmd, field) {can.Share(event)}, "重命名": function(event, can, msg, cmd, field) {can.Rename(event)}, "选项": function(event, can, msg, cmd, field) { can.user.input(event, can, ["name", "value"], function(event, cmd, meta, list) { diff --git a/share.html b/share.html new file mode 100644 index 00000000..3be63007 --- /dev/null +++ b/share.html @@ -0,0 +1,15 @@ + + + + + volcanos + + + + + + + + + + diff --git a/share.js b/share.js new file mode 100644 index 00000000..251e5133 --- /dev/null +++ b/share.js @@ -0,0 +1,22 @@ +var Config = {iceberg: "", volcano: "/static/volcanos/", + libs: ["lib/base", "lib/core", "lib/misc", "lib/page", "lib/user"], + main: "chat", list: [ + "pane/Header", + "pane/River", "pane/Storm", + "pane/Target", "pane/Source", "pane/Action", + "pane/Footer", + ], pane: [ + {group: "index", name: "Header", pos: "head", state: ["time", "user", "link"], title: "github.com/shylinux/context"}, + {group: "index", name: "River", pos: "left"}, + {group: "index", name: "Storm", pos: "right"}, + + {group: "index", name: "Target", pos: "top"}, + {group: "index", name: "Source", pos: "center"}, + {group: "index", name: "Action", pos: "bottom"}, + {group: "index", name: "Footer", pos: "foot", state: ["ntxt", "ncmd"], title: 'shylinux@163.com'}, + ], + title: "volcanos", topic: "black", layout: {def: "最大", list: ["最大"], size: { + "最大": {head: 0, foot: 0, left: 0, right: 0, bottom: -1, center: 0, top: 0}, + }, border: 4, + }, +}