mirror of
https://shylinux.com/x/volcanos
synced 2025-04-26 01:04:06 +08:00
opt can.debug
This commit is contained in:
parent
05461aeba5
commit
225747a388
27
frame.js
27
frame.js
@ -18,8 +18,8 @@ Volcanos(chat.ONENGINE, {_init: function(can, meta, list, cb, target) {
|
|||||||
can.onengine.listen(can, chat.ONSEARCH, function(msg, arg) { arg[0] == ctx.COMMAND && can.run(msg, ["can.command"]) })
|
can.onengine.listen(can, chat.ONSEARCH, function(msg, arg) { arg[0] == ctx.COMMAND && can.run(msg, ["can.command"]) })
|
||||||
can.onengine.signal(can, chat.ONMAIN, can.request()), can.base.isFunc(cb) && cb(can)
|
can.onengine.signal(can, chat.ONMAIN, can.request()), can.base.isFunc(cb) && cb(can)
|
||||||
})
|
})
|
||||||
can.onappend.topic(can, html.DARK), can.onappend.topic(can, html.LIGHT, {panel: "white", plugin: "aliceblue", legend: "lavender", input: "white", output: "white", table: "aliceblue",
|
can.onappend.topic(can, html.DARK), can.onappend.topic(can, html.LIGHT, {panel: cli.WHITE, plugin: cli.ALICEBLUE, legend: "lavender", input: cli.WHITE, output: cli.WHITE, table: cli.ALICEBLUE,
|
||||||
hover: "aliceblue", border: "transparent", label: "black", text: "black", info: "blue", warn: "red"})
|
hover: cli.ALICEBLUE, border: cli.GLASS, label: cli.BLACK, text: cli.BLACK, info: cli.BLUE, warn: cli.RED})
|
||||||
},
|
},
|
||||||
_search: function(event, can, msg, panel, cmds, cb) {
|
_search: function(event, can, msg, panel, cmds, cb) {
|
||||||
var sub, mod = can, fun = can, key = ""; can.core.List(cmds[1].split(ice.PT), function(value) { fun && (sub = mod, mod = fun, fun = mod[value], key = value) })
|
var sub, mod = can, fun = can, key = ""; can.core.List(cmds[1].split(ice.PT), function(value) { fun && (sub = mod, mod = fun, fun = mod[value], key = value) })
|
||||||
@ -68,6 +68,7 @@ Volcanos(chat.ONENGINE, {_init: function(can, meta, list, cb, target) {
|
|||||||
}),
|
}),
|
||||||
listen: shy(function(can, name, cb) { arguments.callee.meta[name] = (arguments.callee.meta[name]||[]).concat(cb) }),
|
listen: shy(function(can, name, cb) { arguments.callee.meta[name] = (arguments.callee.meta[name]||[]).concat(cb) }),
|
||||||
signal: function(can, name, msg) { msg = msg||can.request(); var _msg = name == chat.ONREMOTE? msg.Option("_msg"): msg
|
signal: function(can, name, msg) { msg = msg||can.request(); var _msg = name == chat.ONREMOTE? msg.Option("_msg"): msg
|
||||||
|
// _msg.Option(ice.LOG_DISABLE) == ice.TRUE || can.misc.Log(name, can._name, (msg._cmds||[]).join(ice.SP), name == chat.ONMAIN? can: _msg)
|
||||||
_msg.Option(ice.LOG_DISABLE) == ice.TRUE || can.misc.Log(name, can._name, (msg._cmds||[]).join(ice.SP), name == chat.ONMAIN? can: _msg, _msg._can._target)
|
_msg.Option(ice.LOG_DISABLE) == ice.TRUE || can.misc.Log(name, can._name, (msg._cmds||[]).join(ice.SP), name == chat.ONMAIN? can: _msg, _msg._can._target)
|
||||||
return can.core.List(can.onengine.listen.meta[name], function(cb) { can.core.CallFunc(cb, {event: msg._event, msg: msg}) }).length
|
return can.core.List(can.onengine.listen.meta[name], function(cb) { can.core.CallFunc(cb, {event: msg._event, msg: msg}) }).length
|
||||||
},
|
},
|
||||||
@ -115,7 +116,7 @@ Volcanos(chat.ONAPPEND, {_init: function(can, meta, list, cb, target, field) {
|
|||||||
var action = can.page.SelectOne(can, field, html.DIV_ACTION)
|
var action = can.page.SelectOne(can, field, html.DIV_ACTION)
|
||||||
var output = can.page.SelectOne(can, field, html.DIV_OUTPUT)
|
var output = can.page.SelectOne(can, field, html.DIV_OUTPUT)
|
||||||
var status = can.page.SelectOne(can, field, html.DIV_STATUS)
|
var status = can.page.SelectOne(can, field, html.DIV_STATUS)
|
||||||
meta.index && can.page.Append(can, option, [{view: [[html.ITEM, html.ICON], html.DIV, "\u2715"], onclick: function(event) { sub.onaction.close(event, sub) }}])
|
meta.index && can.page.Append(can, option, [{view: [[html.ITEM, html.ICON], html.DIV, can.page.unicode.delete], onclick: function(event) { sub.onaction.close(event, sub) }}])
|
||||||
var sub = Volcanos(meta.name, {_root: can._root||can, _follow: can.core.Keys(can._follow, meta.name), _target: field,
|
var sub = Volcanos(meta.name, {_root: can._root||can, _follow: can.core.Keys(can._follow, meta.name), _target: field,
|
||||||
_legend: legend, _option: option, _action: action, _output: output, _status: status, _history: [],
|
_legend: legend, _option: option, _action: action, _output: output, _status: status, _history: [],
|
||||||
Status: function(key, value) { if (can.base.isObject(key)) { return can.core.Item(key, sub.Status), key }
|
Status: function(key, value) { if (can.base.isObject(key)) { return can.core.Item(key, sub.Status), key }
|
||||||
@ -309,15 +310,19 @@ Volcanos(chat.ONAPPEND, {_init: function(can, meta, list, cb, target, field) {
|
|||||||
return can.page.Append(can, target||can._output, [{view: [type, html.FIELDSET], list: [{text: [title, html.LEGEND]}, {view: [html.OPTION, html.FORM]}, html.ACTION, html.OUTPUT, html.STATUS]}])
|
return can.page.Append(can, target||can._output, [{view: [type, html.FIELDSET], list: [{text: [title, html.LEGEND]}, {view: [html.OPTION, html.FORM]}, html.ACTION, html.OUTPUT, html.STATUS]}])
|
||||||
},
|
},
|
||||||
input: function(can, item, value, target, style) { if ([html.BR, html.HR].indexOf(item.type) > -1) { return can.page.Append(can, target, [item]) }
|
input: function(can, item, value, target, style) { if ([html.BR, html.HR].indexOf(item.type) > -1) { return can.page.Append(can, target, [item]) }
|
||||||
|
var icon = []
|
||||||
var input = can.page.input(can, can.base.Copy({className: "", type: "", name: ""}, item), value); input.title = can.Conf(can.core.Keys(ctx.FEATURE, chat.TITLE, item.name))||""
|
var input = can.page.input(can, can.base.Copy({className: "", type: "", name: ""}, item), value); input.title = can.Conf(can.core.Keys(ctx.FEATURE, chat.TITLE, item.name))||""
|
||||||
if (item.type == html.SELECT && item.value) { input._init = function(target) { target.value = value||item.value } }
|
if (item.type == html.SELECT && item.value) { input._init = function(target) { target.value = value||item.value } }
|
||||||
if (item.type == html.TEXT) { input.onkeydown = item.onkeydown||function(event) {
|
if (item.type == html.TEXT) { input.onkeydown = item.onkeydown||function(event) {
|
||||||
can.onkeymap.input(event, can), can.onkeymap.selectOutput(event, can), event.key == lang.ENTER && can.onkeymap.prevent(event)
|
can.onkeymap.input(event, can), can.onkeymap.selectOutput(event, can), event.key == lang.ENTER && can.onkeymap.prevent(event)
|
||||||
} }
|
}, icon.push({text: can.page.unicode.delete, className: "icon delete", onclick: function(event) {
|
||||||
|
_input.value = ""; if (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) {
|
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])
|
target.value = value, can.core.CallFunc([can.onaction, item.name], [event, can, item.name])
|
||||||
}) } }
|
}) } }
|
||||||
return can.page.Append(can, target, [{view: [[html.ITEM, item.type, item.name].concat(style)], list: [input]}])[item.name]
|
var _input = can.page.Append(can, target, [{view: [[html.ITEM, item.type, item.name].concat(style)], list: [input].concat(icon)}])[item.name]
|
||||||
|
return _input
|
||||||
},
|
},
|
||||||
table: function(can, msg, cb, target, keys) { if (!msg || msg.Length() == 0) { return } var meta = can.base.Obj(msg.Option(mdb.META))
|
table: function(can, msg, cb, target, keys) { if (!msg || msg.Length() == 0) { return } var meta = can.base.Obj(msg.Option(mdb.META))
|
||||||
var table = can.page.AppendTable(can, msg, target||can._output, msg.append, cb||function(value, key, index, line, array) {
|
var table = can.page.AppendTable(can, msg, target||can._output, msg.append, cb||function(value, key, index, line, array) {
|
||||||
@ -366,8 +371,10 @@ Volcanos(chat.ONAPPEND, {_init: function(can, meta, list, cb, target, field) {
|
|||||||
}
|
}
|
||||||
}); return list }
|
}); return list }
|
||||||
function calc(item, size, total) { return !ui.size[item]? size: ui.size[item] < 1? total*ui.size[item]: ui.size[item] }
|
function calc(item, size, total) { return !ui.size[item]? size: ui.size[item] < 1? total*ui.size[item]: ui.size[item] }
|
||||||
var defer = []; function layout(type, list, width, height) { var _width = width, _height = height; can.core.List(list, function(item) {
|
var defer = [], content_height, content_width; function layout(type, list, width, height) { var _width = width, _height = height; can.core.List(list, function(item) {
|
||||||
if (item == html.CONTENT) { return defer.push(function() { can.page.style(can, ui[item], html.HEIGHT, height, html.WIDTH, width) }) }
|
if (item == html.CONTENT) { content_height = height, content_width = width
|
||||||
|
return defer.push(function() { can.page.style(can, ui[item], html.HEIGHT, height, html.WIDTH, width) })
|
||||||
|
}
|
||||||
if (!can.page.isDisplay(ui[item])) { return } if (can.base.isObject(item)) { var meta = item; item = item._index }
|
if (!can.page.isDisplay(ui[item])) { return } if (can.base.isObject(item)) { var meta = item; item = item._index }
|
||||||
if (type == FLOW) { var h = calc(item, ui[item].offsetHeight, height)
|
if (type == FLOW) { var h = calc(item, ui[item].offsetHeight, height)
|
||||||
if (can.base.isObject(meta)) { meta.layout(width, h) }
|
if (can.base.isObject(meta)) { meta.layout(width, h) }
|
||||||
@ -377,7 +384,7 @@ Volcanos(chat.ONAPPEND, {_init: function(can, meta, list, cb, target, field) {
|
|||||||
can.page.style(can, ui[item], html.HEIGHT, h, html.WIDTH, w), width -= w
|
can.page.style(can, ui[item], 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, width, height) } }) }
|
}), can.core.List(list, function(item) { if (can.base.isArray(item)) { layout(type == FLOW? FLEX: FLOW, item, width, height) } }) }
|
||||||
ui.layout = function(width, height, delay) { can.onmotion.delay(can, function() { defer = [], layout(type, ui.list, width, height), defer.forEach(function(cb) { cb() }) }, delay||0) }
|
ui.layout = function(width, height, delay, cb) { can.onmotion.delay(can, function() { defer = [], layout(type, ui.list, width, height), defer.forEach(function(cb) { cb() }), cb && cb(content_height, content_width) }, delay||0) }
|
||||||
ui.list = append(target, type, list||[html.PROJECT, [[html.CONTENT, html.PROFILE], html.DISPLAY]])
|
ui.list = append(target, type, list||[html.PROJECT, [[html.CONTENT, html.PROFILE], html.DISPLAY]])
|
||||||
return ui
|
return ui
|
||||||
case "tabs-top":
|
case "tabs-top":
|
||||||
@ -458,7 +465,8 @@ Volcanos(chat.ONAPPEND, {_init: function(can, meta, list, cb, target, field) {
|
|||||||
},
|
},
|
||||||
figure: function(can, meta, target, cb) { if (meta.type == html.BUTTON || meta.type == html.SELECT) { return }
|
figure: function(can, meta, target, cb) { if (meta.type == html.BUTTON || meta.type == html.SELECT) { return }
|
||||||
var input = meta.action||mdb.KEY, path = chat.PLUGIN_INPUT+input+nfs._JS; can.require([path], function(can) {
|
var input = meta.action||mdb.KEY, path = chat.PLUGIN_INPUT+input+nfs._JS; can.require([path], function(can) {
|
||||||
function _cb(sub, value, old) { if (value == old) { return } can.base.isFunc(cb)? cb(sub, value, old): can.onmotion.delay(can, function() { can.onmotion.focus(can, target, value||"") }) }
|
// function _cb(sub, value, old) { if (value == old) { return } can.base.isFunc(cb)? cb(sub, value, old): can.onmotion.delay(can, function() { can.onmotion.focus(can, target, value||"") }) }
|
||||||
|
function _cb(sub, value, old) { if (value == old) { return } can.base.isFunc(cb)? cb(sub, value, old): target.value = value }
|
||||||
can.core.ItemCB(can.onfigure[input], function(key, on) { var last = target[key]||function(){}; target[key] = function(event) { can.misc.Event(event, can, function(msg) {
|
can.core.ItemCB(can.onfigure[input], function(key, on) { var last = target[key]||function(){}; target[key] = function(event) { can.misc.Event(event, can, function(msg) {
|
||||||
function show(sub, cb) { can.base.isFunc(cb) && cb(sub, _cb), can.onlayout.figure(event, can, sub._target), can.onmotion.toggle(can, sub._target, true) }
|
function show(sub, cb) { can.base.isFunc(cb) && cb(sub, _cb), can.onlayout.figure(event, can, sub._target), can.onmotion.toggle(can, sub._target, true) }
|
||||||
can.core.CallFunc(on, {event: event, can: can, meta: meta, cb: _cb, target: target, sub: target._can, last: last, cbs: function(cb) {
|
can.core.CallFunc(on, {event: event, can: can, meta: meta, cb: _cb, target: target, sub: target._can, last: last, cbs: function(cb) {
|
||||||
@ -631,6 +639,7 @@ Volcanos(chat.ONMOTION, {_init: function(can, target) {
|
|||||||
var pos = can.page.Cache(target._cache_key = key, target); if (pos) { target.scrollTo && target.scrollTo(0, pos-1); return target }
|
var pos = can.page.Cache(target._cache_key = key, target); if (pos) { target.scrollTo && target.scrollTo(0, pos-1); return target }
|
||||||
}).length > 0
|
}).length > 0
|
||||||
},
|
},
|
||||||
|
selectRange: function(target) { target && target.setSelectionRange && target.setSelectionRange(0, target.value.length) },
|
||||||
share: function(event, can, input, args) { var _args = args
|
share: function(event, can, input, args) { var _args = args
|
||||||
return can.user.input(event, can, input, function(args) { can.onengine.signal(can, chat.ONSHARE, can.request(event, {args: [mdb.TYPE, chat.FIELD].concat(_args||[], args||[])})) })
|
return can.user.input(event, can, input, function(args) { can.onengine.signal(can, chat.ONSHARE, can.request(event, {args: [mdb.TYPE, chat.FIELD].concat(_args||[], args||[])})) })
|
||||||
},
|
},
|
||||||
|
17
index.css
17
index.css
@ -329,12 +329,15 @@ div.project::-webkit-scrollbar { width:0 !important; height:0 !important; }
|
|||||||
div.content::-webkit-scrollbar { width:0 !important; height:0 !important; }
|
div.content::-webkit-scrollbar { width:0 !important; height:0 !important; }
|
||||||
|
|
||||||
.picker { box-shadow:4px 4px 20px 4px #626bd0; }
|
.picker { box-shadow:4px 4px 20px 4px #626bd0; }
|
||||||
span.item:not(.string):not(.number):not(.boolean)>span.value { color:silver; }
|
|
||||||
div.item:not(.string):not(.number):not(.boolean)>span.value { color:silver; }
|
|
||||||
div.item.function>span.value { font-style:italic; }
|
|
||||||
div.item.target>span.value { font-style:italic; }
|
|
||||||
div.view span.keyword { color:#5cadd4; }
|
div.view span.keyword { color:#5cadd4; }
|
||||||
div.view span.string { color:#f29766; }
|
div.view span.string { color:#f29766; }
|
||||||
span.path { color:silver; }
|
div.item:not(.string):not(.number):not(.boolean)>span.value { color:silver; font-style:italic; }
|
||||||
body.dark span.path { color:gray; }
|
span.item:not(.string):not(.number):not(.boolean)>span.value { color:silver; font-style:italic; }
|
||||||
body.dark div.data div.item:not(.string):not(.number):not(.boolean)>span.value { color:gray; }
|
fieldset.debug span.path { color:silver; font-style:italic; }
|
||||||
|
body.dark fieldset.debug span.path { color:gray; }
|
||||||
|
body.dark fieldset.debug span.target { color:gray; }
|
||||||
|
body.dark div.item:not(.string):not(.number):not(.boolean)>span.value { color:gray; }
|
||||||
|
body.dark span.item:not(.string):not(.number):not(.boolean)>span.value { color:gray; }
|
||||||
|
form.option>div.item { position:relative; }
|
||||||
|
form.option>div.item>span.icon { font-size:20px; position:absolute; top:2px; right:10px; visibility:hidden; }
|
||||||
|
form.option>div.item:hover>span.icon { visibility:visible; }
|
||||||
|
25
lib/page.js
25
lib/page.js
@ -249,15 +249,13 @@ Volcanos("page", {ClassList: {
|
|||||||
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 },
|
||||||
unicode: {
|
unicode: {
|
||||||
open: "\u25BE", close: "\u25B8", inner: "..",
|
open: "\u25BE", close: "\u25B8", inner: "..",
|
||||||
|
delete: "\u2715",
|
||||||
},
|
},
|
||||||
AppendData: function(can, target, prefix, key, value, cb) { var open = can.page.unicode.open, close = can.page.unicode.close
|
AppendData: function(can, target, prefix, key, value, cb) { var open = can.page.unicode.open, close = can.page.unicode.close
|
||||||
function short(value, length) {
|
function short(value, length) {
|
||||||
if (length == undefined) { value.indexOf(ice.NL) > -1 && (value = value.split(ice.NL)[0]+"..")
|
if (length == undefined) { value.indexOf(ice.NL) > -1 && (value = value.trim().split(ice.NL)[0]+can.page.unicode.inner)
|
||||||
return value
|
return can.page.replace(can, value)
|
||||||
// if (value.length > 50) { return value.slice(0, 50)+can.page.unicode.inner }
|
} else { if (length > 5) { return can.page.unicode.inner } }
|
||||||
} else {
|
|
||||||
if (length > 4) { return can.page.unicode.inner }
|
|
||||||
}
|
|
||||||
return value
|
return value
|
||||||
}
|
}
|
||||||
function show(value, deep) { deep = deep == undefined? 2: 0; switch (typeof value) {
|
function show(value, deep) { deep = deep == undefined? 2: 0; switch (typeof value) {
|
||||||
@ -265,9 +263,9 @@ Volcanos("page", {ClassList: {
|
|||||||
if (value._path) { return {value: "@\""+value._path+"\""} }
|
if (value._path) { return {value: "@\""+value._path+"\""} }
|
||||||
if (value.tagName) { return {type: nfs.TARGET, value: "$ "+value.tagName.toLowerCase()+(value.className? ice.PT+value.className.replaceAll(ice.SP, ice.PT):"")} }
|
if (value.tagName) { return {type: nfs.TARGET, value: "$ "+value.tagName.toLowerCase()+(value.className? ice.PT+value.className.replaceAll(ice.SP, ice.PT):"")} }
|
||||||
if (deep < 0) { return {value: value.length == undefined? "{"+can.page.unicode.inner+"}": "["+can.page.unicode.inner+"]"} }
|
if (deep < 0) { return {value: value.length == undefined? "{"+can.page.unicode.inner+"}": "["+can.page.unicode.inner+"]"} }
|
||||||
if (value.length != undefined) { return {value: (value.length > 3? value.length+ice.SP: "")+"["+can.core.List(value, function(value, index) { if (index < 5) { return short(show(value, deep-1).value, index+1) } }).join(ice.FS)+"]"} }
|
if (value.length != undefined) { return {value: (value.length > 3? value.length+ice.SP: "")+"["+can.core.List(value, function(value, index) { if (index < 6) { return short(show(value, deep-1).value, index+1) } }).join(ice.FS)+"]"} }
|
||||||
return {value: "{"+can.core.Item(value, function(key, val, list) { if (value.hasOwnProperty(key) && list.length < 6) { return short(key+ice.DF+show(val, deep-1).value, list.length) } }).join(ice.FS)+"}"}
|
return {value: "{"+can.core.Item(value, function(key, val, list) { if (value.hasOwnProperty(key) && list.length < 7) { return short(key+ice.DF+show(val, deep-1).value, list.length) } }).join(ice.FS)+"}"}
|
||||||
case lang.STRING: return {open: "s", close: "s", value: "\""+short(value)+"\""}
|
case lang.STRING: return {open: "s", close: "s", value: "\""+(deep == 2? value: short(value))+"\""}
|
||||||
case lang.NUMBER: return {open: "n", close: "n", value: value}
|
case lang.NUMBER: return {open: "n", close: "n", value: value}
|
||||||
case lang.BOOLEAN: return {open: "b", close: "b", value: value}
|
case lang.BOOLEAN: return {open: "b", close: "b", value: value}
|
||||||
case lang.FUNCTION: return {open: "f", close: "f", value: deep == 2? (""+value).split(ice.NL)[0]: "function(..) {..}"}
|
case lang.FUNCTION: return {open: "f", close: "f", value: deep == 2? (""+value).split(ice.NL)[0]: "function(..) {..}"}
|
||||||
@ -296,7 +294,7 @@ Volcanos("page", {ClassList: {
|
|||||||
return item.value == "" || item.value == item.name? {type: html.SPAN, list: [{text: ice.SP}, {text: item.name}]}:
|
return item.value == "" || item.value == item.name? {type: html.SPAN, list: [{text: ice.SP}, {text: item.name}]}:
|
||||||
{type: html.SPAN, list: [{text: ice.SP}, {text: item.name}, {text: ice.EQ}, {className: code.STRING, text: "\""+item.value+"\""}]}
|
{type: html.SPAN, list: [{text: ice.SP}, {text: item.name}, {text: ice.EQ}, {className: code.STRING, text: "\""+item.value+"\""}]}
|
||||||
}): [] }
|
}): [] }
|
||||||
var ui = {}; tag = tag||target.tagName.toLowerCase(), isclose = tag != "meta" && tag != "link", _field = field(target)
|
var ui = {}; tag = tag||target.tagName.toLowerCase(), isclose = tag != mdb.META && tag != mdb.LINK, _field = field(target)
|
||||||
var inner = target.innerHTML? can.page.unicode.inner: ""; if (target && target.tagName) { target.innerText == target.innerHTML && (inner = target.innerText) }
|
var inner = target.innerHTML? can.page.unicode.inner: ""; if (target && target.tagName) { target.innerText == target.innerHTML && (inner = target.innerText) }
|
||||||
return {view: mdb.VIEW, list: [
|
return {view: mdb.VIEW, list: [
|
||||||
{view: [[html.ITEM]], list: [
|
{view: [[html.ITEM]], list: [
|
||||||
@ -306,12 +304,9 @@ Volcanos("page", {ClassList: {
|
|||||||
isclose && {className: code.KEYWORD, text: can.page.replace(can, ice.LT+ice.PS+tag+ice.GT), _init: function(target) { ui._close = target }},
|
isclose && {className: code.KEYWORD, text: can.page.replace(can, ice.LT+ice.PS+tag+ice.GT), _init: function(target) { ui._close = target }},
|
||||||
], onclick: function(event) { ui.toggle.innerText = (can.onmotion.toggle(can, ui.list)? can.page.unicode.open: can.page.unicode.close)+ice.SP
|
], onclick: function(event) { ui.toggle.innerText = (can.onmotion.toggle(can, ui.list)? can.page.unicode.open: can.page.unicode.close)+ice.SP
|
||||||
ui.inner && can.onmotion.toggle(can, ui.inner), can.onmotion.toggle(can, ui.close), can.onmotion.toggle(can, ui._close)
|
ui.inner && can.onmotion.toggle(can, ui.inner), can.onmotion.toggle(can, ui.close), can.onmotion.toggle(can, ui._close)
|
||||||
if (!loaded) {
|
if (!loaded) { if (can.page.tagis(target, ctx.STYLE, nfs.SCRIPT)) { can.page.Append(can, ui.list, [{text: target.innerHTML}]) } else {
|
||||||
if (can.page.tagis(target, "style", "script")) { can.page.Append(can, ui.list, [{text: target.innerHTML}]) } else {
|
|
||||||
can.page.Append(can, ui.list, can.core.List(target.children, function(node) { return can.page.AppendView(can, node, "", null, false, cb) }))
|
can.page.Append(can, ui.list, can.core.List(target.children, function(node) { return can.page.AppendView(can, node, "", null, false, cb) }))
|
||||||
}
|
} } loaded = true, can.base.isFunc(cb) && cb(target)
|
||||||
} loaded = true
|
|
||||||
can.base.isFunc(cb) && cb(target)
|
|
||||||
}, onmouseenter: function() {
|
}, onmouseenter: function() {
|
||||||
can.page.Select(can, document.body, ".picker", function(target) { can.page.ClassList.del(can, target, "picker") })
|
can.page.Select(can, document.body, ".picker", function(target) { can.page.ClassList.del(can, target, "picker") })
|
||||||
!can.page.tagis(target, nfs.SCRIPT) && can.onappend.style(can, "picker", target)
|
!can.page.tagis(target, nfs.SCRIPT) && can.onappend.style(can, "picker", target)
|
||||||
|
@ -32,6 +32,7 @@ Volcanos("user", {info: {}, agent: {
|
|||||||
prompt: function(tip, def, cb, silent) { (text = silent? def: prompt(tip, def||"")) != undefined && typeof cb == lang.FUNCTION && cb(text); return text },
|
prompt: function(tip, def, cb, silent) { (text = silent? def: prompt(tip, def||"")) != undefined && typeof cb == lang.FUNCTION && cb(text); return text },
|
||||||
reload: function(force) { (force || confirm("重新加载页面?")) && location.reload() },
|
reload: function(force) { (force || confirm("重新加载页面?")) && location.reload() },
|
||||||
jumps: function(url) { location.href = url },
|
jumps: function(url) { location.href = url },
|
||||||
|
opens: function(url) { window.openurl? window.openurl(url): (window.open(url) || (location.href = url)) },
|
||||||
open: function(url) { window.open(url) || (location.href = url) },
|
open: function(url) { window.open(url) || (location.href = url) },
|
||||||
close: function(url) { window.close() },
|
close: function(url) { window.close() },
|
||||||
title: function(text) { if (window.webview) { return title(text) } return text && (document.title = text), document.title },
|
title: function(text) { if (window.webview) { return title(text) } return text && (document.title = text), document.title },
|
||||||
|
@ -66,25 +66,44 @@ Volcanos(chat.ONEXPORT, {height: function(can) { return can._target.offsetHeight
|
|||||||
Volcanos(chat.ONPLUGIN, {
|
Volcanos(chat.ONPLUGIN, {
|
||||||
alert: shy("提示", [wiki.CONTENT], function(can, msg, arg) { arg && arg.length > 0 && can.user.alert(arg[0]) }),
|
alert: shy("提示", [wiki.CONTENT], function(can, msg, arg) { arg && arg.length > 0 && can.user.alert(arg[0]) }),
|
||||||
toast: shy("提示", [wiki.CONTENT, wiki.TITLE], function(can, msg, arg) { arg && arg.length > 0 && can.user.toast(can, arg[0], arg[1]), msg.Copy(can[NTIP]), msg.StatusTimeCount() }),
|
toast: shy("提示", [wiki.CONTENT, wiki.TITLE], function(can, msg, arg) { arg && arg.length > 0 && can.user.toast(can, arg[0], arg[1]), msg.Copy(can[NTIP]), msg.StatusTimeCount() }),
|
||||||
debug: shy("日志", ["type:select=log,info,warn,error,debug,wss,onremote", "_text"], function(can, msg, arg) { can.onmotion.delay(can, function() { var _can = can, can = msg._can
|
debug: shy("网页日志", {
|
||||||
|
"prune": shy("清空", function(can) { while(can.misc._list.pop()) {} can.onmotion.clear(can) }),
|
||||||
|
"debug": shy("调试", function(can) { can.user.opens(location.href.replace("debug=true", "")) }),
|
||||||
|
"w3schools": shy("教程", function(can) { can.user.open("https://www.w3schools.com/colors/colors_names.asp") }),
|
||||||
|
"mozilla": shy("文档", function(can) { can.user.open("https://developer.mozilla.org/en-US/") }),
|
||||||
|
"w3": shy("标准", function(can) { can.user.open("https://www.w3.org/TR/?tag=css") }),
|
||||||
|
}, ["type:select=log,info,warn,error,debug,wss,onremote", "filter", "list", "prune", "debug", "w3schools", "mozilla", "w3"], function(can, msg, arg) { can.onmotion.delay(can, function() { var _can = can, can = msg._can
|
||||||
|
var stat = {}
|
||||||
var ui = can.page.Appends(can, can._output, [{type: html.TABLE, className: html.CONTENT, list: [{type: html.TR, list: [
|
var ui = can.page.Appends(can, can._output, [{type: html.TABLE, className: html.CONTENT, list: [{type: html.TR, list: [
|
||||||
{type: html.TH, inner: mdb.TEXT},
|
{type: html.TH, inner: mdb.TEXT},
|
||||||
]}].concat(can.core.List(can.misc._list, function(list) { return (!arg || !arg[0] || arg[0] == "log" || arg[0] == list[2]) && {type: html.TR, list: [
|
]}].concat(can.core.List(can.misc._list, function(list) { stat[list[2]] = ((stat[list[2]]||0)+1); return (!arg || !arg[0] || arg[0] == "log" || arg[0] == list[2]) && {type: html.TR, list: [
|
||||||
{type: html.TD, list: can.core.List(list.slice(0), function(item, index) { var vimer
|
{type: html.TD, list: can.core.List(list.slice(0), function(item, index) { var vimer
|
||||||
if (index == 1) { var _ls = /(https*:\/\/[^/]+)\/*([^:]+):([0-9]+):([0-9]+)/.exec(list[1])
|
if (index == 1) { var _ls = /(https*:\/\/[^/]+)\/*([^:]+):([0-9]+):([0-9]+)/.exec(list[1])
|
||||||
return {type: html.SPAN, list: [{text: can.page.unicode.close+ice.SP}, {text: [(_ls[1] == location.origin? _ls[2]: item).split("?")[0]+ice.SP, html.SPAN, nfs.PATH], onclick: function(event) {
|
return {view: [html.ITEM, html.SPAN], list: [{text: ice.SP+can.page.unicode.close+ice.SP}, {text: [(_ls[1] == location.origin? _ls[2].split("?")[0]+ice.DF+_ls[3]: item).split("?")[0], html.SPAN, nfs.PATH], onclick: function(event) {
|
||||||
if (can.onexport.record(can, list[1], mdb.LINK, {time: list[0], link: list[1], type: list[2], path: ice.USR_VOLCANOS, file: _ls[2].split("?")[0], line: _ls[3]})) { return }
|
if (can.onexport.record(can, list[1], mdb.LINK, {time: list[0], link: list[1], type: list[2], path: ice.USR_VOLCANOS, file: _ls[2].split("?")[0], line: _ls[3]})) { return }
|
||||||
if (vimer) { return can.page.Remove(can, vimer._target), vimer = null }
|
if (vimer) { return can.page.Remove(can, vimer._target), vimer = null }
|
||||||
vimer = can.onappend.plugin(_can, {index: "web.code.inner", args: [ice.USR_VOLCANOS, _ls[2], _ls[3]]}, function(sub) {}, event.target.parentNode)
|
vimer = can.onappend.plugin(_can, {index: "web.code.inner", args: [ice.USR_VOLCANOS, _ls[2], _ls[3]]}, function(sub) {}, event.target.parentNode)
|
||||||
}}]}
|
}}]}
|
||||||
} if (!can.base.isObject(item)) { return {text: item+ice.SP} }
|
} if (!can.base.isObject(item)) { return {text: (index > 0? ice.SP: "")+item} }
|
||||||
return {view: [mdb.DATA, html.SPAN], _init: function(target) { can.page.AppendData(can, target, "", "", item)}}
|
return {view: [mdb.DATA, html.SPAN], _init: function(target) {
|
||||||
}
|
if (item.tagName) { var detail; var ui = can.page.Append(can, target, [{text: ice.SP},
|
||||||
)},
|
{text: can.page.unicode.close+ice.SP, _init: function(target) { can.onmotion.delay(can, function() { ui.toggle = target }) }},
|
||||||
|
{view: [[html.ITEM, nfs.TARGET], html.SPAN, item.tagName.toLowerCase()+(item.className? ice.PT+item.className.replaceAll(ice.SP, ice.PT): "")], onclick: function() {
|
||||||
|
if (detail) { return can.page.Remove(can, detail), detail = null, can.page.Modify(can, ui.toggle, can.page.unicode.close+ice.SP) }
|
||||||
|
detail = can.page.AppendData(can, target, "", "", item)._target, detail.click(), can.page.Modify(can, ui.toggle, can.page.unicode.open+ice.SP)
|
||||||
|
}},
|
||||||
|
]) } else { can.page.Append(can, target, [{text: ice.SP}]), can.page.AppendData(can, target, "", "", item) }
|
||||||
|
}}
|
||||||
|
})},
|
||||||
]} })) }]); arg && arg[1] && can.page.Select(can, can._output, html.TR, function(tr) { can.page.ClassList.set(can, tr, html.HIDE, tr.innerText.indexOf(arg[1]) == -1) })
|
]} })) }]); arg && arg[1] && can.page.Select(can, can._output, html.TR, function(tr) { can.page.ClassList.set(can, tr, html.HIDE, tr.innerText.indexOf(arg[1]) == -1) })
|
||||||
can.onappend._status(can, [{name: mdb.TIME, value: can.base.Time()}, {name: mdb.COUNT, value: can.page.Select(can, can._output, html.TR+":not(.hide)").length+"x2"}])
|
can.onappend._status(can, [
|
||||||
|
{name: mdb.TIME, value: can.base.Time()},
|
||||||
|
{name: mdb.COUNT, value: can.page.Select(can, can._output, html.TR+":not(.hide)").length+"x1"},
|
||||||
|
].concat(can.core.List(["onremote", "wss", "info", "warn", "error"], function(item) {
|
||||||
|
return {name: item, value: stat[item]||"0"}
|
||||||
|
})))
|
||||||
}) }),
|
}) }),
|
||||||
data: shy("网页标签", [mdb.KEY], function(can, msg, arg) { can.onmotion.delay(can, function() { var can = msg._can
|
data: shy("网页数据", [mdb.KEY], function(can, msg, arg) { can.onmotion.delay(can, function() { var can = msg._can
|
||||||
if (can.Option(mdb.KEY)) {
|
if (can.Option(mdb.KEY)) {
|
||||||
can.page.AppendData(can, can._output, can.Option(mdb.KEY), can.Option(mdb.KEY).split(ice.PT).pop(), can.core.Value(can._root, can.Option(mdb.KEY)), function(prefix, value) {
|
can.page.AppendData(can, can._output, can.Option(mdb.KEY), can.Option(mdb.KEY).split(ice.PT).pop(), can.core.Value(can._root, can.Option(mdb.KEY)), function(prefix, value) {
|
||||||
can.Option(mdb.KEY, prefix)
|
can.Option(mdb.KEY, prefix)
|
||||||
@ -95,14 +114,18 @@ Volcanos(chat.ONPLUGIN, {
|
|||||||
})._target.click()
|
})._target.click()
|
||||||
}
|
}
|
||||||
}) }),
|
}) }),
|
||||||
view: shy("网页标签", function(can, msg, arg) { can.onmotion.delay(can, function() { var can = msg._can
|
view: shy("网页标签", [mdb.KEY], function(can, msg, arg) { can.onmotion.delay(can, function() { var can = msg._can
|
||||||
|
if (can.Option(mdb.KEY)) {
|
||||||
|
can.page.Append(can, can._output, [can.page.AppendView(can, can.page.SelectOne(can, document.body, can.Option(mdb.KEY))||document.body)])
|
||||||
|
} else {
|
||||||
can.page.Append(can, can._output, [can.page.AppendView(can, document, "html", [
|
can.page.Append(can, can._output, [can.page.AppendView(can, document, "html", [
|
||||||
can.page.AppendView(can, document.head, "head"), can.page.AppendView(can, document.body, "body", null, false, function(target) {
|
can.page.AppendView(can, document.head, "head"), can.page.AppendView(can, document.body, "body", null, false, function(target) {
|
||||||
var list = []; for (var p = target; p && p.tagName; p = p.parentNode) {
|
var list = []; for (var p = target; p && p.tagName && p != document.body; p = p.parentNode) {
|
||||||
list.push(p.tagName.toLowerCase()+(p.className? ice.PT+p.className.replaceAll(ice.SP, ice.PT): ""))
|
list.push(p.tagName.toLowerCase()+(p.className? ice.PT+p.className.replaceAll(ice.SP, ice.PT).replace(".picker", ""): ""))
|
||||||
} can.page.Appends(can, can._action, [{view: [html.ITEM, html.DIV, list.reverse().join(ice.SP+ice.GT+ice.SP)]}])
|
} can.Option(mdb.KEY, list.reverse().join(ice.SP+ice.GT+ice.SP))
|
||||||
}),
|
}),
|
||||||
], true)])
|
], true)])
|
||||||
|
}
|
||||||
}) }),
|
}) }),
|
||||||
})
|
})
|
||||||
})()
|
})()
|
||||||
|
@ -16,5 +16,16 @@ Volcanos(chat.ONACTION, {
|
|||||||
},
|
},
|
||||||
onkeyup: function(event, can) {
|
onkeyup: function(event, can) {
|
||||||
if (event.key == lang.ENTER) { return can.onkeymap.prevent(event) }
|
if (event.key == lang.ENTER) { return can.onkeymap.prevent(event) }
|
||||||
|
if (can.Conf(mdb.NAME) == html.FILTER) {
|
||||||
|
can.user.toast(can, "filter out "+
|
||||||
|
can.page.Select(can, can._output, html.TR, function(tr) {
|
||||||
|
if (!can.page.ClassList.set(can, tr, html.HIDE, tr.innerText.indexOf(event.target.value) == -1)) {
|
||||||
|
return tr
|
||||||
|
}
|
||||||
|
}).length+" lines")
|
||||||
|
}
|
||||||
|
},
|
||||||
|
onfocus: function(event, can) {
|
||||||
|
can.Conf(mdb.TYPE) == html.TEXT && can.onmotion.selectRange(event.target)
|
||||||
},
|
},
|
||||||
})
|
})
|
||||||
|
@ -4,9 +4,7 @@ Volcanos(chat.ONFIGURE, {key: {
|
|||||||
if (msg.append[msg.append.length-1] == "cb") { msg.append = msg.append.slice(0, -1) }
|
if (msg.append[msg.append.length-1] == "cb") { msg.append = msg.append.slice(0, -1) }
|
||||||
can.onmotion.clear(can), can.onappend.table(can, msg, function(value, key, index, line) { value = line[key]
|
can.onmotion.clear(can), can.onappend.table(can, msg, function(value, key, index, line) { value = line[key]
|
||||||
return {text: [value, html.TD, value == ""? "hr": ""], style: msg.append && msg.append.length == 1? kit.Dict(html.MIN_WIDTH, target.offsetWidth-16): {}, onclick: function(event) {
|
return {text: [value, html.TD, value == ""? "hr": ""], style: msg.append && msg.append.length == 1? kit.Dict(html.MIN_WIDTH, target.offsetWidth-16): {}, onclick: function(event) {
|
||||||
can.onmotion.delay(can, function() {
|
can.onmotion.delay(can, function() { target.blur(), can.close() })
|
||||||
can.close()
|
|
||||||
})
|
|
||||||
if (msg.cb && msg.cb[index]) { return msg.cb[index](value) }
|
if (msg.cb && msg.cb[index]) { return msg.cb[index](value) }
|
||||||
can._delay_hidden = false, cb(can, value, target.value), msg.Option(ice.MSG_PROCESS) == ice.PROCESS_AGAIN && can.onmotion.delay(can, function() { can._load(event, can, cb, target, name, value) })
|
can._delay_hidden = false, cb(can, value, target.value), msg.Option(ice.MSG_PROCESS) == ice.PROCESS_AGAIN && can.onmotion.delay(can, function() { can._load(event, can, cb, target, name, value) })
|
||||||
}}
|
}}
|
||||||
|
@ -1,5 +1,5 @@
|
|||||||
Volcanos(chat.ONIMPORT, {_init: function(can, msg) { can.current = msg.TableDetail(), can.onimport.layout(can) },
|
Volcanos(chat.ONIMPORT, {_init: function(can, msg) { can.current = msg.TableDetail(), can.onimport.layout(can) },
|
||||||
layout: function(can) { var item = can.current; can.onexport.title(can, item.name||item.link.split("?")[0])
|
layout: function(can) { var item = can.current; can.sup.onexport.title(can, item.name||item.link.split("?")[0])
|
||||||
can.page.Appends(can, can._output, [{type: html.IFRAME, src: item.link, height: can.ConfHeight(), width: can.ConfWidth(), style: {border: 0}}])
|
can.page.Appends(can, can._output, [{type: html.IFRAME, src: item.link, height: can.ConfHeight(), width: can.ConfWidth(), style: {border: 0}}])
|
||||||
},
|
},
|
||||||
})
|
})
|
||||||
|
@ -44,7 +44,7 @@ fieldset.inner.cmd>div.output>div.layout.flow>div.path.hide { display:none; }
|
|||||||
fieldset.inner.cmd>div.output>div.layout.flow>div.path span.view { font-size:22px; line-height:12px; padding:0 4px; float:right; cursor:pointer; }
|
fieldset.inner.cmd>div.output>div.layout.flow>div.path span.view { font-size:22px; line-height:12px; padding:0 4px; float:right; cursor:pointer; }
|
||||||
fieldset.inner.cmd>div.output>div.layout.flow>div.plug { height:31px; clear:both; }
|
fieldset.inner.cmd>div.output>div.layout.flow>div.plug { height:31px; clear:both; }
|
||||||
fieldset.inner.cmd>div.output>div.layout.flow>div.plug>legend { float:right; }
|
fieldset.inner.cmd>div.output>div.layout.flow>div.plug>legend { float:right; }
|
||||||
fieldset.inner.cmd>div.output fieldset.plug { bottom:31px; position:absolute; }
|
fieldset.inner.cmd>div.output fieldset.plug:not(.full) { bottom:31px; position:absolute; }
|
||||||
fieldset.inner fieldset.story form.option div.icon { display:block; }
|
fieldset.inner fieldset.story form.option div.icon { display:block; }
|
||||||
|
|
||||||
body.black fieldset.inner>div.output div.content td.text span.comment { background-color:blue; color:cyan; }
|
body.black fieldset.inner>div.output div.content td.text span.comment { background-color:blue; color:cyan; }
|
||||||
|
@ -9,12 +9,10 @@ Volcanos(chat.ONIMPORT, {_init: function(can, msg, cb, target) { can.onmotion.cl
|
|||||||
can.db = {paths: paths, tabview: {}, history: [], profile_size: {}, display_size: {}, toolkit: {}, extentions: {}}, can.onengine.plugin(can, can.onplugin)
|
can.db = {paths: paths, tabview: {}, history: [], profile_size: {}, display_size: {}, toolkit: {}, extentions: {}}, can.onengine.plugin(can, can.onplugin)
|
||||||
can.ui = can.onappend.layout(can, can._output, "", [html.PROJECT, [html.TABS, nfs.PATH, [html.CONTENT, html.PROFILE], html.DISPLAY, html.PLUG]])
|
can.ui = can.onappend.layout(can, can._output, "", [html.PROJECT, [html.TABS, nfs.PATH, [html.CONTENT, html.PROFILE], html.DISPLAY, html.PLUG]])
|
||||||
can.ui._content = can.ui.content, can.ui._profile = can.ui.profile, can.ui._display = can.ui.display
|
can.ui._content = can.ui.content, can.ui._profile = can.ui.profile, can.ui._display = can.ui.display
|
||||||
can.onmotion.hidden(can, can.ui.plug)
|
var plug = can.base.Obj(msg.Option("plug"), []).concat(can.misc.Search(can, "debug") == ice.TRUE? ["can.debug", "log.debug"]: [])
|
||||||
var plug = can.base.Obj(msg.Option("plug"), [])
|
plug.length > 0? can.run({}, [ctx.ACTION, ctx.COMMAND].concat(plug.reverse()), function(msg) {
|
||||||
plug.length > 0 && can.run({}, [ctx.ACTION, ctx.COMMAND].concat(plug.reverse()), function(msg) {
|
|
||||||
msg.Table(function(value) { can.onimport.toolkit(can, value) })
|
msg.Table(function(value) { can.onimport.toolkit(can, value) })
|
||||||
})
|
}): can.onmotion.hidden(can, can.ui.plug), can.onengine.plugin(can, can.onplugin)
|
||||||
can.onengine.plugin(can, can.onplugin)
|
|
||||||
switch (can.Mode()) {
|
switch (can.Mode()) {
|
||||||
case chat.SIMPLE: can.onmotion.hidden(can, can.ui.project); break
|
case chat.SIMPLE: can.onmotion.hidden(can, can.ui.project); break
|
||||||
case chat.FLOAT: can.onmotion.hidden(can, can.ui.project); break
|
case chat.FLOAT: can.onmotion.hidden(can, can.ui.project); break
|
||||||
@ -26,6 +24,7 @@ Volcanos(chat.ONIMPORT, {_init: function(can, msg, cb, target) { can.onmotion.cl
|
|||||||
}, function() { files.length > 1 && can.onimport._tabview(can, paths[0], files[0], "")
|
}, function() { files.length > 1 && can.onimport._tabview(can, paths[0], files[0], "")
|
||||||
if (can.user.isWebview) { var last = can.misc.localStorage(can, "web.code.inner:currentFile"); if (!last) { return } }
|
if (can.user.isWebview) { var last = can.misc.localStorage(can, "web.code.inner:currentFile"); if (!last) { return } }
|
||||||
var ls = can.core.Split(last, ice.DF); ls.length > 0 && can.onmotion.delayLong(can, function() { can.onimport._tabview(can, ls[0], ls[1], ls[2]) })
|
var ls = can.core.Split(last, ice.DF); ls.length > 0 && can.onmotion.delayLong(can, function() { can.onimport._tabview(can, ls[0], ls[1], ls[2]) })
|
||||||
|
can.core.List(can.base.Obj(msg.Option("tabs")), function(item) { can.onimport.tabview(can, can.Option(nfs.PATH), item, ctx.INDEX) })
|
||||||
}) })
|
}) })
|
||||||
}
|
}
|
||||||
var hash = location.hash; can.db.tabview[can.onexport.keys(can)] = msg
|
var hash = location.hash; can.db.tabview[can.onexport.keys(can)] = msg
|
||||||
@ -123,16 +122,16 @@ Volcanos(chat.ONIMPORT, {_init: function(can, msg, cb, target) { can.onmotion.cl
|
|||||||
}
|
}
|
||||||
}, can.ui.path), can.onimport._tabFunc(can, can.ui.path)
|
}, can.ui.path), can.onimport._tabFunc(can, can.ui.path)
|
||||||
}
|
}
|
||||||
can.page.SelectChild(can, can.ui._content.parentNode, can.page.Keys(html.DIV_CONTENT, [[[html.IFRAME, html.CONTENT]]]), function(item) {
|
can.page.SelectChild(can, can.ui._content.parentNode, can.page.Keys(html.DIV_CONTENT, "fieldset.story", [[[html.IFRAME, html.CONTENT]]]), function(item) {
|
||||||
if (can.onmotion.toggle(can, item, item == msg._content)) { can.ui.content = msg._content }
|
if (can.onmotion.toggle(can, item, item == msg._content)) { can.ui.content = msg._content }
|
||||||
}), can.ui.content._plugin = msg._plugin, msg._plugin && can.onmotion.delay(can, function() { msg._plugin.Focus() })
|
}), can.ui.content._plugin = msg._plugin
|
||||||
can.page.SelectChild(can, can.ui._content.parentNode, can.page.Keys(html.DIV_PROFILE, [[[html.IFRAME, html.PROFILE]]]), function(item) {
|
can.page.SelectChild(can, can.ui._content.parentNode, can.page.Keys(html.DIV_PROFILE, [[[html.IFRAME, html.PROFILE]]]), function(item) {
|
||||||
if (can.onmotion.toggle(can, item, item == msg._profile)) { can.ui.profile = msg._profile }
|
if (can.onmotion.toggle(can, item, item == msg._profile)) { can.ui.profile = msg._profile }
|
||||||
}), can.ui.current && can.onmotion.toggle(can, can.ui.current, !isCommand() && !isDream())
|
}), can.ui.current && can.onmotion.toggle(can, can.ui.current, !isCommand() && !isDream())
|
||||||
var ls = can.db.file.split(ice.PS); if (ls.length > 4) { ls = [ls.slice(0, 2).join(ice.PS)+"/.../"+ls.slice(-2).join(ice.PS)] }
|
var ls = can.db.file.split(ice.PS); if (ls.length > 4) { ls = [ls.slice(0, 2).join(ice.PS)+"/.../"+ls.slice(-2).join(ice.PS)] }
|
||||||
can.Status(kit.Dict("文件", ls.join(ice.PS), "类型", can.db.parse)), can.onimport.layout(can)
|
can.Status(kit.Dict("文件", ls.join(ice.PS), "类型", can.db.parse)), can.onimport.layout(can)
|
||||||
can.onaction.selectLine(can, can.Option(nfs.LINE), true)
|
// can.onaction.selectLine(can, can.Option(nfs.LINE), true)
|
||||||
// if (!skip) { can.onaction.selectLine(can, can.Option(nfs.LINE), true) }
|
if (!skip) { can.onaction.selectLine(can, can.Option(nfs.LINE), true) }
|
||||||
can.base.isFunc(cb) && cb(), cb = null
|
can.base.isFunc(cb) && cb(), cb = null
|
||||||
})
|
})
|
||||||
}
|
}
|
||||||
@ -161,7 +160,9 @@ Volcanos(chat.ONIMPORT, {_init: function(can, msg, cb, target) { can.onmotion.cl
|
|||||||
},
|
},
|
||||||
profile: function(can, msg) { var sup = can.db.tabview[can.onexport.keys(can)]
|
profile: function(can, msg) { var sup = can.db.tabview[can.onexport.keys(can)]
|
||||||
if (msg.Result().indexOf("<iframe ") > -1) { if (sup._profile != can.ui._profile) { can.page.Remove(can, sup._profile) }
|
if (msg.Result().indexOf("<iframe ") > -1) { if (sup._profile != can.ui._profile) { can.page.Remove(can, sup._profile) }
|
||||||
can.ui.profile = sup._profile = can.page.Append(can, can.ui._profile.parentNode, [{view: [html.PROFILE, html.IFRAME], src: msg.Append(mdb.LINK)}])._target
|
var src = can.page.Select(can, can.page.Create(can, html.DIV, msg.Result()), html.IFRAME, function(target) { return target.src })[0]
|
||||||
|
can.ui.profile = sup._profile = can.page.Append(can, can.ui._profile.parentNode, [{view: [html.PROFILE, html.IFRAME], src: src}])._target
|
||||||
|
can.db.profile_size[can.onexport.keys(can)] = 0.8
|
||||||
can.onmotion.toggle(can, can.ui.profile, true), can.onimport.layout(can)
|
can.onmotion.toggle(can, can.ui.profile, true), can.onimport.layout(can)
|
||||||
} else { can.ui.profile = sup._profile = can.ui._profile
|
} else { can.ui.profile = sup._profile = can.ui._profile
|
||||||
can.onimport.process(can, msg, can.ui.profile, can.ui.profile.offsetHeight||can.ui.content.offsetHeight, can.db.profile_size[can.onexport.keys(can)]||(can.ConfWidth()-can.ui.project.offsetWidth)/2, function(sub) {
|
can.onimport.process(can, msg, can.ui.profile, can.ui.profile.offsetHeight||can.ui.content.offsetHeight, can.db.profile_size[can.onexport.keys(can)]||(can.ConfWidth()-can.ui.project.offsetWidth)/2, function(sub) {
|
||||||
@ -232,8 +233,10 @@ Volcanos(chat.ONIMPORT, {_init: function(can, msg, cb, target) { can.onmotion.cl
|
|||||||
var height = can.user.isMobile && can.isFloatMode()? can.page.height()-2*html.ACTION_HEIGHT: can.base.Min(can.ConfHeight(), 320)-1
|
var height = can.user.isMobile && can.isFloatMode()? can.page.height()-2*html.ACTION_HEIGHT: can.base.Min(can.ConfHeight(), 320)-1
|
||||||
can.user.isMobile && can.isCmdMode() && can.page.style(can, can._output, html.MAX_HEIGHT, height)
|
can.user.isMobile && can.isCmdMode() && can.page.style(can, can._output, html.MAX_HEIGHT, height)
|
||||||
can.ui.size = {profile: can.db.profile_size[can.onexport.keys(can)]||0.5, display: can.db.display_size[can.onexport.keys(can)]||3*html.ACTION_HEIGHT}
|
can.ui.size = {profile: can.db.profile_size[can.onexport.keys(can)]||0.5, display: can.db.display_size[can.onexport.keys(can)]||3*html.ACTION_HEIGHT}
|
||||||
can.ui.layout(width, height, 0)
|
can.ui.layout(width, height, 10, function(content_height, content_width) { var sub = can.ui.content._plugin; if (!sub) { return }
|
||||||
var sub = can.ui.content._plugin; sub && sub.onimport.size(sub, can.ui.content.offsetHeight-2*html.ACTION_HEIGHT, can.ui.content.offsetWidth, true)
|
if (content_height == sub.ConfHeight()+2*html.ACTION_HEIGHT && content_width == sub.ConfWidth()) { return }
|
||||||
|
sub.onimport.size(sub, can.ui.content.offsetHeight-2*html.ACTION_HEIGHT, can.ui.content.offsetWidth, true)
|
||||||
|
})
|
||||||
},
|
},
|
||||||
exts: function(can, url, cb) {
|
exts: function(can, url, cb) {
|
||||||
can.onimport.toolkit(can, {index: "can._plugin", display: (url[0] == ice.PS || url.indexOf(ice.HTTP) == 0? "": can.base.Dir(can._path))+url}, function(sub) {
|
can.onimport.toolkit(can, {index: "can._plugin", display: (url[0] == ice.PS || url.indexOf(ice.HTTP) == 0? "": can.base.Dir(can._path))+url}, function(sub) {
|
||||||
@ -289,10 +292,14 @@ Volcanos(chat.ONSYNTAX, {_init: function(can, msg, cb) {
|
|||||||
if (can.Option(nfs.LINE) == web.DREAM) { can.ui.zone.dream && can.onmotion.delay(can, function() { can.ui.dream.refresh() }, 5000)
|
if (can.Option(nfs.LINE) == web.DREAM) { can.ui.zone.dream && can.onmotion.delay(can, function() { can.ui.dream.refresh() }, 5000)
|
||||||
return can.base.isFunc(cb) && cb(msg._content = msg._content||can.page.insertBefore(can, [{view: [html.CONTENT, html.IFRAME],
|
return can.base.isFunc(cb) && cb(msg._content = msg._content||can.page.insertBefore(can, [{view: [html.CONTENT, html.IFRAME],
|
||||||
src: can.misc.MergePodCmd(can, {pod: can.Option(nfs.FILE)}), height: can.ui.content.offsetHeight, width: can.ui.content.offsetWidth}], can.ui._content))
|
src: can.misc.MergePodCmd(can, {pod: can.Option(nfs.FILE)}), height: can.ui.content.offsetHeight, width: can.ui.content.offsetWidth}], can.ui._content))
|
||||||
} var meta = {type: "story", index: msg.Option(ctx.INDEX), args: can.Option(nfs.PATH) == ctx.COMMAND && can.Option(nfs.LINE) != ctx.INDEX? [can.Option(nfs.LINE)]: []}
|
} var index = msg.Option(ctx.INDEX).split(ice.FS); var meta = {type: "story", name: index[0], index: index[0], args: index.slice(1)}
|
||||||
|
if (msg._content) { return can.base.isFunc(cb) && cb(msg._content) }
|
||||||
return can.onimport.plug(can, meta, function(sub) {
|
return can.onimport.plug(can, meta, function(sub) {
|
||||||
can.page.ClassList.del(sub, sub._target, html.HIDE)
|
can.page.ClassList.del(sub, sub._target, html.HIDE)
|
||||||
sub.onaction.close = function() { can.onaction.back(can), msg._tab._close() }
|
sub.onaction.close = function() { can.onaction.back(can), msg._tab._close() }
|
||||||
|
sub.onaction["打开链接"] = function() {
|
||||||
|
can.onimport.tabview(can, can.Option(nfs.PATH), [meta.index].concat(sub.Input([], false)).join(ice.FS), ctx.INDEX)
|
||||||
|
}
|
||||||
sub.onexport.title = function(_, title) { can.page.Modify(can, msg._tab, title) }
|
sub.onexport.title = function(_, title) { can.page.Modify(can, msg._tab, title) }
|
||||||
sub.onexport.record = function(_, value, key, line) {
|
sub.onexport.record = function(_, value, key, line) {
|
||||||
line.path && can.onimport.tabview(can, line.path, line.file, line.line)
|
line.path && can.onimport.tabview(can, line.path, line.file, line.line)
|
||||||
@ -303,8 +310,9 @@ Volcanos(chat.ONSYNTAX, {_init: function(can, msg, cb) {
|
|||||||
return can.onimport.tabview(can, can.Option(nfs.PATH), ls[1].split(ice.PS)[0], web.DREAM), sub.Update()
|
return can.onimport.tabview(can, can.Option(nfs.PATH), ls[1].split(ice.PS)[0], web.DREAM), sub.Update()
|
||||||
} return can.user.open(_arg), sub.Update()
|
} return can.user.open(_arg), sub.Update()
|
||||||
}, sub.onimport.size(sub, sub.ConfHeight(can.ui.content.offsetHeight-2*html.ACTION_HEIGHT), sub.ConfWidth(can.ui.content.offsetWidth), true)
|
}, sub.onimport.size(sub, sub.ConfHeight(can.ui.content.offsetHeight-2*html.ACTION_HEIGHT), sub.ConfWidth(can.ui.content.offsetWidth), true)
|
||||||
msg._plugin = sub, can.base.isFunc(cb) && cb(msg._content = can.ui._content), can.onmotion.delay(can, function() { sub.Focus() })
|
can.onimport.layout(can)
|
||||||
}, can.ui._content)
|
msg._plugin = sub, can.base.isFunc(cb) && cb(msg._content = sub._target), can.onmotion.delay(can, function() { sub.Focus() })
|
||||||
|
}, can.ui._content.parentNode)
|
||||||
},
|
},
|
||||||
_parse: function(can, line) { line = can.page.replace(can, line||"")
|
_parse: function(can, line) { line = can.page.replace(can, line||"")
|
||||||
function wrap(text, type) { return can.page.Format(html.SPAN, text, type) }
|
function wrap(text, type) { return can.page.Format(html.SPAN, text, type) }
|
||||||
|
@ -75,7 +75,7 @@ Volcanos(chat.ONFIGURE, {
|
|||||||
}, target), zone._total(total)
|
}, target), zone._total(total)
|
||||||
},
|
},
|
||||||
})
|
})
|
||||||
Volcanos(chat.ONACTION, {list: ["调试", "首页", "官网", "文档"],
|
Volcanos(chat.ONACTION, {list: ["首页", "官网", "调试", "百度"],
|
||||||
_daemon: function(event, can, arg) { switch (arg[0]) {
|
_daemon: function(event, can, arg) { switch (arg[0]) {
|
||||||
case web.DREAM: can.runAction({}, arg[0], arg.slice(1), function(msg) { can.onimport.tabview(can, can.Option(nfs.PATH), can.core.Keys(can.misc.Search(can, ice.POD), msg.Option(mdb.NAME)), web.DREAM) }); break
|
case web.DREAM: can.runAction({}, arg[0], arg.slice(1), function(msg) { can.onimport.tabview(can, can.Option(nfs.PATH), can.core.Keys(can.misc.Search(can, ice.POD), msg.Option(mdb.NAME)), web.DREAM) }); break
|
||||||
case code.XTERM: can.runAction({}, arg[0], arg.slice(1), function(msg) { can.onimport.tabview(can, ctx.COMMAND, code.XTERM, msg.Result()) }); break
|
case code.XTERM: can.runAction({}, arg[0], arg.slice(1), function(msg) { can.onimport.tabview(can, ctx.COMMAND, code.XTERM, msg.Result()) }); break
|
||||||
@ -137,10 +137,14 @@ Volcanos(chat.ONACTION, {list: ["调试", "首页", "官网", "文档"],
|
|||||||
xterm: function(event, can, button) { can.onaction._runs(can.request(event, can.Option()), can, button, function(msg) {
|
xterm: function(event, can, button) { can.onaction._runs(can.request(event, can.Option()), can, button, function(msg) {
|
||||||
can.onimport.tabview(can, can.Option(nfs.PATH), msg.Result(), code.XTERM), can.ui.xterm.refresh(), can.user.toastSuccess(can)
|
can.onimport.tabview(can, can.Option(nfs.PATH), msg.Result(), code.XTERM), can.ui.xterm.refresh(), can.user.toastSuccess(can)
|
||||||
}) },
|
}) },
|
||||||
"首页": function(event, can) { can.onaction._open(can, location.protocol+"//"+location.host) },
|
"首页": function(event, can) { can.user.open(location.protocol+"//"+location.host) },
|
||||||
"官网": function(event, can) { can.onaction._open(can, "https://shylinux.com/") },
|
"官网": function(event, can) { can.user.open("https://shylinux.com/") },
|
||||||
"文档": function(event, can) { can.onaction._open(can, "https://developer.mozilla.org/") },
|
"调试": function(event, can) { can.user.opens(location.href) },
|
||||||
"命令": function(event, can) { can.user.input(event, can, [ctx.INDEX], function(list) { can.onimport.tabview(can, can.Option(nfs.PATH), list[0], ctx.INDEX) }) },
|
"文档": function(event, can) { can.user.opens("https://developer.mozilla.org/") },
|
||||||
|
"百度": function(event, can) { can.user.opens("https://baidu.com/") },
|
||||||
|
"命令": function(event, can) {
|
||||||
|
can.user.input(event, can, [ctx.INDEX, ctx.ARGS], function(list) { can.onimport.tabview(can, can.Option(nfs.PATH), list[0]+(list[1]? ice.FS+list[1]: ""), ctx.INDEX) })
|
||||||
|
},
|
||||||
"插件": function(event, can) { can.user.input(event, can, [ctx.INDEX], function(list) { var sub = can.db.toolkit[list[0]]; if (sub) { sub.select(); return }
|
"插件": function(event, can) { can.user.input(event, can, [ctx.INDEX], function(list) { var sub = can.db.toolkit[list[0]]; if (sub) { sub.select(); return }
|
||||||
can.onimport.toolkit(can, {index: list[0]}, function(sub) { can.db.toolkit[list[0]] = sub.select() })
|
can.onimport.toolkit(can, {index: list[0]}, function(sub) { can.db.toolkit[list[0]] = sub.select() })
|
||||||
}) },
|
}) },
|
||||||
@ -151,7 +155,6 @@ Volcanos(chat.ONACTION, {list: ["调试", "首页", "官网", "文档"],
|
|||||||
"日志": function(event, can) { window.opencmd("cd ~/contexts; tail -f var/log/bench.log") },
|
"日志": function(event, can) { window.opencmd("cd ~/contexts; tail -f var/log/bench.log") },
|
||||||
"编辑器": function(event, can) { window.opencmd("cd ~/contexts; vim +"+can.Option(nfs.LINE)+" "+can.Option(nfs.PATH)+can.Option(nfs.FILE)) },
|
"编辑器": function(event, can) { window.opencmd("cd ~/contexts; vim +"+can.Option(nfs.LINE)+" "+can.Option(nfs.PATH)+can.Option(nfs.FILE)) },
|
||||||
"浏览器": function(event, can) { window.openurl(location.href) },
|
"浏览器": function(event, can) { window.openurl(location.href) },
|
||||||
"调试": function(event, can) { window.openurl(location.href) },
|
|
||||||
_open: function(can, url) { can.user.isWebview? window.openurl(url): window.open(url) },
|
_open: function(can, url) { can.user.isWebview? window.openurl(url): window.open(url) },
|
||||||
_complete: function(event, can, target) { if (event == undefined || event.type == "click") { return } target = target||can.ui.complete
|
_complete: function(event, can, target) { if (event == undefined || event.type == "click") { return } target = target||can.ui.complete
|
||||||
var pre = can.ui.current.value.slice(0, can.ui.current.selectionStart), key = can.core.Split(pre, "\t .[]", " ").pop()||"", end = can.ui.current.value.slice(can.ui.current.selectionStart)
|
var pre = can.ui.current.value.slice(0, can.ui.current.selectionStart), key = can.core.Split(pre, "\t .[]", " ").pop()||"", end = can.ui.current.value.slice(can.ui.current.selectionStart)
|
||||||
|
@ -245,6 +245,7 @@ Volcanos(chat.ONACTION, {list: [
|
|||||||
},
|
},
|
||||||
})
|
})
|
||||||
Volcanos(chat.ONEXPORT, {
|
Volcanos(chat.ONEXPORT, {
|
||||||
|
title: function(can, title) {},
|
||||||
output: function(can, msg) {},
|
output: function(can, msg) {},
|
||||||
action: function(can, button, line) {},
|
action: function(can, button, line) {},
|
||||||
record: function(can, value, key, line) {},
|
record: function(can, value, key, line) {},
|
||||||
|
@ -56,7 +56,7 @@ Volcanos(chat.ONIMPORT, {_init: function(can, msg, target) { can.onmotion.clear(
|
|||||||
function close(target) { var next = target.nextSibling||target.previousSibling; if (!next) { return }
|
function close(target) { var next = target.nextSibling||target.previousSibling; if (!next) { return }
|
||||||
next.click(), can.onmotion.delay(can, function() { can.base.isFunc(cbs) && cbs(tabs), can.page.Remove(can, target) })
|
next.click(), can.onmotion.delay(can, function() { can.base.isFunc(cbs) && cbs(tabs), can.page.Remove(can, target) })
|
||||||
}
|
}
|
||||||
return {view: html.TABS, title: tabs.text, list: [{text: [tabs.name, html.SPAN]}, {text: ["\u2715", html.SPAN, html.ICON], onclick: function(event) {
|
return {view: html.TABS, title: tabs.text, list: [{text: [tabs.name, html.SPAN]}, {text: [can.page.unicode.delete, html.SPAN, html.ICON], onclick: function(event) {
|
||||||
close(event.target.parentNode), can.onkeymap.prevent(event)
|
close(event.target.parentNode), can.onkeymap.prevent(event)
|
||||||
}}], onclick: function(event) {
|
}}], onclick: function(event) {
|
||||||
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)
|
||||||
@ -84,13 +84,13 @@ Volcanos(chat.ONIMPORT, {_init: function(can, msg, target) { can.onmotion.clear(
|
|||||||
}, target)
|
}, target)
|
||||||
})
|
})
|
||||||
},
|
},
|
||||||
plug: function(can, meta, cb, target) { if (!meta || !meta.index) { return }
|
plug: function(can, meta, cb, target, field) { if (!meta || !meta.index) { return }
|
||||||
meta.type = meta.type||html.PLUG, meta.name = meta.index, can.onappend.plugin(can, meta, function(sub) { sub.sup = can
|
meta.type = meta.type||html.PLUG, meta.name = meta.index, can.onappend.plugin(can, meta, function(sub) { sub.sup = can
|
||||||
sub.ConfHeight(can.ConfHeight()-2*html.ACTION_HEIGHT), sub.ConfWidth(can.ConfWidth()), can.page.style(can, sub._output, html.MAX_HEIGHT, sub.ConfHeight(), html.MAX_WIDTH, sub.ConfWidth())
|
sub.ConfHeight(can.ConfHeight()-2*html.ACTION_HEIGHT), sub.ConfWidth(can.ConfWidth()), can.page.style(can, sub._output, html.MAX_HEIGHT, sub.ConfHeight(), html.MAX_WIDTH, sub.ConfWidth())
|
||||||
sub.run = function(event, cmds, cb) { if (can.page.Select(can, sub._option, "input[name=path]").length > 0 && sub.Option(nfs.PATH) == "") { sub.request(event, {path: "./"}) }
|
sub.run = function(event, cmds, cb) { if (can.page.Select(can, sub._option, "input[name=path]").length > 0 && sub.Option(nfs.PATH) == "") { sub.request(event, {path: "./"}) }
|
||||||
can.runActionCommand(can.request(event, can.Option()), meta.index, cmds, cb)
|
can.runActionCommand(can.request(event, can.Option()), meta.index, cmds, cb)
|
||||||
}, sub.onaction.close = function() { can.onmotion.hidden(can, target) }, can.base.isFunc(cb) && cb(sub)
|
}, sub.onaction.close = function() { can.onmotion.hidden(can, target) }, can.base.isFunc(cb) && cb(sub)
|
||||||
}, target)
|
}, target, field)
|
||||||
},
|
},
|
||||||
icon: function(can, name, button, target) {
|
icon: function(can, name, button, target) {
|
||||||
can.page.Append(can, target, [{text: [name, html.SPAN, html.ICON], onclick: function(event) {
|
can.page.Append(can, target, [{text: [name, html.SPAN, html.ICON], onclick: function(event) {
|
||||||
|
5
proto.js
5
proto.js
@ -110,7 +110,7 @@ var nfs = {
|
|||||||
PATH: "path", FILE: "file", LINE: "line", SIZE: "size", ROOT: "root",
|
PATH: "path", FILE: "file", LINE: "line", SIZE: "size", ROOT: "root",
|
||||||
COPY: "copy", EDIT: "edit", SAVE: "save", LOAD: "load", FIND: "find", GREP: "grep", TAGS: "tags",
|
COPY: "copy", EDIT: "edit", SAVE: "save", LOAD: "load", FIND: "find", GREP: "grep", TAGS: "tags",
|
||||||
DIR: "dir", CAT: "cat", DEFS: "defs", TRASH: "trash", DIR_ROOT: "dir_root", PWD: "./",
|
DIR: "dir", CAT: "cat", DEFS: "defs", TRASH: "trash", DIR_ROOT: "dir_root", PWD: "./",
|
||||||
CONTENT: "content", SOURCE: "source", SCRIPT: "script", MODULE: "module", RECENT: "recent",
|
CONTENT: "content", SOURCE: "source", SCRIPT: "script", TARGET: "target", MODULE: "module", RECENT: "recent",
|
||||||
HTML: "html", CSS: "css", JS: "js", GO: "go", SH: "sh", CSV: "csv", JSON: "json",
|
HTML: "html", CSS: "css", JS: "js", GO: "go", SH: "sh", CSV: "csv", JSON: "json",
|
||||||
ZML: "zml", IML: "iml", TXT: "txt", PNG: "png", WEBM: "webm",
|
ZML: "zml", IML: "iml", TXT: "txt", PNG: "png", WEBM: "webm",
|
||||||
_CSS: ".css", _JS: ".js",
|
_CSS: ".css", _JS: ".js",
|
||||||
@ -122,7 +122,7 @@ var cli = {
|
|||||||
BEGIN: "begin", START: "start", OPEN: "open", CLOSE: "close", STOP: "stop", END: "end", RESTART: "restart",
|
BEGIN: "begin", START: "start", OPEN: "open", CLOSE: "close", STOP: "stop", END: "end", RESTART: "restart",
|
||||||
COLOR: "color", WHITE: "white", BLACK: "black", RED: "red", GREEN: "green", BLUE: "blue",
|
COLOR: "color", WHITE: "white", BLACK: "black", RED: "red", GREEN: "green", BLUE: "blue",
|
||||||
YELLOW: "yellow", CYAN: "cyan", PURPLE: "purple", MAGENTA: "magenta", GLASS: "transparent",
|
YELLOW: "yellow", CYAN: "cyan", PURPLE: "purple", MAGENTA: "magenta", GLASS: "transparent",
|
||||||
GRAY: "gray",
|
GRAY: "gray", ALICEBLUE: "aliceblue",
|
||||||
MAKE: "make", MAIN: "main", EXEC: "exec", DONE: "done", COST: "cost", FROM: "from", CLEAR: "clear",
|
MAKE: "make", MAIN: "main", EXEC: "exec", DONE: "done", COST: "cost", FROM: "from", CLEAR: "clear",
|
||||||
}
|
}
|
||||||
var log = {
|
var log = {
|
||||||
@ -227,6 +227,7 @@ var html = {PLUGIN_MARGIN: 10, ACTION_HEIGHT: 31, ACTION_MARGIN: 200,
|
|||||||
LIGHT: "light", DARK: "dark",
|
LIGHT: "light", DARK: "dark",
|
||||||
|
|
||||||
PANEL: "panel",
|
PANEL: "panel",
|
||||||
|
FILTER: "filter",
|
||||||
VIEW: "view",
|
VIEW: "view",
|
||||||
PLUG: "plug",
|
PLUG: "plug",
|
||||||
DIV_PLUG: "div.plug",
|
DIV_PLUG: "div.plug",
|
||||||
|
Loading…
x
Reference in New Issue
Block a user