mirror of
https://shylinux.com/x/volcanos
synced 2025-04-25 16:58:06 +08:00
opt input.js
This commit is contained in:
parent
d4e8cbd4a9
commit
f9f88bc461
86
frame.js
86
frame.js
@ -152,36 +152,29 @@ Volcanos(chat.ONAPPEND, {_init: function(can, meta, list, cb, target, field) {
|
||||
_option: function(can, meta, option, skip) { var index = -1, args = can.base.Obj(meta.args||meta.arg, []), opts = can.base.Obj(meta.opts, {})
|
||||
function add(item, next) { item = can.base.isString(item)? {type: html.TEXT, name: item}: item, item.type != html.BUTTON && index++
|
||||
return Volcanos(item.name, {_root: can._root, _follow: can.core.Keys(can._follow, item.name),
|
||||
_target: can.onappend.input(can, item, args[index]||opts[item.name], option||can._option),
|
||||
_option: option||can._option, _action: can._action, _output: can._output, _status: can._status,
|
||||
CloneField: can.Clone, CloneInput: function() { can.onmotion.focus(can, add(item)._target) },
|
||||
Option: can.Option, Action: can.Action, Status: can.Status, Input: can.Input,
|
||||
_target: can.onappend.input(can, item, args[index]||opts[item.name], option||can._option), _option: option||can._option, _action: can._action, _output: can._output, _status: can._status,
|
||||
CloneField: can.Clone, CloneInput: function() { can.onmotion.focus(can, add(item)._target) }, Input: can.Input, Option: can.Option, Action: can.Action, Status: can.Status,
|
||||
}, [item.display, chat.PLUGIN_INPUT_JS], function(sub) { sub.Conf(item)
|
||||
sub.run = function(event, cmds, cb, silent) { var msg = can.request(event, kit.Dict(chat._TOAST, ice.PROCESS))._caller()
|
||||
msg.RunAction(event, sub, cmds) || msg.RunAction(event, can.core.Value(can, chat._OUTPUTS_CURRENT), cmds) || can.Update(event, can.Input(cmds, !silent), cb, silent)
|
||||
}, can._inputs = can._inputs||{}, can._inputs[item.name] = sub, sub.sup = can
|
||||
can.core.ItemCB(sub.onaction, function(key, cb) { sub._target[key] = function(event) { can.misc.Event(event, can, function(msg) { cb(event, sub, sub._target) })} })
|
||||
can.core.ItemCB(item, function(key, cb) { sub._target[key] = function(event) { can.misc.Event(event, can, function(msg) { cb(event, sub, sub._target) })} })
|
||||
skip? next(): can.core.CallFunc([sub.onaction, chat._INIT], {can: sub, meta: item, cb: next, target: sub._target});
|
||||
(item.action||can.core.Value(meta, [ctx.FEATURE, ctx.INPUTS])) && can.onappend.figure(sub, item, sub._target, function(_sub, value) {
|
||||
can.onmotion.focus(can, sub._target, value), can.onmotion.delay(can, function() { can.Update() })
|
||||
})
|
||||
item.action && can.onappend.figure(sub, item, sub._target, function(_sub, value) { sub._target.value = value, can.Update() })
|
||||
skip? next(): can.core.CallFunc([sub.onaction, chat._INIT], {can: sub, meta: item, cb: next, target: sub._target})
|
||||
})
|
||||
} can.core.Next(can.core.Value(can, [chat.ONIMPORT, mdb.LIST])||meta.inputs, add)
|
||||
},
|
||||
_action: function(can, list, action, meta) { meta = meta||can.onaction||{}, action = action||can._action, can.onmotion.clear(can, action)
|
||||
function run(event, button) { can.misc.Event(event, can, function(msg) {
|
||||
var cb = meta[button]||meta[chat._ENGINE]; cb? can.core.CallFunc(cb, {event: event, can: can, button: button}): can.run(event, [ctx.ACTION, button].concat(can.sup.Input()), function(msg) {
|
||||
if (can._fields && can.core.CallFunc([can.sup, chat.ONIMPORT, ice.MSG_PROCESS], {can: can.sup, msg: msg})) { return }
|
||||
if (can.core.CallFunc([can, chat.ONIMPORT, ice.MSG_PROCESS], {can: can, msg: msg})) { return }
|
||||
})
|
||||
function run(event, button) { can.misc.Event(event, can, function(msg) { var _can = can._fields? can.sup: can
|
||||
var cb = meta[button]||meta[chat._ENGINE]; cb? can.core.CallFunc(cb, {event: event, can: can, button: button}):
|
||||
can.run(event, [ctx.ACTION, button].concat(_can.Input()), function(msg) { can.core.CallFunc([_can, chat.ONIMPORT, ice.MSG_PROCESS], {can: _can, msg: msg}) })
|
||||
}) }
|
||||
return can.core.List(can.page.inputs(can, can.base.getValid(can.base.Obj(list), can.core.Value(can, [chat.ONACTION, mdb.LIST]), meta != can.onaction? can.core.Item(meta): [])||[]), function(item) {
|
||||
can.base.isUndefined(item) || can.onappend.input(can, item == ""? /* 1.空白 */ {type: html.BR}:
|
||||
can.base.isString(item)? /* 2.按键 */ {type: html.BUTTON, name: item, value: can.user.trans(can, item, meta._trans), onclick: function(event) {
|
||||
run(event, item)
|
||||
}, onkeydown: function(event) { if (event.key == lang.ENTER) { target.click() }}}:
|
||||
item.length > 0? /* 3.列表 */ {type: html.SELECT, name: item[0], values: item.slice(1), onchange: function(event) { can.misc.Event(event, can, function(msg) {
|
||||
}}: item.length > 0? /* 3.列表 */ {type: html.SELECT, name: item[0], values: item.slice(1), onchange: function(event) { can.misc.Event(event, can, function(msg) {
|
||||
var button = event.target.value; meta[item[0]]? can.core.CallFunc(meta[item[0]], [event, can, item[0], button]): meta[button] && can.core.CallFunc(meta[button], [event, can, button])
|
||||
}) }}: /* 4.其它 */(item.type == html.BUTTON && (item.value = item.value||can.user.trans(can, item.name, meta._trans), item.onclick = item.onclick||function(event) {
|
||||
run(event, item.name)
|
||||
@ -318,44 +311,32 @@ Volcanos(chat.ONAPPEND, {_init: function(can, meta, list, cb, target, field) {
|
||||
},
|
||||
field: function(can, type, item, target) { type = type||html.STORY, item = item||{}
|
||||
var name = can.core.Split(item.nick||item.name||"").pop()||"", title = !item.help || item.help == name || can.user.language(can) == "en"? name: name+"("+can.core.Split(item.help)[0]+")"
|
||||
return can.page.Append(can, target||can._output, [{view: [type, html.FIELDSET], list: [
|
||||
{type: html.LEGEND, list: [{text: title}
|
||||
]}, {view: [html.OPTION, html.FORM]}, html.ACTION, html.OUTPUT, html.STATUS]}])
|
||||
return can.page.Append(can, target||can._output, [{view: [type, html.FIELDSET], list: [{text: [title, html.LEGEND]}, {view: [html.OPTION, html.FORM]}, html.ACTION, html.OUTPUT, html.STATUS]}])
|
||||
},
|
||||
input: function(can, item, value, target, style) { if ([html.BR, html.HR].indexOf(item.type) > -1) { return can.page.Append(can, target, [item]) }
|
||||
var icon = [], _item = can.base.Copy({className: "", type: "", name: ""}, item)
|
||||
var input = can.page.input(can, _item, value); input.title = can.Conf(can.core.Keys(ctx.FEATURE, chat.TITLE, item.name))||""
|
||||
if (item.type == html.SELECT && (value || _item.value)) { input._init = function(target) { target.value = value||_item.value } }
|
||||
if (item.type == html.TEXT) { input.onkeydown = item.onkeydown||function(event) {
|
||||
can.onkeymap.input(event, can), can.onkeymap.selectOutput(event, can), event.key == lang.ENTER && can.onkeymap.prevent(event)
|
||||
}, input.onfocus = input.onfocus||function(event) {
|
||||
can.onmotion.selectRange(event.target)
|
||||
}, icon.push({text: can.page.unicode.delete, className: "icon delete", onclick: function(event) {
|
||||
_input.value = ""; item.name == html.FILTER && can.page.Select(can, can._output, html.TR, function(tr) { can.page.ClassList.del(can, tr, html.HIDE) })
|
||||
}}) }
|
||||
if (item.range) { input._init = function(target) { can.onappend.figure(can, item, target, function(sub, value, old) {
|
||||
target.value = value, can.core.CallFunc([can.onaction, item.name], [event, can, item.name])
|
||||
}) } }
|
||||
var icon = [], _item = can.base.Copy({className: "", type: "", name: ""}, item), input = can.page.input(can, _item, value)
|
||||
if (item.type == html.TEXT) { input.onfocus = input.onfocus||function(event) { can.onmotion.selectRange(event.target) }
|
||||
input.onkeydown = item.onkeydown||function(event) { can.onkeymap.input(event, can), can.onkeymap.selectOutput(event, can) }
|
||||
input.onkeyup = item.onkeyup||function(event) { if (item.name == html.FILTER) { can.user.toast(can, "filter out "+can.page.Select(can, can._output, html.TR, function(tr, index) {
|
||||
if (!can.page.ClassList.set(can, tr, html.HIDE, index > 0 && tr.innerText.indexOf(event.target.value) == -1)) { return tr }
|
||||
}).length+" lines") } }
|
||||
icon.push({icon: mdb.DELETE, onclick: function(event) { _input.value = "", item.name == html.FILTER && can.page.Select(can, can._output, html.TR, function(tr) { can.page.ClassList.del(can, tr, html.HIDE) }) }})
|
||||
} if (item.range) { input._init = function(target) { can.onappend.figure(can, item, target, function(sub, value, old) { target.value = value, can.core.CallFunc([can.onaction, item.name], [event, can, item.name]) }) } }
|
||||
var _input = can.page.Append(can, target, [{view: [[html.ITEM, item.type, item.name].concat(style)], list: [input].concat(icon), _init: function(target, _input) {
|
||||
item.type == html.SELECT && can.onappend.select(can, _input.select, _item)
|
||||
if (item.type == html.SELECT) { _input.select.value = value||_item.value||_item.values[0], can.onappend.select(can, _input.select, _item) }
|
||||
}}])[item.name]; return _input
|
||||
},
|
||||
select: function(can, select, item) {
|
||||
return can.page.Append(can, select.parentNode, [{type: html.INPUT, value: item.value||item.values[0], data: {className: html.SELECT, type: html.BUTTON, name: item.name}, onclick: function(event) { var target = event.target
|
||||
var carte = can.user.carte(event, can, {}, item.values, function(event, button) { if (target.value == button) { return }
|
||||
target.value = button, select.value = button, select.onchange && select.onchange({target: select}) })
|
||||
can.onappend.style(can, [html.SELECT, item.name], carte._target), can.page.style(can, carte._target, html.MIN_WIDTH, event.target.offsetWidth)
|
||||
}, _init: function(target) { can.onmotion.delay(can, function() {
|
||||
target.value = select.value, can.page.style(can, target, html.WIDTH, select.offsetWidth+10), can.onappend.style(can, html.HIDE, select)
|
||||
}) }}, {text: ["\u25BF", html.SPAN, html.ICON]}])
|
||||
select: function(can, select, item) { var carte
|
||||
return can.page.Append(can, select.parentNode, [{type: html.INPUT, data: {className: html.SELECT, type: html.BUTTON, name: item.name, value: item.value||item.values[0], title: item.name}, onclick: function(event) { var target = event.target
|
||||
if (carte) { return carte.close(), carte = null } carte = can.user.carte(event, can, {}, item.values, function(event, button) { carte = null; if (target.value == button) { return }
|
||||
target.value = button, select.value = button, select.onchange && select.onchange({target: select})
|
||||
}); can.onappend.style(can, [html.SELECT, item.name], carte._target), can.page.style(can, carte._target, html.MIN_WIDTH, event.target.offsetWidth)
|
||||
}, _init: function(target) { can.page.style(can, target, html.WIDTH, select.offsetWidth+10), can.onappend.style(can, html.HIDE, select) }}, {icon: mdb.SELECT}])
|
||||
},
|
||||
table: function(can, msg, cb, target, keys) { if (!msg || msg.Length() == 0) { return } var meta = can.base.Obj(msg.Option(mdb.META))
|
||||
var table = can.page.AppendTable(can, msg, target||can._output, msg.append, cb||function(value, key, index, line, array) {
|
||||
if (msg.append.length == 2 && msg.append[0] == mdb.KEY && msg.append[1] == mdb.VALUE) { if (key == mdb.VALUE) { key = line.key }
|
||||
line = {}, can.core.List(array, function(item) { line[item.key] = item.value })
|
||||
} function run(event, cmd, arg) { can.misc.Event(event, can, function(msg) {
|
||||
can.run(can.request(event, line, can.Option()), [ctx.ACTION, cmd].concat(arg))
|
||||
}) }
|
||||
function run(event, cmd, arg) { can.misc.Event(event, can, function(msg) { can.run(can.request(event, line, can.Option()), [ctx.ACTION, cmd].concat(arg)) }) }
|
||||
if (msg.append.length == 2 && msg.append[0] == mdb.KEY && msg.append[1] == mdb.VALUE) { if (key == mdb.VALUE) { key = line.key } line = {}, can.core.List(array, function(item) { line[item.key] = item.value }) }
|
||||
return {text: [value, html.TD], onclick: function(event) { var target = event.target
|
||||
if (can.page.tagis(target, html.INPUT) && target.type == html.BUTTON) {
|
||||
meta && meta[target.name]? can.user.input(can.request(event, {action: target.name}), can, meta[target.name], function(args) { run(event, target.name, args) }): run(event, target.name)
|
||||
@ -441,23 +422,20 @@ Volcanos(chat.ONAPPEND, {_init: function(can, meta, list, cb, target, field) {
|
||||
}), sub.onaction.close = function() { can.page.Remove(can, sub._target) }
|
||||
}, can._root._target)
|
||||
},
|
||||
figure: function(can, meta, target, cb) { if (meta.type == html.BUTTON || meta.type == html.SELECT) { return }
|
||||
figure: function(can, meta, target, cb) { if (meta.type == html.SELECT || meta.type == html.BUTTON) { return }
|
||||
var input = meta.action||mdb.KEY, path = chat.PLUGIN_INPUT+input+nfs._JS; can.require([path], function(can) {
|
||||
function _cb(sub, value, old) { if (value == old) { return } can.base.isFunc(cb)? cb(sub, value, old): target.value = value }
|
||||
can.core.ItemCB(can.onfigure[input], function(key, on) { var last = target[key]||function(){}; target[key] = function(event) { can.misc.Event(event, can, function(msg) {
|
||||
function show(sub, cb) { can.base.isFunc(cb) && cb(sub, _cb), can.onmotion.delay(can, function() {
|
||||
can.onlayout.figure(event, can, sub._target, false), can.onmotion.toggle(can, sub._target, true)
|
||||
}) }
|
||||
target.onkeydown = function() { if (event.key == lang.ESCAPE && target._can) { return target._can.close(), target.blur() } }
|
||||
can.core.ItemCB(can.onfigure[input], function(key, on) { var last = target[key]||function() { }; target[key] = function(event) { can.misc.Event(event, can, function(msg) {
|
||||
function show(sub, cb) { can.base.isFunc(cb) && cb(sub, _cb), can.onlayout.figure(event, can, sub._target, false), can.onmotion.toggle(can, sub._target, true) }
|
||||
can.core.CallFunc(on, {event: event, can: can, meta: meta, cb: _cb, target: target, sub: target._can, last: last, cbs: function(cb) {
|
||||
target._can? show(target._can, cb): can.onappend._init(can, {type: html.INPUT, name: input, style: meta.name, mode: chat.FLOAT}, [path], function(sub) { sub.Conf(meta)
|
||||
sub.run = function(event, cmds, cb) { var msg = sub.request(event)
|
||||
if (meta.range) { for (var i = meta.range[0]; i < meta.range[1]; i += meta.range[2]||1) { msg.Push(mdb.VALUE, i) } cb(msg); return }
|
||||
(meta.run||can.run)(sub.request(event, can.Option()), cmds, cb, true)
|
||||
}, target._can = sub, can.base.Copy(sub, can.onfigure[input], true), sub._name = sub._path = path
|
||||
sub.hidden = function() { return !can.page.isDisplay(sub._target) }, sub.close = function() { can.page.Remove(can, sub._target), delete(target._can) }
|
||||
meta.mode && can.onappend.style(sub, meta.mode), can.page.style(sub, sub._target, meta.style)
|
||||
can.base.isFunc(meta._init) && meta._init(sub, sub._target), show(sub, cb)
|
||||
sub._target._close = sub.close
|
||||
sub._target._close = sub.close = function() { can.page.Remove(can, sub._target), delete(target._can) }, sub.hidden = function() { return !can.page.isDisplay(sub._target) }
|
||||
meta.mode && can.onappend.style(sub, meta.mode), can.page.style(sub, sub._target, meta.style), can.base.isFunc(meta._init) && meta._init(sub, sub._target), show(sub, cb)
|
||||
}, can._root._target)
|
||||
}})
|
||||
}) } }), can.onfigure[input]._init && can.onfigure[input]._init(can, meta, target, _cb)
|
||||
|
@ -288,7 +288,7 @@ fieldset.plugin.parse.cmd>div.status { display:none; }
|
||||
fieldset.plugin.inner.cmd>legend { display:none; }
|
||||
fieldset.plugin.inner.cmd>div.action { display:none; }
|
||||
fieldset.plugin.inner.cmd>form.option { display:none; }
|
||||
fieldset.plan div.output table.content { width:100%; }
|
||||
fieldset.plan div.output table.content { height:100%; width:100%; }
|
||||
fieldset.xterm div.toggle { display:none; }
|
||||
fieldset.draw td.content { position:relative; }
|
||||
fieldset.draw div.output div.content svg { background-color:#1b5b738c; }
|
||||
|
@ -54,7 +54,7 @@ Volcanos("page", {
|
||||
} else if (item.text) { var list = can.core.List(item.text); if (can.base.isArray(list[2])) { list[2] = list[2].join(ice.SP) }
|
||||
data.innerHTML = list[0]||data.innerHTML||"", type = list[1]||item.type||html.SPAN, list[2] && can.page.ClassList.add(can, data, list[2])
|
||||
} else if (item.icon) { var list = can.core.List(item.icon)
|
||||
type = html.SPAN, name = list[0], data.className = list[0], data.innerText = can.page.unicode[list[0]]
|
||||
type = html.SPAN, name = list[0], data.className = "icon "+list[0], data.innerText = can.page.unicode[list[0]]
|
||||
} else if (item.button) { var list = can.core.List(item.button); type = html.BUTTON, name = list[0]||name, data.innerText = can.user.trans(can, name)
|
||||
data.onclick = function(event) { can.misc.Event(event, can, function(msg) { can.base.isFunc(list[1]) && list[1](event, name), can.onkeymap.prevent(event) }) }
|
||||
} else if (item.select) { var list = item.select; type = html.SELECT, name = list[0][0], data.className = data.className||list[0][0]
|
||||
@ -241,7 +241,7 @@ Volcanos("page", {
|
||||
height: function() { return window.innerHeight },
|
||||
width: function() { return window.innerWidth },
|
||||
ismodkey: function(event) { return [lang.META, lang.ALT, lang.CONTROL, lang.SHIFT].indexOf(event.key) > -1 },
|
||||
unicode: {menu: "☰", back: "◀", refresh: "↻", reback: "▶", delete: "✕", lt: "❮", gt: "❯", open: "▾", close: "▸", inner: ".."},
|
||||
unicode: {menu: "☰", back: "◀", refresh: "↻", reback: "▶", delete: "✕", lt: "❮", gt: "❯", open: "▾", close: "▸", select: "▿", inner: ".."},
|
||||
inputs: function(can, list, type) { var _list = []; for (var i = 0; i < list.length; i++) { switch (list[i]) {
|
||||
case "": _list.push(""); break
|
||||
case ice.AUTO:
|
||||
|
10
lib/user.js
10
lib/user.js
@ -132,8 +132,7 @@ Volcanos("user", {
|
||||
{view: html.OPTION, list: [{type: html.TABLE, list: can.core.List(form, function(item) {
|
||||
item = can.base.isString(item)? {type: html.TEXT, name: item}: item.length > 0? {type: html.SELECT, name: item[0], values: item.slice(1)}: item
|
||||
item.type = item.type||(item.values? html.SELECT: item.name == html.TEXT? html.TEXTAREA: html.TEXT), need[item.name] = item.need
|
||||
item._init = function(target) { if (item.type == html.SELECT) { return can.onappend.select(can, target, item) }
|
||||
if (item.type == html.PASSWORD || item.type == html.USERNAME) { return }
|
||||
item._init = function(target) { if (item.type == html.SELECT) { return can.onmotion.delay(can, function() { can.onappend.select(can, target, item) }) }
|
||||
if (item.name && item.name != ctx.ACTION) { target.value = msg.Option(item.name)||can.Option(item.name)||target.value||"" }
|
||||
item.mode = chat.SIMPLE, can.onappend.figure(can, can.base.Copy({run: function(event, cmds, cb) { var _msg = can.request(event, {_handle: ice.TRUE, action: msg.Option(html.ACTION)}, msg, can.Option())
|
||||
can.page.Select(can, ui.table, html.OPTION_ARGS, function(item) { item.name && item.value && _msg.Option(item.name, item.value) })
|
||||
@ -141,11 +140,8 @@ Volcanos("user", {
|
||||
}, _enter: function(event) { return action.submit(event, can, html.SUBMIT), true }}, item), target)
|
||||
}, item.onkeydown = function(event) { if (event.key == lang.ESCAPE) { event.target.blur() } }
|
||||
return {type: html.TR, list: [
|
||||
{type: html.TD, list: [{text: [item.name||"", html.LABEL]}]},
|
||||
{type: html.TD, list: [{text: item.need == "must"? "*": "", style: {color: cli.RED}}]},
|
||||
{type: html.TD, list: [can.page.input(can, item), item.type == html.TEXT && {view: [html.ICON, html.SPAN, can.page.unicode.delete], onclick: function(event) {
|
||||
event.target.previousSibling.value = ""
|
||||
}}]},
|
||||
{type: html.TD, list: [{text: [item.name||"", html.LABEL]}]}, {type: html.TD, list: [{text: item.need == "must"? "*": "", style: {color: cli.RED}}]},
|
||||
{type: html.TD, list: [can.page.input(can, item), item.type == html.TEXT && {icon: "delete", onclick: function(event) { event.target.previousSibling.value = "" }}]},
|
||||
]}
|
||||
})}]}, html.ACTION,
|
||||
]}])
|
||||
|
@ -6,7 +6,7 @@ Volcanos(chat.ONIMPORT, {_init: function(can, msg) { var river = can.Conf(chat.R
|
||||
sub._target.onclick = function(event) { event.target == sub._target && can.onmotion.scrollHold(can, function() { sub._tabs.click() }) }
|
||||
})
|
||||
}, function() { can.isCmdMode() || can.onmotion.delay(can, function() { can.onaction.layout(can)
|
||||
list[0] == river && list[1] == storm && can.core.List(can._plugins, function(sub) { sub.Conf(ctx.INDEX) == list[2] && can.onmotion.delay(can, function() { sub._tabs.click() }) })
|
||||
can.onexport.layout(can) && list[0] == river && list[1] == storm && can.core.List(can._plugins, function(sub) { sub.Conf(ctx.INDEX) == list[2] && can.onmotion.delay(can, function() { sub._tabs.click() }) })
|
||||
}) })
|
||||
},
|
||||
_share: function(can, share) { share && can.runAction({}, web.SHARE, [share], function(msg) {
|
||||
@ -18,7 +18,7 @@ Volcanos(chat.ONIMPORT, {_init: function(can, msg) { var river = can.Conf(chat.R
|
||||
can.onmotion.select(can, can._action, html.DIV_TABS, sub._tabs), can.onmotion.select(can, can._output, html.FIELDSET_PLUGIN, sub._target)
|
||||
if (sub._delay_refresh) { sub._delay_refresh = false, sub.onimport.size(sub, can.ConfHeight(), can.ConfWidth(), can.onexport.isauto(can)) }
|
||||
can.onexport.layout(can) == FREE || (can._output.scrollTop = sub._target.offsetTop-html.PLUGIN_MARGIN)
|
||||
can.misc.SearchHash(can, can.Conf(chat.RIVER), can.Conf(chat.STORM), meta.index)
|
||||
can.onexport.layout(can) && can.misc.SearchHash(can, can.Conf(chat.RIVER), can.Conf(chat.STORM), meta.index)
|
||||
}, oncontextmenu: sub._legend.onclick}]; sub._header_tabs = can.page.Append(can, can._header_tabs, tabs)._target, sub._tabs = can.page.Append(can, can._action, tabs)._target
|
||||
},
|
||||
_menu: function(can, msg) { if (can.user.isMobile) { return }
|
||||
@ -39,7 +39,7 @@ Volcanos(chat.ONACTION, {_init: function(can, target) {
|
||||
}}])._target; can._toggle = target
|
||||
}); if (!can.Conf(chat.TOOL) && !can.user.mod.isCmd) { return } can._names = location.pathname
|
||||
can.Conf(chat.TOOL)? can.onappend.layout(can, can._output, FLOW, can.core.List(can.Conf(chat.TOOL), function(item, index, list) { item.type = chat.PLUGIN
|
||||
if (list.length == 1) { can.onaction._onaction_cmd(can), item.mode = chat.CMD, item.opts = can.misc.Search(can) } return item
|
||||
if (list.length == 1) { can.user.title(item.index), can.onaction._onaction_cmd(can), item.mode = chat.CMD, item.opts = can.misc.Search(can) } return item
|
||||
})).layout(window.innerHeight, window.innerWidth): can.runAction(can.request(), ctx.COMMAND, [], function(msg) {
|
||||
if (msg.Length() == 1) { can.onaction._onaction_cmd(can) } can.onimport._init(can, msg)
|
||||
})
|
||||
|
@ -1,13 +1,10 @@
|
||||
Volcanos(chat.ONACTION, {
|
||||
_init: function(can, meta, target) { meta.type == html.BUTTON && meta.action == ice.AUTO && can.base.isUndefined(can.sup._delay_init) && target.click() },
|
||||
run: function(event, can) { can.run(event) }, refresh: function(event, can) { can.run(event) },
|
||||
list: function(event, can) { can.sup.isSimpleMode() || can.run(event) },
|
||||
back: function(event, can) { can.sup.onimport._back(can.sup) },
|
||||
list: function(event, can) { can.sup.isSimpleMode() || can.run(event) }, back: function(event, can) { can.sup.onimport._back(can.sup) },
|
||||
onclick: function(event, can) { can.Conf(mdb.TYPE) == html.BUTTON && can.run(event, [ctx.ACTION, can.Conf(mdb.NAME)].concat(can.sup.Input())), can.onkeymap.prevent(event) },
|
||||
onfocus: function(event, can, target) { can.Conf(mdb.TYPE) == html.TEXT && can.onmotion.selectRange(target) },
|
||||
onchange: function(event, can) { can.Conf(mdb.TYPE) == html.SELECT && can.run(event) },
|
||||
onkeydown: function(event, can) { can.onkeymap.input(event, can, event.target)
|
||||
if (can.Conf(mdb.TYPE) == html.TEXTAREA) { if (!event.ctrlKey) { return } }
|
||||
onkeydown: function(event, can) { can.onkeymap.input(event, can, event.target); if (can.Conf(mdb.TYPE) == html.TEXTAREA && !event.ctrlKey) { return }
|
||||
if (event.key == lang.ENTER) { return can.onkeymap.prevent(event), can.run(event), can.onmotion.focus(can, event.target) }
|
||||
if (!event.ctrlKey) { return } switch (event.key) {
|
||||
case "m": can.CloneField(); break
|
||||
@ -15,9 +12,4 @@ Volcanos(chat.ONACTION, {
|
||||
default: can.onkeymap.selectOutput(event, can.sup); return
|
||||
} can.onkeymap.prevent(event)
|
||||
},
|
||||
onkeyup: function(event, can) { if (event.key == lang.ENTER) { return can.onkeymap.prevent(event) }
|
||||
if (can.Conf(mdb.NAME) == html.FILTER) { can.user.toast(can, "filter out "+can.page.Select(can, can._output, html.TR, function(tr, index) {
|
||||
if (!can.page.ClassList.set(can, tr, html.HIDE, index > 0 && tr.innerText.indexOf(event.target.value) == -1)) { return tr }
|
||||
}).length+" lines") }
|
||||
},
|
||||
})
|
||||
|
@ -24,7 +24,6 @@ Volcanos(chat.ONFIGURE, {date: {
|
||||
} show(now), can._show = function(d) { d? _cb(show(now = new Date(now.getTime()+d*24*3600*1000))): _cb(show(now)) }
|
||||
})},
|
||||
onkeydown: function(event, can, meta, cb, target, sub, last) { if (sub && sub.hidden()) { return last(event) } switch (event.key) {
|
||||
case lang.ESCAPE: sub.close(); break
|
||||
case "n": can.page.SelectInput(can, sub._action, mdb.NEXT, function(target) { target.click(), sub._show() }); break
|
||||
case "p": can.page.SelectInput(can, sub._action, mdb.PREV, function(target) { target.click(), sub._show() }); break
|
||||
case "t": can.page.SelectInput(can, sub._action, "today", function(target) { target.click(), sub._show() }); break
|
||||
|
@ -1,4 +1,8 @@
|
||||
Volcanos(chat.ONFIGURE, {key: {
|
||||
_load: function(event, can, cb, target, name, value) { can.runAction(event, mdb.INPUTS, [name, value||""], function(msg) {
|
||||
name == ctx.INDEX && can.core.Item(can.onengine.plugin.meta, function(key) { msg.Push(ctx.INDEX, can.core.Keys(ice.CAN, key)) })
|
||||
can._show(can, msg, cb, target, name)
|
||||
}) },
|
||||
_show: function(can, msg, cb, target, name) { if (msg.Length() == 0 || msg.Length() == 1 && msg.Append(name) == target.value) { return can.onmotion.hidden(can) }
|
||||
if (can.base.isIn(msg.append[msg.append.length-1], ctx.ACTION, "cb")) { msg.append = msg.append.slice(0, -1) }
|
||||
can.onmotion.clear(can), can.onappend.table(can, msg, function(value, key, index, item) { value = item[key]
|
||||
@ -9,24 +13,14 @@ Volcanos(chat.ONFIGURE, {key: {
|
||||
}), can.onappend._status(can, [mdb.TOTAL, mdb.INDEX]), can.Status(mdb.TOTAL, msg.Length())
|
||||
msg.append.length == 1 && can.page.ClassList.add(can, can._target, chat.SIMPLE), can.onlayout.figure({target: target}, can, can._target)
|
||||
},
|
||||
_load: function(event, can, cb, target, name, value) { can.runAction(event, mdb.INPUTS, [name, value||""], function(msg) {
|
||||
name == ctx.INDEX && can.core.Item(can.onengine.plugin.meta, function(key) { msg.Push(ctx.INDEX, can.core.Keys(ice.CAN, key)) })
|
||||
can._show(can, msg, cb, target, name)
|
||||
}) },
|
||||
onclick: function(event, can, meta, target, cbs) { can.onmotion.focus(can, target) },
|
||||
onfocus: function(event, can, meta, target, cbs) { cbs(function(sub, cb) { if (sub.Status(mdb.TOTAL) > 0) { return }
|
||||
meta.msg && meta.msg.Length() > 0? sub._show(sub, meta.msg, cb, target, meta.name): sub._load(event, sub, cb, target, meta.name, target.value)
|
||||
}) },
|
||||
onblur: function(event, can, sub) { sub && can.onmotion.delay(can, sub.close, 300) },
|
||||
onkeydown: function(event, can, meta, cb, target, sub, last) { if (event.key == lang.ESCAPE) { return last(event) }
|
||||
onkeydown: function(event, can, meta, cb, target, sub, last) {
|
||||
if (event.key == lang.ENTER) { return meta._enter && (!can.page.tagis(event.target, html.TEXTAREA) || event.ctrlKey) && meta._enter(event)? sub.close(): last(event) }
|
||||
sub.hidden() || can.onkeymap.selectCtrlN(event, can, sub._output, "tr:not(.hidden)>td:first-child", function(td) { return cb(sub, td.innerText, target.value), td }) || can.onmotion.delayOnce(can, function() {
|
||||
can.onkeymap.selectInputs(event, sub, function() { sub._load(event, sub, cb, target, meta.name) }, target) }, target.value.length < 3? 500: 150)
|
||||
if (event.ctrlKey && can.user.isWindows) { can.onkeymap.prevent(event) }
|
||||
if (can.base.isIn(event.key, "ArrowUp", "ArrowDown") && can.user.isWindows) { can.onkeymap.prevent(event) }
|
||||
},
|
||||
onkeyup: function(event, can, meta, cb, target, sub, last) { if (event.key == lang.ESCAPE) { return last(event) }
|
||||
if (event.ctrlKey && can.user.isWindows) { can.onkeymap.prevent(event) }
|
||||
if (can.base.isIn(event.key, "ArrowUp", "ArrowDown") && can.user.isWindows) { can.onkeymap.prevent(event) }
|
||||
},
|
||||
}})
|
||||
|
@ -5,8 +5,4 @@ Volcanos(chat.ONFIGURE, {province: {
|
||||
chart.setOption({geo: {map: 'china'}}), chart.on(html.CLICK, function(params) { target.value = params.name, can.close() })
|
||||
}), can.onappend._action(can, [cli.CLOSE], can._action, {close: function() { can.close() }})
|
||||
}) },
|
||||
onkeydown: function(event, can, meta, cb, target, sub, last) { if (sub && sub.hidden()) { return last(event) } switch (event.key) {
|
||||
case lang.ESCAPE: sub.close(); break
|
||||
}
|
||||
},
|
||||
}})
|
@ -1,12 +1,11 @@
|
||||
Volcanos(chat.ONIMPORT, {_process: function(can, msg) { msg.OptionStatus() && can.onmotion.clear(can, can._status) && can.onappend._status(can, msg.OptionStatus())
|
||||
Volcanos(chat.ONIMPORT, {
|
||||
_process: function(can, msg) { msg.OptionStatus() && can.onmotion.clear(can, can._status) && can.onappend._status(can, msg.OptionStatus())
|
||||
if (can.onimport[msg.OptionProcess()]) { return can.core.CallFunc([can.onimport, msg.OptionProcess()], {can: can, msg: msg, arg: msg.Option("_arg")}), true }
|
||||
},
|
||||
_location: function(can, msg, arg) { can.user.jumps(arg) },
|
||||
_replace: function(can, msg, arg) { location.replace(arg) },
|
||||
_history: function(can, msg) { history.back() },
|
||||
_confirm: function(can, msg, arg) { can.user.toastConfirm(can, arg, "", function() {
|
||||
can.runAction(can.request({}, msg), "confirm")
|
||||
}) },
|
||||
_confirm: function(can, msg, arg) { can.user.toastConfirm(can, arg, "", function() { can.runAction(can.request({}, msg), "confirm") }) },
|
||||
_refresh: function(can, msg, arg) { can.core.Timer(parseInt(arg||"30"), function() { can.Update(can.request({}, {_count: parseInt(msg.Option("_count")||"3")-1})) }) },
|
||||
_rewrite: function(can, msg) { var arg = msg._arg; for (var i = 0; i < arg.length; i += 2) { can.Option(arg[i], arg[i+1]), can.Action(arg[i], arg[i+1]) } can.Update() },
|
||||
_display: function(can, msg) { can.onappend._output(can, msg, msg.Option(ice.MSG_DISPLAY)) },
|
||||
@ -14,20 +13,19 @@ Volcanos(chat.ONIMPORT, {_process: function(can, msg) { msg.OptionStatus() && ca
|
||||
_inner: function(can, msg) { can.onappend.table(can, msg), can.onappend.board(can, msg), can.onmotion.story.auto(can) },
|
||||
_field: function(can, msg) { var opts = {}
|
||||
can.page.SelectArgs(can, can._option, "", function(target) { var value = msg.Option(target.name); target.name && value && (opts[target.name] = value) })
|
||||
var height = can.ConfHeight()-2*html.ACTION_HEIGHT; can.page.Select(can, can._output, html.TABLE, function(target) { height -= target.offsetHeight+4 })
|
||||
var height = can.ConfHeight(); can.page.Select(can, can._output, html.TABLE, function(target) { height -= target.offsetHeight })
|
||||
msg.Table(function(item) { can.onappend._plugin(can, item, {index: item.index, args: can.base.Obj(item[ice.ARG], []), height: can.base.Min(height, 200)}, function(sub, meta) {
|
||||
sub.Conf(can.base.Obj(item.conf)); if (sub.isSimpleMode()) { (function() { sub.ConfHeight(can.ConfHeight()/2)
|
||||
var msg = can.request(); msg.Echo(sub.Conf(ice.MSG_RESULT)), can.onappend._output(sub, msg, sub.Conf(ctx.DISPLAY))
|
||||
})(); return }
|
||||
var opt = can.base.Obj(item[ice.OPT], []); sub.ConfWidth(can.ConfWidth())
|
||||
})(); return } var opt = can.base.Obj(item[ice.OPT], []); sub.ConfWidth(can.ConfWidth())
|
||||
sub.run = function(event, cmds, cb) {
|
||||
var res = can.request(event, can.Option(), opts, {pid: msg.Option("pid")}); for (var i = 0; i < opt.length; i += 2) { res.Option(opt[i], opt[i+1]) }
|
||||
var res = can.request(event, can.Option(), opts); for (var i = 0; i < opt.length; i += 2) { res.Option(opt[i], opt[i+1]) }
|
||||
can.run(event, (msg.Option("_index")==can._index? msg[ice.MSG_PREFIX]||[]: [ice.RUN, msg.Option("_index")]).concat(cmds), cb, true)
|
||||
}
|
||||
}) })
|
||||
},
|
||||
_float: function(can, msg) { var arg = msg._arg
|
||||
msg.Table(function(item) { can.onappend._plugin(can, item, {mode: chat.FLOAT, index: item.index, args: arg.slice(1)}, function(sub, meta) {
|
||||
msg.Table(function(item) { can.onappend._plugin(can, item, {index: item.index, args: arg.slice(1), mode: chat.FLOAT}, function(sub, meta) {
|
||||
sub.run = function(event, cmds, cb) { can.runAction(can.request(event, {path: msg.Option(nfs.PATH), text: msg.Option(mdb.TEXT)}), [ice.RUN, arg[0]], cmds, cb) }
|
||||
can.getActionSize(function(left, top, width, height) { left = left||0, top = !can.Mode()? 120: 0
|
||||
sub.onimport.size(sub, can.base.Max(height, can.page.height())-top-(can.user.isMobile&&!can.user.isLandscape()? 2*html.ACTION_HEIGHT: 0), width, true)
|
||||
@ -35,7 +33,6 @@ Volcanos(chat.ONIMPORT, {_process: function(can, msg) { msg.OptionStatus() && ca
|
||||
})
|
||||
}, document.body) })
|
||||
},
|
||||
|
||||
_hold: function(can, msg, arg) { arg && can.user.toast(can, arg) },
|
||||
_back: function(can) { can._history.pop()
|
||||
for (var index = 0, his = can._history.pop(); his; his = can._history.pop()) { if (his[0] == ctx.ACTION) { continue }
|
||||
@ -50,34 +47,25 @@ Volcanos(chat.ONIMPORT, {_process: function(can, msg) { msg.OptionStatus() && ca
|
||||
}).length == 0) { can.onappend.table(can, msg) } },
|
||||
_grow: function(can, msg, arg) { var sub = can.core.Value(can, chat._OUTPUTS_CURRENT)
|
||||
if (sub && sub.onimport && sub.onimport.grow) { return sub.onimport.grow(sub, msg, arg) }
|
||||
arg = can.page.Color(arg)
|
||||
if (can.page.Select(can, can._output, html.DIV_CODE, function(div) {
|
||||
arg = can.page.Color(arg); if (can.page.Select(can, can._output, html.DIV_CODE, function(div) {
|
||||
return can.page.style(can, div, html.MAX_HEIGHT, 400), can.page.Append(can, div, [{text: arg}]), div.scrollBy(0, 10000), true
|
||||
}).length == 0) { can.onappend.board(can, arg) }
|
||||
},
|
||||
_open: function(can, msg, arg) { return can.user.open(arg) },
|
||||
size: function(can, height, width, auto, mode) { var sub = can.core.Value(can, chat._OUTPUTS_CURRENT)
|
||||
height -= can.onexport.actionHeight(can)+can.onexport.statusHeight(can)
|
||||
if (auto) {
|
||||
can.page.style(can, can._output, html.HEIGHT, "", html.WIDTH, "", html.MAX_HEIGHT, height? can.ConfHeight(height): "", html.MAX_WIDTH, can.ConfWidth(width))
|
||||
} else {
|
||||
size: function(can, height, width, auto, mode) { height -= can.onexport.actionHeight(can)+can.onexport.statusHeight(can)
|
||||
auto? can.page.style(can, can._output, html.HEIGHT, "", html.WIDTH, "", html.MAX_HEIGHT, height? can.ConfHeight(height): "", html.MAX_WIDTH, can.ConfWidth(width)):
|
||||
can.page.style(can, can._output, html.HEIGHT, can.ConfHeight(height), html.WIDTH, can.ConfWidth(width), html.MAX_HEIGHT, "", html.MAX_WIDTH, "")
|
||||
}
|
||||
if (!sub) { return auto } sub.ConfHeight(can.ConfHeight()), sub.ConfWidth(can.ConfWidth())
|
||||
if (mode) { sub.Mode(can.Mode(mode)), sub.onlayout[mode](sub) } else { sub.onlayout._init(sub) }
|
||||
return auto
|
||||
var sub = can.core.Value(can, chat._OUTPUTS_CURRENT); if (!sub) { return auto } sub.ConfHeight(can.ConfHeight()), sub.ConfWidth(can.ConfWidth())
|
||||
if (mode) { sub.Mode(can.Mode(mode)), sub.onlayout[mode](sub) } else { sub.onlayout._init(sub) } return auto
|
||||
},
|
||||
change: function(event, can, name, value, cb) { return can.page.SelectArgs(can, can._option, "", function(input) {
|
||||
if (input.name != name || value == input.value) { return } return input.value = value, can.Update(event, can.Input([], true), cb), input
|
||||
})[0] },
|
||||
})
|
||||
Volcanos(chat.ONACTION, {list: [
|
||||
"刷新界面", "刷新数据", "切换浮动", "切换全屏", "远程控制", "共享工具", "打开链接", "生成链接", "生成脚本", "生成图片", [
|
||||
"其它", "保存参数", "清空参数", "扩展参数", "复制数据", "下载数据", "清空数据", "删除工具",
|
||||
"查看文档", "查看脚本", "查看源码", "查看配置", "清理配置", "导出配置", "导入配置", "删除配置",
|
||||
], [
|
||||
"调试", "查看日志", "打包页面",
|
||||
],
|
||||
"刷新界面", "刷新数据", "切换浮动", "切换全屏", "远程控制", "共享工具", "打开链接", "生成链接", "生成脚本", "生成图片",
|
||||
["其它", "保存参数", "清空参数", "扩展参数", "复制数据", "下载数据", "清空数据", "删除工具"],
|
||||
["调试", "查看日志", "打包页面", "查看文档", "查看脚本", "查看源码", "查看配置", "清理配置", "导出配置", "导入配置", "删除配置"],
|
||||
],
|
||||
_engine: function(event, can, button) { can.Update(event, [ctx.ACTION, button].concat(can.Input())) },
|
||||
_switch: function(can, sub, mode, save, load) {
|
||||
@ -91,8 +79,8 @@ Volcanos(chat.ONACTION, {list: [
|
||||
} else { var back = (can._mode_list = can._mode_list||[]).pop(); if (!back) { return }
|
||||
can.ConfHeight(back.height), can.ConfWidth(back.width), can.Mode(back.mode),
|
||||
can.onmotion.toggle(can, can._action, back.action), can.onmotion.toggle(can, can._status, back.status)
|
||||
can.page.style(can, can._output, back.output), can.page.style(can, can._target, back.style)
|
||||
can.base.isFunc(load) && load(back), sub.ConfHeight(can.ConfHeight()), sub.ConfWidth(can.ConfWidth()), sub.Mode(can.Mode()), sub.onlayout._init(sub)
|
||||
can.page.style(can, can._output, back.output), can.page.style(can, can._target, back.style), can.base.isFunc(load) && load(back)
|
||||
sub.ConfHeight(can.ConfHeight()), sub.ConfWidth(can.ConfWidth()), sub.Mode(can.Mode()), sub.onlayout._init(sub)
|
||||
}
|
||||
},
|
||||
"刷新界面": function(event, can) { var sub = can._outputs[0]; sub.onlayout._init(sub), can.user.toastSuccess(can) },
|
||||
@ -105,9 +93,9 @@ Volcanos(chat.ONACTION, {list: [
|
||||
can.ConfHeight(can.page.height()-html.ACTION_HEIGHT-can.onexport.statusHeight(can)), can.ConfWidth(can.page.width())
|
||||
}) },
|
||||
"远程控制": function(event, can) { can.onaction.keyboard(event, can) },
|
||||
"共享工具": function(event, can) { var meta = can.Conf()
|
||||
can.onmotion.share(event, can, [{name: chat.TITLE, value: meta.name}, {name: chat.THEME, values: [can.getHeader(chat.THEME), html.DARK, html.LIGHT, cli.WHITE, cli.BLACK]}], [mdb.NAME, meta.index, mdb.TEXT, JSON.stringify(can.Input())])
|
||||
},
|
||||
"共享工具": function(event, can) { var meta = can.Conf(); can.onmotion.share(event, can, [
|
||||
{name: chat.TITLE, value: meta.name}, {name: chat.THEME, values: [can.getHeader(chat.THEME), html.DARK, html.LIGHT, cli.WHITE, cli.BLACK]},
|
||||
], [mdb.NAME, meta.index, mdb.TEXT, JSON.stringify(can.Input())]) },
|
||||
"打开链接": function(event, can) { can.user.open(can.onexport.link(can)) },
|
||||
"生成链接": function(event, can) { can.onmotion.share(event, can, [], [mdb.LINK, can.user.copy(event, can, can.onexport.link(can))]) },
|
||||
"生成脚本": function(event, can) { var conf = can.Conf(), args = can.Input().join(ice.SP), list = [
|
||||
@ -126,6 +114,8 @@ Volcanos(chat.ONACTION, {list: [
|
||||
"清空数据": function(event, can) { can.onmotion.clear(can, can._output) },
|
||||
"删除工具": function(event, can) { can.page.Remove(can, can._target) },
|
||||
|
||||
"查看日志": function(event, can) { var sub = can._outputs[0]; sub.onimport.tool(sub, ["can.debug"], function(sub) { sub.select() }) },
|
||||
"打包页面": function(event, can) { can.onengine.signal(can, "onwebpack", can.request(event)) },
|
||||
"查看文档": function(event, can) { can.runAction(event, ctx.CONFIG, [ice.HELP]) },
|
||||
"查看脚本": function(event, can) { can.runAction(event, ctx.CONFIG, [nfs.SCRIPT]) },
|
||||
"查看源码": function(event, can) { can.runAction(event, ctx.CONFIG, [nfs.SOURCE]) },
|
||||
@ -135,9 +125,6 @@ Volcanos(chat.ONACTION, {list: [
|
||||
"导入配置": function(event, can) { can.runAction(event, mdb.IMPORT) },
|
||||
"删除配置": function(event, can) { can.runAction(event, ctx.CONFIG, [mdb.REMOVE], function() { can.user.toastProcess(can), can.onmotion.delay(can, function() { can.user.toastSuccess(can), can.Update() }, 1000) }) },
|
||||
|
||||
"查看日志": function(event, can) { var sub = can._outputs[0]; sub.onimport.tool(sub, ["can.debug"], function(sub) { sub.select() }) },
|
||||
"打包页面": function(event, can) { can.onengine.signal(can, "onwebpack", can.request(event)) },
|
||||
|
||||
refresh: function(event, can) { var sub = can.core.Value(can, chat._OUTPUTS_CURRENT); if (!sub) { return }
|
||||
sub.ConfHeight(can.ConfHeight()), sub.ConfWidth(can.ConfWidth()), sub.onimport.layout(sub)
|
||||
},
|
||||
@ -205,18 +192,10 @@ Volcanos(chat.ONEXPORT, {
|
||||
args.cmd = meta.index||can.core.Keys(meta.ctx, meta.cmd), args.cmd == web.WIKI_WORD && (args.cmd = args.path)
|
||||
return can.misc.MergePodCmd(can, args, true)
|
||||
},
|
||||
title: function(can, title) {
|
||||
can.isCmdMode() && can.user.title(title)
|
||||
},
|
||||
title: function(can, title) { can.isCmdMode() && can.user.title(title) },
|
||||
output: function(can, msg) {},
|
||||
action: function(can, button, line) {},
|
||||
record: function(can, value, key, line) {},
|
||||
actionHeight: function(can) {
|
||||
return (!can.page.isDisplay(can._option) && !can.page.isDisplay(can._action)) ||
|
||||
(can._option.innerHTML == "" && can._action.innerHTML == "") ||
|
||||
can.page.ClassList.has(can, can._target, html.OUTPUT)
|
||||
? 0: html.ACTION_HEIGHT
|
||||
},
|
||||
statusHeight: function(can) {
|
||||
return !can.page.isDisplay(can._status) || can._status.innerHTML == "" || (can._target.offsetHeight > 0 && can._status.offsetHeight == 0)? 0: html.ACTION_HEIGHT },
|
||||
actionHeight: function(can) { return html.ACTION_HEIGHT },
|
||||
statusHeight: function(can) { return !can.page.isDisplay(can._status) || can._status.innerHTML == "" || (can._target.offsetHeight > 0 && can._status.offsetHeight == 0)? 0: html.ACTION_HEIGHT },
|
||||
})
|
||||
|
Loading…
x
Reference in New Issue
Block a user