From 10c8fd0ee91089996bc105902e8d3a6108633f04 Mon Sep 17 00:00:00 2001 From: shylinux Date: Sat, 27 May 2023 10:33:54 +0800 Subject: [PATCH] add some --- frame.js | 6 ++++-- index.css | 2 ++ panel/action.js | 3 +-- panel/header.js | 2 +- panel/river.js | 6 ++++-- proto.js | 6 +++--- 6 files changed, 15 insertions(+), 10 deletions(-) diff --git a/frame.js b/frame.js index 1aca3c2c..2761c822 100644 --- a/frame.js +++ b/frame.js @@ -24,7 +24,7 @@ Volcanos(chat.ONENGINE, {_init: function(can, meta, list, cb, target) { can.requ if (panel.onengine._static(event, can, msg, panel, cmds, cb)) { return } var toast, _toast = msg.Option(chat._TOAST); if (_toast) { can.onmotion.delay(can, function() { toast = toast||can.user.toastProcess(msg._can, _toast) }, 500) } msg.option = can.core.List(msg.option, function(item) { return [chat._TOAST, ice.MSG_HANDLE].indexOf(item) > -1 && delete(msg[item])? undefined: item }) - msg.OptionDefault(ice.MSG_THEME, can.getHeader(chat.THEME), ice.SESS_HEIGHT, panel.Conf(html.HEIGHT)||panel._target.offsetHeight, ice.SESS_WIDTH, panel.Conf(html.WIDTH)||panel.offsetWidth) + msg.OptionDefault(ice.MSG_THEME, can.getHeader(chat.THEME), ice.SESS_HEIGHT, panel.Conf(html.HEIGHT)||panel._target.offsetHeight||"", ice.SESS_WIDTH, panel.Conf(html.WIDTH)||panel.offsetWidth||"") if (can.base.isUndefined(msg[ice.MSG_DAEMON])) { var sub = msg._can; can.base.isUndefined(sub._daemon) && can.ondaemon._list[0] && (sub._daemon = can.ondaemon._list.push(sub)-1) if (sub._daemon) { msg.Option(ice.MSG_DAEMON, can.core.Keys(can.ondaemon._list[0], sub._daemon)) } } can.onengine.signal(panel, chat.ONREMOTE, can.request({}, {_follow: panel._follow, _msg: msg, _cmds: cmds})) @@ -210,7 +210,8 @@ Volcanos(chat.ONAPPEND, {_init: function(can, meta, list, cb, target, field) { 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) - }, item._init = item._init||function(target) { if (!can.page.ClassList.has(can, can._fields||can._target, chat.STORY)) { return } + }, item._init = item._init||function(target) { + // if (!can.page.ClassList.has(can, can._fields||can._target, chat.STORY)) { return } if (can.base.isIn(item.name, mdb.CREATE, mdb.INSERT)) { can.onappend.style(can, "icons", target.parentNode) can.page.Append(can, target.parentNode, [{icon: item.name, onclick: function(event) { can.Update(event, [ctx.ACTION, item.name]) }}]) } @@ -683,6 +684,7 @@ Volcanos(chat.ONMOTION, {_init: function(can, target) { resize: function(can, target, cb, top) { var begin, action target.onclick = function(event) { if (can.page.tagis(event.target, html.INPUT)) { return } + can.onmotion.clearCarte(can) can.onkeymap.prevent(event) } target.onmousedown = function(event) { if (event.which != 1) { return } diff --git a/index.css b/index.css index c0583671..2fe0dc75 100644 --- a/index.css +++ b/index.css @@ -129,6 +129,8 @@ div.action>div.tabs:hover span.icon { visibility:visible; } fieldset.plug>form.option>div.icon { margin-left:5px; } fieldset.plugin:not(.float):not(.full):not(.cmd)>form.option>div.icon { display:none; } fieldset.plugin:not(.float):not(.full):not(.cmd)>form.option>div.button>span.icon { display:none; } +fieldset.plugin:not(.float):not(.full):not(.cmd)>div.action>div.button>span.icon { display:none; } +fieldset.panel>div.action>div.button>span.icon { display:none; } fieldset.story>form.option>div.button.icons>input { display:none; } fieldset.float>form.option>div.button.icons>input { display:none; } fieldset.full>form.option>div.button.icons>input { display:none; } diff --git a/panel/action.js b/panel/action.js index 31ac121a..e252fa3f 100644 --- a/panel/action.js +++ b/panel/action.js @@ -1,7 +1,6 @@ (function() { const TABS = "tabs", TABVIEW = "tabview", HORIZON = "horizon", VERTICAL = "vertical", GRID = "grid", FREE = "free", FLOW = "flow", PAGE = "page", CAN_LAYOUT = "can.layout" Volcanos(chat.ONIMPORT, {_init: function(can, msg) { var river = can.Conf(chat.RIVER), storm = can.Conf(chat.STORM), list = can.misc.SearchHash(can) - can.onmotion.clear(can), can.core.Next(msg.Table(), function(item, next) { item.type = chat.PLUGIN, item.mode = can.Mode() - if (item.deleted == "true") { return next() } + can.onmotion.clear(can), can.core.Next(msg.Table(), function(item, next) { item.type = chat.PLUGIN, item.mode = can.Mode(); if (item.deleted == ice.TRUE) { return next() } can.onappend.plugin(can, item, function(sub, meta, skip) { can._plugins = (can._plugins||[]).concat([sub]), can.onimport._tabs(can, sub, meta), skip || next() sub.onaction._close = function() { can.onengine.signal(can, chat.ONACTION_REMOVE, can.request({river: river, storm: storm}, item)), can.page.Remove(can, sub._target) } sub.run = function(event, cmds, cb) { return can.run(event, (river == web.SHARE? [ctx.ACTION]: []).concat([river, storm, meta.id||meta.index], cmds), cb) } diff --git a/panel/header.js b/panel/header.js index efcccb2d..f28b57ff 100644 --- a/panel/header.js +++ b/panel/header.js @@ -61,7 +61,7 @@ Volcanos(chat.ONACTION, {_init: function(can) { var themeMedia = window.matchMed onmain: function(can) { can.run({}, [], function(msg) { if (!can.Conf(aaa.USERNICK, msg.Option(aaa.USERNICK)||msg.Option(ice.MSG_USERNICK)||msg.Option(ice.MSG_USERNAME))) { return msg.Option(chat.SSO)? can.user.jumps(msg.Option(chat.SSO)): can.user.login(can, function() { can.onengine.signal(can, chat.ONMAIN, msg) }, msg.Option(aaa.LOGIN)) - } can.user.info.usernick = can.Conf(aaa.USERNICK), can.user.info.avatar = msg.Option(aaa.AVATAR), can.user.info.background = msg.Option(aaa.BACKGROUND) + } can.user.info.usernick = can.Conf(aaa.USERNICK), can.user.info.userrole = msg.Option(ice.MSG_USERROLE), can.user.info.avatar = msg.Option(aaa.AVATAR), can.user.info.background = msg.Option(aaa.BACKGROUND) can.user.info.language = msg.SearchOrOption(aaa.LANGUAGE)||navigator.language.split("-")[0], msg.Option(nfs.SCRIPT) && can.require(can.base.Obj(msg.Option(nfs.SCRIPT)), function(can) { can.onaction.source(can, msg) }) can.onmotion.clear(can), can.onimport._init(can, msg, can._output), can.onengine.signal(can, chat.ONLOGIN, msg) }) diff --git a/panel/river.js b/panel/river.js index cdf675cb..b3fb1d1f 100644 --- a/panel/river.js +++ b/panel/river.js @@ -28,7 +28,7 @@ Volcanos(chat.ONACTION, {list: [mdb.CREATE, web.SHARE, web.REFRESH], _init: func onlayout: function(can, layout) { can.user.isMobile || can.onmotion.toggle(can, can._target, !layout || layout == "tabs") }, ontitle: function(can, msg) { can.misc.sessionStorage(can, CAN_RIVER, ""), can.misc.sessionStorage(can, CAN_STORM, "") }, - create: function(event, can) { can.user.input(event, can, [{name: mdb.TYPE, values: [aaa.TECH, aaa.VOID], _trans: "类型"}, {name: mdb.NAME, value: "hi", _trans: "群名"}, {name: mdb.TEXT, value: "hello", _trans: "简介"}], function(args) { + create: function(event, can) { can.user.input(event, can, [{name: mdb.TYPE, values: [aaa.TECH, aaa.ROOT, aaa.TECH, aaa.VOID], _trans: "类型"}, {name: mdb.NAME, value: "hi", _trans: "群名"}, {name: mdb.TEXT, value: "hello", _trans: "简介"}], function(args) { can.runAction(event, mdb.CREATE, args, function(msg) { can.misc.Search(can, {river: msg.Result()}) }) }) }, share: function(event, can) { can.core.CallFunc(can.ondetail.share, {event: event, can: can}) }, @@ -104,7 +104,9 @@ Volcanos(chat.ONEXPORT, {width: function(can) { return can._target.offsetWidth } }) }) }, }) Volcanos(chat.ONENGINE, {_engine: function(event, can, msg, panel, cmds, cb) { var list = can.river - cmds.length == 0 && can.core.ItemOrder(list, "order", function(key, value) { can.core.Item(value.storm).length > 0 && msg.Push({hash: key, name: can.user.language(can) == "en"? key: value.name}) }) + cmds.length == 0 && can.core.ItemOrder(list, "order", function(key, value) { + can.core.Item(value.storm).length > 0 && msg.Push({hash: key, name: can.user.language(can) == "en"? key: value.name}) + }) if (cmds.length != 1 && cmds[1] != chat.STORM) { return false } var river = list[cmds[0]]; if (!river) { return false } can.core.ItemOrder(river.storm, "order", function(key, value) { msg.Push({hash: key, name: can.user.language(can) == "en"? key: value.name}) }) can.base.isFunc(cb) && cb(msg); return true diff --git a/proto.js b/proto.js index a70cc934..1eaf9184 100644 --- a/proto.js +++ b/proto.js @@ -39,7 +39,7 @@ var ice = { PROCESS_FIELD: "_field", MSG_PREFIX: "_prefix", - MSG_USERNAME: "user.name", MSG_USERNICK: "user.nick", MSG_LANGUAGE: "user.lang", + MSG_USERNICK: "user.nick", MSG_USERNAME: "user.name", MSG_USERROLE: "user.role", MSG_LANGUAGE: "user.lang", MSG_TITLE: "sess.title", MSG_THEME: "sess.theme", MSG_RIVER: "sess.river", MSG_STORM: "sess.storm", MSG_WIDTH: "sess.width", MSG_HEIGHT: "sess.height", MSG_MODE: "sess.mode", MSG_DAEMON: "sess.daemon", LOG_DISABLE: "log.disable", @@ -98,9 +98,9 @@ var web = {CHAT: "chat", var aaa = { LOGIN: "login", LOGOUT: "logout", INVITE: "invite", TOKEN: "token", USER: "user", - PASSWORD: "password", USERNAME: "username", USERNICK: "usernick", BACKGROUND: "background", AVATAR: "avatar", + USERNICK: "usernick", USERNAME: "username", PASSWORD: "password", USERROLE: "userrole", BACKGROUND: "background", AVATAR: "avatar", LANGUAGE: "language", ENGLISH: "english", CHINESE: "chinese", - VOID: "void", TECH: "tech", + VOID: "void", TECH: "tech", ROOT: "root", } var lex = { SPLIT: "split", PREFIX: "prefix", SUFFIX: "suffix",