forked from x/icebergs
add some
This commit is contained in:
parent
b499d09f37
commit
6b6e20458b
@ -177,6 +177,9 @@ func RenderVersion(m *ice.Message) string {
|
|||||||
}
|
}
|
||||||
|
|
||||||
const (
|
const (
|
||||||
|
PLAY = "play"
|
||||||
|
SHOW = "show"
|
||||||
|
|
||||||
CHAT = "chat"
|
CHAT = "chat"
|
||||||
WORD = "word"
|
WORD = "word"
|
||||||
VIMER = "vimer"
|
VIMER = "vimer"
|
||||||
|
@ -2,21 +2,30 @@ package chat
|
|||||||
|
|
||||||
import (
|
import (
|
||||||
ice "shylinux.com/x/icebergs"
|
ice "shylinux.com/x/icebergs"
|
||||||
"shylinux.com/x/icebergs/base/cli"
|
|
||||||
"shylinux.com/x/icebergs/base/mdb"
|
"shylinux.com/x/icebergs/base/mdb"
|
||||||
|
"shylinux.com/x/icebergs/base/nfs"
|
||||||
|
"shylinux.com/x/icebergs/base/web"
|
||||||
)
|
)
|
||||||
|
|
||||||
const TUTOR = "tutor"
|
const TUTOR = "tutor"
|
||||||
|
|
||||||
func init() {
|
func init() {
|
||||||
Index.MergeCommands(ice.Commands{
|
Index.MergeCommands(ice.Commands{
|
||||||
TUTOR: {Name: "tutor zone id auto", Help: "向导", Actions: mdb.ZoneAction(
|
TUTOR: {Name: "tutor zone id auto", Help: "向导", Actions: ice.MergeActions(ice.Actions{
|
||||||
mdb.SHORT, "zone", mdb.FIELD, "time,zone", mdb.FIELDS, "time,id,type,name,text",
|
nfs.SAVE: {Name: "save zone*", Hand: func(m *ice.Message, arg ...string) {}},
|
||||||
), Hand: func(m *ice.Message, arg ...string) {
|
}, mdb.ZoneAction(
|
||||||
|
mdb.SHORT, "zone", mdb.FIELD, "time,zone,count", mdb.FIELDS, "time,id,type,name,text",
|
||||||
|
)), Hand: func(m *ice.Message, arg ...string) {
|
||||||
|
m.Option("cache.limit", "-1")
|
||||||
if mdb.ZoneSelect(m, arg...); len(arg) == 0 {
|
if mdb.ZoneSelect(m, arg...); len(arg) == 0 {
|
||||||
m.Push(mdb.TIME, m.Time()).Push(mdb.ZONE, "_current")
|
m.Push(mdb.TIME, m.Time()).Push(mdb.ZONE, "_current")
|
||||||
} else {
|
} else {
|
||||||
m.Action(cli.PLAY)
|
m.SortInt(mdb.ID)
|
||||||
|
if arg[0] == "_current" {
|
||||||
|
m.Action(web.PLAY, nfs.SAVE)
|
||||||
|
} else {
|
||||||
|
m.PushAction(web.SHOW, "view", "data").Action(web.PLAY)
|
||||||
|
}
|
||||||
}
|
}
|
||||||
m.Display("")
|
m.Display("")
|
||||||
}},
|
}},
|
||||||
|
@ -1,17 +1,41 @@
|
|||||||
Volcanos(chat.ONIMPORT, {
|
Volcanos(chat.ONIMPORT, {
|
||||||
_init: function(can, msg) {
|
_init: function(can, msg) {
|
||||||
if (can.Option(mdb.ZONE) == "_current") {
|
if (can.Option(mdb.ZONE) == "_current" && can._root.Footer.db.tutor) {
|
||||||
can._root.Footer.db.tutor.Table(function(value) { msg.Push(value) }), msg.PushAction("show")
|
can._root.Footer.db.tutor.Table(function(value) {
|
||||||
|
msg.Push(value, [mdb.TIME, mdb.TYPE, mdb.TEXT])
|
||||||
|
if (can.base.isIn(value.type, "storm", mdb.REMOVE)) {
|
||||||
|
msg.PushButton(web.SHOW)
|
||||||
|
} else {
|
||||||
|
msg.PushButton(web.SHOW, "view", "data")
|
||||||
}
|
}
|
||||||
msg.Dump(can)
|
})
|
||||||
|
}
|
||||||
|
msg.Show(can)
|
||||||
},
|
},
|
||||||
})
|
})
|
||||||
Volcanos(chat.ONACTION, {
|
Volcanos(chat.ONACTION, {
|
||||||
|
_trans: {
|
||||||
|
icons: {
|
||||||
|
view: "bi bi-code-slash", data: "bi bi-diagram-3",
|
||||||
|
},
|
||||||
|
},
|
||||||
|
save: function(event, can) {
|
||||||
|
can.user.input(event, can, ["zone"], function(data) {
|
||||||
|
can.core.Next(can._msg.Table(), function(value, next, index, list) {
|
||||||
|
can.user.toastProcess(can, `save ${data.zone} ${index}/${list.length}`)
|
||||||
|
var args = [ctx.ACTION, mdb.INSERT, mdb.ZONE, data.zone]; can.core.Item(value, function(key, value) { args.push(key, value) })
|
||||||
|
can.run(can.request(event, {_handle: ice.TRUE}), args, function() { next() })
|
||||||
|
}, function() {
|
||||||
|
can.user.toastSuccess(can)
|
||||||
|
})
|
||||||
|
})
|
||||||
|
},
|
||||||
play: function(can) {
|
play: function(can) {
|
||||||
can.core.Next(can._msg.Table(), function(value, next, index, list) { var delay = 3000
|
can.core.Next(can._msg.Table(), function(value, next, index, list) { var delay = 30
|
||||||
if (list[index+1]) { delay = (Date.parse(list[index+1].time)-Date.parse(value.time)) }
|
if (list[index+1]) { delay = (Date.parse(list[index+1].time)-Date.parse(value.time)) }
|
||||||
can.onaction.show(can, value.type, value.text, delay), can.onmotion.delay(can, next, delay)
|
can.onaction.show(can, value.type, value.text, delay), can.onmotion.delay(can, next, delay)
|
||||||
can.onmotion.select(can, can.page.SelectOne(can, can._output, "tbody"), html.TR, index)
|
can.onmotion.select(can, can.page.SelectOne(can, can._output, "tbody"), html.TR, index)
|
||||||
|
can.user.toastProcess(can, `show ${index}/${list.length} ${value.type} ${delay}ms`)
|
||||||
}, function() {
|
}, function() {
|
||||||
can.user.toastSuccess(can, "play done")
|
can.user.toastSuccess(can, "play done")
|
||||||
})
|
})
|
||||||
@ -24,15 +48,30 @@ Volcanos(chat.ONACTION, {
|
|||||||
case "storm": var ls = text.split(",")
|
case "storm": var ls = text.split(",")
|
||||||
can._root.River.onaction.action({}, can._root.River, ls[0], ls[1])
|
can._root.River.onaction.action({}, can._root.River, ls[0], ls[1])
|
||||||
break
|
break
|
||||||
|
case "index":
|
||||||
|
can.page.Select(can, document.body, "fieldset.panel.Header>div.output>div.Action>div._tabs>div.tabs."+text, function(target) {
|
||||||
|
target.click()
|
||||||
|
})
|
||||||
|
break
|
||||||
case "click":
|
case "click":
|
||||||
can.page.Select(can, document.body, text, function(target) {
|
can.page.Select(can, document.body, text, function(target) { var count = 5
|
||||||
can.core.Next([1, 2, 3, 4, 5], function(value, next, index) { can.page.ClassList.add(can, target, "picker")
|
can.core.Next(can.core.List(count), function(value, next, index) { can.page.ClassList.add(can, target, "picker")
|
||||||
can.onmotion.delay(can, function() { can.page.ClassList.del(can, target, "picker"), can.onmotion.delay(can, function() { next() }, delay/20) }, delay/20)
|
can.onmotion.delay(can, function() { can.page.ClassList.del(can, target, "picker"), can.onmotion.delay(can, function() { next() }, delay/5/4) }, delay/5/4)
|
||||||
}, function() {
|
}, function() {
|
||||||
target.click()
|
target.click()
|
||||||
})
|
})
|
||||||
})
|
})
|
||||||
break
|
break
|
||||||
|
case "focus": var ls = text.split(",")
|
||||||
|
can.page.Select(can, document.body, ls[0], function(target) {
|
||||||
|
target.focus()
|
||||||
|
})
|
||||||
|
break
|
||||||
|
case "blur": var ls = text.split(",")
|
||||||
|
can.page.Select(can, document.body, ls[0], function(target) { target.value = ls[1]
|
||||||
|
can.onmotion.delay(can, function() { target.blur() }, 300)
|
||||||
|
})
|
||||||
|
break
|
||||||
case "item": var ls = text.split(",")
|
case "item": var ls = text.split(",")
|
||||||
can.page.Select(can, document.body, ls[0], function(target) {
|
can.page.Select(can, document.body, ls[0], function(target) {
|
||||||
can.onmotion.delay(can, function() { target._can.sub.ui[ls[1]].click() })
|
can.onmotion.delay(can, function() { target._can.sub.ui[ls[1]].click() })
|
||||||
@ -45,4 +84,30 @@ Volcanos(chat.ONACTION, {
|
|||||||
break
|
break
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
|
view: function(can, type, text, delay) {
|
||||||
|
can.onappend._float(can, "can.view", [], function(sub) {
|
||||||
|
if (type == "click") {
|
||||||
|
can.page.Select(can, document.body, can.core.Split(text, ">,")[0], function(target) {
|
||||||
|
sub.Conf("_target", target)
|
||||||
|
})
|
||||||
|
} else if (type == "index") {
|
||||||
|
can.page.Select(can, document.body, "fieldset.plugin."+text, function(target) {
|
||||||
|
sub.Conf("_target", target)
|
||||||
|
})
|
||||||
|
}
|
||||||
|
})
|
||||||
|
},
|
||||||
|
data: function(can, type, text, delay) {
|
||||||
|
can.onappend._float(can, "can.data", [], function(sub) {
|
||||||
|
if (type == "click") {
|
||||||
|
can.page.Select(can, document.body, can.core.Split(text, ">,")[0], function(target) {
|
||||||
|
sub.Conf("_target", target._can)
|
||||||
|
})
|
||||||
|
} else if (type == "index") {
|
||||||
|
can.page.Select(can, document.body, "fieldset.plugin."+text, function(target) {
|
||||||
|
sub.Conf("_target", target._can)
|
||||||
|
})
|
||||||
|
}
|
||||||
|
})
|
||||||
|
},
|
||||||
})
|
})
|
Loading…
x
Reference in New Issue
Block a user