1
0
mirror of https://shylinux.com/x/volcanos synced 2025-04-25 08:48:06 +08:00
This commit is contained in:
IT 老营长 @云轩领航-创始人 2024-01-10 21:06:50 +08:00
parent 0836be6d9f
commit 5a9d23b1a1
9 changed files with 23 additions and 28 deletions

View File

@ -76,6 +76,7 @@ var mdb = {FOREACH: "*", RANDOMS: "%",
} }
var web = {CHAT: "chat", PORTAL: "portal", STUDIO: "studio", SERVICE: "service", var web = {CHAT: "chat", PORTAL: "portal", STUDIO: "studio", SERVICE: "service",
VENDOR: "vendor", VENDOR: "vendor",
PORTAL: "portal", DESKTOP: "desktop",
SERVE: "serve", SPACE: "space", ROUTE: "route", DREAM: "dream", SERVE: "serve", SPACE: "space", ROUTE: "route", DREAM: "dream",
SPIDE: "spide", TOKEN: "token", SHARE: "share", COUNT: "count", SPIDE: "spide", TOKEN: "token", SHARE: "share", COUNT: "count",
STATS: "stats", ADMIN: "admin", STATS: "stats", ADMIN: "admin",
@ -104,7 +105,6 @@ var web = {CHAT: "chat", PORTAL: "portal", STUDIO: "studio", SERVICE: "service",
WIKI_WORD: "web.wiki.word", WIKI_WORD: "web.wiki.word",
WIKI_DRAW: "web.wiki.draw", WIKI_DRAW: "web.wiki.draw",
WIKI_PORTAL: "web.wiki.portal", WIKI_PORTAL: "web.wiki.portal",
CHAT_PORTAL: "web.chat.portal",
CHAT_HEADER: "web.chat.header", CHAT_HEADER: "web.chat.header",
CHAT_IFRAME: "web.chat.iframe", CHAT_IFRAME: "web.chat.iframe",
CHAT_OAUTH_CLIENT: "web.chat.oauth.client", CHAT_OAUTH_CLIENT: "web.chat.oauth.client",
@ -175,7 +175,6 @@ var nfs = {
SHARE_LOCAL: "/share/local/", SHARE_LOCAL: "/share/local/",
SHARE_CACHE: "/share/cache/", SHARE_CACHE: "/share/cache/",
WIKI_PORTAL: "/wiki/portal/", WIKI_PORTAL: "/wiki/portal/",
CHAT_PORTAL: "/chat/portal/",
DF: ice.DF, PS: ice.PS, PT: ice.PT, DF: ice.DF, PS: ice.PS, PT: ice.PT,
CHAT_RIVER: "/chat/river/", CHAT_RIVER: "/chat/river/",

View File

@ -156,7 +156,7 @@ Volcanos(chat.ONAPPEND, {_init: function(can, meta, list, cb, target, field) {
var icon = { var icon = {
"": {name: mdb.DELETE, cb: function(event) { can.onaction.close(event, can) }}, "": {name: mdb.DELETE, cb: function(event) { can.onaction.close(event, can) }},
run: {name: web.PLAY, cb: function(event) { can.Update(event) }}, run: {name: web.PLAY, cb: function(event) { can.Update(event) }},
refresh: {name: web.REFRESH, cb: function(event) { can.Update(event) }}, // refresh: {name: web.REFRESH, cb: function(event) { can.Update(event) }},
list: {name: web.REFRESH, cb: function(event) { can.Update(event) }}, list: {name: web.REFRESH, cb: function(event) { can.Update(event) }},
back: {name: "goback", cb: function(event) { can.onimport.back(event, can) }}, back: {name: "goback", cb: function(event) { can.onimport.back(event, can) }},
prev: {name: mdb.PREV, cb: function(event) { var sub = can.sub; sub.onaction && sub.onaction.prev? sub.onaction.prev(event, sub): can.onaction.prev(event, can) }}, prev: {name: mdb.PREV, cb: function(event) { var sub = can.sub; sub.onaction && sub.onaction.prev? sub.onaction.prev(event, sub): can.onaction.prev(event, can) }},

View File

@ -82,7 +82,7 @@ body.width6 { /* 1920-2240 显示器 */
} }
/* element */ /* element */
* { tab-size:4; box-sizing:border-box; padding:0; border:0; margin:0; } * { tab-size:4; box-sizing:border-box; padding:0; border:0; margin:0; }
legend { font-family:var(--legend-font-family); padding:0 var(--legend-padding); } legend { font-family:var(--legend-font-family); padding:0 var(--legend-padding); margin-right:var(--button-margin); }
select { padding:0 var(--button-padding); } select { padding:0 var(--button-padding); }
input:not([type=file]) { padding:0 var(--button-padding); } input:not([type=file]) { padding:0 var(--button-padding); }
input:not([type=button]) { padding:0 var(--input-padding); border-radius:0; outline:none; } input:not([type=button]) { padding:0 var(--input-padding); border-radius:0; outline:none; }
@ -291,6 +291,7 @@ div.item.button.select:hover>span.icon { visibility:visible; }
div.item.button.icons>i { font-size:20px; padding:var(--input-padding); } div.item.button.icons>i { font-size:20px; padding:var(--input-padding); }
div.item.button.create>span.icon { font-size:30px; margin-top:-5px; } div.item.button.create>span.icon { font-size:30px; margin-top:-5px; }
div.item.button.insert>span.icon { font-size:30px; margin-top:-5px; } div.item.button.insert>span.icon { font-size:30px; margin-top:-5px; }
div.item.button.refresh>span.icon { font-size:28px; margin-top:-3px; }
div.tabs>span { font-style:italic; } div.tabs>span { font-style:italic; }
div.tabs>span.icon { font-size:var(--icon-font-size); font-style:normal; padding-left:var(--input-padding); visibility:hidden; } div.tabs>span.icon { font-size:var(--icon-font-size); font-style:normal; padding-left:var(--input-padding); visibility:hidden; }
div.tabs.select>span.icon { visibility:visible; } div.tabs.select>span.icon { visibility:visible; }

View File

@ -307,7 +307,8 @@ Volcanos("page", {
width: function() { return window.innerWidth }, width: function() { return window.innerWidth },
ismodkey: function(event) { return [code.META, code.ALT, code.CONTROL, code.SHIFT].indexOf(event.key) > -1 }, ismodkey: function(event) { return [code.META, code.ALT, code.CONTROL, code.SHIFT].indexOf(event.key) > -1 },
unicode: { // https://symbl.cc/cn/ unicode: { // https://symbl.cc/cn/
refresh: "↻", goback: "↺", play: "▶", create: "+", insert: "+", prunes: "♻︎", prune: "♻︎", refresh: "↻",
goback: "↺", play: "▶", create: "+", insert: "+", prunes: "♻︎", prune: "♻︎",
select: "▿", remove: "✕", delete: "✕", close: "✕", select: "▿", remove: "✕", delete: "✕", close: "✕",
menu: "☰", menu: "☰",
opens: "▾", closes: "▸", opens: "▾", closes: "▸",
@ -406,8 +407,8 @@ Volcanos("page", {
return action return action
}, },
buttonStyle: function(can, name) { buttonStyle: function(can, name) {
return can.base.isIn(name, mdb.CREATE, mdb.INSERT, mdb.IMPORT, nfs.CLONE, cli.BUILD, cli.START, ctx.RUN, web.OPEN, web.UPLOAD, web.CONFIRM, aaa.LOGIN, code.AUTOGEN, code.COMPILE, "more", "sso", "add", "pull", "push", "commit", "startall", "preview", "auto-preview", ice.APP)? html.NOTICE: return can.base.isIn(name, mdb.CREATE, mdb.INSERT, mdb.IMPORT, nfs.CLONE, cli.START, ctx.RUN, web.OPEN, web.UPLOAD, web.CONFIRM, aaa.LOGIN, code.AUTOGEN, "more", "sso", "add", "pull", "push", "commit", "preview", "auto-preview", ice.APP)? html.NOTICE:
can.base.isIn(name, mdb.REMOVE, mdb.DELETE, mdb.PRUNES, mdb.PRUNE, nfs.TRASH, cli.RESTART, cli.STOP, cli.CLOSE, cli.REBOOT, web.CANCEL, code.UPGRADE, "drop", "stopall", "prockill")? html.DANGER: "" can.base.isIn(name, mdb.REMOVE, mdb.DELETE, mdb.PRUNES, mdb.PRUNE, nfs.TRASH, cli.RESTART, cli.STOP, cli.CLOSE, cli.REBOOT, web.CANCEL, code.UPGRADE, "drop", "prockill")? html.DANGER: ""
}, },
exportValue: function(can, msg, target) { target = target||can._output exportValue: function(can, msg, target) { target = target||can._output
msg.OptionDefault(ice.MSG_THEME, can.getHeaderTheme()) msg.OptionDefault(ice.MSG_THEME, can.getHeaderTheme())

View File

@ -101,8 +101,8 @@ Volcanos(chat.ONACTION, {_init: function(can, target) {
mail: function(can) { can.user.opens("/chat/pod/20230511-golang-story/cmd/web.chat.mail.client") }, mail: function(can) { can.user.opens("/chat/pod/20230511-golang-story/cmd/web.chat.mail.client") },
dream: function(can) { can.user.opens(can.misc.MergePodCmd(can, {cmd: web.DREAM})) }, dream: function(can) { can.user.opens(can.misc.MergePodCmd(can, {cmd: web.DREAM})) },
cloud: function(can) { can.user.opens("https://cloud.shylinux.com/") }, cloud: function(can) { can.user.opens("https://cloud.shylinux.com/") },
portal: function(can) { can.user.opens(can.misc.MergePodCmd(can, {cmd: web.WIKI_PORTAL})) }, portal: function(can) { can.user.opens(can.misc.MergePodCmd(can, {cmd: web.PORTAL})) },
desktop: function(can) { can.user.opens(can.misc.MergePodCmd(can, {cmd: web.CHAT_MACOS_DESKTOP})) }, desktop: function(can) { can.user.opens(can.misc.MergePodCmd(can, {cmd: web.DESKTOP})) },
layout: function(can, button, skip) { can.page.ClassList.del(can, can._target, can._layout||can.onlayout._storage(can)), can._header_tabs && can.onmotion.hidden(can, can._header_tabs) layout: function(can, button, skip) { can.page.ClassList.del(can, can._target, can._layout||can.onlayout._storage(can)), can._header_tabs && can.onmotion.hidden(can, can._header_tabs)
button = (can.onlayout._storage(can, can._layout = button == ice.AUTO? "": button))||can.misc.SearchOrConf(can, html.LAYOUT), can.page.ClassList.add(can, can._target, button) button = (can.onlayout._storage(can, can._layout = button == ice.AUTO? "": button))||can.misc.SearchOrConf(can, html.LAYOUT), can.page.ClassList.add(can, can._target, button)
can.onengine.signal(can, chat.ONLAYOUT, can.request({}, {layout: button})), can._root.River && can._river_show === false && can.onmotion.hidden(can, can._root.River._target), skip || can.onlayout._init(can) can.onengine.signal(can, chat.ONLAYOUT, can.request({}, {layout: button})), can._root.River && can._river_show === false && can.onmotion.hidden(can, can._root.River._target), skip || can.onlayout._init(can)

View File

@ -1,5 +1,9 @@
(function() { var NTIP = "ntip", NLOG = "nlog", NCMD = "ncmd", NKEY = "nkey" (function() { var NTIP = "ntip", NLOG = "nlog", NCMD = "ncmd", NKEY = "nkey"
Volcanos(chat.ONIMPORT, {_init: function(can, msg, target) { Volcanos(chat.ONIMPORT, {_init: function(can, msg, target) {
if (!can.misc.isDebug(can)) {
can.onmotion.hidden(can)
return
}
can.Conf(nfs.VERSION, can.base.trimPrefix(window._version, "?_v=").split("&")[0]) can.Conf(nfs.VERSION, can.base.trimPrefix(window._version, "?_v=").split("&")[0])
can.ConfHeight(can.page.height()), can.ConfWidth(can.page.width()) can.ConfHeight(can.page.height()), can.ConfWidth(can.page.width())
can.Conf(NKEY, can.core.Item(can.misc.localStorage(can)).length) can.Conf(NKEY, can.core.Item(can.misc.localStorage(can)).length)

View File

@ -103,7 +103,7 @@ Volcanos(chat.ONACTION, {list: ["创建", "编译", "源码", "计划", "流程"
"计划": function(event, can) { can.onimport.tabview(can, "", web.TEAM_PLAN, ctx.INDEX) }, "计划": function(event, can) { can.onimport.tabview(can, "", web.TEAM_PLAN, ctx.INDEX) },
"流程": function(event, can) { can.onimport.tabview(can, "", web.CHAT_FLOWS, ctx.INDEX) }, "流程": function(event, can) { can.onimport.tabview(can, "", web.CHAT_FLOWS, ctx.INDEX) },
"文档": function(event, can) { can.onimport.tabview(can, "", web.WIKI_WORD, ctx.INDEX) }, "文档": function(event, can) { can.onimport.tabview(can, "", web.WIKI_WORD, ctx.INDEX) },
"后台": function(event, can) { var pod = can.misc.Search(can, ice.POD); can.onimport.tabview(can, "", location.origin+nfs.CHAT_PORTAL+(pod? "?pod="+pod: ""), web.SPACE) }, "后台": function(event, can) { var pod = can.misc.Search(can, ice.POD); can.onimport.tabview(can, "", location.origin+"/c/admin"+(pod? "?pod="+pod: ""), web.SPACE) },
"桌面": function(event, can) { can.onimport.tabview(can, "", web.CHAT_MACOS_DESKTOP, ctx.INDEX) }, "桌面": function(event, can) { can.onimport.tabview(can, "", web.CHAT_MACOS_DESKTOP, ctx.INDEX) },
"官网": function(event, can) { can.onimport.tabview(can, "", can.misc.MergePodCmd(can, {cmd: web.WIKI_PORTAL}), web.SPACE) }, "官网": function(event, can) { can.onimport.tabview(can, "", can.misc.MergePodCmd(can, {cmd: web.WIKI_PORTAL}), web.SPACE) },

View File

@ -8,24 +8,14 @@ Volcanos(chat.ONIMPORT, {
_rewrite: function(can, msg) { var arg = msg._arg; for (var i = 0; i < arg.length; i += 2) { can.Option(arg[i], arg[i+1]), can.Action(arg[i], arg[i+1]) } can.Update() }, _rewrite: function(can, msg) { var arg = msg._arg; for (var i = 0; i < arg.length; i += 2) { can.Option(arg[i], arg[i+1]), can.Action(arg[i], arg[i+1]) } can.Update() },
_display: function(can, msg) { can.onappend._output(can, msg, msg.Option(ice.MSG_DISPLAY)) }, _display: function(can, msg) { can.onappend._output(can, msg, msg.Option(ice.MSG_DISPLAY)) },
_clear: function(can, msg) { can.onmotion.clear(can) }, _clear: function(can, msg) { can.onmotion.clear(can) },
_inner: function(can, sub, msg) { _inner: function(can, sub, msg) { can.onmotion.scrollIntoView(can, can.onappend.table(sub, msg)), can.onmotion.scrollIntoView(can, can.onappend.board(sub, msg)), can.onmotion.story.auto(sub) },
can.onmotion.scrollIntoView(can, can.onappend.table(sub, msg)) _cookie: function(can, msg) { can.misc.Cookie(can, msg._arg[0], msg._arg[1]), can.Update() },
can.onmotion.scrollIntoView(can, can.onappend.board(sub, msg)) _session: function(can, msg) { can.misc.sessionStorage(can, msg._arg[0], msg._arg[1]), can.Update() },
can.onmotion.story.auto(sub)
},
_cookie: function(can, msg) {
can.misc.Cookie(can, msg._arg[0], msg._arg[1])
can.Update()
},
_session: function(can, msg) {
can.misc.sessionStorage(can, msg._arg[0], msg._arg[1])
can.Update()
},
_field: function(can, msg, cb) { var height = can.base.Max(html.STORY_HEIGHT, can.ConfHeight()), width = can.ConfWidth() _field: function(can, msg, cb) { var height = can.base.Max(html.STORY_HEIGHT, can.ConfHeight()), width = can.ConfWidth()
msg.Table(function(item) { can.onappend._plugin(can, item, {_space: can.ConfSpace(), index: item.index, args: can.base.Obj(item.args||item.arg, []), height: height, width: width}, function(sub) { msg.Table(function(item) { can.onappend._plugin(can, item, {_space: can.ConfSpace(), index: item.index, args: can.base.Obj(item.args||item.arg, []), height: height, width: width}, function(sub) {
if (can.base.isIn(sub.ConfIndex(), if (can.base.isIn(sub.ConfIndex(),
web.WIKI_PORTAL, web.CHAT_IFRAME, web.CHAT_MACOS_DESKTOP, web.CODE_VIMER, web.WIKI_PORTAL, web.CHAT_IFRAME, web.CHAT_MACOS_DESKTOP, web.CODE_VIMER,
)) { height = can.base.Max(can.base.Min(can.onexport.outputHeight(can), 640), can.ConfHeight()) } )) { height = can.base.Max(can.base.Min(can.onexport.outputHeight(can), 480), can.ConfHeight()) }
can.onmotion.delay(can, function() { can.onmotion.scrollIntoView(can, sub._target) }, 300) can.onmotion.delay(can, function() { can.onmotion.scrollIntoView(can, sub._target) }, 300)
sub.run = function(event, cmds, cb) { var index = msg.Option(ice.MSG_INDEX) sub.run = function(event, cmds, cb) { var index = msg.Option(ice.MSG_INDEX)
can.run(event, (msg[ice.MSG_PREFIX]? msg[ice.MSG_PREFIX]: index? [ctx.RUN, index]: []).concat(cmds), cb, true) can.run(event, (msg[ice.MSG_PREFIX]? msg[ice.MSG_PREFIX]: index? [ctx.RUN, index]: []).concat(cmds), cb, true)
@ -112,8 +102,8 @@ Volcanos(chat.ONIMPORT, {
Volcanos(chat.ONACTION, {list: ["刷新数据", "刷新界面", "切换浮动", "切换全屏", "共享工具", "生成链接", Volcanos(chat.ONACTION, {list: ["刷新数据", "刷新界面", "切换浮动", "切换全屏", "共享工具", "生成链接",
function(can) { if (!can.isCmdMode()) { return "打开链接" } }, function(can) { if (can.isCmdMode()) { return "打开首页" } }, function(can) { if (!can.isCmdMode()) { return "打开链接" } }, function(can) { if (can.isCmdMode()) { return "打开首页" } },
function(can) { if (can.ConfSpace() || can.isCmdMode() && can.misc.Search(can, ice.POD)) { return "打开空间" } }, function(can) { if (can.ConfSpace() || can.isCmdMode() && can.misc.Search(can, ice.POD)) { return "打开空间" } },
function(can) { if (can.misc.Search(can, log.MSG_DEBUG)) { return "查看源码" } }, function(can) { if (can.misc.Search(can, ice.MSG_DEBUG)) { return "查看源码" } },
function(can) { if (can.misc.Search(can, log.MSG_DEBUG)) { return "查看镜像" } }, function(can) { if (can.misc.Search(can, ice.MSG_DEBUG)) { return "查看镜像" } },
["视图", "参数", ["视图", "参数",
function(can) { if (can._action.innerHTML) { return "操作" } }, function(can) { if (can._action.innerHTML) { return "操作" } },
function(can) { if (can._status.innerHTML) { return "状态" } }, function(can) { if (can._status.innerHTML) { return "状态" } },
@ -225,7 +215,7 @@ Volcanos(chat.ONACTION, {list: ["刷新数据", "刷新界面", "切换浮动",
clear: function(event, can) { can.onmotion.clear(can, can._output) }, clear: function(event, can) { can.onmotion.clear(can, can._output) },
actions: function(event, can) { can.onmotion.toggle(can, can._action) }, actions: function(event, can) { can.onmotion.toggle(can, can._action) },
help: function(event, can) { help: function(event, can) {
can.onappend._float(can, {index: web.WIKI_WORD}, [can.Conf("_help")]) can.onappend._float(can, {index: web.WIKI_WORD}, [can.Conf("_help")])
}, },
full: function(event, can) { can.onaction["切换全屏"](event, can, "切换全屏", can.sub) }, full: function(event, can) { can.onaction["切换全屏"](event, can, "切换全屏", can.sub) },
prev: function(event, can) { can.runAction(event, mdb.PREV, [can.Status(mdb.TOTAL)||0, can.Option(mdb.LIMIT)||can.Action(mdb.LIMIT)||can._msg.Option("cache.limit")||"", can.Option(mdb.OFFEND)||can.Action(mdb.OFFEND)||""], function(msg) { can.onimport._process(can, msg) }) }, prev: function(event, can) { can.runAction(event, mdb.PREV, [can.Status(mdb.TOTAL)||0, can.Option(mdb.LIMIT)||can.Action(mdb.LIMIT)||can._msg.Option("cache.limit")||"", can.Option(mdb.OFFEND)||can.Action(mdb.OFFEND)||""], function(msg) { can.onimport._process(can, msg) }) },

View File

@ -63,7 +63,7 @@ Volcanos("user", {
if (ls[2].indexOf("/pages/") == 0) { data.pages = ls[2] } if (ls[2].indexOf("/pages/") == 0) { data.pages = ls[2] }
} }
can.misc.Info("app parse", data) can.misc.Info("app parse", data)
if (data.cmd == "web.chat.portal") { if (data.cmd == "admin") {
can.user.jumps(can.base.MergeURL(data.pages||chat.PAGES_RIVER, data)) can.user.jumps(can.base.MergeURL(data.pages||chat.PAGES_RIVER, data))
} if (data.cmd||data.index||data.share) { } if (data.cmd||data.index||data.share) {
can.user.jumps(can.base.MergeURL(data.pages||chat.PAGES_ACTION, data)) can.user.jumps(can.base.MergeURL(data.pages||chat.PAGES_ACTION, data))