1
0
forked from x/volcanos
This commit is contained in:
harveyshao 2022-02-20 22:31:46 +08:00
parent 23983001b2
commit c156f3ace6
3 changed files with 23 additions and 19 deletions

View File

@ -1,4 +1,3 @@
_can_name = "/frame.js"
Volcanos("onengine", {help: "搜索引擎", list: [], _init: function(can, meta, list, cb, target) { Volcanos("onengine", {help: "搜索引擎", list: [], _init: function(can, meta, list, cb, target) {
can.run = function(event, cmds, cb) { var msg = can.request(event); cmds = cmds||[] can.run = function(event, cmds, cb) { var msg = can.request(event); cmds = cmds||[]
return (can.onengine[cmds[0]]||can.onengine._remote)(event, can, msg, can, cmds, cb) return (can.onengine[cmds[0]]||can.onengine._remote)(event, can, msg, can, cmds, cb)
@ -173,7 +172,7 @@ Volcanos("onappend", {help: "渲染引擎", list: [], _init: function(can, meta,
function add(item, next) { item = can.base.isString(item)? {type: html.TEXT, name: item}: item, item.type != html.BUTTON && index++ function add(item, next) { item = can.base.isString(item)? {type: html.TEXT, name: item}: item, item.type != html.BUTTON && index++
return Volcanos(item.name, {_follow: can.core.Keys(can._follow, item.name), return Volcanos(item.name, {_follow: can.core.Keys(can._follow, item.name),
_target: can.onappend.input(can, item, args[index]||opts[item.name], option||can._option), _target: can.onappend.input(can, item, args[index]||opts[item.name], option||can._option),
_option: can._option, _action: can._action, _output: can._output, _status: can._status, _option: option||can._option, _action: can._action, _output: can._output, _status: can._status,
Option: can.Option, Action: can.Action, Status: can.Status, CloneField: can.Clone, Option: can.Option, Action: can.Action, Status: can.Status, CloneField: can.Clone,
CloneInput: function() { can.onmotion.focus(can, add(item)._target) }, CloneInput: function() { can.onmotion.focus(can, add(item)._target) },
}, [item.display, chat.PLUGIN_INPUT_JS], function(input) { input.Conf(item) }, [item.display, chat.PLUGIN_INPUT_JS], function(input) { input.Conf(item)
@ -350,7 +349,6 @@ Volcanos("onappend", {help: "渲染引擎", list: [], _init: function(can, meta,
} }
function run(cmds) { var msg = can.sup.request(event, line, can.Option()) function run(cmds) { var msg = can.sup.request(event, line, can.Option())
return can.run(event, cmds, null, true)
return can.run(event, cmds, function(msg) { can.run() }, true) return can.run(event, cmds, function(msg) { can.run() }, true)
} }

View File

@ -82,11 +82,14 @@ Volcanos("onimport", {help: "导入数据", _init: function(can, msg, cb, target
_toolkit: function(can, target) { _toolkit: function(can, target) {
can.ui.toolkit = can.onappend.field(can, "toolkit", {}, can._output) can.ui.toolkit = can.onappend.field(can, "toolkit", {}, can._output)
}, },
_session: function(can, msg) { can.user.isMobile || can.onimport.sess(can, "", function() { can.onimport.sess(can, { _session: function(can, msg) {
if (can.user.isMobile || !can.page.ClassList.has(can, can._fields, chat.PLUGIN)) { return }
can.onimport.sess(can, "", function() { can.onimport.sess(can, {
plug: can.core.Split(msg.OptionOrSearch("plug")).reverse(), plug: can.core.Split(msg.OptionOrSearch("plug")).reverse(),
exts: can.core.Split(msg.OptionOrSearch("exts")).reverse(), exts: can.core.Split(msg.OptionOrSearch("exts")).reverse(),
tabs: can.core.Split(msg.OptionOrSearch("tabs")), tabs: can.core.Split(msg.OptionOrSearch("tabs")),
}) }) }, }) })
},
_keydown: function(can) { can.onkeymap._build(can) _keydown: function(can) { can.onkeymap._build(can)
can.user.mod.isCmd && can.onengine.listen(can, chat.ONKEYDOWN, function(event) { can.user.mod.isCmd && can.onengine.listen(can, chat.ONKEYDOWN, function(event) {
can._key_list = can.onkeymap._parse(event, can, "plugin", can._key_list, can.ui.content) can._key_list = can.onkeymap._parse(event, can, "plugin", can._key_list, can.ui.content)
@ -145,16 +148,15 @@ Volcanos("onimport", {help: "导入数据", _init: function(can, msg, cb, target
sub.page.style(sub, sub._output, html.MAX_HEIGHT, sub.ConfHeight()) sub.page.style(sub, sub._output, html.MAX_HEIGHT, sub.ConfHeight())
sub.page.style(sub, sub._output, html.MAX_WIDTH, sub.ConfWidth()) sub.page.style(sub, sub._output, html.MAX_WIDTH, sub.ConfWidth())
sub.select = function() { return sub._legend.click(), sub } sub.select = function() { return sub._legend.click(), sub }
sub.onappend._option(sub, [{type: html.BUTTON, name: "close"}])
// var status = can.user.mod.isCmd? can._status: can.ui.toolkit.status can._status.appendChild(sub._legend), sub._legend.onclick = function(event) {
var status = can._status if (can.page.Select(can, can._status, ice.PT+html.SELECT)[0] == event.target) {
status.appendChild(sub._legend), sub._legend.onclick = function(event) {
if (can.page.Select(can, status, ice.PT+html.SELECT)[0] == event.target) {
can.page.ClassList.del(can, event.target, html.SELECT) can.page.ClassList.del(can, event.target, html.SELECT)
can.page.ClassList.del(can, sub._target, html.SELECT) can.page.ClassList.del(can, sub._target, html.SELECT)
return return
} }
can.onmotion.select(can, status, html.LEGEND, event.target) can.onmotion.select(can, can._status, html.LEGEND, event.target)
can.onmotion.select(can, can.ui.toolkit.output, html.FIELDSET, sub._target) can.onmotion.select(can, can.ui.toolkit.output, html.FIELDSET, sub._target)
can.onmotion.focus(can, can.page.Select(can, sub._option, html.OPTION_ARGS)[0]) can.onmotion.focus(can, can.page.Select(can, sub._option, html.OPTION_ARGS)[0])
}, can.base.isFunc(cb) && cb(sub) }, can.base.isFunc(cb) && cb(sub)
@ -258,9 +260,11 @@ Volcanos("onsyntax", {help: "语法高亮", list: ["keyword", "prefix", "line"],
can.onaction.appendLine(can, item) can.onaction.appendLine(can, item)
}), can.onaction.selectLine(null, can, msg.Option(nfs.LINE)), can.base.isFunc(cb) && cb() }), can.onaction.selectLine(null, can, msg.Option(nfs.LINE)), can.base.isFunc(cb) && cb()
msg.Option(nfs.FILE).indexOf("website/") == 0 && can.onaction["展示"]({}, can) msg.Option(nfs.FILE).indexOf("website/") == 0 && can.onaction["展示"]({}, can)
if (can.page.ClassList.has(can, can._fields, chat.PLUGIN)) {
p && p.render && can.onaction["展示"]({}, can) p && p.render && can.onaction["展示"]({}, can)
p && p.engine && can.onaction["执行"]({}, can) p && p.engine && can.onaction["执行"]({}, can)
} }
}
var p = can.onsyntax[can.parse]; !p? can.run({}, [ctx.ACTION, mdb.PLUGIN, can.parse, msg.Option(nfs.FILE), msg.Option(nfs.PATH)], function(msg) { var p = can.onsyntax[can.parse]; !p? can.run({}, [ctx.ACTION, mdb.PLUGIN, can.parse, msg.Option(nfs.FILE), msg.Option(nfs.PATH)], function(msg) {
init(p = can.onsyntax[can.parse] = can.base.Obj(msg.Result())) init(p = can.onsyntax[can.parse] = can.base.Obj(msg.Result()))

View File

@ -407,10 +407,12 @@ try { if (global) {
global.svg = svg, global.html = html, global.lang = lang global.svg = svg, global.html = html, global.lang = lang
global.shy = shy, global.Volcanos = Volcanos global.shy = shy, global.Volcanos = Volcanos
Volcanos.meta._load = function(url, cb) { _can_name = url Volcanos.meta._load = function(url, cb) {
setTimeout(function() { if (Volcanos.meta.cache[url]) { return cb(Volcanos.meta.cache[url]) }
switch (url.split("?")[0].split(ice.PT).pop().toLowerCase()) { switch (url.split("?")[0].split(ice.PT).pop().toLowerCase()) {
case nfs.JS: require(url), cb(Volcanos.meta.cache[_can_name]); break case nfs.JS: require(_can_name = url), cb(Volcanos.meta.cache[url]); break
} }
}, 100)
} }
Volcanos.meta._load(global.plugin, function(cache) { Volcanos.meta._load(global.plugin, function(cache) {