mirror of
https://shylinux.com/x/volcanos
synced 2025-04-26 01:04:06 +08:00
add some
This commit is contained in:
parent
83924c5520
commit
4068d72b80
1
const.js
1
const.js
@ -107,6 +107,7 @@ var web = {CHAT: "chat",
|
||||
TEAM_PLAN: "web.team.plan",
|
||||
}
|
||||
var aaa = {
|
||||
SESS: "sess",
|
||||
USER: "user",
|
||||
EMAIL: "email",
|
||||
LOGIN: "login", LOGOUT: "logout", INVITE: "invite", TOKEN: "token",
|
||||
|
10
frame.js
10
frame.js
@ -229,8 +229,10 @@ Volcanos(chat.ONAPPEND, {_init: function(can, meta, list, cb, target, field) {
|
||||
can.onmotion.clear(can, can._option), can.onappend._option(can, {inputs: can.page.inputs(can, sub.onimport.list, html.TEXT) })
|
||||
}
|
||||
can.core.CallFunc([sub, chat.ONIMPORT, chat._INIT], {can: sub, msg: msg, cb: function(msg) {
|
||||
action === false || can.onmotion.clear(can, can._action), sub.onappend._action(sub, can.Conf(ice.MSG_ACTION)||msg.Option(ice.MSG_ACTION), action||can._action)
|
||||
action === false || sub.onappend._status(sub, sub.onexport&&sub.onexport.list||msg.Option(ice.MSG_STATUS)), can.user.isMobile || sub.onappend.tools(sub, msg)
|
||||
if (action !== false) {
|
||||
can.onmotion.clear(can, can._action), sub.onappend._action(sub, can.Conf(ice.MSG_ACTION)||msg.Option(ice.MSG_ACTION), action||can._action)
|
||||
sub.onappend._status(sub, sub.onexport&&sub.onexport.list||msg.Option(ice.MSG_STATUS)), can.user.isMobile || sub.onappend.tools(sub, msg)
|
||||
}
|
||||
can.onappend.style(sub, sub.Conf(ctx.STYLE)), can.onmotion.story.auto(can, can._output)
|
||||
if (can.onimport.size) { if (can.isFullMode() || can.isCmdMode()) { can.ConfHeight(can.page.height()), can.ConfWidth(can.page.width()) }
|
||||
can.onimport.size(can, can.ConfHeight(), can.ConfWidth(), can.Conf("_auto"), can.Mode()), can.onexport.output(sub, msg)
|
||||
@ -248,7 +250,7 @@ Volcanos(chat.ONAPPEND, {_init: function(can, meta, list, cb, target, field) {
|
||||
},
|
||||
|
||||
field: function(can, type, item, target) { type = type||html.STORY, item = item||{}
|
||||
var name = can.core.Split(item.nick||item.name||"").pop()||""; name = can.core.Keys(item.space, name)
|
||||
var name = can.core.Split(item.nick||item.name||"").pop()||""; can.base.isIn(name, "server", "client", "studio") && (name = (item.index||"").split(".").slice(-2).join(".")), name = can.core.Keys(item.space, name)
|
||||
var title = item.help && item.help != name && !can.user.isEnglish(can)? name+"("+can.core.Split(item.help)[0]+")": name
|
||||
return can.page.Append(can, target||can._output, [{view: [type, html.FIELDSET], list: [{type: html.LEGEND, list: [{icon: item.icon}, {text: title}]}, {view: [html.OPTION, html.FORM]}, html.ACTION, html.OUTPUT, html.STATUS]}])
|
||||
},
|
||||
@ -371,7 +373,7 @@ Volcanos(chat.ONAPPEND, {_init: function(can, meta, list, cb, target, field) {
|
||||
if (item.index) { item._index = count++, ui.size[item._index] = item.height||item.width
|
||||
can.onappend.plugin(can, item, function(sub) { can._plugins = (can._plugins||[]).concat([sub])
|
||||
item.layout = function(height, width) { sub.onimport.size(sub, height, width) }
|
||||
}, target, ui[item._index] = can.onappend.field(can, item.type, {name: item.index.split(nfs.PT).pop(), help: item.help}, target)._target)
|
||||
}, target, ui[item._index] = can.onappend.field(can, item.type, {index: item.index, name: item.index.split(nfs.PT).pop(), help: item.help}, target)._target)
|
||||
} else { can.page.Append(can, target, [item]) }
|
||||
}
|
||||
}); return list } ui.list = append(target, type, list||[html.PROJECT, [[html.CONTENT, html.PROFILE], html.DISPLAY]])
|
||||
|
155
index.css
155
index.css
@ -1,4 +1,159 @@
|
||||
body {
|
||||
--ui-white: #fff;
|
||||
--ui-white-p: 255,255,255;
|
||||
--ui-black: #101828;
|
||||
--ui-black-p: 16,24,40;
|
||||
--ui-red-1: #fff1f0;
|
||||
--ui-red-2: #ffccc7;
|
||||
--ui-red-3: #ffa39e;
|
||||
--ui-red-4: #ff7875;
|
||||
--ui-red-5: #ff4d4f;
|
||||
--ui-red-5-p: 255,77,79;
|
||||
--ui-red-base: #f5222d;
|
||||
--ui-red-6: #f5222d;
|
||||
--ui-red-7: #cf1322;
|
||||
--ui-red-7-p: 207,19,34;
|
||||
--ui-red-8: #a8071a;
|
||||
--ui-red-9: #820014;
|
||||
--ui-red-10: #5c0011;
|
||||
--ui-yellow-1: #feffe6;
|
||||
--ui-yellow-2: #ffffb8;
|
||||
--ui-yellow-3: #fffb8f;
|
||||
--ui-yellow-4: #fff566;
|
||||
--ui-yellow-5: #ffec3d;
|
||||
--ui-yellow-base: #fadb14;
|
||||
--ui-yellow-6: #fadb14;
|
||||
--ui-yellow-7: #d4b106;
|
||||
--ui-yellow-8: #ad8b00;
|
||||
--ui-yellow-9: #876800;
|
||||
--ui-yellow-10: #614700;
|
||||
--ui-green-1: #e8f5e9;
|
||||
--ui-green-2: #c8e6c9;
|
||||
--ui-green-3: #a5d6a7;
|
||||
--ui-green-4: #81c784;
|
||||
--ui-green-5: #66bb6a;
|
||||
--ui-green-base: #4caf50;
|
||||
--ui-green-6: #4caf50;
|
||||
--ui-green-6-p: 76,175,80;
|
||||
--ui-green-7: #43a047;
|
||||
--ui-green-8: #388e3c;
|
||||
--ui-green-9: #2e7d32;
|
||||
--ui-green-10: #1b5e20;
|
||||
--ui-cyan-1: #e6fffb;
|
||||
--ui-cyan-2: #b5f5ec;
|
||||
--ui-cyan-3: #87e8de;
|
||||
--ui-cyan-4: #5cdbd3;
|
||||
--ui-cyan-5: #36cfc9;
|
||||
--ui-cyan-base: #13c2c2;
|
||||
--ui-cyan-6: #13c2c2;
|
||||
--ui-cyan-7: #08979c;
|
||||
--ui-cyan-8: #006d75;
|
||||
--ui-cyan-9: #00474f;
|
||||
--ui-cyan-10: #002329;
|
||||
--ui-blue-1: #e6f7ff;
|
||||
--ui-blue-2: #bae7ff;
|
||||
--ui-blue-3: #91d5ff;
|
||||
--ui-blue-4: #69c0ff;
|
||||
--ui-blue-5: #40a9ff;
|
||||
--ui-blue-base: #1890ff;
|
||||
--ui-blue-6: #1890ff;
|
||||
--ui-blue-6-p: 24,144,255;
|
||||
--ui-blue-7: #096dd9;
|
||||
--ui-blue-8: #0050b3;
|
||||
--ui-blue-9: #003a8c;
|
||||
--ui-blue-10: #002766;
|
||||
--ui-purple-1: #f4f1fd;
|
||||
--ui-purple-1-p: 244,241,253;
|
||||
--ui-purple-2: #e5ddfb;
|
||||
--ui-purple-3: #d1c3f8;
|
||||
--ui-purple-4: #bba7f4;
|
||||
--ui-purple-5: #9e81f0;
|
||||
--ui-purple-base: #9373ee;
|
||||
--ui-purple-6: #9373ee;
|
||||
--ui-purple-6-p: 147,115,238;
|
||||
--ui-purple-7: #7d62ca;
|
||||
--ui-purple-8: #6852a9;
|
||||
--ui-purple-9: #544288;
|
||||
--ui-purple-10: #42346b;
|
||||
--ui-magenta-1: #fff0f6;
|
||||
--ui-magenta-2: #ffd6e7;
|
||||
--ui-magenta-3: #ffadd2;
|
||||
--ui-magenta-4: #ff85c0;
|
||||
--ui-magenta-5: #f759ab;
|
||||
--ui-magenta-base: #eb2f96;
|
||||
--ui-magenta-6: #eb2f96;
|
||||
--ui-magenta-7: #c41d7f;
|
||||
--ui-magenta-8: #9e1068;
|
||||
--ui-magenta-9: #780650;
|
||||
--ui-magenta-10: #520339;
|
||||
--ui-pink-base: #eb2f96;
|
||||
--ui-pink-1: #fff0f6;
|
||||
--ui-pink-2: #ffd6e7;
|
||||
--ui-pink-3: #ffadd2;
|
||||
--ui-pink-4: #ff85c0;
|
||||
--ui-pink-5: #f759ab;
|
||||
--ui-pink-6: #eb2f96;
|
||||
--ui-pink-7: #c41d7f;
|
||||
--ui-pink-8: #9e1068;
|
||||
--ui-pink-9: #780650;
|
||||
--ui-pink-10: #520339;
|
||||
--ui-orange-1: #fff7e6;
|
||||
--ui-orange-2: #ffe7ba;
|
||||
--ui-orange-3: #ffd591;
|
||||
--ui-orange-4: #ffc069;
|
||||
--ui-orange-5: #ffa940;
|
||||
--ui-orange-base: #fa8c16;
|
||||
--ui-orange-6: #fa8c16;
|
||||
--ui-orange-7: #d46b08;
|
||||
--ui-orange-8: #ad4e00;
|
||||
--ui-orange-9: #873800;
|
||||
--ui-orange-10: #612500;
|
||||
--ui-volcano-1: #fff2e8;
|
||||
--ui-volcano-2: #ffd8bf;
|
||||
--ui-volcano-3: #ffbb96;
|
||||
--ui-volcano-4: #ff9c6e;
|
||||
--ui-volcano-5: #ff7a45;
|
||||
--ui-volcano-base: #fa541c;
|
||||
--ui-volcano-6: #fa541c;
|
||||
--ui-volcano-7: #d4380d;
|
||||
--ui-volcano-8: #ad2102;
|
||||
--ui-volcano-9: #871400;
|
||||
--ui-volcano-10: #610b00;
|
||||
--ui-geekblue-1: #f0f5ff;
|
||||
--ui-geekblue-2: #d6e4ff;
|
||||
--ui-geekblue-3: #adc6ff;
|
||||
--ui-geekblue-4: #85a5ff;
|
||||
--ui-geekblue-5: #597ef7;
|
||||
--ui-geekblue-base: #2f54eb;
|
||||
--ui-geekblue-6: #2f54eb;
|
||||
--ui-geekblue-7: #1d39c4;
|
||||
--ui-geekblue-8: #10239e;
|
||||
--ui-geekblue-9: #061178;
|
||||
--ui-geekblue-10: #030852;
|
||||
--ui-lime-1: #fcffe6;
|
||||
--ui-lime-2: #f4ffb8;
|
||||
--ui-lime-3: #eaff8f;
|
||||
--ui-lime-4: #d3f261;
|
||||
--ui-lime-5: #bae637;
|
||||
--ui-lime-base: #a0d911;
|
||||
--ui-lime-6: #a0d911;
|
||||
--ui-lime-7: #7cb305;
|
||||
--ui-lime-8: #5b8c00;
|
||||
--ui-lime-9: #3f6600;
|
||||
--ui-lime-10: #254000;
|
||||
--ui-gold-1: #fffbe6;
|
||||
--ui-gold-2: #fff1b8;
|
||||
--ui-gold-3: #ffe58f;
|
||||
--ui-gold-4: #ffd666;
|
||||
--ui-gold-5: #ffc53d;
|
||||
--ui-gold-base: #faad14;
|
||||
--ui-gold-6: #faad14;
|
||||
--ui-gold-6-p: 250,173,20;
|
||||
--ui-gold-7: #d48806;
|
||||
--ui-gold-8: #ad6800;
|
||||
--ui-gold-9: #874d00;
|
||||
--ui-gold-10: #613400;
|
||||
|
||||
--body-bg-color:black; --body-fg-color:silver;
|
||||
--danger-bg-color:red; --danger-fg-color:white;
|
||||
--notice-bg-color:blue; --notice-fg-color:white;
|
||||
|
11
lib/base.js
11
lib/base.js
@ -117,7 +117,16 @@ Volcanos("base", {
|
||||
if (arg[i] && str.replace) { while (str.indexOf(arg[i]) > -1) { str = str.replace(arg[i], arg[i+1]) } }
|
||||
} return str },
|
||||
contains: function(str) { var arg = arguments; for (var i = 1; i < arg.length; i++) { if (!arg[i] || str.indexOf(arg[i]) > -1) { return true } } },
|
||||
beginWith: function(str) { for (var i = 1; i < arguments.length; i++) { if (typeof str == code.STRING && str.trim().indexOf(arguments[i]) == 0) { return true } } },
|
||||
beginWith: function(str) {
|
||||
for (var i = 1; i < arguments.length; i++) {
|
||||
if (typeof str == code.STRING && str.trim().indexOf(arguments[i]) == 0) { return true }
|
||||
if (typeof str == code.OBJECT) { var begin = true
|
||||
for (var j = 0; j < arguments[i].length; j++) {
|
||||
if (str[j] != arguments[i][j]) { begin = false; break }
|
||||
} if (begin) { return true }
|
||||
}
|
||||
}
|
||||
},
|
||||
endWith: function(str) { var arg = arguments; for (var i = 1; i < arg.length; i++) { if (typeof str == code.STRING && str.lastIndexOf(arg[i]) > 0 && str.lastIndexOf(arg[i]) + arg[i].length == str.length) { return true } } },
|
||||
trimPrefix: function(str, pre) { if (typeof str != code.STRING) { return str } var arg = arguments, callee = arg.callee
|
||||
if (arg.length > 2) { for (var i = 1; i < arg.length; i++) { str = callee(str, arg[i]) } return str }
|
||||
|
@ -195,7 +195,10 @@ Volcanos("misc", {
|
||||
},
|
||||
sessionStorage: function(can, key, value) {
|
||||
if (can.base.isUndefined(key)) { var res = {}; can.core.Item(sessionStorage, function(name, value) { can.base.isFunc(value) || name == "length" || (res[name] = value) }); return res }
|
||||
if (!can.base.isUndefined(value)) { if (value === "") { return sessionStorage.removeItem(key) } sessionStorage.setItem(key, value) } return can.base.Obj(sessionStorage.getItem(key))
|
||||
if (can.base.isArray(key)) { key = key.join(":") }
|
||||
if (!can.base.isUndefined(value)) {
|
||||
if (value === "") { return sessionStorage.removeItem(key) } sessionStorage.setItem(key, value)
|
||||
} return can.base.Obj(sessionStorage.getItem(key))
|
||||
},
|
||||
Log: function() { var args = this._args("", arguments)
|
||||
if (arguments[0].indexOf && arguments[0].indexOf("on") == 0) { args[1] = this.FileLine((arguments[0] == "onremote"? 4: 2)+this._skip) }
|
||||
|
@ -178,7 +178,7 @@ Volcanos("page", {
|
||||
can.page.Append(can, ui.thead, [{data: {dataset: {index: -1}}, th: can.core.List(list, function(key) { if (key[0] != "_") { return key } }) }])
|
||||
can.page.Append(can, ui.tbody, can.core.List(msg.Table(), function(item, index, array) {
|
||||
return {dataset: {index: index}, className: item["status"], td: can.core.List(list, function(key) { if (key[0] != "_") { return cb(can.page.Color(item[key]).trim(), key, index, item, array) } }) }
|
||||
})); return can.page.OrderTable(can, ui.table)
|
||||
})); return can.page.OrderTable(can, ui._target)
|
||||
},
|
||||
OrderTable: function(can, table) { can.page.Select(can, table, html.TH, function(th, index) { th.onclick = function(event) { var dataset = event.target.dataset
|
||||
can.page.RangeTable(can, table, index, (dataset["asc"] = (dataset["asc"] == "1") ? 0: 1) == "1")
|
||||
|
@ -123,7 +123,8 @@ Volcanos("user", {
|
||||
meta = meta||can.ondetail||can.onaction||{}, list = can.base.getValid(list, meta.list, can.core.Item(meta)); if (!list || list.length == 0) { return }
|
||||
function click(event, button) { can.misc.Event(event, can, function() { can.onkeymap.prevent(event), can.request(event, {action: button})
|
||||
meta[button]? can.core.CallFunc([meta, button], {event: event, can: can, msg: msg, button: button}): can.base.isFunc(cb)? cb(event, button, meta, carte):
|
||||
can.onaction && can.onaction[button] && can.core.CallFunc([can.onaction, button], [event, can, button])
|
||||
can.Update(event, [ctx.ACTION, button])
|
||||
// can.onaction && can.onaction[button] && can.core.CallFunc([can.onaction, button], [event, can, button])
|
||||
// meta._style == nfs.PATH || can.onmotion.clearCarte(can)
|
||||
}) }
|
||||
var ui = can.page.Append(can, document.body, [{view: [[chat.CARTE, meta._style||can.base.replaceAll(can._index||"", nfs.PT, lex.SP)||"", chat.FLOAT]], list: can.core.List(list, function(item, index) {
|
||||
@ -135,7 +136,7 @@ Volcanos("user", {
|
||||
function subs(event) { var sub = can.user.carte(event, can, meta, item.slice(1), cb||function(event, button) {
|
||||
can.onimport && can.onimport[item[0]] && can.onimport[item[0]](can, button)
|
||||
}, carte, trans); can.onlayout.figure(event, can, sub._target, true), carte._sub = sub }
|
||||
return item === ""? /* 0.space */ {type: html.HR}: can.base.isString(item)||can.base.isNumber(item)? /* 1.string */ {view: [html.ITEM, html.DIV, meta._style == ice.CMD? item: can.user.trans(can, item, trans)], onclick: function(event) { click(event, item) }, onmouseenter: function(event) { remove_sub(carte) } }:
|
||||
return item === ""? /* 0.space */ {type: html.HR}: can.base.isString(item)||can.base.isNumber(item)? /* 1.string */ {view: [[html.ITEM, item], html.DIV, meta._style == ice.CMD? item: can.user.trans(can, item, trans)], onclick: function(event) { click(event, item) }, onmouseenter: function(event) { remove_sub(carte) } }:
|
||||
can.base.isArray(item)? /* 2.array */ {view: html.ITEM, list: [{text: can.user.trans(can, item[0], trans)}, {text: [lex.SP+can.page.unicode.next, "", [html.ICON, "next"]]}], onmouseenter: subs, onclick: subs}: /* 3.object */ item
|
||||
})}]); can.onkeymap.prevent(event), can.page.Select(can, ui._target, html.IMG, function(target) { target.onload = function() { can.onlayout.figure(event, can, ui._target) } })
|
||||
var carte = {_target: ui._target, _parent: parent, layout: can.onlayout.figure(event, can, ui._target, false, 200), close: function() { can.page.Remove(can, ui._target) }}
|
||||
|
@ -25,7 +25,7 @@ fieldset.inner>div.output>div.project>div.zone div.action>div.item>span.delete {
|
||||
fieldset.inner>div.output>div.project>div.zone fieldset.plug { position:static; }
|
||||
fieldset.inner>div.output>div.layout>div.tabs { font-size:14px; display:none; }
|
||||
fieldset.inner>div.output>div.layout>div.path { font-size:14px; display:none; }
|
||||
fieldset.inner>div.output>div.layout>div.layout div.content * { font-family:monospace; font-size:14px; outline:none; }
|
||||
fieldset.inner>div.output>div.layout>div.layout>div.content * { font-family:monospace; font-size:14px; outline:none; }
|
||||
fieldset.inner>div.output>div.layout>div.layout>div.profile { max-width:unset; box-shadow:var(--box-shadow); }
|
||||
fieldset.inner>div.output>div.layout>div.layout>div.profile h1 { text-align:left; padding:10px 0; margin:20px 0; border-bottom:var(--box-border); }
|
||||
fieldset.inner>div.output>div.layout>div.layout>div.profile h2 { padding:10px 0; margin:20px 0; border-bottom:var(--box-border); }
|
||||
|
@ -334,6 +334,9 @@ Volcanos(chat.ONSYNTAX, {_init: function(can, msg, cb) { var key = can.onexport.
|
||||
p.keyword = p.keyword||{}, can.core.Item(can.onsyntax[from].keyword, function(key, value) { p.keyword[key] = p.keyword[key] || value })
|
||||
can.core.Item(can.onsyntax[from], function(key, value) { p[key] = p[key] || value })
|
||||
})
|
||||
p && p.prepare && can.core.ItemForm(p.prepare, function(value, index, key) {
|
||||
p.keyword = p.keyword||{}, p.keyword[value] = key
|
||||
})
|
||||
if (!content._root && can.db.history.length > 1) { content = can.ui.content = can.page.insertBefore(can, [{view: html.CONTENT, style: {width: can.ui.content.offsetWidth}}], can.ui._profile), content._cache_key = key }
|
||||
content._max = 0, content._msg = msg, msg.__content = content, can.page.Appends(can, content, [{view: ["tips", "", msg.Option(nfs.FILE)]}])
|
||||
if (msg.Length() > 0) { can.onsyntax._change(can, msg), can.onaction.rerankLine(can, "tr.line:not(.delete)>td.line")
|
||||
|
@ -62,11 +62,8 @@ Volcanos(chat.ONACTION, {list: [
|
||||
"生成脚本", "生成图片",
|
||||
["视图", "参数", "操作", "状态", "专注", "项目", "预览", "演示"],
|
||||
["数据", "保存参数", "清空参数", "复制数据", "下载数据", "清空数据", "删除工具"],
|
||||
["调试", "打包页面", "查看文档", "查看脚本", "查看源码", "_config", "查看日志"],
|
||||
["调试", "打包页面", "查看文档", "查看脚本", "查看源码", "查看配置", "查看日志"],
|
||||
],
|
||||
_trans: {
|
||||
"_config": "查看配置",
|
||||
},
|
||||
_engine: function(event, can, button) { can.Update(event, [ctx.ACTION, button].concat(can.Input())) },
|
||||
_switch: function(can, sub, mode, save, load) {
|
||||
if (can.page.ClassList.neg(can, can._target, mode)) {
|
||||
@ -124,8 +121,8 @@ Volcanos(chat.ONACTION, {list: [
|
||||
"打包页面": function(event, can) { can.onengine.signal(can, "onwebpack", can.request(event)) },
|
||||
"查看文档": function(event, can) { can.onengine.signal(can, "ondebugs", can.request(event, {action: ice.HELP, index: can.Conf(ctx.INDEX)})) },
|
||||
"查看脚本": function(event, can) { can.onengine.signal(can, "ondebugs", can.request(event, {action: nfs.SCRIPT, index: can.Conf(ctx.INDEX)})) },
|
||||
"查看源码": function(event, can) { can.onengine.signal(can, "ondebugs", can.request(event, {action: nfs.SOURCE, index: can.Conf(ctx.INDEX)})) },
|
||||
"_config": function(event, can) { can.onengine.signal(can, "ondebugs", can.requestPodCmd(event)) },
|
||||
"查看源码": function(event, can) { can.request(event).Option(ctx.ACTION, nfs.SOURCE), can.onengine.signal(can, "ondebugs", can.requestPodCmd(event)) },
|
||||
"查看配置": function(event, can) { can.request(event).Option(ctx.ACTION, ctx.CONFIG), can.onengine.signal(can, "ondebugs", can.requestPodCmd(event)) },
|
||||
"查看日志": function(event, can) { var sub = can.sub; sub.onimport.tool(sub, ["can.debug"], function(sub) { sub.select() }) },
|
||||
|
||||
refresh: function(event, can) { can.onimport.size(can, can.ConfHeight(), can.ConfWidth(), true, can.Mode()) },
|
||||
|
@ -1,6 +1,5 @@
|
||||
Volcanos(chat.ONIMPORT, {_init: function(can, msg, target) { can.onmotion.clear(can, target)
|
||||
if (can.Mode() == html.ZONE) { return can.onimport._vimer_zone(can, msg, target) }
|
||||
|
||||
can.sup.onimport.size(can.sup, can.sup.ConfHeight(), can.sup.ConfWidth(), true)
|
||||
var cbs = can.onimport[can.Conf(ctx.STYLE)||msg.Option(ctx.STYLE)]; if (can.base.isFunc(cbs)) {
|
||||
can.onappend.style(can, can._args[ctx.STYLE], target), can.core.CallFunc(cbs, {can: can, msg: msg, target: target})
|
||||
@ -105,8 +104,9 @@ Volcanos(chat.ONIMPORT, {_init: function(can, msg, target) { can.onmotion.clear(
|
||||
}}, "", target)
|
||||
},
|
||||
item: function(can, item, cb, cbs, target) { target = target||(can.ui && can.ui.project? can.ui.project: can._output)
|
||||
var ui = can.page.Append(can, target, [{view: html.ITEM, list: [{icon: item.icon}, {text: item.nick||item.name||item.zone}], title: item.title, onclick: function(event) { can.onmotion.select(can, target, html.DIV_ITEM, event.target)
|
||||
cb(event, event.target, event.target._list && can.onmotion.toggle(can, event.target._list))
|
||||
var ui = can.page.Append(can, target, [{view: html.ITEM, list: [{icon: item.icon}, {text: item.nick||item.name||item.zone}], title: item.title, onclick: function(event) {
|
||||
can.onmotion.select(can, target, html.DIV_ITEM, event.currentTarget)
|
||||
cb(event, event.currentTarget, event.currentTarget._list && can.onmotion.toggle(can, event.currentTarget._list))
|
||||
}, oncontextmenu: function(event) {
|
||||
if (can.base.isFunc(cbs)) { var menu = cbs(event, ui._target); if (menu) { can.user.carteRight(event, can, menu.meta, menu.list, menu) } return }
|
||||
can.user.carteItem(event, can, item)
|
||||
@ -115,7 +115,7 @@ Volcanos(chat.ONIMPORT, {_init: function(can, msg, target) { can.onmotion.clear(
|
||||
},
|
||||
itemlist: function(can, list, cb, cbs, target) {
|
||||
return target._list = can.page.insertBefore(can, [{view: html.LIST, list: can.core.List(list, function(item) {
|
||||
return {view: [html.ITEM, html.DIV, item.name], onclick: function(event) {
|
||||
return {view: [html.ITEM, html.DIV, item.nick||item.name], onclick: function(event) {
|
||||
cb(event, item, event.target._list && can.page.ClassList.neg(can, event.target._list, html.HIDE))
|
||||
}, oncontextmenu: function(event) { if (can.base.isFunc(cbs)) { var menu = cbs(event, ui._target); if (menu) { can.user.carteRight(event, can, menu.meta, menu.list, menu) } } }}
|
||||
}) }], target.nextSibling, target.parentNode)
|
||||
@ -133,11 +133,13 @@ Volcanos(chat.ONIMPORT, {_init: function(can, msg, target) { can.onmotion.clear(
|
||||
var next = target.nextSibling||target.previousSibling; if (!next) { return } next.click()
|
||||
} cbs && cbs(tabs), can.page.Remove(can, target)
|
||||
}
|
||||
return {view: html.TABS, title: tabs.text, list: [{text: [tabs.name, html.SPAN, mdb.NAME]}, {icon: mdb.DELETE, onclick: function(event) {
|
||||
return {view: html.TABS, title: tabs.title||tabs.text, list: [{text: [tabs.nick||tabs.name, html.SPAN, mdb.NAME]}, {icon: mdb.DELETE, onclick: function(event) {
|
||||
close(tabs._target), can.onkeymap.prevent(event)
|
||||
}}], onclick: function(event) {
|
||||
can.onmotion.select(can, action, html.DIV_TABS, tabs._target), can.base.isFunc(cb) && cb(event, tabs)
|
||||
}, _init: function(target) { var menu = tabs._menu||shy(); tabs._target = target, target._close = function() { close(target) }
|
||||
}, _init: function(target) { var menu = tabs._menu||shy(function(event, button) { can.Update(event, [ctx.ACTION, button]) })
|
||||
target._item = tabs, tabs._target = target, target._close = function() { close(target) }
|
||||
var action = can.page.parseAction(can, tabs)
|
||||
can.page.Modify(can, target, {draggable: true, _close: function() { close(target) },
|
||||
ondragstart: function(event) { action._drop = function(before) { before.parentNode == action && action.insertBefore(target, before) } },
|
||||
ondragover: function(event) { event.preventDefault(), action._drop(event.target) },
|
||||
@ -147,7 +149,9 @@ Volcanos(chat.ONIMPORT, {_init: function(can, msg, target) { can.onmotion.clear(
|
||||
"Rename Tabs", function(event) { can.user.input(event, can, [mdb.NAME], function(list) {
|
||||
can.page.Select(can, target, "span.name", function(target) { can.page.Modify(can, target, list[0]||tabs.name) })
|
||||
}) }, menu.meta,
|
||||
), ["Close", "Close Other", "Rename Tabs", ""].concat(can.base.getValid(menu.list, can.core.Item(menu.meta))), function(event, button, meta) { (meta[button]||menu)(event, button, meta) }) },
|
||||
), ["Close", "Close Other", "Rename Tabs", ""].concat(can.base.getValid(menu.list, can.core.Item(menu.meta)), action), function(event, button, meta) {
|
||||
(meta[button]||menu)(can.request(event, tabs), button, meta)
|
||||
}) },
|
||||
}), target.click()
|
||||
}}
|
||||
}))._target },
|
||||
@ -195,8 +199,5 @@ Volcanos(chat.ONEXPORT, {
|
||||
},
|
||||
board: function(can) { var msg = can._msg; return msg.Result() },
|
||||
session: function(can, key, value) { return can.misc[can.user.isWebview? "localStorage": "sessionStorage"](can, [can.Conf(ctx.INDEX), key, location.pathname].join(":"), value == ""? "": JSON.stringify(value)) },
|
||||
action_value: function(can, key, def) { var value = can.Action(key)
|
||||
if (can.base.isIn(value, ice.AUTO, key)) { value = def }
|
||||
return value
|
||||
},
|
||||
action_value: function(can, key, def) { var value = can.Action(key); return can.base.isIn(value, ice.AUTO, key)? def: value },
|
||||
})
|
||||
|
2
proto.js
2
proto.js
@ -101,6 +101,8 @@ var Volcanos = shy({
|
||||
ConfDefault: function(value) { can.core.Item(value, function(k, v) { can.Conf(k) || can.Conf(k, v) }) },
|
||||
ConfHeight: function(value) { return can.Conf(html.HEIGHT, value) },
|
||||
ConfWidth: function(value) { return can.Conf(html.WIDTH, value) },
|
||||
ConfSpace: function() { return can.Conf(web.SPACE) },
|
||||
ConfIndex: function() { return can.Conf(ctx.INDEX) },
|
||||
Conf: function(key, value) { var res = can._conf
|
||||
for (var i = 0; i < arguments.length; i += 2) {
|
||||
if (typeof key == code.OBJECT) { res = can.core.Value(can._conf, arguments[i]), i--; continue }
|
||||
|
Loading…
x
Reference in New Issue
Block a user