forked from x/volcanos
opt layout
This commit is contained in:
parent
e6663423af
commit
8930b335b0
6
frame.js
6
frame.js
@ -176,7 +176,9 @@ Volcanos(chat.ONAPPEND, {_init: function(can, meta, list, cb, target, field) {
|
|||||||
sub._fields = can
|
sub._fields = can
|
||||||
if (item.type == html.TEXT) { can.page.Append(can, sub._target.parentNode, [{text: [sub._target.value, html.SPAN, mdb.VALUE]}]) }
|
if (item.type == html.TEXT) { can.page.Append(can, sub._target.parentNode, [{text: [sub._target.value, html.SPAN, mdb.VALUE]}]) }
|
||||||
if (item.type == html.BUTTON && can.page.isIconInput(can, item.name)) {
|
if (item.type == html.BUTTON && can.page.isIconInput(can, item.name)) {
|
||||||
can.onappend.icons(can, sub._target, item.name, item.onclick||function(event) { can.Update(event, [ctx.ACTION, item.name].concat(can.page.SelectArgs(sub))) })
|
can.onappend.icons(can, sub._target, item.name, item.onclick||function(event) {
|
||||||
|
can.Update(event, item.name == "refresh"? []: [ctx.ACTION, item.name].concat(can.page.SelectArgs(sub)))
|
||||||
|
})
|
||||||
}
|
}
|
||||||
sub.run = function(event, cmds, cb, silent) { var msg = can.requestAction(event, item.name)._caller()
|
sub.run = function(event, cmds, cb, silent) { var msg = can.requestAction(event, item.name)._caller()
|
||||||
msg.RunAction(event, sub, cmds) || msg.RunAction(event, can.sub, cmds) || can.Update(event, can.Input(cmds, !silent), cb, silent)
|
msg.RunAction(event, sub, cmds) || msg.RunAction(event, can.sub, cmds) || can.Update(event, can.Input(cmds, !silent), cb, silent)
|
||||||
@ -232,7 +234,7 @@ Volcanos(chat.ONAPPEND, {_init: function(can, meta, list, cb, target, field) {
|
|||||||
if (list.length == 0 && can.Conf("inputs").length == 0) { return meta }
|
if (list.length == 0 && can.Conf("inputs").length == 0) { return meta }
|
||||||
var _can = can._fields? can.sup: can
|
var _can = can._fields? can.sup: can
|
||||||
can.user.isMobile || can.isCmdMode() || can.base.beginWith(can.ConfIndex(), "can.") || can.page.tagis(can._fields||can._target, html.FIELDSET_PANEL, html.FIELDSET_PLUG) || action == can._action && can.page.Append(can, action,
|
can.user.isMobile || can.isCmdMode() || can.base.beginWith(can.ConfIndex(), "can.") || can.page.tagis(can._fields||can._target, html.FIELDSET_PANEL, html.FIELDSET_PLUG) || action == can._action && can.page.Append(can, action,
|
||||||
can.core.Item({full: "切换全屏", open: "打开链接"}, function(key, value) {
|
can.core.Item({full: "切换全屏", open: "打开链接", qrcode: "生成链接"}, function(key, value) {
|
||||||
return {view: [[html.ITEM, html.BUTTON, key, "icons"]], list: [{icon: icon[key]}], title: can.user.trans(can, key), onclick: function(event) {
|
return {view: [[html.ITEM, html.BUTTON, key, "icons"]], list: [{icon: icon[key]}], title: can.user.trans(can, key), onclick: function(event) {
|
||||||
_can.onaction[value](event, _can, value, _can.sub)
|
_can.onaction[value](event, _can, value, _can.sub)
|
||||||
}}
|
}}
|
||||||
|
35
index.css
35
index.css
@ -35,8 +35,8 @@ body {
|
|||||||
|
|
||||||
--river-width:var(--project-width); --project-width:230px; --input-width:120px; --button-width:60px;
|
--river-width:var(--project-width); --project-width:230px; --input-width:120px; --button-width:60px;
|
||||||
--action-height:32px; --status-height:var(--action-height); --footer-height:var(--action-height); --header-height:48px;
|
--action-height:32px; --status-height:var(--action-height); --footer-height:var(--action-height); --header-height:48px;
|
||||||
--desktop-height:684px; --float-height:480px; --plug-height:320px; --story-height:var(--float-height);
|
--desktop-height:684px; --float-height:480px; --plug-height:480px; --story-height:var(--float-height);
|
||||||
--desktop-width:1200px; --float-width:1200px; --plug-width:800px;
|
--desktop-width:1200px; --float-width:1200px; --plug-width:1000px;
|
||||||
--textarea-height:96px; --qrcode-height:364px; --iframe-height:420px;
|
--textarea-height:96px; --qrcode-height:364px; --iframe-height:420px;
|
||||||
--river-margin:80px; --action-margin:200px; --desktop-icon-size:80px;
|
--river-margin:80px; --action-margin:200px; --desktop-icon-size:80px;
|
||||||
--plugin-padding:10px; --plugin-margin:var(--plugin-padding);
|
--plugin-padding:10px; --plugin-margin:var(--plugin-padding);
|
||||||
@ -111,8 +111,8 @@ table.content td { padding:var(--table-padding); }
|
|||||||
table.content td input.icons { display:none; }
|
table.content td input.icons { display:none; }
|
||||||
table.content td i:hover { background-color:var(--hover-bg-color); color:var(--hover-fg-color); cursor:pointer; }
|
table.content td i:hover { background-color:var(--hover-bg-color); color:var(--hover-fg-color); cursor:pointer; }
|
||||||
table.content td i { padding:var(--input-padding); font-size:20px; }
|
table.content td i { padding:var(--input-padding); font-size:20px; }
|
||||||
body:not(.mobile) fieldset.plugin:not(.plug):not(.float):not(.full):not(.cmd)>div.output>table.content td input.icons { display:unset; }
|
body:not(.mobile) fieldset.Action:not(.tabview):not(.grid) fieldset.plugin:not(.plug):not(.float):not(.full):not(.cmd)>div.output>table.content td input.icons { display:unset; }
|
||||||
body:not(.mobile) fieldset.plugin:not(.plug):not(.float):not(.full):not(.cmd)>div.output>table.content td i { display:none; }
|
body:not(.mobile) fieldset.Action:not(.tabview):not(.grid) fieldset.plugin:not(.plug):not(.float):not(.full):not(.cmd)>div.output>table.content td i { display:none; }
|
||||||
table.content.checkbox th:first-child { text-align:center; padding:var(--table-padding); position:sticky; left:2px; z-index:1; }
|
table.content.checkbox th:first-child { text-align:center; padding:var(--table-padding); position:sticky; left:2px; z-index:1; }
|
||||||
table.content.checkbox td:first-child { background-color:var(--th-bg-color); text-align:center; position:sticky; left:2px; }
|
table.content.checkbox td:first-child { background-color:var(--th-bg-color); text-align:center; position:sticky; left:2px; }
|
||||||
table.content.detail td:first-child { width:var(--input-width); }
|
table.content.detail td:first-child { width:var(--input-width); }
|
||||||
@ -304,13 +304,16 @@ div.tabs:hover>span.icon { visibility:visible; }
|
|||||||
fieldset.plugin>legend { font-style:italic; }
|
fieldset.plugin>legend { font-style:italic; }
|
||||||
fieldset.plugin>form.option>div.button.icons>input { display:none; }
|
fieldset.plugin>form.option>div.button.icons>input { display:none; }
|
||||||
fieldset.plugin>div.action>div.button.icons>input { display:none; }
|
fieldset.plugin>div.action>div.button.icons>input { display:none; }
|
||||||
fieldset.plugin:not(.float):not(.full):not(.cmd)>form.option>div.icon { display:none; }
|
/* fieldset.plugin:not(.float):not(.full):not(.cmd)>form.option>div.icon { display:none; } */
|
||||||
body:not(.mobile) fieldset.plugin:not(.float):not(.full):not(.cmd)>form.option>div.button.icons>input { display:unset; }
|
fieldset.Action:not(.tabview):not(.grid) fieldset.plugin:not(.float):not(.full):not(.cmd)>form.option>div.icon { display:none; }
|
||||||
body:not(.mobile) fieldset.plugin:not(.float):not(.full):not(.cmd)>form.option>div.button.icons>span.icon { display:none; }
|
fieldset.Action.tabview fieldset.plugin:not(.float):not(.full):not(.cmd)>form.option>div.icon.delete { display:none; }
|
||||||
body:not(.mobile) fieldset.plugin:not(.float):not(.full):not(.cmd)>form.option>div.button.icons>i { display:none; }
|
fieldset.Action.grid fieldset.plugin:not(.float):not(.full):not(.cmd)>form.option>div.icon.delete { display:none; }
|
||||||
body:not(.mobile) fieldset.plugin:not(.float):not(.full):not(.cmd)>div.action>div.button.icons>input { display:unset; }
|
body:not(.mobile) fieldset.Action:not(.tabview):not(.grid) fieldset.plugin:not(.float):not(.full):not(.cmd)>form.option>div.button.icons>input { display:unset; }
|
||||||
body:not(.mobile) fieldset.plugin:not(.float):not(.full):not(.cmd)>div.action>div.button.icons>span.icon { display:none; }
|
body:not(.mobile) fieldset.Action:not(.tabview):not(.grid) fieldset.plugin:not(.float):not(.full):not(.cmd)>form.option>div.button.icons>span.icon { display:none; }
|
||||||
body:not(.mobile) fieldset.plugin:not(.float):not(.full):not(.cmd)>div.action>div.button.icons>i { display:none; }
|
body:not(.mobile) fieldset.Action:not(.tabview):not(.grid) fieldset.plugin:not(.float):not(.full):not(.cmd)>form.option>div.button.icons>i { display:none; }
|
||||||
|
body:not(.mobile) fieldset.Action:not(.tabview):not(.grid) fieldset.plugin:not(.float):not(.full):not(.cmd)>div.action>div.button.icons>input { display:unset; }
|
||||||
|
body:not(.mobile) fieldset.Action:not(.tabview):not(.grid) fieldset.plugin:not(.float):not(.full):not(.cmd)>div.action>div.button.icons>span.icon { display:none; }
|
||||||
|
body:not(.mobile) fieldset.Action:not(.tabview):not(.grid) fieldset.plugin:not(.float):not(.full):not(.cmd)>div.action>div.button.icons>i { display:none; }
|
||||||
fieldset.panel>div.action>div.button.icons>span.icon { display:none; }
|
fieldset.panel>div.action>div.button.icons>span.icon { display:none; }
|
||||||
fieldset.plugin.cmd>form.option>div.icon.delete { display:none; }
|
fieldset.plugin.cmd>form.option>div.icon.delete { display:none; }
|
||||||
fieldset.story>form.option>div.button.icons>input { display:none; }
|
fieldset.story>form.option>div.button.icons>input { display:none; }
|
||||||
@ -392,10 +395,10 @@ fieldset:not(.plug)>div.output.card>div.item {
|
|||||||
height:180px;
|
height:180px;
|
||||||
min-width:320px;
|
min-width:320px;
|
||||||
}
|
}
|
||||||
fieldset.plug>div.output.card>div.item {
|
/* fieldset.plug>div.output.card>div.item { */
|
||||||
width:100%;
|
/* width:100%; */
|
||||||
margin:0;
|
/* margin:0; */
|
||||||
}
|
/* } */
|
||||||
div.output.card>div.item {
|
div.output.card>div.item {
|
||||||
/* flex-grow:1; */
|
/* flex-grow:1; */
|
||||||
position:relative;
|
position:relative;
|
||||||
@ -630,8 +633,8 @@ fieldset.draw>div.output>div.layout>div.layout>div.profile { width:var(--project
|
|||||||
fieldset.word>div.output>fieldset.story:not(.full) { margin:var(--title-margin) 0; }
|
fieldset.word>div.output>fieldset.story:not(.full) { margin:var(--title-margin) 0; }
|
||||||
fieldset.word>div.output fieldset.story:not(.float):not(.full)>form.option>div.icon.delete { display:none; }
|
fieldset.word>div.output fieldset.story:not(.float):not(.full)>form.option>div.icon.delete { display:none; }
|
||||||
fieldset.input.icon div.output td { font-size:28px; padding:var(--input-padding); }
|
fieldset.input.icon div.output td { font-size:28px; padding:var(--input-padding); }
|
||||||
|
fieldset.status>div.output table.content { width:100%; }
|
||||||
fieldset.web.code.git>div.output>fieldset.web.code.inner>div.output { overflow:auto; }
|
fieldset.web.code.git>div.output>fieldset.web.code.inner>div.output { overflow:auto; }
|
||||||
fieldset.web.code.git.status>div.output table.content { width:100%; }
|
|
||||||
fieldset.web.code.git.total.draw div.output { text-align:center; }
|
fieldset.web.code.git.total.draw div.output { text-align:center; }
|
||||||
fieldset.web.code.git.trend>div.output rect { cursor:pointer; }
|
fieldset.web.code.git.trend>div.output rect { cursor:pointer; }
|
||||||
fieldset.web.wiki.draw div.output svg { min-width:100%; min-height:100%; }
|
fieldset.web.wiki.draw div.output svg { min-width:100%; min-height:100%; }
|
||||||
|
@ -16,10 +16,10 @@ fieldset.Action.free>div.output>fieldset.plugin { position:absolute; }
|
|||||||
fieldset.Action.free>div.output>fieldset.plugin.select { z-index:10; }
|
fieldset.Action.free>div.output>fieldset.plugin.select { z-index:10; }
|
||||||
fieldset.Action.free>div.output { overflow:hidden; }
|
fieldset.Action.free>div.output { overflow:hidden; }
|
||||||
fieldset.Action.grid>div.output>fieldset.plugin { float:left; }
|
fieldset.Action.grid>div.output>fieldset.plugin { float:left; }
|
||||||
fieldset.Action.grid>div.output>fieldset.plugin>form.option { display:none; }
|
/* fieldset.Action.grid>div.output>fieldset.plugin>form.option { display:none; } */
|
||||||
fieldset.Action.grid>div.output>fieldset.plugin>div.action { display:none; }
|
/* fieldset.Action.grid>div.output>fieldset.plugin>div.action { display:none; } */
|
||||||
fieldset.Action.grid>div.output>fieldset.plugin>div.status { display:none; }
|
fieldset.Action.grid>div.output>fieldset.plugin>div.status { display:none; }
|
||||||
fieldset.Action.grid>div.output>fieldset.plugin>form.option input[type=text] { width:var(--button-width); }
|
/* fieldset.Action.grid>div.output>fieldset.plugin>form.option input[type=text] { width:var(--button-width); } */
|
||||||
fieldset.Action>div.toggle.project { padding-top:50px; height:150px; top:30%; }
|
fieldset.Action>div.toggle.project { padding-top:50px; height:150px; top:30%; }
|
||||||
body:not(.mobile) fieldset.Action>div.project.toggle { display:none; }
|
body:not(.mobile) fieldset.Action>div.project.toggle { display:none; }
|
||||||
fieldset.Action.tabview>div.project.toggle { display:none; }
|
fieldset.Action.tabview>div.project.toggle { display:none; }
|
||||||
|
@ -10,19 +10,22 @@ Volcanos(chat.ONIMPORT, {_init: function(can, msg) { var river = can.Conf(chat.R
|
|||||||
(can.base.beginWith(meta.index, "can.")? []: [river, storm, meta.id||meta.index]).concat(cmds), cb) }
|
(can.base.beginWith(meta.index, "can.")? []: [river, storm, meta.id||meta.index]).concat(cmds), cb) }
|
||||||
sub.onexport.output = function() { can.page.style(can, sub._output, html.MAX_HEIGHT, "") }
|
sub.onexport.output = function() { can.page.style(can, sub._output, html.MAX_HEIGHT, "") }
|
||||||
})
|
})
|
||||||
}, function() { if (can.isCmdMode()) { return } can.user.mod.isCmd = false
|
}, function() { if (can.isCmdMode()) { return } can.user.mod.isCmd = false, can.page.ClassList.del(can, document.body, "cmd")
|
||||||
can.page.ClassList.del(can, document.body, "cmd")
|
can.onmotion.delay(can, function() {
|
||||||
can.onmotion.delay(can, function() { can.onaction.layout(can), can.onappend.scroll(can, can._output), can.page.style(can, can._output, "visibility", "visible")
|
can.onaction.layout(can, list[3]), can.onappend.scroll(can, can._output), can.page.style(can, can._output, "visibility", "visible")
|
||||||
can.onexport.layout(can) && list[0] == river && list[1] == storm && can.core.List(can._plugins, function(sub) { sub.Conf(ctx.INDEX) == list[2] && can.onmotion.delay(can, function() { sub._tabs.click() }) })
|
can.onexport.layout(can) && list[0] == river && list[1] == storm && can.core.List(can._plugins, function(sub) {
|
||||||
}, 300)
|
sub.Conf(ctx.INDEX) == list[2] && can.onmotion.delay(can, function() { sub._tabs.click() }, 0)
|
||||||
|
})
|
||||||
|
}, 0)
|
||||||
})
|
})
|
||||||
},
|
},
|
||||||
_tabs: function(can, sub, meta) {
|
_tabs: function(can, sub, meta) {
|
||||||
var tabs = [{view: [html.ITEM, "", meta.name], title: meta.help, onclick: function(event) { can.onmotion.select(can, can._header_tabs, html.DIV_ITEM, sub._header_tabs)
|
var tabs = [{view: [html.ITEM, "", can.user.trans(can, meta.name, meta.help)], title: meta.help, onclick: function(event) { can.onmotion.select(can, can._header_tabs, html.DIV_ITEM, sub._header_tabs)
|
||||||
can.onmotion.select(can, can._action, html.DIV_ITEM, sub._tabs), can.onmotion.select(can, can._output, html.FIELDSET_PLUGIN, sub._target)
|
can.onmotion.select(can, can._action, html.DIV_ITEM, sub._tabs), can.onmotion.select(can, can._output, html.FIELDSET_PLUGIN, sub._target)
|
||||||
if (sub._delay_refresh) { sub._delay_refresh = false, sub.onimport.size(sub, can.ConfHeight()-can.Conf(html.MARGIN_Y), can.ConfWidth()-can.Conf(html.MARGIN_X), can.onexport.isauto(can)) }
|
var layout = can.onexport.layout(can);
|
||||||
can.onexport.layout(can) == FREE || (can._output.scrollTop = sub._target.offsetTop-10)
|
if (sub._delay_refresh || layout == "tabview") { sub._delay_refresh = false, sub.onimport.size(sub, can.ConfHeight()-can.Conf(html.MARGIN_Y), can.ConfWidth()-can.Conf(html.MARGIN_X), can.onexport.isauto(can)) }
|
||||||
can.onexport.layout(can) && can.misc.SearchHash(can, can.Conf(chat.RIVER), can.Conf(chat.STORM), meta.index)
|
layout == FREE || (can._output.scrollTop = sub._target.offsetTop-10)
|
||||||
|
can.misc.SearchHash(can, can.Conf(chat.RIVER), can.Conf(chat.STORM), meta.index, layout)
|
||||||
}, oncontextmenu: sub._legend.onclick}]; sub._header_tabs = can.page.Append(can, can._header_tabs, tabs)._target, sub._tabs = can.page.Append(can, can._action, tabs)._target
|
}, oncontextmenu: sub._legend.onclick}]; sub._header_tabs = can.page.Append(can, can._header_tabs, tabs)._target, sub._tabs = can.page.Append(can, can._action, tabs)._target
|
||||||
},
|
},
|
||||||
_menu: function(can, msg) { if (can.user.isMobile) { return }
|
_menu: function(can, msg) { if (can.user.isMobile) { return }
|
||||||
@ -33,14 +36,12 @@ Volcanos(chat.ONIMPORT, {_init: function(can, msg) { var river = can.Conf(chat.R
|
|||||||
Volcanos(chat.ONACTION, {_init: function(can, target) {
|
Volcanos(chat.ONACTION, {_init: function(can, target) {
|
||||||
can.Conf(html.MARGIN_Y, 2*html.PLUGIN_PADDING+2*html.PLUGIN_MARGIN+html.ACTION_HEIGHT)
|
can.Conf(html.MARGIN_Y, 2*html.PLUGIN_PADDING+2*html.PLUGIN_MARGIN+html.ACTION_HEIGHT)
|
||||||
can.Conf(html.MARGIN_X, 2*html.PLUGIN_PADDING+2*html.PLUGIN_MARGIN)
|
can.Conf(html.MARGIN_X, 2*html.PLUGIN_PADDING+2*html.PLUGIN_MARGIN)
|
||||||
|
can.onaction.layout(can)
|
||||||
can.core.List(["ontouchstart", "ontouchmove", "ontouchend"], function(item) {
|
can.core.List(["ontouchstart", "ontouchmove", "ontouchend"], function(item) {
|
||||||
can.onengine.listen(can, item, function(event, msg) { can.onaction[item](event, can), can.onengine.signal(can, chat.ONACTION_TOUCH, msg) }, target)
|
can.onengine.listen(can, item, function(event, msg) { can.onaction[item](event, can), can.onengine.signal(can, chat.ONACTION_TOUCH, msg) }, target)
|
||||||
})
|
})
|
||||||
can.onaction.layout(can)
|
|
||||||
},
|
|
||||||
onsize: function(can, msg, height, width) {
|
|
||||||
can.Conf({height: can.base.Min(height, 240), width: width})
|
|
||||||
},
|
},
|
||||||
|
onsize: function(can, msg, height, width) { can.Conf({height: can.base.Min(height, 240), width: width}) },
|
||||||
onlogin: function(can, msg) {
|
onlogin: function(can, msg) {
|
||||||
can.Conf(html.MARGIN_Y, 2*html.PLUGIN_PADDING+2*html.PLUGIN_MARGIN+html.ACTION_HEIGHT)
|
can.Conf(html.MARGIN_Y, 2*html.PLUGIN_PADDING+2*html.PLUGIN_MARGIN+html.ACTION_HEIGHT)
|
||||||
can.Conf(html.MARGIN_X, 2*html.PLUGIN_PADDING+2*html.PLUGIN_MARGIN)
|
can.Conf(html.MARGIN_X, 2*html.PLUGIN_PADDING+2*html.PLUGIN_MARGIN)
|
||||||
@ -73,32 +74,24 @@ Volcanos(chat.ONACTION, {_init: function(can, target) {
|
|||||||
})
|
})
|
||||||
},
|
},
|
||||||
_onaction_cmd: function(can) { can.onengine.signal(can, chat.ONACTION_CMD), can.onlayout._init(can) },
|
_onaction_cmd: function(can) { can.onengine.signal(can, chat.ONACTION_CMD), can.onlayout._init(can) },
|
||||||
onaction_cmd: function(can, msg) { can.user.mod.isCmd = true
|
onaction_cmd: function(can, msg) { can.user.mod.isCmd = true, can.page.ClassList.add(can, can._target, can.Mode(chat.CMD)), can.Conf(html.MARGIN_Y, 128), can.Conf(html.MARGIN_X, 0) },
|
||||||
can.page.ClassList.add(can, can._target, can.Mode(chat.CMD)), can.Conf(html.MARGIN_Y, 128), can.Conf(html.MARGIN_X, 0)
|
onsearch: function(can, msg, arg) { var fields = msg.Option(ice.MSG_FIELDS).split(mdb.FS); if (arg[0] == mdb.PLUGIN) { can.onexport.plugin(can, msg, arg, fields) } if (arg[0] == ctx.COMMAND) { can.onexport.command(can, msg, arg, fields) } },
|
||||||
},
|
|
||||||
onsearch: function(can, msg, arg) { var fields = msg.Option(ice.MSG_FIELDS).split(mdb.FS)
|
|
||||||
if (arg[0] == mdb.PLUGIN) { can.onexport.plugin(can, msg, arg, fields) }
|
|
||||||
if (arg[0] == ctx.COMMAND) { can.onexport.command(can, msg, arg, fields) }
|
|
||||||
},
|
|
||||||
onkeydown: function(can, msg, model) {
|
onkeydown: function(can, msg, model) {
|
||||||
if (can.isCmdMode() && !msg._event.metaKey) { var sub = can._plugins[0].sub; sub && can.core.CallFunc([sub, "onaction.onkeydown"], {event: msg._event, can: sub}); return }
|
if (can.isCmdMode() && !msg._event.metaKey) { var sub = can._plugins[0].sub; sub && can.core.CallFunc([sub, "onaction.onkeydown"], {event: msg._event, can: sub}); return }
|
||||||
if (can.onkeymap.selectCtrlN(msg._event, can, can._action, html.DIV_ITEM)) { return }
|
if (can.onkeymap.selectCtrlN(msg._event, can, can._action, html.DIV_ITEM)) { return }
|
||||||
can._keylist = can.onkeymap._parse(msg._event, can, model, can._keylist||[], can._output)
|
can._keylist = can.onkeymap._parse(msg._event, can, model, can._keylist||[], can._output)
|
||||||
},
|
},
|
||||||
onresize: function(can) { can.onaction.layout(can) },
|
onresize: function(can) { can.onaction.layout(can) },
|
||||||
ontitle: function(can, msg) { can.onlayout._storage(can, "") },
|
ontitle: function(can, msg) {
|
||||||
|
// can.onlayout._storage(can, "")
|
||||||
|
},
|
||||||
|
|
||||||
ontouchstart: function(event, can) { can.touch = can.touch || {}
|
ontouchstart: function(event, can) { can.touch = can.touch || {}, can.touch.isStart = true, can.touch.startX = event.touches[0].clientX },
|
||||||
can.touch.isStart = true, can.touch.startX = event.touches[0].clientX
|
ontouchmove: function(event, can) { can.touch.isMove = true, can.touch.distanceX = event.touches[0].clientX - can.touch.startX },
|
||||||
},
|
|
||||||
ontouchmove: function(event, can) {
|
|
||||||
can.touch.isMove = true, can.touch.distanceX = event.touches[0].clientX - can.touch.startX
|
|
||||||
},
|
|
||||||
ontouchend: function(event, can) {
|
ontouchend: function(event, can) {
|
||||||
if (can.touch.isMove && Math.abs(can.touch.distanceX) > 50) {
|
if (can.touch.isMove && Math.abs(can.touch.distanceX) > 50) {
|
||||||
if (can.touch.distanceX > 0) { can.onengine.signal(can, "onslideright") } else { can.onengine.signal(can, "onslideleft") }
|
if (can.touch.distanceX > 0) { can.onengine.signal(can, "onslideright") } else { can.onengine.signal(can, "onslideleft") }
|
||||||
}
|
} can.touch.isMove = false, can.touch.distanceX = 0, can.touch.isStart = false, can.touch.startX = 0
|
||||||
can.touch.isMove = false, can.touch.distanceX = 0, can.touch.isStart = false, can.touch.startX = 0
|
|
||||||
},
|
},
|
||||||
|
|
||||||
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") },
|
||||||
@ -113,31 +106,23 @@ Volcanos(chat.ONACTION, {_init: function(can, target) {
|
|||||||
can.isCmdMode() || can.core.List(can._plugins, function(sub) { sub._delay_refresh = false })
|
can.isCmdMode() || can.core.List(can._plugins, function(sub) { sub._delay_refresh = false })
|
||||||
var cb = can.onlayout[button]; can.base.isFunc(cb) && cb(can) || can.onlayout._plugin(can, button)
|
var cb = can.onlayout[button]; can.base.isFunc(cb) && cb(can) || can.onlayout._plugin(can, button)
|
||||||
},
|
},
|
||||||
_menus: [[html.LAYOUT, ice.AUTO, TABS, TABVIEW, HORIZON, VERTICAL, GRID, FREE, FLOW, PAGE], web.DREAM, "desktop", "portal"],
|
_menus: [[html.LAYOUT, ice.AUTO, TABS, TABVIEW, HORIZON, VERTICAL, GRID, FREE, FLOW, PAGE], web.DREAM, web.DESKTOP, web.PORTAL],
|
||||||
_trans: kit.Dict(web.DREAM, "空间", "portal", "官网", "desktop", "桌面", html.LAYOUT, "布局", ice.AUTO, "默认布局", TABS, "标签布局", TABVIEW, "标签分屏", HORIZON, "左右分屏", VERTICAL, "上下分屏", GRID, "网格布局", FREE, "自由布局", FLOW, "流动布局", PAGE, "网页布局"),
|
_trans: kit.Dict(web.DREAM, "空间", web.DESKTOP, "桌面", web.PORTAL, "官网", html.LAYOUT, "布局", ice.AUTO, "默认布局", TABS, "标签布局", TABVIEW, "标签分屏", HORIZON, "左右分屏", VERTICAL, "上下分屏", GRID, "网格布局", FREE, "自由布局", FLOW, "流动布局", PAGE, "网页布局"),
|
||||||
})
|
})
|
||||||
Volcanos(chat.ONLAYOUT, {
|
Volcanos(chat.ONLAYOUT, {
|
||||||
tabs: function(can) { can.getActionSize(function(height, width) { can.ConfHeight(height+html.ACTION_HEIGHT), can.ConfWidth(width) })
|
tabs: function(can) {
|
||||||
|
can.getActionSize(function(height, width) { can.ConfHeight(height+html.ACTION_HEIGHT), can.ConfWidth(width) })
|
||||||
can.core.List(can._plugins, function(sub) { sub._delay_refresh = true })
|
can.core.List(can._plugins, function(sub) { sub._delay_refresh = true })
|
||||||
can.onmotion.select(can, can._action, html.DIV_ITEM, can.onmotion.select(can, can._action, html.DIV_ITEM)||0, function(target) { target.click() }); return true
|
can.onmotion.select(can, can._action, html.DIV_ITEM, can.onmotion.select(can, can._action, html.DIV_ITEM)||0, function(target) { target.click() }); return true
|
||||||
},
|
},
|
||||||
tabview: function(can) { can.getActionSize(function(height, width) { can.ConfHeight(height+html.ACTION_HEIGHT), can.ConfWidth(width) })
|
tabview: function(can) { can.onmotion.toggle(can, can._header_tabs, true)
|
||||||
|
can.getActionSize(function(height, width) { can.ConfHeight(height+html.ACTION_HEIGHT), can.ConfWidth(width) })
|
||||||
can.core.List(can._plugins, function(sub) { sub._delay_refresh = true })
|
can.core.List(can._plugins, function(sub) { sub._delay_refresh = true })
|
||||||
can.onmotion.toggle(can, can._header_tabs, true)
|
|
||||||
can.onmotion.select(can, can._action, html.DIV_ITEM, can.onmotion.select(can, can._action, html.DIV_TABS)||0, function(target) { target.click() }); return true
|
can.onmotion.select(can, can._action, html.DIV_ITEM, can.onmotion.select(can, can._action, html.DIV_TABS)||0, function(target) { target.click() }); return true
|
||||||
},
|
},
|
||||||
horizon: function(can) {
|
horizon: function(can) { can.getActionSize(function(height, width) { can.ConfHeight(height), can.ConfWidth(width/2) }) },
|
||||||
can.getActionSize(function(height, width) { can.ConfHeight(height), can.ConfWidth(width/2) })
|
vertical: function(can) { can.getActionSize(function(height, width) { can.ConfHeight(height/2), can.ConfWidth(width) }) },
|
||||||
can.onmotion.toggle(can, can._header_tabs, true)
|
grid: function(can) { can.getActionSize(function(height, width) { var m = can.user.isMobile? 1: 2, n = 2, h = height/n, w = width/m; can.ConfHeight(h+html.ACTION_HEIGHT), can.ConfWidth(w) }) },
|
||||||
},
|
|
||||||
vertical: function(can) {
|
|
||||||
can.getActionSize(function(height, width) { can.ConfHeight(height/2), can.ConfWidth(width) })
|
|
||||||
can.onmotion.toggle(can, can._header_tabs, true)
|
|
||||||
},
|
|
||||||
grid: function(can) {
|
|
||||||
can.getActionSize(function(height, width) { var m = can.user.isMobile? 1: 2, n = 2, h = height/n, w = width/m; can.ConfHeight(h+html.ACTION_HEIGHT), can.ConfWidth(w) })
|
|
||||||
can.onmotion.toggle(can, can._header_tabs, true)
|
|
||||||
},
|
|
||||||
free: function(can) { can.getActionSize(function(height, width) { can.ConfHeight(height*3/4), can.ConfWidth(width*3/4)
|
free: function(can) { can.getActionSize(function(height, width) { can.ConfHeight(height*3/4), can.ConfWidth(width*3/4)
|
||||||
can.core.List(can._plugins, function(sub, index, array) { can.onmotion.move(can, sub._target, {left: (width/array.length/8*5+20)*index, top: (height/array.length/8*5)*index}) }), can.onmotion.toggle(can, can._header_tabs, true)
|
can.core.List(can._plugins, function(sub, index, array) { can.onmotion.move(can, sub._target, {left: (width/array.length/8*5+20)*index, top: (height/array.length/8*5)*index}) }), can.onmotion.toggle(can, can._header_tabs, true)
|
||||||
}) },
|
}) },
|
||||||
|
@ -2,6 +2,12 @@ fieldset.Header>div.output { line-height:21px; height:var(--header-height); over
|
|||||||
fieldset.Header>div.output div.item { background-color:var(--panel-output-bg-color); padding:13.5px; height:var(--header-height); float:left; }
|
fieldset.Header>div.output div.item { background-color:var(--panel-output-bg-color); padding:13.5px; height:var(--header-height); float:left; }
|
||||||
fieldset.Header>div.output div.item.title:first-child { font-size:var(--legend-font-size); font-style:italic; font-weight:bold; white-space:pre; overflow:hidden; }
|
fieldset.Header>div.output div.item.title:first-child { font-size:var(--legend-font-size); font-style:italic; font-weight:bold; white-space:pre; overflow:hidden; }
|
||||||
fieldset.Header>div.output div.item.title img { height:var(--action-height); width:var(--action-height); }
|
fieldset.Header>div.output div.item.title img { height:var(--action-height); width:var(--action-height); }
|
||||||
|
fieldset.Header>div.output div.item.layout>i { margin-left:var(--input-padding); }
|
||||||
|
fieldset.Header>div.output div.item.layout:not(:hover)>i { visibility:hidden; }
|
||||||
|
fieldset.Header>div.output div.item.layout { padding-right:0; }
|
||||||
|
fieldset.Header>div.output div.item.usernick>i { margin-left:var(--input-padding); }
|
||||||
|
fieldset.Header>div.output div.item.usernick:not(:hover)>i { visibility:hidden; }
|
||||||
|
fieldset.Header>div.output div.item.usernick { padding-right:0; }
|
||||||
fieldset.Header>div.output div.item.theme { user-select:none; }
|
fieldset.Header>div.output div.item.theme { user-select:none; }
|
||||||
fieldset.Header>div.output div.item.theme>i { margin-right:0; }
|
fieldset.Header>div.output div.item.theme>i { margin-right:0; }
|
||||||
fieldset.Header>div.output div.item.theme>i:last-child { color:var(--disable-fg-color); }
|
fieldset.Header>div.output div.item.theme>i:last-child { color:var(--disable-fg-color); }
|
||||||
@ -19,3 +25,8 @@ fieldset.Header>div.output div.search>input { padding-left:25px; }
|
|||||||
fieldset.Header>div.output div.search>span.icon { padding:var(--input-padding) var(--button-padding); }
|
fieldset.Header>div.output div.search>span.icon { padding:var(--input-padding) var(--button-padding); }
|
||||||
body:not(.mobile) fieldset.Header>div.output div.title:first-child { width:var(--river-width); }
|
body:not(.mobile) fieldset.Header>div.output div.title:first-child { width:var(--river-width); }
|
||||||
body:not(.mobile) fieldset.Header>div.output div.title img { margin-right:var(--button-margin); }
|
body:not(.mobile) fieldset.Header>div.output div.title img { margin-right:var(--button-margin); }
|
||||||
|
body:not(.width6) fieldset.Header.tabview>div.output>div.Action>div.item.dream { display:none; }
|
||||||
|
body:not(.width6) fieldset.Header.tabview>div.output>div.Action>div.item.desktop { display:none; }
|
||||||
|
body:not(.width6) fieldset.Header.tabview>div.output>div.Action>div.item.portal { display:none; }
|
||||||
|
body:not(.width6) fieldset.Header.tabview>div.output>div.item.language { display:none; }
|
||||||
|
/* body:not(.width6) fieldset.Header.tabview>div.output>div.item.qrcode { display:none; } */
|
||||||
|
@ -9,10 +9,11 @@ Volcanos(chat.ONIMPORT, {_init: function(can, msg, target) {
|
|||||||
can.page.Append(can, target, [{view: [[html.ITEM, chat.STATE, item], "", can.Conf(item)||msg.Option(item)||""], onclick: function(event) {
|
can.page.Append(can, target, [{view: [[html.ITEM, chat.STATE, item], "", can.Conf(item)||msg.Option(item)||""], onclick: function(event) {
|
||||||
can.core.CallFunc([can.onaction, item], [event, can, item])
|
can.core.CallFunc([can.onaction, item], [event, can, item])
|
||||||
}, _init: function(target) { item == mdb.TIME && can.onimport._time(can, target)
|
}, _init: function(target) { item == mdb.TIME && can.onimport._time(can, target)
|
||||||
item == aaa.AVATAR && can.page.Append(can, target, [{img: lex.SP}])
|
item == aaa.AVATAR && can.page.Appends(can, target, [{img: lex.SP}])
|
||||||
item == aaa.LANGUAGE && can.page.Append(can, target, [{text: "EN"}, {text: " / "}, {text: "中"}])
|
item == aaa.USERNICK && can.page.Appends(can, target, [{text: can.Conf(aaa.USERNICK)}, {icon: icon.CHEVRON_DOWN}])
|
||||||
item == chat.THEME && can.page.Append(can, target, [{icon: icon.SUN}, {text: " / "}, {icon: icon.MOON}])
|
item == aaa.LANGUAGE && can.page.Appends(can, target, [{text: "EN"}, {text: " / "}, {text: "中"}])
|
||||||
item == cli.QRCODE && can.page.Append(can, target, [{icon: icon.qrcode}])
|
item == chat.THEME && can.page.Appends(can, target, [{icon: icon.SUN}, {text: " / "}, {icon: icon.MOON}])
|
||||||
|
item == cli.QRCODE && can.page.Appends(can, target, [{icon: icon.qrcode, title: can.user.trans(can, cli.QRCODE)}])
|
||||||
}}])
|
}}])
|
||||||
}) },
|
}) },
|
||||||
_language: function(can) { can.page.Select(can, can._output, "div.item.language", function(target) {
|
_language: function(can) { can.page.Select(can, can._output, "div.item.language", function(target) {
|
||||||
@ -56,8 +57,8 @@ Volcanos(chat.ONIMPORT, {_init: function(can, msg, target) {
|
|||||||
},
|
},
|
||||||
menu: function(can, cmds, cb, trans) { can.base.isString(cmds) && (cmds = [cmds])
|
menu: function(can, cmds, cb, trans) { can.base.isString(cmds) && (cmds = [cmds])
|
||||||
return can.page.Append(can, can._output, [{view: cmds[0], list: can.core.List(can.base.getValid(cmds.slice(1), [cmds[0]]), function(item) {
|
return can.page.Append(can, can._output, [{view: cmds[0], list: can.core.List(can.base.getValid(cmds.slice(1), [cmds[0]]), function(item) {
|
||||||
return can.base.isString(item)? /* 1.string */ {view: [[html.ITEM, html.MENU], "", can.user.trans(can, item, trans)], onclick: function(event) { can.base.isFunc(cb) && cb(event, item, [item]) }}:
|
return can.base.isString(item)? /* 1.string */ {view: [[html.ITEM, html.MENU, item], "", can.user.trans(can, item, trans)], onclick: function(event) { can.base.isFunc(cb) && cb(event, item, [item]) }}:
|
||||||
can.base.isArray(item)? /* 2.array */ {view: [[html.ITEM, html.MENU], "", can.user.trans(can, item[0], trans)], onclick: function(event) { can.onkeymap.prevent(event)
|
can.base.isArray(item)? /* 2.array */ {view: [[html.ITEM, html.MENU, item[0]]], list: [{text: can.user.trans(can, item[0], trans)}, {icon: icon.CHEVRON_DOWN}], onclick: function(event) { can.onkeymap.prevent(event)
|
||||||
can.onaction.carte(can.request(event, {_style: "header "+item[0]}), can, item.slice(1), function(event, button, meta) { can.base.isFunc(cb) && cb(event, button, item) }, trans)
|
can.onaction.carte(can.request(event, {_style: "header "+item[0]}), can, item.slice(1), function(event, button, meta) { can.base.isFunc(cb) && cb(event, button, item) }, trans)
|
||||||
}}: /* 3.others */ item
|
}}: /* 3.others */ item
|
||||||
}) }])._target
|
}) }])._target
|
||||||
@ -100,6 +101,9 @@ Volcanos(chat.ONACTION, {_init: function(can) {},
|
|||||||
onstorm_select: function(can, river, storm) { can.Conf(chat.RIVER, river), can.Conf(chat.STORM, storm) },
|
onstorm_select: function(can, river, storm) { can.Conf(chat.RIVER, river), can.Conf(chat.STORM, storm) },
|
||||||
onaction_cmd: function(can) { can.onappend.style(can, html.HIDE), can.onmotion.delay(can, function() { can.onimport._const(can) }) },
|
onaction_cmd: function(can) { can.onappend.style(can, html.HIDE), can.onmotion.delay(can, function() { can.onimport._const(can) }) },
|
||||||
onsearch_focus: function(can) { can._search && can._search.focus() },
|
onsearch_focus: function(can) { can._search && can._search.focus() },
|
||||||
|
onlayout: function(can, layout, before) { if (can.user.isMobile) { return }
|
||||||
|
can.page.ClassList.del(can, can._target, before), can.page.ClassList.add(can, can._target, layout)
|
||||||
|
},
|
||||||
onshare: function(can, msg, args) { can.user.share(can, msg, [ctx.ACTION, chat.SHARE].concat(args||[])) },
|
onshare: function(can, msg, args) { can.user.share(can, msg, [ctx.ACTION, chat.SHARE].concat(args||[])) },
|
||||||
onwebpack: function(can, msg) { can.user.input(msg._event, can, [{name: mdb.NAME, value: can.user.title()}], function(data) {
|
onwebpack: function(can, msg) { can.user.input(msg._event, can, [{name: mdb.NAME, value: can.user.title()}], function(data) {
|
||||||
can.core.Item(Volcanos.meta.pack, function(key, msg) { can.core.List(["_event", "_can", "_xhr", ""], function(key) { delete(msg[key]) }) })
|
can.core.Item(Volcanos.meta.pack, function(key, msg) { can.core.List(["_event", "_can", "_xhr", ""], function(key) { delete(msg[key]) }) })
|
||||||
|
@ -75,9 +75,10 @@ Volcanos(chat.ONACTION, {list: [mdb.CREATE, web.SHARE, web.REFRESH], _init: func
|
|||||||
}) }])._target, next && can._output.insertBefore(list, next), can.ui.sublist[river] = list, _menu(list), list.children.length > 0 && list.children[select].click()
|
}) }])._target, next && can._output.insertBefore(list, next), can.ui.sublist[river] = list, _menu(list), list.children.length > 0 && list.children[select].click()
|
||||||
})
|
})
|
||||||
},
|
},
|
||||||
action: function(event, can, river, storm) { can.misc.SearchHash(can, river, storm)
|
action: function(event, can, river, storm) {
|
||||||
can.page.Select(can, can._output, [html.DIV_LIST, html.DIV_ITEM], function(target) { can.page.ClassList.del(can, target, html.SELECT) })
|
can.page.Select(can, can._output, [html.DIV_LIST, html.DIV_ITEM], function(target) { can.page.ClassList.del(can, target, html.SELECT) })
|
||||||
can.onmotion.select(can, can.ui.sublist[river], html.DIV_ITEM, can.ui.storm_list[can.core.Keys(river, storm)])
|
can.onmotion.select(can, can.ui.sublist[river], html.DIV_ITEM, can.ui.storm_list[can.core.Keys(river, storm)])
|
||||||
|
can.onmotion.select(can, can._output, html.DIV_ITEM, can.ui.river_list[river])
|
||||||
can.onengine.signal(can, chat.ONSTORM_SELECT, can.request(event, {river: can.Conf(chat.RIVER, river), storm: can.Conf(chat.STORM, storm)}))
|
can.onengine.signal(can, chat.ONSTORM_SELECT, can.request(event, {river: can.Conf(chat.RIVER, river), storm: can.Conf(chat.STORM, storm)}))
|
||||||
},
|
},
|
||||||
carte: function(event, can, list, river, storm) { can.onkeymap.prevent(event); if (can.core.Value(can._root, can.core.Keys(chat.RIVER, river))) { return }
|
carte: function(event, can, list, river, storm) { can.onkeymap.prevent(event); if (can.core.Value(can._root, can.core.Keys(chat.RIVER, river))) { return }
|
||||||
|
@ -10,12 +10,17 @@ fieldset.inner>div.output div.content td.text span.package { color:var(--code-pa
|
|||||||
fieldset.inner>div.output>div.project div.zone div.action:not(.hide) { width:100%; }
|
fieldset.inner>div.output>div.project div.zone div.action:not(.hide) { width:100%; }
|
||||||
fieldset.inner>div.output>div.project div.zone div.action>div.item { padding-right:0; width:100%; overflow:hidden; }
|
fieldset.inner>div.output>div.project div.zone div.action>div.item { padding-right:0; width:100%; overflow:hidden; }
|
||||||
fieldset.inner>div.output>div.project div.zone div.action>div.item>input { padding-left:25px; width:100%; }
|
fieldset.inner>div.output>div.project div.zone div.action>div.item>input { padding-left:25px; width:100%; }
|
||||||
|
fieldset.inner>div.output>div.project div.zone.space>div.list div.output>div.item { margin:var(--input-margin) 0; width:calc(100% - 5px); }
|
||||||
|
fieldset.inner>div.output>div.project div.zone.space>div.list div.output>div.item:hover { background-color:var(--hover-bg-color); }
|
||||||
|
fieldset.inner>div.output>div.project div.zone.repos>div.list div.output>div.item { margin:0; width:100% !important; }
|
||||||
|
fieldset.inner>div.output>div.project div.zone.repos>div.list div.output>div.item:hover { background-color:var(--hover-bg-color); }
|
||||||
fieldset.inner>div.output>div.layout>div.tabs { font-size:var(--code-font-size); display:none; }
|
fieldset.inner>div.output>div.layout>div.tabs { font-size:var(--code-font-size); display:none; }
|
||||||
fieldset.inner>div.output>div.layout>div.tabs>div.tabs>div.tabs { padding-right:0; margin-left:5px; }
|
fieldset.inner>div.output>div.layout>div.tabs>div.tabs>div.tabs { padding-right:0; margin-left:5px; }
|
||||||
fieldset.inner>div.output>div.layout>div.tabs>div.tabs>div.tabs:hover { background-color:var(--output-bg-color); border-top-left-radius:var(--plugin-radius); border-top-right-radius:var(--plugin-radius); box-shadow:var(--box-shadow); }
|
fieldset.inner>div.output>div.layout>div.tabs>div.tabs>div.tabs:hover { background-color:var(--output-bg-color); border-top-left-radius:var(--plugin-radius); border-top-right-radius:var(--plugin-radius); box-shadow:var(--box-shadow); }
|
||||||
fieldset.inner>div.output>div.layout>div.tabs>div.tabs>div.tabs.select { background-color:var(--output-bg-color); border-top-left-radius:var(--plugin-radius); border-top-right-radius:var(--plugin-radius); border-bottom:lightgray solid 2px; box-shadow:var(--box-shadow);}
|
fieldset.inner>div.output>div.layout>div.tabs>div.tabs>div.tabs.select { background-color:var(--output-bg-color); border-top-left-radius:var(--plugin-radius); border-top-right-radius:var(--plugin-radius); border-bottom:lightgray solid 2px; box-shadow:var(--box-shadow);}
|
||||||
fieldset.inner>div.output>div.layout>div.path { font-size:var(--code-font-size); display:none; }
|
fieldset.inner>div.output>div.layout>div.path { font-size:var(--code-font-size); display:none; }
|
||||||
fieldset.inner.float>div.output>div.layout>div.path { font-size:var(--code-font-size); display:flex; }
|
fieldset.inner.float>div.output>div.layout>div.path { font-size:var(--code-font-size); display:flex; }
|
||||||
|
fieldset.Action.tabview fieldset.inner>div.output>div.layout>div.path { font-size:var(--code-font-size); display:flex; }
|
||||||
fieldset.inner>div.output>div.layout>div.display h1 { border-bottom:var(--box-border); margin:var(--title-margin) 0; }
|
fieldset.inner>div.output>div.layout>div.display h1 { border-bottom:var(--box-border); margin:var(--title-margin) 0; }
|
||||||
fieldset.inner>div.output>div.layout>div.display h2 { border-bottom:var(--box-border); margin:var(--title-margin) 0; }
|
fieldset.inner>div.output>div.layout>div.display h2 { border-bottom:var(--box-border); margin:var(--title-margin) 0; }
|
||||||
fieldset.inner>div.output>div.layout>div.display pre>code { padding-left:var(--table-padding); border-left:var(--code-border-color) solid 5px; display:block; }
|
fieldset.inner>div.output>div.layout>div.display pre>code { padding-left:var(--table-padding); border-left:var(--code-border-color) solid 5px; display:block; }
|
||||||
|
@ -43,10 +43,7 @@ Volcanos(chat.ONFIGURE, {
|
|||||||
}); cache = can.onimport.tree(can, list, nfs.PATH, nfs.PS, function(event, item) { can.onimport.tabview(can, path, item.path) }, target, cache)
|
}); cache = can.onimport.tree(can, list, nfs.PATH, nfs.PS, function(event, item) { can.onimport.tabview(can, path, item.path) }, target, cache)
|
||||||
}, true) } if (path.length == 1) { return show(target, zone, path[0]) } can.page.Remove(can, zone._action)
|
}, true) } if (path.length == 1) { return show(target, zone, path[0]) } can.page.Remove(can, zone._action)
|
||||||
can.onimport.zone(can, can.core.List(path, function(path) { return kit.Dict(mdb.NAME, path, path == args[0]? chat._INIT: chat._DELAY_INIT, function(target, zone) {
|
can.onimport.zone(can, can.core.List(path, function(path) { return kit.Dict(mdb.NAME, path, path == args[0]? chat._INIT: chat._DELAY_INIT, function(target, zone) {
|
||||||
show(target, zone, path)
|
show(target, zone, path), zone._toggle = function() { zone._layout() }
|
||||||
zone._toggle = function() {
|
|
||||||
zone._layout()
|
|
||||||
}
|
|
||||||
}) }), target)
|
}) }), target)
|
||||||
},
|
},
|
||||||
space: function(can, target, zone) { can.onimport._zone(can, zone, web.DREAM, function(sub, msg) {
|
space: function(can, target, zone) { can.onimport._zone(can, zone, web.DREAM, function(sub, msg) {
|
||||||
@ -58,7 +55,7 @@ Volcanos(chat.ONFIGURE, {
|
|||||||
can.page.Select(can, sub._output, html.DIV_ITEM, function(target, index) { can.onappend.style(can, msg.status[index], target) })
|
can.page.Select(can, sub._output, html.DIV_ITEM, function(target, index) { can.onappend.style(can, msg.status[index], target) })
|
||||||
}), zone.toggle(false) },
|
}), zone.toggle(false) },
|
||||||
repos: function(can, target, zone) { can.onimport._zone(can, zone, {index: web.CODE_GIT_SEARCH, style: html.OUTPUT, mode: mdb.ZONE}, function(sub, msg) {
|
repos: function(can, target, zone) { can.onimport._zone(can, zone, {index: web.CODE_GIT_SEARCH, style: html.OUTPUT, mode: mdb.ZONE}, function(sub, msg) {
|
||||||
sub.onexport.record = function(sub, value, key, data) { can.user.opens(data.html_url) }
|
sub.onexport.record = function(sub, value, key, data) { can.onimport.tabview(can, "", [web.CODE_GIT_SEARCH, value].join(","), ctx.INDEX) }
|
||||||
}), zone.toggle(false) },
|
}), zone.toggle(false) },
|
||||||
})
|
})
|
||||||
Volcanos(chat.ONACTION, {list: ["创建", "编译", "源码", "计划", "流程", "文档", "后台", "桌面", "官网"], _trans: {show: "预览", exec: "展示"},
|
Volcanos(chat.ONACTION, {list: ["创建", "编译", "源码", "计划", "流程", "文档", "后台", "桌面", "官网"], _trans: {show: "预览", exec: "展示"},
|
||||||
|
@ -14,7 +14,7 @@ Volcanos(chat.ONIMPORT, {
|
|||||||
_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.WIKI_WORD, web.CODE_VIMER,
|
||||||
)) { height = can.base.Max(can.base.Min(can.onexport.outputHeight(can), 480), 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)
|
||||||
|
@ -214,7 +214,12 @@ Volcanos(chat.ONIMPORT, {_init: function(can, msg, target) {
|
|||||||
},
|
},
|
||||||
})
|
})
|
||||||
Volcanos(chat.ONLAYOUT, {
|
Volcanos(chat.ONLAYOUT, {
|
||||||
_init: function(can, height, width) { can.core.CallFunc([can.onimport, html.LAYOUT], {can: can, height: height, width: width}) },
|
_init: function(can, height, width) {
|
||||||
|
can.core.CallFunc([can.onimport, html.LAYOUT], {can: can, height: height, width: width})
|
||||||
|
can.page.SelectChild(can, can._output, html.TABLE, function(table) {
|
||||||
|
(can.isCmdMode() || table.offsetWidth > can.ConfWidth() / 2) && can.onappend.style(can, "full", table)
|
||||||
|
})
|
||||||
|
},
|
||||||
zone: function(can, height, width) { can.onlayout._init(can, height, width) },
|
zone: function(can, height, width) { can.onlayout._init(can, height, width) },
|
||||||
result: function(can, height, width) { can.onlayout._init(can, height, width) },
|
result: function(can, height, width) { can.onlayout._init(can, height, width) },
|
||||||
simple: function(can, height, width) { can.onlayout._init(can, height, width) },
|
simple: function(can, height, width) { can.onlayout._init(can, height, width) },
|
||||||
|
Loading…
x
Reference in New Issue
Block a user