mirror of
https://shylinux.com/x/volcanos
synced 2025-04-25 16:58:06 +08:00
add some
This commit is contained in:
parent
f3a6de8624
commit
66ef36e047
16
frame.js
16
frame.js
@ -368,9 +368,12 @@ Volcanos(chat.ONAPPEND, {_init: function(can, meta, list, cb, target, field) {
|
||||
input.onkeyup = item.onkeyup||function(event) { if (item.name == html.FILTER) { can.user.toast(can, "filter out "+can.page.Select(can, can._output, html.TR, function(tr, index) {
|
||||
if (!can.page.ClassList.set(can, tr, html.HIDE, index > 0 && tr.innerText.indexOf(event.target.value) == -1)) { return tr }
|
||||
}).length+" lines") } }
|
||||
icon.push({icon: mdb.DELETE, onclick: function(event) { _input.value = "", item.name == html.FILTER && can.page.Select(can, can._output, html.TR, function(tr) { can.page.ClassList.del(can, tr, html.HIDE) }) }})
|
||||
icon.push({icon: mdb.DELETE, onclick: function(event) {
|
||||
_input.value = "", input.onkeyup({target: event.target.previousSibling})
|
||||
// , item.name == html.FILTER && can.page.Select(can, can._output, html.TR, function(tr) { can.page.ClassList.del(can, tr, html.HIDE) })
|
||||
}})
|
||||
} if (item.range) { input._init = function(target) { can.onappend.figure(can, item, target, function(sub, value, old) { target.value = value, can.core.CallFunc([can.onaction, item.name], [event, can, item.name]) }) } }
|
||||
var _input = can.page.Append(can, target, [{view: [[html.ITEM].concat(style, [item.type, item.name])], list: [{icon: item.icon}, input].concat(icon), _init: function(target, _input) {
|
||||
var _input = can.page.Append(can, target, [{view: [[html.ITEM].concat(style, [item.type, item.name])], list: [item.icon && {icon: item.icon}, input].concat(icon), _init: function(target, _input) {
|
||||
if (item.type == html.SELECT) { _input.select.value = value||_item.value||_item.values[0], can.onappend.select(can, _input.select, _item) }
|
||||
item.style && can.onappend.style(can, item.style, target)
|
||||
}}])[item.name]; return _input
|
||||
@ -463,7 +466,7 @@ Volcanos(chat.ONAPPEND, {_init: function(can, meta, list, cb, target, field) {
|
||||
can.page.style(can, target, html.HEIGHT, h, html.WIDTH, w), width -= w
|
||||
}
|
||||
}), can.core.List(list, function(item) { if (can.base.isArray(item)) { layout(type == FLOW? FLEX: FLOW, item, height, width) } }) }
|
||||
ui.filter = can.onappend.input(can, {type: html.TEXT, name: web.FILTER, placeholder: "search in n items", onkeyup: function(event) {
|
||||
ui.filter = can.onappend.input(can, {type: html.TEXT, name: web.FILTER, placeholder: "search in n items", onkeydown: function() {}, onkeyup: function(event) {
|
||||
can.page.Select(can, ui.project, html.DIV_ITEM, function(target) {
|
||||
can.onmotion.toggle(can, target, target.innerText.indexOf(event.target.value) > -1 || target == ui.filter.parentNode)
|
||||
})
|
||||
@ -843,8 +846,11 @@ Volcanos(chat.ONKEYMAP, {_init: function(can, target) { target = target||documen
|
||||
},
|
||||
selectOutput: function(event, can) { if (!event.ctrlKey || event.key < "0" || event.key > "9") { return }
|
||||
event.key == "0"? can.onimport._back(can): can.page.Select(can, can._output, html.TR, function(tr, index) { if (index == event.key) {
|
||||
var head = can.page.Select(can, can._output, html.TH, function(th, order) { return th.innerText })
|
||||
can.page.Select(can, tr, html.TD, function(td, index) { can.Option(head[index], td.innerText) }), can.Update(event)
|
||||
var head = can.page.Select(can, can._output, html.TH, function(th, order) { return th.innerText }), data = {}
|
||||
can.page.Select(can, tr, html.TD, function(td, index) { data[head[index]] = td.innerText
|
||||
can.Option(head[index], td.innerText)
|
||||
})
|
||||
can.onexport.record(can, "", "", data) || can.Update(event)
|
||||
} })
|
||||
},
|
||||
})
|
||||
|
53
index.css
53
index.css
@ -6,11 +6,13 @@ body {
|
||||
--disable-fg-color:gray;
|
||||
|
||||
--code-bg-color:black; --code-fg-color:silver; --code-border-color:blue;
|
||||
--code-comment:darkgray; --code-keyword:darkblue; --code-package:blue;
|
||||
--code-comment:green; --code-keyword:darkblue; --code-package:blue;
|
||||
--code-datatype:cornflowerblue; --code-function:darkcyan;
|
||||
--code-constant:gray; --code-string:brown; --code-object:purple;
|
||||
|
||||
--svg-stroke-width:2;
|
||||
--box-border:var(--plugin-border-color) solid 1px;
|
||||
--box-shadow:var(--body-fg-color) 3px 3px 10px;
|
||||
}
|
||||
/* element */
|
||||
* { tab-size:4; box-sizing:border-box; padding:0; border:0; margin:0; }
|
||||
@ -28,28 +30,34 @@ input[name=cmd] { background-color:var(--code-bg-color); color:var(--code-fg-col
|
||||
div.item.text.cmd { color:var(--code-fg-color); }
|
||||
table.content.full { width:100%; }
|
||||
table.content thead { position:sticky; top:2px; }
|
||||
table.content th { padding:2px 5px; }
|
||||
table.content td { padding:2px 5px; }
|
||||
table.content.action th:last-child { position:sticky; right:2px; }
|
||||
table.content.action td:last-child { position:sticky; right:2px; }
|
||||
table.content th { padding:5px; box-shadow: var(--box-shadow); }
|
||||
table.content td { padding:5px; }
|
||||
table.content.action th:last-child { position:sticky; right:2px; box-shadow: var(--box-shadow); }
|
||||
table.content.action td:last-child { position:sticky; right:2px; box-shadow: var(--box-shadow); }
|
||||
table.content col.time { width:180px; }
|
||||
// table.content col.option { cursor:pointer; }
|
||||
table.content col.action { width:180px; }
|
||||
h1 { text-align:center; margin:20px 0; } h2 { margin:20px 0; } h3 { margin:20px 0; }
|
||||
hr, td.hr { border-bottom:var(--plugin-border-color) dashed 1px; margin:5px; }
|
||||
ul { padding-left:20px; margin:20px 0; }
|
||||
ol, ul { margin-left:40px; }
|
||||
p { margin:20px 0; }
|
||||
a { color:var(--body-fg-color); }
|
||||
kbd { padding:0 5px; }
|
||||
img { margin-bottom:-8px; }
|
||||
/* fieldset */
|
||||
fieldset>legend { margin-right:10px; }
|
||||
fieldset>legend { margin-right:10px; box-shadow:var(--box-shadow); }
|
||||
fieldset>form.option>div.item:not(.icon) { box-shadow:var(--box-shadow); }
|
||||
fieldset>form.option>div.item.button { border-radius:5px; }
|
||||
fieldset>form.option>div.cmd { width:100%; }
|
||||
fieldset>form.option>div.textarea { width:100%; }
|
||||
fieldset>form.option>div.item:not(.icon) { margin-right:10px; }
|
||||
fieldset>form.option>div.item.select>input { min-width:80px; }
|
||||
fieldset>form.option>div.item.select { border-radius:5px; }
|
||||
fieldset>div.action>div.item.select { border-radius:5px; }
|
||||
fieldset>div.action>div.item { margin-right:10px; }
|
||||
fieldset>div.action>div.item.button { border-radius:5px; }
|
||||
fieldset>div.action>div.item { margin-right:10px; box-shadow:var(--box-shadow); }
|
||||
fieldset>div.output { width:100%; }
|
||||
fieldset>div.output table.content input { margin-right:10px; box-shadow:var(--box-shadow); }
|
||||
fieldset>div.status { width:100%; }
|
||||
fieldset.cmd>div.status { height:31px; }
|
||||
fieldset.input>legend { display:none; }
|
||||
@ -71,7 +79,7 @@ fieldset.input.date>div.output td span.lunar.term { color:green; }
|
||||
fieldset.input.date>div.output td span.lunar.fest { color:red; }
|
||||
fieldset.input.date>div.status { text-align:center; }
|
||||
/* float */
|
||||
body div.float { padding:5px; }
|
||||
body div.float { padding:5px; box-shadow:var(--box-shadow); }
|
||||
body>div.toast div.title { color:var(--notice-fg-color); float:left; }
|
||||
body>div.toast div.duration { color:gray; float:right; }
|
||||
body>div.toast div.content { color:var(--notice-fg-color); text-align:center; }
|
||||
@ -174,6 +182,7 @@ svg g[fill] rect { fill:unset; }
|
||||
div.project div.list { margin-left:10px; clear:both; }
|
||||
div.project div.item { padding:2px 10px; }
|
||||
div.project div.item.filter { padding:0; }
|
||||
div.project div.item.filter input { width:100%; }
|
||||
div.project div.item>div.name { padding-left:15px; }
|
||||
div.project div.expand { float:left; transition:all .3s; }
|
||||
div.project div.expand.open { rotate:90deg; translate:1px 2px; transition:all .3s; }
|
||||
@ -181,17 +190,17 @@ div.project div.zone>div.item { text-align:center; padding:3px; }
|
||||
div.project div.zone>div.item>div.icon { margin-left:3px; float:right; }
|
||||
div.project div.zone>div.list>div.zone>div.item { text-align:left; padding-left:20px; }
|
||||
div.project div.zone>div.list>div.zone>div.item:hover { margin-left:10px; transition:all 0.3s; }
|
||||
fieldset>div.output div.project { border-right:var(--plugin-border-color) solid 1px; width:230px; }
|
||||
fieldset>div.output div.profile { border-left:var(--plugin-border-color) solid 1px; max-width:320px; }
|
||||
fieldset>div.output div.display { border-top:var(--plugin-border-color) solid 1px; }
|
||||
fieldset>div.output div.project { border-right:var(--box-border); width:230px; }
|
||||
fieldset>div.output div.profile { border-left:var(--box-border); max-width:320px; }
|
||||
fieldset>div.output div.display { border-top:var(--box-border); }
|
||||
/* table card */
|
||||
div.output.card>div.item.stop { color:var(--disable-fg-color); }
|
||||
div.output.card>div.item { padding:10px; border:#e7e7e7 solid 1px; margin:10px; width:320px; float:left; }
|
||||
div.output.card>div.item>div.title { font-size:1.2rem; font-weight:bold; padding:10px; border-bottom:solid 1px #e7e7e7; }
|
||||
div.output.card>div.item { padding:10px; border:var(--box-border); margin:10px; width:320px; float:left; box-shadow:var(--box-shadow); }
|
||||
div.output.card>div.item>div.title { font-size:1.2rem; font-weight:bold; padding:10px; border-bottom:var(--box-border); }
|
||||
div.output.card>div.item>div.content { padding:10px; height:70px; }
|
||||
div.output.card>div.item>div.action { text-align:right; width:100%; display:flex; }
|
||||
div.output.card>div.item:not(:hover)>div.action { visibility:hidden; }
|
||||
div.output.card>div.item>div.action>input { margin-right:5px; }
|
||||
div.output.card>div.item>div.action>input { margin-right:5px; box-shadow:var(--box-shadow); }
|
||||
/* display */
|
||||
fieldset.panel>legend { display:none; }
|
||||
fieldset.panel>div.status { display:none; }
|
||||
@ -206,14 +215,14 @@ legend, form.option, form.option>div.item, div.action, div.action>div.item, div.
|
||||
fieldset.story, div.output, fieldset>div.status, div.project div.item, div.content:not(.item), div.code, div.story[data-type=spark] { clear:both; }
|
||||
div.output { position:relative; } div.layout.flex>* { float:left; clear:none; }
|
||||
div.output.flex { display:flex; }
|
||||
fieldset.auto, fieldset.full, fieldset.float, div.float { position:fixed; z-index:100; }
|
||||
fieldset.auto, fieldset.full, fieldset.float, div.float { position:fixed; z-index:100; box-shadow:var(--box-shadow); }
|
||||
fieldset.plug { position:absolute; bottom:0; right:0; }
|
||||
fieldset.full { position:fixed; left:0; top:0; }
|
||||
fieldset>div.output>div.code { position:sticky; left:0; }
|
||||
legend, select, input[type=button], th, table.content td, h1, h2, h3, div.item, div.tabs { cursor:pointer; }
|
||||
div.story[data-type=spark] { cursor:copy; }
|
||||
fieldset>div.status>legend { margin-left:2px; margin-right:0; float:right; clear:none; }
|
||||
fieldset>div.status>legend:not(:hover):not(.select) { background-color:unset; }
|
||||
fieldset>div.status>legend { margin-right:10px; float:right; clear:none; }
|
||||
fieldset>div.status>legend:not(:hover):not(.select) { background-color:unset; box-shadow: var(--box-shadow); }
|
||||
/* hover */
|
||||
input:hover[type=button][name=create] { background-color:var(--create-bg-color); color:var(--create-fg-color); }
|
||||
input:hover[type=button][name=insert] { background-color:var(--create-bg-color); color:var(--create-fg-color); }
|
||||
@ -258,7 +267,7 @@ fieldset>div.output { background-color:var(--output-bg-color); }
|
||||
fieldset>div.status { border-top:var(--status-border); }
|
||||
fieldset:not(.panel):not(.cmd) { background-color:var(--plugin-bg-color); color:var(--plugin-fg-color); }
|
||||
fieldset:not(.panel) { background-color:var(--plugin-bg-color); color:var(--plugin-fg-color); }
|
||||
fieldset:not(.panel):not(.full):not(.cmd) { border-radius:var(--plugin-radius); }
|
||||
fieldset:not(.panel):not(.full):not(.cmd) { border-radius:var(--plugin-radius); box-shadow:var(--box-shadow); }
|
||||
fieldset.panel:not(.main) { background-color:var(--panel-bg-color); color:var(--panel-fg-color); }
|
||||
fieldset.panel:not(.main)>div.output { background-color:var(--panel-output-bg-color); color:var(--panel-output-fg-color); }
|
||||
fieldset.input div.output { background-color:var(--plugin-bg-color); }
|
||||
@ -309,7 +318,7 @@ body.print fieldset.draw div.output div.content svg { background-color:lightgray
|
||||
/* misc */
|
||||
fieldset.Search div.story[data-type=spark] { margin:0; }
|
||||
fieldset.Search>div.output>div.profile { border-left:none; }
|
||||
fieldset.Action>div.output>fieldset.plugin:not(.output):not(.float):not(.full):not(.cmd) { padding:10px; margin:10px; }
|
||||
fieldset.Action>div.output>fieldset.plugin:not(.output):not(.float):not(.full):not(.cmd) { padding:10px; margin:10px; box-shadow:var(--box-shadow); }
|
||||
fieldset.Action>div.output>fieldset.plugin:not(.float):not(.full):not(.cmd)>legend { float:none; }
|
||||
fieldset.cmd>div.item.time { line-height:22px; padding:5px 10px; float:right; }
|
||||
fieldset.cmd>div.item.avatar { padding:0; height:32px; float:right; }
|
||||
@ -322,8 +331,8 @@ fieldset.inner.float>div.status { display:none; }
|
||||
fieldset.qrcode>div.output div.code { padding:0; }
|
||||
fieldset.xterm>div.action>div.tabs:only-child { display:none; }
|
||||
fieldset.xterm>div.layout { clear:both; }
|
||||
fieldset.xterm div.layout div.output { border-left:var(--plugin-border-color) solid 1px; border-top:var(--plugin-border-color) solid 1px; }
|
||||
fieldset.xterm div.layout div.output.select { border:var(--code-border-color) solid 1px; }
|
||||
fieldset.xterm div.layout div.output { border-left:var(--box-border); border-top:var(--box-border); }
|
||||
fieldset.xterm div.layout div.output.select { border:var(--box-border)}
|
||||
fieldset.plan div.output div.content>table.content { height:100%; width:100%; }
|
||||
fieldset.draw>form.option>div.item.pid>input { width:60px; }
|
||||
fieldset.draw div.output svg { margin-bottom:-4px; height:100%; width:100%; }
|
||||
|
@ -22,7 +22,7 @@ Volcanos("page", {
|
||||
return can.page.Select(can, target, key? "select[name="+key+"],"+"input.select[type=button][name="+key+"],"+"input[name="+key+"],"+"textarea[name="+key+"]": ".args", cb)
|
||||
},
|
||||
SelectInput: function(can, target, name, cb) { return can.page.Select(can, target, "input[name="+name+"]", cb)[0] },
|
||||
SelectChild: function(can, target, key, cb) { return can.core.List(can.page.Select(can, target, key, function(node) { if (node.parentNode == target) { return node } }), cb) },
|
||||
SelectChild: function(can, target, key, cb) { return can.core.List(can.page.Select(can, target, key||"*", function(node) { if (node.parentNode == target) { return node } }), cb) },
|
||||
SelectOne: function(can, target, key, cb) { return can.page.Select(can, target, key, function(target, index) { return index == 0 && can.base.isFunc(cb) && cb(target), target })[0] },
|
||||
Select: function(can, target, key, cb, interval, cbs) { target = target || document.body
|
||||
return can.core.List(key == nfs.PT? [target]: target.querySelectorAll(can.page.Keys(key)), cb, interval, cbs)
|
||||
|
@ -1,5 +1,5 @@
|
||||
fieldset.River { width:230px; float:left; }
|
||||
fieldset.River>div.action { width:100%; display:flex; justify-content:center; }
|
||||
fieldset.River>div.output div.item { padding:10px 20px; border-left:solid 3px #00ffae; }
|
||||
fieldset.River>div.output div.list div.item { border-left:solid 3px #ccdc4c; }
|
||||
fieldset.River>div.output div.item { padding:10px 20px; border-left:#00ffae solid 3px; }
|
||||
fieldset.River>div.output div.list div.item { border-left:#ccdc4c solid 3px; }
|
||||
fieldset.River>div.output div.list { margin-left:20px; }
|
||||
|
@ -39,8 +39,7 @@ Volcanos(chat.ONACTION, {list: [mdb.CREATE, web.SHARE, web.REFRESH], _init: func
|
||||
refresh: function(event, can) { can.misc.Search(can, {river: can.Conf(chat.RIVER), storm: can.Conf(chat.STORM)}) },
|
||||
storm: function(event, can, river) { can.onmotion.select(can, can._output, html.DIV_ITEM, can.ui.river_list[river])
|
||||
var list = can.ui.sublist[river]; if (list) { return can.onmotion.toggle(can, list) }
|
||||
var next = event.target.nextSibling
|
||||
can.run({}, [river, chat.STORM], function(msg) {
|
||||
can.run({}, [river, chat.STORM], function(msg) { var next = can.ui.river_list[river].nextSibling
|
||||
if (msg.Length() == 0) { return can.user.isLocalFile? can.user.toastFailure(can, "miss data"): can.onengine.signal(can, chat.ONACTION_NOSTORM, can.request({}, {river: river})) }
|
||||
var select = 0; list = can.page.Append(can, can._output, [{view: html.LIST, list: msg.Table(function(item, index) {
|
||||
return river == can._main_river && item.hash == can._main_storm && (select = index), can.onimport._storm(can, item, river)
|
||||
|
@ -4,18 +4,18 @@ fieldset.inner:not(.output)>div.output { overflow:hidden; }
|
||||
fieldset.inner>div.output div.content { position:relative; }
|
||||
fieldset.inner>div.output div.content td.text { height:20px; }
|
||||
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); }
|
||||
fieldset.inner>div.output div.content td.text span.keyword { color:var(--code-keyword); box-shadow:var(--box-shadow); }
|
||||
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.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.string { color:var(--code-string); }
|
||||
fieldset.inner>div.output div.content td.text span.string { color:var(--code-string); box-shadow:var(--box-shadow); }
|
||||
fieldset.inner>div.output div.content td.text span.object { color:var(--code-object); }
|
||||
fieldset.inner>div.output>div.project { width:230px; flex:0 0 230px; }
|
||||
fieldset.inner>div.output>div.project { width:230px; flex:0 0 230px; box-shadow:var(--box-shadow); }
|
||||
fieldset.inner>div.output>div.project * { font-size:14px; font-family:monospace; outline:none; }
|
||||
fieldset.inner>div.output>div.project div.action { width:100%; }
|
||||
fieldset.inner>div.output>div.project input[type=text] { box-shadow:none; }
|
||||
fieldset.inner>div.output>div.project div.zone>div.item span.icon { font-size:20px; line-height:16px; width:20px; float:right; display:none; }
|
||||
fieldset.inner>div.output>div.project div.zone>div.item span.icon { font-size:20px; line-height:16px; padding:0 5px; float:right; display:none; }
|
||||
fieldset.inner>div.output>div.project div.zone:hover>div.item span.icon { display:block; }
|
||||
fieldset.inner>div.output>div.project>div.zone>div.item span.icon { font-size:22px; line-height:32px; }
|
||||
fieldset.inner>div.output>div.project>div.zone div.action>div.item { padding-right:0; width:100%; }
|
||||
@ -26,16 +26,20 @@ fieldset.inner>div.output>div.layout>div.tabs { font-size:14px; display:none; }
|
||||
fieldset.inner>div.output>div.layout>div.path { font-size:14px; display:none; }
|
||||
fieldset.inner>div.output>div.layout>div.layout div.content * { font-family:monospace; font-size:14px; outline:none; }
|
||||
fieldset.inner>div.output>div.layout>div.layout>div.profile { max-width:unset; }
|
||||
fieldset.inner>div.output>div.layout>div.layout>iframe.profile { border-left:var(--plugin-border-color) solid 1px; }
|
||||
fieldset.inner>div.output>div.layout>div.layout>div.profile { max-width:unset; }
|
||||
fieldset.inner>div.output>div.layout>div.layout>div.profile h1 { text-align:left; padding:10px 0; margin:20px 0; border-bottom:var(--box-border); }
|
||||
fieldset.inner>div.output>div.layout>div.layout>div.profile h2 { padding:10px 0; margin:20px 0; border-bottom:var(--box-border); }
|
||||
fieldset.inner>div.output>div.layout>div.layout>div.profile>div.code { white-space:unset; padding:20px; }
|
||||
fieldset.inner>div.output>div.layout>div.layout>iframe.profile { border-left:var(--box-border); }
|
||||
fieldset.inner>div.output>div.layout>div.layout>div.profile div.status>div { padding:5px; float:left; }
|
||||
fieldset.inner>div.output>div.layout>div.display div.status>div { padding:5px; float:left; }
|
||||
fieldset.inner>div.output>div.project>div.zone>div.item { font-style:italic; font-weight:bold; line-height:32px; }
|
||||
fieldset.inner>div.output>div.project>div.zone>div.item>span.icon { font-style:normal; font-weight:normal; }
|
||||
fieldset.inner.cmd>div.output>div.layout>div.tabs { height:38px; display:block; overflow:hidden; }
|
||||
fieldset.inner.cmd>div.output>div.layout>div.tabs { height:38px; display:block; overflow:hidden; background-color:var(--plugin-bg-color); }
|
||||
fieldset.inner.cmd>div.output>div.layout>div.tabs.hide { display:none; }
|
||||
fieldset.inner.cmd>div.output>div.layout>div.tabs>div { padding:10px; height:38px; float:left; }
|
||||
fieldset.inner.cmd>div.output>div.layout>div.tabs>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.select { background-color:var(--output-bg-color); }
|
||||
fieldset.inner.cmd>div.output>div.layout>div.tabs>div.tabs.select { background-color:var(--output-bg-color); box-shadow:var(--box-shadow); }
|
||||
fieldset.inner.cmd>div.output>div.layout>div.tabs>div.tabs:hover { background-color:var(--output-bg-color); }
|
||||
fieldset.inner.cmd>div.output>div.layout>div.tabs>div.tabs>span { font-style:italic; }
|
||||
fieldset.inner.cmd>div.output>div.layout>div.tabs>div.tabs>span.icon { padding:0 5px; }
|
||||
@ -43,11 +47,11 @@ fieldset.inner.cmd>div.output>div.layout>div.tabs>div.usernick { float:right; po
|
||||
fieldset.inner.cmd>div.output>div.layout>div.tabs>div.avatar { padding:0; height:38px; float:right; position:sticky; top:0; }
|
||||
fieldset.inner.cmd>div.output>div.layout>div.tabs>div.avatar>img { height:38px; }
|
||||
fieldset.inner.cmd>div.output>div.layout>div.tabs>div.time { float:right; position:sticky; top:0; }
|
||||
fieldset.inner.cmd>div.output>div.layout>div.path { font-style:italic; padding:5px; display:block; }
|
||||
fieldset.inner.cmd>div.output>div.layout>div.path { font-style:italic; padding:5px; display:block; box-shadow:var(--box-shadow); cursor:pointer; }
|
||||
fieldset.inner.cmd>div.output>div.layout>div.path.hide { display:none; }
|
||||
fieldset.inner.cmd>div.output>div.layout>div.path span.func { padding:5px 10px; margin-left:20px; }
|
||||
fieldset.inner.cmd>div.output>div.layout>div.path span.mode { padding:5px 10px; margin-left:20px; cursor:pointer; }
|
||||
fieldset.inner.cmd>div.output>div.layout>div.path span.view { font-size:22px; line-height:12px; padding:0 4px; float:right; cursor:pointer; }
|
||||
fieldset.inner.cmd>div.output>div.layout>div.path span.mode { padding:5px 10px; margin-left:20px; }
|
||||
fieldset.inner.cmd>div.output>div.layout>div.path span.view { font-size:22px; line-height:12px; padding:0 4px; float:right; }
|
||||
fieldset.inner.cmd>div.output>div.layout>div.plug { height:32px; clear:both; position:fixed; bottom:0; right:0; }
|
||||
fieldset.inner.cmd>div.output>div.layout>div.plug>legend { font-size:1rem; padding:0 10px; float:right; }
|
||||
fieldset.inner.cmd>div.output>div.layout>div.display>div.status { position:sticky; bottom:0; }
|
||||
@ -70,9 +74,9 @@ body.mobile fieldset.inner>form.option input[name=file] { width:90px; }
|
||||
body.mobile fieldset.word fieldset.inner>form.option input[type=text] { display:none; }
|
||||
body.windows fieldset.inner>div.output { overflow:hidden; }
|
||||
body.windows fieldset.inner>div.output>div.layout>div.layout>div.profile { overflow:hidden; }
|
||||
body.zh fieldset.inner>div.output>div.project>div.zone>div.item { letter-spacing:10px; }
|
||||
body.zh fieldset.inner>div.output>div.project>div.zone>div.item { letter-spacing:10px; border-top:var(--box-border); }
|
||||
div.path span.item { padding:5px; }
|
||||
div.carte.path.float { font-size:14px; border-radius:0; } div.carte.path.float div.item { padding:5px; }
|
||||
div.carte.path.float { font-size:14px; border-radius:0; box-shadow:var(--box-shadow); } div.carte.path.float div.item { padding:5px; }
|
||||
div.carte.cmd.float { font-size:14px; border-radius:0; } div.cmd.path.float div.item { padding:5px; }
|
||||
div.vimer.open.float td:first-child { display:none; }
|
||||
div.layout.flex>input.current { clear:both; }
|
||||
|
@ -78,7 +78,7 @@ Volcanos(chat.ONIMPORT, {_init: function(can, msg, cb) { var paths = can.core.Sp
|
||||
}
|
||||
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()
|
||||
can.onimport.tabview(can, "", can.Option(nfs.FILE), can.core.Split(button, nfs.DF)[1])
|
||||
can.onimport.tabview(can, "", can.Option(nfs.FILE), can.core.Split(button, nfs.DF, nfs.DF).pop())
|
||||
})
|
||||
}}])
|
||||
},
|
||||
@ -133,8 +133,7 @@ Volcanos(chat.ONIMPORT, {_init: function(can, msg, cb) { var paths = can.core.Sp
|
||||
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) { var skip = false; can.db.tabview[key] = msg; var name = file
|
||||
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 }
|
||||
} else {
|
||||
@ -143,9 +142,6 @@ Volcanos(chat.ONIMPORT, {_init: function(can, msg, cb) { var paths = can.core.Sp
|
||||
can.onimport.tabs(can, [{name: name, text: file, _menu: shy([
|
||||
nfs.SAVE, nfs.TRASH, web.REFRESH,
|
||||
], function(event, button, meta) {
|
||||
if (button == "refresh") {
|
||||
|
||||
}
|
||||
can.onaction[button](event, can, button)
|
||||
})}], function(event, tabs) {
|
||||
can._tab = msg._tab = tabs._target, show(skip), skip = true
|
||||
@ -162,7 +158,7 @@ Volcanos(chat.ONIMPORT, {_init: function(can, msg, cb) { var paths = can.core.Sp
|
||||
return can.Status(ice.BACK, can.db.history.length), record
|
||||
},
|
||||
project: function(can, path) { can.onmotion.clear(can, can.ui.project), can.onimport.zone(can, can.core.Item(can.onfigure, function(name, cb) {
|
||||
if (can.base.isFunc(cb)) { return {name: name, _trans: can.onfigure._trans? can.onfigure._trans[name]||"": "", _init: function(target, zone) { return cb(can, target, zone, path) }} }
|
||||
if (can.base.isFunc(cb)) { return {name: name, _trans: can.onfigure._trans? can.onfigure._trans[name]||"": "", _toggle: function() { can.onimport.layout(can) }, _init: function(target, zone) { return cb(can, target, zone, path) }} }
|
||||
}), 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
|
||||
var height = (can.ui.content._root||can.ui.content).offsetHeight, width = can.onexport.size(can, _msg.Option(html.WIDTH)||0.5, can.ConfWidth()-can.ui.project.offsetWidth)+border
|
||||
@ -205,6 +201,13 @@ Volcanos(chat.ONIMPORT, {_init: function(can, msg, cb) { var paths = can.core.Sp
|
||||
can.onappend.table(can, msg, function(value, key, index, item) { return {text: [value, html.TD], onclick: function(event) {
|
||||
item.file && can.onimport.tabview(can, item.path, item.file||can.Option(nfs.FILE), item.line)
|
||||
}} }, target), can.onappend.board(can, msg, target), msg.Option(ice.MSG_STATUS) && can.onappend._status(can, msg.Option(ice.MSG_STATUS), can.page.Append(can, target, [html.STATUS])._target)
|
||||
can.onmotion.delay(can, function() {
|
||||
can.page.Select(can, target, html.IMG, function(target) {
|
||||
var src = can.base.trimPrefix(target.src, location.origin)
|
||||
if (can.base.beginWith(src, "/require/", web.HTTP)) { return }
|
||||
target.src = "/require/"+can.Option(nfs.PATH)+can.base.trimPrefix(src, location.pathname.slice(0, location.pathname.lastIndexOf("/")+1))
|
||||
})
|
||||
})
|
||||
} else {
|
||||
return can.onmotion.toggle(can, target, false), can.onimport.layout(can), can.user.toastFailure(can, "nothing to display")
|
||||
} return can.onmotion.toggle(can, target, true), can.onmotion.delay(can, function() { can.onimport.layout(can), can.user.toastSuccess(can) })
|
||||
@ -218,10 +221,13 @@ Volcanos(chat.ONIMPORT, {_init: function(can, msg, cb) { var paths = can.core.Sp
|
||||
layout: function(can) { if (can.isSimpleMode() || can.Conf("style") == "output") { return can.page.style(can, can.ui.content, html.WIDTH, can.ConfWidth()) } if (can.isCmdMode()) { can.ConfHeight(can.page.height()) }
|
||||
var content = can.ui.content; if (content._root) { can.ui.content = content._root } can.ui.size = {profile: can._msg.Option(html.WIDTH), display: can._msg.Option(html.HEIGHT)}
|
||||
can.ui.layout(can.ConfHeight(), can.ConfWidth(), 0, function(height, width) { can.ui.content = content, can.onlayout.layout(can, height, width)
|
||||
var sub = can.ui.profile._plugin; sub && can.page.isDisplay(can.ui.profile) && sub.onimport.size(sub, can.ui.profile.offsetHeight, can.ui.profileWidth, true)
|
||||
var sub = can.ui.profile._plugin; sub && can.page.isDisplay(can.ui.profile) && sub.onimport && sub.onimport.size(sub, can.ui.profile.offsetHeight, can.ui.profileWidth, true)
|
||||
var sub = can.ui.content._plugin; if (!sub) { return } if (height == sub.ConfHeight()+sub.onexport.actionHeight(sub)+sub.onexport.statusHeight(sub) && width == sub.ConfWidth()) { return }
|
||||
content._root || sub.onimport.size(sub, height, width, true), can.onlayout.layout(can)
|
||||
})
|
||||
if (can.isCmdMode()) {
|
||||
can.ui.zone.source._layout(), can.ui.zone[can.Option(nfs.PATH)] && can.ui.zone[can.Option(nfs.PATH)]._layout()
|
||||
}
|
||||
},
|
||||
exts: function(can, url, cb) { var sub = can.db.toolkit[url.split(web.QS)[0]]; if (sub) { return can.base.isFunc(cb)? cb(sub): sub.select() }
|
||||
can.onimport.toolkit(can, {index: ice.CAN_PLUGIN, display: (url[0] == nfs.PS || url.indexOf(web.HTTP) == 0? "": can.base.Dir(can._path))+url}, function(sub) {
|
||||
@ -235,7 +241,7 @@ Volcanos(chat.ONIMPORT, {_init: function(can, msg, cb) { var paths = can.core.Sp
|
||||
}, [""])
|
||||
Volcanos(chat.ONFIGURE, {
|
||||
source: function(can, target, zone, path) { var args = can.base.getValid(can.misc.SearchHash(can), [can.Option(nfs.PATH), can.Option(nfs.FILE)])
|
||||
function show(target, zone, path) { can.run(can.request({}, {dir_root: path, dir_deep: true}), [nfs.PWD], function(msg) { can.onmotion.clear(can, target)
|
||||
function show(target, zone, path) { can.run(can.request({}, {dir_root: path, dir_deep: true, "_toast": "目录加载中..."}), [nfs.PWD], function(msg) { can.onmotion.clear(can, target)
|
||||
can.onimport.tree(can, can.core.List(msg.Table(), function(item) {
|
||||
if (path == args[0] && args[1].indexOf(item.path) == 0) { item.expand = true } return item
|
||||
}), nfs.PATH, nfs.PS, function(event, item) { can.onimport.tabview(can, path, item.path) }, target), zone._total(msg.Length())
|
||||
@ -245,11 +251,11 @@ Volcanos(chat.ONFIGURE, {
|
||||
module: function(can, target, zone) { zone._delay_init = function() { can.runAction({}, mdb.INPUTS, [ctx.INDEX], function(msg) {
|
||||
can.onimport.tree(can, msg.Table(), ctx.INDEX, nfs.PT, function(event, item) { can.onimport.tabview(can, "", item.index, ctx.INDEX) }, target), zone._total(msg.Length())
|
||||
}) } },
|
||||
plugin: function(can, target, zone) { var total = 0
|
||||
plugin: function(can, target, zone) { zone._delay_init = function() { var total = 0
|
||||
can.onimport.tree(can, can.core.ItemKeys(can.onengine.plugin.meta, function(key) { if (key[0] != "_") { return total++, {index: key} } }), ctx.INDEX, nfs.PT, function(event, item) {
|
||||
can.onimport.tabview(can, "", can.core.Keys(ice.CAN, item.index), ctx.INDEX)
|
||||
}, target), zone._total(total)
|
||||
},
|
||||
} },
|
||||
})
|
||||
Volcanos(chat.ONLAYOUT, {
|
||||
_split: function(can, type) { var target = can.ui.content, msg = target._msg, scroll = target.scrollTop
|
||||
@ -295,11 +301,7 @@ Volcanos(chat.ONSYNTAX, {_init: function(can, msg, cb) { var key = can.onexport.
|
||||
if (can.onexport.parse(can) == nfs.SVG) { msg.Option(ctx.INDEX, web.WIKI_DRAW+mdb.FS+path+file) }
|
||||
if (msg.Option(ctx.INDEX)) { return can.onsyntax._index(can, msg, function(target) { can.ui.content = target, cb(msg._content = content._root? (target._root = content._root): target) }, content._root? content: can.ui._profile.parentNode) }
|
||||
function show(p) {
|
||||
p && p.include && can.core.List(p.include, function(from) {
|
||||
can.core.Item(can.onsyntax[from].keyword, function(key, value) {
|
||||
p.keyword[key] = p.keyword[key] || value
|
||||
})
|
||||
})
|
||||
p && p.include && can.core.List(p.include, function(from) { can.core.Item(can.onsyntax[from].keyword, function(key, value) { p.keyword[key] = p.keyword[key] || value }) })
|
||||
if (!content._root && can.db.history.length > 1) { content = can.ui.content = can.page.insertBefore(can, [{view: html.CONTENT, style: {width: can.ui.content.offsetWidth}}], can.ui._profile), content._cache_key = key }
|
||||
content._max = 0, content._msg = msg, msg.__content = content, can.page.Appends(can, content, [{view: ["tips", "", msg.Option(nfs.FILE)]}])
|
||||
if (msg.Length() > 0) { can.onsyntax._change(can, msg), can.onaction.rerankLine(can, "tr.line:not(.delete)>td.line")
|
||||
@ -308,7 +310,14 @@ Volcanos(chat.ONSYNTAX, {_init: function(can, msg, cb) { var key = can.onexport.
|
||||
can.onmotion.delay(can, function() { can.onappend.scroll(can, can.ui.content) })
|
||||
can.onengine.signal(can, VIEW_CREATE, msg), can.base.isFunc(cb) && cb(msg._content = content._root? content._root: content)
|
||||
} can.require(["/plugin/local/code/inner/syntax.js"], function() { var parse = can.onexport.parse(can); can.Conf(chat.PLUG) && (can.onsyntax[parse] = can.Conf(chat.PLUG))
|
||||
var p = can.onsyntax[parse]; !p? can.runAction({}, mdb.PLUGIN, [parse, file, path], function(msg) { show(p = can.onsyntax[parse] = can.base.Obj(msg.Result()||"{}")) }): show(p)
|
||||
var p = can.onsyntax[parse]; !p? can.runAction({}, mdb.PLUGIN, [parse, file, path], function(msg) {
|
||||
p = can.base.Obj(msg.Result())
|
||||
if (p && p.script) { can._msg.Option("parse", msg.Option("parse"))
|
||||
can.require([p.script], function() { show(can.onsyntax[msg.Option("parse")||parse]) })
|
||||
} else {
|
||||
show(can.onsyntax[parse] = p)
|
||||
}
|
||||
}): show(p)
|
||||
})
|
||||
},
|
||||
_space: function(can, msg, cb, parent) { if (can.Option(nfs.LINE) == web.SPACE) { can.ui.zone.space && can.onmotion.delay(can, function() { can.ui.zone.space.refresh() }, 1000)
|
||||
@ -334,10 +343,11 @@ Volcanos(chat.ONSYNTAX, {_init: function(can, msg, cb) { var key = can.onexport.
|
||||
},
|
||||
_parse: function(can, line) { var parse = can.onexport.parse(can)
|
||||
function wrap(text, type) { return can.page.Format(html.SPAN, can.page.trans(can, text), type) }
|
||||
var p = can.onsyntax[parse]||{}; p = can.onsyntax[p.link]||p, p.split = p.split||{}
|
||||
var p = can.onsyntax[parse]; if (!p) { return can.page.trans(can, line) } p = can.onsyntax[p.link]||p, p.split = p.split||{}, p.keyword = p.keyword||{}
|
||||
if (p.prefix && can.core.Item(p.prefix, function(pre, type) { if (can.base.beginWith(line, pre)) { return line = wrap(line, type) } }).length > 0) { return line }
|
||||
if (p.suffix && can.core.Item(p.suffix, function(end, type) { if (can.base.endWith(line, end)) { return line = wrap(line, type) } }).length > 0) { return line }
|
||||
p.keyword && (line = can.core.List(can.core.Split(line, p.split.space||"\t ", p.split.operator||"{[(.,:;!?|&*/+-<=>)]}", {detail: true}), function(item, index, array) {
|
||||
if (!p.keyword) { return line }
|
||||
line = can.core.List(can.core.Split(line, p.split.space||"\t ", p.split.operator||"{[(.,:;!?|$@&*+-<=>)]}", {detail: true}), function(item, index, array) {
|
||||
item = can.base.isObject(item)? item: {text: item}; var text = item.text, type = p.keyword[text]
|
||||
switch (item.type||type) {
|
||||
case code.STRING: return wrap(item.left+text+item.right, code.STRING)
|
||||
@ -351,7 +361,7 @@ Volcanos(chat.ONSYNTAX, {_init: function(can, msg, cb) { var key = can.onexport.
|
||||
default: var t = can.core.Item(p.regexp, function(reg, type) { var m = text.match(new RegExp(reg)); if (m && m.length > 0 && m[0] == text) { return type} })
|
||||
return t && t.length > 0? wrap(text, t[0]): type? wrap(text, type): wrap(text, "_")
|
||||
}
|
||||
}).join("")); return line
|
||||
}).join(""); return line
|
||||
},
|
||||
_change: function(can, msg) { var _delete = [], _insert = [], deletes = [], inserts = []
|
||||
function scroll(item, type, length, index) {
|
||||
@ -525,7 +535,9 @@ Volcanos(chat.ONEXPORT, {list: [nfs.FILE, nfs.LINE, ice.BACK],
|
||||
selection: function(can, str) { var s = document.getSelection().toString(), begin = str.indexOf(s), end = begin+s.length
|
||||
for (var i = begin; i >= 0; i--) { if (str[i].match(/[a-zA-Z0-9_.]/)) { s = str.slice(i, end) } else { break } } return s
|
||||
},
|
||||
parse: function(can) { return can.base.Ext(can.Option(nfs.FILE)) },
|
||||
parse: function(can) {
|
||||
return can._msg.Option("parse")||can.base.Ext(can.Option(nfs.FILE))
|
||||
},
|
||||
split: function(can, file) { var ls = file.split(nfs.PS); if (ls.length == 1) { return [nfs.PWD, ls[0]] }
|
||||
if (ls[0] == ice.USR) { return [ls.slice(0, 2).join(nfs.PS)+nfs.PS, ls.slice(2).join(nfs.PS)] }
|
||||
return [ls.slice(0, 1).join(nfs.PS)+nfs.PS, ls.slice(1).join(nfs.PS)]
|
||||
|
@ -1,9 +1,17 @@
|
||||
Volcanos(chat.ONSYNTAX, {
|
||||
makefile: {prefix: {"#": code.COMMENT}, suffix: {":": code.COMMENT}, keyword: {
|
||||
"ifeq": code.KEYWORD, "ifneq": code.KEYWORD, "else": code.KEYWORD, "endif": code.KEYWORD,
|
||||
makefile: {prefix: {"#": code.COMMENT}, split: {operator: "($?.,):+="}, keyword: {
|
||||
"export": code.KEYWORD,
|
||||
"if": code.KEYWORD, "else": code.KEYWORD, "endif": code.KEYWORD,
|
||||
"ifeq": code.KEYWORD, "ifneq": code.KEYWORD,
|
||||
"ifdef": code.KEYWORD, "ifndef": code.KEYWORD,
|
||||
"define": code.KEYWORD, "endef": code.KEYWORD,
|
||||
"shell": code.KEYWORD,
|
||||
"PHONY": code.FUNCTION,
|
||||
}, include: ["sh"], func: function(can, push, text, indent) {
|
||||
var ls = can.core.Split(text, "", ":=")
|
||||
if (indent == 0 && ls[1] == ":" && ls[2] != "=") { push(text) }
|
||||
}},
|
||||
man: {
|
||||
prefix: {
|
||||
man: {prefix: {
|
||||
"NAME": code.KEYWORD,
|
||||
"SYNOPSIS": code.KEYWORD,
|
||||
"DESCRIPTION": code.KEYWORD,
|
||||
@ -15,8 +23,7 @@ Volcanos(chat.ONSYNTAX, {
|
||||
"SEE ALSO": code.KEYWORD,
|
||||
"HISTORY": code.KEYWORD,
|
||||
"BUGS": code.KEYWORD,
|
||||
},
|
||||
},
|
||||
}},
|
||||
vim: {prefix: {"\"": "comment"}, keyword: {
|
||||
"source": code.KEYWORD,
|
||||
"finish": code.KEYWORD,
|
||||
@ -92,7 +99,6 @@ Volcanos(chat.ONSYNTAX, {
|
||||
},
|
||||
}, h: {link: "c"},
|
||||
sh: {prefix: {"#": code.COMMENT}, suffix: {" {": code.COMMENT}, split: {operator: "{[($.,:;&<|>=)]}"}, regexp: {"[A-Z0-9_]+": code.CONSTANT, "ish_[A-Za-z0-9_]+": code.FUNCTION},
|
||||
func: function(can, push, text) { if (can.base.endWith(text, "() {")) { var ls = can.core.Split(text, "\t (){"); push(ls[0]) } },
|
||||
keyword: {
|
||||
"source": code.KEYWORD, "return": code.KEYWORD, "exit": code.KEYWORD,
|
||||
"require": code.KEYWORD, "request": code.KEYWORD,
|
||||
@ -104,15 +110,22 @@ Volcanos(chat.ONSYNTAX, {
|
||||
|
||||
"history": code.FUNCTION, "alias": code.FUNCTION, "complete": code.FUNCTION, "compgen": code.FUNCTION, "bind": code.FUNCTION,
|
||||
"printf": code.FUNCTION, "echo": code.FUNCTION, "eval": code.FUNCTION, "test": code.FUNCTION, "trap": code.FUNCTION, "shift": code.FUNCTION,
|
||||
"cd": code.FUNCTION, "ls": code.FUNCTION, "rm": code.FUNCTION, "chmod": code.FUNCTION, "mkdir": code.FUNCTION, "mktemp": code.FUNCTION,
|
||||
"set": code.FUNCTION, "xargs": code.FUNCTION,
|
||||
"/dev/null": code.CONSTANT, "/dev/stdout": code.CONSTANT, "/dev/stderr": code.CONSTANT,
|
||||
|
||||
"mkdir": code.FUNCTION, "rmdir": code.FUNCTION, "mktemp": code.FUNCTION, "du": code.FUNCTION, "df": code.FUNCTION,
|
||||
"cd": code.FUNCTION, "ls": code.FUNCTION, "ln": code.FUNCTION, "mv": code.FUNCTION, "rm": code.FUNCTION, "cp": code.FUNCTION,
|
||||
"groupadd": code.FUNCTION, "useradd": code.FUNCTION, "chown": code.FUNCTION, "sudo": code.FUNCTION,
|
||||
"curl": code.FUNCTION, "wget": code.FUNCTION, "apk": code.FUNCTION, "yum": code.FUNCTION,
|
||||
"cat": code.FUNCTION, "head": code.FUNCTION, "tail": code.FUNCTION,
|
||||
"grep": code.FUNCTION, "cut": code.FUNCTION, "sed": code.FUNCTION, "tr": code.FUNCTION,
|
||||
"xargs": code.FUNCTION, "sudo": code.FUNCTION, "du": code.FUNCTION, "df": code.FUNCTION,
|
||||
"/dev/null": code.CONSTANT, "/dev/stdout": code.CONSTANT, "/dev/stderr": code.CONSTANT,
|
||||
"make": code.FUNCTION, "file": code.FUNCTION, "vim": code.FUNCTION, "gcc": code.FUNCTION, "git": code.FUNCTION, "go": code.FUNCTION,
|
||||
"docker": code.FUNCTION,
|
||||
},
|
||||
func: function(can, push, text) { if (can.base.endWith(text, "() {")) { var ls = can.core.Split(text, "\t (){"); push(ls[0]) } },
|
||||
}, configure: {link: "sh"},
|
||||
shy: {prefix: {"#": code.COMMENT}, regexp: {"[A-Z_0-9]+": code.CONSTANT}, keyword: {"source": code.KEYWORD,
|
||||
shy: {prefix: {"#": code.COMMENT}, regexp: {"[A-Z_0-9]+": code.CONSTANT},
|
||||
keyword: {"source": code.KEYWORD,
|
||||
"title": code.KEYWORD, "navmenu": code.KEYWORD, "premenu": code.KEYWORD, "chapter": code.KEYWORD, "section": code.KEYWORD, "endmenu": code.KEYWORD,
|
||||
"refer": code.KEYWORD, "brief": code.KEYWORD, "spark": code.KEYWORD, "shell": code.KEYWORD, "parse": code.KEYWORD,
|
||||
"order": code.KEYWORD, "table": code.KEYWORD, "chart": code.KEYWORD, "label": code.KEYWORD, "chain": code.KEYWORD, "sequence": code.KEYWORD,
|
||||
@ -169,13 +182,15 @@ Volcanos(chat.ONSYNTAX, {
|
||||
},
|
||||
func: function(can, push, text, indent, opts) { var ls = can.core.Split(text, "\t *", "({:})")
|
||||
function isKey() { return opts.block == "cmds" && ls[1] == ":" && ls[2] == "{" } function isEnd() { return ls[0] == "}" }
|
||||
function prefix(key, pre) { return key.toLowerCase() == key? "- ": ("+ "+(pre? pre+nfs.PT: "")) }
|
||||
function prefix(key, pre) { return key.slice(0, 1).toLowerCase() == key.slice(0, 1)? "- ": ("+ "+(pre? pre+nfs.PT: "")) }
|
||||
if (indent == 0) { switch (ls[0]) {
|
||||
case "package": opts.package = ls[1]; break
|
||||
case "func": if (ls[1] == "(") { push(prefix(ls[5])+ls[2]+nfs.PT+ls[5]); break }
|
||||
case "func": if (ls[1] == "(") { var p = ls.indexOf(")")
|
||||
push(prefix(ls[p+1])+ls[2]+nfs.PT+ls[p+1]+"()"); break
|
||||
}
|
||||
case "const":
|
||||
case "var": if (ls[1] == "(") { break }
|
||||
case "type": push(prefix(ls[1], opts.package)+ls[1]); break
|
||||
case "type": push(prefix(ls[1])+ls[1]+(ls[0]=="type"? "{}": "")); break
|
||||
} opts.stack = [ls[0]] } else if (indent == 4 && opts.stack[0] == "func") {
|
||||
if (text.indexOf("MergeCommands(") > -1) { opts.block = "cmds" } else if (text.indexOf("}") == 0) { opts.block = "" }
|
||||
} else if (indent == 8) {
|
||||
@ -184,7 +199,7 @@ Volcanos(chat.ONSYNTAX, {
|
||||
if (isKey()) { push("+ "+opts.cmds+lex.SP+ls[0]) }
|
||||
}
|
||||
},
|
||||
}, mod: {prefix: {"//": code.COMMENT}, keyword: {"go": code.KEYWORD, "module": code.KEYWORD, "require": code.KEYWORD, "replace": code.KEYWORD}}, sum: {},
|
||||
}, mod: {prefix: {"//": code.COMMENT}, split: {operator: "(=>)"}, keyword: {"go": code.KEYWORD, "module": code.KEYWORD, "require": code.KEYWORD, "replace": code.KEYWORD}}, sum: {},
|
||||
js: {prefix: {"// ": code.COMMENT}, regexp: {"[A-Z_0-9]+": code.CONSTANT},
|
||||
keyword: {
|
||||
"let": code.KEYWORD, "const": code.KEYWORD, "var": code.KEYWORD,
|
||||
@ -239,7 +254,6 @@ Volcanos(chat.ONSYNTAX, {
|
||||
},
|
||||
}, json: {split: {operator: "{[:,]}"}, keyword: {"true": code.CONSTANT, "false": code.CONSTANT}},
|
||||
css: {prefix: {"// ": code.COMMENT, "/* ": code.COMMENT}, split: {operator: "{[(.,:;&>=)]}"},
|
||||
func: function(can, push, text) { text.indexOf("/* ") == 0 && push(can.base.trimPrefix(can.base.trimSuffix(text, " */"), "/* ")) },
|
||||
regexp: {
|
||||
"[-0-9]+deg": code.CONSTANT,
|
||||
"[-0-9]+rem": code.CONSTANT,
|
||||
@ -314,6 +328,7 @@ Volcanos(chat.ONSYNTAX, {
|
||||
"url": code.FUNCTION,
|
||||
"contexts": code.CONSTANT,
|
||||
}, include: ["html"],
|
||||
func: function(can, push, text) { text.indexOf("/* ") == 0 && push(can.base.trimPrefix(can.base.trimSuffix(text, " */"), "/* ")) },
|
||||
},
|
||||
html: {split: {operator: "<!=/>"}, keyword: {
|
||||
"DOCTYPE": code.KEYWORD, "html": code.KEYWORD, "head": code.KEYWORD, "body": code.KEYWORD,
|
||||
|
@ -2,7 +2,7 @@ fieldset.repos div.output>* {
|
||||
margin:auto;
|
||||
}
|
||||
fieldset.repos div.output table {
|
||||
border:solid 1px #e2e2e2;
|
||||
border: #e2e2e2solid 1px;
|
||||
border-radius:5px;
|
||||
color:#4183c4;
|
||||
margin-top:20px;
|
||||
|
@ -6,7 +6,7 @@ fieldset.vimer>div.output>div.layout>div.layout div.content div.complete { backg
|
||||
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 { padding-left:5px; width:unset; max-width:600px; display:block; }
|
||||
fieldset.vimer>div.output>div.layout>div.layout>div.layout div.content { border-left:gray solid 1px; border-top:gray solid 1px; }
|
||||
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 div.content.normal tr.line.select>td.line { background-color:blue; color:white; }
|
||||
fieldset.vimer>div.output>div.layout>div.layout div.content.insert tr.line.select>td.line { background-color:red; color:white; }
|
||||
fieldset.vimer>div.output>div.layout>div.layout div.content.insert div.complete:not(.hide) { display:block; top:unset; }
|
||||
|
@ -1,18 +1,18 @@
|
||||
fieldset.plan>div.output td.content { position:relative; }
|
||||
fieldset.plan>div.output table.content.plan th { text-align:center; }
|
||||
fieldset.plan>div.output table.content.plan td { vertical-align:top; }
|
||||
fieldset.plan>div.output table.content.plan td.over { border:red solid 1px; }
|
||||
fieldset.plan>div.output table.content.plan td.select { background-color:var(--hover-bg-color); }
|
||||
fieldset.plan>div.output table.content.plan td:hover { background-color:var(--hover-bg-color); }
|
||||
fieldset.plan>div.output table.content.plan td.over { background-color:var(--hover-bg-color); }
|
||||
fieldset.plan>div.output table.content.plan td div { color:white; }
|
||||
fieldset.plan>div.output table.content.plan td div.date { color:gray; }
|
||||
fieldset.plan>div.output table.content.plan td div.date span.lunar { font-size:12px; }
|
||||
fieldset.plan>div.output table.content.plan td div.date span.lunar.fest { color:red; }
|
||||
fieldset.plan>div.output table.content.plan td div.date span.lunar.term { color:green; }
|
||||
fieldset.plan>div.output table.content.plan td div.prepare { background-color:#0000ff70; }
|
||||
fieldset.plan>div.output table.content.plan td div.process { background-color:#00800070; }
|
||||
fieldset.plan>div.output table.content.plan td div.cancel { background-color:#ff000070; }
|
||||
fieldset.plan>div.output table.content.plan td div.finish { background-color:gray; }
|
||||
fieldset.plan>div.output table.content.plan tr:first-child { height:30px; position:sticky; top:2px; }
|
||||
fieldset.plan>div.output table.content.plan th:first-child { width:40px; position:sticky; left:2px; }
|
||||
fieldset.plan>div.output>div.layout>div.layout>div.content>table.content td { vertical-align:top; }
|
||||
fieldset.plan>div.output>div.layout>div.layout>div.content>table.content td.over { border:red solid 1px; }
|
||||
fieldset.plan>div.output>div.layout>div.layout>div.content>table.content td.select { background-color:var(--hover-bg-color); box-shadow:var(--box-shadow); }
|
||||
fieldset.plan>div.output>div.layout>div.layout>div.content>table.content td:hover { background-color:var(--hover-bg-color); }
|
||||
fieldset.plan>div.output>div.layout>div.layout>div.content>table.content td.over { background-color:var(--hover-bg-color); }
|
||||
fieldset.plan>div.output>div.layout>div.layout>div.content>table.content td div { color:white; padding:10px; margin:10px; }
|
||||
fieldset.plan>div.output>div.layout>div.layout>div.content>table.content td div.date { color:gray; }
|
||||
fieldset.plan>div.output>div.layout>div.layout>div.content>table.content td div.date span.lunar { font-size:12px; }
|
||||
fieldset.plan>div.output>div.layout>div.layout>div.content>table.content td div.date span.lunar.fest { color:red; }
|
||||
fieldset.plan>div.output>div.layout>div.layout>div.content>table.content td div.date span.lunar.term { color:green; }
|
||||
fieldset.plan>div.output>div.layout>div.layout>div.content>table.content td div.prepare { background-color:#0000ff70; }
|
||||
fieldset.plan>div.output>div.layout>div.layout>div.content>table.content td div.process { background-color:#00800070; }
|
||||
fieldset.plan>div.output>div.layout>div.layout>div.content>table.content td div.cancel { background-color:#ff000070; text-decoration:line-through; }
|
||||
fieldset.plan>div.output>div.layout>div.layout>div.content>table.content td div.finish { background-color:gray; }
|
||||
fieldset.plan>div.output>div.layout>div.layout>div.content>table.content tr:first-child { height:30px; position:sticky; top:2px; }
|
||||
fieldset.plan>div.output>div.layout>div.layout>div.content>table.content th:first-child { width:40px; position:sticky; left:2px; }
|
||||
fieldset.plan>div.output>div.layout>div.layout>div.profile>table.content tr:first-child { height:30px; position:sticky; top:2px; }
|
||||
|
@ -1,9 +1,7 @@
|
||||
Volcanos(chat.ONIMPORT, {_init: function(can, msg, target) { can.onmotion.clear(can, target), can._display_heights = {}
|
||||
can.list = {}; var ls = can.misc.SearchHash(can)
|
||||
can.ui = can.onappend.layout(can), can.onmotion.hidden(can, can.ui.profile), can.onmotion.hidden(can, can.ui.display)
|
||||
can.onmotion.hidden(can, can.ui.project)
|
||||
can.onimport[can.Option("scale")||team.WEEK](can, msg), can.Status(mdb.COUNT, msg.Length()), can.onimport.layout(can)
|
||||
var item; if (can.isCmdMode() && ls.length > 0) { item = can.list[can.core.Keys(ls[0], ls[1])] } else if (can.sup.task) { item = can.list[can.core.Keys(can.sup.task.zone, can.sup.task.id)] } item && item.click()
|
||||
Volcanos(chat.ONIMPORT, {_init: function(can, msg, target) { can.onmotion.clear(can, target), can._display_heights = {}, can.list = {}; var ls = can.misc.SearchHash(can)
|
||||
can.ui = can.onappend.layout(can), can.onmotion.hidden(can, can.ui.profile), can.onmotion.hidden(can, can.ui.display), can.isCmdMode() || can.onmotion.hidden(can, can.ui.project)
|
||||
can.onimport[can.Option("scale")||team.WEEK](can, msg), can.Status(mdb.COUNT, msg.Length()), can.ui.filter.placeholder = `search in ${ msg.Length() } items`, can.onimport.layout(can)
|
||||
var item; if (can.isCmdMode() && ls.length > 0) { item = can.list[can.core.Keys(ls)] } else if (can.sup.task) { item = can.list[can.core.Keys(can.sup.task.pod, can.sup.task.zone, can.sup.task.id)] } item && item.click()
|
||||
},
|
||||
_content: function(can, msg, head, list, key, get, set) { var begin_time = can.base.Date(can.Option(team.BEGIN_TIME)); can.sup.task && (can.sup.task._target = null)
|
||||
var hash = {}; msg.Table(function(value, index) { var k = key(can.base.Date(value.begin_time)); hash[k] = (hash[k]||[]).concat([value]) })
|
||||
@ -25,7 +23,7 @@ Volcanos(chat.ONIMPORT, {_init: function(can, msg, target) { can.onmotion.clear(
|
||||
} }, draggable: time != undefined, title: can.onexport.title(can, task), _init: function(target) {
|
||||
var item = can.onimport.item(can, {nick: task.name+nfs.DF+task.text}, function() { can.onmotion.delay(can, function() {
|
||||
can.onmotion.select(can, can.ui.content, html.TD, target.parentNode), can.onimport._profile(can, task), can.onimport._display(can, task), can.onimport.layout(can)
|
||||
}) }, null, can.ui.project); task._target = target, target.onclick = function(event) { item.click() }, can.list[can.core.Keys(task.zone, task.id)] = target
|
||||
}) }, null, can.ui.project); task._target = target, target.onclick = function(event) { item.click() }, can.list[can.core.Keys(task.pod, task.zone, task.id)] = target
|
||||
}}
|
||||
}),
|
||||
} },
|
||||
@ -43,7 +41,7 @@ Volcanos(chat.ONIMPORT, {_init: function(can, msg, target) { can.onmotion.clear(
|
||||
},
|
||||
_display: function(can, task) { can.onmotion.toggle(can, can.ui.display, true)
|
||||
if (can.onmotion.cache(can, function() { return can.sup.task = task, can.Status(task), [task.pod, task.zone, task.id].join(nfs.PT) }, can.ui.display)) { return }
|
||||
task[ctx.EXTRA_INDEX] && can.onappend.plugin(can, {index: task[ctx.EXTRA_INDEX], args: task[ctx.EXTRA_ARGS], height: can.ConfHeight()/2-2*html.ACTION_HEIGHT}, function(sub, meta) {
|
||||
task[ctx.EXTRA_INDEX] && can.onappend.plugin(can, {space: task.pod, index: task[ctx.EXTRA_INDEX], args: task[ctx.EXTRA_ARGS], height: can.ConfHeight()/2-2*html.ACTION_HEIGHT}, function(sub, meta) {
|
||||
sub.run = function(event, cmds, cb) { can.request(event, kit.Dict(team.TASK_POD, task.pod, team.TASK_ZONE, task.zone, team.TASK_ID, task.id))
|
||||
can.page.style(can, sub._output, html.MAX_HEIGHT, ""), can.runAction(event, ice.RUN, [task[mdb.ZONE], task[mdb.ID]].concat(cmds), cb)
|
||||
}
|
||||
@ -62,7 +60,6 @@ Volcanos(chat.ONIMPORT, {_init: function(can, msg, target) { can.onmotion.clear(
|
||||
},
|
||||
week: function(can, msg) { var head = can.onexport.head(can, team.HOUR)
|
||||
var list = [0]; for (var i = 7; i < 24; i++) { list.push(can.base.Number(i, 2)) }
|
||||
// var list = [0]; for (var i = 7; i < 24; i++) { list.push(can.base.Number(i, 2)+":00") }
|
||||
function key(time) { return time.getDay()+" "+can.base.Number(time.getHours(), 2) }
|
||||
function get(begin_time, col, row, hash) { return hash[col-1+" "+list[row]] }
|
||||
function set(begin_time, col, row) { return can.base.Time(can.base.DateAdd(begin_time, -begin_time.getDay()+col-1), "%y-%m-%d ")+list[row] }
|
||||
@ -130,7 +127,7 @@ Volcanos(chat.ONACTION, {list: [
|
||||
},
|
||||
insertTask: function(event, can, time) { var msg = can.sup.request(event, {begin_time: time})
|
||||
can.user.input(event, can, can.Conf([ctx.FEATURE, mdb.INSERT]), function(args) {
|
||||
can.runAction(event, mdb.INSERT, [mdb.ZONE, args[1], team.BEGIN_TIME, time].concat(args))
|
||||
can.runAction(event, mdb.INSERT, [web.SPACE, args[1], mdb.ZONE, args[3], team.BEGIN_TIME, time].concat(args.slice(4)))
|
||||
})
|
||||
},
|
||||
modifyTask: function(event, can, task, key, value) { can.runAction(can.request(event, task, can.Option()), mdb.MODIFY, [key, value], function() { can.Update() }) },
|
||||
@ -147,9 +144,9 @@ Volcanos(chat.ONACTION, {list: [
|
||||
score: function(event, can, key, value) { can.onaction._filter(event, can, key, value) },
|
||||
view: function(event, can, key, value) { can.Action(key, value), can.onmotion.clear(can, can.ui.project), can.onmotion.clear(can, can.ui.content), can.core.CallFunc([can.onimport, can.Option("scale")], [can, can._msg]) },
|
||||
})
|
||||
Volcanos(chat.ONEXPORT, {list: [mdb.COUNT, team.BEGIN_TIME, mdb.ZONE, mdb.ID, mdb.TYPE, mdb.NAME, mdb.TEXT],
|
||||
span: function(can) { return kit.Dict(team.DAY, 24*3600*1000, team.WEEK, 7*24*3600*1000, team.MONTH, 30*24*3600*1000, team.YAER, 365*24*3600*1000, team.LONG, 365*24*3600*1000)[can.Option("scale")]||0 },
|
||||
hash: function(can, task) { if (!can.isCmdMode()) { return } location.hash = [task.zone, task.id].join(nfs.DF) },
|
||||
Volcanos(chat.ONEXPORT, {list: [mdb.COUNT, ice.POD, team.BEGIN_TIME, mdb.ZONE, mdb.ID, mdb.TYPE, mdb.NAME, mdb.TEXT],
|
||||
span: function(can) { return kit.Dict(team.DAY, 24*3600*1000, team.WEEK, 7*24*3600*1000, team.MONTH, 30*24*3600*1000, team.YEAR, 365*24*3600*1000, team.LONG, 365*24*3600*1000)[can.Option("scale")]||0 },
|
||||
hash: function(can, task) { if (!can.isCmdMode()) { return } location.hash = [task.pod, task.zone, task.id].join(nfs.DF) },
|
||||
head: function(can, scale) { if ([team.YEAR, team.LONG].indexOf(scale) > -1) { return } return [scale].concat(can.user.time(can, "", "%W")) },
|
||||
name: function(can, task) { return task.name },
|
||||
text: function(can, task) { return task.name+": "+(task.text||"") },
|
||||
|
@ -14,8 +14,8 @@ fieldset.word>div.output img { max-height:100%; max-width:100%; }
|
||||
fieldset.word>div.output video { max-height:100%; width:100%; }
|
||||
fieldset.word>div.output iframe { height:480px; width:100%; }
|
||||
fieldset.word>div.output svg.story[data-index] text { cursor:pointer; }
|
||||
fieldset.word>div.output input.story[type=button] { font-family:system-ui; font-weight:bold; padding:20px 40px; margin:10px; height:64px; }
|
||||
fieldset.word>div.output fieldset.web.code.inner.output div.output td.line { border-right:gray solid 1px; }
|
||||
fieldset.word>div.output input.story[type=button] { font-family:system-ui; font-weight:bold; padding:20px 40px; margin:10px; height:64px; box-shadow:var(--box-shadow); }
|
||||
fieldset.word>div.output fieldset.web.code.inner.output div.output td.line { border-right:var(--box-border); }
|
||||
fieldset.word>div.output fieldset.story { margin:20px 0; }
|
||||
fieldset.word>div.output fieldset.story>form.option>div.icon.delete { display:none; }
|
||||
|
||||
|
@ -194,13 +194,13 @@ Volcanos(chat.ONACTION, {list: [
|
||||
})
|
||||
Volcanos(chat.ONEXPORT, {
|
||||
args: function(can) { return can.page.SelectArgs(can, can._option, "", function(target) { return target.value }) },
|
||||
output: function(can, msg) {}, action: function(can, button, line) {}, record: function(can, value, key, line) {},
|
||||
output: function(can, msg) {}, action: function(can, button, line) {}, record: function(can, value, key, data) {},
|
||||
marginTop: function() { return 0 }, marginBottom: function() { return 0 },
|
||||
actionHeight: function(can) { return can.page.ClassList.has(can, can._target, html.OUTPUT)? 0: html.ACTION_HEIGHT },
|
||||
statusHeight: function(can) { return can.page.ClassList.has(can, can._target, html.OUTPUT) || !can.page.isDisplay(can._status) || can._status.innerHTML == "" || (can._target.offsetHeight > 0 && can._status.offsetHeight == 0)? 0: html.ACTION_HEIGHT },
|
||||
title: function(can, title) { can.isCmdMode() && can.user.title(title) },
|
||||
link: function(can) { var meta = can.Conf(), args = can.Option(); can.misc.Search(can, log.DEBUG) == ice.TRUE && (args[log.DEBUG] = ice.TRUE)
|
||||
args.pod = meta.space||meta.pod, args.cmd = meta.index||can.core.Keys(meta.ctx, meta.cmd)
|
||||
args.pod = meta._space||meta.space||meta.pod, args.cmd = meta.index||can.core.Keys(meta.ctx, meta.cmd)
|
||||
return can.misc.MergePodCmd(can, args, true)
|
||||
},
|
||||
})
|
||||
|
@ -1,6 +1,6 @@
|
||||
div.output.json div.item:hover { background-color:transparent; color:unset; }
|
||||
div.output.json div.item div.item { padding-left:15px; border:transparent solid 1px; border-left:lightblue dashed 1px; margin-left:5px; }
|
||||
div.output.json div.item div.item:hover { border:gray solid 1px; }
|
||||
div.output.json div.item div.item:hover { border:var(--box-border); }
|
||||
div.output.json div.item label.nonce { color:#9cbeca4f; }
|
||||
div.output.json div.item span.string { color:orange; }
|
||||
div.output.json label { user-select:none; }
|
@ -93,10 +93,23 @@ Volcanos(chat.ONIMPORT, {_init: function(can, msg, target) { can.onmotion.clear(
|
||||
}, zone._target = sub._target, can.ui.zone[zone.name].refresh = function() { sub.Update() }
|
||||
}, zone._target) } },
|
||||
zone: function(can, list, target) {
|
||||
return can.page.Append(can, target, can.core.List(list, function(zone) { can.base.isString(zone) && (zone = {name: zone}); return zone && {view: [[html.ZONE, zone.name]], list: [
|
||||
return can.page.Append(can, target, can.core.List(list, function(zone) { can.base.isString(zone) && (zone = {name: zone}); if (!zone) { return }
|
||||
zone._layout = function() { var height = target.offsetHeight, count = 0
|
||||
can.page.SelectChild(can, target, "", function(target) {
|
||||
can.page.SelectChild(can, target, html.DIV_ITEM, function(target) { height -= target.offsetHeight })
|
||||
can.page.SelectChild(can, target, html.DIV_ACTION, function(target) { height -= target.offsetHeight })
|
||||
can.page.SelectChild(can, target, html.DIV_LIST, function(target) { count += can.page.isDisplay(target)? 1: 0 })
|
||||
})
|
||||
count && can.page.SelectChild(can, target, "", function(target) {
|
||||
can.page.SelectChild(can, target, html.DIV_LIST, function(target) {
|
||||
can.page.style(can, target, html.HEIGHT, can.page.isDisplay(target)? height/count: "")
|
||||
})
|
||||
})
|
||||
}
|
||||
return {view: [[html.ZONE, zone.name]], list: [
|
||||
{view: html.ITEM, inner: can.user.trans(can, zone.name), _init: function(target) { zone._legend = target }, onclick: function() {
|
||||
if (zone._delay_init) { zone._delay_init(zone._target, zone), delete(zone._delay_init) }
|
||||
can.onmotion.toggle(can, zone._action), can.onmotion.toggle(can, zone._target)
|
||||
can.onmotion.toggle(can, zone._action), can.onmotion.toggle(can, zone._action.nextSibling), zone._toggle && zone._toggle()
|
||||
}, oncontextmenu: function(event) { var menu = zone._menu
|
||||
menu? can.user.carteRight(event, can, menu.meta, menu.list||can.core.Item(menu.meta), can.base.isFunc(menu)? menu: function(event, button, meta, carte) {
|
||||
can.runAction(event, button), carte.close()
|
||||
@ -119,7 +132,8 @@ Volcanos(chat.ONIMPORT, {_init: function(can, msg, target) { can.onmotion.clear(
|
||||
can.base.isFunc(zone._init) && (zone._menu = zone._init(target, zone)||zone._menu)
|
||||
if (zone._delay_init) { can.onmotion.hidden(can, zone._action), can.onmotion.hidden(can, zone._target) }
|
||||
}},
|
||||
]} }))
|
||||
]}
|
||||
}))
|
||||
},
|
||||
tree: function(can, list, field, split, cb, target, node) {
|
||||
node = node||{"": target}; can.core.List(list, function(item) { item[field] && can.core.List(item[field].split(split), function(value, index, array) { if (!value) { return }
|
||||
|
3
proto.js
3
proto.js
@ -78,11 +78,12 @@ var mdb = {
|
||||
QS: ice.QS, AT: ice.AT,
|
||||
EQ: ice.EQ, FS: ice.FS,
|
||||
}
|
||||
var web = {CHAT: "chat",
|
||||
var web = {CHAT: "chat", LINK: "link",
|
||||
SPACE: "space", DREAM: "dream", SHARE: "share", SPIDE: "spide",
|
||||
WEBSITE: "website", DRAW: "draw", PLAY: "play", CLEAR: "clear", REFRESH: "refresh", RESIZE: "resize", FILTER: "filter", INPUT: "input",
|
||||
CANCEL: "cancel", SUBMIT: "submit", UPLOAD: "upload", DOWNLOAD: "download", TOIMAGE: "toimage",
|
||||
SHARE_CACHE: "/share/cache/", SHARE_LOCAL: "/share/local/",
|
||||
WORKER: "worker", SERVER: "server", GATEWAY: "gateway",
|
||||
|
||||
AT: "@", QS: "?", HTTP: "http",
|
||||
GET: "GET", PUT: "PUT", POST: "POST", DELETE: "DELETE",
|
||||
|
Loading…
x
Reference in New Issue
Block a user