forked from x/volcanos
opt dir
This commit is contained in:
parent
62d4e73cc9
commit
ebc3654613
54
README.md
54
README.md
@ -1,6 +1,6 @@
|
||||
# Volcanos.js
|
||||
# volcanos
|
||||
|
||||
volcanos是一个前端框架,通过模块化、配置化提升项目的复用性、灵活性。
|
||||
volcanos是一个前端框架,通过模块化、共享化、自动化、快速的创建、共享应用程序、数据。
|
||||
|
||||
## 1 原型 proto.js
|
||||
### 1.1 ID 生成器
|
||||
@ -20,27 +20,33 @@ volcanos是一个前端框架,通过模块化、配置化提升项目的复用
|
||||
### 2.4 Inputs 控件
|
||||
### 2.5 Output 组件
|
||||
|
||||
## 3 核心模块 lib/
|
||||
### 3.1 base 模块
|
||||
### 3.2 core 模块
|
||||
### 3.3 misc 模块
|
||||
### 3.4 page 模块
|
||||
### 3.5 user 模块
|
||||
## 3 工具模块 lib/
|
||||
### 3.1 数据类型 base.js
|
||||
### 3.2 数据结构 core.js
|
||||
### 3.3 后端通信 misc.js
|
||||
### 3.4 网页操作 page.js
|
||||
### 3.5 用户交互 user.js
|
||||
|
||||
## 4 事件模块 pane/
|
||||
### 4.1 onimport 模块
|
||||
### 4.2 onaction 模块
|
||||
### 4.3 onchoice 模块
|
||||
### 4.4 ondetail 模块
|
||||
### 4.5 onexport 模块
|
||||
## 4 网页模块 page/
|
||||
### 4.1 应用页面 index.html
|
||||
### 4.2 共享页面 share.html
|
||||
|
||||
## 5 配置 order.js
|
||||
### 5.1 Header
|
||||
### 5.2 Ocean
|
||||
### 5.3 River
|
||||
### 5.4 Target
|
||||
### 5.5 Source
|
||||
### 5.6 Action
|
||||
### 5.7 Storm
|
||||
### 5.8 Steam
|
||||
### 5.9 Footer
|
||||
## 4 面板模块 pane/
|
||||
### 4.1 标题栏 Header.js
|
||||
### 4.2 用户列表 Ocean.js
|
||||
### 4.3 群组列表 River.js
|
||||
### 4.4 工作台 Action.js
|
||||
### 4.5 应用列表 Storm.js
|
||||
### 4.6 设备列表 Steam.js
|
||||
### 4.7 状态栏 Footer.js
|
||||
|
||||
## 5 插件模块 plugin/
|
||||
### 5.1 插件模块 state.js
|
||||
### 5.2 输入模块 input.js
|
||||
### 5.3 输出模块 table.js
|
||||
### 5.4 输入插件 input/
|
||||
### 5.5 输出插件 story/
|
||||
### 5.6 其它模块 local/
|
||||
|
||||
## 6 客户端 client/
|
||||
### 6.1 小程序 mp/
|
||||
|
4
frame.js
4
frame.js
@ -33,7 +33,7 @@ var can = Volcanos("chat", {
|
||||
},
|
||||
|
||||
run: function(event, option, cmds, cb) {can.misc.Run(event, page, option, cmds, cb)},
|
||||
}, Config.libs.concat(["page/"+name, "page/"+topic+".css"]), function(page) {
|
||||
}, Config.libs.concat(["page/"+name, "page/topic/"+topic+".css"]), function(page) {
|
||||
// 加载配置
|
||||
page.onimport._init && page.onimport._init(page, page.Conf(conf), body)
|
||||
|
||||
@ -128,7 +128,7 @@ var can = Volcanos("chat", {
|
||||
can.run(event, pane.option.dataset, cmds, cb)
|
||||
return msg
|
||||
},
|
||||
}, Config.libs.concat(["pane/"+name]), function(pane) {can.Dream(document.head, "pane/"+name+".css")
|
||||
}, Config.libs.concat(["pane/"+(meta.path||"")+name]), function(pane) {can.Dream(document.head, "pane/"+(meta.path||"")+name+".css")
|
||||
pane.onimport._init && pane.onimport._init(pane, pane.Conf(meta), pane.output, pane.action, pane.option, field)
|
||||
typeof cb == "function" && cb(pane)
|
||||
}, meta)
|
||||
|
@ -59,7 +59,7 @@ Volcanos("misc", {help: "工具模块",
|
||||
return msg[key] = value, key
|
||||
})
|
||||
|
||||
msg._hand = true, can.misc.POST(can, msg, can.Conf("iceberg")+(msg.names||dataset.names||event.names||"").toLowerCase(), option, function(msg) {
|
||||
msg._hand = true, can.misc.POST(can, msg, can.Conf("iceberg")+(msg.name||dataset.name||event.name||"").toLowerCase(), option, function(msg) {
|
||||
typeof cb == "function" && cb(msg)
|
||||
}), delete(event.msg)
|
||||
}),
|
||||
|
@ -145,7 +145,7 @@ Volcanos("page", {help: "网页模块",
|
||||
|
||||
// 创建节点
|
||||
name = name || data.className || type || "";
|
||||
name && (data.name = data.name || item.name);
|
||||
!data.name && item.name && (data.name = item.name)
|
||||
var node = can.page.Create(can, type, data);
|
||||
value.last = node, value.first || (value.first = node), name && (value[name] = value[data.className||""] = value[type] = node);
|
||||
item.list && can.page.Append(can, node, item.list, value);
|
||||
@ -196,7 +196,7 @@ Volcanos("page", {help: "网页模块",
|
||||
AppendField: shy("添加插件", function(can, target, type, item) {
|
||||
typeof item.help == "string" && item.help.startsWith("[") && (item.help = JSON.parse(item.help))
|
||||
|
||||
var dataset = {}; item && item.name && (dataset.names = item.name);
|
||||
var dataset = {}; item && item.name && (dataset.name = item.name);
|
||||
var field = can.page.Append(can, target, [{view: [type, "fieldset"], list: [
|
||||
item.pos? undefined: {text: [(item.nick||item.name||"")+"("+((typeof item.help == "string"? item.help: item.help.length > 0 && item.help[0])||"")+")", "legend"]},
|
||||
{view: ["option", "form"], dataset: dataset, list: []},
|
||||
|
@ -2,16 +2,15 @@
|
||||
<head>
|
||||
<meta charset="utf-8">
|
||||
<meta name="viewport" content="width=device-width,initial-scale=0.7,user-scalable=no">
|
||||
<meta name="viewport" content="width=device-width,initial-scale=0.7,user-scalable=no">
|
||||
<title>volcanos</title>
|
||||
|
||||
<link rel="shortcut icon" type="image/ico" href="/static/volcanos/favicon.ico">
|
||||
<link rel="stylesheet" type="text/css" href="/static/volcanos/style.css">
|
||||
<link rel="shortcut icon" type="image/ico" href="favicon.ico">
|
||||
<link rel="stylesheet" type="text/css" href="style.css">
|
||||
</head>
|
||||
<body>
|
||||
<script src="/static/volcanos/page/index.js"></script>
|
||||
<script src="/static/volcanos/proto.js"></script>
|
||||
<script src="/static/volcanos/frame.js"></script>
|
||||
<script src="page/index.js"></script>
|
||||
<script src="proto.js"></script>
|
||||
<script src="frame.js"></script>
|
||||
</body>
|
||||
|
||||
|
||||
|
@ -1,37 +1,38 @@
|
||||
var Config = {iceberg: "/chat/", volcano: "/static/volcanos/",
|
||||
var Config = {iceberg: "/chat/", volcano: "",
|
||||
libs: ["lib/base", "lib/core", "lib/misc", "lib/page", "lib/user"],
|
||||
main: "chat", list: ["page/chat",
|
||||
"pane/Toast", "pane/Carte",
|
||||
"pane/Debug", "pane/Tutor", "pane/Favor", "pane/Login",
|
||||
main: "chat", list: [
|
||||
"page/chat",
|
||||
"pane/float/Toast", "pane/float/Carte",
|
||||
"pane/float/Tutor", "pane/float/Debug",
|
||||
"pane/float/Login", "pane/float/Favor",
|
||||
|
||||
"pane/Header",
|
||||
"pane/Ocean", "pane/River", "pane/Storm", "pane/Steam",
|
||||
"pane/River", "pane/Storm",
|
||||
"pane/Target", "pane/Source", "pane/Action",
|
||||
"pane/Ocean", "pane/Steam",
|
||||
"pane/Footer",
|
||||
|
||||
"plugin/state", "plugin/table", "plugin/input",
|
||||
"plugin/input/date", "plugin/input/key",
|
||||
], pane: [
|
||||
{group: "index", name: "Toast", pos: "dialog", duration: 3000},
|
||||
{group: "index", name: "Carte", pos: "dialog"},
|
||||
{group: "index", name: "Debug", pos: "dialog"},
|
||||
{group: "index", name: "Tutor", pos: "dialog"},
|
||||
{group: "index", name: "Favor", pos: "dialog"},
|
||||
{group: "index", name: "Login", pos: "dialog"},
|
||||
{group: "index", name: "Toast", path: "float/", pos: "dialog", duration: 3000},
|
||||
{group: "index", name: "Carte", path: "float/", pos: "dialog"},
|
||||
{group: "index", name: "Tutor", path: "float/", pos: "dialog"},
|
||||
{group: "index", name: "Debug", path: "float/", pos: "dialog"},
|
||||
{group: "index", name: "Login", path: "float/", pos: "dialog"},
|
||||
{group: "index", name: "Favor", path: "float/", pos: "dialog"},
|
||||
|
||||
{group: "index", name: "Header", pos: "head",
|
||||
title: "github.com/shylinux/context",
|
||||
state: ["time", "user", "link"],
|
||||
},
|
||||
{group: "index", name: "Ocean", pos: "dialog", def_name: "meet"},
|
||||
{group: "index", name: "Header", pos: "head", state: ["time", "user", "link"]},
|
||||
{group: "index", name: "River", pos: "left"},
|
||||
{group: "index", name: "Storm", pos: "right"},
|
||||
{group: "index", name: "Steam", pos: "dialog", def_name: "miss"},
|
||||
|
||||
{group: "index", name: "Target", pos: "top"},
|
||||
{group: "index", name: "Source", pos: "center"},
|
||||
{group: "index", name: "Action", pos: "bottom"},
|
||||
{group: "index", name: "Footer", pos: "foot", state: ["ntxt", "ncmd"], title: '<a href="mailto:shylinux@163.com">shylinux@163.com</a>'},
|
||||
|
||||
{group: "index", name: "Ocean", pos: "dialog", def_name: "meet"},
|
||||
{group: "index", name: "Steam", pos: "dialog", def_name: "miss"},
|
||||
{group: "index", name: "Footer", pos: "foot", state: ["ntxt", "ncmd"]},
|
||||
|
||||
], title: "volcanos", topic: "black", layout: {def: "工作", list: ["工作", "办公", "聊天"], size: {
|
||||
"最大": {head: 0, foot: 0, left: 0, right: 0, bottom: -1, center: 0, top: 0},
|
||||
|
@ -1,6 +1,8 @@
|
||||
var Config = {iceberg: "", volcano: "/static/volcanos/",
|
||||
libs: ["lib/base", "lib/core", "lib/misc", "lib/page", "lib/user"],
|
||||
main: "chat", list: [
|
||||
"pane/float/Toast", "pane/float/Carte",
|
||||
|
||||
"pane/Header",
|
||||
"pane/River", "pane/Storm",
|
||||
"pane/Target", "pane/Source", "pane/Action",
|
||||
|
Before Width: | Height: | Size: 6.7 KiB After Width: | Height: | Size: 6.7 KiB |
@ -13,6 +13,6 @@ Volcanos("onfigure", {help: "控件详情", list: [],
|
||||
});
|
||||
}},
|
||||
}, [
|
||||
"/plugin/github.com/shylinux/echarts/echarts.js",
|
||||
"/plugin/github.com/shylinux/echarts/china.js",
|
||||
"plugin/github.com/shylinux/echarts/echarts.js",
|
||||
"plugin/github.com/shylinux/echarts/china.js",
|
||||
])
|
||||
|
@ -126,7 +126,7 @@ Volcanos("onimport", {help: "导入数据", list: [],
|
||||
call(prefix.concat(list.list))
|
||||
return can.keys = [], can.Status(event, can.keys, "keys")
|
||||
},
|
||||
}, ["/plugin/local/wiki/draw.css"])
|
||||
}, ["plugin/local/wiki/draw.css"])
|
||||
Volcanos("onfigure", {help: "图形绘制", list: [],
|
||||
_spawn: function(sup, can) {can.sup = sup},
|
||||
_swell: function(can, sub) {
|
||||
@ -483,7 +483,7 @@ Volcanos("onfigure", {help: "图形绘制", list: [],
|
||||
return value.tagName + ": (" + value.points.baseVal.value + ")"
|
||||
},
|
||||
},
|
||||
}, Config.libs.concat(["/plugin/local/wiki/draw/heart"]))
|
||||
}, Config.libs.concat(["plugin/local/wiki/draw/heart"]))
|
||||
Volcanos("onaction", {help: "组件菜单", list: ["保存", "清空", "删除", "添加",
|
||||
["group", "svg"],
|
||||
["font-size", 12, 16, 18, 24, 32],
|
||||
|
@ -18,8 +18,8 @@ Volcanos("onimport", {help: "导入数据", list: [],
|
||||
}
|
||||
|
||||
// can.page.Append(can, action, [{type: "script", src: "https://cdn.bootcss.com/echarts/4.2.0-rc.2/echarts.js"}]);
|
||||
can.page.Append(can, output, [{include: ["/plugin/github.com/shylinux/echarts/echarts.js", function(event) {
|
||||
can.page.Append(can, output, [{include: ["/plugin/github.com/shylinux/echarts/china.js", function(event) {
|
||||
can.page.Append(can, output, [{include: ["plugin/github.com/shylinux/echarts/echarts.js", function(event) {
|
||||
can.page.Append(can, output, [{include: ["plugin/github.com/shylinux/echarts/china.js", function(event) {
|
||||
var china_chart = echarts.init(can.page.Append(can, output, [{type: "div", style: {width: "600px", height: "400px"}}]).last);
|
||||
var data = msg.Table()
|
||||
|
||||
|
@ -34,7 +34,7 @@ Volcanos("onimport", {help: "导入数据", list: [],
|
||||
})
|
||||
return typeof cb == "function" && cb(msg)
|
||||
},
|
||||
}, ["/plugin/local/wiki/word.css"])
|
||||
}, ["plugin/local/wiki/word.css"])
|
||||
Volcanos("onfigure", {help: "图形绘制", list: [],
|
||||
_spawn: function(sup, can) {can.sup = sup},
|
||||
_swell: function(can, sub) {},
|
||||
|
@ -16,7 +16,7 @@ Volcanos("onimport", {help: "导入数据", list: [],
|
||||
can.data = can.msg.Table()
|
||||
can.page.ClassList.add(can, can.ui.total, "status")
|
||||
|
||||
can.sub = can.Output(can, {}, "/plugin/wiki/draw", can.Event({}), function() {
|
||||
can.sub = can.Output(can, {}, "/plugin/local/wiki/draw", can.Event({}), function() {
|
||||
can.Action("width", 600)
|
||||
can.onaction["编辑"]({}, can)
|
||||
can.onaction["股价图"]({}, can)
|
||||
|
5
proto.js
5
proto.js
@ -76,8 +76,9 @@ function Volcanos(name, can, libs, cb, msg) { // 封装模块
|
||||
}
|
||||
|
||||
// 加载脚本
|
||||
can.Dream(document.body, !libs[0].endsWith("/") && libs[0].indexOf(".") == -1? libs[0]+".js": libs[0], function() {
|
||||
can._load(libs[0]), can.require(libs.slice(1), cb);
|
||||
can.Dream(libs[0].endsWith(".css")? document.head: document.body,
|
||||
!libs[0].endsWith("/") && libs[0].indexOf(".") == -1? libs[0]+".js": libs[0], function() {
|
||||
can._load(libs[0]), can.require(libs.slice(1), cb);
|
||||
})
|
||||
},
|
||||
Name: function() {return can._name.toLowerCase()},
|
||||
|
Loading…
x
Reference in New Issue
Block a user