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

add chat.script

This commit is contained in:
IT 老营长 @云轩领航-创始人 2024-01-21 16:00:57 +08:00
parent b37f8302fb
commit 66dda357b1
5 changed files with 20 additions and 4 deletions

View File

@ -66,6 +66,7 @@ var mdb = {FOREACH: "*", RANDOMS: "%",
KEY: "key", VALUE: "value", STATUS: "status", EXPIRE: "expire", EXTRA: "extra",
SHORT: "short", FIELD: "field", COUNT: "count", TOTAL: "total", INDEX: "index", LIMIT: "limit",
DATA: "data", VIEW: "view", ORDER: "order",
ENABLE: "enable", DISABLE: "disable",
INPUTS: "inputs", CREATE: "create", REMOVE: "remove", UPDATE: "update",
INSERT: "insert", DELETE: "delete", MODIFY: "modify", SELECT: "select",
PRUNES: "prunes", EXPORT: "export", IMPORT: "import",
@ -187,6 +188,7 @@ var cli = {
BEGIN: "begin", END: "end", START: "start", RESTART: "restart", STOP: "stop", OPEN: "open", CLOSE: "close",
REBOOT: "reboot",
DELAY: "delay",
PLAY: "play", STEP: "step",
QRCODE: "qrcode", COLOR: "color", BLACK: "black", WHITE: "white", BLUE: "blue", RED: "red", GRAY: "gray", CYAN: "cyan", GREEN: "green", PURPLE: "purple", YELLOW: "yellow",
MAGENTA: "magenta", SILVER: "silver", ALICEBLUE: "aliceblue", TRANSPARENT: "transparent",
LINUX: "linux", DARWIN: "darwin", WINDOWS: "windows",
@ -368,7 +370,7 @@ var icon = {
save: "bi bi-floppy", trash: "bi bi-trash",
push: "bi bi-cloud-upload", pull: "bi bi-cloud-download",
upload: "bi bi-box-arrow-in-up", download: "bi bi-box-arrow-down",
record1: "bi bi-images", record2: "bi bi-record-circle",
record1: "bi bi-images", record2: "bi bi-record-circle", record: "bi bi-record-circle",
full: "bi bi-arrows-fullscreen", open: "bi bi-box-arrow-up-right",
search: "bi bi-search", favor: "bi bi-star", qrcode: "bi bi-qr-code",
notifications: "bi bi-chat-right-text",
@ -384,6 +386,7 @@ var icon = {
compile: "bi bi-tools", publish: "bi bi-send-check", version: "bi bi-tags", upgrade: "bi bi-rocket-takeoff",
vimer: "bi bi-code-slash", repos: "bi bi-git", build: "bi bi-tools", tag: "bi bi-tags",
xterm: "bi bi-terminal", cmds: "bi bi-terminal",
enable: "bi bi-toggle-off", disable: "bi bi-toggle-on",
}
var svg = {
GROUP: "group", PID: "pid", GRID: "grid",

View File

@ -124,7 +124,8 @@ Volcanos(chat.ONAPPEND, {_init: function(can, meta, list, cb, target, field) {
},
Option: function(key, value) { value && (value = can.user.trans(sub, value, null, html.INPUT)); return can.page.SelectArgs(can, option, key, value)[0] },
Update: function(event, cmds, cb, silent) { event = event||{}
if (event.isTrusted && cmds && cmds.length > 0 && cmds[0] == ctx.ACTION) { can.onengine.signal(can, "onrecord", can.request({}, {cmds: [sub.ConfIndex()].concat(cmds||[])})) }
if (event.isTrusted && cmds && cmds.length > 0 && cmds[0] == ctx.ACTION) {
can.onengine.signal(can, "onrecord", can.request({}, {cmds: [sub.ConfSpace(), sub.ConfIndex()].concat(cmds||[])})) }
sub.request(event, can.core.Value(sub, "sub.db._checkbox"))._caller(),
sub.onappend._output0(sub, sub.Conf(), event||{}, cmds||sub.Input([], !silent), cb, silent); return true },
Focus: function() { can.page.SelectOne(can, option, html.INPUT_ARGS, function(target) { target.focus() }) },
@ -441,7 +442,15 @@ Volcanos(chat.ONAPPEND, {_init: function(can, meta, list, cb, target, field) {
if (key == mdb.HASH && can.ConfIndex() == web.TOKEN) { _value = value.slice(0, 4)+"****" }
if (key == web.TOKEN && value) { _value = value.slice(0, 4)+"****" }
if (key == aaa.PASSWORD && value) { _value = "********" }
function onclick() { return false }
if (key == mdb.STATUS && value == mdb.DISABLE) { _value = `<i class="${icon.enable}">`
function onclick() { run(event, mdb.MODIFY, [mdb.STATUS, mdb.ENABLE]); return true }
}
if (key == mdb.STATUS && value == mdb.ENABLE) { _value = `<i class="${icon.disable}">`
function onclick() { run(event, mdb.MODIFY, [mdb.STATUS, mdb.DISABLE]); return true }
}
return {text: [msg.IsDetail() && key == mdb.KEY? can.user.trans(can, _value, null, html.INPUT): can.user.trans(can, _value, null, html.VALUE), html.TD], onclick: function(event) { var target = event.target
if (onclick()) { return }
if (key == cli.QRCODE && can.page.tagis(event.target, html.IMG)) { can.user.opens(event.target.title) }
if (can.page.tagis(target, html.INPUT) && target.type == html.BUTTON) { can.requestAction(event, target.name)
meta && meta[target.name]? can.user.input(event, can, meta[target.name], function(args) { run(event, target.name, args) }, data): run(event, target.name)

View File

@ -93,6 +93,7 @@ table.content.full { width:100%; }
body.mobile table.content.detail { word-break:break-all; white-space:unset; }
table.content thead { position:sticky; top:2px; }
table.content tr.disable { color:var(--disable-fg-color); }
table.content tr.danger { background-color:var(--danger-bg-color) !important; color:var(--danger-fg-color) !important; }
table.content tr.offline { color:var(--disable-fg-color); }
table.content tr.offline a { color:var(--disable-fg-color); }
table.content th { font-family:var(--input-font-family); padding:var(--input-padding) 24px; box-shadow:var(--box-shadow); }
@ -265,6 +266,8 @@ body div.tabs { font-family:var(--code-font-family); }
body div.path { font-family:var(--code-font-family); }
body div.carte { font-family:var(--code-font-family); }
/* icon */
i.bi.bi-toggle-on { color:var(--notice-bg-color); }
i.bi.bi-toggle-on:hover { color:var(--notice-bg-color); }
fieldset>legend>i { margin-right:var(--input-margin); }
form.option>div.item.icon { position:relative; height:var(--action-height); overflow:hidden; }
form.option>div.item.icon { font-size:var(--icon-font-size); padding:0 var(--input-padding); }

View File

@ -53,7 +53,8 @@ Volcanos(chat.ONACTION, {_init: function(can) {},
onremote: function(can, msg) { can.core.CallFunc(can.onimport.ncmd, {can: can, msg: msg}) },
onunload: function(can) { can._wss && can._wss.close() },
onrecord: function(can, msg) {
can.runAction(can.request(), nfs.SCRIPT, msg.cmds[0])
var zone = can.misc.sessionStorage(can, "web.chat.script:zone")
zone && can.runAction(can.request(), nfs.SCRIPT, [zone].concat(msg.cmds[0]))
},
onaction_cmd: function(can) { can.onappend.style(can, html.HIDE) },
oncommand_focus: function(can) { can.page.Select(can, can._output, ["div.cmd", html.INPUT], function(target) { can.onmotion.focus(can, target) }) },

View File

@ -102,7 +102,7 @@ var Volcanos = shy({iceberg: "", volcano: "", frame: chat.FRAME_JS, _cache: {},
isAutoMode: function() { return can.Mode() == "" },
Mode: function(value) { return can.Conf(ice.MODE, value) },
ConfDefault: function(value) { can.core.Item(value, function(k, v) { can.Conf(k) || can.Conf(k, v) }) },
ConfSpace: function() { return can.Conf(web.SPACE)||can.Conf("_space") },
ConfSpace: function() { return can.Conf(web.SPACE)||can.Conf("_space")||"" },
ConfIndex: function() { return can.Conf("_command")||can.Conf(ctx.INDEX)||can.Conf("_index") },
ConfHeight: function(value) { return can.Conf(html.HEIGHT, value) },
ConfWidth: function(value) { return can.Conf(html.WIDTH, value) },