forked from x/volcanos
add some
This commit is contained in:
parent
a4437facdb
commit
d6d648ff90
25
frame.js
25
frame.js
@ -460,9 +460,7 @@ Volcanos(chat.ONAPPEND, {
|
|||||||
if (["_space"].indexOf(item.view) > -1) { return can.page.Append(can, target, [item]) }
|
if (["_space"].indexOf(item.view) > -1) { return can.page.Append(can, target, [item]) }
|
||||||
if ([html.BR, html.HR].indexOf(item.type) > -1) { return can.page.Append(can, target, [item]) }
|
if ([html.BR, html.HR].indexOf(item.type) > -1) { return can.page.Append(can, target, [item]) }
|
||||||
if (item.type == html.SELECT) { item._selectonly = true, item.type = html.TEXT
|
if (item.type == html.SELECT) { item._selectonly = true, item.type = html.TEXT
|
||||||
if (item.values && item.values.length > 0) {
|
if (item.values && item.values.length > 0) { item._selectonly = false, item.type = html.SELECT }
|
||||||
item._selectonly = false, item.type = html.SELECT
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
var _icon = [], _item = can.base.Copy({className: "", type: "", name: ""}, item), input = can.page.input(can, _item, value)
|
var _icon = [], _item = can.base.Copy({className: "", type: "", name: ""}, item), input = can.page.input(can, _item, value)
|
||||||
if (item._selectonly) { input._selectonly = true }
|
if (item._selectonly) { input._selectonly = true }
|
||||||
@ -497,7 +495,7 @@ Volcanos(chat.ONAPPEND, {
|
|||||||
input.data.type = html.BUTTON, input.value = can.user.trans(can, item.name)
|
input.data.type = html.BUTTON, input.value = can.user.trans(can, item.name)
|
||||||
}
|
}
|
||||||
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]) }) } }
|
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 _style = can.page.buttonStyle(can, item.name)
|
var _style = can.Conf("_style."+item.name)||can.page.buttonStyle(can, item.name)
|
||||||
var _input = can.page.Append(can, target, [{view: [[html.ITEM].concat(style, [item.type, item.name, item._className, item.icon? "_icon": ""], _style)], list: [item.icon && {icon: item.icon}, input].concat(_icon), _init: function(target, _input) {
|
var _input = can.page.Append(can, target, [{view: [[html.ITEM].concat(style, [item.type, item.name, item._className, item.icon? "_icon": ""], _style)], list: [item.icon && {icon: item.icon}, input].concat(_icon), _init: function(target, _input) {
|
||||||
if (item.type == html.MULTIPLE) {
|
if (item.type == html.MULTIPLE) {
|
||||||
can.onappend.multiple(can, item, _input.input)
|
can.onappend.multiple(can, item, _input.input)
|
||||||
@ -638,6 +636,17 @@ Volcanos(chat.ONAPPEND, {
|
|||||||
if (can.user.isMobile) { can.base.toLast(msg.append, mdb.TIME) } can.base.toLast(msg.append, web.LINK), can.base.toLast(msg.append, ctx.ACTION)
|
if (can.user.isMobile) { can.base.toLast(msg.append, mdb.TIME) } can.base.toLast(msg.append, web.LINK), can.base.toLast(msg.append, ctx.ACTION)
|
||||||
if (msg.append[msg.append.length-1] == ctx.ACTION && can.core.List(msg[ctx.ACTION], function(item) { if (item) { return item } }).length == 0) { msg.append.pop() }
|
if (msg.append[msg.append.length-1] == ctx.ACTION && can.core.List(msg[ctx.ACTION], function(item) { if (item) { return item } }).length == 0) { msg.append.pop() }
|
||||||
if (msg.append[msg.append.length-1] == ctx.ACTION && (!msg[ctx.ACTION] || msg[ctx.ACTION].length == 0)) { msg.append.pop() }
|
if (msg.append[msg.append.length-1] == ctx.ACTION && (!msg[ctx.ACTION] || msg[ctx.ACTION].length == 0)) { msg.append.pop() }
|
||||||
|
if (msg.IsDetail()) {
|
||||||
|
for (var i = 0; i < msg[mdb.KEY].length; i++) {
|
||||||
|
if (msg[mdb.KEY][i] == "action") { var action = msg[mdb.VALUE][i]
|
||||||
|
for (var j = i; j < msg[mdb.KEY].length-1; j++) {
|
||||||
|
msg[mdb.KEY][j] = msg[mdb.KEY][j+1], msg[mdb.VALUE][j] = msg[mdb.VALUE][j+1]
|
||||||
|
}
|
||||||
|
msg[mdb.KEY][j] = "action", msg[mdb.VALUE][j] = action
|
||||||
|
break
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
var option = can.core.Item(can.Option())
|
var option = can.core.Item(can.Option())
|
||||||
var table = can.page.AppendTable(can, msg, target||can.ui.content||can._output, msg.append, cb||function(value, key, index, data, list) { var _value = value
|
var table = can.page.AppendTable(can, msg, target||can.ui.content||can._output, msg.append, cb||function(value, key, index, data, list) { var _value = value
|
||||||
if (msg.IsDetail()) {
|
if (msg.IsDetail()) {
|
||||||
@ -744,12 +753,12 @@ Volcanos(chat.ONAPPEND, {
|
|||||||
}) } else { can.page.Select(can, code, html.INPUT_BUTTON, function(target) {
|
}) } else { can.page.Select(can, code, html.INPUT_BUTTON, function(target) {
|
||||||
target.onclick = function(event) {
|
target.onclick = function(event) {
|
||||||
if (can.page.ClassList.has(can, target, "disable")) { return } can.page.ClassList.add(can, target, "disable")
|
if (can.page.ClassList.has(can, target, "disable")) { return } can.page.ClassList.add(can, target, "disable")
|
||||||
can.misc.Event(event, can, function(msg) { can.Update(can.request(event, can.Option(), {_toast: target.name}), [ctx.ACTION, target.name], function(msg) {
|
can.Update(can.request(event, can.Option(), {_toast: target.name, _cancel: function(event) {
|
||||||
|
can.page.ClassList.del(can, target, "disable")
|
||||||
|
}}), [ctx.ACTION, target.name], function(msg) {
|
||||||
can.page.ClassList.del(can, target, "disable")
|
can.page.ClassList.del(can, target, "disable")
|
||||||
// can.page.ClassList.del(can, can._fields, "form")
|
|
||||||
// can.page.ClassList.del(can, can._fields, "output")
|
|
||||||
var sup = can._fields? can.sup: can; if (sup.onimport._process(sup, msg)) { return }
|
var sup = can._fields? can.sup: can; if (sup.onimport._process(sup, msg)) { return }
|
||||||
}) })
|
})
|
||||||
}
|
}
|
||||||
}) } return code.scrollBy && code.scrollBy(0, 10000), code
|
}) } return code.scrollBy && code.scrollBy(0, 10000), code
|
||||||
},
|
},
|
||||||
|
@ -412,7 +412,7 @@ body>div.input tr { margin:var(--button-margin); }
|
|||||||
body>div.input td { padding:var(--table-padding); }
|
body>div.input td { padding:var(--table-padding); }
|
||||||
body>div.input td span.must { color:red; padding:0 5px; }
|
body>div.input td span.must { color:red; padding:0 5px; }
|
||||||
body>div.input td:nth-child(2) { padding:var(--table-padding) 0; }
|
body>div.input td:nth-child(2) { padding:var(--table-padding) 0; }
|
||||||
body.mobile>div.input tr { display:flex; flex-direction:column; margin:var(--button-margin); }
|
body.mobile>div.input tr:not(.hide) { display:flex; flex-direction:column; margin:var(--button-margin); }
|
||||||
body.mobile>div.input td { padding:0 var(--button-padding); margin:var(--button-margin); }
|
body.mobile>div.input td { padding:0 var(--button-padding); margin:var(--button-margin); }
|
||||||
body.mobile>div.input td:nth-child(1) { color:gray; font-size:var(--status-font-size); padding-left:var(--button-padding); margin-bottom:0; }
|
body.mobile>div.input td:nth-child(1) { color:gray; font-size:var(--status-font-size); padding-left:var(--button-padding); margin-bottom:0; }
|
||||||
body.mobile>div.input td:nth-child(2) { display:none; }
|
body.mobile>div.input td:nth-child(2) { display:none; }
|
||||||
@ -513,9 +513,9 @@ textarea:hover { border:var(--box-notice); } textarea:focus { border:var(--box-n
|
|||||||
select { border-radius:var(--button-radius); }
|
select { border-radius:var(--button-radius); }
|
||||||
input { background-color:var(--input-bg-color); color:var(--input-fg-color); }
|
input { background-color:var(--input-bg-color); color:var(--input-fg-color); }
|
||||||
input:not([type=button]) { border:var(--input-border); }
|
input:not([type=button]) { border:var(--input-border); }
|
||||||
input:not([type=button]):hover { border:var(--box-notice); }
|
body:not(.mobile) input:not([type=button]):hover { border:var(--box-notice); }
|
||||||
input:not([type=button]):focus { border:var(--box-notice); }
|
input:not([type=button]):focus { border:var(--box-notice); }
|
||||||
input.disable { color:var(--disable-fg-color) !important; border:unset !important; }
|
input.disable { border:var(--box-border) !important; background-color:var(--disable-bg-color) !important; color:var(--disable-fg-color) !important; }
|
||||||
input.select[type=button]:hover { border:var(--box-notice); }
|
input.select[type=button]:hover { border:var(--box-notice); }
|
||||||
input.select[type=button]:focus { border:var(--box-notice); }
|
input.select[type=button]:focus { border:var(--box-notice); }
|
||||||
input.select[type=button] { border:var(--input-border); padding:0 var(--button-padding); }
|
input.select[type=button] { border:var(--input-border); padding:0 var(--button-padding); }
|
||||||
|
@ -142,14 +142,16 @@ Volcanos("misc", {
|
|||||||
var input = can.user.input(event, can, meta.feature[cmds[1]], function(args) {
|
var input = can.user.input(event, can, meta.feature[cmds[1]], function(args) {
|
||||||
can.page.ClassList.add(can, input._target, html.PROCESS)
|
can.page.ClassList.add(can, input._target, html.PROCESS)
|
||||||
msg.result = []
|
msg.result = []
|
||||||
can.Update(can.request(event, {_handle: ice.TRUE}, msg, can.Option()), cmds.slice(0, 2).concat(args), function(msg) {
|
can.Update(can.request(event, can.Option(), {_handle: ice.TRUE, _cancel: function(event) {
|
||||||
|
can.page.ClassList.del(can, input._target, html.PROCESS)
|
||||||
|
}}, msg), cmds.slice(0, 2).concat(args), function(msg) {
|
||||||
can.page.ClassList.del(can, input._target, html.PROCESS)
|
can.page.ClassList.del(can, input._target, html.PROCESS)
|
||||||
if (msg.IsErr()) {
|
if (msg.IsErr()) {
|
||||||
can.onappend.style(can, "warn", can.user.toastFailure(can, msg.Result())._target)
|
can.onappend.style(can, "warn", can.user.toastFailure(can, msg.Result())._target)
|
||||||
input.focus()
|
input.focus()
|
||||||
} else {
|
} else {
|
||||||
if (cb && cb(msg)) { return }
|
if (cb && cb(msg)) { return }
|
||||||
input.cancel()
|
input.cancel({}, can)
|
||||||
return true
|
return true
|
||||||
}
|
}
|
||||||
}); return true
|
}); return true
|
||||||
|
11
lib/page.js
11
lib/page.js
@ -93,7 +93,8 @@ Volcanos("page", {
|
|||||||
} else if (item.td) { type = html.TR, item.list = item.td.map(function(text) { return can.base.isObject(text)? text: {text: [text||"", html.TD]} }) }
|
} else if (item.td) { type = html.TR, item.list = item.td.map(function(text) { return can.base.isObject(text)? text: {text: [text||"", html.TD]} }) }
|
||||||
// if (type == html.SELECT) { data.title = can.user.trans(can, data.title||name) }
|
// if (type == html.SELECT) { data.title = can.user.trans(can, data.title||name) }
|
||||||
if (type == html.INPUT) {
|
if (type == html.INPUT) {
|
||||||
if (data.type == html.TEXT || data.type == html.PASSWORD || !data.type) { data.autocomplete = data.autocomplete||"new-password"
|
if (data.type == html.TEXT || data.type == html.PASSWORD || !data.type) {
|
||||||
|
// data.autocomplete = data.autocomplete||"new-password"
|
||||||
data.placeholder = (data.placeholder||name||"").split(nfs.PT).pop(), data.title = can.user.trans(can, data.title||data.placeholder, null, html.INPUT)
|
data.placeholder = (data.placeholder||name||"").split(nfs.PT).pop(), data.title = can.user.trans(can, data.title||data.placeholder, null, html.INPUT)
|
||||||
} else if (data.type == html.BUTTON) {
|
} else if (data.type == html.BUTTON) {
|
||||||
// data.value = can.user.trans(can, data.value)
|
// data.value = can.user.trans(can, data.value)
|
||||||
@ -486,6 +487,12 @@ Volcanos("page", {
|
|||||||
cb && cb(themeMedia.matches? html.DARK: html.LIGHT)
|
cb && cb(themeMedia.matches? html.DARK: html.LIGHT)
|
||||||
return themeMedia.matches? html.DARK: html.LIGHT
|
return themeMedia.matches? html.DARK: html.LIGHT
|
||||||
},
|
},
|
||||||
|
appendAction: function(can, value, target) { if (!value.action) { return } target.innerHTML = value.action
|
||||||
|
can.page.Select(can, target, html.INPUT_BUTTON, function(target) {
|
||||||
|
var style = can.Conf("_style."+target.name)||can.page.buttonStyle(can, target.name); style && can.onappend.style(can, style, target)
|
||||||
|
target.onclick = function(event) { can.onkeymap.prevent(event), can.Update(can.request(event, value), [ctx.ACTION, target.name]) }
|
||||||
|
})
|
||||||
|
},
|
||||||
parseAction: function(can, value) { var action = []
|
parseAction: function(can, value) { var action = []
|
||||||
can.page.Select(can, can.page.Create(can, html.DIV, value.action), html.INPUT, function(target) {
|
can.page.Select(can, can.page.Create(can, html.DIV, value.action), html.INPUT, function(target) {
|
||||||
action.push(target.name), target.name != target.value && can.user.trans(can, kit.Dict(target.name, target.value))
|
action.push(target.name), target.name != target.value && can.user.trans(can, kit.Dict(target.name, target.value))
|
||||||
@ -494,7 +501,7 @@ Volcanos("page", {
|
|||||||
},
|
},
|
||||||
buttonStyle: function(can, name) {
|
buttonStyle: function(can, name) {
|
||||||
return can.core.Value(can.onaction, ["_trans", "style", name])||(can.base.isIn(name, mdb.CREATE, mdb.INSERT, mdb.IMPORT, nfs.CLONE, cli.START, ctx.RUN, web.UPLOAD, web.CONFIRM, aaa.LOGIN, code.AUTOGEN, "sso", "add", "pull", "push", "commit", "preview", "auto-preview", ice.APP)? html.NOTICE:
|
return can.core.Value(can.onaction, ["_trans", "style", name])||(can.base.isIn(name, mdb.CREATE, mdb.INSERT, mdb.IMPORT, nfs.CLONE, cli.START, ctx.RUN, web.UPLOAD, web.CONFIRM, aaa.LOGIN, code.AUTOGEN, "sso", "add", "pull", "push", "commit", "preview", "auto-preview", ice.APP)? html.NOTICE:
|
||||||
can.base.isIn(name, mdb.REMOVE, mdb.DELETE, mdb.PRUNES, mdb.PRUNE, nfs.TRASH, cli.RESTART, cli.STOP, cli.CLOSE, cli.REBOOT, web.CANCEL, code.UPGRADE, "reject", "del", "drop", "access", "kill", "prockill")? html.DANGER: "")
|
can.base.isIn(name, mdb.REMOVE, "rename", mdb.DELETE, mdb.PRUNES, mdb.PRUNE, nfs.TRASH, cli.RESTART, cli.STOP, cli.CLOSE, cli.REBOOT, web.CANCEL, code.UPGRADE, "reject", "del", "drop", "access", "kill", "prockill")? html.DANGER: "")
|
||||||
},
|
},
|
||||||
exportValue: function(can, msg, target) { target = target||can._output
|
exportValue: function(can, msg, target) { target = target||can._output
|
||||||
msg.OptionDefault(ice.MSG_THEME, can.getHeaderTheme())
|
msg.OptionDefault(ice.MSG_THEME, can.getHeaderTheme())
|
||||||
|
39
lib/user.js
39
lib/user.js
@ -242,21 +242,41 @@ Volcanos("user", {
|
|||||||
item.need == "must" && {text: ["*", "", "must"]},
|
item.need == "must" && {text: ["*", "", "must"]},
|
||||||
]}, {type: html.TD, list: []},
|
]}, {type: html.TD, list: []},
|
||||||
{type: html.TD, _init: function(target) { can.onappend.input(can, item, msg.Option(item.name), target) }},
|
{type: html.TD, _init: function(target) { can.onappend.input(can, item, msg.Option(item.name), target) }},
|
||||||
]}
|
], onclick: function(event) {
|
||||||
|
can.page.Select(can, event.currentTarget, "input", function(target) {
|
||||||
|
target.focus()
|
||||||
|
})
|
||||||
|
}}
|
||||||
})}]}, html.ACTION,
|
})}]}, html.ACTION,
|
||||||
], onclick: function(event) { if (!can.page.tagis(event.target, html.INPUT, html.TEXTAREA)) { can.onmotion.clearCarte(can) } }}])
|
], onclick: function(event) { if (!can.page.tagis(event.target, html.INPUT, html.TEXTAREA)) { can.onmotion.clearCarte(can) } }}])
|
||||||
var action = can.onappend._action(can, button||[html.SUBMIT, html.CANCEL], ui.action, {
|
var action = can.onappend._action(can, button||[html.SUBMIT, html.CANCEL], ui.action, {
|
||||||
_trans: {submit: msg.Option(web.SUBMIT)},
|
_trans: {submit: msg.Option(web.SUBMIT)},
|
||||||
focus: function() { can.onmotion.focus(can, can.page.Select(can, ui._target, html.INPUT_ARGS)[0]) },
|
focus: function() {
|
||||||
cancel: function(event) { can.onengine.signal(can, "onremove", can.request(event, {query: can.page.getquery(can, ui._target)})), can.page.Remove(can, ui._target) },
|
can.onmotion.focus(can, can.page.Select(can, ui._target, html.INPUT_ARGS)[0])
|
||||||
|
},
|
||||||
|
Option: function(key, value, hidden) {
|
||||||
|
var target = can.page.Select(can, ui._target, "input.args[name="+key+"]")[0]
|
||||||
|
if (!target) { return }
|
||||||
|
if (value != undefined) { target.value = target.value||value }
|
||||||
|
if (target.value && hidden) { can.onmotion.hidden(can, can.page.parentNode(can, target, html.TR)) }
|
||||||
|
return target.value
|
||||||
|
},
|
||||||
|
cancel: function(event, can, button) {
|
||||||
|
button == "cancel" && msg._cancel && msg._cancel(event)
|
||||||
|
callback("afterInputs", button)
|
||||||
|
can.onengine.signal(can, "onremove", can.request(event, {query: can.page.getquery(can, ui._target)})), can.page.Remove(can, ui._target)
|
||||||
|
},
|
||||||
submit: function(event, can, button) { var args = [], data = {}, err = false
|
submit: function(event, can, button) { var args = [], data = {}, err = false
|
||||||
var list = can.page.Select(can, ui._target, html.OPTION_ARGS, function(item) {
|
var list = can.page.Select(can, ui._target, html.OPTION_ARGS, function(item) {
|
||||||
if (item.value == "" && need[item.name] == "must") { err = true, item.focus(), can.user.toast(can, item.name+" 是必选字段, 请重新输入") }
|
if (item.value == "" && need[item.name] == "must") { err = true, item.focus(), can.user.toast(can, item.name+" 是必选字段, 请重新输入") }
|
||||||
return item.name && args.push(item.name, item.value||""), data[item.name] = item.value||""
|
return item.name && args.push(item.name, item.value||""), data[item.name] = item.value||""
|
||||||
}); if (err) { return } can.onkeymap.prevent(event)
|
}); if (err) { return } can.onkeymap.prevent(event)
|
||||||
var _msg = can.request(event); _msg.Option(ctx.ACTION, msg.Option(ctx.ACTION))
|
var _msg = can.request(event); _msg.Option(ctx.ACTION, msg.Option(ctx.ACTION)), _msg.Option("_toast", msg.Option("_toast"))
|
||||||
_msg.Option("_toast", msg.Option("_toast"))
|
if (can.core.CallFunc(cb, {event: can.request(event, {_handle: ice.TRUE})._event, button: button, data: data, list: list, args: args, input: action})) {
|
||||||
can.core.CallFunc(cb, {event: can.request(event, {_handle: ice.TRUE})._event, button: button, data: data, list: list, args: args, input: action}) || action.cancel()
|
callback("afterInputs", button)
|
||||||
|
} else {
|
||||||
|
action.cancel(event, can, button)
|
||||||
|
}
|
||||||
}, _target: ui._target, _engine: function(event, can, button) { action.submit(event, can, button) },
|
}, _target: ui._target, _engine: function(event, can, button) { action.submit(event, can, button) },
|
||||||
});
|
});
|
||||||
can.page.Select(can, action._target, "input", function(target) {
|
can.page.Select(can, action._target, "input", function(target) {
|
||||||
@ -264,13 +284,13 @@ Volcanos("user", {
|
|||||||
var onclick = target.onclick; target.onclick = function(event) { can.onengine.signal(can, "onevent", can.request(event, {_type: target.name})), onclick && onclick(event) }
|
var onclick = target.onclick; target.onclick = function(event) { can.onengine.signal(can, "onevent", can.request(event, {_type: target.name})), onclick && onclick(event) }
|
||||||
})
|
})
|
||||||
title && can.page.Select(can, action._target, "input[name=submit]", function(target) { target.value = can.user.trans(can, title) })
|
title && can.page.Select(can, action._target, "input[name=submit]", function(target) { target.value = can.user.trans(can, title) })
|
||||||
if (event && event.target) {
|
if (event && event.target) { can.onlayout.figure(event, can, ui._target)
|
||||||
can.onlayout.figure(event, can, ui._target)
|
|
||||||
can.user.isMobile && can.page.style(can, ui._target, html.LEFT, (can.page.width()-ui._target.offsetWidth)/2, html.TOP, 40)
|
can.user.isMobile && can.page.style(can, ui._target, html.LEFT, (can.page.width()-ui._target.offsetWidth)/2, html.TOP, 40)
|
||||||
// can.user.isMobile && can.page.style(can, ui._target, html.LEFT, (can.page.width()-ui._target.offsetWidth)/2, html.TOP, can.getHeaderHeight(can))
|
|
||||||
} else {
|
} else {
|
||||||
can.getActionSize(function(left, top, height) { can.page.style(can, ui._target, html.LEFT, left||0, html.TOP, (height/4||0)) })
|
can.getActionSize(function(left, top, height) { can.page.style(can, ui._target, html.LEFT, left||0, html.TOP, (height/4||0)) })
|
||||||
} can.onmotion.resize(can, ui._target), can.onmotion.delay(can, function() { action.focus() }, 300)
|
} can.onmotion.resize(can, ui._target), can.onmotion.delay(can, function() { action.focus() }, 300)
|
||||||
|
function callback(key, button) { var sub = can._fields? can: can.sub; sub.onaction && sub.onaction[key] && sub.onaction[key](event, sub, button, action) }
|
||||||
|
callback("beforeInputs")
|
||||||
return button === true && action.submit(event, can, html.SUBMIT), action
|
return button === true && action.submit(event, can, html.SUBMIT), action
|
||||||
},
|
},
|
||||||
select: function(event, can, type, fields, cb, cbs) {
|
select: function(event, can, type, fields, cb, cbs) {
|
||||||
@ -315,7 +335,6 @@ Volcanos("user", {
|
|||||||
}), resize: html.IMG,
|
}), resize: html.IMG,
|
||||||
}) },
|
}) },
|
||||||
login: function(can, _cb, _msg) {
|
login: function(can, _cb, _msg) {
|
||||||
debugger
|
|
||||||
can.misc.CookieSessid(can, ""), can.misc.Cookie(can, "sessid", "")
|
can.misc.CookieSessid(can, ""), can.misc.Cookie(can, "sessid", "")
|
||||||
can.page.ClassList.add(can, document.body.parentNode, aaa.LOGIN), can.onimport.theme(can)
|
can.page.ClassList.add(can, document.body.parentNode, aaa.LOGIN), can.onimport.theme(can)
|
||||||
function check() {
|
function check() {
|
||||||
|
@ -143,7 +143,7 @@ Volcanos(chat.ONLAYOUT, {
|
|||||||
Volcanos(chat.ONEXPORT, {
|
Volcanos(chat.ONEXPORT, {
|
||||||
size: function(can, msg) {
|
size: function(can, msg) {
|
||||||
msg.Option(html.LEFT, can._output.offsetLeft), msg.Option(html.TOP, can._output.offsetTop)
|
msg.Option(html.LEFT, can._output.offsetLeft), msg.Option(html.TOP, can._output.offsetTop)
|
||||||
msg.Option(html.HEIGHT, can._output.offsetHeight), msg.Option(html.WIDTH, can._output.offsetWidth)
|
msg.Option(html.HEIGHT, can._output.offsetHeight||window.innerHeight), msg.Option(html.WIDTH, can._output.offsetWidth||window.innerWidth)
|
||||||
msg.Option(html.MARGIN_Y, can.Conf(html.MARGIN_Y)), msg.Option(html.MARGIN_X, can.Conf(html.MARGIN_X))
|
msg.Option(html.MARGIN_Y, can.Conf(html.MARGIN_Y)), msg.Option(html.MARGIN_X, can.Conf(html.MARGIN_X))
|
||||||
},
|
},
|
||||||
layout: function(can) { return can._layout||can.onlayout._storage(can)||can.misc.SearchOrConf(can, html.LAYOUT)||"" },
|
layout: function(can) { return can._layout||can.onlayout._storage(can)||can.misc.SearchOrConf(can, html.LAYOUT)||"" },
|
||||||
|
@ -53,19 +53,21 @@ Volcanos(chat.ONFIGURE, {key: {
|
|||||||
can.layout(msg)
|
can.layout(msg)
|
||||||
},
|
},
|
||||||
onfocus: function(event, can, meta, target, cbs, mod) {
|
onfocus: function(event, can, meta, target, cbs, mod) {
|
||||||
can.onengine.signal(can, "onevent", can.request(event));
|
// can.onengine.signal(can, "onevent", can.request(event));
|
||||||
meta._force && mod.onclick(event, can, meta, target, cbs)
|
|
||||||
if (target._selectonly) { can.onmotion.delay(can, function() { target.blur() }) }
|
if (target._selectonly) { can.onmotion.delay(can, function() { target.blur() }) }
|
||||||
|
meta._force && mod.onclick(event, can, meta, target, cbs)
|
||||||
},
|
},
|
||||||
onclick: function(event, can, meta, target, cbs) { can.onengine.signal(can, "onevent", can.request(event));
|
onclick: function(event, can, meta, target, cbs) {
|
||||||
|
// can.onengine.signal(can, "onevent", can.request(event));
|
||||||
if (target._selectonly) { can.onmotion.delay(can, function() { target.blur() }) }
|
if (target._selectonly) { can.onmotion.delay(can, function() { target.blur() }) }
|
||||||
(target.value == "" || meta._force || target._selectonly) && cbs(function(sub, cb) { if (sub.Status(mdb.TOTAL) > 0) { return }
|
(target.value == "" || meta._force || target._selectonly) && cbs(function(sub, cb) { if (sub.Status(mdb.TOTAL) > 0) { return }
|
||||||
sub.sup = can._fields? can.sup: can
|
sub.sup = can._fields? can.sup: can
|
||||||
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)
|
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, cb, target) { if (target._hold) { return }
|
onblur: function(event, can, sub, cb, target) {
|
||||||
|
if (target._hold) { return }
|
||||||
if (target._selectonly) { return }
|
if (target._selectonly) { return }
|
||||||
can.onengine.signal(can, "onevent", can.request(event, {query: can.page.getquery(can, target)+","+target.value}))
|
// can.onengine.signal(can, "onevent", can.request(event, {query: can.page.getquery(can, target)+","+target.value}))
|
||||||
sub && can.onmotion.delay(can, sub.close, 300)
|
sub && can.onmotion.delay(can, sub.close, 300)
|
||||||
},
|
},
|
||||||
onkeyup: function(event, can, meta, cb, target, sub, last) { if (event.key == code.TAB) { return }
|
onkeyup: function(event, can, meta, cb, target, sub, last) { if (event.key == code.TAB) { return }
|
||||||
|
@ -290,6 +290,7 @@ Volcanos(chat.ONIMPORT, {
|
|||||||
var sup = can._stacks_root; sup._stacks = sup._stacks||{}; var sub = (sup._stacks[key]||[])[0]; if (sub) { return sub._select() }
|
var sup = can._stacks_root; sup._stacks = sup._stacks||{}; var sub = (sup._stacks[key]||[])[0]; if (sub) { return sub._select() }
|
||||||
var _output = sup._target.parentNode; value.style = html.OUTPUT
|
var _output = sup._target.parentNode; value.style = html.OUTPUT
|
||||||
sup.onappend.plugin(sup, value, function(sub) {
|
sup.onappend.plugin(sup, value, function(sub) {
|
||||||
|
can.onimport.myField(can, sub)
|
||||||
sub.onexport.output = function(_sub, msg) { _sub._stacks_current = sup._stacks[key] = [sub], _sub._stacks_root = sup, sub._select() }
|
sub.onexport.output = function(_sub, msg) { _sub._stacks_current = sup._stacks[key] = [sub], _sub._stacks_root = sup, sub._select() }
|
||||||
sub._select = function() { can.onimport.myOption(sub)
|
sub._select = function() { can.onimport.myOption(sub)
|
||||||
can.page.SelectChild(can, _output, html.FIELDSET, function(target) { can.onmotion.toggle(can, target, target == sub._target) })
|
can.page.SelectChild(can, _output, html.FIELDSET, function(target) { can.onmotion.toggle(can, target, target == sub._target) })
|
||||||
@ -298,6 +299,13 @@ Volcanos(chat.ONIMPORT, {
|
|||||||
}, sub._select(), cb && cb(sub)
|
}, sub._select(), cb && cb(sub)
|
||||||
}, _output)
|
}, _output)
|
||||||
},
|
},
|
||||||
|
myField: function(can, sub) {
|
||||||
|
sub.onexport._output = function(_sub) {
|
||||||
|
can.core.Item(can.onimport, function(key, value) { _sub.onimport[key] = _sub.onimport[key]||value })
|
||||||
|
can.core.Item(can.onaction, function(key, value) { _sub.onaction[key] = _sub.onaction[key]||value })
|
||||||
|
can.core.Item(can.onexport, function(key, value) { _sub.onexport[key] = _sub.onexport[key]||value })
|
||||||
|
}
|
||||||
|
},
|
||||||
myStory: function(can, value) {
|
myStory: function(can, value) {
|
||||||
if (!can._stacks_current) { var sup = can.sup; can._stacks_root = sup, sup._stacks = {}
|
if (!can._stacks_current) { var sup = can.sup; can._stacks_root = sup, sup._stacks = {}
|
||||||
var key = [can.ConfSpace(), can.ConfIndex()].concat(can.base.trim(can.core.Item(can.Option(), function(key, value) { return value }))).join(",")
|
var key = [can.ConfSpace(), can.ConfIndex()].concat(can.base.trim(can.core.Item(can.Option(), function(key, value) { return value }))).join(",")
|
||||||
@ -308,7 +316,7 @@ Volcanos(chat.ONIMPORT, {
|
|||||||
can.page.style(can, _action, html.DISPLAY, html.NONE), sup._output.innerHTML == "" && sup.Update()
|
can.page.style(can, _action, html.DISPLAY, html.NONE), sup._output.innerHTML == "" && sup.Update()
|
||||||
}
|
}
|
||||||
} var plugin = can._stacks_current[0], _action = plugin._action, _output = plugin._output; current = plugin.current||{}
|
} var plugin = can._stacks_current[0], _action = plugin._action, _output = plugin._output; current = plugin.current||{}
|
||||||
value.type = html.STORY, value.style = html.OUTPUT, value.height = can.ConfHeight()-html.ACTION_HEIGHT
|
value.type = html.STORY, value.style = html.OUTPUT, value.height = can.ConfHeight()-48
|
||||||
can.onappend.plugin(can, value, function(sub) { can._stacks_current.push(sub)
|
can.onappend.plugin(can, value, function(sub) { can._stacks_current.push(sub)
|
||||||
can.core.List(["_trans", "_style", "_icons", "_trans.input", "_trans.value"], function(key) {
|
can.core.List(["_trans", "_style", "_icons", "_trans.input", "_trans.value"], function(key) {
|
||||||
var value = sub.Conf(key); value && can.core.Item(can.Conf(key), function(k, v) { value[k] = value[k]||v })
|
var value = sub.Conf(key); value && can.core.Item(can.Conf(key), function(k, v) { value[k] = value[k]||v })
|
||||||
@ -323,14 +331,12 @@ Volcanos(chat.ONIMPORT, {
|
|||||||
sub.onimport._field = function(sub, msg, cb) {
|
sub.onimport._field = function(sub, msg, cb) {
|
||||||
msg.Table(function(value) { value._goback = function() { goback(true) }, can.onimport.myStory(can, value) })
|
msg.Table(function(value) { value._goback = function() { goback(true) }, can.onimport.myStory(can, value) })
|
||||||
}
|
}
|
||||||
sub.onexport._output = function(_sub) {
|
can.onimport.myField(can, sub)
|
||||||
can.core.Item(can.onimport, function(key, value) { _sub.onimport[key] = _sub.onimport[key]||value })
|
|
||||||
can.core.Item(can.onexport, function(key, value) { _sub.onexport[key] = _sub.onexport[key]||value })
|
|
||||||
}
|
|
||||||
sub.onexport.output = function(_sub, msg) { _sub._stacks_current = can._stacks_current, _sub._stacks_root = can._stacks_root
|
sub.onexport.output = function(_sub, msg) { _sub._stacks_current = can._stacks_current, _sub._stacks_root = can._stacks_root
|
||||||
sub._select(), msg.Option(ice.MSG_ACTION) && can.onappend._action(sub, msg.Option(ice.MSG_ACTION), _action, null, true)
|
sub._select(), msg.Option(ice.MSG_ACTION) && can.onappend._action(sub, msg.Option(ice.MSG_ACTION), _action, null, true)
|
||||||
sub.sub.onaction._goback = goback
|
sub.sub.onaction._goback = goback
|
||||||
}
|
can.page.style(can, sub._output, "left", "0")
|
||||||
|
}, can.page.style(can, sub._output, "left", "100")
|
||||||
function goback(clear) { if (value._goback) { return value._goback() }
|
function goback(clear) { if (value._goback) { return value._goback() }
|
||||||
if (clear) { if (sub.Option(UID)) { sub.Option(UID, "") } }
|
if (clear) { if (sub.Option(UID)) { sub.Option(UID, "") } }
|
||||||
if (sub.Option(UID)) { return sub.Option(UID, ""), sub.Update() }
|
if (sub.Option(UID)) { return sub.Option(UID, ""), sub.Update() }
|
||||||
@ -385,12 +391,7 @@ Volcanos(chat.ONIMPORT, {
|
|||||||
})
|
})
|
||||||
cb = cb|| function(event) { can.Option(UID, value.uid), can.Update() }
|
cb = cb|| function(event) { can.Option(UID, value.uid), can.Update() }
|
||||||
return {view: [[html.ITEM_CARD, value._uid? "uid-"+value._uid: ""].concat(value._style||[])], list: [
|
return {view: [[html.ITEM_CARD, value._uid? "uid-"+value._uid: ""].concat(value._style||[])], list: [
|
||||||
{view: html.ACTION, _init: function(target) { if (!value.action) { return } target.innerHTML = value.action
|
{view: html.ACTION, _init: function(target) { can.page.appendAction(can, value, target) }},
|
||||||
can.page.Select(can, target, html.INPUT_BUTTON, function(target) {
|
|
||||||
var style = can.Conf("_style."+target.name)||can.page.buttonStyle(can, target.name); style && can.onappend.style(can, style, target)
|
|
||||||
target.onclick = function(event) { can.onkeymap.prevent(event), can.Update(can.request(event, value), [ctx.ACTION, target.name]) }
|
|
||||||
})
|
|
||||||
}},
|
|
||||||
{view: html.OUTPUT, list: [
|
{view: html.OUTPUT, list: [
|
||||||
{img: can.misc.ResourceIcons(can,
|
{img: can.misc.ResourceIcons(can,
|
||||||
value.icons||value.icon||value.command_icon||value.service_icon||
|
value.icons||value.icon||value.command_icon||value.service_icon||
|
||||||
|
Loading…
x
Reference in New Issue
Block a user