1
0
mirror of https://shylinux.com/x/volcanos synced 2025-04-25 08:48:06 +08:00
volcanos/page.js
2019-12-08 19:24:15 +08:00

49 lines
2.2 KiB
JavaScript

Volcanos("page", {help: "网页模块",
ClassList: {
has: function(can, obj, key) {var list = obj.className? obj.className.split(" "): [];
for (var i = 1; i < arguments.length; i++) {
if (list.indexOf(arguments[i]) == -1) {return false}
}
return true
},
add: function(can, obj, key) {var list = obj.className? obj.className.split(" "): []
return obj.className = list.concat(can.core.List(arguments, function(value, index) {
return index > 0 && list.indexOf(value) == -1? value: undefined
})).join(" ")
},
del: function(can, obj, key) {var list = can.core.List(arguments, function(value, index) {return index > 0? value: undefined})
return obj.className = can.core.List(obj.className.split(" "), function(value) {
return list.indexOf(value) == -1? value: undefined
}).join(" ")
},
},
Display: function(text) {
if (text.startsWith("http")) {return "<a href='"+text+"' target='_blank'>"+text+"</a>"}
return text
},
Select: shy("选择器", function(can, obj, key, cb, interval, cbs) {
var item = obj && obj.querySelectorAll(key);
return can.core.List(item, cb, interval, cbs);
}),
Modify: shy("修改节点", function(can, target, value) {
if (typeof value == "string") {target.innerHTML = value}
return target
}),
Append: shy("添加节点", function(can, target, key, value) {
if (typeof key == "string") {var res = document.createElement(key);
return target.appendChild(res), can.page.Modify(can, res, value);
}
}),
AppendTable: shy("添加表格", function(can, target, msg, list) {
var table = can.page.Append(can, target, "table")
var tr = can.page.Append(can, table, "tr");
can.core.List(list, function(key) {can.page.Append(can, tr, "th", key)});
msg.Table(function(line) {var tr = can.page.Append(can, table, "tr");
can.core.List(list, function(key) {can.page.Append(can, tr, "td", can.page.Display(line[key]))});
})
return table
}),
})