diff --git a/frame.js b/frame.js index 27f68d07..a48a1aa2 100644 --- a/frame.js +++ b/frame.js @@ -150,9 +150,9 @@ Volcanos("onappend", {help: "渲染引擎", list: [], _init: function(can, meta, can.core.ItemCB(input.onaction, function(key, cb) { input._target[key] = function(event) { cb(event, input) } - }), can.core.CallFunc([input.onaction, "_init"], [input, item, [], next, input._target]) + }), can.core.CallFunc([input.onaction, "_init"], [input, item, [], next, input._target]); - can.onappend.figure(input, item, input._target) + (item.action||meta.feature["inputs"]) && can.onappend.figure(input, item, input._target) }) }; can.core.Next(can.base.Obj(meta.inputs, []), add) }, @@ -208,7 +208,7 @@ Volcanos("onappend", {help: "渲染引擎", list: [], _init: function(can, meta, }) }) }, - _status: function(can, list, status) { status = status||can._status + _status: function(can, list, status) { status = status||can._status, can.onmotion.clear(can, status) can.core.List(list, function(item) { item = can.base.isObject(item)? item: {name: item} can.page.Append(can, status, [{view: can.base.join([html.ITEM, item.name]), title: item.name, list: [ {text: [item.name, html.LABEL]}, {text: [": ", html.LABEL]}, {text: [(item.value||"")+"", html.SPAN, item.name]}, diff --git a/lib/base.js b/lib/base.js index f404f488..1baa16f2 100644 --- a/lib/base.js +++ b/lib/base.js @@ -4,7 +4,9 @@ Volcanos("base", {help: "数据类型", }, Obj: function(value, def) { try { - return (typeof value == "string" && value != ""? JSON.parse(value): value)||def + value = typeof value == lang.STRING && value != ""? JSON.parse(value): value + if (def && def.length > 0 && value.length == 0) { return def } + return value||def } catch (e) { return [value] } diff --git a/page/index.css b/page/index.css index 9b9b71c2..ee75cace 100644 --- a/page/index.css +++ b/page/index.css @@ -221,7 +221,7 @@ fieldset>form.option>div.item.textarea { } fieldset>div.action { - float:left; + float:left; display:contents; } fieldset>div.action>div.item { float:left; margin-right:3px; diff --git a/page/index.js b/page/index.js index b5e25cca..3e7aa1ba 100644 --- a/page/index.js +++ b/page/index.js @@ -122,10 +122,6 @@ Volcanos({name: "chat", panels: [ nfs: {name: "文件 nfs", index: [ "cat", "dir", "tail", "trash", ]}, - ssh: {name: "脚本 ssh", index: [ - "connect", "session", "service", "channel", - "source", "screen", - ]}, }}, }, }) diff --git a/panel/search.js b/panel/search.js index 8ebc33b0..98460001 100644 --- a/panel/search.js +++ b/panel/search.js @@ -10,6 +10,7 @@ Volcanos("onimport", {help: "导入数据", list: [], _init: function(can, msg, msg.Length() == 1 && can.page.Select(can, table, html.TD)[0].click() + can.onappend._status(can, can.base.Obj(msg.Option("_status"), []).concat({name: "selected", value: "0"})) can.get("Action", "size", function(msg, height) { can.page.Modify(can, can.ui.profile, {"max-height": height-table.offsetHeight}) }) @@ -80,8 +81,8 @@ Volcanos("onaction", {help: "交互操作", list: [cli.CLEAR, cli.CLOSE, cli.DON can.page.Append(can, can.ui.display, [{td: can.core.List(fields, function(item) { return line[item] }), data: {index: index}, onclick: function(event) { can.page.Remove(can, event.target.parentNode) - can.Status(kit.MDB_COUNT, can.page.Select(can, can.ui.display, html.TR).length-1) - }}]), can.Status(kit.MDB_COUNT, can.page.Select(can, can.ui.display, html.TR).length-1) + can.Status("selected", can.page.Select(can, can.ui.display, html.TR).length-1) + }}]), can.Status("selected", can.page.Select(can, can.ui.display, html.TR).length-1) }, plugin: function(event, can, index) { var line = can.list[index] @@ -97,7 +98,7 @@ Volcanos("onaction", {help: "交互操作", list: [cli.CLEAR, cli.CLOSE, cli.DON }, can.ui.profile) }, }) -Volcanos("onexport", {help: "导出数据", list: [kit.MDB_COUNT, kit.MDB_TOTAL], +Volcanos("onexport", {help: "导出数据", list: [], 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 }) diff --git a/plugin/local/wiki/draw.js b/plugin/local/wiki/draw.js index d40519de..7adcea88 100644 --- a/plugin/local/wiki/draw.js +++ b/plugin/local/wiki/draw.js @@ -549,13 +549,13 @@ Volcanos("onaction", {help: "组件菜单", list: [ Volcanos("ondetail", {help: "组件详情", list: ["复制", "标签", "编辑", "删除"], "复制": function(event, can) { can.onfigure._copy(event, can, event.target) }, "标签": function(event, can) { var target = event.target - var def = target.Value("text"); can.page.Select(can, can.svg, "."+target.Value("text"), function(item) { + var def = target.Value("text"); def && can.page.Select(can, can.svg, ice.PT+def, function(item) { def = item.Value("inner") }) can.user.prompt("文字", function(text) { - if (target.tagName == "text") {return target.innerHTML = text} + if (target.tagName == "text") { return target.innerHTML = text } - if (can.page.Select(can, can.svg, "."+target.Value("text"), function(item) { + if (def && can.page.Select(can, can.svg, ice.PT+def, function(item) { item.Value("inner", text) }).length > 0) { return diff --git a/plugin/local/wiki/feel.js b/plugin/local/wiki/feel.js index 57d12b07..f31436be 100644 --- a/plugin/local/wiki/feel.js +++ b/plugin/local/wiki/feel.js @@ -103,7 +103,7 @@ Volcanos("ondetail", {help: "组件菜单", list: ["关闭", "下载", "删除", "关闭": function(event, can) { can.page.Remove(can, can.sub._target) }, "下载": function(event, can) { can.user.download(can, path = can.onimport._file(can, can.list[can.order].path)) }, "删除": function(event, can) { - can.run(event, [ctx.ACTION, mdb.REMOVE, can.Status("file")], function(msg) { can.user.toast(can, "删除成功")}) + can.run(event, [ctx.ACTION, mdb.REMOVE, can.Status("file")], function(msg) { can.user.toast(can, "删除成功") }, true) }, "上一个": function(event, can) { can.order > 0? can.show(--can.order): can.user.toast(can, "已经是第一张啦!") }, "下一个": function(event, can) { can.order < can.list.length-1? can.show(++can.order): can.user.toast(can, "已经是最后一张啦!") }, diff --git a/proto.js b/proto.js index eefcc49f..629e42e3 100644 --- a/proto.js +++ b/proto.js @@ -10,6 +10,7 @@ var kit = { MDB_LINK: "link", MDB_VALUE: "value", + MDB_COUNT: "count", MDB_INDEX: "index", MDB_ARGS: "args",