diff --git a/frame.js b/frame.js index 9d7b8216..535f2b55 100644 --- a/frame.js +++ b/frame.js @@ -23,7 +23,10 @@ Volcanos(chat.ONENGINE, {_init: function(can, meta, list, cb, target) { can.requ if (panel.onengine._plugin(event, can, msg, panel, cmds, cb)) { return } if (panel.onengine._engine(event, can, msg, panel, cmds, cb)) { return } if (panel.onengine._static(event, can, msg, panel, cmds, cb)) { return } - var toast, _toast = msg.Option(chat._TOAST); if (_toast) { can.onmotion.delay(can, function() { toast = toast||can.user.toastProcess(msg._can, _toast) }, 500) } + var toast, _toast = msg.Option(chat._TOAST); if (_toast) { can.onmotion.delay(can, function() { + if (msg._can && msg._can._toast) { return } + toast = toast||can.user.toastProcess(msg._can, _toast) }, 500) + } msg.option = can.core.List(msg.option, function(item) { return [chat._TOAST, ice.MSG_HANDLE].indexOf(item) > -1 && delete(msg[item])? undefined: item }) msg.OptionDefault(ice.MSG_THEME, can.getHeader(chat.THEME), ice.SESS_HEIGHT, panel.Conf(html.HEIGHT)||panel._target.offsetHeight||"", ice.SESS_WIDTH, panel.Conf(html.WIDTH)||panel.offsetWidth||"") if (can.base.isUndefined(msg[ice.MSG_DAEMON])) { var sub = msg._can; can.base.isUndefined(sub._daemon) && can.ondaemon._list[0] && (sub._daemon = can.ondaemon._list.push(sub)-1) diff --git a/index.css b/index.css index 7d5584da..95922487 100644 --- a/index.css +++ b/index.css @@ -168,7 +168,8 @@ fieldset.float div.text:hover>span.icon.delete { visibility:hidden; } body.mobile:not(.landscape) fieldset.float>form.option>div.text>span.value { display:none; } body.windows form.option>div.icon { font-size:21px; } /* svg */ -svg text { font-size:24px; font-family:monospace; stroke:var(--body-fg-color); fill:var(--body-fg-color); } +svg text { font-size:24px; font-family:monospace; stroke:var(--body-fg-color); fill:var(--body-fg-color); cursor:pointer; } +svg text:hover { font-size:24px; font-family:monospace; stroke:var(--hover-fg-color); fill:var(--hover-fg-color); cursor:pointer; } svg rect { stroke-width:var(--svg-stroke-width); stroke:var(--body-fg-color); fill:var(--output-bg-color); } svg line { stroke-width:var(--svg-stroke-width); stroke:var(--body-fg-color); } svg path { stroke-width:var(--svg-stroke-width); stroke:var(--body-fg-color); } diff --git a/lib/user.js b/lib/user.js index 64b7a68a..fd1686e5 100644 --- a/lib/user.js +++ b/lib/user.js @@ -80,6 +80,8 @@ Volcanos("user", { "add", "添加", "opt", "优化", "fix", "修复", "message", "信息", "max", "最大", "auto", "自动", "confirm", "确定", + "upgrade", "升级", + "compile", "编译", "prepare", "准备", "process", "处理", "finish", "完成", "today", "今天", )[text]||text @@ -98,7 +100,7 @@ Volcanos("user", { toastFailure: function(can, content, title) { return can.user.toast(can, {content: "\u274C "+(content||ice.FAILURE), title: title, duration: 10000, caller: 2}) }, toast: function(can, content, title, duration, progress, caller) { var meta = can.base.isObject(content)? content: {content: content, duration: duration, progress: progress, caller: caller} - meta.title = meta.title||can.Conf(ctx.INDEX)||can._name.split(nfs.PS).slice(-2).join(nfs.PS) + meta.title = meta.title||can.core.Keys(can.Conf(web.SPACE), can.Conf(ctx.INDEX))||can._name.split(nfs.PS).slice(-2).join(nfs.PS) var width = meta.width||400; if (width < 0) { width = window.innerWidth + width } meta.action = meta.action||[""] var ui = can.page.Append(can, document.body, [{view: [[chat.TOAST, chat.FLOAT]], style: {left: (window.innerWidth-width)/2, width: width, top: can.page.height()/2}, list: [ {text: [meta.title||"", html.DIV, html.TITLE], title: "点击复制", onclick: function(event) { can.user.copy(event, can, meta.title) }}, @@ -107,7 +109,7 @@ Volcanos("user", { html.ACTION, !can.base.isUndefined(meta.progress) && {view: "progress", style: {width: width-10}, list: [ {view: "current", style: {width: (meta.progress||0)*(width-12)/100}}, ]}, - ] }]); can.onengine.signal(can, chat.ONTOAST, can.request({}, {time: can.misc._time(), title: meta.title, content: meta.content})._caller(meta.caller||1)) + ] }]); can.onengine.signal(can, chat.ONTOAST, can.request({}, {time: can.misc._time(), title: meta.title, content: meta.content})._caller(meta.caller||4)) meta.action.meta && can.core.Item(meta.action.meta, function(key, cb) { cb.help && can.core.Value(meta.action.meta, ["_trans", key], cb.help) }) var action = can.onappend._action(can, meta.action.list? meta.action.list: meta.action, ui.action, { _trans: meta.action.meta? meta.action.meta._trans: {}, diff --git a/plugin/story/spide.js b/plugin/story/spide.js index 27b22bfd..0a15f46a 100644 --- a/plugin/story/spide.js +++ b/plugin/story/spide.js @@ -1,4 +1,4 @@ -Volcanos(chat.ONIMPORT, {_init: function(can, msg, cb) { can.page.requireDraw(can, function() { can.ConfDefault({field: msg.append[0], split: nfs.PS}) +Volcanos(chat.ONIMPORT, {_init: function(can, msg, cb) { can.page.requireDraw(can, function() { msg.append && can.ConfDefault({field: msg.append[0], split: nfs.PS}) can.dir_root = can.Conf(nfs.DIR_ROOT)||msg.Option(nfs.DIR_ROOT), can._tree = can.onimport._tree(can, msg.Table(), can.Conf(mdb.FIELD), can.Conf(lex.SPLIT)) can.onaction.list = [], can.base.isFunc(cb) && cb(msg), can.onimport.layout(can) can.onappend._status(can, msg.Option(ice.MSG_STATUS)) @@ -57,7 +57,7 @@ Volcanos(chat.ONDETAIL, { onclick: function(event, can, tree) { if (tree.list.length > 0 || tree.name.endsWith(can.Conf(lex.SPLIT))) { return tree.hide = !tree.hide, can.onaction[can.Action(ice.VIEW)||"横向"](event, can) } for (var node = tree; node; node = node.last) { can.request(event, node.meta) } - can.run(can.request(event, can.Option()), can.base.Obj(can.Conf(lex.PREFIX), []).concat([tree.file||"", tree.name]), function(msg) { + can.run(can.request(event, can.Option()), can.base.Obj(can.Conf(lex.PREFIX), []).concat(can.Conf(ctx.ACTION)||[], [tree.file||"", tree.name]), function(msg) { if (msg.Length() == 0) { return can.onappend._float(can, web.CODE_INNER, [can._msg.Option(nfs.DIR_ROOT), tree.file, tree.line], code.INNER) } if (msg.Append(mdb.INDEX)) { return msg.Table(function(value) { can.onappend._float(can, value.index, value.args) }) } }, true)