From c5d57c5f074a4ed7ea6dc27598a5c1eaed8d49f1 Mon Sep 17 00:00:00 2001 From: harveyshao Date: Sat, 13 Nov 2021 14:22:45 +0800 Subject: [PATCH] opt bash.grant --- frame.js | 5 ++++- panel/cmd.js | 4 +++- plugin/local/team/plan.js | 2 +- plugin/state.js | 11 ++++++++++- proto.js | 2 +- 5 files changed, 19 insertions(+), 5 deletions(-) diff --git a/frame.js b/frame.js index a48a1aa2..2f54288e 100644 --- a/frame.js +++ b/frame.js @@ -86,6 +86,9 @@ Volcanos("ondaemon", {help: "推荐引擎", list: [], _init: function(can, name) toast: function(can, msg, arg) { can.onmotion.float.add(can, chat.FLOAT, can.core.CallFunc(can.user.toast, {can: can, msg: msg, cmds: arg})) }, + confirm: function(can, msg, arg) { + if (can.user.confirm(arg[0])) { msg.Echo("true") } + }, }) Volcanos("onappend", {help: "渲染引擎", list: [], _init: function(can, meta, list, cb, target, field) { meta.name = meta.name||"", meta.name = meta.name.split(ice.SP)[0].split(ice.PT).pop() @@ -194,7 +197,7 @@ Volcanos("onappend", {help: "渲染引擎", list: [], _init: function(can, meta, Volcanos(display, {_follow: can.core.Keys(can._follow, display), _display: display, _target: can._output, _fields: can._target, _option: can._option, _action: can._action, _output: can._output, _status: can._status, Update: can.Update, Option: can.Option, Action: can.Action, Status: can.Status, - }, [display], function(table) { table.Conf(can.Conf()) + }, [display, "/plugin/table.js"], function(table) { table.Conf(can.Conf()) table.run = function(event, cmds, cb, silent) { var msg = can.request(event) if (msg.RunAction(event, table, cmds)) { return } return can.Update(event, can.Input(cmds, silent), cb, silent) diff --git a/panel/cmd.js b/panel/cmd.js index 95b9ab32..7f3f6a65 100644 --- a/panel/cmd.js +++ b/panel/cmd.js @@ -5,7 +5,9 @@ Volcanos("onaction", {help: "交互操作", list: [], _init: function(can, msg, onmain: function(can) { can._names = location.pathname var msg = can.request({}) can.Conf(chat.TOOL)? can.core.Next(can.Conf(chat.TOOL), function(item, next) { - can.onaction._plugin(can, item, next) + can.core.Timer(500, function() { + can.onaction._plugin(can, item, next) + }) }): can.run(msg._event, [ctx.ACTION, ctx.COMMAND], function(msg) { can.core.Next(msg.Table(), function(item, next) { diff --git a/plugin/local/team/plan.js b/plugin/local/team/plan.js index f4d9191b..74345579 100644 --- a/plugin/local/team/plan.js +++ b/plugin/local/team/plan.js @@ -165,7 +165,7 @@ Volcanos("onaction", {help: "组件交互", list: [ ], insertTask: function(event, can, time) { var msg = can.sup.request(event, {begin_time: time}) can.user.input(event, can, can.Conf("feature.insert"), function(event, button, data, list) { - can.run(event, can.base.Simple(ctx.ACTION, mdb.INSERT, "begin_time", time, data)) + can.run(event, can.base.Simple(ctx.ACTION, mdb.INSERT, "begin_time", time, data), true) }) }, modifyTask: function(event, can, task, key, value) { var msg = can.request(event, task) diff --git a/plugin/state.js b/plugin/state.js index 42a78539..96d6f7c6 100644 --- a/plugin/state.js +++ b/plugin/state.js @@ -75,7 +75,7 @@ Volcanos("onimport", {help: "导入数据", list: [], _init: function(can, conf, }) Volcanos("onaction", {help: "交互操作", list: [ - "共享工具", "生成链接", "保存参数", "清空参数", "刷新数据", [ + "共享工具", "生成链接", "生成脚本", "保存参数", "清空参数", "刷新数据", [ "其它 ->", "复制数据", "下载数据", "清空数据", "删除工具", "摄像头", ], ], _init: function(can, msg, list, cb, target) {}, @@ -98,6 +98,15 @@ Volcanos("onaction", {help: "交互操作", list: [ var msg = can.request(event, {link: can.user.MergeURL(can, args)}) can.search(event, ["Header.onaction.share"]) }, + "生成脚本": function(event, can, button) { var conf = can.Conf() + var ui = can.user.toast(can, {title: button, duration: -1, width: -300, + content: '
'+''+ + "export ctx_dev=http://9.134.115.203:9020; ctx_temp=$(mktemp); curl -fsSL $ctx_dev -o $ctx_temp;"+ + " source $ctx_temp "+(conf.index||"")+ice.SP+can.Input("", true).join(ice.SP)+ + ''+'
', action: [cli.CLOSE], + }) + can.onmotion.story.auto(can, ui._target) + }, "保存参数": function(event, can) { var meta = can.Conf() var msg = can.request(event, {river: can.Conf(chat.RIVER), storm: can.Conf(chat.STORM), id: meta.id}) can.search(event, ["River.ondetail.保存参数"], function(msg) { can.user.toast(can, "保存成功") }, true) diff --git a/proto.js b/proto.js index 629e42e3..c16698aa 100644 --- a/proto.js +++ b/proto.js @@ -261,7 +261,7 @@ Volcanos.meta._load = function(url, cb) { _can_path = url return (document.head||document.body).appendChild(item), item case "js": var item = document.createElement(ssh.SCRIPT) - item.onload = cb, item.src = url + item.onload = cb, item.onerror = cb, item.src = url return document.body.appendChild(item), item } }