mirror of
https://shylinux.com/x/volcanos
synced 2025-04-25 08:48:06 +08:00
opt word.js
This commit is contained in:
parent
636c1d7fc9
commit
e9709de6a1
16
frame.js
16
frame.js
@ -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))
|
||||
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
|
||||
}),
|
||||
})
|
||||
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 }
|
||||
var sub = can.ondaemon._list[msg.Option(ice.MSG_TARGET)]
|
||||
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] },
|
||||
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()
|
||||
field = field||can.onappend.field(can, meta.type, meta, target).first
|
||||
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) {
|
||||
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) {
|
||||
@ -452,7 +452,7 @@ Volcanos(chat.ONLAYOUT, {help: "页面布局", list: [], _init: function(can, ta
|
||||
can.user.isMobile || (width -= field.offsetWidth)
|
||||
can.page.styleHeight(can, field, height-offset)
|
||||
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 (!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
|
||||
}
|
||||
|
||||
@ -535,7 +535,7 @@ Volcanos(chat.ONLAYOUT, {help: "页面布局", list: [], _init: function(can, ta
|
||||
] }]); 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) })
|
||||
can.onmotion.float.auto(can, target)
|
||||
},
|
||||
@ -775,7 +775,7 @@ Volcanos(chat.ONMOTION, {help: "动态特效", list: [], _init: function(can, ta
|
||||
} 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) {
|
||||
if (window.webview) {
|
||||
if (event.target.tagName == "A") { can.user.open(event.target.href) }
|
||||
|
@ -56,6 +56,7 @@ Volcanos("page", {help: "用户界面", ClassList: {
|
||||
"left": true, "right": true, "top": true, "bottom": true,
|
||||
"height": true, "max-height": true, "min-height": 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" }
|
||||
|
@ -1,10 +1,17 @@
|
||||
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 { 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; }
|
||||
select { background-color:black; color:cyan; padding:0 10px; height:1.92rem; }
|
||||
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[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; }
|
||||
|
@ -4,7 +4,7 @@ Volcanos({name: "chat", panels: [
|
||||
{name: "Action", help: "工作台", pos: html.MAIN},
|
||||
{name: "Footer", help: "状态条", pos: html.FOOT, state: ["ncmd"]},
|
||||
{name: "Search", help: "搜索框", pos: html.AUTO},
|
||||
], main: {name: "Header", list: []}, river: {
|
||||
], main: {name: "Header"}, river: {
|
||||
product: {name: "产品群", storm: {
|
||||
office: {name: "办公 office", list: [
|
||||
{name: "feel", help: "影音媒体", index: "web.wiki.feel"},
|
||||
|
@ -1,5 +1,5 @@
|
||||
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.output { margin-top:28px; }
|
||||
|
@ -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)
|
||||
can.onmotion.clear(can), can.core.Next(msg.Table(), function(item, next) {
|
||||
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)
|
||||
},
|
||||
})
|
||||
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]))
|
||||
if (!storm || cmds.length != 2) { return false }
|
||||
|
||||
@ -75,7 +75,7 @@ Volcanos(chat.ONENGINE, {help: "解析引擎", list: [], _engine: function(event
|
||||
}
|
||||
return true
|
||||
}})
|
||||
Volcanos(chat.ONPLUGIN, {help: "注册插件", list: [],
|
||||
Volcanos(chat.ONPLUGIN, {help: "注册插件",
|
||||
"parse": shy("解析", {
|
||||
"show": function(can, msg, cmds) {
|
||||
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) {}),
|
||||
})
|
||||
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._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: {},
|
||||
})
|
||||
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_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) {
|
||||
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
|
||||
},
|
||||
})
|
||||
Volcanos(chat.ONEXPORT, {help: "导出数据", list: [],
|
||||
Volcanos(chat.ONEXPORT, {help: "导出数据",
|
||||
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) {
|
||||
item.dataset.args = JSON.stringify(can.page.Select(can, item, html.OPTION_ARGS, function(item) { return item.value||"" }))
|
||||
|
@ -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.onimport._title(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")
|
||||
},
|
||||
})
|
||||
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) }
|
||||
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) },
|
||||
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 },
|
||||
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)
|
||||
|
@ -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.onimport._title(can, msg, target)
|
||||
can.onimport._state(can, msg, target)
|
||||
@ -102,7 +102,7 @@ Volcanos(chat.ONIMPORT, {help: "导入数据", list: [], _init: function(can, ms
|
||||
}) }]).first
|
||||
},
|
||||
})
|
||||
Volcanos(chat.ONPLUGIN, {help: "注册插件", list: [],
|
||||
Volcanos(chat.ONPLUGIN, {help: "注册插件",
|
||||
"topic": shy("主题", {
|
||||
"demo": function(can, msg, cmds) { can.onimport.topic(can, cmds[0]) },
|
||||
}, ["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])
|
||||
}),
|
||||
})
|
||||
Volcanos(chat.ONACTION, {help: "交互数据", list: [], _init: function(can, cb, target) {
|
||||
Volcanos(chat.ONACTION, {help: "交互数据", _init: function(can, cb, target) {
|
||||
can.base.isFunc(cb) && cb()
|
||||
},
|
||||
_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, "") },
|
||||
logout: function(event, can) { can.user.logout(can) },
|
||||
})
|
||||
Volcanos(chat.ONEXPORT, {help: "导出数据", list: [],
|
||||
Volcanos(chat.ONEXPORT, {help: "导出数据",
|
||||
height: function(can) { return can._target.offsetHeight },
|
||||
topic: function(can) { return can._topic },
|
||||
avatar: function(can) {
|
||||
|
@ -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.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) {
|
||||
(index == 0 || item.hash == can._main_river) && (select = target)
|
||||
})
|
||||
})), select && can.onmotion.delay(can, function() {
|
||||
can.onlayout._init(can), select.click()
|
||||
})
|
||||
})), select && select.click()
|
||||
},
|
||||
_main: function(can, msg) {
|
||||
// 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
|
||||
},
|
||||
})
|
||||
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
|
||||
cmds.length == 0 && can.core.ItemSort(list, "order", function(key, value) {
|
||||
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}) // 应用列表
|
||||
}), 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()
|
||||
},
|
||||
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_LIST, html.DIV_ITEM], can.storm_list[can.core.Keys(river, storm)])
|
||||
|
||||
can.onengine.signal(can, chat.ONSTORM_SELECT, can.request(event, {
|
||||
river: can.Conf(chat.RIVER, river), storm: can.Conf(chat.STORM, storm),
|
||||
}))
|
||||
can.onmotion.delay(can, function() {
|
||||
can.onlayout._init(can)
|
||||
can.onengine.signal(can, chat.ONSTORM_SELECT, can.request(event, {
|
||||
river: can.Conf(chat.RIVER, river), storm: can.Conf(chat.STORM, storm),
|
||||
}))
|
||||
})
|
||||
},
|
||||
|
||||
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 },
|
||||
storm: function(can, msg, word) {
|
||||
var fields = (msg.Option(ice.MSG_FIELDS)||"ctx,cmd,type,name,text").split(",")
|
||||
|
@ -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)
|
||||
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) {
|
||||
@ -126,7 +126,7 @@ Volcanos(chat.ONACTION, {help: "交互操作", list: [cli.CLOSE, cli.CLEAR, cli.
|
||||
}, can.ui.profile)
|
||||
},
|
||||
})
|
||||
Volcanos(chat.ONEXPORT, {help: "导出数据", list: [],
|
||||
Volcanos(chat.ONEXPORT, {help: "导出数据",
|
||||
select: function(can) {
|
||||
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 })
|
||||
|
@ -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) {
|
||||
case html.SELECT: meta.value && (target.value = meta.value); break
|
||||
case html.BUTTON: meta.action == ice.AUTO && target.click(); break
|
||||
|
@ -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({}) }
|
||||
|
||||
// 添加控件
|
||||
|
@ -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
|
||||
can.runAction(event, mdb.INPUTS, [name, value||target.value], function(msg) {
|
||||
can.onmotion.clear(can), can.onappend.table(can, msg, function(value) {
|
||||
|
@ -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() {
|
||||
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) {
|
||||
|
@ -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 })
|
||||
can._meta = can.base.Obj(meta.text, {meta: {name: meta.name||"hi"}, list: []})
|
||||
can.base.isFunc(cb) && cb(msg)
|
||||
@ -76,7 +76,7 @@ Volcanos(chat.ONIMPORT, {help: "导入数据", list: [], _init: function(can, ms
|
||||
return field
|
||||
},
|
||||
}, ["/plugin/local/chat/div.css"])
|
||||
Volcanos(chat.ONACTION, {help: "操作数据", list: [],
|
||||
Volcanos(chat.ONACTION, {help: "操作数据",
|
||||
"添加": function(event, can) {
|
||||
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: []})
|
||||
@ -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")})])
|
||||
},
|
||||
})
|
||||
Volcanos(chat.ONEXPORT, {help: "导出数据", list: []})
|
||||
|
@ -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.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)
|
||||
},
|
||||
})
|
||||
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) {
|
||||
@ -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')}])
|
||||
},
|
||||
})
|
||||
Volcanos(chat.ONEXPORT, {help: "导出数据", list: [],
|
||||
})
|
||||
|
@ -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.from = can.onimport._plugin(can, nfs.DIR, html.LEFT, "from", "to")
|
||||
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]
|
||||
var path = can.request(event).Option(nfs.PATH)
|
||||
|
@ -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.constant { 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.display { border:solid 1px greenyellow; }
|
||||
|
||||
|
@ -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.content, width-can.ui.project.offsetWidth-can.ui.profile.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()-(can.user.isMobile && can._mode == "cmd"? (can.user.isLandscape()? 14: 54): 0)-(can.user.isWindows? 20: 0)
|
||||
var height = can.ConfHeight()
|
||||
if (!height || height > can._root._height) { height = can._root._height - 200 }
|
||||
if (can.user.isMobile && can.user.isLandscape() && height < 200) { height = 400 }
|
||||
|
||||
|
@ -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)
|
||||
if (msg.Option("content")) {
|
||||
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)
|
||||
},
|
||||
})
|
||||
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) {
|
||||
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) {
|
||||
}})
|
||||
|
@ -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.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
|
||||
},
|
||||
}, [""])
|
||||
Volcanos(chat.ONKEYMAP, {help: "键盘交互", list: [],
|
||||
Volcanos(chat.ONKEYMAP, {help: "键盘交互",
|
||||
_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.complete, ["complete", can.mode]), value
|
||||
|
@ -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.ui = can.onlayout.profile(can)
|
||||
can.onimport[can.Option("scale")||"week"](can, msg)
|
||||
|
@ -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.base.isFunc(cb) && cb(msg)
|
||||
|
||||
@ -18,7 +18,7 @@ Volcanos(chat.ONIMPORT, {help: "导入数据", list: [], _init: function(can, ms
|
||||
can.onaction._compute(event, can)
|
||||
},
|
||||
})
|
||||
Volcanos(chat.ONFIGURE, {help: "组件菜单", list: [],
|
||||
Volcanos(chat.ONFIGURE, {help: "组件菜单",
|
||||
"求和": function(event, can, res, td, index) {
|
||||
res[index] = parseInt(td.innerText) + (res[index]||0);
|
||||
},
|
||||
@ -131,7 +131,7 @@ Volcanos(chat.ONDETAIL, {help: "组件详情", list: ["复制", "删除"],
|
||||
can.page.Remove(can, event.target.parentNode)
|
||||
},
|
||||
})
|
||||
Volcanos(chat.ONEXPORT, {help: "导出数据", list: [],
|
||||
Volcanos(chat.ONEXPORT, {help: "导出数据",
|
||||
file: function(can) {
|
||||
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(",")
|
||||
|
@ -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.onimport._show(can, msg), can.onmotion.hidden(can, can._action)
|
||||
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
|
||||
},
|
||||
}, [""])
|
||||
Volcanos(chat.ONFIGURE, {help: "图形绘制", list: [],
|
||||
Volcanos(chat.ONFIGURE, {help: "图形绘制",
|
||||
_get: function(can, item, name) {
|
||||
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) },
|
||||
},
|
||||
}, [])
|
||||
Volcanos(chat.ONKEYMAP, {help: "键盘交互", list: [],
|
||||
Volcanos(chat.ONKEYMAP, {help: "键盘交互",
|
||||
_mode: {
|
||||
normal: {
|
||||
gr: function(event, can) { can.Action("go", "run") },
|
||||
|
@ -1,4 +1,4 @@
|
||||
Volcanos("heart", {help: "心形", list: [],
|
||||
Volcanos("heart", {help: "心形",
|
||||
data: {name: "path", size: {},
|
||||
copy: ["d", "name", "meta", "tt", "xx", "yy"],
|
||||
x: function(event, can, value, cmd, target) {
|
||||
|
@ -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"/>
|
||||
data: {name: "path", size: {}, copy: []},
|
||||
draw: function(event, can, point) {
|
||||
|
@ -1,4 +1,4 @@
|
||||
Volcanos(chat.ONIMPORT, {help: "导入数据", list: [],
|
||||
Volcanos(chat.ONIMPORT, {help: "导入数据",
|
||||
init: function(can, msg, cb, output, action, option) {output.innerHTML = "";
|
||||
if (!msg.result || msg.result.length == 0) {
|
||||
var table = can.page.AppendTable(can, msg, output, msg.append);
|
||||
|
@ -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.base.endWith(value.path, ice.PS)? can.path.Push(value): can.list.push(value)
|
||||
}), 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})
|
||||
},
|
||||
}, [""])
|
||||
Volcanos(chat.ONFIGURE, {help: "组件菜单", list: [],
|
||||
Volcanos(chat.ONFIGURE, {help: "组件菜单",
|
||||
png: 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) },
|
||||
|
@ -1,6 +1,6 @@
|
||||
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.item { font-size:1.6em; font-weight:bold; font-family:cursive; padding:4px 10px; }
|
||||
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 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>div.action { display:contents; }
|
||||
fieldset.word.float>div.status { clear:none; }
|
||||
|
@ -1,5 +1,4 @@
|
||||
Volcanos(chat.ONIMPORT, {help: "导入数据", _init: function(can, msg, cb, target) {
|
||||
|
||||
can.onmotion.clear(can), can.base.isFunc(cb) && cb(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.style(can, item, can.base.Obj(data.style))
|
||||
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
|
||||
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.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.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,
|
||||
html.HEIGHT, can.sup._navmenu.offsetHeight, html.MAX_WIDTH, can.ConfWidth(),
|
||||
html.FLOAT, html.LEFT, html.CLEAR, html.NONE
|
||||
html.HEIGHT, can.sup._navmenu.offsetHeight-20, html.MAX_WIDTH, can.ConfWidth(),
|
||||
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) {
|
||||
can.page.Select(can, target, html.A, function(item) {
|
||||
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])
|
||||
}
|
||||
})
|
||||
@ -67,8 +53,8 @@ Volcanos(chat.ONIMPORT, {help: "导入数据", _init: function(can, msg, cb, tar
|
||||
function deep(text) { var d = 0
|
||||
for (var i = 0; i < text.length; i++) {
|
||||
switch (text[i]) {
|
||||
case "\t": d += 4; break
|
||||
case " ": d++; break
|
||||
case ice.TB: d += 4; break
|
||||
case ice.SP: d++; break
|
||||
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 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)
|
||||
if (ui.list.innerText) { return can.onmotion.toggle(can, ui.list) }
|
||||
if (can.onmotion.cache(can, function() { return index }, output)) { return }
|
||||
|
||||
can.core.List(item.list, function(item) {
|
||||
can.onappend.plugin(can, item.meta, function(sub) {
|
||||
sub.run = function(event, cmds, cb, silent) {
|
||||
can.runActionCommand(event, item.meta.index, cmds, cb)
|
||||
}
|
||||
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)
|
||||
sub.run = function(event, 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())
|
||||
}, 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) })
|
||||
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()
|
||||
}
|
||||
|
||||
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.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) {
|
||||
target.oncontextmenu = function(event) {
|
||||
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])
|
||||
}
|
||||
},
|
||||
@ -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.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)
|
||||
can.onappend._init(can, item, [chat.PLUGIN_STATE_JS], function(sub) {
|
||||
sub.run = function(event, cmds, cb, silent) {
|
||||
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.core.Value(item, "auto.cmd") && can.core.Timer300ms(function() {
|
||||
var msg = sub.request({}, can.core.Value(item, "opts")); msg.Option(ice.MSG_HANDLE, ice.TRUE)
|
||||
sub.Update(msg, [ctx.ACTION, can.core.Value(item, "auto.cmd")])
|
||||
can.core.Value(item, "auto.cmd") && can.onmotion.delay(function() {
|
||||
sub.runAction(sub.request({}, can.core.Value(item, "opts")), can.core.Value(item, "auto.cmd"))
|
||||
})
|
||||
}, 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: {
|
||||
normal: {
|
||||
"n": function(event, can) { can.ondetail.next(can.sub) },
|
||||
@ -157,23 +142,16 @@ Volcanos(chat.ONKEYMAP, {help: "键盘交互", list: [],
|
||||
},
|
||||
}, _engine: {},
|
||||
})
|
||||
Volcanos(chat.ONACTION, {help: "控件交互", list: [],
|
||||
Volcanos(chat.ONACTION, {help: "控件交互",
|
||||
_trans: {view: "视图"},
|
||||
play: function(event, can) { var list = [], current = []
|
||||
can.page.Select(can, can._output, wiki.ITEM, function(item) {
|
||||
switch (item.tagName) {
|
||||
case "H1":
|
||||
case "H2":
|
||||
case "H3":
|
||||
list.push(current = [])
|
||||
break
|
||||
}
|
||||
current.push(item)
|
||||
can.page.tagis(["h1", "h2", "h3"], item) && list.push(current = []), current.push(item)
|
||||
})
|
||||
|
||||
can.onappend._init(can, {type: "story word float"}, [], function(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 })),
|
||||
"下一页", "隐藏", "结束",
|
||||
], 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)
|
||||
sub.page.Select(sub, sub.ui.content, wiki.DIV_PAGE, function(page, index) {
|
||||
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") },
|
||||
|
||||
"开讲": 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.flash(can) },
|
||||
|
||||
"大纲": function(event, can) { can.onmotion.toggle(can, can.ui.project) },
|
||||
"首页": function(event, can) { can.sup.ondetail.show(can, 0) },
|
||||
|
@ -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) {
|
||||
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})
|
||||
@ -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))) },
|
||||
|
||||
"刷新数据": 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]) })
|
||||
},
|
||||
})
|
||||
Volcanos(chat.ONEXPORT, {help: "导出数据", list: [],
|
||||
Volcanos(chat.ONEXPORT, {help: "导出数据",
|
||||
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) {
|
||||
res.push(can.core.Item(line, function(key, value) { return value }).join(ice.FS))
|
||||
|
@ -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")
|
||||
msg.Push("type", "text")
|
||||
msg.Push("name", "name")
|
||||
|
@ -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.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)
|
||||
@ -57,4 +57,3 @@ Volcanos(chat.ONACTION, {help: "组件菜单", list: ["展开", "折叠", "复
|
||||
can.user.copy(event, can, can._msg.Result())
|
||||
},
|
||||
})
|
||||
Volcanos(chat.ONEXPORT, {help: "导出数据", list: []})
|
||||
|
@ -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)
|
||||
}})
|
||||
Volcanos(chat.ONACTION, {help: "操作数据", list: ["打开屏幕", "打开摄像", "打开录音"],
|
||||
@ -46,4 +46,3 @@ Volcanos(chat.ONACTION, {help: "操作数据", list: ["打开屏幕", "打开摄
|
||||
})
|
||||
},
|
||||
})
|
||||
Volcanos(chat.ONEXPORT, {help: "导出数据", list: []})
|
||||
|
@ -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||{}
|
||||
if (!list) { return } else if (can.base.isArray(list)) {
|
||||
return can.core.List(list, function(meta, index) {
|
||||
|
@ -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 p = index==which? pos(x, y, margin, begin+span/2): [x, y], c = color[index%color.length]
|
||||
|
||||
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
|
||||
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
|
||||
}
|
||||
msg.Push(cli.COLOR, '<span style="background-color:'+c+'"> </span>')
|
||||
msg.Push("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)
|
||||
}
|
||||
})
|
||||
Volcanos(chat.ONEXPORT, {help: "导出数据", list: [], _show: function(can) {}})
|
||||
Volcanos(chat.ONEXPORT, {help: "导出数据", _show: function(can) {}})
|
||||
|
@ -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
|
||||
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},
|
||||
@ -156,7 +156,7 @@ Volcanos(chat.ONDETAIL, {help: "用户交互", list: [],
|
||||
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
|
||||
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})
|
||||
})
|
||||
})
|
||||
|
@ -110,12 +110,12 @@ Volcanos(chat.ONACTION, {help: "组件菜单", list: [
|
||||
space: 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) },
|
||||
})
|
||||
Volcanos(chat.ONEXPORT, {help: "导出数据", list: ["from", "commit", "total", "max", "date", "text", "add", "del"],
|
||||
height: function(can) { var height = can.Action(html.HEIGHT)
|
||||
if (height == ice.AUTO) { height = can.ConfHeight() }
|
||||
return parseInt(height)
|
||||
return parseInt(height||can._root._height/2)
|
||||
},
|
||||
})
|
||||
|
@ -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.onmotion.clear(can), can.base.isFunc(cb) && cb(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
|
||||
msg.Table(function(line, index) {
|
||||
if (line.link == location.href) {
|
||||
@ -44,4 +44,3 @@ Volcanos(chat.ONACTION, {help: "控件交互", list: [],
|
||||
})
|
||||
},
|
||||
})
|
||||
Volcanos(chat.ONEXPORT, {help: "导出数据", list: []})
|
||||
|
@ -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)
|
||||
var cbs = can.onimport[can._args[ctx.STYLE]]; if (can.base.isFunc(cbs)) {
|
||||
can.page.ClassList.add(can, target, can._args[ctx.STYLE])
|
||||
|
2
proto.js
2
proto.js
@ -233,7 +233,7 @@ var html = {
|
||||
OPACITY: "opacity",
|
||||
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",
|
||||
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",
|
||||
PLUGIN_MARGIN: 10, ACTION_HEIGHT: 29, ACTION_MARGIN: 200,
|
||||
TEXT_ANCHOR: "text-anchor",
|
||||
|
@ -1,4 +1,4 @@
|
||||
Volcanos("onappend", {help: "渲染引擎", list: [],
|
||||
Volcanos("onappend", {help: "渲染引擎",
|
||||
table: function(can, msg) {
|
||||
var max = {}; msg.Table(function(value, index, array) {
|
||||
for (var k in value) { if (value[k].length > (max[k]||0)) {
|
||||
|
Loading…
x
Reference in New Issue
Block a user