From eacbc6b30713e02175881265feb9e0d6e1068b02 Mon Sep 17 00:00:00 2001 From: shylinux Date: Mon, 13 Apr 2020 21:45:47 +0800 Subject: [PATCH] opt command name --- lib/page.js | 4 ++-- plugin/input.js | 19 +++++++++++++++---- 2 files changed, 17 insertions(+), 6 deletions(-) diff --git a/lib/page.js b/lib/page.js index 6869aecf..599a5d40 100644 --- a/lib/page.js +++ b/lib/page.js @@ -44,7 +44,7 @@ Volcanos("page", {help: "网页模块", can.core.List(key, function(item, index) {if (!item) {return} // 基本结构: type name data list var type = item.type || "div", data = item.data || {}; - var name = item.name || data.name; + var name = item.name || data.name || ""; // 数据调整 can.core.Item(item, function(key, value) { @@ -144,7 +144,7 @@ Volcanos("page", {help: "网页模块", // 创建节点 - name = name || data.className || type; + name = name || data.className || type || ""; name && (data.name = data.name || item.name); var node = can.page.Create(can, type, data); value.last = node, value.first || (value.first = node), name && (value[name] = value[data.className||""] = value[type] = node); diff --git a/plugin/input.js b/plugin/input.js index a0a95f46..9c740943 100644 --- a/plugin/input.js +++ b/plugin/input.js @@ -1,15 +1,23 @@ Volcanos("onimport", {help: "导入数据", list: [], init: shy("添加控件", function(can, item, name, value, option) { var input = {type: "input", name: name, data: item}; - switch (item.type = item.type || item._type || item._input) { + item.action = item.action || item.value || ""; + item.figure = item.figure || item.value || ""; + item.cb = item.cb || item.value || ""; + if (item.value == "auto") {item.value = ""} + item.name && item.name.indexOf("@") == 0 && (item.name = item.name.slice(1)) && (item.position = item.position || "opts") + + switch (item.type = item.type || item._type || item._input || "text") { case "upfile": item.type = "file"; break case "button": - item.cb = item.cb || item.value; - item.action = item.action || item.value item.value = item.name || item.value; break case "select": item.values = typeof item.values == "string"? item.values.split(" "): item.values; + if (!item.values && item.value) { + item.values = item.value.split("|") + item.value = item.values[0] + } input.type = "select", input.list = item.values.map(function(value) { return {type: "option", value: value, inner: value}; }) @@ -21,13 +29,16 @@ Volcanos("onimport", {help: "导入数据", list: [], case "password": // no break case "text": - item.cb = item.cb || item.value || ""; item.className || can.page.ClassList.add(can, item, item.position||"args"); item.value = value || item.value || ""; item.autocomplete = "off"; break } + item.figure && item.figure.indexOf("@") == 0 && (item.figure = item.figure.slice(1)) && can.require(["plugin/input/"+item.figure], function() { + target.type != "button" && (target.value = "") + }) + var target = can.Dream(option, "input", input)[input.name]; item.type == "text" && !target.placeholder && (target.placeholder = item.name || ""); item.type != "button" && !target.title && (target.title = item.placeholder || item.name || "");