diff --git a/const.js b/const.js index 4fb9d679..dfafc384 100644 --- a/const.js +++ b/const.js @@ -378,6 +378,7 @@ var html = {value: { FULL: "full", ICON: "icon", VALUE: "value", + PROCESS: "process", TOIMAGE: "toimage", NOT_HIDE: ":not(.hide)", CONTAINER: "container", FLEX: "flex", FLOW: "flow", MORE: "more", diff --git a/index.css b/index.css index 13e56030..1925b756 100644 --- a/index.css +++ b/index.css @@ -291,6 +291,8 @@ body>div.carte div.item { white-space:pre; padding:var(--button-padding); } body>div.carte div.item span.icon.next { line-height:22px; height:22px; float:right; } body>div.carte.select.float>div.item { text-align:center; } body>div.carte.header.avatar img { width:370px; } +body>div.input.process input { background-color:var(--disable-bg-color) !important; color:var(--disable-fg-color); border:var(--box-border) !important; } +body>div.input.process input:hover { background-color:var(--disable-bg-color) !important; color:var(--disable-fg-color); border:var(--box-border) !important; } body>div.input { padding:var(--plugin-padding); } body>div.input { padding:var(--plugin-padding); } body>div.input>legend { float:right; padding:0; } diff --git a/lib/misc.js b/lib/misc.js index 323a1233..1395f4ec 100644 --- a/lib/misc.js +++ b/lib/misc.js @@ -99,10 +99,20 @@ Volcanos("misc", { can.core.CallFunc(action, {can: can, msg: can.request(event, data), arg: cmds.slice(2), cb: cb}) }): can.core.CallFunc(action, {sup: meta.can, can: can, msg: can.request(event), arg: cmds.slice(2), cb: cb}) } - can.user.input(event, can, meta.feature[cmds[1]], function(args) { can.Update(can.request(event, {_handle: ice.TRUE}, msg, can.Option()), cmds.slice(0, 2).concat(args), cb) }) - return true - } - return false + var input = can.user.input(event, can, meta.feature[cmds[1]], function(args) { + can.page.ClassList.add(can, input._target, html.PROCESS) + can.Update(can.request(event, {_handle: ice.TRUE}, msg, can.Option()), cmds.slice(0, 2).concat(args), cb||function(msg) { + can.page.ClassList.del(can, input._target, html.PROCESS) + if (msg.IsErr()) { + can.onappend.style(can, "warn", can.user.toastFailure(can, msg.Result())._target) + input.focus() + } else { + can.Update() + input.cancel() + } + }); return true + }); return true + } return false }, ParseCmd: function(can, msg, cb, cbs) { var list = [] return msg.Table(function(field, order) {