1
0
mirror of https://shylinux.com/x/volcanos synced 2025-04-25 08:48:06 +08:00

opt word.js

This commit is contained in:
IT 老营长 @云轩领航-创始人 2022-07-07 01:18:45 +08:00
parent 636c1d7fc9
commit e9709de6a1
42 changed files with 142 additions and 149 deletions

View File

@ -1,4 +1,4 @@
Volcanos(chat.ONENGINE, {help: "搜索引擎", list: [], _init: function(can, meta, list, cb, target) { Volcanos(chat.ONENGINE, {help: "搜索引擎", _init: function(can, meta, list, cb, target) {
if (can.misc.Search(can, ice.MSG_SESSID)) { can.misc.CookieSessid(can, can.misc.Search(can, ice.MSG_SESSID)) if (can.misc.Search(can, ice.MSG_SESSID)) { can.misc.CookieSessid(can, can.misc.Search(can, ice.MSG_SESSID))
return can.misc.Search(can, ice.MSG_SESSID, "") return can.misc.Search(can, ice.MSG_SESSID, "")
} }
@ -105,7 +105,7 @@ Volcanos(chat.ONENGINE, {help: "搜索引擎", list: [], _init: function(can, me
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
}), }),
}) })
Volcanos(chat.ONDAEMON, {help: "推荐引擎", list: [], _init: function(can, name) { if (can.user.isLocalFile) { return } Volcanos(chat.ONDAEMON, {help: "推荐引擎", _init: function(can, name) { if (can.user.isLocalFile) { return }
can.misc.WSS(can, {type: html.CHROME, name: can.misc.Search(can, cli.DAEMON)||name||"", text: can.user.title()}, function(event, msg, cmd, arg) { if (!msg) { return } can.misc.WSS(can, {type: html.CHROME, name: can.misc.Search(can, cli.DAEMON)||name||"", text: can.user.title()}, function(event, msg, cmd, arg) { if (!msg) { return }
var sub = can.ondaemon._list[msg.Option(ice.MSG_TARGET)] var sub = can.ondaemon._list[msg.Option(ice.MSG_TARGET)]
can.base.isFunc(can.ondaemon[cmd])? can.core.CallFunc(can.ondaemon[cmd], { can.base.isFunc(can.ondaemon[cmd])? can.core.CallFunc(can.ondaemon[cmd], {
@ -119,7 +119,7 @@ Volcanos(chat.ONDAEMON, {help: "推荐引擎", list: [], _init: function(can, na
pwd: function(can, msg, arg) { can.ondaemon._list[0] = arg[0] }, pwd: function(can, msg, arg) { can.ondaemon._list[0] = arg[0] },
exit: function(can, msg, sub) { can.user.close() }, exit: function(can, msg, sub) { can.user.close() },
}) })
Volcanos(chat.ONAPPEND, {help: "渲染引擎", list: [], _init: function(can, meta, list, cb, target, field) { Volcanos(chat.ONAPPEND, {help: "渲染引擎", _init: function(can, meta, list, cb, target, field) {
meta.name = (meta.name||"").split(ice.SP)[0].split(ice.PT).pop() meta.name = (meta.name||"").split(ice.SP)[0].split(ice.PT).pop()
field = field||can.onappend.field(can, meta.type, meta, target).first field = field||can.onappend.field(can, meta.type, meta, target).first
var legend = can.page.Select(can, field, html.LEGEND)[0] var legend = can.page.Select(can, field, html.LEGEND)[0]
@ -427,7 +427,7 @@ Volcanos(chat.ONAPPEND, {help: "渲染引擎", list: [], _init: function(can, me
}) })
}, },
}) })
Volcanos(chat.ONLAYOUT, {help: "页面布局", list: [], _init: function(can, target) { target = target||can._root._target Volcanos(chat.ONLAYOUT, {help: "页面布局", _init: function(can, target) { target = target||can._root._target
if (can.page.Select(can, target, can.core.Keys(html.FIELDSET_MAIN, html.PAGE)).length > 0) { if (can.page.Select(can, target, can.core.Keys(html.FIELDSET_MAIN, html.PAGE)).length > 0) {
can.page.Select(can, target, html.FIELDSET_LEFT, function(field) { can.page.styleHeight(can, field, "") can.page.Select(can, target, html.FIELDSET_LEFT, function(field) { can.page.styleHeight(can, field, "")
can.page.Select(can, target, [[html.FIELDSET_LEFT, html.DIV_OUTPUT]], function(output) { can.page.Select(can, target, [[html.FIELDSET_LEFT, html.DIV_OUTPUT]], function(output) {
@ -452,7 +452,7 @@ Volcanos(chat.ONLAYOUT, {help: "页面布局", list: [], _init: function(can, ta
can.user.isMobile || (width -= field.offsetWidth) can.user.isMobile || (width -= field.offsetWidth)
can.page.styleHeight(can, field, height-offset) can.page.styleHeight(can, field, height-offset)
can.page.Select(can, target, [[html.FIELDSET_LEFT, html.DIV_OUTPUT]], function(output) { can.page.Select(can, target, [[html.FIELDSET_LEFT, html.DIV_OUTPUT]], function(output) {
can.page.styleHeight(can, output, height-offset-html.ACTION_HEIGHT-1) can.page.styleHeight(can, output, height-offset-html.ACTION_HEIGHT-2)
}) })
}) })
@ -473,7 +473,7 @@ Volcanos(chat.ONLAYOUT, {help: "页面布局", list: [], _init: function(can, ta
if (layout) { return can.page.style(can, target, layout), can.onmotion.move(can, target, layout), layout } if (layout) { return can.page.style(can, target, layout), can.onmotion.move(can, target, layout), layout }
if (!event || !event.target || !event.clientX) { return {} } if (!event || !event.target || !event.clientX) { return {} }
var left = event.clientX-event.offsetX, top = event.clientY-event.offsetY+event.target.offsetHeight-5; if (right) { var left = event.clientX-event.offsetX, top = event.clientY-event.offsetY+event.target.offsetHeight-1; if (right) {
var left = event.clientX-event.offsetX+event.target.offsetWidth, top = event.clientY-event.offsetY var left = event.clientX-event.offsetX+event.target.offsetWidth, top = event.clientY-event.offsetY
} }
@ -535,7 +535,7 @@ Volcanos(chat.ONLAYOUT, {help: "页面布局", list: [], _init: function(can, ta
] }]); return can.ui = ui ] }]); return can.ui = ui
}, },
}) })
Volcanos(chat.ONMOTION, {help: "动态特效", list: [], _init: function(can, target) { Volcanos(chat.ONMOTION, {help: "动态特效", _init: function(can, target) {
window.addEventListener(html.ORIENTATIONCHANGE, function(event) { can.onengine.signal(can, html.ORIENTATIONCHANGE) }) window.addEventListener(html.ORIENTATIONCHANGE, function(event) { can.onengine.signal(can, html.ORIENTATIONCHANGE) })
can.onmotion.float.auto(can, target) can.onmotion.float.auto(can, target)
}, },
@ -775,7 +775,7 @@ Volcanos(chat.ONMOTION, {help: "动态特效", list: [], _init: function(can, ta
} can.onkeymap.prevent(event) } can.onkeymap.prevent(event)
}, },
}) })
Volcanos(chat.ONKEYMAP, {help: "键盘交互", list: [], _focus: [], _init: function(can, target) { Volcanos(chat.ONKEYMAP, {help: "键盘交互", _focus: [], _init: function(can, target) {
document.body.onclick = function(event) { document.body.onclick = function(event) {
if (window.webview) { if (window.webview) {
if (event.target.tagName == "A") { can.user.open(event.target.href) } if (event.target.tagName == "A") { can.user.open(event.target.href) }

View File

@ -56,6 +56,7 @@ Volcanos("page", {help: "用户界面", ClassList: {
"left": true, "right": true, "top": true, "bottom": true, "left": true, "right": true, "top": true, "bottom": true,
"height": true, "max-height": true, "min-height": true, "height": true, "max-height": true, "min-height": true,
"width": true, "max-width": true, "min-width": true, "width": true, "max-width": true, "min-width": true,
"padding": true,
} }
if (size[k] && v && (can.base.isNumber(v) || v.indexOf && v.indexOf("px") == -1)) { v += "px" } if (size[k] && v && (can.base.isNumber(v) || v.indexOf && v.indexOf("px") == -1)) { v += "px" }

View File

@ -1,10 +1,17 @@
body, fieldset, table, tr, th, td { padding:0; border:0; margin:0; } body, fieldset, table, tr, th, td { padding:0; border:0; margin:0; }
body { background-color:black; color:cyan; font-size:14px; font-family:sans-serif; } body { background-color:black; color:cyan; font-size:14px; font-family:sans-serif; }
body { overflow:-moz-scrollbars-none; -ms-overflow-style:none; }
body::-webkit-scrollbar { width:0 !important; height:0 !important; }
fieldset.panel.Action>div.output::-webkit-scrollbar { width:0 !important; height:0 !important; }
div.story[data-type=spark]::-webkit-scrollbar { width:0 !important; height:0 !important; }
div.project::-webkit-scrollbar { width:0 !important; height:0 !important; }
div.content::-webkit-scrollbar { width:0 !important; height:0 !important; }
legend { background-color:#339999; color:white; padding:0px 20px; margin-top:4px 5px; } legend { background-color:#339999; color:white; padding:0px 20px; margin-top:4px 5px; }
select { background-color:black; color:cyan; padding:0 10px; height:1.92rem; } select { background-color:black; color:cyan; padding:0 10px; height:1.92rem; }
textarea { background-color:cyan; height:60px; width:400px; } textarea { background-color:cyan; height:60px; width:400px; }
input[type=button] { background-color:black; color:cyan; } input[type=button] { background-color:black; color:cyan; height:31px; }
input[name=cmd] { background-color:black; color:white; width:240px; } input[name=cmd] { background-color:black; color:white; width:240px; }
input[type=text] { background-color:cyan; color:black; padding:0 4px; height:27px; width:90px; } input[type=text] { background-color:cyan; color:black; padding:0 4px; height:27px; width:90px; }
input[type=password] { background-color:cyan; color:black; padding:0 4px; height:27px; width:90px; } input[type=password] { background-color:cyan; color:black; padding:0 4px; height:27px; width:90px; }

View File

@ -4,7 +4,7 @@ Volcanos({name: "chat", panels: [
{name: "Action", help: "工作台", pos: html.MAIN}, {name: "Action", help: "工作台", pos: html.MAIN},
{name: "Footer", help: "状态条", pos: html.FOOT, state: ["ncmd"]}, {name: "Footer", help: "状态条", pos: html.FOOT, state: ["ncmd"]},
{name: "Search", help: "搜索框", pos: html.AUTO}, {name: "Search", help: "搜索框", pos: html.AUTO},
], main: {name: "Header", list: []}, river: { ], main: {name: "Header"}, river: {
product: {name: "产品群", storm: { product: {name: "产品群", storm: {
office: {name: "办公 office", list: [ office: {name: "办公 office", list: [
{name: "feel", help: "影音媒体", index: "web.wiki.feel"}, {name: "feel", help: "影音媒体", index: "web.wiki.feel"},

View File

@ -1,5 +1,5 @@
fieldset.Action { background-color:rgba(114, 153, 162, 0.54); min-width:160px; } fieldset.Action { background-color:rgba(114, 153, 162, 0.54); min-width:160px; }
fieldset.Action>div.action { background-color:#159cc7b0; padding:0; margin:0; height:28px; display:none; position:absolute; } fieldset.Action>div.action { background-color:#159cc7b0; padding:0; margin:0; height:29px; display:none; position:absolute; }
fieldset.Action.tabs>div.action { display:block; } fieldset.Action.tabs>div.action { display:block; }
fieldset.Action.tabs>div.output { margin-top:28px; } fieldset.Action.tabs>div.output { margin-top:28px; }

View File

@ -1,4 +1,4 @@
Volcanos(chat.ONIMPORT, {help: "导入数据", list: [], _init: function(can, msg) { Volcanos(chat.ONIMPORT, {help: "导入数据", _init: function(can, msg) {
var river = can.Conf(chat.RIVER), storm = can.Conf(chat.STORM) var river = can.Conf(chat.RIVER), storm = can.Conf(chat.STORM)
can.onmotion.clear(can), can.core.Next(msg.Table(), function(item, next) { can.onmotion.clear(can), can.core.Next(msg.Table(), function(item, next) {
item.height = can.ConfHeight()-can.Conf(html.MARGIN_Y) item.height = can.ConfHeight()-can.Conf(html.MARGIN_Y)
@ -54,7 +54,7 @@ Volcanos(chat.ONIMPORT, {help: "导入数据", list: [], _init: function(can, ms
can.page.styleHeight(can._target, height) can.page.styleHeight(can._target, height)
}, },
}) })
Volcanos(chat.ONENGINE, {help: "解析引擎", list: [], _engine: function(event, page, msg, can, cmds, cb) { Volcanos(chat.ONENGINE, {help: "解析引擎", _engine: function(event, page, msg, can, cmds, cb) {
var storm = can.core.Value(can._root, can.core.Keys(chat.RIVER, cmds[0], chat.STORM, cmds[1])) var storm = can.core.Value(can._root, can.core.Keys(chat.RIVER, cmds[0], chat.STORM, cmds[1]))
if (!storm || cmds.length != 2) { return false } if (!storm || cmds.length != 2) { return false }
@ -75,7 +75,7 @@ Volcanos(chat.ONENGINE, {help: "解析引擎", list: [], _engine: function(event
} }
return true return true
}}) }})
Volcanos(chat.ONPLUGIN, {help: "注册插件", list: [], Volcanos(chat.ONPLUGIN, {help: "注册插件",
"parse": shy("解析", { "parse": shy("解析", {
"show": function(can, msg, cmds) { "show": function(can, msg, cmds) {
can.require(["/plugin/story/parse.js"], function() { can.require(["/plugin/story/parse.js"], function() {
@ -110,7 +110,7 @@ Volcanos(chat.ONPLUGIN, {help: "注册插件", list: [],
}), }),
"can.code.inner.plugin": shy("插件", {}, [{type: "button", name: "list", action: "auto"}, "back"], function(can, msg, cmds) {}), "can.code.inner.plugin": shy("插件", {}, [{type: "button", name: "list", action: "auto"}, "back"], function(can, msg, cmds) {}),
}) })
Volcanos(chat.ONKEYMAP, {help: "键盘交互", list: [], _focus: [], _init: function(can, target) { Volcanos(chat.ONKEYMAP, {help: "键盘交互", _focus: [], _init: function(can, target) {
can.onkeymap._build(can), can.onengine.listen(can, chat.ONKEYDOWN, function(msg, model) { can.onkeymap._build(can), can.onengine.listen(can, chat.ONKEYDOWN, function(msg, model) {
can._keylist = can.onkeymap._parse(msg._event, can, model, can._keylist||[], can._output) can._keylist = can.onkeymap._parse(msg._event, can, model, can._keylist||[], can._output)
}) })
@ -144,7 +144,7 @@ Volcanos(chat.ONKEYMAP, {help: "键盘交互", list: [], _focus: [], _init: func
}, },
}, _engine: {}, }, _engine: {},
}) })
Volcanos(chat.ONACTION, {help: "交互操作", list: [], _init: function(can, cb, target) { Volcanos(chat.ONACTION, {help: "交互操作", _init: function(can, cb, target) {
can.Conf(html.MARGIN_Y, 4*html.PLUGIN_MARGIN+2*html.ACTION_HEIGHT+html.ACTION_MARGIN) can.Conf(html.MARGIN_Y, 4*html.PLUGIN_MARGIN+2*html.ACTION_HEIGHT+html.ACTION_MARGIN)
can.Conf(html.MARGIN_X, 4*html.PLUGIN_MARGIN) can.Conf(html.MARGIN_X, 4*html.PLUGIN_MARGIN)
@ -232,7 +232,7 @@ Volcanos(chat.ONACTION, {help: "交互操作", list: [], _init: function(can, cb
}) })
}, },
}) })
Volcanos(chat.ONLAYOUT, {help: "导出数据", list: [], Volcanos(chat.ONLAYOUT, {help: "导出数据",
auto: function(can) { auto: function(can) {
can.Conf(chat.LAYOUT, "") can.Conf(chat.LAYOUT, "")
}, },
@ -258,7 +258,7 @@ Volcanos(chat.ONLAYOUT, {help: "导出数据", list: [],
return can.onmotion.toimage(event, can, can.Conf(chat.STORM), can._output), true return can.onmotion.toimage(event, can, can.Conf(chat.STORM), can._output), true
}, },
}) })
Volcanos(chat.ONEXPORT, {help: "导出数据", list: [], Volcanos(chat.ONEXPORT, {help: "导出数据",
args: function(can, msg, cb, target) { args: function(can, msg, cb, target) {
can.core.Next(can.page.Select(can, target, [[html.FIELDSET_PLUGIN, html.FORM_OPTION]]), function(item, next, index, array) { can.core.Next(can.page.Select(can, target, [[html.FIELDSET_PLUGIN, html.FORM_OPTION]]), function(item, next, index, array) {
item.dataset.args = JSON.stringify(can.page.Select(can, item, html.OPTION_ARGS, function(item) { return item.value||"" })) item.dataset.args = JSON.stringify(can.page.Select(can, item, html.OPTION_ARGS, function(item) { return item.value||"" }))

View File

@ -1,4 +1,4 @@
Volcanos(chat.ONIMPORT, {help: "导入数据", list: [], _init: function(can, msg, cb, target) { Volcanos(chat.ONIMPORT, {help: "导入数据", _init: function(can, msg, cb, target) {
can.onmotion.clear(can), can.base.isFunc(cb) && cb(msg) can.onmotion.clear(can), can.base.isFunc(cb) && cb(msg)
can.onimport._title(can, msg, target) can.onimport._title(can, msg, target)
can.onimport._state(can, msg, target) can.onimport._state(can, msg, target)
@ -49,7 +49,7 @@ Volcanos(chat.ONIMPORT, {help: "导入数据", list: [], _init: function(can, ms
can.onimport.count(can, "ncmd") can.onimport.count(can, "ncmd")
}, },
}) })
Volcanos(chat.ONACTION, {help: "交互数据", list: [], _init: function(can, cb, target) { Volcanos(chat.ONACTION, {help: "交互数据", _init: function(can, cb, target) {
if (can.user.mod.isPod || can.user.isExtension) { can.onmotion.hidden(can, can._target) } if (can.user.mod.isPod || can.user.isExtension) { can.onmotion.hidden(can, can._target) }
can.base.isFunc(cb) && cb() can.base.isFunc(cb) && cb()
}, },
@ -59,7 +59,7 @@ Volcanos(chat.ONACTION, {help: "交互数据", list: [], _init: function(can, cb
onaction_cmd: function(can, msg) { can.onmotion.hidden(can) }, onaction_cmd: function(can, msg) { can.onmotion.hidden(can) },
oncommandfocus: function(can) { can.page.Select(can, can._output, ["div.cmd", "input"], function(target) { can.onmotion.focus(can, target) }) }, oncommandfocus: function(can) { can.page.Select(can, can._output, ["div.cmd", "input"], function(target) { can.onmotion.focus(can, target) }) },
}) })
Volcanos(chat.ONEXPORT, {help: "导出数据", list: [], Volcanos(chat.ONEXPORT, {help: "导出数据",
height: function(can) { return can._target.offsetHeight }, height: function(can) { return can._target.offsetHeight },
float: function(can, msg, cb, name, bottom) { if (can[name]) { return can[name].close() } float: function(can, msg, cb, name, bottom) { if (can[name]) { return can[name].close() }
var ui = can.onappend.field(can, "story toast float", {}, can._root._target) var ui = can.onappend.field(can, "story toast float", {}, can._root._target)

View File

@ -1,4 +1,4 @@
Volcanos(chat.ONIMPORT, {help: "导入数据", list: [], _init: function(can, msg, cb, target) { Volcanos(chat.ONIMPORT, {help: "导入数据", _init: function(can, msg, cb, target) {
can.onmotion.clear(can) can.onmotion.clear(can)
can.onimport._title(can, msg, target) can.onimport._title(can, msg, target)
can.onimport._state(can, msg, target) can.onimport._state(can, msg, target)
@ -102,7 +102,7 @@ Volcanos(chat.ONIMPORT, {help: "导入数据", list: [], _init: function(can, ms
}) }]).first }) }]).first
}, },
}) })
Volcanos(chat.ONPLUGIN, {help: "注册插件", list: [], Volcanos(chat.ONPLUGIN, {help: "注册插件",
"topic": shy("主题", { "topic": shy("主题", {
"demo": function(can, msg, cmds) { can.onimport.topic(can, cmds[0]) }, "demo": function(can, msg, cmds) { can.onimport.topic(can, cmds[0]) },
}, ["topic:select=white,black", "run:button", "demo:button"], function(can, msg, cmds) { }, ["topic:select=white,black", "run:button", "demo:button"], function(can, msg, cmds) {
@ -123,7 +123,7 @@ Volcanos(chat.ONPLUGIN, {help: "注册插件", list: [],
console.log(cmds[0]) console.log(cmds[0])
}), }),
}) })
Volcanos(chat.ONACTION, {help: "交互数据", list: [], _init: function(can, cb, target) { Volcanos(chat.ONACTION, {help: "交互数据", _init: function(can, cb, target) {
can.base.isFunc(cb) && cb() can.base.isFunc(cb) && cb()
}, },
_menus: [["setting", chat.BLACK, chat.WHITE, chat.PRINT, code.WEBPACK, "toimage", ctx.CONFIG]], _menus: [["setting", chat.BLACK, chat.WHITE, chat.PRINT, code.WEBPACK, "toimage", ctx.CONFIG]],
@ -240,7 +240,7 @@ Volcanos(chat.ONACTION, {help: "交互数据", list: [], _init: function(can, cb
clear: function(event, can) { can.onimport.background(event, can, ""), can.onimport.avatar(event, can, "") }, clear: function(event, can) { can.onimport.background(event, can, ""), can.onimport.avatar(event, can, "") },
logout: function(event, can) { can.user.logout(can) }, logout: function(event, can) { can.user.logout(can) },
}) })
Volcanos(chat.ONEXPORT, {help: "导出数据", list: [], Volcanos(chat.ONEXPORT, {help: "导出数据",
height: function(can) { return can._target.offsetHeight }, height: function(can) { return can._target.offsetHeight },
topic: function(can) { return can._topic }, topic: function(can) { return can._topic },
avatar: function(can) { avatar: function(can) {

View File

@ -1,4 +1,4 @@
Volcanos(chat.ONIMPORT, {help: "导入数据", list: [], _init: function(can, msg, cb, target) { Volcanos(chat.ONIMPORT, {help: "导入数据", _init: function(can, msg, cb, target) {
can.onmotion.clear(can), can.river_list = {}, can.storm_list = {} can.onmotion.clear(can), can.river_list = {}, can.storm_list = {}
can.onimport._main(can, msg), can.onimport._menu(can, msg) can.onimport._main(can, msg), can.onimport._menu(can, msg)
@ -6,9 +6,7 @@ Volcanos(chat.ONIMPORT, {help: "导入数据", list: [], _init: function(can, ms
return can.onimport._river(can, item, function(target) { return can.onimport._river(can, item, function(target) {
(index == 0 || item.hash == can._main_river) && (select = target) (index == 0 || item.hash == can._main_river) && (select = target)
}) })
})), select && can.onmotion.delay(can, function() { })), select && select.click()
can.onlayout._init(can), select.click()
})
}, },
_main: function(can, msg) { _main: function(can, msg) {
// if (can.user.isMobile) { can._main_river = "product", can._main_storm = "office" } // if (can.user.isMobile) { can._main_river = "product", can._main_storm = "office" }
@ -54,7 +52,7 @@ Volcanos(chat.ONIMPORT, {help: "导入数据", list: [], _init: function(can, ms
var show = can.onmotion.toggle(can, can._target); can.onlayout._init(can); return show var show = can.onmotion.toggle(can, can._target); can.onlayout._init(can); return show
}, },
}) })
Volcanos(chat.ONENGINE, {help: "解析引擎", list: [], _engine: function(event, can, msg, panel, cmds, cb) { Volcanos(chat.ONENGINE, {help: "解析引擎", _engine: function(event, can, msg, panel, cmds, cb) {
var list = can._root.river var list = can._root.river
cmds.length == 0 && can.core.ItemSort(list, "order", function(key, value) { cmds.length == 0 && can.core.ItemSort(list, "order", function(key, value) {
if (can.core.Item(value.storm).length == 0) { return } if (can.core.Item(value.storm).length == 0) { return }
@ -66,7 +64,7 @@ Volcanos(chat.ONENGINE, {help: "解析引擎", list: [], _engine: function(event
msg.Push({hash: key, name: can.user.language(can) == "en"? key: value.name}) // 应用列表 msg.Push({hash: key, name: can.user.language(can) == "en"? key: value.name}) // 应用列表
}), can.base.isFunc(cb) && cb(msg); return true }), can.base.isFunc(cb) && cb(msg); return true
}}) }})
Volcanos(chat.ONACTION, {help: "控件交互", list: [], _init: function(can, cb, target) { Volcanos(chat.ONACTION, {help: "控件交互", _init: function(can, cb, target) {
can.onmotion.hidden(can, target), can.base.isFunc(cb) && cb() can.onmotion.hidden(can, target), can.base.isFunc(cb) && cb()
}, },
onlogin: function(can, msg) { onlogin: function(can, msg) {
@ -111,9 +109,12 @@ Volcanos(chat.ONACTION, {help: "控件交互", list: [], _init: function(can, cb
can.onmotion.select(can, can._output, html.DIV_ITEM, can.river_list[river]) can.onmotion.select(can, can._output, html.DIV_ITEM, can.river_list[river])
can.onmotion.select(can, can._output, [html.DIV_LIST, html.DIV_ITEM], can.storm_list[can.core.Keys(river, storm)]) can.onmotion.select(can, can._output, [html.DIV_LIST, html.DIV_ITEM], can.storm_list[can.core.Keys(river, storm)])
can.onmotion.delay(can, function() {
can.onlayout._init(can)
can.onengine.signal(can, chat.ONSTORM_SELECT, can.request(event, { can.onengine.signal(can, chat.ONSTORM_SELECT, can.request(event, {
river: can.Conf(chat.RIVER, river), storm: can.Conf(chat.STORM, storm), river: can.Conf(chat.RIVER, river), storm: can.Conf(chat.STORM, storm),
})) }))
})
}, },
create: function(event, can) { create: function(event, can) {
@ -232,7 +233,7 @@ Volcanos(chat.ONDETAIL, {help: "菜单交互",
}) })
}, },
}) })
Volcanos(chat.ONEXPORT, {help: "导出数据", list: [], Volcanos(chat.ONEXPORT, {help: "导出数据",
width: function(can) { return can._target.offsetWidth }, width: function(can) { return can._target.offsetWidth },
storm: function(can, msg, word) { storm: function(can, msg, word) {
var fields = (msg.Option(ice.MSG_FIELDS)||"ctx,cmd,type,name,text").split(",") var fields = (msg.Option(ice.MSG_FIELDS)||"ctx,cmd,type,name,text").split(",")

View File

@ -1,4 +1,4 @@
Volcanos(chat.ONIMPORT, {help: "导入数据", list: [], _init: function(can, msg, list, cb, target) { Volcanos(chat.ONIMPORT, {help: "导入数据", _init: function(can, msg, list, cb, target) {
can.list = msg.Table(), can.onmotion.clear(can, can.ui.content) can.list = msg.Table(), can.onmotion.clear(can, can.ui.content)
var table = can.onappend.table(can, msg, function(value, key, index, line, array) { can.Status(mdb.TOTAL, index+1) var table = can.onappend.table(can, msg, function(value, key, index, line, array) { can.Status(mdb.TOTAL, index+1)
return {text: [key == mdb.TEXT && can.base.isFunc(line.text) && line.text.help || value, html.TD], onclick: function(event) { return {text: [key == mdb.TEXT && can.base.isFunc(line.text) && line.text.help || value, html.TD], onclick: function(event) {
@ -126,7 +126,7 @@ Volcanos(chat.ONACTION, {help: "交互操作", list: [cli.CLOSE, cli.CLEAR, cli.
}, can.ui.profile) }, can.ui.profile)
}, },
}) })
Volcanos(chat.ONEXPORT, {help: "导出数据", list: [], Volcanos(chat.ONEXPORT, {help: "导出数据",
select: function(can) { select: function(can) {
return can.page.Select(can, can.ui.display, html.TR, function(tr) { return can.page.Select(can, can.ui.display, html.TR, function(tr) {
return can.page.Select(can, tr, html.TD, function(td) { return td.innerHTML }) return can.page.Select(can, tr, html.TD, function(td) { return td.innerHTML })

View File

@ -1,4 +1,4 @@
Volcanos(chat.ONACTION, {help: "控件交互", list: [], _init: function(can, meta, cb, target) { Volcanos(chat.ONACTION, {help: "控件交互", _init: function(can, meta, cb, target) {
can.base.isFunc(cb) && cb(); switch (meta.type) { can.base.isFunc(cb) && cb(); switch (meta.type) {
case html.SELECT: meta.value && (target.value = meta.value); break case html.SELECT: meta.value && (target.value = meta.value); break
case html.BUTTON: meta.action == ice.AUTO && target.click(); break case html.BUTTON: meta.action == ice.AUTO && target.click(); break

View File

@ -1,4 +1,4 @@
Volcanos(chat.ONFIGURE, {help: "控件详情", list: [], date: {onclick: function(event, can, meta, cb, target) { cb(function(can, cbs) { Volcanos(chat.ONFIGURE, {help: "控件详情", date: {onclick: function(event, can, meta, cb, target) { cb(function(can, cbs) {
function set(now) { target.value = can.user.time(can, now), can.close(), meta && meta.action == ice.AUTO && can.run({}) } function set(now) { target.value = can.user.time(can, now), can.close(), meta && meta.action == ice.AUTO && can.run({}) }
// 添加控件 // 添加控件

View File

@ -1,4 +1,4 @@
Volcanos(chat.ONFIGURE, {help: "控件详情", list: [], key: { Volcanos(chat.ONFIGURE, {help: "控件详情", key: {
_init: function(event, can, cbs, target, name, value) { var call = arguments.callee _init: function(event, can, cbs, target, name, value) { var call = arguments.callee
can.runAction(event, mdb.INPUTS, [name, value||target.value], function(msg) { can.runAction(event, mdb.INPUTS, [name, value||target.value], function(msg) {
can.onmotion.clear(can), can.onappend.table(can, msg, function(value) { can.onmotion.clear(can), can.onappend.table(can, msg, function(value) {

View File

@ -1,4 +1,4 @@
Volcanos(chat.ONFIGURE, {help: "控件详情", list: [], province: {onclick: function(event, can, meta, cb, target) { cb(function(can, cbs) { Volcanos(chat.ONFIGURE, {help: "控件详情", province: {onclick: function(event, can, meta, cb, target) { cb(function(can, cbs) {
can.require(["/require/shylinux.com/x/echarts/echarts.js", "/require/shylinux.com/x/echarts/china.js"], function() { can.require(["/require/shylinux.com/x/echarts/echarts.js", "/require/shylinux.com/x/echarts/china.js"], function() {
var china_chart = echarts.init(can.page.Append(can, can._output, [{type: html.DIV, style: {width: 600, height: 400}}]).first) var china_chart = echarts.init(can.page.Append(can, can._output, [{type: html.DIV, style: {width: 600, height: 400}}]).first)
china_chart.setOption({geo: {map: 'china'}}), china_chart.on(html.CLICK, function (params) { china_chart.setOption({geo: {map: 'china'}}), china_chart.on(html.CLICK, function (params) {

View File

@ -1,4 +1,4 @@
Volcanos(chat.ONIMPORT, {help: "导入数据", list: [], _init: function(can, msg, list, cb, target) { Volcanos(chat.ONIMPORT, {help: "导入数据", _init: function(can, msg, cb, target) {
var meta = {}; msg.Table(function(value) { meta[value.key] = value.value }) var meta = {}; msg.Table(function(value) { meta[value.key] = value.value })
can._meta = can.base.Obj(meta.text, {meta: {name: meta.name||"hi"}, list: []}) can._meta = can.base.Obj(meta.text, {meta: {name: meta.name||"hi"}, list: []})
can.base.isFunc(cb) && cb(msg) can.base.isFunc(cb) && cb(msg)
@ -76,7 +76,7 @@ Volcanos(chat.ONIMPORT, {help: "导入数据", list: [], _init: function(can, ms
return field return field
}, },
}, ["/plugin/local/chat/div.css"]) }, ["/plugin/local/chat/div.css"])
Volcanos(chat.ONACTION, {help: "操作数据", list: [], Volcanos(chat.ONACTION, {help: "操作数据",
"添加": function(event, can) { "添加": function(event, can) {
can.user.input(event, can, [mdb.NAME, ctx.INDEX, ctx.ARGS, ctx.STYLE, html.HEIGHT, html.WIDTH], function(data) { can.user.input(event, can, [mdb.NAME, ctx.INDEX, ctx.ARGS, ctx.STYLE, html.HEIGHT, html.WIDTH], function(data) {
can.current._add({meta: data, list: []}) can.current._add({meta: data, list: []})
@ -89,4 +89,3 @@ Volcanos(chat.ONACTION, {help: "操作数据", list: [],
can.onmotion.share(event, can, [], [mdb.LINK, can.misc.MergeURL(can, {_path: "/chat/div/"+can.Option("hash")})]) can.onmotion.share(event, can, [], [mdb.LINK, can.misc.MergeURL(can, {_path: "/chat/div/"+can.Option("hash")})])
}, },
}) })
Volcanos(chat.ONEXPORT, {help: "导出数据", list: []})

View File

@ -1,4 +1,4 @@
Volcanos(chat.ONIMPORT, {help: "导入数据", list: [], _init: function(can, msg, list, cb, target) { Volcanos(chat.ONIMPORT, {help: "导入数据", _init: function(can, msg, cb, target) {
can.ui = can.onlayout.display(can, target) can.ui = can.onlayout.display(can, target)
can.ui.canvas = can.page.Append(can, can.ui.display, [{type: "canvas", width: 320, height: 240, style: {display: "none"}}]).first can.ui.canvas = can.page.Append(can, can.ui.display, [{type: "canvas", width: 320, height: 240, style: {display: "none"}}]).first
@ -14,7 +14,7 @@ Volcanos(chat.ONIMPORT, {help: "导入数据", list: [], _init: function(can, ms
can.base.isFunc(cb) && cb(msg) can.base.isFunc(cb) && cb(msg)
}, },
}) })
Volcanos(chat.ONACTION, {help: "操作数据", list: [], _init: function(can, msg, list, cb, target) { Volcanos(chat.ONACTION, {help: "操作数据", _init: function(can, msg, cb, target) {
}, },
open: function(event, can) { open: function(event, can) {
@ -31,5 +31,3 @@ Volcanos(chat.ONACTION, {help: "操作数据", list: [], _init: function(can, ms
can.page.Append(can, can.ui.display, [{type: "img", src: can.ui.canvas.toDataURL('image/webp')}]) can.page.Append(can, can.ui.display, [{type: "img", src: can.ui.canvas.toDataURL('image/webp')}])
}, },
}) })
Volcanos(chat.ONEXPORT, {help: "导出数据", list: [],
})

View File

@ -1,4 +1,4 @@
Volcanos(chat.ONIMPORT, {help: "导入数据", list: [], _init: function(can, msg, list, cb, target) { Volcanos(chat.ONIMPORT, {help: "导入数据", _init: function(can, msg, cb, target) {
can.onmotion.clear(can) can.onmotion.clear(can)
can.from = can.onimport._plugin(can, nfs.DIR, html.LEFT, "from", "to") can.from = can.onimport._plugin(can, nfs.DIR, html.LEFT, "from", "to")
can.to = can.onimport._plugin(can, nfs.DIR, html.RIGHT, "to", "from") can.to = can.onimport._plugin(can, nfs.DIR, html.RIGHT, "to", "from")
@ -21,7 +21,7 @@ Volcanos(chat.ONIMPORT, {help: "导入数据", list: [], _init: function(can, ms
}) })
}, },
}) })
Volcanos(chat.ONACTION, {help: "导入数据", list: [], _init: function(can, msg, list, cb, target) { Volcanos(chat.ONACTION, {help: "导入数据", _init: function(can, msg, cb, target) {
}, },
send: function(can, from, to, event, cmds, cb) { var _from = can[from], _to = can[to] send: function(can, from, to, event, cmds, cb) { var _from = can[from], _to = can[to]
var path = can.request(event).Option(nfs.PATH) var path = can.request(event).Option(nfs.PATH)

View File

@ -21,7 +21,7 @@ fieldset.inner>div.output div.content td.text span.datatype { color:lightgreen;
fieldset.inner>div.output div.content td.text span.function { color:cyan; font-weight:bold; } fieldset.inner>div.output div.content td.text span.function { color:cyan; font-weight:bold; }
fieldset.inner>div.output div.content td.text span.constant { color:magenta; } fieldset.inner>div.output div.content td.text span.constant { color:magenta; }
fieldset.inner>div.output div.content td.text span.string { color:magenta; } fieldset.inner>div.output div.content td.text span.string { color:magenta; }
fieldset.inner>div.output div.content legend { margin-right:4px; height:30px; float:left; } fieldset.inner>div.output div.content legend { margin-right:4px; float:left; }
fieldset.inner>div.output div.profile>div.output>fieldset>legend { padding:0.1rem; float:left; } fieldset.inner>div.output div.profile>div.output>fieldset>legend { padding:0.1rem; float:left; }
fieldset.inner>div.output div.display { border:solid 1px greenyellow; } fieldset.inner>div.output div.display { border:solid 1px greenyellow; }

View File

@ -279,9 +279,10 @@ Volcanos(chat.ONIMPORT, {help: "导入数据", _init: function(can, msg, cb, tar
can.page.styleWidth(can, can.ui.profile_output, can.profile_size[can.onexport.keys(can)]||(width-can.ui.project.offsetWidth)/2) can.page.styleWidth(can, can.ui.profile_output, can.profile_size[can.onexport.keys(can)]||(width-can.ui.project.offsetWidth)/2)
can.page.styleWidth(can, can.ui.content, width-can.ui.project.offsetWidth-can.ui.profile.offsetWidth) can.page.styleWidth(can, can.ui.content, width-can.ui.project.offsetWidth-can.ui.profile.offsetWidth)
can.page.styleWidth(can, can.ui.display, width-can.ui.project.offsetWidth) can.page.styleWidth(can, can.ui.display, width-can.ui.project.offsetWidth)
can.page.style(can, can._output, html.MAX_WIDTH, "")
if (can.Conf("mode") == "simple") { return }
if (!height && can.Conf("mode") == "simple") { return } var height = can.ConfHeight()
var height = can.ConfHeight()-(can.user.isMobile && can._mode == "cmd"? (can.user.isLandscape()? 14: 54): 0)-(can.user.isWindows? 20: 0)
if (!height || height > can._root._height) { height = can._root._height - 200 } if (!height || height > can._root._height) { height = can._root._height - 200 }
if (can.user.isMobile && can.user.isLandscape() && height < 200) { height = 400 } if (can.user.isMobile && can.user.isLandscape() && height < 200) { height = 400 }

View File

@ -1,4 +1,4 @@
Volcanos(chat.ONIMPORT, {help: "导入数据", list: [], _init: function(can, msg, list, cb, target) { Volcanos(chat.ONIMPORT, {help: "导入数据", _init: function(can, msg, cb, target) {
can.onmotion.clear(can) can.onmotion.clear(can)
if (msg.Option("content")) { if (msg.Option("content")) {
can.onappend.plugin(can, {index: "web.code.vimer", style: "full"}, function(sub) { can.onappend.plugin(can, {index: "web.code.vimer", style: "full"}, function(sub) {
@ -19,7 +19,7 @@ Volcanos(chat.ONIMPORT, {help: "导入数据", list: [], _init: function(can, ms
can.onappend.board(can, msg) can.onappend.board(can, msg)
}, },
}) })
Volcanos(chat.ONACTION, {help: "操作数据", list: [], _init: function(can, msg, list, cb, target) { Volcanos(chat.ONACTION, {help: "操作数据", _init: function(can, msg, cb, target) {
}, },
run: function(event, can, msg) { run: function(event, can, msg) {
can.runAction(event, ice.RUN, ["go", "hi.go", can.sub.onexport.content(can.sub)], function(msg) { can.runAction(event, ice.RUN, ["go", "hi.go", can.sub.onexport.content(can.sub)], function(msg) {
@ -27,5 +27,3 @@ Volcanos(chat.ONACTION, {help: "操作数据", list: [], _init: function(can, ms
}) })
}, },
}) })
Volcanos(chat.ONEXPORT, {help: "导出数据", list: [], _init: function(can, msg, list, cb, target) {
}})

View File

@ -1,4 +1,4 @@
Volcanos(chat.ONIMPORT, {help: "导入数据", list: [], _init: function(can, msg, cb, target) { Volcanos(chat.ONIMPORT, {help: "导入数据", _init: function(can, msg, cb, target) {
can.require(["inner.js"], function(can) { can.onimport.inner_init(can, msg, function() { can.undo = [], can.redo = [] can.require(["inner.js"], function(can) { can.onimport.inner_init(can, msg, function() { can.undo = [], can.redo = []
can.onkeymap._build(can), can.onimport._input(can), can.onkeymap._plugin({}, can), can.base.isFunc(cb) && cb(msg) can.onkeymap._build(can), can.onimport._input(can), can.onkeymap._plugin({}, can), can.base.isFunc(cb) && cb(msg)
@ -26,7 +26,7 @@ Volcanos(chat.ONIMPORT, {help: "导入数据", list: [], _init: function(can, ms
]); can.ui.current = ui.current, can.ui.complete = ui.complete ]); can.ui.current = ui.current, can.ui.complete = ui.complete
}, },
}, [""]) }, [""])
Volcanos(chat.ONKEYMAP, {help: "键盘交互", list: [], Volcanos(chat.ONKEYMAP, {help: "键盘交互",
_model: function(can, value) { can.Status("模式", can.mode = value) _model: function(can, value) { can.Status("模式", can.mode = value)
can.page.styleClass(can, can.ui.current, ["current", can.mode]), value can.page.styleClass(can, can.ui.current, ["current", can.mode]), value
can.page.styleClass(can, can.ui.complete, ["complete", can.mode]), value can.page.styleClass(can, can.ui.complete, ["complete", can.mode]), value

View File

@ -1,4 +1,4 @@
Volcanos(chat.ONIMPORT, {help: "导入数据", list: [], _init: function(can, msg, list, cb, target) { Volcanos(chat.ONIMPORT, {help: "导入数据", _init: function(can, msg, cb, target) {
can.onmotion.clear(can, target) can.onmotion.clear(can, target)
can.ui = can.onlayout.profile(can) can.ui = can.onlayout.profile(can)
can.onimport[can.Option("scale")||"week"](can, msg) can.onimport[can.Option("scale")||"week"](can, msg)

View File

@ -1,4 +1,4 @@
Volcanos(chat.ONIMPORT, {help: "导入数据", list: [], _init: function(can, msg, list, cb) { Volcanos(chat.ONIMPORT, {help: "导入数据", _init: function(can, msg, cb) {
can.ui = can.onlayout.display(can) can.ui = can.onlayout.display(can)
can.base.isFunc(cb) && cb(msg) can.base.isFunc(cb) && cb(msg)
@ -18,7 +18,7 @@ Volcanos(chat.ONIMPORT, {help: "导入数据", list: [], _init: function(can, ms
can.onaction._compute(event, can) can.onaction._compute(event, can)
}, },
}) })
Volcanos(chat.ONFIGURE, {help: "组件菜单", list: [], Volcanos(chat.ONFIGURE, {help: "组件菜单",
"求和": function(event, can, res, td, index) { "求和": function(event, can, res, td, index) {
res[index] = parseInt(td.innerText) + (res[index]||0); res[index] = parseInt(td.innerText) + (res[index]||0);
}, },
@ -131,7 +131,7 @@ Volcanos(chat.ONDETAIL, {help: "组件详情", list: ["复制", "删除"],
can.page.Remove(can, event.target.parentNode) can.page.Remove(can, event.target.parentNode)
}, },
}) })
Volcanos(chat.ONEXPORT, {help: "导出数据", list: [], Volcanos(chat.ONEXPORT, {help: "导出数据",
file: function(can) { file: function(can) {
return can.page.Select(can, can.ui.content, "tr", function(tr) { return can.page.Select(can, can.ui.content, "tr", function(tr) {
return can.page.Select(can, tr, "th,td", function(td) {return td.innerHTML}).join(",") return can.page.Select(can, tr, "th,td", function(td) {return td.innerHTML}).join(",")

View File

@ -1,4 +1,4 @@
Volcanos(chat.ONIMPORT, {help: "导入数据", list: [], _init: function(can, msg, list, cb, target) { Volcanos(chat.ONIMPORT, {help: "导入数据", _init: function(can, msg, cb, target) {
can.onmotion.clear(can), can.base.isFunc(cb) && cb(msg) can.onmotion.clear(can), can.base.isFunc(cb) && cb(msg)
can.onimport._show(can, msg), can.onmotion.hidden(can, can._action) can.onimport._show(can, msg), can.onmotion.hidden(can, can._action)
can.keylist = [], can.onkeymap._build(can) can.keylist = [], can.onkeymap._build(can)
@ -114,7 +114,7 @@ Volcanos(chat.ONIMPORT, {help: "导入数据", list: [], _init: function(can, ms
return value && g.Value(value), g return value && g.Value(value), g
}, },
}, [""]) }, [""])
Volcanos(chat.ONFIGURE, {help: "图形绘制", list: [], Volcanos(chat.ONFIGURE, {help: "图形绘制",
_get: function(can, item, name) { _get: function(can, item, name) {
return can.onfigure[name]||can.onfigure[item.getAttribute(mdb.NAME)]||can.onfigure[item.tagName] return can.onfigure[name]||can.onfigure[item.getAttribute(mdb.NAME)]||can.onfigure[item.tagName]
}, },
@ -215,7 +215,7 @@ Volcanos(chat.ONFIGURE, {help: "图形绘制", list: [],
text: function(can, data, target) { can.onfigure.rect.text(can, data, target) }, text: function(can, data, target) { can.onfigure.rect.text(can, data, target) },
}, },
}, []) }, [])
Volcanos(chat.ONKEYMAP, {help: "键盘交互", list: [], Volcanos(chat.ONKEYMAP, {help: "键盘交互",
_mode: { _mode: {
normal: { normal: {
gr: function(event, can) { can.Action("go", "run") }, gr: function(event, can) { can.Action("go", "run") },

View File

@ -1,4 +1,4 @@
Volcanos("heart", {help: "心形", list: [], Volcanos("heart", {help: "心形",
data: {name: "path", size: {}, data: {name: "path", size: {},
copy: ["d", "name", "meta", "tt", "xx", "yy"], copy: ["d", "name", "meta", "tt", "xx", "yy"],
x: function(event, can, value, cmd, target) { x: function(event, can, value, cmd, target) {

View File

@ -1,4 +1,4 @@
Volcanos(chat.ONFIGURE, {help: "图形绘制", list: [], Volcanos(chat.ONFIGURE, {help: "图形绘制",
path2v: { // <path d="M x0,y0 Q x2,y2 x3,y3 T x1,y1"/> path2v: { // <path d="M x0,y0 Q x2,y2 x3,y3 T x1,y1"/>
data: {name: "path", size: {}, copy: []}, data: {name: "path", size: {}, copy: []},
draw: function(event, can, point) { draw: function(event, can, point) {

View File

@ -1,4 +1,4 @@
Volcanos(chat.ONIMPORT, {help: "导入数据", list: [], Volcanos(chat.ONIMPORT, {help: "导入数据",
init: function(can, msg, cb, output, action, option) {output.innerHTML = ""; init: function(can, msg, cb, output, action, option) {output.innerHTML = "";
if (!msg.result || msg.result.length == 0) { if (!msg.result || msg.result.length == 0) {
var table = can.page.AppendTable(can, msg, output, msg.append); var table = can.page.AppendTable(can, msg, output, msg.append);

View File

@ -1,4 +1,4 @@
Volcanos(chat.ONIMPORT, {help: "导入数据", list: [], _init: function(can, msg, list, cb, target) { Volcanos(chat.ONIMPORT, {help: "导入数据", _init: function(can, msg, cb, target) {
can.path = can.request(), can.list = [], msg.Table(function(value) { can.path = can.request(), can.list = [], msg.Table(function(value) {
can.base.endWith(value.path, ice.PS)? can.path.Push(value): can.list.push(value) can.base.endWith(value.path, ice.PS)? can.path.Push(value): can.list.push(value)
}), can.base.isFunc(cb) && cb(msg) }), can.base.isFunc(cb) && cb(msg)
@ -29,7 +29,7 @@ Volcanos(chat.ONIMPORT, {help: "导入数据", list: [], _init: function(can, ms
can.Status({begin: begin, limit: limit, total: can.list.length}) can.Status({begin: begin, limit: limit, total: can.list.length})
}, },
}, [""]) }, [""])
Volcanos(chat.ONFIGURE, {help: "组件菜单", list: [], Volcanos(chat.ONFIGURE, {help: "组件菜单",
png: function(can, path, index) { return can.onfigure.image(can, path, index) }, png: function(can, path, index) { return can.onfigure.image(can, path, index) },
jpg: function(can, path, index) { return can.onfigure.image(can, path, index) }, jpg: function(can, path, index) { return can.onfigure.image(can, path, index) },
jpeg: function(can, path, index) { return can.onfigure.image(can, path, index) }, jpeg: function(can, path, index) { return can.onfigure.image(can, path, index) },

View File

@ -1,6 +1,6 @@
fieldset.word form.option input[name=path] { width:127px; } fieldset.word form.option input[name=path] { width:127px; }
fieldset.word>div.navmenu { background-color:inherit; overflow:auto; margin-right:10px; min-width:120px; clear:both; float:left; } fieldset.word>div.navmenu { background-color:inherit; overflow:auto; min-width:120px; clear:both; float:left; }
fieldset.word>div.navmenu div.list { margin-left:20px; } fieldset.word>div.navmenu div.list { margin-left:20px; }
fieldset.word>div.navmenu div.item { font-size:1.6em; font-weight:bold; font-family:cursive; padding:4px 10px; } fieldset.word>div.navmenu div.item { font-size:1.6em; font-weight:bold; font-family:cursive; padding:4px 10px; }
fieldset.word>div.navmenu>div.item { font-size:2em; } fieldset.word>div.navmenu>div.item { font-size:2em; }
@ -20,6 +20,16 @@ fieldset.word svg.story { font-family:fangsong; }
fieldset.word video.story { max-height:320px; } fieldset.word video.story { max-height:320px; }
fieldset.word fieldset.story { margin:10px; } fieldset.word fieldset.story { margin:10px; }
fieldset.word div.story[data-type=spark][data-name=field]>div.menu {
float:left; overflow:auto;
}
fieldset.word div.story[data-type=spark][data-name=field]>div.list {
float:left; overflow:auto;
}
fieldset.word div.story[data-type=spark][data-name=field]>div.menu div.list div.item {
padding:0 20px;
}
fieldset.word.float { padding:0; margin:0; width:-webkit-fill-available; position:fixed; left:0; top:0; z-index:10; } fieldset.word.float { padding:0; margin:0; width:-webkit-fill-available; position:fixed; left:0; top:0; z-index:10; }
fieldset.word.float>div.action { display:contents; } fieldset.word.float>div.action { display:contents; }
fieldset.word.float>div.status { clear:none; } fieldset.word.float>div.status { clear:none; }

View File

@ -1,5 +1,4 @@
Volcanos(chat.ONIMPORT, {help: "导入数据", _init: function(can, msg, cb, target) { Volcanos(chat.ONIMPORT, {help: "导入数据", _init: function(can, msg, cb, target) {
can.onmotion.clear(can), can.base.isFunc(cb) && cb(msg) can.onmotion.clear(can), can.base.isFunc(cb) && cb(msg)
if (msg.Length() > 0) { return can.onappend.table(can, msg) } if (msg.Length() > 0) { return can.onappend.table(can, msg) }
@ -7,23 +6,10 @@ Volcanos(chat.ONIMPORT, {help: "导入数据", _init: function(can, msg, cb, tar
can.page.Select(can, target, wiki.ITEM, function(item) { var data = item.dataset||{} can.page.Select(can, target, wiki.ITEM, function(item) { var data = item.dataset||{}
can.page.style(can, item, can.base.Obj(data.style)) can.page.style(can, item, can.base.Obj(data.style))
can.core.CallFunc([can.onimport, data.type], [can, data, item]) can.core.CallFunc([can.onimport, data.type], [can, data, item])
// can.page.style(can, item, html.MAX_WIDTH, can.ConfWidth()-(can.user.isWindows? 40: 30))
}) })
}, },
image: function(can, data, target) {
can.page.style(can, target, html.MAX_HEIGHT, can.ConfHeight()/2, html.MAX_WIDTH, can.ConfWidth())
// if (can.user.isMobile) {
if (can.user.isLandscape()) {
} else{
can.page.style(can, target, html.MAX_HEIGHT, can.ConfHeight(), html.MAX_WIDTH, can.ConfWidth())
}
// return
// }
// can.page.style(can, target, html.MAX_HEIGHT, can.ConfHeight()/4)
},
navmenu: function(can, data, target) { var nav = can.sup._navmenu navmenu: function(can, data, target) { var nav = can.sup._navmenu
nav = nav||can.page.Append(can, can._fields, [{view: wiki.NAVMENU}]).first nav = nav||can.page.Append(can, can._fields, [wiki.NAVMENU]).first
can.onmotion.clear(can, nav), can._fields.insertBefore(nav, can._output) can.onmotion.clear(can, nav), can._fields.insertBefore(nav, can._output)
can.onimport.list(can, can.base.Obj(data.data), function(event, item) { can.onimport.list(can, can.base.Obj(data.data), function(event, item) {
@ -37,10 +23,11 @@ Volcanos(chat.ONIMPORT, {help: "导入数据", _init: function(can, msg, cb, tar
can.getActionSize(function(msg) { can.getActionSize(function(msg) {
can.page.style(can, nav, html.HEIGHT, can.ConfHeight()+(can._mode == "cmd"? msg.Option(html.MARGIN_Y): 0)) can.page.style(can, nav, html.HEIGHT, can.ConfHeight()+(can._mode == "cmd"? msg.Option(html.MARGIN_Y): 0))
can.ConfWidth(can.ConfWidth()-nav.offsetWidth-(can._mode == "cmd"? 10: 20)-10) can.ConfWidth(can.ConfWidth()-nav.offsetWidth-20)
can.page.style(can, can._output, can.page.style(can, can._output,
html.HEIGHT, can.sup._navmenu.offsetHeight, html.MAX_WIDTH, can.ConfWidth(), html.HEIGHT, can.sup._navmenu.offsetHeight-20, html.MAX_WIDTH, can.ConfWidth(),
html.FLOAT, html.LEFT, html.CLEAR, html.NONE html.FLOAT, html.LEFT, html.CLEAR, html.NONE,
html.PADDING, 10,
) )
}) })
}, },
@ -57,7 +44,6 @@ Volcanos(chat.ONIMPORT, {help: "导入数据", _init: function(can, msg, cb, tar
refer: function(can, data, target) { refer: function(can, data, target) {
can.page.Select(can, target, html.A, function(item) { can.page.Select(can, target, html.A, function(item) {
item.onclick = function(event) { item.onclick = function(event) {
can.request(event, kit.Dict(ice.MSG_HANDLE, ice.TRUE))
can.runAction(event, mdb.CREATE, [mdb.TYPE, "refer", mdb.NAME, item.dataset.name, mdb.TEXT, item.href]) can.runAction(event, mdb.CREATE, [mdb.TYPE, "refer", mdb.NAME, item.dataset.name, mdb.TEXT, item.href])
} }
}) })
@ -67,8 +53,8 @@ Volcanos(chat.ONIMPORT, {help: "导入数据", _init: function(can, msg, cb, tar
function deep(text) { var d = 0 function deep(text) { var d = 0
for (var i = 0; i < text.length; i++) { for (var i = 0; i < text.length; i++) {
switch (text[i]) { switch (text[i]) {
case "\t": d += 4; break case ice.TB: d += 4; break
case " ": d++; break case ice.SP: d++; break
default: return d default: return d
} }
} }
@ -82,40 +68,40 @@ Volcanos(chat.ONIMPORT, {help: "导入数据", _init: function(can, msg, cb, tar
var first; function show(item, index, target, output) { var first; function show(item, index, target, output) {
var ui = can.page.Append(can, target, [{view: [html.ITEM, html.DIV, item.meta.name||item.meta.index], onclick: function(event) { var ui = can.page.Append(can, target, [{view: [html.ITEM, html.DIV, item.meta.name||item.meta.index], onclick: function(event) {
if (ui.list.innerText) { return can.onmotion.toggle(can, ui.list) }
can.onmotion.select(can, view.menu, html.DIV_ITEM, event.target) can.onmotion.select(can, view.menu, html.DIV_ITEM, event.target)
if (ui.list.innerText) { return can.onmotion.toggle(can, ui.list) }
if (can.onmotion.cache(can, function() { return index }, output)) { return } if (can.onmotion.cache(can, function() { return index }, output)) { return }
can.core.List(item.list, function(item) { can.core.List(item.list, function(item) {
can.onappend.plugin(can, item.meta, function(sub) { can.onappend.plugin(can, item.meta, function(sub) {
sub.run = function(event, cmds, cb, silent) { sub.run = function(event, cmds, cb) { can.runActionCommand(event, item.meta.index, cmds, cb) }
can.runActionCommand(event, item.meta.index, cmds, cb) sub.ConfHeight(item.meta.height = can.ConfHeight()/2), sub.ConfWidth(item.meta.width = can.ConfWidth()-165)
} can.page.style(can, sub._output, html.MAX_WIDTH, sub.ConfWidth())
sub.ConfWidth(item.meta.width = can.ConfWidth()-165)
sub.ConfHeight(item.meta.height = can.ConfHeight()-300)
can.page.style(can, sub._output, html.MAX_WIDTH, sub.ConfWidth()-2*html.PLUGIN_MARGIN)
can.page.style(can, sub._status, html.MAX_WIDTH, sub.ConfWidth()-2*html.PLUGIN_MARGIN)
}, output) }, output)
}) })
}}, {view: html.LIST}]) }}, html.LIST])
can.core.List(item.list, function(item) { item.list.length > 0 && show(item, can.core.Keys(index, item.meta.index), ui.list, output) }) can.core.List(item.list, function(item) { item.list.length > 0 && show(item, can.core.Keys(index, item.meta.index), ui.list, output) })
ui.list.innerText == "" && (first = first||ui.item) ui.list.innerText == "" && (first = first||ui.item)
} }
var view = can.page.Appends(can, target, [{view: html.MENU}, {view: html.LIST}]) var view = can.page.Appends(can, target, [
{view: html.MENU, style: {height: can.ConfHeight()/2, width: 120}},
{view: html.LIST, style: {height: can.ConfHeight()/2, width: can.ConfWidth()-165}},
])
return show(list[0], list[0]._index, view.menu, view.list), first.click() return show(list[0], list[0]._index, view.menu, view.list), first.click()
} }
if (data[mdb.NAME] == html.INNER) { return can.onmotion.copy(can, target) } if (data[mdb.NAME] == html.INNER) { return can.onmotion.copy(can, target) }
can.page.Select(can, target, html.A, function(item) { can.onmotion.link(can, item) })
can.page.Select(can, target, html.SPAN, function(item) { can.page.Select(can, target, html.SPAN, function(item) {
can.onmotion.copy(can, item, "", function(event) { can.onmotion.copy(can, item, "", function(event) {
can.runAction(event, mdb.CREATE, [mdb.TYPE, "spark", mdb.NAME, "shell", mdb.TEXT, item.innerText]) can.runAction(event, mdb.CREATE, [mdb.TYPE, "spark", mdb.NAME, "shell", mdb.TEXT, item.innerText], function() {})
}) })
}) })
}, },
chart: function(can, data, target) { chart: function(can, data, target) {
target.oncontextmenu = function(event) { target.oncontextmenu = function(event) {
can.user.carteClient(event, can, kit.Dict(mdb.EXPORT, function(event, can, button) { can.user.carteClient(event, can, kit.Dict(mdb.EXPORT, function(event, can, button) {
can.onmotion.toimage(event, can, "hi.png", target) can.onmotion.toimage(event, can, "hi", target)
}), [mdb.EXPORT]) }), [mdb.EXPORT])
} }
}, },
@ -123,26 +109,25 @@ Volcanos(chat.ONIMPORT, {help: "导入数据", _init: function(can, msg, cb, tar
can.page.OrderTable(can, target), can.page.ClassList.add(can, target, chat.CONTENT) can.page.OrderTable(can, target), can.page.ClassList.add(can, target, chat.CONTENT)
can.page.Select(can, target, html.TD, function(item) { can.onmotion.copy(can, item) }) can.page.Select(can, target, html.TD, function(item) { can.onmotion.copy(can, item) })
}, },
image: function(can, data, target) {
can.page.style(can, target, html.MAX_HEIGHT, can.ConfHeight()/(can.user.isMobile? 2: 1), html.MAX_WIDTH, can.ConfWidth())
},
field: function(can, data, target, width) { var item = can.base.Obj(data.meta) field: function(can, data, target, width) { var item = can.base.Obj(data.meta)
can.onappend._init(can, item, [chat.PLUGIN_STATE_JS], function(sub) { can.onappend._init(can, item, [chat.PLUGIN_STATE_JS], function(sub) {
sub.run = function(event, cmds, cb, silent) { sub.run = function(event, cmds, cb, silent) {
can.runAction(event, chat.STORY, can.misc.concat(can, [data.type, data.name, data.text], cmds), cb) can.runAction(event, chat.STORY, can.misc.concat(can, [data.type, data.name, data.text], cmds), cb)
} }
sub.ConfHeight(can.ConfHeight())
sub.ConfWidth(item.width = (width||can.ConfWidth())-(can.user.isWindows? 40: 20)) sub.ConfHeight(can.ConfHeight()), sub.ConfWidth(item.width = (width||can.ConfWidth())-(can.user.isWindows? 40: 20))
can.page.style(can, sub._output, html.MAX_WIDTH, sub.ConfWidth()) can.page.style(can, sub._output, html.MAX_WIDTH, sub.ConfWidth())
can.core.Value(item, "auto.cmd") && can.core.Timer300ms(function() { can.core.Value(item, "auto.cmd") && can.onmotion.delay(function() {
var msg = sub.request({}, can.core.Value(item, "opts")); msg.Option(ice.MSG_HANDLE, ice.TRUE) sub.runAction(sub.request({}, can.core.Value(item, "opts")), can.core.Value(item, "auto.cmd"))
sub.Update(msg, [ctx.ACTION, can.core.Value(item, "auto.cmd")])
}) })
}, can._output, target) }, can._output, target)
}, },
iframe: function(can, data, target) { var meta = can.base.Obj(data.meta)
can.page.Modify(can, target, {width: can.ConfWidth()-200})
},
}, [""]) }, [""])
Volcanos(chat.ONKEYMAP, {help: "键盘交互", list: [], Volcanos(chat.ONKEYMAP, {help: "键盘交互",
_mode: { _mode: {
normal: { normal: {
"n": function(event, can) { can.ondetail.next(can.sub) }, "n": function(event, can) { can.ondetail.next(can.sub) },
@ -157,23 +142,16 @@ Volcanos(chat.ONKEYMAP, {help: "键盘交互", list: [],
}, },
}, _engine: {}, }, _engine: {},
}) })
Volcanos(chat.ONACTION, {help: "控件交互", list: [], Volcanos(chat.ONACTION, {help: "控件交互",
_trans: {view: "视图"}, _trans: {view: "视图"},
play: function(event, can) { var list = [], current = [] play: function(event, can) { var list = [], current = []
can.page.Select(can, can._output, wiki.ITEM, function(item) { can.page.Select(can, can._output, wiki.ITEM, function(item) {
switch (item.tagName) { can.page.tagis(["h1", "h2", "h3"], item) && list.push(current = []), current.push(item)
case "H1":
case "H2":
case "H3":
list.push(current = [])
break
}
current.push(item)
}) })
can.onappend._init(can, {type: "story word float"}, [], function(sub) { can.onappend._init(can, {type: "story word float"}, [], function(sub) {
sub.run = can.run, sub.sup = can, can.sub = sub, can.onappend._action(sub, [ sub.run = can.run, sub.sup = can, can.sub = sub, can.onappend._action(sub, [
["布局", "开讲", "快闪", "网格"], "大纲", "首页", "上一页", ["布局", "开讲", "网格", "快闪"], "大纲", "首页", "上一页",
["菜单"].concat(can.core.List(list, function(page) { return page[0].innerHTML })), ["菜单"].concat(can.core.List(list, function(page) { return page[0].innerHTML })),
"下一页", "隐藏", "结束", "下一页", "隐藏", "结束",
], sub._action, can.ondetail) ], sub._action, can.ondetail)
@ -216,8 +194,7 @@ Volcanos(chat.ONACTION, {help: "控件交互", list: [],
} }
}, },
}) })
Volcanos(chat.ONDETAIL, {help: "交互操作", list: ["删除"], _init: function(can, msg, list, cb, target) { Volcanos(chat.ONDETAIL, {help: "交互操作", list: ["删除"],
},
show: function(sub, which) { sub.page.styleClass(sub, sub.ui.content, chat.CONTENT) show: function(sub, which) { sub.page.styleClass(sub, sub.ui.content, chat.CONTENT)
sub.page.Select(sub, sub.ui.content, wiki.DIV_PAGE, function(page, index) { sub.page.Select(sub, sub.ui.content, wiki.DIV_PAGE, function(page, index) {
if (index == which || page == which) { if (index == which || page == which) {
@ -248,8 +225,8 @@ Volcanos(chat.ONDETAIL, {help: "交互操作", list: ["删除"], _init: function
grid: function(sub) { sub.page.styleClass(sub, sub.ui.content, "content grid") }, grid: function(sub) { sub.page.styleClass(sub, sub.ui.content, "content grid") },
"开讲": function(event, can) { can.sup.ondetail.show(can, 0) }, "开讲": function(event, can) { can.sup.ondetail.show(can, 0) },
"快闪": function(event, can) { can.sup.ondetail.flash(can) },
"网格": function(event, can) { can.sup.ondetail.grid(can) }, "网格": function(event, can) { can.sup.ondetail.grid(can) },
"快闪": function(event, can) { can.sup.ondetail.flash(can) },
"大纲": function(event, can) { can.onmotion.toggle(can, can.ui.project) }, "大纲": function(event, can) { can.onmotion.toggle(can, can.ui.project) },
"首页": function(event, can) { can.sup.ondetail.show(can, 0) }, "首页": function(event, can) { can.sup.ondetail.show(can, 0) },

View File

@ -1,4 +1,4 @@
Volcanos(chat.ONIMPORT, {help: "导入数据", list: [], _init: function(can, meta, cb, target) {}, Volcanos(chat.ONIMPORT, {help: "导入数据", _init: function(can, conf, cb, target) {},
_process: function(can, msg) { _process: function(can, msg) {
msg.OptionStatus() && can.onmotion.clear(can, can._status) && can.onappend._status(can, can.base.Obj(msg.OptionStatus())) msg.OptionStatus() && can.onmotion.clear(can, can._status) && can.onappend._status(can, can.base.Obj(msg.OptionStatus()))
return can.core.CallFunc([can.onimport, msg.OptionProcess()], {can: can, msg: msg}) return can.core.CallFunc([can.onimport, msg.OptionProcess()], {can: can, msg: msg})
@ -88,7 +88,7 @@ Volcanos(chat.ONACTION, {help: "交互操作", list: [
"刷新数据", "切换全屏", "共享工具", "打开链接", "生成链接", "生成脚本", "生成图片", [ "刷新数据", "切换全屏", "共享工具", "打开链接", "生成链接", "生成脚本", "生成图片", [
"其它", "刷新页面", "保存参数", "清空参数", "扩展参数", "复制数据", "下载数据", "清空数据", "删除工具","摄像头", "其它", "刷新页面", "保存参数", "清空参数", "扩展参数", "复制数据", "下载数据", "清空数据", "删除工具","摄像头",
], ],
], _init: function(can, msg, list, cb, target) {}, ],
_engine: function(event, can, button) { can.Update(event, [ctx.ACTION, button].concat(can.Input([], true))) }, _engine: function(event, can, button) { can.Update(event, [ctx.ACTION, button].concat(can.Input([], true))) },
"刷新数据": function(event, can) { can.Update({}, can.Input([], true)) }, "刷新数据": function(event, can) { can.Update({}, can.Input([], true)) },
@ -198,7 +198,7 @@ Volcanos(chat.ONACTION, {help: "交互操作", list: [
can.user.input(event, can, [{type: html.TEXTAREA, name: mdb.TEXT}], function(list) { add(list[0]) }) can.user.input(event, can, [{type: html.TEXTAREA, name: mdb.TEXT}], function(list) { add(list[0]) })
}, },
}) })
Volcanos(chat.ONEXPORT, {help: "导出数据", list: [], Volcanos(chat.ONEXPORT, {help: "导出数据",
table: function(can) { var msg = can._msg; if (msg.Length() == 0) { return } table: function(can) { var msg = can._msg; if (msg.Length() == 0) { return }
var res = [msg.append && msg.append.join(ice.FS)]; msg.Table(function(line, index, array) { var res = [msg.append && msg.append.join(ice.FS)]; msg.Table(function(line, index, array) {
res.push(can.core.Item(line, function(key, value) { return value }).join(ice.FS)) res.push(can.core.Item(line, function(key, value) { return value }).join(ice.FS))

View File

@ -1,4 +1,4 @@
Volcanos(chat.ONIMPORT, {help: "导入数据", list: [], _init: function(can, msg, cb, target) { Volcanos(chat.ONIMPORT, {help: "导入数据", _init: function(can, msg, cb, target) {
can.page.ClassList.add(can, target, "form") can.page.ClassList.add(can, target, "form")
msg.Push("type", "text") msg.Push("type", "text")
msg.Push("name", "name") msg.Push("name", "name")

View File

@ -1,4 +1,4 @@
Volcanos(chat.ONIMPORT, {help: "导入数据", list: [], _init: function(can, msg, list, cb, target) { Volcanos(chat.ONIMPORT, {help: "导入数据", _init: function(can, msg, cb, target) {
can.page.ClassList.add(can, target, "json") can.page.ClassList.add(can, target, "json")
can.onmotion.clear(can, target), can.base.isFunc(cb) && cb(msg) can.onmotion.clear(can, target), can.base.isFunc(cb) && cb(msg)
can.onappend.table(can, msg), can.onimport.show(can, can.base.Obj(msg.Result(), {}), target) can.onappend.table(can, msg), can.onimport.show(can, can.base.Obj(msg.Result(), {}), target)
@ -57,4 +57,3 @@ Volcanos(chat.ONACTION, {help: "组件菜单", list: ["展开", "折叠", "复
can.user.copy(event, can, can._msg.Result()) can.user.copy(event, can, can._msg.Result())
}, },
}) })
Volcanos(chat.ONEXPORT, {help: "导出数据", list: []})

View File

@ -1,4 +1,4 @@
Volcanos(chat.ONIMPORT, {help: "导入数据", list: [], _init: function(can, msg, cb, target) { Volcanos(chat.ONIMPORT, {help: "导入数据", _init: function(can, msg, cb, target) {
can.base.isFunc(cb) && cb(msg) can.base.isFunc(cb) && cb(msg)
}}) }})
Volcanos(chat.ONACTION, {help: "操作数据", list: ["打开屏幕", "打开摄像", "打开录音"], Volcanos(chat.ONACTION, {help: "操作数据", list: ["打开屏幕", "打开摄像", "打开录音"],
@ -46,4 +46,3 @@ Volcanos(chat.ONACTION, {help: "操作数据", list: ["打开屏幕", "打开摄
}) })
}, },
}) })
Volcanos(chat.ONEXPORT, {help: "导出数据", list: []})

View File

@ -1,4 +1,4 @@
Volcanos(chat.ONAPPEND, {help: "渲染引擎", list: [], Volcanos(chat.ONAPPEND, {help: "渲染引擎",
parse: function(can, list, target, keys, data, type) { target = target||can._output, data = data||{} parse: function(can, list, target, keys, data, type) { target = target||can._output, data = data||{}
if (!list) { return } else if (can.base.isArray(list)) { if (!list) { return } else if (can.base.isArray(list)) {
return can.core.List(list, function(meta, index) { return can.core.List(list, function(meta, index) {

View File

@ -34,7 +34,11 @@ Volcanos(chat.ONIMPORT, {help: "导入数据", _init: function(can, msg, cb, tar
var begin = 0; msg[cli.COLOR] = [], msg["weight"] = [], msg.Table(function(value, index) { var span = can.onimport._parseInt(can, value[field])/total*360 var begin = 0; msg[cli.COLOR] = [], msg["weight"] = [], msg.Table(function(value, index) { var span = can.onimport._parseInt(can, value[field])/total*360
var p = index==which? pos(x, y, margin, begin+span/2): [x, y], c = color[index%color.length] var p = index==which? pos(x, y, margin, begin+span/2): [x, y], c = color[index%color.length]
if (msg.Length() == 1) {
can.onimport.draw({}, can, {shape: svg.CIRCLE, point: [{x: x, y: y}, {x: x, y: y+r}], style: {fill: color[0]}})
} else {
pie(p[0], p[1], r, begin, span, c, function(event) { can.onimport._draw(can, msg, field, color, x, y, r, margin, index) }), begin += span pie(p[0], p[1], r, begin, span, c, function(event) { can.onimport._draw(can, msg, field, color, x, y, r, margin, index) }), begin += span
}
msg.Push(cli.COLOR, '<span style="background-color:'+c+'"> </span>') msg.Push(cli.COLOR, '<span style="background-color:'+c+'"> </span>')
msg.Push("weight", parseInt(span*100/360)+"%") msg.Push("weight", parseInt(span*100/360)+"%")
if (index == which) { can.Status(value), can.Status("weight", parseInt(span*100/360)+"%") } if (index == which) { can.Status(value), can.Status("weight", parseInt(span*100/360)+"%") }
@ -48,4 +52,4 @@ Volcanos(chat.ONIMPORT, {help: "导入数据", _init: function(can, msg, cb, tar
return parseInt(value) return parseInt(value)
} }
}) })
Volcanos(chat.ONEXPORT, {help: "导出数据", list: [], _show: function(can) {}}) Volcanos(chat.ONEXPORT, {help: "导出数据", _show: function(can) {}})

View File

@ -121,7 +121,7 @@ Volcanos(chat.ONACTION, {help: "用户操作", list: [
}) })
}, },
}) })
Volcanos(chat.ONDETAIL, {help: "用户交互", list: [], Volcanos(chat.ONDETAIL, {help: "用户交互",
onmouseenter: function(event, can, tree) { var y = tree.y+tree.height*can.margin/2 onmouseenter: function(event, can, tree) { var y = tree.y+tree.height*can.margin/2
can.page.Remove(can, can.pos), can.pos = can.onimport.draw({}, can, {shape: svg.RECT, point: [ can.page.Remove(can, can.pos), can.pos = can.onimport.draw({}, can, {shape: svg.RECT, point: [
{x: tree.x-can.margin/4, y: y-can.margin/2}, {x: tree.x+tree.width+can.margin/8, y: y+can.margin/2}, {x: tree.x-can.margin/4, y: y-can.margin/2}, {x: tree.x+tree.width+can.margin/8, y: y+can.margin/2},
@ -156,7 +156,7 @@ Volcanos(chat.ONDETAIL, {help: "用户交互", list: [],
sub.run = function(event, cmds, cb) { can.runAction(can.request(event), prefix, cmds, cb) } sub.run = function(event, cmds, cb) { can.runAction(can.request(event), prefix, cmds, cb) }
sub._mode = "float", can.getActionSize(function(left, top, width, height) { left = left||0 sub._mode = "float", can.getActionSize(function(left, top, width, height) { left = left||0
var top = can._mode == undefined? 120: 0; if (can.user.isMobile) { top = can.user.isLandscape()? 0: 48 } var top = can._mode == undefined? 120: 0; if (can.user.isMobile) { top = can.user.isLandscape()? 0: 48 }
sub.ConfHeight(height-top-html.ACTION_HEIGHT-(can.user.isMobile&&!can.user.isLandscape()? 2*html.ACTION_HEIGHT: 0)), sub.ConfWidth(width) sub.ConfHeight(height-top-2*html.ACTION_HEIGHT-(can.user.isMobile&&!can.user.isLandscape()? 2*html.ACTION_HEIGHT: 0)), sub.ConfWidth(width)
can.onmotion.move(can, sub._target, {position: html.FIXED, left: left, top: top}) can.onmotion.move(can, sub._target, {position: html.FIXED, left: left, top: top})
}) })
}) })

View File

@ -110,12 +110,12 @@ Volcanos(chat.ONACTION, {help: "组件菜单", list: [
space: function(event, can) { can.onimport.layout(can) }, space: function(event, can) { can.onimport.layout(can) },
speed: function(event, can) { can.onimport.layout(can) }, speed: function(event, can) { can.onimport.layout(can) },
}) })
Volcanos(chat.ONDETAIL, {help: "用户交互", list: [], Volcanos(chat.ONDETAIL, {help: "用户交互",
onmouseenter: function(event, can, line) { can.Status(line) }, onmouseenter: function(event, can, line) { can.Status(line) },
}) })
Volcanos(chat.ONEXPORT, {help: "导出数据", list: ["from", "commit", "total", "max", "date", "text", "add", "del"], Volcanos(chat.ONEXPORT, {help: "导出数据", list: ["from", "commit", "total", "max", "date", "text", "add", "del"],
height: function(can) { var height = can.Action(html.HEIGHT) height: function(can) { var height = can.Action(html.HEIGHT)
if (height == ice.AUTO) { height = can.ConfHeight() } if (height == ice.AUTO) { height = can.ConfHeight() }
return parseInt(height) return parseInt(height||can._root._height/2)
}, },
}) })

View File

@ -1,4 +1,4 @@
Volcanos(chat.ONIMPORT, {help: "导入数据", list: [], _init: function(can, msg, list, cb, target) { Volcanos(chat.ONIMPORT, {help: "导入数据", _init: function(can, msg, cb, target) {
can.onimport.select(can, msg) can.onimport.select(can, msg)
can.onmotion.clear(can), can.base.isFunc(cb) && cb(msg) can.onmotion.clear(can), can.base.isFunc(cb) && cb(msg)
can.onappend.table(can, msg), can.onappend.board(can, msg) can.onappend.table(can, msg), can.onappend.board(can, msg)
@ -24,7 +24,7 @@ Volcanos(chat.ONIMPORT, {help: "导入数据", list: [], _init: function(can, ms
])) ]))
}, },
}) })
Volcanos(chat.ONACTION, {help: "控件交互", list: [], Volcanos(chat.ONACTION, {help: "控件交互",
next: function(event, can) { var msg = can._msg next: function(event, can) { var msg = can._msg
msg.Table(function(line, index) { msg.Table(function(line, index) {
if (line.link == location.href) { if (line.link == location.href) {
@ -44,4 +44,3 @@ Volcanos(chat.ONACTION, {help: "控件交互", list: [],
}) })
}, },
}) })
Volcanos(chat.ONEXPORT, {help: "导出数据", list: []})

View File

@ -1,4 +1,4 @@
Volcanos(chat.ONIMPORT, {help: "导入数据", list: [], _init: function(can, msg, cb, target) { Volcanos(chat.ONIMPORT, {help: "导入数据", _init: function(can, msg, cb, target) {
can.user.isMobile && !can.user.isLandscape() && can.onmotion.hidden(can, can._action) can.user.isMobile && !can.user.isLandscape() && can.onmotion.hidden(can, can._action)
var cbs = can.onimport[can._args[ctx.STYLE]]; if (can.base.isFunc(cbs)) { var cbs = can.onimport[can._args[ctx.STYLE]]; if (can.base.isFunc(cbs)) {
can.page.ClassList.add(can, target, can._args[ctx.STYLE]) can.page.ClassList.add(can, target, can._args[ctx.STYLE])

View File

@ -233,7 +233,7 @@ var html = {
OPACITY: "opacity", OPACITY: "opacity",
STROKE_WIDTH: "stroke-width", STROKE: "stroke", FILL: "fill", FONT_SIZE: "font-size", FONT_FAMILY: "font-family", MONOSPACE: "monospace", STROKE_WIDTH: "stroke-width", STROKE: "stroke", FILL: "fill", FONT_SIZE: "font-size", FONT_FAMILY: "font-family", MONOSPACE: "monospace",
SCROLL: "scroll", HEIGHT: "height", WIDTH: "width", LEFT: "left", TOP: "top", RIGHT: "right", BOTTOM: "bottom", SCROLL: "scroll", HEIGHT: "height", WIDTH: "width", LEFT: "left", TOP: "top", RIGHT: "right", BOTTOM: "bottom",
SPEED: "speed", SPEED: "speed", PADDING: "padding",
MIN_HEIGHT: "min-height", MAX_HEIGHT: "max-height", MAX_WIDTH: "max-width", MIN_WIDTH: "min-width", MARGIN_TOP: "margin-top", MARGIN_X: "margin-x", MARGIN_Y: "margin-y", MIN_HEIGHT: "min-height", MAX_HEIGHT: "max-height", MAX_WIDTH: "max-width", MIN_WIDTH: "min-width", MARGIN_TOP: "margin-top", MARGIN_X: "margin-x", MARGIN_Y: "margin-y",
PLUGIN_MARGIN: 10, ACTION_HEIGHT: 29, ACTION_MARGIN: 200, PLUGIN_MARGIN: 10, ACTION_HEIGHT: 29, ACTION_MARGIN: 200,
TEXT_ANCHOR: "text-anchor", TEXT_ANCHOR: "text-anchor",

View File

@ -1,4 +1,4 @@
Volcanos("onappend", {help: "渲染引擎", list: [], Volcanos("onappend", {help: "渲染引擎",
table: function(can, msg) { table: function(can, msg) {
var max = {}; msg.Table(function(value, index, array) { var max = {}; msg.Table(function(value, index, array) {
for (var k in value) { if (value[k].length > (max[k]||0)) { for (var k in value) { if (value[k].length > (max[k]||0)) {