mirror of
https://shylinux.com/x/volcanos
synced 2025-04-25 08:48:06 +08:00
add some
This commit is contained in:
parent
a8c2a9ea3b
commit
78ae374e42
19
frame.js
19
frame.js
@ -115,8 +115,7 @@ Volcanos(chat.ONDAEMON, {_init: function(can, name, type, cbs) { if (can.user.is
|
|||||||
can.core.CallFunc(can.core.Value(can, arg[0]), kit.Dict({can: can}, arg.slice(1)))
|
can.core.CallFunc(can.core.Value(can, arg[0]), kit.Dict({can: can}, arg.slice(1)))
|
||||||
},
|
},
|
||||||
input: function(can, msg, sub, arg) { can.page.Select(can, sub._target, "input:focus", function(target) { target.value += arg[0] }) },
|
input: function(can, msg, sub, arg) { can.page.Select(can, sub._target, "input:focus", function(target) { target.value += arg[0] }) },
|
||||||
online: function(can, sub) { debugger },
|
_online: function(can, delay) { false && can.onmotion.delay(can, function() { can = can._fields? can.sup: can
|
||||||
_online: function(can, delay) { can.onmotion.delay(can, function() { can = can._fields? can.sup: can
|
|
||||||
if (can.ui._online) { return } can.ui._online = true
|
if (can.ui._online) { return } can.ui._online = true
|
||||||
if (!can.ui.online) {
|
if (!can.ui.online) {
|
||||||
if (can.isCmdMode()) {
|
if (can.isCmdMode()) {
|
||||||
@ -160,7 +159,9 @@ Volcanos(chat.ONAPPEND, {_init: function(can, meta, list, cb, target, field) {
|
|||||||
value && (value = can.user.trans(sub, value, null, html.INPUT))
|
value && (value = can.user.trans(sub, value, null, html.INPUT))
|
||||||
return can.page.SelectArgs(can, action, key, value)[0]
|
return can.page.SelectArgs(can, action, key, value)[0]
|
||||||
},
|
},
|
||||||
Option: function(key, value) { value && (value = can.user.trans(sub, value, null, html.INPUT)); return can.page.SelectArgs(can, option, key, value)[0] },
|
Option: function(key, value) {
|
||||||
|
// value && (value = can.user.trans(sub, value, null, html.INPUT));
|
||||||
|
return can.page.SelectArgs(can, option, key, value)[0] },
|
||||||
Update: function(event, cmds, cb, silent) { event = event||{}, sub.request(event)._caller(), event.metaKey && sub.request(event, {metaKey: ice.TRUE})
|
Update: function(event, cmds, cb, silent) { event = event||{}, sub.request(event)._caller(), event.metaKey && sub.request(event, {metaKey: ice.TRUE})
|
||||||
var msg = sub.request(event), list = can.core.Value(sub, "sub.db._checkbox"); can.core.Item(list, function(key, value) { msg.Option(key, value) })
|
var msg = sub.request(event), list = can.core.Value(sub, "sub.db._checkbox"); can.core.Item(list, function(key, value) { msg.Option(key, value) })
|
||||||
sub.request(event, sub.Option())
|
sub.request(event, sub.Option())
|
||||||
@ -985,15 +986,17 @@ Volcanos(chat.ONMOTION, {_init: function(can, target) {
|
|||||||
},
|
},
|
||||||
},
|
},
|
||||||
scrollHold: function(can, cb, target) { target = target || can._output; var left = target.scrollLeft; cb(), target.scrollLeft = left },
|
scrollHold: function(can, cb, target) { target = target || can._output; var left = target.scrollLeft; cb(), target.scrollLeft = left },
|
||||||
scrollIntoView: function(can, target, margin) { if (!target || !target.parentNode || can._scroll) { return } can._scroll = true, margin = margin||0
|
scrollIntoView: function(can, target, margin, parent) {
|
||||||
var offset = (target.offsetTop-margin) - target.parentNode.scrollTop, step = offset < 0? -20: 20
|
parent = parent||target.parentNode
|
||||||
|
if (parent._scroll) { return } parent._scroll = true, margin = margin||0
|
||||||
|
var offset = (target.offsetTop-margin) - parent.scrollTop, step = offset < 0? -20: 20
|
||||||
if (Math.abs(offset) > 3000) {
|
if (Math.abs(offset) > 3000) {
|
||||||
return target.parentNode.scrollTop = (target.offsetTop-margin), delete(can._scroll)
|
return parent.scrollTop = (target.offsetTop-margin), delete(can._scroll)
|
||||||
}
|
}
|
||||||
can.core.Timer({interval: 10, length: offset/step}, function() {
|
can.core.Timer({interval: 10, length: offset/step}, function() {
|
||||||
target.parentNode.scrollTop += step
|
parent.scrollTop += step
|
||||||
}, function() {
|
}, function() {
|
||||||
target.parentNode.scrollTop = (target.offsetTop-margin), delete(can._scroll)
|
parent.scrollTop = (target.offsetTop-margin), delete(can._scroll)
|
||||||
})
|
})
|
||||||
},
|
},
|
||||||
clearFloat: function(can) {
|
clearFloat: function(can) {
|
||||||
|
18
index.css
18
index.css
@ -83,7 +83,7 @@ body {
|
|||||||
--input-font-family:var(--code-font-family); --table-font-family:var(--code-font-family);
|
--input-font-family:var(--code-font-family); --table-font-family:var(--code-font-family);
|
||||||
--svg-font-family:var(--code-font-family);
|
--svg-font-family:var(--code-font-family);
|
||||||
--body-font-size:14px; --legend-font-size:18px; --status-font-size:12px;
|
--body-font-size:14px; --legend-font-size:18px; --status-font-size:12px;
|
||||||
--code-font-size:14px; --code-line-height:20px; --code-tabs-height:38px;
|
--code-font-size:14px; --code-line-height:20px; --code-tabs-height:43px;
|
||||||
--icon-font-size:var(--legend-font-size); --svg-font-size:24px; --svg-stroke-width:1;
|
--icon-font-size:var(--legend-font-size); --svg-font-size:24px; --svg-stroke-width:1;
|
||||||
}
|
}
|
||||||
body.web.code.vimer.cmd { --code-line-height:24px; }
|
body.web.code.vimer.cmd { --code-line-height:24px; }
|
||||||
@ -239,8 +239,11 @@ div.project div.zone>div.item span:hover { background-color:var(--hover-bg-color
|
|||||||
div.project>div.zone>div.item span:first-child { font-style:italic; font-weight:bold; line-height:var(--action-height); }
|
div.project>div.zone>div.item span:first-child { font-style:italic; font-weight:bold; line-height:var(--action-height); }
|
||||||
div.project div.zone>div.item span:first-child { flex-grow:1; }
|
div.project div.zone>div.item span:first-child { flex-grow:1; }
|
||||||
div.project div.zone>div.item span.icon { letter-spacing:0; font-size:22px !important; padding:0 var(--input-padding); display:none; }
|
div.project div.zone>div.item span.icon { letter-spacing:0; font-size:22px !important; padding:0 var(--input-padding); display:none; }
|
||||||
div.project div.zone>div.item span.icon.refresh { margin-top:-2px; }
|
div.project div.zone>div.item i { position:unset }
|
||||||
div.project div.zone:hover>div.item span.icon { display:block; }
|
div.project div.zone:hover>div.item span.icon { display:block; height:24px; line-height:24px; }
|
||||||
|
div.project div.zone:hover>div.item span.icon.refresh { line-height:22px; }
|
||||||
|
div.project div.zone:hover>div.item span.icon.menu { line-height:22px; }
|
||||||
|
div.project div.zone>div.item { display:flex; }
|
||||||
div.project div.zone>div.list>div.zone>div.item { text-align:left; padding-left:var(--button-padding); transition:all .5s; }
|
div.project div.zone>div.list>div.zone>div.item { text-align:left; padding-left:var(--button-padding); transition:all .5s; }
|
||||||
div.project div.zone>div.list>div.zone>div.item:hover { margin-left:var(--button-margin); transition:all .3s; }
|
div.project div.zone>div.list>div.zone>div.item:hover { margin-left:var(--button-margin); transition:all .3s; }
|
||||||
div.item>i.bi-chevron-down { float:right; transition:all .5s; }
|
div.item>i.bi-chevron-down { float:right; transition:all .5s; }
|
||||||
@ -372,12 +375,11 @@ body>div.input input[name=cancel] { border:var(--box-danger); }
|
|||||||
body>div.input input[name=submit] { border:var(--box-notice); }
|
body>div.input input[name=submit] { border:var(--box-notice); }
|
||||||
body>div.input input[name=submit]:hover { background-color:var(--notice-bg-color); color:var(--notice-fg-color); }
|
body>div.input input[name=submit]:hover { background-color:var(--notice-bg-color); color:var(--notice-fg-color); }
|
||||||
body>div.input input[name=cancel]:hover { background-color:var(--danger-bg-color); color:var(--danger-fg-color); }
|
body>div.input input[name=cancel]:hover { background-color:var(--danger-bg-color); color:var(--danger-fg-color); }
|
||||||
body>div.input div.action { padding:var(--table-padding); width:100%; position:sticky; bottom:0; flex-direction:row-reverse; }
|
body>div.input div.action { padding:var(--table-padding); width:100%; position:sticky; bottom:0; flex-direction:row-reverse; cursor:move; }
|
||||||
body>div.input.login div.action { padding:0; }
|
|
||||||
body>div.input div.action>div.item { margin-left:var(--button-margin); float:right; }
|
body>div.input div.action>div.item { margin-left:var(--button-margin); float:right; }
|
||||||
body>div.input div.action>div.item>input[type=button] { width:112px; }
|
body>div.input div.action>div.item>input[type=button] { width:112px; }
|
||||||
body>div.input.login { flex-direction:column; }
|
body>div.input.login { flex-direction:column; }
|
||||||
body>div.input.login>div.action { border-bottom:var(--box-border); flex-direction:row; }
|
body>div.input.login>div.action { border-bottom:var(--box-border); padding:0; flex-direction:row; }
|
||||||
body>div.input.login>div.action>div.tabs { padding:var(--button-padding); }
|
body>div.input.login>div.action>div.tabs { padding:var(--button-padding); }
|
||||||
body>div.input.login>div.action>div.tabs.select { color:unset; }
|
body>div.input.login>div.action>div.tabs.select { color:unset; }
|
||||||
body>div.input.login>div.output { text-align:center; min-height:var(--qrcode-height); min-width:var(--iframe-height); overflow:hidden; clear:both; }
|
body>div.input.login>div.output { text-align:center; min-height:var(--qrcode-height); min-width:var(--iframe-height); overflow:hidden; clear:both; }
|
||||||
@ -857,7 +859,6 @@ fieldset.inner>div.output>div.project div.item.modify { background-color:#008000
|
|||||||
fieldset.vimer>div.output>div.project div.item.modify { background-color:#00800036; }
|
fieldset.vimer>div.output>div.project div.item.modify { background-color:#00800036; }
|
||||||
fieldset.vimer>div.output>div.project>div.zone.space div.item.stop { color:var(--disable-fg-color); }
|
fieldset.vimer>div.output>div.project>div.zone.space div.item.stop { color:var(--disable-fg-color); }
|
||||||
fieldset.vimer>div.output>div.project>div.zone.space fieldset>div.output>div.item { height:42px; }
|
fieldset.vimer>div.output>div.project>div.zone.space fieldset>div.output>div.item { height:42px; }
|
||||||
fieldset.vimer>div.output>div.project>div.zone.space fieldset>div.output>div.item.select { border-left:var(--box-notice3); }
|
|
||||||
fieldset.xterm>div.action>div.tabs:only-child { display:none; }
|
fieldset.xterm>div.action>div.tabs:only-child { display:none; }
|
||||||
fieldset.xterm>div.layout { clear:both; }
|
fieldset.xterm>div.layout { clear:both; }
|
||||||
fieldset.xterm>form.option>div.item.args1 { display:none; }
|
fieldset.xterm>form.option>div.item.args1 { display:none; }
|
||||||
@ -931,9 +932,10 @@ fieldset.studio>div.output>fieldset.story { margin:var(--plugin-margin); }
|
|||||||
fieldset.studio>div.output>fieldset.story:not(.select) { display:none; }
|
fieldset.studio>div.output>fieldset.story:not(.select) { display:none; }
|
||||||
fieldset.studio>div.output>fieldset.story>form.option div.icon.delete { display:none; }
|
fieldset.studio>div.output>fieldset.story>form.option div.icon.delete { display:none; }
|
||||||
fieldset.plug>div.output table.content { width:100%; }
|
fieldset.plug>div.output table.content { width:100%; }
|
||||||
fieldset.plug.dream.zone>div.output>div.item { display:flex; padding:var(--input-padding); margin:var(--input-margin); }
|
fieldset.plug.dream.zone>div.output>div.item { display:flex; padding:var(--input-padding); }
|
||||||
fieldset.plug.dream.zone>div.output>div.item>img { margin-right:var(--input-margin); }
|
fieldset.plug.dream.zone>div.output>div.item>img { margin-right:var(--input-margin); }
|
||||||
fieldset.plug.dream.zone>div.output>div.item>span { line-height:var(--action-height); }
|
fieldset.plug.dream.zone>div.output>div.item>span { line-height:var(--action-height); }
|
||||||
|
fieldset.plug.dream.zone>div.output>div.item.origin.select { border-right:var(--box-danger3); }
|
||||||
fieldset.cmd>div.item.state { line-height:22px; padding:var(--input-padding) var(--button-padding); float:right; }
|
fieldset.cmd>div.item.state { line-height:22px; padding:var(--input-padding) var(--button-padding); float:right; }
|
||||||
fieldset.cmd>div.item.avatar { padding:0; height:var(--action-height); }
|
fieldset.cmd>div.item.avatar { padding:0; height:var(--action-height); }
|
||||||
fieldset.cmd>div.item.avatar>img { height:var(--action-height); }
|
fieldset.cmd>div.item.avatar>img { height:var(--action-height); }
|
||||||
|
@ -304,6 +304,7 @@ Volcanos("page", {
|
|||||||
},
|
},
|
||||||
tagClass: function(target) { return target.tagName.toLowerCase()+(target.className? nfs.PT+target.className.replaceAll(lex.SP, nfs.PT): "") },
|
tagClass: function(target) { return target.tagName.toLowerCase()+(target.className? nfs.PT+target.className.replaceAll(lex.SP, nfs.PT): "") },
|
||||||
isDisplay: function(target) { return target && target.style.display != html.NONE && target.className.indexOf(html.HIDE) == -1 },
|
isDisplay: function(target) { return target && target.style.display != html.NONE && target.className.indexOf(html.HIDE) == -1 },
|
||||||
|
isSelect: function(target) { return target && target.className.indexOf(html.SELECT) > -1 },
|
||||||
isIconInput: function(can, name) {
|
isIconInput: function(can, name) {
|
||||||
return can.base.isIn(name, mdb.CREATE, mdb.INSERT, mdb.PRUNES, mdb.PRUNE, ice.HELP, cli.START, cli.CLOSE, web.REFRESH) || icon[name] || can.Conf("feature._icons."+name) || can.core.Value(can.onaction, ["_trans.icons", name])
|
return can.base.isIn(name, mdb.CREATE, mdb.INSERT, mdb.PRUNES, mdb.PRUNE, ice.HELP, cli.START, cli.CLOSE, web.REFRESH) || icon[name] || can.Conf("feature._icons."+name) || can.core.Value(can.onaction, ["_trans.icons", name])
|
||||||
},
|
},
|
||||||
|
@ -147,7 +147,10 @@ Volcanos("user", {
|
|||||||
},
|
},
|
||||||
carte: function(event, can, meta, list, cb, parent, trans) { var msg = can.request(event); event = msg._event
|
carte: function(event, can, meta, list, cb, parent, trans) { var msg = can.request(event); event = msg._event
|
||||||
function remove_sub(carte) { carte._sub && can.page.Remove(can, carte._sub._target), delete(carte._sub) } parent? remove_sub(parent): can.onmotion.clearCarte(can)
|
function remove_sub(carte) { carte._sub && can.page.Remove(can, carte._sub._target), delete(carte._sub) } parent? remove_sub(parent): can.onmotion.clearCarte(can)
|
||||||
meta = meta||can.ondetail||can.onaction||{}, list = can.base.getValid(list, meta.list, can.core.Item(meta)), trans = trans||meta._trans; if (!list || list.length == 0) { return }
|
meta = meta||can.ondetail||can.onaction||{}, list = can.base.getValid(list, meta.list, can.core.Item(meta, function(key) {
|
||||||
|
if (can.base.beginWith(key, "_")) { return }
|
||||||
|
return key
|
||||||
|
})), trans = trans||meta._trans; if (!list || list.length == 0) { return }
|
||||||
var _events = event._events||event
|
var _events = event._events||event
|
||||||
function click(event, button, index) { can.misc.Event(event, can, function() { can.request(event, {action: button}), can.onkeymap.prevent(event), event._events = _events;
|
function click(event, button, index) { can.misc.Event(event, can, function() { can.request(event, {action: button}), can.onkeymap.prevent(event), event._events = _events;
|
||||||
can.onengine.signal(can, "onevent", can.request(event, {_type: html.ACTION}));
|
can.onengine.signal(can, "onevent", can.request(event, {_type: html.ACTION}));
|
||||||
|
@ -1,42 +1,26 @@
|
|||||||
fieldset.inner>div.output { justify-content:flex-start; }
|
|
||||||
fieldset.inner>div.output div.content td.text { height:var(--code-line-height); }
|
fieldset.inner>div.output div.content td.text { height:var(--code-line-height); }
|
||||||
fieldset.inner>div.output div.content td.text span.comment { color:var(--code-comment); }
|
|
||||||
fieldset.inner>div.output div.content td.text span.keyword { color:var(--code-keyword); box-shadow:var(--keyword-box-shadow); }
|
fieldset.inner>div.output div.content td.text span.keyword { color:var(--code-keyword); box-shadow:var(--keyword-box-shadow); }
|
||||||
|
fieldset.inner>div.output div.content td.text span.comment { color:var(--code-comment); }
|
||||||
fieldset.inner>div.output div.content td.text span.function { color:var(--code-function); }
|
fieldset.inner>div.output div.content td.text span.function { color:var(--code-function); }
|
||||||
fieldset.inner>div.output div.content td.text span.constant { color:var(--code-constant); }
|
fieldset.inner>div.output div.content td.text span.constant { color:var(--code-constant); }
|
||||||
fieldset.inner>div.output div.content td.text span.string { color:var(--code-string); box-shadow:var(--keyword-box-shadow); }
|
fieldset.inner>div.output div.content td.text span.string { color:var(--code-string); box-shadow:var(--keyword-box-shadow); }
|
||||||
fieldset.inner>div.output div.content td.text span.object { color:var(--code-object); }
|
|
||||||
fieldset.inner>div.output div.content td.text span.datatype { color:var(--code-datatype); }
|
|
||||||
fieldset.inner>div.output div.content td.text span.package { color:var(--code-package); }
|
fieldset.inner>div.output div.content td.text span.package { color:var(--code-package); }
|
||||||
|
fieldset.inner>div.output div.content td.text span.datatype { color:var(--code-datatype); }
|
||||||
|
fieldset.inner>div.output div.content td.text span.object { color:var(--code-object); }
|
||||||
fieldset.inner>div.output>div.project { font-family:var(--code-font-family); }
|
fieldset.inner>div.output>div.project { font-family:var(--code-font-family); }
|
||||||
fieldset.inner>div.output>div.project div.list { border-left:none; }
|
fieldset.inner>div.output>div.project div.list { border-left:none; }
|
||||||
fieldset.inner>div.output>div.project div.item.select:not(:hover) { background-color:unset; }
|
fieldset.inner>div.output>div.project div.item.select:not(:hover) { background-color:unset; }
|
||||||
fieldset.inner:not(.vimer)>div.output>div.project div.expand.open { color:var(--notice-bg-color); }
|
|
||||||
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>input { padding-left:25px; width:100%; }
|
|
||||||
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.layout>div.tabs { font-size:var(--code-font-size); display:none; }
|
|
||||||
fieldset.inner>div.output>div.layout>div.tabs>div:hover { background-color:unset; color:unset; box-shadow:unset; }
|
|
||||||
fieldset.inner>div.output>div.layout>div.tabs>div.tabs>div.tabs { padding-right:0; }
|
|
||||||
fieldset.inner>div.output>div.layout>div.tabs>div.tabs>div.tabs.select { background-color:var(--output-bg-color); color:unset; border-top:var(--box-notice3); box-shadow:var(--legend-box-shadow);}
|
|
||||||
fieldset.vimer>div.output.source>div.layout>div.tabs>div.tabs>div.tabs.select { border-top:var(--box-border3); }
|
|
||||||
fieldset.vimer>div.output.source.normal>div.layout>div.tabs>div.tabs>div.tabs.select { border-top:var(--box-notice3); }
|
|
||||||
fieldset.vimer>div.output.source.insert>div.layout>div.tabs>div.tabs>div.tabs.select { border-top:var(--box-danger3); }
|
|
||||||
fieldset.inner>div.output>div.layout>div.tabs>div.tabs>div.tabs { border-top:var(--box-border3); border-top-color:transparent; }
|
fieldset.inner>div.output>div.layout>div.tabs>div.tabs>div.tabs { border-top:var(--box-border3); border-top-color:transparent; }
|
||||||
fieldset.inner>div.output>div.layout>div.tabs>div.tabs>div.tabs:hover { background-color:var(--output-bg-color); color:unset; box-shadow:var(--legend-box-shadow); }
|
fieldset.inner>div.output>div.layout>div.tabs>div.tabs>div.tabs.select { box-shadow:var(--legend-box-shadow); background-color:var(--output-bg-color); border-top:var(--box-notice3); }
|
||||||
|
fieldset.inner>div.output>div.layout>div.tabs>div.tabs>div.tabs:hover { box-shadow:var(--legend-box-shadow); background-color:var(--output-bg-color); }
|
||||||
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.cmd>div.output>div.layout>div.path:not(.hide) { display:flex; }
|
|
||||||
fieldset.inner>div.output>div.layout>div.path:not(.hide) { box-shadow:var(--legend-box-shadow); font-style:italic; cursor:pointer; justify-content:flex-start; align-items:center; }
|
fieldset.inner>div.output>div.layout>div.path:not(.hide) { box-shadow:var(--legend-box-shadow); font-style:italic; cursor:pointer; justify-content:flex-start; align-items:center; }
|
||||||
fieldset.inner>div.output>div.layout>div.path>a { padding:var(--input-padding) var(--button-padding); }
|
fieldset.inner>div.output>div.layout>div.path>a { padding:var(--input-padding); }
|
||||||
fieldset.inner>div.output>div.layout>div.path>a:hover { background-color:var(--hover-bg-color); }
|
fieldset.inner>div.output>div.layout>div.path>a:hover { background-color:var(--hover-bg-color); }
|
||||||
fieldset.inner>div.output>div.layout>div.path>span { padding:var(--input-padding); white-space:pre; }
|
fieldset.inner>div.output>div.layout>div.path>span { padding:var(--input-padding); white-space:pre; }
|
||||||
fieldset.inner>div.output>div.layout>div.path>span:hover { background-color:var(--hover-bg-color); }
|
fieldset.inner>div.output>div.layout>div.path>span:hover { background-color:var(--hover-bg-color); }
|
||||||
fieldset.inner>div.output>div.layout>div.path span.func { padding:var(--input-padding); }
|
fieldset.inner>div.output>div.layout>div.path>span._space:hover { background-color:unset; }
|
||||||
fieldset.inner>div.output>div.layout>div.path span.mode { padding:var(--input-padding); }
|
fieldset.inner>div.output>div.layout>div.path>span.view { font-style:normal; font-size:22px; padding:0 var(--input-padding); }
|
||||||
fieldset.inner>div.output>div.layout>div.path span._space { flex-grow:1; }
|
|
||||||
fieldset.inner>div.output>div.layout>div.path span._space:hover { background-color:unset; cursor:normal; }
|
|
||||||
fieldset.inner>div.output>div.layout>div.path span.view { font-size:22px; font-style:normal; padding:0 var(--input-padding); margin-top:-5px; float:right; }
|
|
||||||
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(--box-notice3); display:block; }
|
fieldset.inner>div.output>div.layout>div.display pre>code { padding-left:var(--table-padding); border-left:var(--box-notice3); display:block; }
|
||||||
@ -49,59 +33,59 @@ fieldset.inner>div.output>div.layout>div.layout>div.profile h2 { border-bottom:v
|
|||||||
fieldset.inner>div.output>div.layout>div.layout>div.profile pre>code { padding-left:var(--table-padding); border-left:var(--box-notice3); display:block; }
|
fieldset.inner>div.output>div.layout>div.layout>div.profile pre>code { padding-left:var(--table-padding); border-left:var(--box-notice3); display:block; }
|
||||||
fieldset.inner>div.output>div.layout>div.layout>div.profile>div.code { white-space:unset; padding:var(--table-padding); }
|
fieldset.inner>div.output>div.layout>div.layout>div.profile>div.code { white-space:unset; padding:var(--table-padding); }
|
||||||
fieldset.inner>div.output>div.layout>div.layout>div.profile div.status>div { padding:var(--input-padding); float:left; }
|
fieldset.inner>div.output>div.layout>div.layout>div.profile div.status>div { padding:var(--input-padding); float:left; }
|
||||||
fieldset.inner>div.output>div.layout>div.layout div.content div.tips { color:var(--disable-fg-color); font-style:italic; line-height:var(--code-line-height); position:absolute; top:0; right:10px; }
|
fieldset.inner>div.output>div.layout>div.layout>div.content div.tips { color:var(--disable-fg-color); font-style:italic; line-height:var(--code-line-height); position:absolute; top:0; right:10px; }
|
||||||
fieldset.inner>div.output>div.layout>div.layout>fieldset.story { box-shadow:unset; }
|
fieldset.inner>div.output>div.layout>div.layout>fieldset.story { box-shadow:unset; }
|
||||||
fieldset.inner.cmd>div.output>div.layout>div.tabs:not(.hide) { background-color:var(--plugin-bg-color); height:var(--code-tabs-height); display:flex; }
|
fieldset.inner.cmd>div.output>div.layout>div.tabs:not(.hide) { background-color:var(--plugin-bg-color); height:var(--code-tabs-height); display:flex; }
|
||||||
fieldset.inner.cmd>div.output>div.layout>div.tabs>div { height:var(--code-tabs-height); }
|
fieldset.inner.cmd>div.output>div.layout>div.tabs>div { height:var(--code-tabs-height); }
|
||||||
fieldset.inner.cmd>div.output>div.layout>div.tabs>div.icon>div.icon { font-size:26px; line-height:32px; padding:2px 5px; position:sticky; top:0; }
|
fieldset.inner.cmd>div.output>div.layout>div.tabs>div.icon>div.icon { font-size:26px; line-height:32px; padding:2px 5px; position:sticky; top:0; }
|
||||||
fieldset.inner.cmd>div.output>div.layout>div.tabs>div.tabs { justify-content:flex-start; flex-grow:1; flex-wrap:wrap; overflow:auto; display:flex; }
|
fieldset.inner.cmd>div.output>div.layout>div.tabs>div.tabs { justify-content:flex-start; flex-grow:1; flex-wrap:wrap; overflow:auto; display:flex; }
|
||||||
fieldset.inner.cmd>div.output>div.layout>div.tabs>div.tabs:hover { background-color:unset; }
|
fieldset.inner.cmd>div.output>div.layout>div.tabs>div.tabs:hover { background-color:unset; }
|
||||||
fieldset.inner.cmd>div.output>div.layout>div.tabs>div.tabs>div.tabs { padding:var(--input-padding) var(--button-padding); margin-right:var(--button-margin); height:var(--code-tabs-height); display:flex; align-items:center; }
|
fieldset.inner.cmd>div.output>div.layout>div.tabs>div.tabs>div.tabs { padding:var(--input-padding) var(--button-padding); height:var(--code-tabs-height); display:flex; align-items:center; }
|
||||||
fieldset.inner.cmd>div.output>div.layout>div.tabs>div.head { flex-direction:row-reverse; display:flex; }
|
fieldset.inner.cmd>div.output>div.layout>div.tabs>div.head { display:flex; flex-direction:row-reverse; }
|
||||||
fieldset.inner.cmd>div.output>div.layout>div.tabs>div.head>div { white-space:pre; padding:0 var(--input-padding); height:var(--code-tabs-height); display:flex; align-items:center; }
|
fieldset.inner.cmd>div.output>div.layout>div.tabs>div.head>div { padding:0 var(--input-padding); display:flex; align-items:center; }
|
||||||
fieldset.inner.cmd>div.output>div.layout>div.tabs>div.head>div.qrcode { padding-top:5px; }
|
|
||||||
fieldset.inner.cmd>div.output>div.layout>div.tabs>div.head>div.online { margin-left:0 !important; margin-right:0 !important; flex-direction: row-reverse; }
|
fieldset.inner.cmd>div.output>div.layout>div.tabs>div.head>div.online { margin-left:0 !important; margin-right:0 !important; flex-direction: row-reverse; }
|
||||||
fieldset.inner.cmd>div.output>div.layout>div.tabs>div.head>div.online img { height:24px; }
|
fieldset.inner.cmd>div.output>div.layout>div.tabs>div.head>div.online img { height:24px; }
|
||||||
fieldset.inner.cmd>div.output>div.layout>div.tabs>div.head>div.avatar { padding:0; }
|
fieldset.inner.cmd>div.output>div.layout>div.tabs>div.head>div.avatar { padding:0; }
|
||||||
fieldset.inner.cmd>div.output>div.layout>div.tabs>div.head>div.avatar>img { height:32px; clip-path:circle(40%); }
|
fieldset.inner.cmd>div.output>div.layout>div.tabs>div.head>div.avatar>img { height:32px; clip-path:circle(40%); }
|
||||||
|
fieldset.inner.cmd>div.output>div.layout>div.path:not(.hide) { display:flex; }
|
||||||
fieldset.inner.cmd>div.output>div.layout>div.plug { box-shadow:var(--th-box-shadow); height:var(--action-height); overflow:auto; }
|
fieldset.inner.cmd>div.output>div.layout>div.plug { box-shadow:var(--th-box-shadow); height:var(--action-height); overflow:auto; }
|
||||||
fieldset.inner.cmd>div.output>div.layout>div.plug>legend { font-style:italic; font-size:var(--legend-font-size); padding:0 var(--input-padding); padding-right:0; margin-right:0; float:right; }
|
fieldset.inner.cmd>div.output>div.layout>div.plug>legend { padding:0 var(--input-padding); padding-right:0; margin-right:0; float:right; }
|
||||||
fieldset.inner.cmd>div.output>div.layout>div.plug>legend:hover { box-shadow:var(--notice-box-shadow); color:unset; }
|
fieldset.inner.cmd>div.output>div.layout>div.plug>legend:hover { box-shadow:var(--notice-box-shadow); }
|
||||||
fieldset.inner.cmd>div.output>div.layout>div.plug>legend>span.remove { padding:0 var(--input-padding); height:30px; }
|
fieldset.inner.cmd>div.output>div.layout>div.plug>legend>span.remove { padding:0 var(--input-padding); }
|
||||||
fieldset.inner.cmd>div.output>div.layout>div.plug>legend>span.remove:hover { background-color:var(--hover-bg-color); }
|
fieldset.inner.cmd>div.output>div.layout>div.plug>legend>span.remove:hover { background-color:var(--hover-bg-color); }
|
||||||
fieldset.inner.cmd>div.output>div.layout>div.plug>legend:not(:hover)>span.remove { visibility:hidden; }
|
fieldset.inner.cmd>div.output>div.layout>div.plug>legend:not(:hover)>span.remove { visibility:hidden; }
|
||||||
fieldset.inner fieldset.plug.can._plugin.search>form.option>div.item.value input { width:var(--project-width); }
|
fieldset.inner fieldset.plug.can._plugin.search>form.option>div.item.value input { width:var(--project-width); }
|
||||||
fieldset.inner fieldset.plug.can._plugin.search>form.option>div.item.filter input { width:var(--project-width); }
|
fieldset.inner fieldset.plug.can._plugin.search>form.option>div.item.filter input { width:var(--project-width); }
|
||||||
fieldset.inner:not(.monaco)>div.output div.content>tr.line * { font-family:var(--code-font-family); font-size:var(--code-font-size); }
|
fieldset.inner fieldset.plug.can._plugin.search>div.output>table.content tr td { cursor:pointer; }
|
||||||
fieldset.inner>div.output>div.layout>fieldset.plug.can._plugin.search>div.output>table.content tr td { cursor:pointer; }
|
|
||||||
fieldset.inner.plugin>div.output>div.layout>div.layout div.content tr.line.select>td.line { background-color:var(--notice-bg-color); color:white; }
|
|
||||||
fieldset.vimer.plugin>div.output>div.layout>div.layout div.content tr.line.select>td.line { background-color:unset; color:unset; }
|
|
||||||
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.plugin.inner>div.output>div.layout>div.path:not(.hide) { font-size:var(--code-font-size); display:flex; }
|
fieldset.Action.tabview fieldset.plugin.inner>div.output>div.layout>div.path:not(.hide) { font-size:var(--code-font-size); display:flex; }
|
||||||
div.input.vimer.find div.action div.item { margin:var(--input-margin); }
|
fieldset.inner:not(.monaco)>div.output div.content>tr.line * { font-family:var(--code-font-family); font-size:var(--code-font-size); }
|
||||||
div.input.vimer.find div.action div.item.text input { width:var(--project-width) }
|
fieldset.inner.plugin>div.output>div.layout>div.layout div.content tr.line.select>td.line { background-color:var(--notice-bg-color); color:white; }
|
||||||
div.input.vimer.find div.action div.item.close span { display:none; }
|
fieldset.vimer.plugin>div.output>div.layout>div.layout div.content tr.line.select>td.line { background-color:unset; color:unset; }
|
||||||
div.path span.item { padding:var(--input-padding); }
|
div.carte.inner.mode.float div.item { padding:var(--input-padding); }
|
||||||
div.carte.cmd.float { font-size:var(--code-font-size); } div.carte.cmd.float div.item { padding:var(--input-padding); }
|
div.carte.inner.path.float div.item { padding:var(--input-padding); }
|
||||||
div.carte.path.float { font-size:var(--code-font-size); }
|
div.carte.inner.path.float div.item.private { color:var(--disable-fg-color); }
|
||||||
div.carte.path.float div.item { padding:var(--input-padding); }
|
div.input.inner.find.float div.action div.item { margin:var(--input-margin); }
|
||||||
div.carte.path.float div.item.private { color:var(--disable-fg-color); }
|
div.input.inner.find.float div.action div.item.text input { width:var(--project-width); }
|
||||||
div.vimer.open.float td:first-child { display:none; }
|
div.input.inner.find.float div.action div.item.close span { display:none; }
|
||||||
div.vimer.open.float td:nth-child(2) { display:none; }
|
div.input.inner.find.float div.action div.item.replace input { border:var(--box-danger); }
|
||||||
div.vimer.plug.float div.item.text input { width:var(--river-width); }
|
div.input.inner.open.float td:first-child { display:none; }
|
||||||
div.layout.flex>input.current { clear:both; }
|
div.input.inner.open.float div.item.text input { width:100% !important; }
|
||||||
tr.line>td.line { -webkit-user-select:none; border-right:var(--box-border); cursor:pointer; }
|
div.input.inner.open.float td:nth-child(2) { display:none; }
|
||||||
|
tr.line>td.line { border-right:var(--box-border); cursor:pointer; -webkit-user-select:none; }
|
||||||
tr.line>td.line { text-align:right; line-height:var(--code-line-height); padding:0 var(--button-padding); position:sticky; left:0; }
|
tr.line>td.line { text-align:right; line-height:var(--code-line-height); padding:0 var(--button-padding); position:sticky; left:0; }
|
||||||
tr.line>td.text { white-space:pre; line-height:var(--code-line-height); padding-left:var(--input-padding); width:100%; }
|
tr.line>td.text { white-space:pre; line-height:var(--code-line-height); padding-left:var(--input-padding); width:100%; }
|
||||||
tr.line:hover { background-color:var(--hover-bg-color); }
|
tr.line:hover { background-color:var(--hover-bg-color); }
|
||||||
tr.line.insert { background-color:#283e2d; } tr.line.delete { background-color:#3c2626; }
|
tr.line.delete { background-color:#3c2626; }
|
||||||
|
tr.line.insert { background-color:#283e2d; }
|
||||||
body.light tr.line.delete { background-color:#ffeef0; }
|
body.light tr.line.delete { background-color:#ffeef0; }
|
||||||
body.light tr.line.insert { background-color:#e6ffed; }
|
body.light tr.line.insert { background-color:#e6ffed; }
|
||||||
body.white tr.line.insert { background-color:#ffeef0; }
|
|
||||||
body.white tr.line.delete { background-color:#e6ffed; }
|
body.white tr.line.delete { background-color:#e6ffed; }
|
||||||
|
body.white tr.line.insert { background-color:#ffeef0; }
|
||||||
body.width2 fieldset.inner>div.output>div.layout>div.path span.mode { display:none; }
|
body.width2 fieldset.inner>div.output>div.layout>div.path span.mode { display:none; }
|
||||||
body.mobile fieldset.inner>div.output>div.layout>div.path span.func { display:none; }
|
body.mobile fieldset.inner>div.output>div.layout>div.path span.func { display:none; }
|
||||||
body.mobile fieldset.inner>div.output>div.layout>div.path span.mode { display:none; }
|
body.mobile fieldset.inner>div.output>div.layout>div.path span.mode { display:none; }
|
||||||
|
body.light fieldset.inner.cmd>div.output>div.layout>div.tabs>div.tabs>div.tabs { margin-right:var(--button-margin); }
|
||||||
body:not(.mobile) fieldset.inner>div.output>div.layout>fieldset.plug { bottom:var(--action-height); }
|
body:not(.mobile) fieldset.inner>div.output>div.layout>fieldset.plug { bottom:var(--action-height); }
|
||||||
body:not(.windows) fieldset.inner>div.output>div.project * { font-family:var(--code-font-family); font-size:var(--code-font-size); }
|
body:not(.windows) fieldset.inner>div.output>div.project * { font-family:var(--code-font-family); font-size:var(--code-font-size); }
|
||||||
body:not(.windows) fieldset.inner>div.output>div.layout>div.tabs { font-family:var(--code-font-family); font-size:var(--code-font-size); }
|
body:not(.windows) fieldset.inner>div.output>div.layout>div.tabs { font-family:var(--code-font-family); font-size:var(--code-font-size); }
|
||||||
|
@ -46,6 +46,7 @@ Volcanos(chat.ONIMPORT, {
|
|||||||
can.page.Append(can, can.ui.path, [{text: [mode, "", [ice.MODE, can.db.mode||""]], onclick: function(event) {
|
can.page.Append(can, can.ui.path, [{text: [mode, "", [ice.MODE, can.db.mode||""]], onclick: function(event) {
|
||||||
var list = {}; can.core.Item(can.onkeymap._mode[can.db.mode], function(k, cb) { list[k+" "+cb.help] = function(event, can, button) { can.core.CallFunc(cb, {event: event, can: can}) } })
|
var list = {}; can.core.Item(can.onkeymap._mode[can.db.mode], function(k, cb) { list[k+" "+cb.help] = function(event, can, button) { can.core.CallFunc(cb, {event: event, can: can}) } })
|
||||||
can.core.Item(can.onkeymap._mode[can.db.mode+"_ctrl"], function(k, cb) { list["C-"+k+" "+cb.help] = function(event, can, button) { can.core.CallFunc(cb, {event: event, can: can}) } })
|
can.core.Item(can.onkeymap._mode[can.db.mode+"_ctrl"], function(k, cb) { list["C-"+k+" "+cb.help] = function(event, can, button) { can.core.CallFunc(cb, {event: event, can: can}) } })
|
||||||
|
list._style = "inner mode"
|
||||||
can.user.carte(event, can, list, [])
|
can.user.carte(event, can, list, [])
|
||||||
}}])
|
}}])
|
||||||
},
|
},
|
||||||
@ -56,7 +57,7 @@ Volcanos(chat.ONIMPORT, {
|
|||||||
var carte, list = [web.FILTER]; can.core.Item(last, function(key) { list.push(key) }), list = list.concat(func.list)
|
var carte, list = [web.FILTER]; can.core.Item(last, function(key) { list.push(key) }), list = list.concat(func.list)
|
||||||
}
|
}
|
||||||
can.page.Append(can, target, [{view: [[html.ITEM, "func"], html.SPAN, (func.current||"func")+nfs.PS+can.ui.content._max+func.percent+lex.SP+can.base.Size(can._msg.result[0].length)], onclick: function(event) {
|
can.page.Append(can, target, [{view: [[html.ITEM, "func"], html.SPAN, (func.current||"func")+nfs.PS+can.ui.content._max+func.percent+lex.SP+can.base.Size(can._msg.result[0].length)], onclick: function(event) {
|
||||||
carte = can.user.carte(event, can, {_style: nfs.PATH}, list, function(ev, button) { last[button] = true, carte.close()
|
carte = can.user.carte(event, can, {_style: "inner "+nfs.PATH}, list, function(ev, button) { last[button] = true, carte.close()
|
||||||
var line = can.core.Split(button, nfs.DF, nfs.DF).pop()
|
var line = can.core.Split(button, nfs.DF, nfs.DF).pop()
|
||||||
can.onimport.tabview(can, "", can.Option(nfs.FILE), line, function() { can.onaction.selectLine(can, line, true) })
|
can.onimport.tabview(can, "", can.Option(nfs.FILE), line, function() { can.onaction.selectLine(can, line, true) })
|
||||||
})
|
})
|
||||||
@ -83,7 +84,7 @@ Volcanos(chat.ONIMPORT, {
|
|||||||
})
|
})
|
||||||
},
|
},
|
||||||
tabPath: function(event, can, ps, key, pre, cb, parent) { can.runAction(event, mdb.INPUTS, [key, pre, lex.SPLIT], function(msg) { var _trans = {}
|
tabPath: function(event, can, ps, key, pre, cb, parent) { can.runAction(event, mdb.INPUTS, [key, pre, lex.SPLIT], function(msg) { var _trans = {}
|
||||||
var carte = can.user[parent? "carteRight": "carte"](event, can, {_style: key}, (msg.Length() > 10? [web.FILTER]: []).concat(msg.Table(function(value) {
|
var carte = can.user[parent? "carteRight": "carte"](event, can, {_style: "inner "+key}, (msg.Length() > 10? [web.FILTER]: []).concat(msg.Table(function(value) {
|
||||||
var p = can.core.Split(value[key], ps).pop()+(can.base.endWith(value[key], ps)? ps: ""); return _trans[p] = value[key], p
|
var p = can.core.Split(value[key], ps).pop()+(can.base.endWith(value[key], ps)? ps: ""); return _trans[p] = value[key], p
|
||||||
})), function(event, button) {
|
})), function(event, button) {
|
||||||
if (can.base.endWith(button, ps)) { can.onimport.tabPath(event, can, ps, key, pre+button, cb, carte); return true } else { cb(_trans[button], pre) }
|
if (can.base.endWith(button, ps)) { can.onimport.tabPath(event, can, ps, key, pre+button, cb, carte); return true } else { cb(_trans[button], pre) }
|
||||||
@ -91,7 +92,7 @@ Volcanos(chat.ONIMPORT, {
|
|||||||
can.page.Select(can, carte, html.DIV_ITEM, function(target) {
|
can.page.Select(can, carte, html.DIV_ITEM, function(target) {
|
||||||
target.innerHTML.trim() != event.target.innerHTML.trim() && can.base.beginWith(target.innerHTML, file+nfs.PT) && carte.insertBefore(target, carte.firstChild)
|
target.innerHTML.trim() != event.target.innerHTML.trim() && can.base.beginWith(target.innerHTML, file+nfs.PT) && carte.insertBefore(target, carte.firstChild)
|
||||||
target.innerHTML.trim() == event.target.innerHTML.trim() && can.onappend.style(can, html.SELECT, target)
|
target.innerHTML.trim() == event.target.innerHTML.trim() && can.onappend.style(can, html.SELECT, target)
|
||||||
})
|
}), can.onmotion.delay(can, function() { carte.scrollTop = 0 })
|
||||||
}) },
|
}) },
|
||||||
openzone: function(can, path, file, line) {
|
openzone: function(can, path, file, line) {
|
||||||
if (line == web.SPACE) {
|
if (line == web.SPACE) {
|
||||||
@ -100,7 +101,7 @@ Volcanos(chat.ONIMPORT, {
|
|||||||
if (can.base.beginWith(file, "can.")) {
|
if (can.base.beginWith(file, "can.")) {
|
||||||
can.page.isDisplay(can.ui.zone.plugin._target) || can.ui.zone.plugin._legend.click()
|
can.page.isDisplay(can.ui.zone.plugin._target) || can.ui.zone.plugin._legend.click()
|
||||||
} else {
|
} else {
|
||||||
can.page.isDisplay(can.ui.zone.module._target) || can.ui.zone.module._legend.click()
|
can.page.isDisplay(can.ui.zone.command._target) || can.ui.zone.command._legend.click()
|
||||||
}
|
}
|
||||||
} else {
|
} else {
|
||||||
if (can.ui.zone && can.ui.zone.source) {
|
if (can.ui.zone && can.ui.zone.source) {
|
||||||
@ -109,32 +110,28 @@ Volcanos(chat.ONIMPORT, {
|
|||||||
return true
|
return true
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
tabview: function(can, path, file, line, cb) { path = path||can.Option(nfs.PATH); var key = can.onexport.keys(can, path, file)
|
tabview: function(can, path, file, line, cb) { path = path||can.Option(nfs.PATH), line && can.Option(nfs.LINE, line); var key = can.onexport.keys(can, path, file)
|
||||||
line && can.Option(nfs.LINE, line)
|
|
||||||
function isIndex() { return line == ctx.INDEX } function isSpace() { return line == web.SPACE }
|
function isIndex() { return line == ctx.INDEX } function isSpace() { return line == web.SPACE }
|
||||||
function show(skip) { can._msg && can._msg.Option && can._msg.Option(nfs.LINE, can.Option(nfs.LINE)), can._msg = can.db.tabview[key]
|
function show() { can._msg && can._msg.Option && can._msg.Option(nfs.LINE, can.Option(nfs.LINE)), can._msg = can.db.tabview[key]
|
||||||
can.Option(can.onimport.history(can, {path: path, file: file, line: can._msg.Option(nfs.LINE)||can.onexport.session(can, SELECT_LINE+nfs.DF+path+file)||1}))
|
can.Option(can.onimport.history(can, {path: path, file: file, line: can._msg.Option(nfs.LINE)||can.onexport.session(can, SELECT_LINE+nfs.DF+path+file)||1}))
|
||||||
can.onsyntax._init(can, can._msg, function(content) { var msg = can._msg; can.onexport.hash(can), can.isCmdMode() && can.onexport.title(can, (isIndex()||isSpace()? "": path)+file)
|
can.onsyntax._init(can, can._msg, function(content) { var msg = can._msg; can.onexport.hash(can), can.isCmdMode() && can.onexport.title(can, (isIndex()||isSpace()? "": path)+file)
|
||||||
can.onmotion.select(can, can.ui._tabs, html.DIV_TABS, msg._tab), can.isCmdMode() && msg._tab.scrollIntoView(), can.onmotion.toggle(can, can.ui.path, true)
|
can.onmotion.select(can, can.ui._tabs, html.DIV_TABS, msg._tab), can.onmotion.toggle(can, can.ui.path, true)
|
||||||
if (isSpace()) { can.base.contains(file, "/") || can.onmotion.hidden(can, can.ui.path)
|
if (isSpace()) { can.base.contains(file, "/") || can.onmotion.hidden(can, can.ui.path)
|
||||||
can.ui.path.innerHTML = can.page.Format(html.A, can.base.trimPrefix(can.misc.MergePodCmd(can, {pod: file}), location.origin))
|
can.ui.path.innerHTML = can.page.Format(html.A, can.base.trimPrefix(can.misc.MergePodCmd(can, {pod: file}), location.origin))
|
||||||
} else if (isIndex()) { can.onmotion.hidden(can, can.ui.path)
|
} else if (isIndex()) { can.onmotion.hidden(can, can.ui.path)
|
||||||
} else { can.onimport.__tabPath(can)
|
} else { can.onimport.__tabPath(can) }
|
||||||
} can.onimport.openzone(can, path, file, line)
|
|
||||||
can.page.SelectChild(can, can.ui._content.parentNode, can.page.Keys(html.DIV_CONTENT, html.DIV_LAYOUT, html.FIELDSET_STORY, [[[html.IFRAME, html.CONTENT]]]), function(target) {
|
can.page.SelectChild(can, can.ui._content.parentNode, can.page.Keys(html.DIV_CONTENT, html.DIV_LAYOUT, html.FIELDSET_STORY, [[[html.IFRAME, html.CONTENT]]]), function(target) {
|
||||||
can.onmotion.toggle(can, target, target == content)
|
can.onmotion.toggle(can, target, target == content)
|
||||||
}), can.ui.content._plugin = msg._plugin
|
}), can.ui.content._plugin = msg._plugin
|
||||||
can.page.SelectChild(can, can.ui._profile.parentNode, can.page.Keys(html.DIV_PROFILE, [[[html.IFRAME, html.PROFILE]]]), function(target) {
|
can.page.SelectChild(can, can.ui._profile.parentNode, can.page.Keys(html.DIV_PROFILE, [[[html.IFRAME, html.PROFILE]]]), function(target) {
|
||||||
if (target == msg._profile) { can.ui.profile = msg._profile, msg._profile_hidden || can.onmotion.toggle(can, target, true) }
|
if (target == msg._profile) { can.ui.profile = msg._profile, msg._profile_hidden || can.onmotion.toggle(can, target, true) }
|
||||||
}), can.ui.profile._plugin = msg._profile
|
}), can.ui.profile._plugin = msg._profile
|
||||||
if (isSpace()) { var item = can.ui.zone.space[file]; can.onmotion.select(can, item.parentNode, html.DIV_ITEM, item) }
|
can.page.ClassList.set(can, can._output, nfs.SOURCE, can.onimport.openzone(can, path, file, line)), can.onimport.layout(can)
|
||||||
can.page.ClassList.set(can, can._output, nfs.SOURCE, !isIndex() && !isSpace())
|
can.onaction.selectLine(can, can.Option(nfs.LINE)), can.base.isFunc(cb) && cb(msg), cb = null
|
||||||
can.onimport.layout(can), can.ui.current && can.onmotion.toggle(can, can.ui.current, !isIndex() && !isSpace())
|
|
||||||
skip || can.onmotion.delay(can, function() { can.onaction.selectLine(can, can.Option(nfs.LINE), true) }), can.base.isFunc(cb) && cb(), cb = null
|
|
||||||
var ls = can.onexport.path(can).split(nfs.PS); if (ls.length > 4) { ls = [ls.slice(0, 2).join(nfs.PS)+"/.../"+ls.slice(-2).join(nfs.PS)] } can.Status(kit.Dict(nfs.FILE, ls.join(nfs.PS)))
|
var ls = can.onexport.path(can).split(nfs.PS); if (ls.length > 4) { ls = [ls.slice(0, 2).join(nfs.PS)+"/.../"+ls.slice(-2).join(nfs.PS)] } can.Status(kit.Dict(nfs.FILE, ls.join(nfs.PS)))
|
||||||
})
|
})
|
||||||
}
|
}
|
||||||
function load(msg) { var skip = false; can.db.tabview[key] = msg; var name = file
|
function load(msg) { can.db.tabview[key] = msg; var name = file
|
||||||
if (can.base.beginWith(file, web.HTTP)) { name = decodeURI(file.split(web.QS)[0])
|
if (can.base.beginWith(file, web.HTTP)) { name = decodeURI(file.split(web.QS)[0])
|
||||||
var link = can.misc.ParseURL(can, name); if (link.pod) { name = link.pod }
|
var link = can.misc.ParseURL(can, name); if (link.pod) { name = link.pod }
|
||||||
name = can.base.trimPrefix(name, location.origin)
|
name = can.base.trimPrefix(name, location.origin)
|
||||||
@ -142,18 +139,16 @@ Volcanos(chat.ONIMPORT, {
|
|||||||
name = file.split(mdb.FS)[0].split(isIndex()? nfs.PT: nfs.PS).pop()
|
name = file.split(mdb.FS)[0].split(isIndex()? nfs.PT: nfs.PS).pop()
|
||||||
}
|
}
|
||||||
line && msg.Option(nfs.LINE, line)
|
line && msg.Option(nfs.LINE, line)
|
||||||
var tabs = can.onimport.tabs(can, [{name: name, text: (isIndex() || isSpace()? "": path)+file, _menu: shy([nfs.SAVE, nfs.TRASH, web.REFRESH], function(event, button, meta) {
|
var tabs = can.onimport.tabs(can, [{name: name, text: (isIndex() || isSpace()? "": path)+file, _menu: shy(can.base.Obj(msg.Option(ice.MSG_ACTION), []), function(event, button, meta) {
|
||||||
can.request(event, msg), can.onaction[button](event, can, button)
|
can.request(event, msg), can.onaction[button]? can.onaction[button](event, can, button): can.onaction._runs(event, can, button)
|
||||||
})}], function(event, tabs) { can._tab = msg._tab = tabs._target, show(skip), skip = true
|
})}], function(event, tabs) {
|
||||||
can.onmotion.delay(can, function() { var item = can.ui.zone && can.ui.zone.source && can.ui.zone.source[path+file]; if (!item) { return }
|
can._tab = msg._tab = tabs._target, show(), msg._item && (can.page.isSelect(msg._item) || msg._item.click(), can.onmotion.scrollIntoView(can, msg._item))
|
||||||
item._tabs = tabs._target, can.page.ClassList.has(can, item, html.SELECT) || item.click()
|
|
||||||
})
|
|
||||||
}, function(tabs) { can.onengine.signal(can, VIEW_REMOVE, msg), delete(can.db.tabview[key])
|
}, function(tabs) { can.onengine.signal(can, VIEW_REMOVE, msg), delete(can.db.tabview[key])
|
||||||
msg._content != can.ui._content && can.page.Remove(can, msg._content), msg._profile != can.ui._profile && can.page.Remove(can, msg._profile)
|
msg._content != can.ui._content && can.page.Remove(can, msg._content), msg._profile != can.ui._profile && can.page.Remove(can, msg._profile)
|
||||||
can.onmotion.cacheClear(can, key, can.ui._content, can.ui._profile, can.ui._display)
|
can.onmotion.cacheClear(can, key, can.ui._content, can.ui._profile, can.ui._display)
|
||||||
}, can.ui._tabs)
|
}, can.ui._tabs)
|
||||||
}
|
}
|
||||||
if (can.db.tabview[key]) { return !can._msg._tab && !can.isSimpleMode()? load(can.db.tabview[key]): show() }
|
if (can.db.tabview[key]) { return can.isSimpleMode()? show(): can._msg._tab? (can._msg._tab.click(), show()): load(can.db.tabview[key]) }
|
||||||
isIndex()||isSpace()? load(can.request({}, {index: file, line: line})): can.run({}, [path, file], load, true)
|
isIndex()||isSpace()? load(can.request({}, {index: file, line: line})): can.run({}, [path, file], load, true)
|
||||||
},
|
},
|
||||||
history: function(can, record) { can.base.Eq(record, can.db.history[can.db.history.length-1], mdb.TEXT) || can.db.history.push(record)
|
history: function(can, record) { can.base.Eq(record, can.db.history[can.db.history.length-1], mdb.TEXT) || can.db.history.push(record)
|
||||||
@ -162,7 +157,10 @@ Volcanos(chat.ONIMPORT, {
|
|||||||
project: function(can) { can.onimport.zone(can, can.core.Item(can.onfigure, function(name, cb) { if (can.base.isFunc(cb)) {
|
project: function(can) { can.onimport.zone(can, can.core.Item(can.onfigure, function(name, cb) { if (can.base.isFunc(cb)) {
|
||||||
return {name: name, _toggle: function(zone) { var target = can.page.isDisplay(zone._target)? zone._target: can.ui.zone.source._target
|
return {name: name, _toggle: function(zone) { var target = can.page.isDisplay(zone._target)? zone._target: can.ui.zone.source._target
|
||||||
can.core.Item(can.ui.zone, function(key, zone) { key.indexOf(nfs.PS) > 0 || zone.toggle(zone._target == target) }), can.onimport.layout(can)
|
can.core.Item(can.ui.zone, function(key, zone) { key.indexOf(nfs.PS) > 0 || zone.toggle(zone._target == target) }), can.onimport.layout(can)
|
||||||
}, _init: function(target, zone) { return cb(can, target, zone, can.db.hash) }}
|
}, _init: function(target, zone) { var onclick = zone._legend.onclick
|
||||||
|
zone._legend.onclick = function(event) { if (can.page.isDisplay(zone._target)) { return } onclick(event) }
|
||||||
|
return cb(can, target, zone, can.db.hash)
|
||||||
|
}}
|
||||||
} }), can.ui.project) },
|
} }), can.ui.project) },
|
||||||
profile: function(can, msg) { var _msg = can.db.tabview[can.onexport.keys(can)]; _msg.Option(html.WIDTH, msg.Option(html.WIDTH)), border = 1
|
profile: function(can, msg) { var _msg = can.db.tabview[can.onexport.keys(can)]; _msg.Option(html.WIDTH, msg.Option(html.WIDTH)), border = 1
|
||||||
var height = can.ui.content.offsetHeight, width = can.onexport.size(can, _msg.Option(html.WIDTH)||0.5, can.ConfWidth()-can.ui.project.offsetWidth)+border
|
var height = can.ui.content.offsetHeight, width = can.onexport.size(can, _msg.Option(html.WIDTH)||0.5, can.ConfWidth()-can.ui.project.offsetWidth)+border
|
||||||
@ -282,23 +280,28 @@ Volcanos(chat.ONFIGURE, {
|
|||||||
function show(target, zone, path) { can.run(can.request({}, {dir_root: path, dir_deep: true}), [nfs.PWD], function(msg) {
|
function show(target, zone, path) { can.run(can.request({}, {dir_root: path, dir_deep: true}), [nfs.PWD], function(msg) {
|
||||||
can.onimport.tree(can, can.core.List(msg.Table(), function(item) { item._init = function(target) { can.ui.zone.source[path+item.path] = target }
|
can.onimport.tree(can, can.core.List(msg.Table(), function(item) { item._init = function(target) { can.ui.zone.source[path+item.path] = target }
|
||||||
if (can.Option(nfs.FILE).indexOf(item.path) == 0) { item.expand = true } return item
|
if (can.Option(nfs.FILE).indexOf(item.path) == 0) { item.expand = true } return item
|
||||||
}), function(event, item) { can.base.endWith(item.path, nfs.PS) || can.onimport.tabview(can, path, item.path) }, function() {}, target), zone._total(msg.Length())
|
}), function(event, item, target) { can.base.endWith(item.path, nfs.PS) || can.onimport.tabview(can, path, item.path, "", function(msg) {
|
||||||
|
msg._item = target
|
||||||
|
}) }, function() {}, target), zone._total(msg.Length())
|
||||||
can.isCmdMode() && hash.length > 1 && can.onimport.tabview(can, hash[0], hash[1], hash[2])
|
can.isCmdMode() && hash.length > 1 && can.onimport.tabview(can, hash[0], hash[1], hash[2])
|
||||||
}, true) } show(target, zone, can.Option(nfs.PATH))
|
}, true) } show(target, zone, can.Option(nfs.PATH))
|
||||||
},
|
},
|
||||||
module: function(can, target, zone, hash) {
|
command: function(can, target, zone, hash) {
|
||||||
zone._delay_init = function() { can.runAction({}, mdb.INPUTS, [ctx.INDEX], function(msg) {
|
zone._delay_init = function() { can.runAction({}, mdb.INPUTS, [ctx.INDEX], function(msg) {
|
||||||
can.onimport.tree(can, msg.Table(function(value) {
|
can.onimport.tree(can, msg.Table(function(value) {
|
||||||
value.expand = hash[2] == ctx.INDEX && hash[1] == value.index
|
value.expand = hash[2] == ctx.INDEX && hash[1] == value.index
|
||||||
return value
|
return value
|
||||||
}), function(event, item) { can.onimport.tabview(can, "", item.index, ctx.INDEX) }, function() {}, target, null, ctx.INDEX, nfs.PT), zone._total(msg.Length())
|
}), function(event, item, target) { can.onimport.tabview(can, "", item.index, ctx.INDEX, function(msg) {
|
||||||
|
msg._item = target
|
||||||
|
}) }, function() {}, target, null, ctx.INDEX, nfs.PT), zone._total(msg.Length())
|
||||||
}) }, zone.toggle(false)
|
}) }, zone.toggle(false)
|
||||||
},
|
},
|
||||||
plugin: function(can, target, zone, hash) { zone._delay_init = function() { var total = 0
|
plugin: function(can, target, zone, hash) { zone._delay_init = function() { var total = 0
|
||||||
can.onimport.tree(can, can.core.ItemKeys(can.onengine.plugin.meta, function(key) { if (key[0] != "_") {
|
can.onimport.tree(can, can.core.ItemKeys(can.onengine.plugin.meta, function(key) { if (key[0] != "_") {
|
||||||
return total++, {index: key, expand: hash[2] == ctx.INDEX && hash[1] == "can."+key}
|
return total++, {index: key, expand: hash[2] == ctx.INDEX && hash[1] == "can."+key}
|
||||||
} }),
|
} }), function(event, item, target) { can.onimport.tabview(can, "", can.core.Keys(ice.CAN, item.index), ctx.INDEX, function(msg) {
|
||||||
function(event, item) { can.onimport.tabview(can, "", can.core.Keys(ice.CAN, item.index), ctx.INDEX) }, function() {}, target, null, ctx.INDEX, nfs.PT), zone._total(total)
|
msg._item = target
|
||||||
|
}) }, function() {}, target, null, ctx.INDEX, nfs.PT), zone._total(total)
|
||||||
}, zone.toggle(false) },
|
}, zone.toggle(false) },
|
||||||
})
|
})
|
||||||
Volcanos(chat.ONSYNTAX, {
|
Volcanos(chat.ONSYNTAX, {
|
||||||
@ -488,11 +491,11 @@ Volcanos(chat.ONACTION, {
|
|||||||
case ssh.SHELL: return can.onimport.tabview(can, "", [web.CODE_XTERM, list[0].slice(6)].join(mdb.FS), ctx.INDEX)
|
case ssh.SHELL: return can.onimport.tabview(can, "", [web.CODE_XTERM, list[0].slice(6)].join(mdb.FS), ctx.INDEX)
|
||||||
case cli.OPENS: return can.runAction(event, ls[0], ls[1], null, true)
|
case cli.OPENS: return can.runAction(event, ls[0], ls[1], null, true)
|
||||||
default: var ls = can.onexport.split(can, list[0]); can.onimport.tabview(can, ls[0], ls[1])
|
default: var ls = can.onexport.split(can, list[0]); can.onimport.tabview(can, ls[0], ls[1])
|
||||||
} }); can.page.Modify(can, input._target, {className: "input vimer open float"})
|
} }); can.page.Modify(can, input._target, {className: "input inner open float"})
|
||||||
can.page.style(can, input._target, html.LEFT, left, html.TOP, can._output.offsetHeight/4, html.RIGHT, "")
|
can.page.style(can, input._target, html.LEFT, left, html.TOP, can._output.offsetHeight/4, html.RIGHT, "")
|
||||||
},
|
},
|
||||||
find: function(event, can) { var last = can.onexport.line(can, can.current.line)
|
find: function(event, can) { var last = can.onexport.line(can, can.current.line)
|
||||||
var ui = can.page.Append(can, can._output, [{view: "input vimer find float", list: [html.ACTION, html.OUTPUT],
|
var ui = can.page.Append(can, can._output, [{view: "input inner find float", list: [html.ACTION, html.OUTPUT],
|
||||||
style: {left: can.ui.project.offsetWidth+can._output.offsetWidth/4-34, top: can._output.offsetHeight/2-60}}]); can.onmotion.move(can, ui._target)
|
style: {left: can.ui.project.offsetWidth+can._output.offsetWidth/4-34, top: can._output.offsetHeight/2-60}}]); can.onmotion.move(can, ui._target)
|
||||||
function find(begin, text) { for (begin; begin <= can.ui.content._max; begin++) { if (can.onexport.text(can, can.onaction._getLine(can, begin)).indexOf(text) > -1) {
|
function find(begin, text) { for (begin; begin <= can.ui.content._max; begin++) { if (can.onexport.text(can, can.onaction._getLine(can, begin)).indexOf(text) > -1) {
|
||||||
return last = begin, can.onaction.selectLine(can, begin, true)
|
return last = begin, can.onaction.selectLine(can, begin, true)
|
||||||
|
@ -1,29 +1,23 @@
|
|||||||
fieldset.vimer>div.output>div.layout>div.layout>div.layout div.content { border-left:var(--box-border); border-top:var(--box-border); }
|
|
||||||
fieldset.vimer>div.output>div.layout>div.layout input.current { background-color:transparent; color:transparent; padding-left:var(--input-padding); height:var(--code-line-height); position:absolute; }
|
|
||||||
fieldset.vimer>div.output>div.layout>div.layout div.content div.complete { background-color:unset; padding-top:0; display:none; position:absolute; height:1px; overflow:visible; }
|
|
||||||
fieldset.vimer>div.output>div.layout>div.layout div.content div.complete div.prefix { color:transparent; white-space:pre; float:left; }
|
|
||||||
fieldset.vimer>div.output>div.layout>div.layout div.content div.complete table.content thead { display:none; }
|
|
||||||
fieldset.vimer>div.output>div.layout>div.layout div.content div.complete table.content td:first-child { padding-left:0; }
|
|
||||||
fieldset.vimer>div.output>div.layout>div.layout div.content div.complete table.content { padding-left:var(--input-padding); width:unset; max-width:600px; display:block; box-shadow:var(--plugin-box-shadow); }
|
|
||||||
fieldset.vimer>div.output>div.layout>div.layout div.content.insert div.complete:not(.hide) { display:block; top:unset; }
|
|
||||||
fieldset.vimer.plugin>div.output>div.layout>div.layout div.content.normal input.current { caret-color:var(--notice-bg-color); border:var(--box-notice); }
|
|
||||||
fieldset.vimer.plugin>div.output>div.layout>div.layout div.content.insert input.current { caret-color:var(--danger-bg-color); border:var(--box-danger); }
|
|
||||||
fieldset.vimer.plugin>div.output>div.layout>div.layout div.content.normal tr.line.select>td.line { background-color:var(--notice-bg-color); color:white; }
|
|
||||||
fieldset.vimer.plugin>div.output>div.layout>div.layout div.content.insert tr.line.select>td.line { background-color:var(--danger-bg-color); color:white; }
|
|
||||||
fieldset.vimer>div.output.normal>div.layout>div.tabs>div.tabs>div.tabs.select { border-top:var(--box-notice3); }
|
|
||||||
fieldset.vimer>div.output.insert>div.layout>div.tabs>div.tabs>div.tabs.select { border-top:var(--box-danger3); }
|
|
||||||
fieldset.vimer>div.output.normal>div.layout>div.path span.mode.normal { color:var(--notice-bg-color); }
|
|
||||||
fieldset.vimer>div.output.insert>div.layout>div.path span.mode.insert { color:var(--danger-bg-color); }
|
|
||||||
fieldset.vimer>div.output.normal>div.project div.item.current { background-color:var(--hover-bg-color); border-right:var(--box-notice3); }
|
|
||||||
fieldset.vimer>div.output.insert>div.project div.item.current { background-color:var(--hover-bg-color); border-right:var(--box-danger3); }
|
|
||||||
fieldset.vimer>div.output.normal>div.project div.expand.open { color:var(--notice-bg-color); }
|
|
||||||
fieldset.vimer>div.output.insert>div.project div.expand.open { color:var(--danger-bg-color); }
|
|
||||||
fieldset.vimer>div.output>div.project div.expand.open { color:unset; }
|
|
||||||
div.input.vimer.open.float input[type=text] { width:100% !important; }
|
|
||||||
|
|
||||||
fieldset.vimer>div.output.source>div.project div.item.select { border-right:var(--box-border3); }
|
fieldset.vimer>div.output.source>div.project div.item.select { border-right:var(--box-border3); }
|
||||||
fieldset.vimer>div.output.source.normal>div.project div.item.select { border-right:var(--box-notice3); }
|
|
||||||
fieldset.vimer>div.output.source.insert>div.project div.item.select { border-right:var(--box-danger3); }
|
|
||||||
fieldset.vimer>div.output.source>div.layout>div.tabs>div.tabs>div.tabs.select { border-top:var(--box-border3); }
|
fieldset.vimer>div.output.source>div.layout>div.tabs>div.tabs>div.tabs.select { border-top:var(--box-border3); }
|
||||||
|
fieldset.vimer>div.output.source.normal>div.project div.expand.open { color:var(--notice-bg-color); }
|
||||||
|
fieldset.vimer>div.output.source.normal>div.project div.item.select { border-right:var(--box-notice3); }
|
||||||
fieldset.vimer>div.output.source.normal>div.layout>div.tabs>div.tabs>div.tabs.select { border-top:var(--box-notice3); }
|
fieldset.vimer>div.output.source.normal>div.layout>div.tabs>div.tabs>div.tabs.select { border-top:var(--box-notice3); }
|
||||||
|
fieldset.vimer>div.output.source.normal>div.layout>div.path span.mode.normal { color:var(--notice-bg-color); }
|
||||||
|
fieldset.vimer>div.output.source.normal>div.layout>div.layout>div.content tr.line.select>td.line { background-color:var(--notice-bg-color); color:white; }
|
||||||
|
fieldset.vimer>div.output.source.normal>div.layout>div.layout>div.content input.current { border:var(--box-notice); caret-color:var(--notice-bg-color); }
|
||||||
|
fieldset.vimer>div.output.source.insert>div.project div.expand.open { color:var(--danger-bg-color); }
|
||||||
|
fieldset.vimer>div.output.source.insert>div.project div.item.select { border-right:var(--box-danger3); }
|
||||||
fieldset.vimer>div.output.source.insert>div.layout>div.tabs>div.tabs>div.tabs.select { border-top:var(--box-danger3); }
|
fieldset.vimer>div.output.source.insert>div.layout>div.tabs>div.tabs>div.tabs.select { border-top:var(--box-danger3); }
|
||||||
|
fieldset.vimer>div.output.source.insert>div.layout>div.path span.mode.insert { color:var(--danger-bg-color); }
|
||||||
|
fieldset.vimer>div.output.source.insert>div.layout>div.layout>div.content tr.line.select>td.line { background-color:var(--danger-bg-color); color:white; }
|
||||||
|
fieldset.vimer>div.output.source.insert>div.layout>div.layout>div.content input.current { border:var(--box-danger); caret-color:var(--danger-bg-color); }
|
||||||
|
fieldset.vimer>div.output.source.insert>div.layout>div.layout>div.content div.complete:not(.hide) { display:block; top:unset; }
|
||||||
|
fieldset.vimer>div.output.source>div.layout>div.layout input.current { background-color:transparent; color:transparent; padding-left:var(--input-padding); height:var(--code-line-height); position:absolute; }
|
||||||
|
fieldset.vimer>div.output.source>div.layout>div.layout>div.content div.complete { background-color:unset; padding-top:0; height:1px; overflow:visible; display:none; position:absolute; }
|
||||||
|
fieldset.vimer>div.output.source>div.layout>div.layout>div.content div.complete div.prefix { color:transparent; white-space:pre; float:left; }
|
||||||
|
fieldset.vimer>div.output.source>div.layout>div.layout>div.content div.complete table.content { box-shadow:var(--plugin-box-shadow); padding-left:var(--input-padding); width:unset; max-width:600px; display:block; }
|
||||||
|
fieldset.vimer>div.output.source>div.layout>div.layout>div.content div.complete table.content thead { display:none; }
|
||||||
|
fieldset.vimer>div.output.source>div.layout>div.layout>div.content div.complete table.content td:first-child { padding-left:0; }
|
||||||
|
fieldset.vimer>div.output>div.layout>div.tabs>div.tabs>div.tabs.origin.select { border-top:var(--box-danger3); }
|
||||||
|
div.input.vimer.open.float input[type=text] { width:100% !important; }
|
@ -11,7 +11,6 @@ Volcanos(chat.ONIMPORT, {
|
|||||||
if (can.db.mode == mdb.NORMAL) { can.onkeymap.prevent(event) }
|
if (can.db.mode == mdb.NORMAL) { can.onkeymap.prevent(event) }
|
||||||
}, onkeyup: function(event) { if (event.metaKey) { return }
|
}, onkeyup: function(event) { if (event.metaKey) { return }
|
||||||
can.onimport._value(can); can.onkeymap._complete(event, can)
|
can.onimport._value(can); can.onkeymap._complete(event, can)
|
||||||
}, onfocus: function(event) { can.current.line.appendChild(can.ui.complete)
|
|
||||||
}, onclick: function(event) { can.onkeymap._insert(event, can)
|
}, onclick: function(event) { can.onkeymap._insert(event, can)
|
||||||
}}, {view: [[code.COMPLETE]]},
|
}}, {view: [[code.COMPLETE]]},
|
||||||
]); can.ui.current = ui.current, can.ui.complete = ui.complete, can.onkeymap._plugin(can) },
|
]); can.ui.current = ui.current, can.ui.complete = ui.complete, can.onkeymap._plugin(can) },
|
||||||
@ -24,43 +23,32 @@ Volcanos(chat.ONFIGURE, {
|
|||||||
can.run({}, [ctx.ACTION, nfs.REPOS], function(msg) { var paths = can.db.paths
|
can.run({}, [ctx.ACTION, nfs.REPOS], function(msg) { var paths = can.db.paths
|
||||||
can.core.List(paths.concat(msg.Table(function(value) { return value.path })), function(p) {
|
can.core.List(paths.concat(msg.Table(function(value) { return value.path })), function(p) {
|
||||||
if (can.base.beginWith(p, nfs.USR_LOCAL_WORK) || can.base.isIn(p, nfs.USR_WEBSOCKET, nfs.USR_GO_QRCODE, nfs.USR_GO_GIT, nfs.USR_ICONS, nfs.USR_GEOAREA, nfs.USR_PROGRAM, nfs.USR_NODE_MODULES)) { return }
|
if (can.base.beginWith(p, nfs.USR_LOCAL_WORK) || can.base.isIn(p, nfs.USR_WEBSOCKET, nfs.USR_GO_QRCODE, nfs.USR_GO_GIT, nfs.USR_ICONS, nfs.USR_GEOAREA, nfs.USR_PROGRAM, nfs.USR_NODE_MODULES)) { return }
|
||||||
|
if (can.base.isIn(p, nfs.USR_LEARNING, nfs.USR_INTSHELL)) { return }
|
||||||
if (p && paths.indexOf(p) == -1 && p[0] != nfs.PS) { paths.push(p) }
|
if (p && paths.indexOf(p) == -1 && p[0] != nfs.PS) { paths.push(p) }
|
||||||
})
|
})
|
||||||
function show(target, zone, path) { can.run(can.request({}, {_method: http.GET, dir_root: path, dir_deep: true}, can.Option()), [nfs.PWD], function(msg) {
|
function show(target, zone, path) { can.run(can.request({}, {_method: http.GET, dir_root: path, dir_deep: true}, can.Option()), [nfs.PWD], function(msg) {
|
||||||
zone._icon(kit.Dict(
|
|
||||||
web.REFRESH, function(event) { show(target, zone, path) },
|
|
||||||
mdb.CREATE, function(event, button) { can.onaction.module(event, can, nfs.MODULE) },
|
|
||||||
)), zone._total(msg.Length())
|
|
||||||
var cache, list = can.core.List(msg.Table(), function(item) {
|
var cache, list = can.core.List(msg.Table(), function(item) {
|
||||||
if (path == nfs.SRC && can.base.isIn(item.path, "main.ico", "main.svg", "version.go", "binpack.go", "binpack_usr.go")) { return }
|
if (path == nfs.SRC && can.base.isIn(item.path, "main.ico", "main.svg", "version.go", "binpack.go", "binpack_usr.go")) { return }
|
||||||
if (path == nfs.USR_RELEASE && can.base.isIn(item.path, "conf.go", "binpack.go")) { return }
|
if (path == nfs.USR_RELEASE && can.base.isIn(item.path, "conf.go", "binpack.go")) { return }
|
||||||
if (path == args[0] && args[1].indexOf(item.path) == 0) { item.expand = true }
|
if (path == args[0] && args[1].indexOf(item.path) == 0) { item.expand = true }
|
||||||
item._init = function(target) { can.ui.zone.source[path+item.path] = target }
|
|
||||||
return item
|
return item
|
||||||
}); can.onmotion.clear(can, target)
|
}); can.onmotion.clear(can, target), zone._total(msg.Length())
|
||||||
cache = can.onimport.tree(can, list, function(event, item) {
|
cache = can.onimport.tree(can, list, function(event, item, target) {
|
||||||
can.base.endWith(item.path, nfs.PS) || can.onimport.tabview(can, path, item.path)
|
can.base.endWith(item.path, nfs.PS) || can.onimport.tabview(can, path, item.path, "", function(msg) { msg._item = target })
|
||||||
}, function(event, target, item) {
|
}, function(event, target, item) {
|
||||||
var msg = can.request(event); msg.Option(nfs.PATH, path), msg.Option(nfs.FILE, item.path)
|
var msg = can.request(event); msg.Option(nfs.PATH, path), msg.Option(nfs.FILE, item.path)
|
||||||
}, target, cache)
|
}, target, cache)
|
||||||
can.onmotion.delay(can, function() {
|
can.onmotion.delay(can, function() { hash.length > 1 && can.onimport.openzone(can, hash[0], hash[1], hash[2]) && can.onimport.tabview(can, hash[0], hash[1], hash[2]), hash = [] })
|
||||||
hash.length > 1 && can.onimport.openzone(can, hash[0], hash[1], hash[2]) && can.onimport.tabview(can, hash[0], hash[1], hash[2]), hash = []
|
can.onimport._zone_icon(can, msg, zone, function(event, button) { can.onaction._runs(event, can, button) })
|
||||||
})
|
|
||||||
}, true) } if (paths.length == 1) { return show(target, zone, paths[0]) } can.page.Remove(can, zone._action)
|
}, true) } if (paths.length == 1) { return show(target, zone, paths[0]) } can.page.Remove(can, zone._action)
|
||||||
can.onimport.zone(can, can.core.List(paths, function(path) {
|
can.onimport.zone(can, can.core.List(paths, function(path) {
|
||||||
return kit.Dict(mdb.NAME, path, path == args[0]? chat._INIT: chat._DELAY_INIT, function(target, zone) { show(target, zone, path) })
|
return kit.Dict(mdb.NAME, path, path == args[0]? chat._INIT: chat._DELAY_INIT, function(target, zone) { show(target, zone, path) })
|
||||||
}), target)
|
}), target)
|
||||||
})
|
})
|
||||||
},
|
},
|
||||||
space: function(can, target, zone, hash) { can.onimport._zone(can, zone, web.DREAM, function(sub, msg) {
|
space: function(can, target, zone, hash) { can.onimport._zone(can, zone, web.DREAM, mdb.NAME, hash), zone.toggle(false) },
|
||||||
sub.onimport._open = function(_, msg, arg) { can.onimport.tabview(can, "", arg, web.SPACE) }
|
|
||||||
sub.onexport.record = function(sub, value, key) { can.onimport.tabview(can, "", value, web.SPACE) }
|
|
||||||
can.page.Select(can, can._output, "div.item>span.name", function(target) { can.ui.zone.space[target.innerText] = target.parentNode
|
|
||||||
if (target.innerText == hash[1] && hash[2] == web.SPACE) { target.parentNode.click() }
|
|
||||||
})
|
|
||||||
}), zone.toggle(false) },
|
|
||||||
})
|
})
|
||||||
Volcanos(chat.ONACTION, {
|
Volcanos(chat.ONACTION, {_trans: {input: {main: "程序", top: "顶域"}},
|
||||||
_run: function(event, can, button, args, cb) { can.runAction(event, button, args, cb||function(msg) {
|
_run: function(event, can, button, args, cb) { can.runAction(event, button, args, cb||function(msg) {
|
||||||
can.onmotion.delay(can, function() { can.onimport.tabview(can, msg.Option(nfs.PATH), msg.Option(nfs.FILE)) }, 300)
|
can.onmotion.delay(can, function() { can.onimport.tabview(can, msg.Option(nfs.PATH), msg.Option(nfs.FILE)) }, 300)
|
||||||
can.ui.zone.source.refresh()
|
can.ui.zone.source.refresh()
|
||||||
@ -107,19 +95,6 @@ Volcanos(chat.ONACTION, {
|
|||||||
}) },
|
}) },
|
||||||
"扩展": function(event, can) { can.user.input(can.request(event, {action: "extension"}), can, ["url"], function(list) { var sub = can.db.toolkit[list[0]]; sub? sub.select(): can.onimport.exts(can, list[0]) }) },
|
"扩展": function(event, can) { can.user.input(can.request(event, {action: "extension"}), can, ["url"], function(list) { var sub = can.db.toolkit[list[0]]; sub? sub.select(): can.onimport.exts(can, list[0]) }) },
|
||||||
|
|
||||||
"创建": function(event, can) { can.onaction.module(event, can, nfs.MODULE) },
|
|
||||||
"编译": function(event, can) { can.onaction.compile(event, can, code.COMPILE) },
|
|
||||||
"审批": function(event, can) { can.onimport.tabview(can, "", aaa.APPLY, ctx.INDEX) },
|
|
||||||
"矩阵": function(event, can) { can.onimport.tabview(can, "", web.MATRIX, ctx.INDEX) },
|
|
||||||
"聊天": function(event, can) { can.onimport.tabview(can, "", web.CHAT_MESSAGE, ctx.INDEX) },
|
|
||||||
"源码": function(event, can) { can.onimport.tabview(can, "", web.CODE_GIT_STATUS, 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.WIKI_WORD, ctx.INDEX) },
|
|
||||||
"后台": 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, "", can.misc.MergePodCmd(can, {cmd: web.PORTAL}), web.SPACE) },
|
|
||||||
|
|
||||||
insertLine: function(can, value, before) { var line = can.onaction.appendLine(can, value); before && can.ui.content.insertBefore(line, can.onaction._getLine(can, before)); return can.onaction.rerankLine(can), can.onexport.line(can, line) },
|
insertLine: function(can, value, before) { var line = can.onaction.appendLine(can, value); before && can.ui.content.insertBefore(line, can.onaction._getLine(can, before)); return can.onaction.rerankLine(can), can.onexport.line(can, line) },
|
||||||
deleteLine: function(can, line) { line = can.onaction._getLine(can, line); var next = line.nextSibling||line.previousSibling; return can.page.Remove(can, line), can.onaction.rerankLine(can), next },
|
deleteLine: function(can, line) { line = can.onaction._getLine(can, line); var next = line.nextSibling||line.previousSibling; return can.page.Remove(can, line), can.onaction.rerankLine(can), next },
|
||||||
_selectLine: function(can) { can.current && can.page.Select(can, can.current.line, "td.text", function(td) { var target = can.ui.current; if (!target) { return }
|
_selectLine: function(can) { can.current && can.page.Select(can, can.current.line, "td.text", function(td) { var target = can.ui.current; if (!target) { return }
|
||||||
@ -134,23 +109,18 @@ Volcanos(chat.ONEXPORT, {
|
|||||||
hash: function(can) { return can.misc.SearchHash(can, can.Option(nfs.PATH), can.Option(nfs.FILE), can.Option(nfs.LINE)) },
|
hash: function(can) { return can.misc.SearchHash(can, can.Option(nfs.PATH), can.Option(nfs.FILE), can.Option(nfs.LINE)) },
|
||||||
})
|
})
|
||||||
Volcanos(chat.ONKEYMAP, {
|
Volcanos(chat.ONKEYMAP, {
|
||||||
scrollHold: function(can, count, begin) {
|
scrollHold: function(can, count, begin) { var top = can.ui.content.scrollTop, left = can.ui.content.scrollLeft
|
||||||
var top = can.ui.content.scrollTop, left = can.ui.content.scrollLeft
|
|
||||||
can.ui.current.focus(), count != undefined && can.onkeymap.cursorMove(can.ui.current, count, begin == undefined? count: begin)
|
can.ui.current.focus(), count != undefined && can.onkeymap.cursorMove(can.ui.current, count, begin == undefined? count: begin)
|
||||||
can.ui.content.scrollTop = top, can.ui.content.scrollLeft = left
|
can.ui.content.scrollTop = top, can.ui.content.scrollLeft = left
|
||||||
},
|
},
|
||||||
cursorDown: function(can, target) {
|
cursorDown: function(can, target) { if (!can.current.next()) { return }
|
||||||
if (!can.current.next()) { return }
|
|
||||||
var p = can.onkeymap.cursorMove(target); can.onaction.selectLine(can, can.current.next()), can.onkeymap.cursorMove(target, 0, p)
|
var p = can.onkeymap.cursorMove(target); can.onaction.selectLine(can, can.current.next()), can.onkeymap.cursorMove(target, 0, p)
|
||||||
},
|
},
|
||||||
cursorUp: function(can, target) {
|
cursorUp: function(can, target) { if (!can.current.prev()) { return }
|
||||||
if (!can.current.prev()) { return }
|
var p = can.onkeymap.cursorMove(target); can.onaction.selectLine(can, can.current.prev()), can.onkeymap.cursorMove(target, 0, p)
|
||||||
var p = can.onkeymap.cursorMove(target); can.onaction.selectLine(can, can.current.prev()), can.onkeymap.cursorMove(target, 0, p) },
|
},
|
||||||
_model: function(can, value) { can.db.mode = value, can.onimport.__tabPath(can, true),
|
_model: function(can, value) { can.db.mode = value, can.onimport.__tabPath(can, true), can.onmotion.toggle(can, can.ui.complete, false)
|
||||||
can.onmotion.toggle(can, can.ui.complete, false)
|
can.core.List([mdb.NORMAL, mdb.INSERT], function(item) { can.page.ClassList.del(can, can._output, item) }), can.page.ClassList.add(can, can._output, value)
|
||||||
can.core.List([mdb.PLUGIN, mdb.NORMAL, mdb.INSERT], function(item) { can.page.ClassList.del(can, can.ui.content, item) }), can.page.ClassList.add(can, can.ui.content, value)
|
|
||||||
can.core.List([mdb.PLUGIN, mdb.NORMAL, mdb.INSERT], function(item) { can.page.ClassList.del(can, can._output, item) }), can.page.ClassList.add(can, can._output, value)
|
|
||||||
can.core.List([mdb.NORMAL, mdb.INSERT], function(item) { can.page.ClassList.del(can, can._fields, item) }), can.page.ClassList.add(can, can._fields, value)
|
|
||||||
},
|
},
|
||||||
_plugin: function(can) { can.onkeymap._model(can, mdb.PLUGIN), can.ui.current.blur() },
|
_plugin: function(can) { can.onkeymap._model(can, mdb.PLUGIN), can.ui.current.blur() },
|
||||||
_normal: function(can) { can.onkeymap._model(can, mdb.NORMAL), can.onkeymap.scrollHold(can) },
|
_normal: function(can) { can.onkeymap._model(can, mdb.NORMAL), can.onkeymap.scrollHold(can) },
|
||||||
|
@ -28,34 +28,44 @@ Volcanos(chat.ONIMPORT, {_init: function(can, msg, target, cb) {
|
|||||||
cb && cb(target, value)
|
cb && cb(target, value)
|
||||||
}, onclick: function(event) { can.sup.onexport.record(can.sup, value.name, mdb.NAME, value) }}])._target
|
}, onclick: function(event) { can.sup.onexport.record(can.sup, value.name, mdb.NAME, value) }}])._target
|
||||||
}) },
|
}) },
|
||||||
_icon: function(can, name, button, target) { can.page.Append(can, target, [{text: [can.page.unicode[name]||name, html.SPAN, [html.ICON, name]], onclick: function(event) {
|
_icon: function(can, name, button, target) {
|
||||||
can.base.isFunc(button)? button(event, button): can.onaction[button](event, can, button), can.onkeymap.prevent(event)
|
var _icon = can.page.icons(can, name) || (can.page.unicode[name] && {text: [can.page.unicode[name]||name, html.SPAN, [html.ICON, name]]})
|
||||||
}}]) },
|
if (!_icon) { return }
|
||||||
_vimer_zone: function(can, msg, target) { msg.Table(function(value) { var action = can.page.parseAction(can, value)
|
_icon.onclick = function(event) { can.base.isFunc(button)? button(event, button): can.onaction[button](event, can, button), can.onkeymap.prevent(event) }
|
||||||
can.onimport.item(can, {type: value.type, status: value.status,
|
can.page.Append(can, target, [_icon])
|
||||||
icon: can.misc.Resource(can, value.icon||value.icons||value.avatar_url),
|
},
|
||||||
name: can.page.Color(value[can.Conf(mdb.FIELD)||mdb.VIEW]||value[mdb.NAME]||value[mdb.TEXT]||value[mdb.TYPE]),
|
_vimer_zone: function(can, msg, target) { msg.Table(function(value) { value._select = value.name == can.Conf("_select")
|
||||||
title: value[mdb.TEXT]||value.description,
|
can.onimport.item(can, value, function(event) { can.sup.onexport.record(can, value.name, mdb.NAME, value, event, event.currentTarget||event.target) })
|
||||||
}, function(event) {
|
|
||||||
can.sup.onexport.record(can, value.name, mdb.NAME, value, event)
|
|
||||||
}, function() { return shy(action, function(event, button, meta, carte) { can.misc.Event(event, can, function(msg) { carte.close()
|
|
||||||
can.sup.onexport.action(can, button, value) || can.run(event, [ctx.ACTION, button], function(msg) { can.sup.onimport._process(can.sup, msg) || can.Update() })
|
|
||||||
}, value) }) })
|
|
||||||
}) },
|
}) },
|
||||||
_zone: function(can, zone, index, cb, field) { zone._delay_init = function() { can.onimport.plug(can, can.base.isObject(index)? index: {index: index, style: html.OUTPUT, mode: mdb.ZONE, field: field}, function(sub) {
|
_zone_icon: function(can, msg, zone, cb) {
|
||||||
sub.run = function(event, cmds, cb) { can.runActionCommand(can.request(event, {mode: mdb.ZONE}), index.index||index, cmds, cb) }
|
var action = can.core.List(can.Conf(ctx.INPUTS), function(item) { if (item.type == html.BUTTON && [ice.LIST, ice.BACK].indexOf(item.name) == -1) { return item.name } })
|
||||||
zone._icon(kit.Dict(
|
var _menu = shy({}, action.concat(can.base.Obj(msg.Option(ice.MSG_ACTION), [])), function(event, button, meta, carte) {
|
||||||
web.REFRESH, function(event) { sub.Update(event) },
|
cb? cb(event, button): can.Update(event, [ctx.ACTION, button]), carte.close() })
|
||||||
mdb.CREATE, function(event) { sub.Update(event, [ctx.ACTION, mdb.CREATE]) },
|
if (_menu.list.length == 0) {
|
||||||
"=", function() { can.onimport.tabview(can, "", [sub.ConfIndex()].concat(sub.Conf(ctx.ARGS)).join(","), ctx.INDEX) },
|
zone._icon(kit.Dict(web.REFRESH, function(event) { zone.refresh() }))
|
||||||
))
|
return
|
||||||
var action = can.core.List(sub.Conf(ctx.INPUTS), function(item) { if (item.type == html.BUTTON && [ice.LIST, ice.BACK].indexOf(item.name) == -1) { return item.name } })
|
}
|
||||||
sub.onexport.output = function(_sub, msg) {
|
zone._icon(kit.Dict(web.REFRESH, function(event) { zone.refresh() }, "menu", function() { can.user.carte(event, can, _menu.meta, _menu.list, _menu) }))
|
||||||
zone._menu = shy({_trans: sub._trans}, action.concat(can.base.Obj(msg.Option(ice.MSG_ACTION), [])), function(event, button, meta, carte) {
|
},
|
||||||
sub.Update(event, [ctx.ACTION, button]), carte.close()
|
_zone: function(can, zone, index, field, hash) { zone._delay_init = function() { can.onimport.plug(can, can.base.isObject(index)? index: {
|
||||||
}), zone._total(msg.Length()), cb(sub, msg)
|
index: index, style: html.OUTPUT, mode: mdb.ZONE, field: field, _select: hash[2] == zone.name? hash[1]: "",
|
||||||
can.page.style(can, sub._output, html.MAX_HEIGHT, "", html.HEIGHT, ""), can.user.toastSuccess(can)
|
}, function(sub) { sub.run = function(event, cmds, cb) { can.runActionCommand(can.request(event, {mode: mdb.ZONE}), index.index||index, cmds, cb) }
|
||||||
|
sub.onexport.output = function(_sub, msg) { can.onimport._zone_icon(sub, msg, zone), zone._total(msg.Length())
|
||||||
|
sub.onimport.size(sub, zone._target.offsetHeight, zone._target.offsetWidth, false), can.page.style(can, sub._output, html.MAX_HEIGHT, "", html.HEIGHT, "")
|
||||||
|
can.user.toastSuccess(can)
|
||||||
}, can.ui.zone[zone.name].refresh = function() { sub.Update() }
|
}, can.ui.zone[zone.name].refresh = function() { sub.Update() }
|
||||||
|
sub.onimport._field = function(msg) {
|
||||||
|
msg.Table(function(value) { var pod = msg.Option(ice.MSG_USERPOD), cmd = value._command||value.index, args = can.base.Obj(value.args, [])
|
||||||
|
can.onimport.tabview(can, "", cmd == chat.IFRAME && args.length > 0? args[0]: "/s/"+pod+"/c/"+cmd, web.SPACE, function(msg) {
|
||||||
|
can.page.SelectOne(can, msg._tab, html.SPAN, function(target) { can.page.Modify(can, target, value.title||can.core.Keys(pod, cmd)) })
|
||||||
|
})
|
||||||
|
})
|
||||||
|
}
|
||||||
|
sub.onimport._open = function(msg, arg) { can.onimport.tabview(can, "", arg, web.SPACE, function(msg) {}) }
|
||||||
|
sub.onexport.record = function(sub, value, key, item, event, target) { can.onimport.tabview(can, "", value, zone.name, function(msg) {
|
||||||
|
can.onappend.style(can, [item.type, item.status], msg._tab)
|
||||||
|
msg._item = target
|
||||||
|
}) }
|
||||||
}, zone._target) } },
|
}, zone._target) } },
|
||||||
zone: function(can, list, target) { target = target||can.ui.project
|
zone: function(can, list, target) { target = target||can.ui.project
|
||||||
return can.page.Append(can, target, can.core.List(list, function(zone) { can.base.isString(zone) && (zone = {name: zone}); if (!zone) { return }
|
return can.page.Append(can, target, can.core.List(list, function(zone) { can.base.isString(zone) && (zone = {name: zone}); if (!zone) { return }
|
||||||
@ -171,8 +181,7 @@ Volcanos(chat.ONIMPORT, {_init: function(can, msg, target, cb) {
|
|||||||
}
|
}
|
||||||
return {view: [[html.TABS, tabs.type, tabs.role, tabs.status]], title: tabs.title||tabs.text, list: [
|
return {view: [[html.TABS, tabs.type, tabs.role, tabs.status]], title: tabs.title||tabs.text, list: [
|
||||||
can.onimport._icons(can, tabs), can.onimport._nick(can, tabs), {icon: mdb.DELETE, onclick: function(event) { tabs._target._close(), can.onkeymap.prevent(event) }},
|
can.onimport._icons(can, tabs), can.onimport._nick(can, tabs), {icon: mdb.DELETE, onclick: function(event) { tabs._target._close(), can.onkeymap.prevent(event) }},
|
||||||
], onclick: function(event) {
|
], onclick: function(event) { can.onmotion.scrollIntoView(can, tabs._target)
|
||||||
can.isCmdMode() && event.currentTarget.scrollIntoView()
|
|
||||||
if (can.page.ClassList.has(can, tabs._target, html.SELECT)) { return }
|
if (can.page.ClassList.has(can, tabs._target, html.SELECT)) { return }
|
||||||
can.onmotion.select(can, action, html.DIV_TABS, tabs._target), can.base.isFunc(cb) && cb(event, tabs)
|
can.onmotion.select(can, action, html.DIV_TABS, tabs._target), can.base.isFunc(cb) && cb(event, tabs)
|
||||||
}, oncontextmenu: function(event) { var target = tabs._target, _action = can.page.parseAction(can, tabs)
|
}, oncontextmenu: function(event) { var target = tabs._target, _action = can.page.parseAction(can, tabs)
|
||||||
@ -182,7 +191,7 @@ Volcanos(chat.ONIMPORT, {_init: function(can, msg, target, cb) {
|
|||||||
"Close Other", function(event) { target.click(), can.page.SelectChild(can, action, html.DIV_TABS, function(target) { target == tabs._target || target._close() }) },
|
"Close Other", function(event) { target.click(), can.page.SelectChild(can, action, html.DIV_TABS, function(target) { target == tabs._target || target._close() }) },
|
||||||
"Rename Tabs", function(event) { can.user.input(event, can, [mdb.NAME], function(list) {
|
"Rename Tabs", function(event) { can.user.input(event, can, [mdb.NAME], function(list) {
|
||||||
can.page.SelectOne(can, target, html.SPAN, function(target) { can.page.Modify(can, target, list[0]||tabs.name) })
|
can.page.SelectOne(can, target, html.SPAN, function(target) { can.page.Modify(can, target, list[0]||tabs.name) })
|
||||||
can.onexport.tabs && can.onexport.tabs(can)
|
// can.onexport.tabs && can.onexport.tabs(can)
|
||||||
}) }, menu.meta,
|
}) }, menu.meta,
|
||||||
), ["Close", "Close Other", "Rename Tabs", ""].concat(can.base.getValid(menu.list, can.core.Item(menu.meta)), _action), function(event, button, meta) {
|
), ["Close", "Close Other", "Rename Tabs", ""].concat(can.base.getValid(menu.list, can.core.Item(menu.meta)), _action), function(event, button, meta) {
|
||||||
(meta[button]||menu)(can.request(event, tabs), button, meta)
|
(meta[button]||menu)(can.request(event, tabs), button, meta)
|
||||||
|
Loading…
x
Reference in New Issue
Block a user