1
0
mirror of https://shylinux.com/x/volcanos synced 2025-04-25 08:48:06 +08:00

add chat.message

This commit is contained in:
IT 老营长 @云轩领航-创始人 2024-01-24 19:15:11 +08:00
parent 854d4969ac
commit e574bca6a8
5 changed files with 24 additions and 14 deletions

View File

@ -351,16 +351,7 @@ Volcanos(chat.ONAPPEND, {_init: function(can, meta, list, cb, target, field) {
can.onkeymap.input(event, can), can.onkeymap.selectOutput(event, can)
}
input.onkeyup = item.onkeyup||function(event) { if (item.name == html.FILTER) {
can.onmotion.delayOnce(can, function() {
var count = 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
count += can.page.SelectChild(can, can.ui && can.ui.content? can.ui.content: can._output, html.DIV_ITEM, function(target) {
if (!can.page.ClassList.set(can, target, html.HIDE, target.innerText.indexOf(event.target.value) == -1)) { return target }
}).length
can.user.toast(can, "filter out "+count+" lines")
}, 1000)
can.onmotion.filter(can, event.target.value)
} }, icon.push({icon: mdb.DELETE, onclick: function(event) { _input.value = "", input.onkeyup({target: event.target.previousSibling}) }})
} 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)
@ -855,6 +846,17 @@ Volcanos(chat.ONMOTION, {_init: function(can, target) {
can.onmotion.resize(can, can._target, function(height, width) { can.onimport.size(can, height, width, true) }, top, left)
},
clear: function(can, target) { return can.page.Modify(can, target||can._output, ""), target },
filter: function(can, value) {
can.onmotion.delayOnce(can, function() {
var count = 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(value) == -1)) { return tr }
}).length
count += can.page.SelectChild(can, can.ui && can.ui.content? can.ui.content: can._output, html.DIV_ITEM, function(target) {
if (!can.page.ClassList.set(can, target, html.HIDE, target.innerText.indexOf(value) == -1)) { return target }
}).length
can.user.toast(can, "filter out "+count+" lines")
}, 500)
},
cache: function(can, next) { var list = can.base.getValid(can.base.Obj(can.core.List(arguments).slice(2)), [can._output])
var data = can._cache_data = can._cache_data||{}, old = list[0]._cache_key
var key = next(function(save) { if (old) { data[old] = save } }, function(hash, load) { var bak = data[hash]; if (bak) { load(bak) } return hash })

View File

@ -88,7 +88,7 @@ legend { font-family:var(--legend-font-family); padding:0 var(--legend-padding);
select { padding:0 var(--button-padding); }
input:not([type=file]) { padding:0 var(--button-padding); }
input:not([type=button]) { padding:0 var(--input-padding); border-radius:0; outline:none; }
input[type=checkbox] { height:22px; width:22px; margin:5px; }
input[type=checkbox] { height:22px; width:22px; margin:var(--input-margin); }
table.content.full { width:100%; }
body.mobile table.content.detail { word-break:break-all; white-space:unset; }
table.content thead { position:sticky; top:2px; }
@ -141,6 +141,7 @@ fieldset>form.option>div.item.button { border-radius:var(--button-radius); }
fieldset>div.action div.item { box-shadow:var(--box-shadow); height:var(--action-height); }
fieldset>div.action div.item:not(:last-child) { margin-right:var(--button-margin); }
fieldset>div.action div.item.button { border-radius:var(--button-radius); }
fieldset>div.action div.item.filter input { padding-left:24px; }
fieldset>div.action div.item.select:not(.cmds) { border-radius:var(--button-radius); }
fieldset>div.action div.item.select.cmds { border-bottom:var(--notice-bg-color) solid 2px; height:var(--action-height); }
fieldset>div.output { width:100%; }
@ -287,7 +288,7 @@ div.item.text.line>input { width:var(--button-width) !important; }
div.item.text.limit>input { width:var(--button-width); }
div.item.text.offend>input { width:var(--button-width); }
div.item.text.will>input { border:var(--box-notice); }
div.item.text>i:first-child { position:absolute; left:var(--input-padding); }
div.item.text>i:first-child { position:absolute; left:var(--input-padding); padding:var(--input-padding); }
div.item.text>span.icon { font-size:var(--icon-font-size); padding:var(--input-padding); position:absolute; right:0; visibility:hidden; }
div.item.text:hover>span.icon { visibility:visible; }
div.item.button { position:relative; height:var(--action-height); }
@ -475,7 +476,7 @@ span.keyword { color:var(--code-keyword); } span.function { color:var(--code-fun
span.item.select { background-color:var(--hover-bg-color); color:var(--hover-fg-color); }
span.item:hover { background-color:var(--hover-bg-color); color:var(--hover-fg-color); }
span.icon:hover { background-color:var(--hover-bg-color); color:var(--hover-fg-color); }
div.item:hover { background-color:var(--hover-bg-color); color:var(--hover-fg-color); }
div.item:not(.text):hover { background-color:var(--hover-bg-color); color:var(--hover-fg-color); }
div.item.select:not(.button) { background-color:var(--hover-bg-color); color:var(--hover-fg-color); }
div.item.button.danger input:hover[type=button] { background-color:var(--danger-bg-color); color:var(--danger-fg-color); }
div.item.button.notice input:hover[type=button] { background-color:var(--notice-bg-color); color:var(--notice-fg-color); }

View File

@ -87,6 +87,12 @@ Volcanos("base", {
if (typeof arg[i] == code.OBJECT && arg[i].length > 0 && arg[i].indexOf(item) > -1) { return true }
if (item == arg[i]) { return true }
} },
TimeTrim: function(value) {
var now = new Date()
var year = now.getFullYear()+"-"
var pre = this.Time(now, "%y-%m-%d ")
return this.trimPrefix(value.split(":").slice(0, 2).join(":"), pre, year)
},
Time: function(time, fmt) { var now = this.Date(time)
fmt = fmt||"%y-%m-%d %H:%M:%S"
fmt = fmt.replace("%y", now.getFullYear())

View File

@ -331,7 +331,7 @@ Volcanos("page", {
_list.push({type: html.BUTTON, name: ice.BACK})
break
case web.FILTER:
_list.push({type: html.TEXT, name: web.FILTER})
_list.push({type: html.TEXT, name: web.FILTER, icon: icon.search})
break
case mdb.PAGE:
_list.push({type: html.TEXT, name: mdb.OFFEND, value: can._msg.Option(mdb.OFFEND)})

View File

@ -78,6 +78,7 @@ Volcanos(chat.ONACTION, {_init: function(can) {},
var p = can.misc.Search(can, ice.BACK); if (p && location.pathname == web.CHAT_SSO) { return location.reload() }
can.user.info.userrole = msg.Option(ice.MSG_USERROLE), can.user.info.repos = msg.Option(nfs.REPOS)
can.user.info.nodetype = msg.Option(ice.MSG_NODETYPE)
can.user.info.username = msg.Option(ice.MSG_USERNAME)
can.user.info.usernick = can.Conf(aaa.USERNICK), can.user.info.email = msg.Option(aaa.EMAIL), can.user.info.avatar = msg.Option(aaa.AVATAR), can.user.info.background = msg.Option(aaa.BACKGROUND)
lang(msg, function() { can.onmotion.clear(can), can.onimport._init(can, can.request(), can._output), can.onengine.signal(can, chat.ONLOGIN) })
}