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

add miss.js

This commit is contained in:
shaoying 2020-06-09 05:18:21 +08:00
parent 37419ab203
commit 669242c25a
7 changed files with 135 additions and 7 deletions

View File

@ -342,7 +342,7 @@ Volcanos("onappend", { _init: function(can, meta, list, cb, target, field) { met
item.value == "auto" && (item.value = "")
item.action == "auto" && (input.dataset.action = "auto")
var target = can.page.Append(can, option, [{view: ["item "+item.type], list: [item.position && {text: item.name+": "}, input]}]).last
var target = can.page.Append(can, option, [{view: ["item "+item.type], list: [item.position && {text: item.name+": "}, input]}])[item.name]
item.figure && item.figure.indexOf("@") == 0 && (item.figure = item.figure.slice(1)) && can.require(["/plugin/input/"+item.figure], function() {
target.type != "button" && (target.value = "")
})
@ -403,13 +403,14 @@ Volcanos("onappend", { _init: function(can, meta, list, cb, target, field) { met
msg.result && can.page.AppendBoard(can, target, can.page.Display(msg.Result()))
},
carte: function(can, meta, list, cb) { list = list && list.length > 0? list: meta.list; if (list.length == 0) { return }
carte: function(can, meta, list, cb) { meta = meta || can.ondetail, list = list && list.length > 0? list: meta.list; if (list.length == 0) { return }
can._carte = can._carte || can.page.Append(can, can._target, [{view: "carte", onmouseleave: function(event) {
can.page.Modify(can, can._carte, {style: {display: "none"}})
}}]).last
meta = meta||can.ondetail||{}, cb = cb||function(ev, item, meta) {
(can.ondetail[item]||can.onaction[item]||can.onkeymap&&can.onkeymap._remote)(event, can, item)
var cb = can.ondetail[item] || can.onaction[item] || can.onkeymap&&can.onkeymap._remote
cb && cb(event, can, item)
}
can.page.Appends(can, can._carte, can.core.List(list, function(item) {

View File

@ -10,7 +10,7 @@ var base = Volcanos("base", {help: "基础模块",
return res
},
Int: function(value) {return parseInt(value)||0},
Obj: function(value, def) {return typeof value == "string"? JSON.parse(value): value || def || {}},
Obj: function(value, def) {return typeof value == "string" && value != ""? JSON.parse(value): value || def || {}},
Args: function(obj) {var res = [];
for (var k in obj) {

View File

@ -29,7 +29,7 @@ Volcanos("onexport", {help: "导出数据", list: [], _init: function(can, msg,
if (position) { can._output.scrollTo(0, position-1); return }
msg.Clear("option"), can.run(msg._event, [river, storm], function(sup) { can._output.innerHTML = ""; sup.Table(function(value, index, array) {
value.inputs = can.base.Obj(value.inputs, []), value.inputs.length == 0 && (value.inputs = [
value.inputs = can.base.Obj(value.inputs||"[]", []), value.inputs.length == 0 && (value.inputs = [
{type: "text", name: "name", action: "auto"},
{type: "button", name: "查看", action: "auto"},
{type: "button", name: "返回"},

View File

@ -1,8 +1,11 @@
Volcanos("onimport", {help: "导入数据", list: [],
_init: function(can, meta, list, cb, output, action, option, field) { output.innerHTML = "";
_init: function(can, meta, list, cb, output, action, option, field) {
},
})
Volcanos("onaction", {help: "控件交互", list: [],
onchange: function(event, can) {
console.log(can.Conf())
},
onclick: function(event, can) {
switch (can.Conf("type")) {
case "button":

View File

@ -0,0 +1,22 @@
fieldset.plan>div.output table.content {
float:left;
}
fieldset.plan>div.output table.display {
float:left;
}
fieldset.plan>div.output table.content div.prepare {
background-color:blue;
}
fieldset.plan>div.output table.content div.process {
/* background-color:yellow; */
}
fieldset.plan>div.output table.content div.finish {
background-color:green;
}
fieldset.plan>div.output table.content div.cancel {
background-color:red;
}
fieldset.plan>div.output table.content td.over {
border:solid 2px red;
}

101
plugin/local/team/miss.js Normal file
View File

@ -0,0 +1,101 @@
Volcanos("onimport", {help: "导入数据", list: [], _init: function(can, msg, list, cb, target) { can._target.innerHTML = ""
can.ui = can.page.Append(can, can._target, [
{view: ["content", "table"]},
{view: ["display", "table"]},
])
can.onimport[can.Option("scale")](can, msg)
},
_task: function(can, msg, time, values) {
return {text: ["", "td"],
ondragover: function(event) { event.preventDefault()
can.page.Select(can, can.ui.content, "td", function(item) {
can.page.ClassList.del(can, item, "over")
}), can.page.ClassList.add(can, event.target, "over")
},
ondrop: function(event) { event.preventDefault()
can.run(event, ["action", "modify", "begin_time", time, ""], function(msg) {
value.begin_time = begin_time
can.onimport._display(can, msg, value)
can.onappend.toast(can, "修改成功")
}, true)
event.target.append(can.task)
},
list: can.core.List(values, function(value) {
return {view: [value.status, "div", value.name], draggable: true,
ondragstart: function(event) { can.task = event.target },
ondragover: function(event) { event.preventDefault() },
ondrop: function(event) { event.preventDefault() },
onclick: function(event) {
can.onimport._display(can, msg, value)
}, oncontextmenu: function(event) { var target = event.target
can.onappend.carte(can, can.ondetail, can.ondetail.list, function(event, item) {
var msg = can.request(event); msg.Option(value)
can.run(event, ["action", "modify", "status", item, value.status], function(msg) {
target.className = value.status = item
can.onimport._display(can, msg, value)
can.onappend.toast(can, "修改成功")
}, true)
})
}}
}) }
},
_display: function(can, msg, value) { can.ui.display.innerHTML = ""
can.page.Append(can, can.ui.display, [{type: "tr", list: [{text: ["key", "th"]}, {text: ["value", "th"]}]}])
can.core.Item(value, function(key, value) {
can.page.Append(can, can.ui.display, [{type: "tr", list: [{text: [key, "td"]}, {text: [value, "td"]}]}])
})
},
day: function(can, msg) {
var hash = {}; msg.Table(function(value) { var time = new Date(value.time)
var key = time.getHours(); hash[key] = (hash[key]||[]).concat([value])
})
var list = [0]; for (var i = 6; i < 24; i++) { list.push(i) }
var table = can.page.Append(can, can.ui.content, [{type: "table", list:
can.core.List(list, function(hour, index) {
if (index == 0) { return {type: "tr", list: [{text: ["time", "th"]}, {text: ["text", "th"]}]} }
return {type: "tr", list: [{text: [can.base.Number(hour), "td"]}, can.onimport._task(can, msg, "2020-06-08 "+hour+":00:00", hash[hour])]}
})
}]).table
},
week: function(can, msg) {
var hash = {}; msg.Table(function(value) { var time = new Date(value.time)
var key = time.getDay()+" "+time.getHours()
hash[key] = (hash[key]||[]).concat([value])
})
var head = ["time"].concat(["周日", "周一", "周二", "周三", "周四", "周五", "周六"]);
var list = [0]; for (var i = 6; i < 24; i++) { list.push(i) }
var table = can.page.Append(can, can.ui.content, [{type: "table", list:
can.core.List(list, function(hour, index) {
if (index == 0) { return {type: "tr", list: can.core.List(head, function(head) { return {text: [head, "th"]} })} }
return {type: "tr", list: can.core.List(head, function(head, index) { if (index == 0) { return {text: [hour, "td"]} }
return {text: ["", "td"], list: can.core.List(hash[index-1+" "+hour], function(value) {
return can.onimport._task(can, msg, value)
})}
})}
})
}]).table
},
month: function(can, msg) {
},
months: function(can, msg) {
},
year: function(can, msg) {
},
long: function(can, msg) {
},
}, ["/plugin/local/team/miss.css"])
Volcanos("onaction", {help: "组件交互", list: [],
})
Volcanos("ondetail", {help: "菜单交互", list: ["prepare", "process", "finish", "cancel"],
})
Volcanos("onexport", {help: "导出数据", list: [],
})

View File

@ -51,7 +51,8 @@ Volcanos("onimport", {help: "导入数据", list: [], _init: function(can, msg,
item.setAttribute("draggable", true)
item.ondragstart = function(event) {can.drag = event.target}
item.ondragover = function(event) {event.preventDefault()}
item.ondrop = function(event) {event.preventDefault()
item.ondrop = function(event) {
event.preventDefault()
can.preview.insertBefore(can.drag, item)
}
})