mirror of
https://shylinux.com/x/volcanos
synced 2025-04-25 08:48:06 +08:00
add const.js
This commit is contained in:
parent
8659354723
commit
64956c0f00
291
const.js
Normal file
291
const.js
Normal file
@ -0,0 +1,291 @@
|
|||||||
|
var kit = {proto: function(sub, sup) { return sub.__proto__ = sup, sub },
|
||||||
|
Dict: function() { var res = {}, arg = arguments; for (var i = 0; i < arg.length; i += 2) { var key = arg[i]
|
||||||
|
if (typeof key == "object") { i--;
|
||||||
|
if (key.length == undefined) {
|
||||||
|
for (var k in key) { res[k] = key[k] }
|
||||||
|
} else {
|
||||||
|
for (var j = 0; j < key.length; j += 2) { res[key[j]] = key[j+1] }
|
||||||
|
}
|
||||||
|
} else if (typeof key == "string" && key) { res[key] = arg[i+1] }
|
||||||
|
} return res },
|
||||||
|
}
|
||||||
|
var ice = {
|
||||||
|
TB: "\t", SP: " ", DF: ":", EQ: "=", AT: "@", PS: "/", PT: ".", FS: ",", QS: "?", NL: "\n", LT: "<", GT: ">",
|
||||||
|
OK: "ok", TRUE: "true", FALSE: "false", SUCCESS: "success", FAILURE: "failure", PROCESS: "process",
|
||||||
|
|
||||||
|
HTTP: "http", HTML: "html",
|
||||||
|
HOME: "home", MAIN: "main",
|
||||||
|
LIST: "list", BACK: "back",
|
||||||
|
SHOW: "show", HIDE: "hide",
|
||||||
|
VIEW: "view", MODE: "mode",
|
||||||
|
COPY: "copy", HELP: "help",
|
||||||
|
AUTO: "auto", EXEC: "exec",
|
||||||
|
SHIP: "ship",
|
||||||
|
|
||||||
|
DEV: "dev", POD: "pod", CTX: "ctx", CMD: "cmd", ARG: "arg", OPT: "opt",
|
||||||
|
CAN: "can", MSG: "msg", RUN: "run", RES: "res", ERR: "err",
|
||||||
|
|
||||||
|
MSG_DETAIL: "detail", MSG_OPTION: "option", MSG_APPEND: "append", MSG_RESULT: "result",
|
||||||
|
MSG_SESSID: "sessid", MSG_FIELDS: "fields",
|
||||||
|
|
||||||
|
MSG_SOURCE: "_source", MSG_TARGET: "_target",
|
||||||
|
MSG_HANDLE: "_handle", MSG_UPLOAD: "_upload",
|
||||||
|
MSG_ACTION: "_action", MSG_STATUS: "_status",
|
||||||
|
|
||||||
|
MSG_INDEX: "_index",
|
||||||
|
MSG_DISPLAY: "_display",
|
||||||
|
MSG_TOOLKIT: "_toolkit",
|
||||||
|
MSG_PROCESS: "_process",
|
||||||
|
PROCESS_AGAIN: "_again",
|
||||||
|
PROCESS_FIELD: "_field",
|
||||||
|
PROCESS_REWRITE: "_rewrite",
|
||||||
|
MSG_PREFIX: "_prefix",
|
||||||
|
|
||||||
|
MSG_USERNICK: "user.nick", MSG_USERNAME: "user.name", MSG_USERROLE: "user.role", MSG_LANGUAGE: "user.lang",
|
||||||
|
MSG_TITLE: "sess.title", MSG_THEME: "sess.theme", MSG_RIVER: "sess.river", MSG_STORM: "sess.storm",
|
||||||
|
MSG_HEIGHT: "sess.height", MSG_WIDTH: "sess.width", MSG_MODE: "sess.mode", MSG_DAEMON: "sess.daemon",
|
||||||
|
LOG_DISABLE: "log.disable",
|
||||||
|
|
||||||
|
ErrWarn: "warn: ", ErrNotLogin: "not login: ", ErrNotRight: "not right: ", ErrNotFound: "not found: ", ErrNotValid: "not valid: ",
|
||||||
|
CAN_PLUGIN: "can._plugin", CAN_DEBUG: "can.debug", LOG_DEBUG: "log.debug",
|
||||||
|
NFS: "nfs", USR: "usr", USR_VOLCANOS: "usr/volcanos/",
|
||||||
|
}
|
||||||
|
|
||||||
|
var ctx = {
|
||||||
|
CONTEXT: "context", COMMAND: "command", CONFIG: "config", INPUTS: "inputs", FEATURE: "feature",
|
||||||
|
INDEX: "index", ARGS: "args", STYLE: "style", DISPLAY: "display", ACTION: "action",
|
||||||
|
EXTRA_INDEX: "extra.index", EXTRA_ARGS: "extra.args",
|
||||||
|
RUN: "run",
|
||||||
|
}
|
||||||
|
var mdb = {
|
||||||
|
DICT: "dict", META: "meta", HASH: "hash", LIST: "list",
|
||||||
|
ID: "id", KEY: "key", TIME: "time", ZONE: "zone", TYPE: "type", NAME: "name", TEXT: "text",
|
||||||
|
DATA: "data", VIEW: "view", ICON: "icon", LINK: "link", SCAN: "scan", HELP: "help",
|
||||||
|
SHORT: "short", FIELD: "field", TOTAL: "total", COUNT: "count", LIMIT: "limit",
|
||||||
|
INDEX: "index", VALUE: "value", EXTRA: "extra", ALIAS: "alias", EXPIRE: "expire",
|
||||||
|
|
||||||
|
CREATE: "create", REMOVE: "remove", INSERT: "insert", DELETE: "delete", MODIFY: "modify", SELECT: "select",
|
||||||
|
INPUTS: "inputs", PRUNES: "prunes", EXPORT: "export", IMPORT: "import", REVERT: "revert", NORMAL: "normal",
|
||||||
|
SEARCH: "search", ENGINE: "engine", RENDER: "render", PLUGIN: "plugin",
|
||||||
|
DETAIL: "detail",
|
||||||
|
PRUNE: "prune",
|
||||||
|
|
||||||
|
KEYS: "keys",
|
||||||
|
MAIN: "main", PAGE: "page", NEXT: "next", PREV: "prev", LIMIT: "limit", OFFEND: "offend",
|
||||||
|
FOREACH: "*", RANDOMS: "%",
|
||||||
|
QS: ice.QS, AT: ice.AT,
|
||||||
|
EQ: ice.EQ, FS: ice.FS,
|
||||||
|
}
|
||||||
|
var web = {CHAT: "chat",
|
||||||
|
DREAM: "dream", SPACE: "space", ROUTE: "route", SPIDE: "spide", COUNT: "count", SHARE: "share",
|
||||||
|
WEBSITE: "website", DRAW: "draw", PLAY: "play", CLEAR: "clear", REFRESH: "refresh", RESIZE: "resize", FILTER: "filter", INPUT: "input",
|
||||||
|
CANCEL: "cancel", SUBMIT: "submit", UPLOAD: "upload", DOWNLOAD: "download", TOIMAGE: "toimage",
|
||||||
|
CONFIRM: "confirm",
|
||||||
|
SHARE_CACHE: "/share/cache/", SHARE_LOCAL: "/share/local/",
|
||||||
|
WORKER: "worker", SERVER: "server", GATEWAY: "gateway",
|
||||||
|
|
||||||
|
AT: "@", QS: "?", LINK: "link", HTTP: "http",
|
||||||
|
GET: "GET", PUT: "PUT", POST: "POST", DELETE: "DELETE",
|
||||||
|
Accept: "Accept", ContentType: "Content-Type", ContentJSON: "application/json", ContentFORM: "application/x-www-form-urlencoded",
|
||||||
|
IMAGE_PNG: "image/png", VIDEO_WEBM: "video/webm",
|
||||||
|
|
||||||
|
CODE_GIT_STATUS: "web.code.git.status",
|
||||||
|
CODE_GIT_REPOS: "web.code.git.repos",
|
||||||
|
CODE_COMPILE: "web.code.compile",
|
||||||
|
CODE_VIMER: "web.code.vimer",
|
||||||
|
CODE_INNER: "web.code.inner",
|
||||||
|
CODE_XTERM: "web.code.xterm",
|
||||||
|
WIKI_WORD: "web.wiki.word",
|
||||||
|
WIKI_DRAW: "web.wiki.draw",
|
||||||
|
WIKI_PORTAL: "web.wiki.portal",
|
||||||
|
CHAT_MACOS_DESKTOP: "web.chat.macos.desktop",
|
||||||
|
CHAT_MACOS_SESSION: "web.chat.macos.session",
|
||||||
|
CHAT_IFRAME: "web.chat.iframe",
|
||||||
|
CHAT_FAVOR: "web.chat.favor",
|
||||||
|
CHAT_FLOWS: "web.chat.flows",
|
||||||
|
TEAM_PLAN: "web.team.plan",
|
||||||
|
}
|
||||||
|
var aaa = {
|
||||||
|
USER: "user",
|
||||||
|
LOGIN: "login", LOGOUT: "logout", INVITE: "invite", TOKEN: "token",
|
||||||
|
USERNICK: "usernick", USERNAME: "username", PASSWORD: "password", USERROLE: "userrole", BACKGROUND: "background", AVATAR: "avatar",
|
||||||
|
LANGUAGE: "language", ENGLISH: "english", CHINESE: "chinese",
|
||||||
|
VOID: "void", TECH: "tech", ROOT: "root",
|
||||||
|
}
|
||||||
|
var lex = {
|
||||||
|
SPLIT: "split", PREFIX: "prefix", SUFFIX: "suffix",
|
||||||
|
PARSE: "parse",
|
||||||
|
TB: ice.TB, SP: ice.SP, NL: ice.NL,
|
||||||
|
}
|
||||||
|
var yac = {
|
||||||
|
STASK: "stack",
|
||||||
|
}
|
||||||
|
var ssh = {
|
||||||
|
SHELL: "shell",
|
||||||
|
}
|
||||||
|
var gdb = {
|
||||||
|
SIGNAL: "signal",
|
||||||
|
}
|
||||||
|
var tcp = {
|
||||||
|
HOST: "host", PORT: "port",
|
||||||
|
}
|
||||||
|
var nfs = {
|
||||||
|
DIR: "dir", CAT: "cat", DEFS: "defs", PACK: "pack", TRASH: "trash", DIR_ROOT: "dir_root",
|
||||||
|
COPY: "copy", EDIT: "edit", SAVE: "save", LOAD: "load", FIND: "find", GREP: "grep", TAGS: "tags",
|
||||||
|
CONTENT: "content", RECENT: "recent", SCRIPT: "script", MODULE: "module", SOURCE: "source", TARGET: "target", REPOS: "repos", MASTER: "master",
|
||||||
|
PATH: "path", FILE: "file", LINE: "line", SIZE: "size",
|
||||||
|
PUSH: "push", PULL: "pull",
|
||||||
|
REPLACE: "replace", FROM: "from", TO: "to",
|
||||||
|
SVG: "svg", HTML: "html", CSS: "css", JS: "js", SH: "sh", GO: "go", CSV: "csv", JSON: "json", SHY: "shy",
|
||||||
|
TXT: "txt", PNG: "png", WEBM: "webm",
|
||||||
|
_CSS: ".css", _JS: ".js",
|
||||||
|
PWD: "./", SRC: "src/", USR: "usr/", USR_LOCAL_WORK: "usr/local/work/", SRC_DOCUMENT: "src/document/",
|
||||||
|
DF: ice.DF, PS: ice.PS, PT: ice.PT,
|
||||||
|
}
|
||||||
|
var cli = {
|
||||||
|
OPENS: "opens", SYSTEM: "system", DAEMON: "daemon", ORDER: "order", BUILD: "build",
|
||||||
|
BEGIN: "begin", START: "start", OPEN: "open", CLOSE: "close", STOP: "stop", END: "end", RESTART: "restart",
|
||||||
|
COLOR: "color", BLACK: "black", WHITE: "white", BLUE: "blue", RED: "red", GRAY: "gray", CYAN: "cyan", GREEN: "green", PURPLE: "purple", YELLOW: "yellow",
|
||||||
|
MAGENTA: "magenta", SILVER: "silver", ALICEBLUE: "aliceblue", TRANSPARENT: "transparent",
|
||||||
|
MAKE: "make", EXEC: "exec", DONE: "done", COST: "cost", FROM: "from", CLEAR: "clear",
|
||||||
|
LINUX: "linux", DARWIN: "darwin", WINDOWS: "windows",
|
||||||
|
PWD: "pwd",
|
||||||
|
}
|
||||||
|
var log = {
|
||||||
|
INFO: "info", WARN: "warn", ERROR: "error", DEBUG: "debug", TRACE: "trace",
|
||||||
|
}
|
||||||
|
|
||||||
|
var code = {
|
||||||
|
FAVOR: "favor", XTERM: "xterm", INNER: "inner", VIMER: "vimer",
|
||||||
|
WEBPACK: "webpack", BINPACK: "binpack", AUTOGEN: "autogen", COMPILE: "compile", PUBLISH: "publish",
|
||||||
|
TEMPLATE: "template", COMPLETE: "complete", NAVIGATE: "navigate", CURRENT: "current",
|
||||||
|
PULL: "pull", PUSH: "push",
|
||||||
|
COMMENT: "comment", KEYWORD: "keyword",
|
||||||
|
UPGRADE: "upgrade",
|
||||||
|
PACKAGE: "package", DATATYPE: "datatype", FUNCTION: "function", CONSTANT: "constant",
|
||||||
|
STRING: "string", NUMBER: "number", BOOLEAN: "boolean", OBJECT: "object", ARRAY: "array", UNDEFINED: "undefined",
|
||||||
|
|
||||||
|
META: "Meta", ALT: "Alt", CONTROL: "Control", SHIFT: "Shift", TAB: "Tab", ESCAPE: "Escape", ENTER: "Enter",
|
||||||
|
CMD: "Cmd", CTRL: "Ctrl", SPACE: "Space", BACKSPACE: "Backspace", ESC: "Esc", PS: "/",
|
||||||
|
}
|
||||||
|
var wiki = {
|
||||||
|
TITLE: "title", BRIEF: "brief", REFER: "refer", SPARK: "spark", SHELL: "shell",
|
||||||
|
ORDER: "order", TABLE: "table", CHART: "chart", IMAGE: "image", VIDEO: "video",
|
||||||
|
FIELD: "field", LOCAL: "local", PARSE: "parse",
|
||||||
|
NAVMENU: "navmenu", PREMENU: "premenu", CONTENT: "content",
|
||||||
|
STORY_ITEM: ".story", H2: "h2.story", H3: "h3.story",
|
||||||
|
DRAW: "draw",
|
||||||
|
}
|
||||||
|
var chat = {
|
||||||
|
LIB: "lib", PAGE: "page", PANEL: "panel", PLUGIN: "plugin", STORY: "story", PLUG: "plug",
|
||||||
|
TOAST: "toast", CARTE: "carte", INPUT: "input", UPLOAD: "upload", CONTEXTS: "contexts",
|
||||||
|
LAYOUT: "layout", PROJECT: "project", CONTENT: "content", DISPLAY: "display", PROFILE: "profile", ACTIONS: "actions",
|
||||||
|
TITLE: "title", THEME: "theme", BLACK: "black", WHITE: "white", PRINT: "print", LIGHT: "light", DARK: "dark",
|
||||||
|
SHARE: "share", RIVER: "river", STORM: "storm", FIELD: "field", TOOL: "tool",
|
||||||
|
STATE: "state", MENUS: "menus", SSO: "sso", LOCATION: "location", IFRAME: "iframe",
|
||||||
|
OUTPUT: "output", SIMPLE: "simple", FLOAT: "float", FULL: "full", CMD: "cmd",
|
||||||
|
|
||||||
|
HEADER: "Header", ACTION: "Action", FOOTER: "Footer",
|
||||||
|
libs: ["base.js", "core.js", "date.js", "misc.js", "page.js", "user.js"].map(function(p) { return "/volcanos/lib/"+p }),
|
||||||
|
panel_list: [{name: "Header", style: "head"}, {name: "River", style: "left"}, {name: "Action", style: "main"}, {name: "Search", style: "auto"}, {name: "Footer", style: "foot"}],
|
||||||
|
plugin_list: [
|
||||||
|
"state.js",
|
||||||
|
"input.js",
|
||||||
|
"table.js",
|
||||||
|
"input/key.js",
|
||||||
|
"input/date.js",
|
||||||
|
"story/json.js",
|
||||||
|
"story/spide.js",
|
||||||
|
"story/trend.js",
|
||||||
|
"local/code/xterm.js",
|
||||||
|
"local/code/vimer.js",
|
||||||
|
"local/code/inner.js",
|
||||||
|
"local/code/inner/syntax.js",
|
||||||
|
"local/wiki/draw/path.js",
|
||||||
|
"local/wiki/draw.js",
|
||||||
|
"local/wiki/feel.js",
|
||||||
|
"local/wiki/word.js",
|
||||||
|
"local/team/plan.js",
|
||||||
|
"local/mall/goods.js",
|
||||||
|
].map(function(p) { return "/volcanos/plugin/"+p }), PLUGIN_INPUT: "/volcanos/plugin/input/", PLUGIN_STORY: "/volcanos/plugin/story/", PLUGIN_LOCAL: "/volcanos/plugin/local/",
|
||||||
|
PLUGIN_STATE_JS: "/volcanos/plugin/state.js", PLUGIN_INPUT_JS: "/volcanos/plugin/input.js", PLUGIN_TABLE_JS: "/volcanos/plugin/table.js", FRAME_JS: "/volcanos/frame.js",
|
||||||
|
ONENGINE: "onengine", ONDAEMON: "ondaemon", ONAPPEND: "onappend", ONLAYOUT: "onlayout", ONMOTION: "onmotion", ONKEYMAP: "onkeymap",
|
||||||
|
ONIMPORT: "onimport", ONACTION: "onaction", ONDETAIL: "ondetail", ONEXPORT: "onexport",
|
||||||
|
ONSYNTAX: "onsyntax", ONFIGURE: "onfigure", ONPLUGIN: "onplugin",
|
||||||
|
|
||||||
|
ONSIZE: "onsize", ONMAIN: "onmain", ONLOGIN: "onlogin", ONREMOTE: "onremote", ONSEARCH: "onsearch",
|
||||||
|
ONRESIZE: "onresize", ONKEYUP: "onkeyup", ONKEYDOWN: "onkeydown", ONMOUSEENTER: "onmouseenter", ORIENTATIONCHANGE: "orientationchange",
|
||||||
|
ONSTORM_SELECT: "onstorm_select", ONACTION_NOSTORM: "onaction_nostorm", ONACTION_NOTOOL: "onaction_notool", ONACTION_TOUCH: "onaction_touch", ONACTION_CMD: "onaction_cmd", ONACTION_REMOVE: "onaction_remove",
|
||||||
|
ONOPENSEARCH: "onopensearch", ONSEARCH_FOCUS: "onsearch_focus", ONCOMMAND_FOCUS: "oncommand_focus",
|
||||||
|
ONTHEMECHANGE: "onthemechange", ONLAYOUT: "onlayout", ONUNLOAD: "onunload", ONWEBPACK: "onwebpack",
|
||||||
|
ONTOAST: "ontoast", ONDEBUG: "ondebug", ONSHARE: "onshare", ONPRINT: "onprint",
|
||||||
|
|
||||||
|
_INIT: "_init", _DELAY_INIT: "_delay_init",
|
||||||
|
_TRANS: "_trans", _STYLE: "_style", _ENGINE: "_engine", _SEARCH: "_search", _NAMES: "_names", _TOAST: "_toast",
|
||||||
|
}
|
||||||
|
var team = {
|
||||||
|
TASK: "task", PLAN: "plan",
|
||||||
|
BEGIN_TIME: "begin_time",
|
||||||
|
LONG: "long", YEAR: "year", MONTH: "month", WEEK: "week", DAY: "day", HOUR: "hour",
|
||||||
|
TASK_POD: "task.pod", TASK_ZONE: "task.zone", TASK_ID: "task.id",
|
||||||
|
}
|
||||||
|
var mall = {
|
||||||
|
COUNT: "count", PRICE: "price",
|
||||||
|
ASSET: "asset", SALARY: "salary",
|
||||||
|
}
|
||||||
|
|
||||||
|
var html = {PLUGIN_MARGIN: 10, ACTION_HEIGHT: 32, ACTION_MARGIN: 200,
|
||||||
|
FIELDSET: "fieldset", LEGEND: "legend", OPTION: "option", ACTION: "action", OUTPUT: "output", STATUS: "status",
|
||||||
|
OPTION_ARGS: "select.args,input.args,textarea.args", INPUT_ARGS: "input.args,textarea.args", INPUT_BUTTON: "input[type=button]", INPUT_FILE: "input[type=file]",
|
||||||
|
FORM_OPTION: "form.option", DIV_ACTION: "div.action", DIV_OUTPUT: "div.output", DIV_STATUS: "div.status",
|
||||||
|
FIELDSET_HEAD: "fieldset.head", FIELDSET_FOOT: "fieldset.foot", FIELDSET_LEFT: "fieldset.left", FIELDSET_MAIN: "fieldset.main",
|
||||||
|
FIELDSET_PANEL: "fieldset.panel", FIELDSET_PLUGIN: "fieldset.plugin", FIELDSET_STORY: "fieldset.story", FIELDSET_PLUG: "fieldset.plug",
|
||||||
|
FIELDSET_FLOAT: "fieldset.float", FIELDSET_INPUT: "fieldset.input",
|
||||||
|
|
||||||
|
H1: "h1", H2: "h2", H3: "h3", UL: "ul", OL: "ol", LI: "li", BR: "br", HR: "hr",
|
||||||
|
A: "a", SPAN: "span", CODE: "code", DIV: "div",
|
||||||
|
SVG: "svg", IMG: "img", VIDEO: "video", AUDIO: "audio", CANVAS: "canvas", IFRAME: "iframe",
|
||||||
|
WSS: "wss", WEBVIEW: "webview", CHROME: "chrome", MOBILE: "mobile", LANDSCAPE: "landscape",
|
||||||
|
BODY: "body", FORM: "form", LABEL: "label", TITLE: "title", INNER: "inner", SPACE: "space", CLICK: "click",
|
||||||
|
SELECT: "select", INPUT: "input", TEXT: "text", FILE: "file", TEXTAREA: "textarea", BUTTON: "button",
|
||||||
|
CANCEL: "cancel", SUBMIT: "submit", UPLOAD: "upload", USERNAME: "username", PASSWORD: "password",
|
||||||
|
TABLE: "table", THEAD: "thead", TBODY: "tbody", TR: "tr", TH: "th", TD: "td",
|
||||||
|
HEADER: "header", NAV: "nav", MAIN: "main", ASIDE: "aside", FOOTER: "footer",
|
||||||
|
|
||||||
|
BACKGROUND_COLOR: "background-color", COLOR: "color",
|
||||||
|
PADDING: "padding", BORDER: "border", MARGIN: "margin", MARGIN_TOP: "margin-top", MARGIN_X: "margin-x", MARGIN_Y: "margin-y",
|
||||||
|
HEIGHT: "height", WIDTH: "width", MIN_HEIGHT: "min-height", MAX_HEIGHT: "max-height", MIN_WIDTH: "min-width", MAX_WIDTH: "max-width",
|
||||||
|
DISPLAY: "display", BLOCK: "block", NONE: "none", OVERFLOW: "overflow", HIDDEN: "hidden", SCROLL: "scroll", FLOAT: "float", CLEAR: "clear", BOTH: "both",
|
||||||
|
LEFT: "left", TOP: "top", RIGHT: "right", BOTTOM: "bottom",
|
||||||
|
FLEX: "flex", FLOW: "flow",
|
||||||
|
SCROLLBAR: "scrollbar",
|
||||||
|
VISIBILITY: "visibility",
|
||||||
|
VERTICAL: "vertical", HORIZON: "horizon",
|
||||||
|
|
||||||
|
SIZE: "size", OPACITY: "opacity", VISIBLE: "visible",
|
||||||
|
CLASS: "class", LIGHT: "light", DARK: "dark",
|
||||||
|
FILTER: "filter", TOGGLE: "toggle", EXPAND: "expand", SPEED: "speed", HOVER: "hover", HOVER_SELECT: "hover,select",
|
||||||
|
NOT_HIDE: ":not(.hide)",
|
||||||
|
|
||||||
|
PAGE: "page", TABS: "tabs", MENU: "menu", NODE: "node", PLUG: "plug",
|
||||||
|
ZONE: "zone", LIST: "list", ITEM: "item", NAME: "name", ICON: "icon", VIEW: "view",
|
||||||
|
HEAD: "head", LEFT: "left", MAIN: "main", FOOT: "foot", AUTO: "auto", SHOW: "show", HIDE: "hide",
|
||||||
|
PLUGIN: "plugin", LAYOUT: "layout", PROJECT: "project", DISPLAY: "display", PROFILE: "profile", CONTENT: "content",
|
||||||
|
DIV_PAGE: "div.page", DIV_TABS: "div.tabs", DIV_PATH: "div.path", DIV_CODE: "div.code", DIV_PLUG: "div.plug",
|
||||||
|
DIV_ZONE: "div.zone", DIV_LIST: "div.list", DIV_ITEM: "div.item", DIV_NAME: "div.name", SPAN_ITEM: "span.item", SPAN_ICON: "span.icon", SPAN_NAME: "span.name",
|
||||||
|
DIV_CONTENT: "div.content", TABLE_CONTENT: "table.content", TABLE_LAYOUT: "table.layout", DIV_TOGGLE: "div.toggle",
|
||||||
|
DIV_LAYOUT: "div.layout", DIV_LAYOUT_HEAD: "div.layout.head", DIV_LAYOUT_FOOT: "div.layout.foot", DIV_LAYOUT_LEFT: "div.layout.left",
|
||||||
|
DIV_FLOAT: "div.float", DIV_TOAST: "div.toast", DIV_CARTE: "div.carte",
|
||||||
|
DESKTOP: "desktop", DIV_DESKTOP: "div.desktop", DIV_EXPAND: "div.expand",
|
||||||
|
}
|
||||||
|
var svg = {
|
||||||
|
GROUP: "group", PID: "pid", GRID: "grid",
|
||||||
|
FIGURE: "figure", DATA: "data", SHIP: "ship", TRANS: "trans",
|
||||||
|
GO: "go",
|
||||||
|
SHAPE: "shape", TEXT: "text", RECT: "rect", LINE: "line", CIRCLE: "circle", ELLIPSE: "ellipse", BLOCK: "block",
|
||||||
|
STROKE_WIDTH: "stroke-width", STROKE: "stroke", FILL: "fill", FONT_SIZE: "font-size", FONT_FAMILY: "font-family", TEXT_ANCHOR: "text-anchor",
|
||||||
|
G: "g", X: "x", Y: "y", R: "r", RX: "rx", RY: "ry", CX: "cx", CY: "cy", X1: "x1", Y1: "y1", X2: "x2", Y2: "y2",
|
||||||
|
PATH: "path", PATH2V: "path2v", PATH2H: "path2h",
|
||||||
|
M: "M", Q: "Q", T: "T",
|
||||||
|
TEXT_LENGTH: "textLength",
|
||||||
|
}
|
9
frame.js
9
frame.js
@ -106,6 +106,7 @@ Volcanos(chat.ONAPPEND, {_init: function(can, meta, list, cb, target, field) {
|
|||||||
var action = can.page.SelectOne(can, field, html.DIV_ACTION)
|
var action = can.page.SelectOne(can, field, html.DIV_ACTION)
|
||||||
var output = can.page.SelectOne(can, field, html.DIV_OUTPUT)
|
var output = can.page.SelectOne(can, field, html.DIV_OUTPUT)
|
||||||
var status = can.page.SelectOne(can, field, html.DIV_STATUS)
|
var status = can.page.SelectOne(can, field, html.DIV_STATUS)
|
||||||
|
legend.innerHTML = legend.innerHTML || meta.index
|
||||||
can.base.isIn(meta.index, web.WIKI_PORTAL) && can.onappend.style(can, html.OUTPUT, field)
|
can.base.isIn(meta.index, web.WIKI_PORTAL) && can.onappend.style(can, html.OUTPUT, field)
|
||||||
var sub = Volcanos(meta.name, {_root: can._root||can, _follow: can.core.Keys(can._follow, meta.name), _target: field,
|
var sub = Volcanos(meta.name, {_root: can._root||can, _follow: can.core.Keys(can._follow, meta.name), _target: field,
|
||||||
_legend: legend, _option: option, _action: action, _output: output, _status: status, _history: [],
|
_legend: legend, _option: option, _action: action, _output: output, _status: status, _history: [],
|
||||||
@ -219,8 +220,8 @@ Volcanos(chat.ONAPPEND, {_init: function(can, meta, list, cb, target, field) {
|
|||||||
Update: can.Update, Option: can.Option, Action: can.Action, Status: can.Status, db: {}, ui: {},
|
Update: can.Update, Option: can.Option, Action: can.Action, Status: can.Status, db: {}, ui: {},
|
||||||
}, [display, chat.PLUGIN_TABLE_JS], function(sub) { sub.Conf(can.Conf())
|
}, [display, chat.PLUGIN_TABLE_JS], function(sub) { sub.Conf(can.Conf())
|
||||||
var last = can.sub; last && can.core.CallFunc([last, "onaction.hidden"], {can: last})
|
var last = can.sub; last && can.core.CallFunc([last, "onaction.hidden"], {can: last})
|
||||||
sub.run = function(event, cmds, cb, silent) {
|
sub.run = function(event, cmds, cb, silent) { var msg = sub.request(event)._caller()
|
||||||
sub.request(event)._caller().RunAction(event, sub, cmds) || can.Update(event, can.Input(cmds, !silent), cb, silent)
|
msg.RunAction(event, sub, cmds) || can.Update(event, can.Input(cmds, !silent), cb, silent)
|
||||||
}, can._outputs = can._outputs||[], can._outputs.push(sub), sub.sup = can, can.sub = sub
|
}, can._outputs = can._outputs||[], can._outputs.push(sub), sub.sup = can, can.sub = sub
|
||||||
sub._index = can._index, can._msg = sub._msg = msg, sub.Conf(sub._args = can.base.ParseURL(display))
|
sub._index = can._index, can._msg = sub._msg = msg, sub.Conf(sub._args = can.base.ParseURL(display))
|
||||||
sub._trans = can.base.Copy(can.base.Copy(sub._trans||{}, can._trans), can.core.Value(sub, [chat.ONACTION, chat._TRANS]))
|
sub._trans = can.base.Copy(can.base.Copy(sub._trans||{}, can._trans), can.core.Value(sub, [chat.ONACTION, chat._TRANS]))
|
||||||
@ -248,7 +249,7 @@ Volcanos(chat.ONAPPEND, {_init: function(can, meta, list, cb, target, field) {
|
|||||||
|
|
||||||
field: function(can, type, item, target) { type = type||html.STORY, item = item||{}
|
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()||""; name = can.core.Keys(item.space, name)
|
||||||
var title = !item.help || item.help == name || can.user.language(can) == "en"? name: name+"("+can.core.Split(item.help)[0]+")"
|
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]}])
|
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]}])
|
||||||
},
|
},
|
||||||
input: function(can, item, value, target, style) { if ([html.BR, html.HR].indexOf(item.type) > -1) { return can.page.Append(can, target, [item]) }
|
input: function(can, item, value, target, style) { if ([html.BR, html.HR].indexOf(item.type) > -1) { return can.page.Append(can, target, [item]) }
|
||||||
@ -412,7 +413,7 @@ Volcanos(chat.ONAPPEND, {_init: function(can, meta, list, cb, target, field) {
|
|||||||
var value = can.onengine.plugin(can, meta.index); if (value) { can.onappend._plugin(can, value, meta, function(sub, meta, skip) {
|
var value = can.onengine.plugin(can, meta.index); if (value) { can.onappend._plugin(can, value, meta, function(sub, meta, skip) {
|
||||||
value.meta && value.meta._init && value.meta._init(sub, meta), _cb(sub, meta, skip)
|
value.meta && value.meta._init && value.meta._init(sub, meta), _cb(sub, meta, skip)
|
||||||
}, target, field); return res }
|
}, target, field); return res }
|
||||||
can.runAction(can.request({}, {pod: meta.space})._caller(), ctx.COMMAND, [meta.index], function(msg) { msg.Table(function(value) { can.onappend._plugin(can, value, meta, _cb, target, field) })}); return res
|
can.runAction(can.request({}, {_method: web.GET, pod: meta.space})._caller(), ctx.COMMAND, [meta.index], function(msg) { msg.Table(function(value) { can.onappend._plugin(can, value, meta, _cb, target, field) })}); return res
|
||||||
},
|
},
|
||||||
_plugin: function(can, value, meta, cb, target, field) { can.base.Copy(meta, value, true)
|
_plugin: function(can, value, meta, cb, target, field) { can.base.Copy(meta, value, true)
|
||||||
meta.type = meta.type||chat.STORY, meta.name = meta.name||value.meta&&value.meta.name||"", meta.help = meta.help||value.help||"", meta.height = meta.height||can.ConfHeight()-2*html.ACTION_HEIGHT, meta.width = meta.width||can.ConfWidth()
|
meta.type = meta.type||chat.STORY, meta.name = meta.name||value.meta&&value.meta.name||"", meta.help = meta.help||value.help||"", meta.height = meta.height||can.ConfHeight()-2*html.ACTION_HEIGHT, meta.width = meta.width||can.ConfWidth()
|
||||||
|
17
lib/misc.js
17
lib/misc.js
@ -1,6 +1,17 @@
|
|||||||
Volcanos("misc", {
|
Volcanos("misc", {
|
||||||
Message: function(event, can) { var msg = kit.proto({}, {_event: event, _can: can, _target: can._target,
|
Message: function(event, can) { var msg = kit.proto({}, {_event: event, _can: can, _target: can._target,
|
||||||
RunAction: function(event, sub, cmds, meta) { var msg = can.request(event); meta = meta || sub&&sub.onaction || {}
|
RunAction: function(event, sub, cmds, meta) { var msg = can.request(event); meta = meta || sub&&sub.onaction || {}
|
||||||
|
if (!msg._method) {
|
||||||
|
if (!cmds || cmds.length == 0 || cmds[0] != ctx.ACTION) {
|
||||||
|
msg._method = web.GET
|
||||||
|
} else if (can.base.isIn(cmds[1], mdb.CREATE, mdb.INSERT)) {
|
||||||
|
msg._method = web.PUT
|
||||||
|
} else if (can.base.isIn(cmds[1], mdb.REMOVE, mdb.DELETE)) {
|
||||||
|
msg._method = web.DELETE
|
||||||
|
} else {
|
||||||
|
msg._method = web.POST
|
||||||
|
}
|
||||||
|
}
|
||||||
if (msg.Option(ice.MSG_HANDLE) != ice.TRUE && cmds && cmds[0] == ctx.ACTION && can.base.isFunc(meta[cmds[1]])) { msg.Option(ice.MSG_HANDLE, ice.TRUE)
|
if (msg.Option(ice.MSG_HANDLE) != ice.TRUE && cmds && cmds[0] == ctx.ACTION && can.base.isFunc(meta[cmds[1]])) { msg.Option(ice.MSG_HANDLE, ice.TRUE)
|
||||||
return can.core.CallFunc(meta[cmds[1]], {event: event._event||event, can: sub, msg: msg, button: cmds[1], cmd: cmds[1]}), true
|
return can.core.CallFunc(meta[cmds[1]], {event: event._event||event, can: sub, msg: msg, button: cmds[1], cmd: cmds[1]}), true
|
||||||
}
|
}
|
||||||
@ -75,6 +86,8 @@ Volcanos("misc", {
|
|||||||
can.misc.POST(can, msg, can.base.MergeURL(dataset.names.toLowerCase(), ice.MSG_INDEX, _can._index), form, cb)
|
can.misc.POST(can, msg, can.base.MergeURL(dataset.names.toLowerCase(), ice.MSG_INDEX, _can._index), form, cb)
|
||||||
},
|
},
|
||||||
POST: function(can, msg, url, form, cb, cbs) { var xhr = new XMLHttpRequest(), begin = new Date(); msg._xhr = xhr
|
POST: function(can, msg, url, form, cb, cbs) { var xhr = new XMLHttpRequest(), begin = new Date(); msg._xhr = xhr
|
||||||
|
var data = can.core.ItemForm(form, function(v, i, k) { return k+mdb.EQ+encodeURIComponent(v) }).join("&")
|
||||||
|
if (msg._method == web.GET) { url += (url.indexOf("?") == -1? "?": "&")+data, data = "" }
|
||||||
xhr.open(msg._method||web.POST, url), xhr.onreadystatechange = function() { if (xhr.readyState != 4) { return }
|
xhr.open(msg._method||web.POST, url), xhr.onreadystatechange = function() { if (xhr.readyState != 4) { return }
|
||||||
try { var res = JSON.parse(xhr.responseText) } catch (e) { var res = {result: [xhr.responseText]} } msg.Option("_cost", new Date() - begin)
|
try { var res = JSON.parse(xhr.responseText) } catch (e) { var res = {result: [xhr.responseText]} } msg.Option("_cost", new Date() - begin)
|
||||||
if (xhr.status == 200) { return msg.detail || (msg.detail = res.detail), can.base.isFunc(cb) && cb(msg.Copy(res)) }
|
if (xhr.status == 200) { return msg.detail || (msg.detail = res.detail), can.base.isFunc(cb) && cb(msg.Copy(res)) }
|
||||||
@ -84,9 +97,7 @@ Volcanos("misc", {
|
|||||||
if (msg._upload) { var data = new FormData(); can.core.ItemForm(form, function(v, i, k) { data.append(k, v) })
|
if (msg._upload) { var data = new FormData(); can.core.ItemForm(form, function(v, i, k) { data.append(k, v) })
|
||||||
data.append(ice.MSG_UPLOAD, web.UPLOAD), data.append(web.UPLOAD, msg._upload)
|
data.append(ice.MSG_UPLOAD, web.UPLOAD), data.append(web.UPLOAD, msg._upload)
|
||||||
xhr.upload.onprogress = function(event) { can.base.isFunc(msg._progress) && msg._progress(event, parseInt(event.loaded*100/event.total), event.total, event.loaded) }
|
xhr.upload.onprogress = function(event) { can.base.isFunc(msg._progress) && msg._progress(event, parseInt(event.loaded*100/event.total), event.total, event.loaded) }
|
||||||
} else if (can.user.isMailMaster) { var data = can.core.ItemForm(form, function(value, index, key) { return key+mdb.EQ+encodeURIComponent(value) }).join("&")
|
} else {
|
||||||
if (data) { xhr.open(msg._method||web.GET, url += (url.indexOf(ice.QS) == -1? ice.QS: "&")+data) }
|
|
||||||
} else { var data = can.core.ItemForm(form, function(v, i, k) { return k+mdb.EQ+encodeURIComponent(v) }).join("&")
|
|
||||||
xhr.setRequestHeader(web.ContentType, web.ContentFORM)
|
xhr.setRequestHeader(web.ContentType, web.ContentFORM)
|
||||||
} try { xhr.send(data) } catch(e) { can.misc.Warn(e), cbs && cbs(e) }
|
} try { xhr.send(data) } catch(e) { can.misc.Warn(e), cbs && cbs(e) }
|
||||||
},
|
},
|
||||||
|
@ -327,7 +327,7 @@ Volcanos("page", {
|
|||||||
libs[i] = "/require/modules/"+libs[i]
|
libs[i] = "/require/modules/"+libs[i]
|
||||||
} can.require(libs, cb, cbs)
|
} can.require(libs, cb, cbs)
|
||||||
},
|
},
|
||||||
requireDraw: function(can, cb) { can.require(["/plugin/local/wiki/draw.js", "/plugin/local/wiki/draw/path.js"], function() {
|
requireDraw: function(can, cb) { can.require([chat.PLUGIN_LOCAL+"wiki/draw.js", chat.PLUGIN_LOCAL+"wiki/draw/path.js"], function() {
|
||||||
can.onimport._last_init(can, can.request(), can._output), can.onappend.style(can, wiki.DRAW, can._fields), cb()
|
can.onimport._last_init(can, can.request(), can._output), can.onappend.style(can, wiki.DRAW, can._fields), cb()
|
||||||
}, function(can, mod, sub) { mod == chat.ONIMPORT && (can[mod]._last_init = sub._init) }) },
|
}, function(can, mod, sub) { mod == chat.ONIMPORT && (can[mod]._last_init = sub._init) }) },
|
||||||
drawText: function(can, text, size, margin, fonts) { text = text.slice(0, 1), size = size||80, margin = margin == undefined? 10: margin
|
drawText: function(can, text, size, margin, fonts) { text = text.slice(0, 1), size = size||80, margin = margin == undefined? 10: margin
|
||||||
|
36
lib/user.js
36
lib/user.js
@ -53,41 +53,19 @@ Volcanos("user", {
|
|||||||
close: function(url) { return window.close() },
|
close: function(url) { return window.close() },
|
||||||
theme: function(can, name) { can.base.isString(name) && (name = [name]) || name || []
|
theme: function(can, name) { can.base.isString(name) && (name = [name]) || name || []
|
||||||
name.indexOf(chat.BLACK) > -1 && name.push(html.DARK), name.indexOf(chat.WHITE) > -1 && name.push(chat.BLACK, html.LIGHT)
|
name.indexOf(chat.BLACK) > -1 && name.push(html.DARK), name.indexOf(chat.WHITE) > -1 && name.push(chat.BLACK, html.LIGHT)
|
||||||
can.user.language(can) && name.push(can.user.language(can)), can.user.mod.isCmd && name.push(chat.CMD), can.user.isWebview && name.push(html.WEBVIEW)
|
can.user.language(can) && name.push(can.core.Split(can.user.language(can), "-")[0]), can.user.mod.isCmd && name.push(chat.CMD), can.user.isWebview && name.push(html.WEBVIEW)
|
||||||
can.user.isWindows && name.push("windows"), can.user.isMobile && name.push(html.MOBILE) && can.user.isLandscape() && name.push(html.LANDSCAPE)
|
can.user.isWindows && name.push("windows"), can.user.isMobile && name.push(html.MOBILE) && can.user.isLandscape() && name.push(html.LANDSCAPE)
|
||||||
can.page.styleClass(can, document.body, name.join(lex.SP))
|
can.page.styleClass(can, document.body, name.join(lex.SP))
|
||||||
},
|
},
|
||||||
title: function(text) { if (window.webview) { return title(text) } return text && (document.title = text), document.title },
|
title: function(text) { if (window.webview) { return title(text) } return text && (document.title = text), document.title },
|
||||||
language: function(can) { return can.misc.SearchOrConf(can, aaa.LANGUAGE)||can.user.info.language||"zh" },
|
language: function(can) { return (can.misc.SearchOrConf(can, aaa.LANGUAGE)||can.user.info.language||"") },
|
||||||
trans: function(can, text, list) { if (can.base.isNumber(text)) { return text+"" } if (can.user.language(can) != "zh") { return text }
|
isEnglish: function(can) { return can.base.isIn(can.user.language(can), "en", "en-US") },
|
||||||
|
trans: function(can, text, list) { if (can.base.isNumber(text)) { return text+"" } if (can.user.isEnglish(can)) { return text }
|
||||||
if (can.base.isObject(text)) { return can.core.Item(text, function(k, v) { can.core.Value(can._trans, k, v) }) }
|
if (can.base.isObject(text)) { return can.core.Item(text, function(k, v) { can.core.Value(can._trans, k, v) }) }
|
||||||
if (can.base.isFunc(text)) { text = text.name||"" } if (can.base.isString(list)) { return list }
|
if (can.base.isFunc(text)) { text = text.name||"" } if (can.base.isString(list)) { return list }
|
||||||
return list&&list[text] || can._trans&&can._trans[text] || can.Conf("trans."+text) || can.Conf("feature._trans."+text) || kit.Dict(
|
return list&&list[text] || can.user._trans[text] || can._trans&&can._trans[text] || can.Conf("trans."+text) || can.Conf("feature._trans."+text) || text
|
||||||
mdb.CREATE, "创建", mdb.REMOVE, "删除", mdb.INSERT, "添加", mdb.DELETE, "删除", mdb.MODIFY, "修改", mdb.PRUNES, "清理", mdb.PRUNE, "清理", mdb.REVERT, "恢复", mdb.EXPORT, "导出", mdb.IMPORT, "导入", mdb.SEARCH, "搜索",
|
}, _trans: {"_week_header": ["Sun", "Mon", "Tue", "Wed", "Thu", "Fri", "Sat"]},
|
||||||
aaa.INVITE, "邀请", ctx.ACTION, "操作", ice.RUN, "执行", ice.LIST, "查看", ice.BACK, "返回", mdb.PREV, "上一页", mdb.NEXT, "下一页", mdb.LINK, "链接",
|
time: function(can, time, fmt) { var now = can.base.Date(time), list = can.user._trans["_week_header"]
|
||||||
web.CLEAR, "清空", web.REFRESH, "刷新", web.SUBMIT, "提交", web.CANCEL, "取消", web.UPLOAD, "上传", web.DOWNLOAD, "下载", web.TOIMAGE, "截图", web.SHARE, "共享",
|
|
||||||
nfs.SAVE, "保存", nfs.LOAD, "加载", nfs.COPY, "复制", nfs.EDIT, "编辑", nfs.SAVE, "保存", nfs.TRASH, "清理", nfs.SOURCE, "源码", nfs.MODULE, "模块", nfs.RECENT, "最近",
|
|
||||||
cli.BEGIN, "开始", cli.START, "启动", cli.OPEN, "打开", cli.CLOSE, "关闭", cli.STOP, "停止", cli.END, "结束", cli.EXEC, "执行", cli.DONE, "完成", cli.RESTART, "重启",
|
|
||||||
cli.SYSTEM, "命令", cli.ORDER, "加载", cli.BUILD, "构建",
|
|
||||||
code.XTERM, "终端", code.INNER, "源码", chat.IFRAME, "浏览", chat.LOCATION, "地图",
|
|
||||||
html.PLUGIN, "插件", html.LABEL, "标签", html.HEIGHT, "高度", html.WIDTH, "宽度", ice.SHOW, "显示", ice.HIDE, "隐藏", chat.PROJECT, "项目", chat.PROFILE, "详情", chat.ACTIONS, "操作",
|
|
||||||
"full", "全屏", "Close", "关闭", "Close Other", "关闭其它", "Rename Tabs", "重命名",
|
|
||||||
"add", "添加", "opt", "优化", "fix", "修复", "message", "信息",
|
|
||||||
"max", "最大", "auto", "自动",
|
|
||||||
"push", "上传", "pull", "下载",
|
|
||||||
"logs", "日志",
|
|
||||||
"configs", "配置",
|
|
||||||
"inspect", "详情",
|
|
||||||
"portal", "首页",
|
|
||||||
"confirm", "确定",
|
|
||||||
"upgrade", "升级",
|
|
||||||
"compile", "编译",
|
|
||||||
"prepare", "准备", "process", "处理", "finish", "完成",
|
|
||||||
"today", "今天",
|
|
||||||
)[text]||text
|
|
||||||
},
|
|
||||||
time: function(can, time, fmt) { var now = can.base.Date(time)
|
|
||||||
var list = can.user.language(can) == "en"? ["Sun", "Mon", "Tue", "Wed", "Thu", "Fri", "Sat"]: ["周日", "周一", "周二", "周三", "周四", "周五", "周六"]
|
|
||||||
return fmt == "%W"? list: can.base.Time(time, (fmt||"%y-%m-%d %H:%M:%S").replace("%w", list[now.getDay()]))
|
return fmt == "%W"? list: can.base.Time(time, (fmt||"%y-%m-%d %H:%M:%S").replace("%w", list[now.getDay()]))
|
||||||
},
|
},
|
||||||
toastConfirm: function(can, content, title, action) {
|
toastConfirm: function(can, content, title, action) {
|
||||||
|
@ -51,7 +51,7 @@ Volcanos(chat.ONACTION, {_init: function(can, target) {
|
|||||||
}, can._output, can._action, can._header_tabs)) {
|
}, can._output, can._action, can._header_tabs)) {
|
||||||
if (msg.Option("refresh") != "true") { return can.onaction.layout(can) }
|
if (msg.Option("refresh") != "true") { return can.onaction.layout(can) }
|
||||||
}
|
}
|
||||||
can.run(msg, [river, storm], function(msg) {
|
can.run(can.request({}, {_method: web.GET}), [river, storm], function(msg) {
|
||||||
if (msg.Length() == 0) { return can.user.isLocalFile? can.user.toastFailure(can, "miss data"): can.onengine.signal(can, chat.ONACTION_NOTOOL, can.request({}, {river: river, storm: storm})) }
|
if (msg.Length() == 0) { return can.user.isLocalFile? can.user.toastFailure(can, "miss data"): can.onengine.signal(can, chat.ONACTION_NOTOOL, can.request({}, {river: river, storm: storm})) }
|
||||||
return can.onimport._init(can, msg)
|
return can.onimport._init(can, msg)
|
||||||
})
|
})
|
||||||
|
@ -31,7 +31,7 @@ Volcanos(chat.ONIMPORT, {_init: function(can, msg, target) { can.Conf(NKEY, can.
|
|||||||
})
|
})
|
||||||
Volcanos(chat.ONACTION, {_init: function(can) { can.ui = {}, can.db = {} },
|
Volcanos(chat.ONACTION, {_init: function(can) { can.ui = {}, can.db = {} },
|
||||||
onsize: function(can) { can.ConfHeight(can._target.offsetHeight), can.ConfWidth(can._target.offsetWidth) },
|
onsize: function(can) { can.ConfHeight(can._target.offsetHeight), can.ConfWidth(can._target.offsetWidth) },
|
||||||
onlogin: function(can, msg) { var msg = can.request(); msg._method = web.GET, can.run(msg._event, [], function(msg) { can.onmotion.clear(can), can.onimport._init(can, msg, can._output) }) },
|
onlogin: function(can, msg) { can.run(can.request({}, {_method: web.GET}), [], function(msg) { can.onmotion.clear(can), can.onimport._init(can, msg, can._output) }) },
|
||||||
ontoast: function(can, msg) { can.core.CallFunc(can.onimport.ntip, {can: can, msg: msg}) },
|
ontoast: function(can, msg) { can.core.CallFunc(can.onimport.ntip, {can: can, msg: msg}) },
|
||||||
onremote: function(can, msg) { can.core.CallFunc(can.onimport.ncmd, {can: can, msg: msg}) },
|
onremote: function(can, msg) { can.core.CallFunc(can.onimport.ncmd, {can: can, msg: msg}) },
|
||||||
onlayout: function(can, layout) { can.onmotion.toggle(can, can._target, !layout || layout == html.TABS) },
|
onlayout: function(can, layout) { can.onmotion.toggle(can, can._target, !layout || layout == html.TABS) },
|
||||||
|
@ -49,31 +49,27 @@ Volcanos(chat.ONIMPORT, {_init: function(can, msg, target) {
|
|||||||
})
|
})
|
||||||
Volcanos(chat.ONACTION, {_init: function(can) {
|
Volcanos(chat.ONACTION, {_init: function(can) {
|
||||||
can.page.theme(function(theme) { can.onengine.signal(can, chat.ONTHEMECHANGE, can.request(event, {theme: can.__theme = theme})) }), can.onimport.theme(can)
|
can.page.theme(function(theme) { can.onengine.signal(can, chat.ONTHEMECHANGE, can.request(event, {theme: can.__theme = theme})) }), can.onimport.theme(can)
|
||||||
return can.require([
|
|
||||||
"src/template/web.chat.header/dark.css",
|
|
||||||
"src/template/web.chat.header/light.css",
|
|
||||||
"src/template/web.chat.header/black.css",
|
|
||||||
"src/template/web.chat.header/white.css",
|
|
||||||
"src/template/web.chat.header/mobile.css",
|
|
||||||
])
|
|
||||||
},
|
},
|
||||||
onsize: function(can) { can.ConfHeight(can._target.offsetHeight), can.ConfWidth(can._target.offsetWidth) },
|
onsize: function(can) { can.ConfHeight(can._target.offsetHeight), can.ConfWidth(can._target.offsetWidth) },
|
||||||
onmain: function(can) {
|
onmain: function(can) {
|
||||||
function show(msg) { var p = can.misc.Search(can, "redirect_uri");
|
function lang(msg, cb) { can.user.info.language = msg.SearchOrOption(aaa.LANGUAGE)
|
||||||
|
can.user.info.language && can.require(["src/template/web.chat.header/language/"+can.user.info.language+".js"], cb, function(can, name, sub) { can.base.Copy(can.user._trans, sub._trans) })
|
||||||
|
}
|
||||||
|
function show(msg) { var p = can.misc.Search(can, "redirect_uri")
|
||||||
if (location.pathname == "/login" && p) { return location.replace(can.base.MergeURL(p, ice.MSG_SESSID, can.misc.CookieSessid(can))) }
|
if (location.pathname == "/login" && p) { return location.replace(can.base.MergeURL(p, ice.MSG_SESSID, can.misc.CookieSessid(can))) }
|
||||||
can.user.info.usernick = can.Conf(aaa.USERNICK), can.user.info.userrole = msg.Option(ice.MSG_USERROLE), can.user.info.avatar = msg.Option(aaa.AVATAR), can.user.info.background = msg.Option(aaa.BACKGROUND)
|
can.user.info.usernick = can.Conf(aaa.USERNICK), can.user.info.userrole = msg.Option(ice.MSG_USERROLE), can.user.info.avatar = msg.Option(aaa.AVATAR), can.user.info.background = msg.Option(aaa.BACKGROUND)
|
||||||
can.user.info.language = msg.SearchOrOption(aaa.LANGUAGE), msg.Option(nfs.SCRIPT) && can.require(can.base.Obj(msg.Option(nfs.SCRIPT)), function(can) { can.onaction.source(can, msg) })
|
msg.Option(nfs.SCRIPT) && can.require(can.base.Obj(msg.Option(nfs.SCRIPT)), function(can) { can.onaction.source(can, msg) })
|
||||||
// can.user.info.language = msg.SearchOrOption(aaa.LANGUAGE)||navigator.language.split("-")[0], msg.Option(nfs.SCRIPT) && can.require(can.base.Obj(msg.Option(nfs.SCRIPT)), function(can) { can.onaction.source(can, msg) })
|
lang(msg, function() { can.onmotion.clear(can), can.onimport._init(can, can.request(), can._output), can.onengine.signal(can, chat.ONLOGIN) })
|
||||||
can.onmotion.clear(can), can.onimport._init(can, can.request(), can._output), can.onengine.signal(can, chat.ONLOGIN)
|
|
||||||
}
|
}
|
||||||
var msg = can.request(); msg._method = web.GET
|
can.base.beginWith(location.pathname, "/wiki/portal/", "/chat/cmd/web.wiki.portal/", "/chat/cmd/web.chat.oauth.client", "/chat/pod/20230511-golang-story/cmd/web.code.gitea.client")? show(can.request()):
|
||||||
can.base.beginWith(location.pathname, "/wiki/portal/", "/chat/cmd/web.wiki.portal/")? show(can.request()):
|
can.run(can.request({}, {_method: web.GET}), [], function(msg) { lang(msg)
|
||||||
can.run(msg._event, [], function(msg) {
|
can.require(can.core.List(msg["theme.list"], function(item) { return "src/template/web.chat.header/theme/"+item }))
|
||||||
|
can.onaction._menus[1] = can.onaction._menus[1].concat(can.core.List(msg["theme.list"], function(item) { return can.base.trimSuffix(item, ".css") }))
|
||||||
|
can.onaction._menus[2] = can.onaction._menus[2].concat(can.core.List(msg["language.list"], function(item) { return can.base.trimSuffix(item, ".js") }))
|
||||||
if (location.pathname == "/" && can.base.beginWith(msg.Option(ice.MAIN)||"", "/wiki/portal/", "/chat/cmd/web.wiki.portal/")) { return show(msg) }
|
if (location.pathname == "/" && can.base.beginWith(msg.Option(ice.MAIN)||"", "/wiki/portal/", "/chat/cmd/web.wiki.portal/")) { return show(msg) }
|
||||||
if (!can.Conf(aaa.USERNICK, msg.Option(aaa.USERNICK)||msg.Option(ice.MSG_USERNICK)||msg.Option(ice.MSG_USERNAME))) {
|
if (!can.Conf(aaa.USERNICK, msg.Option(aaa.USERNICK)||msg.Option(ice.MSG_USERNICK)||msg.Option(ice.MSG_USERNAME))) {
|
||||||
return msg.Option(chat.SSO)? can.user.jumps(msg.Option(chat.SSO)): can.user.login(can, function() { can.onengine.signal(can, chat.ONMAIN, msg) }, msg.Option(aaa.LOGIN))
|
return msg.Option(chat.SSO)? can.user.jumps(msg.Option(chat.SSO)): can.user.login(can, function() { can.onengine.signal(can, chat.ONMAIN, msg) }, msg.Option(aaa.LOGIN))
|
||||||
}
|
} show(msg)
|
||||||
show(msg)
|
|
||||||
})
|
})
|
||||||
},
|
},
|
||||||
onstorm_select: function(can, river, storm) { can.Conf(chat.RIVER, river), can.Conf(chat.STORM, storm) },
|
onstorm_select: function(can, river, storm) { can.Conf(chat.RIVER, river), can.Conf(chat.STORM, storm) },
|
||||||
@ -111,8 +107,8 @@ Volcanos(chat.ONACTION, {_init: function(can) {
|
|||||||
|
|
||||||
_params: [log.DEBUG, chat.TITLE],
|
_params: [log.DEBUG, chat.TITLE],
|
||||||
_menus: ["shareuser",
|
_menus: ["shareuser",
|
||||||
[chat.THEME, ice.AUTO, html.DARK, html.LIGHT, "print", cli.WHITE, cli.BLACK],
|
[chat.THEME, ice.AUTO],
|
||||||
[aaa.LANGUAGE, ice.AUTO, "zh", "en"],
|
[aaa.LANGUAGE, ice.AUTO],
|
||||||
[nfs.SAVE, web.TOIMAGE, code.WEBPACK],
|
[nfs.SAVE, web.TOIMAGE, code.WEBPACK],
|
||||||
[aaa.USER, "setnick", aaa.PASSWORD, cli.CLEAR, aaa.LOGOUT],
|
[aaa.USER, "setnick", aaa.PASSWORD, cli.CLEAR, aaa.LOGOUT],
|
||||||
],
|
],
|
||||||
|
@ -18,9 +18,7 @@ Volcanos(chat.ONIMPORT, {_init: function(can, msg) { can.onimport._main(can, msg
|
|||||||
_menu: function(can, msg) { can.user.isMobile || can.user.mod.isPod || can.onappend._action(can, can.onaction.list, can._action) },
|
_menu: function(can, msg) { can.user.isMobile || can.user.mod.isPod || can.onappend._action(can, can.onaction.list, can._action) },
|
||||||
})
|
})
|
||||||
Volcanos(chat.ONACTION, {list: [mdb.CREATE, web.SHARE, web.REFRESH], _init: function(can) { can.onmotion.hidden(can) },
|
Volcanos(chat.ONACTION, {list: [mdb.CREATE, web.SHARE, web.REFRESH], _init: function(can) { can.onmotion.hidden(can) },
|
||||||
onlogin: function(can, msg) {
|
onlogin: function(can, msg) { can.run(can.request({}, {_method: web.GET}), [], function(msg) { if (msg.Option(ice.MSG_RIVER)) { return can.page.Remove(can, can._target) }
|
||||||
var msg = can.request(); msg._method = web.GET
|
|
||||||
can.run(msg._event, [], function(msg) { if (msg.Option(ice.MSG_RIVER)) { return can.page.Remove(can, can._target) }
|
|
||||||
can.onimport._init(can, msg); if (can.user.isMobile || can.user.isExtension) { return }
|
can.onimport._init(can, msg); if (can.user.isMobile || can.user.isExtension) { return }
|
||||||
can.onmotion.toggle(can, can._target, true), can.onlayout._init(can)
|
can.onmotion.toggle(can, can._target, true), can.onlayout._init(can)
|
||||||
}) },
|
}) },
|
||||||
@ -119,11 +117,11 @@ Volcanos(chat.ONEXPORT, {width: function(can) { return can._target.offsetWidth }
|
|||||||
Volcanos(chat.ONENGINE, {_engine: function(event, can, msg, panel, cmds, cb) { var list = can.river
|
Volcanos(chat.ONENGINE, {_engine: function(event, can, msg, panel, cmds, cb) { var list = can.river
|
||||||
cmds.length == 0 && can.core.ItemOrder(list, "order", function(key, value) {
|
cmds.length == 0 && can.core.ItemOrder(list, "order", function(key, value) {
|
||||||
if (can.user.info.userrole == aaa.ROOT || can.base.isIn(value.type||"", "", aaa.VOID, can.user.info.userrole)) {
|
if (can.user.info.userrole == aaa.ROOT || can.base.isIn(value.type||"", "", aaa.VOID, can.user.info.userrole)) {
|
||||||
can.core.Item(value.storm).length > 0 && msg.Push({hash: key, name: can.user.language(can) == "en"? key: value.name, icon: value.icon||""})
|
can.core.Item(value.storm).length > 0 && msg.Push({hash: key, name: can.user.isEnglish(can)? key: value.name, icon: value.icon||""})
|
||||||
}
|
}
|
||||||
})
|
})
|
||||||
if (cmds.length != 1 && cmds[1] != chat.STORM) { return false } var river = list[cmds[0]]; if (!river) { return false }
|
if (cmds.length != 1 && cmds[1] != chat.STORM) { return false } var river = list[cmds[0]]; if (!river) { return false }
|
||||||
can.core.ItemOrder(river.storm, "order", function(key, value) { msg.Push({hash: key, name: can.user.language(can) == "en"? key: value.name, icon: value.icon||""}) })
|
can.core.ItemOrder(river.storm, "order", function(key, value) { msg.Push({hash: key, name: can.user.isEnglish(can)? key: value.name, icon: value.icon||""}) })
|
||||||
can.base.isFunc(cb) && cb(msg); return true
|
can.base.isFunc(cb) && cb(msg); return true
|
||||||
}})
|
}})
|
||||||
})()
|
})()
|
||||||
|
@ -1,6 +1,6 @@
|
|||||||
Volcanos(chat.ONACTION, {
|
Volcanos(chat.ONACTION, {
|
||||||
run: function(event, can) { can.run(event) }, refresh: function(event, can) { can.run(event) },
|
run: function(event, can) { can.run(can.request(event, {_method: web.POST})) }, refresh: function(event, can) { can.run(can.request(event, {_method: web.GET})) },
|
||||||
list: function(event, can) { can.sup.isSimpleMode() || can.run(event) }, back: function(event, can) { can.sup.onimport._back(can.sup) },
|
list: function(event, can) { can.sup.isSimpleMode() || can.run(can.request(event, {_method: web.GET})) }, back: function(event, can) { can.sup.onimport._back(can.sup) },
|
||||||
onclick: function(event, can) { can.Conf(mdb.TYPE) == html.BUTTON && can.run(event, [ctx.ACTION, can.Conf(mdb.NAME)].concat(can.sup.Input())), can.onkeymap.prevent(event) },
|
onclick: function(event, can) { can.Conf(mdb.TYPE) == html.BUTTON && can.run(event, [ctx.ACTION, can.Conf(mdb.NAME)].concat(can.sup.Input())), can.onkeymap.prevent(event) },
|
||||||
onchange: function(event, can) { can.Conf(mdb.TYPE) == html.SELECT && can.run(event) },
|
onchange: function(event, can) { can.Conf(mdb.TYPE) == html.SELECT && can.run(event) },
|
||||||
onkeydown: function(event, can) { can.onkeymap.input(event, can, event.target); if (can.Conf(mdb.TYPE) == html.TEXTAREA && !event.ctrlKey) { return }
|
onkeydown: function(event, can) { can.onkeymap.input(event, can, event.target); if (can.Conf(mdb.TYPE) == html.TEXTAREA && !event.ctrlKey) { return }
|
||||||
|
@ -2,6 +2,7 @@ Volcanos(chat.ONFIGURE, {date: {
|
|||||||
onclick: function(event, can, meta, target, cbs) { cbs(function(can, cb) { if (can._output.innerHTML) { return }
|
onclick: function(event, can, meta, target, cbs) { cbs(function(can, cb) { if (can._output.innerHTML) { return }
|
||||||
const TODAY = "today", YEAR = "year", MONTH = "month", HOUR = "hour", MINUTE = "minute", SECOND = "second"
|
const TODAY = "today", YEAR = "year", MONTH = "month", HOUR = "hour", MINUTE = "minute", SECOND = "second"
|
||||||
var today = new Date(), now = can.base.Date((target.value||"").trim()); function _cb(_now) { cb(can, can.user.time(can, now = _now), target.value) }
|
var today = new Date(), now = can.base.Date((target.value||"").trim()); function _cb(_now) { cb(can, can.user.time(can, now = _now), target.value) }
|
||||||
|
can.base.Copy(can._trans, kit.Dict(TODAY, "今天", mdb.NEXT, "下一月", mdb.PREV, "上一月"))
|
||||||
can.onappend._action(can, [cli.CLOSE, [HOUR].concat(can.core.List(24)), [MINUTE].concat(can.core.List(0, 60, 5)), [SECOND].concat(can.core.List(0, 60, 5)),
|
can.onappend._action(can, [cli.CLOSE, [HOUR].concat(can.core.List(24)), [MINUTE].concat(can.core.List(0, 60, 5)), [SECOND].concat(can.core.List(0, 60, 5)),
|
||||||
TODAY, "", mdb.PREV, [YEAR].concat(can.core.List(now.getFullYear() - 10, now.getFullYear() + 10)), [MONTH].concat(can.core.List(1, 13)), mdb.NEXT,
|
TODAY, "", mdb.PREV, [YEAR].concat(can.core.List(now.getFullYear() - 10, now.getFullYear() + 10)), [MONTH].concat(can.core.List(1, 13)), mdb.NEXT,
|
||||||
], can.onmotion.clear(can, can._action), kit.Dict(cli.CLOSE, function() { can.close() },
|
], can.onmotion.clear(can, can._action), kit.Dict(cli.CLOSE, function() { can.close() },
|
||||||
@ -13,7 +14,6 @@ Volcanos(chat.ONFIGURE, {date: {
|
|||||||
YEAR, function(event, can, button, value) { now.setFullYear(parseInt(value)), show(now) },
|
YEAR, function(event, can, button, value) { now.setFullYear(parseInt(value)), show(now) },
|
||||||
MONTH, function(event, can, button, value) { now.setMonth(parseInt(value)-1), show(now) },
|
MONTH, function(event, can, button, value) { now.setMonth(parseInt(value)-1), show(now) },
|
||||||
mdb.NEXT, function() { now.setMonth(now.getMonth()+1), show(now) },
|
mdb.NEXT, function() { now.setMonth(now.getMonth()+1), show(now) },
|
||||||
chat._TRANS, kit.Dict(TODAY, "今天", mdb.NEXT, "下一月", mdb.PREV, "上一月"),
|
|
||||||
)), can._table = can.page.Appends(can, can._output, [{view: [chat.CONTENT, html.TABLE], list: [{type: html.TBODY}]}]).tbody
|
)), can._table = can.page.Appends(can, can._output, [{view: [chat.CONTENT, html.TABLE], list: [{type: html.TBODY}]}]).tbody
|
||||||
target.value == "" && (now.setMinutes(now.getMinutes()>30? 30: 0), now.setSeconds(0))
|
target.value == "" && (now.setMinutes(now.getMinutes()>30? 30: 0), now.setSeconds(0))
|
||||||
function show(now) { can.Action(YEAR, now.getFullYear()), can.Action(MONTH, now.getMonth()+1)
|
function show(now) { can.Action(YEAR, now.getFullYear()), can.Action(MONTH, now.getMonth()+1)
|
||||||
|
@ -343,7 +343,7 @@ Volcanos(chat.ONSYNTAX, {_init: function(can, msg, cb) { var key = can.onexport.
|
|||||||
}
|
}
|
||||||
can.onmotion.delay(can, function() { can.onappend.scroll(can, can.ui.content) })
|
can.onmotion.delay(can, function() { can.onappend.scroll(can, can.ui.content) })
|
||||||
can.onengine.signal(can, VIEW_CREATE, msg), can.base.isFunc(cb) && cb(msg._content = content._root? content._root: content)
|
can.onengine.signal(can, VIEW_CREATE, msg), can.base.isFunc(cb) && cb(msg._content = content._root? content._root: content)
|
||||||
} can.require(["/plugin/local/code/inner/syntax.js"], function() { var parse = can.onexport.parse(can); can.Conf(chat.PLUG) && (can.onsyntax[parse] = can.Conf(chat.PLUG))
|
} can.require([chat.PLUGIN_LOCAL+"code/inner/syntax.js"], function() { var parse = can.onexport.parse(can); can.Conf(chat.PLUG) && (can.onsyntax[parse] = can.Conf(chat.PLUG))
|
||||||
var p = can.onsyntax[parse]; !p? can.runAction({}, mdb.PLUGIN, [parse, file, path], function(msg) {
|
var p = can.onsyntax[parse]; !p? can.runAction({}, mdb.PLUGIN, [parse, file, path], function(msg) {
|
||||||
p = can.base.Obj(msg.Result())
|
p = can.base.Obj(msg.Result())
|
||||||
if (p && p.script) { can._msg.Option(lex.PARSE, msg.Option(lex.PARSE))
|
if (p && p.script) { can._msg.Option(lex.PARSE, msg.Option(lex.PARSE))
|
||||||
|
@ -26,7 +26,7 @@ Volcanos(chat.ONIMPORT, {_init: function(can, msg, cb) {
|
|||||||
Volcanos(chat.ONFIGURE, {
|
Volcanos(chat.ONFIGURE, {
|
||||||
source: function(can, target, zone, path) {
|
source: function(can, target, zone, path) {
|
||||||
var args = can.base.getValid(can.misc.SearchHash(can), [can.Option(nfs.PATH), can.Option(nfs.FILE)])
|
var args = can.base.getValid(can.misc.SearchHash(can), [can.Option(nfs.PATH), can.Option(nfs.FILE)])
|
||||||
function show(target, zone, path) { can.run(can.request({}, {dir_root: path, dir_deep: true}), [nfs.PWD], function(msg) {
|
function show(target, zone, path) { can.run(can.request({}, {_method: web.GET, dir_root: path, dir_deep: true}), [nfs.PWD], function(msg) {
|
||||||
zone._icon(kit.Dict(
|
zone._icon(kit.Dict(
|
||||||
web.REFRESH, function(event) { show(target, zone, path) },
|
web.REFRESH, function(event) { show(target, zone, path) },
|
||||||
mdb.CREATE, function(event, button) { can.onaction.module(event, can, nfs.MODULE) },
|
mdb.CREATE, function(event, button) { can.onaction.module(event, can, nfs.MODULE) },
|
||||||
|
297
proto.js
297
proto.js
@ -1,304 +1,15 @@
|
|||||||
var kit = {proto: function(sub, sup) { return sub.__proto__ = sup, sub },
|
|
||||||
Dict: function() { var res = {}, arg = arguments; for (var i = 0; i < arg.length; i += 2) { var key = arg[i]
|
|
||||||
if (typeof key == "object") { i--;
|
|
||||||
if (key.length == undefined) {
|
|
||||||
for (var k in key) { res[k] = key[k] }
|
|
||||||
} else {
|
|
||||||
for (var j = 0; j < key.length; j += 2) { res[key[j]] = key[j+1] }
|
|
||||||
}
|
|
||||||
} else if (typeof key == "string" && key) { res[key] = arg[i+1] }
|
|
||||||
} return res },
|
|
||||||
}
|
|
||||||
var ice = {
|
|
||||||
TB: "\t", SP: " ", DF: ":", EQ: "=", AT: "@", PS: "/", PT: ".", FS: ",", QS: "?", NL: "\n", LT: "<", GT: ">",
|
|
||||||
OK: "ok", TRUE: "true", FALSE: "false", SUCCESS: "success", FAILURE: "failure", PROCESS: "process",
|
|
||||||
|
|
||||||
HTTP: "http", HTML: "html",
|
|
||||||
HOME: "home", MAIN: "main",
|
|
||||||
LIST: "list", BACK: "back",
|
|
||||||
SHOW: "show", HIDE: "hide",
|
|
||||||
VIEW: "view", MODE: "mode",
|
|
||||||
COPY: "copy", HELP: "help",
|
|
||||||
AUTO: "auto", EXEC: "exec",
|
|
||||||
SHIP: "ship",
|
|
||||||
|
|
||||||
DEV: "dev", POD: "pod", CTX: "ctx", CMD: "cmd", ARG: "arg", OPT: "opt",
|
|
||||||
CAN: "can", MSG: "msg", RUN: "run", RES: "res", ERR: "err",
|
|
||||||
|
|
||||||
MSG_DETAIL: "detail", MSG_OPTION: "option", MSG_APPEND: "append", MSG_RESULT: "result",
|
|
||||||
MSG_SESSID: "sessid", MSG_FIELDS: "fields",
|
|
||||||
|
|
||||||
MSG_SOURCE: "_source", MSG_TARGET: "_target",
|
|
||||||
MSG_HANDLE: "_handle", MSG_UPLOAD: "_upload",
|
|
||||||
MSG_ACTION: "_action", MSG_STATUS: "_status",
|
|
||||||
|
|
||||||
MSG_INDEX: "_index",
|
|
||||||
MSG_DISPLAY: "_display",
|
|
||||||
MSG_TOOLKIT: "_toolkit",
|
|
||||||
MSG_PROCESS: "_process",
|
|
||||||
PROCESS_AGAIN: "_again",
|
|
||||||
PROCESS_FIELD: "_field",
|
|
||||||
PROCESS_REWRITE: "_rewrite",
|
|
||||||
MSG_PREFIX: "_prefix",
|
|
||||||
|
|
||||||
MSG_USERNICK: "user.nick", MSG_USERNAME: "user.name", MSG_USERROLE: "user.role", MSG_LANGUAGE: "user.lang",
|
|
||||||
MSG_TITLE: "sess.title", MSG_THEME: "sess.theme", MSG_RIVER: "sess.river", MSG_STORM: "sess.storm",
|
|
||||||
MSG_HEIGHT: "sess.height", MSG_WIDTH: "sess.width", MSG_MODE: "sess.mode", MSG_DAEMON: "sess.daemon",
|
|
||||||
LOG_DISABLE: "log.disable",
|
|
||||||
|
|
||||||
ErrWarn: "warn: ", ErrNotLogin: "not login: ", ErrNotRight: "not right: ", ErrNotFound: "not found: ", ErrNotValid: "not valid: ",
|
|
||||||
CAN_PLUGIN: "can._plugin", CAN_DEBUG: "can.debug", LOG_DEBUG: "log.debug",
|
|
||||||
NFS: "nfs", USR: "usr", USR_VOLCANOS: "usr/volcanos/",
|
|
||||||
}
|
|
||||||
|
|
||||||
var ctx = {
|
|
||||||
CONTEXT: "context", COMMAND: "command", CONFIG: "config", INPUTS: "inputs", FEATURE: "feature",
|
|
||||||
INDEX: "index", ARGS: "args", STYLE: "style", DISPLAY: "display", ACTION: "action",
|
|
||||||
EXTRA_INDEX: "extra.index", EXTRA_ARGS: "extra.args",
|
|
||||||
RUN: "run",
|
|
||||||
}
|
|
||||||
var mdb = {
|
|
||||||
DICT: "dict", META: "meta", HASH: "hash", LIST: "list",
|
|
||||||
ID: "id", KEY: "key", TIME: "time", ZONE: "zone", TYPE: "type", NAME: "name", TEXT: "text",
|
|
||||||
DATA: "data", VIEW: "view", ICON: "icon", LINK: "link", SCAN: "scan", HELP: "help",
|
|
||||||
SHORT: "short", FIELD: "field", TOTAL: "total", COUNT: "count", LIMIT: "limit",
|
|
||||||
INDEX: "index", VALUE: "value", EXTRA: "extra", ALIAS: "alias", EXPIRE: "expire",
|
|
||||||
|
|
||||||
CREATE: "create", REMOVE: "remove", INSERT: "insert", DELETE: "delete", MODIFY: "modify", SELECT: "select",
|
|
||||||
INPUTS: "inputs", PRUNES: "prunes", EXPORT: "export", IMPORT: "import", REVERT: "revert", NORMAL: "normal",
|
|
||||||
SEARCH: "search", ENGINE: "engine", RENDER: "render", PLUGIN: "plugin",
|
|
||||||
DETAIL: "detail",
|
|
||||||
PRUNE: "prune",
|
|
||||||
|
|
||||||
KEYS: "keys",
|
|
||||||
MAIN: "main", PAGE: "page", NEXT: "next", PREV: "prev", LIMIT: "limit", OFFEND: "offend",
|
|
||||||
FOREACH: "*", RANDOMS: "%",
|
|
||||||
QS: ice.QS, AT: ice.AT,
|
|
||||||
EQ: ice.EQ, FS: ice.FS,
|
|
||||||
}
|
|
||||||
var web = {CHAT: "chat",
|
|
||||||
DREAM: "dream", SPACE: "space", ROUTE: "route", SPIDE: "spide", COUNT: "count", SHARE: "share",
|
|
||||||
WEBSITE: "website", DRAW: "draw", PLAY: "play", CLEAR: "clear", REFRESH: "refresh", RESIZE: "resize", FILTER: "filter", INPUT: "input",
|
|
||||||
CANCEL: "cancel", SUBMIT: "submit", UPLOAD: "upload", DOWNLOAD: "download", TOIMAGE: "toimage",
|
|
||||||
SHARE_CACHE: "/share/cache/", SHARE_LOCAL: "/share/local/",
|
|
||||||
WORKER: "worker", SERVER: "server", GATEWAY: "gateway",
|
|
||||||
|
|
||||||
AT: "@", QS: "?", LINK: "link", HTTP: "http",
|
|
||||||
GET: "GET", PUT: "PUT", POST: "POST", DELETE: "DELETE",
|
|
||||||
Accept: "Accept", ContentType: "Content-Type", ContentJSON: "application/json", ContentFORM: "application/x-www-form-urlencoded",
|
|
||||||
IMAGE_PNG: "image/png", VIDEO_WEBM: "video/webm",
|
|
||||||
|
|
||||||
CODE_GIT_STATUS: "web.code.git.status",
|
|
||||||
CODE_GIT_REPOS: "web.code.git.repos",
|
|
||||||
CODE_COMPILE: "web.code.compile",
|
|
||||||
CODE_VIMER: "web.code.vimer",
|
|
||||||
CODE_INNER: "web.code.inner",
|
|
||||||
CODE_XTERM: "web.code.xterm",
|
|
||||||
WIKI_WORD: "web.wiki.word",
|
|
||||||
WIKI_DRAW: "web.wiki.draw",
|
|
||||||
WIKI_PORTAL: "web.wiki.portal",
|
|
||||||
CHAT_MACOS_DESKTOP: "web.chat.macos.desktop",
|
|
||||||
CHAT_MACOS_SESSION: "web.chat.macos.session",
|
|
||||||
CHAT_IFRAME: "web.chat.iframe",
|
|
||||||
CHAT_FAVOR: "web.chat.favor",
|
|
||||||
CHAT_FLOWS: "web.chat.flows",
|
|
||||||
TEAM_PLAN: "web.team.plan",
|
|
||||||
}
|
|
||||||
var aaa = {
|
|
||||||
USER: "user",
|
|
||||||
LOGIN: "login", LOGOUT: "logout", INVITE: "invite", TOKEN: "token",
|
|
||||||
USERNICK: "usernick", USERNAME: "username", PASSWORD: "password", USERROLE: "userrole", BACKGROUND: "background", AVATAR: "avatar",
|
|
||||||
LANGUAGE: "language", ENGLISH: "english", CHINESE: "chinese",
|
|
||||||
VOID: "void", TECH: "tech", ROOT: "root",
|
|
||||||
}
|
|
||||||
var lex = {
|
|
||||||
SPLIT: "split", PREFIX: "prefix", SUFFIX: "suffix",
|
|
||||||
PARSE: "parse",
|
|
||||||
TB: ice.TB, SP: ice.SP, NL: ice.NL,
|
|
||||||
}
|
|
||||||
var yac = {
|
|
||||||
STASK: "stack",
|
|
||||||
}
|
|
||||||
var ssh = {
|
|
||||||
SHELL: "shell",
|
|
||||||
}
|
|
||||||
var gdb = {
|
|
||||||
SIGNAL: "signal",
|
|
||||||
}
|
|
||||||
var tcp = {
|
|
||||||
HOST: "host", PORT: "port",
|
|
||||||
}
|
|
||||||
var nfs = {
|
|
||||||
DIR: "dir", CAT: "cat", DEFS: "defs", PACK: "pack", TRASH: "trash", DIR_ROOT: "dir_root",
|
|
||||||
COPY: "copy", EDIT: "edit", SAVE: "save", LOAD: "load", FIND: "find", GREP: "grep", TAGS: "tags",
|
|
||||||
CONTENT: "content", RECENT: "recent", SCRIPT: "script", MODULE: "module", SOURCE: "source", TARGET: "target", REPOS: "repos", MASTER: "master",
|
|
||||||
PATH: "path", FILE: "file", LINE: "line", SIZE: "size",
|
|
||||||
REPLACE: "replace", FROM: "from", TO: "to",
|
|
||||||
SVG: "svg", HTML: "html", CSS: "css", JS: "js", SH: "sh", GO: "go", CSV: "csv", JSON: "json", SHY: "shy",
|
|
||||||
TXT: "txt", PNG: "png", WEBM: "webm",
|
|
||||||
_CSS: ".css", _JS: ".js",
|
|
||||||
PWD: "./", SRC: "src/", USR: "usr/", USR_LOCAL_WORK: "usr/local/work/", SRC_DOCUMENT: "src/document/",
|
|
||||||
DF: ice.DF, PS: ice.PS, PT: ice.PT,
|
|
||||||
}
|
|
||||||
var cli = {
|
|
||||||
OPENS: "opens", SYSTEM: "system", DAEMON: "daemon", ORDER: "order", BUILD: "build",
|
|
||||||
BEGIN: "begin", START: "start", OPEN: "open", CLOSE: "close", STOP: "stop", END: "end", RESTART: "restart",
|
|
||||||
COLOR: "color", BLACK: "black", WHITE: "white", BLUE: "blue", RED: "red", GRAY: "gray", CYAN: "cyan", GREEN: "green", PURPLE: "purple", YELLOW: "yellow",
|
|
||||||
MAGENTA: "magenta", SILVER: "silver", ALICEBLUE: "aliceblue", TRANSPARENT: "transparent",
|
|
||||||
MAKE: "make", EXEC: "exec", DONE: "done", COST: "cost", FROM: "from", CLEAR: "clear",
|
|
||||||
LINUX: "linux", DARWIN: "darwin", WINDOWS: "windows",
|
|
||||||
PWD: "pwd",
|
|
||||||
}
|
|
||||||
var log = {
|
|
||||||
INFO: "info", WARN: "warn", ERROR: "error", DEBUG: "debug", TRACE: "trace",
|
|
||||||
}
|
|
||||||
|
|
||||||
var code = {
|
|
||||||
FAVOR: "favor", XTERM: "xterm", INNER: "inner", VIMER: "vimer",
|
|
||||||
WEBPACK: "webpack", BINPACK: "binpack", AUTOGEN: "autogen", COMPILE: "compile", PUBLISH: "publish",
|
|
||||||
TEMPLATE: "template", COMPLETE: "complete", NAVIGATE: "navigate", CURRENT: "current",
|
|
||||||
PULL: "pull", PUSH: "push",
|
|
||||||
COMMENT: "comment", KEYWORD: "keyword",
|
|
||||||
PACKAGE: "package", DATATYPE: "datatype", FUNCTION: "function", CONSTANT: "constant",
|
|
||||||
STRING: "string", NUMBER: "number", BOOLEAN: "boolean", OBJECT: "object", ARRAY: "array", UNDEFINED: "undefined",
|
|
||||||
|
|
||||||
META: "Meta", ALT: "Alt", CONTROL: "Control", SHIFT: "Shift", TAB: "Tab", ESCAPE: "Escape", ENTER: "Enter",
|
|
||||||
CMD: "Cmd", CTRL: "Ctrl", SPACE: "Space", BACKSPACE: "Backspace", ESC: "Esc", PS: "/",
|
|
||||||
}
|
|
||||||
var wiki = {
|
|
||||||
TITLE: "title", BRIEF: "brief", REFER: "refer", SPARK: "spark", SHELL: "shell",
|
|
||||||
ORDER: "order", TABLE: "table", CHART: "chart", IMAGE: "image", VIDEO: "video",
|
|
||||||
FIELD: "field", LOCAL: "local", PARSE: "parse",
|
|
||||||
NAVMENU: "navmenu", PREMENU: "premenu", CONTENT: "content",
|
|
||||||
STORY_ITEM: ".story", H2: "h2.story", H3: "h3.story",
|
|
||||||
DRAW: "draw",
|
|
||||||
}
|
|
||||||
var chat = {
|
|
||||||
LIB: "lib", PAGE: "page", PANEL: "panel", PLUGIN: "plugin", STORY: "story", PLUG: "plug",
|
|
||||||
TOAST: "toast", CARTE: "carte", INPUT: "input", UPLOAD: "upload", CONTEXTS: "contexts",
|
|
||||||
LAYOUT: "layout", PROJECT: "project", CONTENT: "content", DISPLAY: "display", PROFILE: "profile", ACTIONS: "actions",
|
|
||||||
TITLE: "title", THEME: "theme", BLACK: "black", WHITE: "white", PRINT: "print", LIGHT: "light", DARK: "dark",
|
|
||||||
SHARE: "share", RIVER: "river", STORM: "storm", FIELD: "field", TOOL: "tool",
|
|
||||||
STATE: "state", MENUS: "menus", SSO: "sso", LOCATION: "location", IFRAME: "iframe",
|
|
||||||
OUTPUT: "output", SIMPLE: "simple", FLOAT: "float", FULL: "full", CMD: "cmd",
|
|
||||||
|
|
||||||
HEADER: "Header", ACTION: "Action", FOOTER: "Footer",
|
|
||||||
libs: ["/lib/base.js", "/lib/core.js", "/lib/date.js", "/lib/misc.js", "/lib/page.js", "/lib/user.js"],
|
|
||||||
panel_list: [{name: "Header", style: "head"}, {name: "River", style: "left"}, {name: "Action", style: "main"}, {name: "Search", style: "auto"}, {name: "Footer", style: "foot"}],
|
|
||||||
plugin_list: [
|
|
||||||
"/plugin/state.js",
|
|
||||||
"/plugin/input.js",
|
|
||||||
"/plugin/table.js",
|
|
||||||
"/plugin/input/key.js",
|
|
||||||
"/plugin/input/date.js",
|
|
||||||
"/plugin/story/json.js",
|
|
||||||
"/plugin/story/spide.js",
|
|
||||||
"/plugin/story/trend.js",
|
|
||||||
"/plugin/local/code/xterm.js",
|
|
||||||
"/plugin/local/code/vimer.js",
|
|
||||||
"/plugin/local/code/inner.js",
|
|
||||||
"/plugin/local/code/inner/syntax.js",
|
|
||||||
"/plugin/local/wiki/draw/path.js",
|
|
||||||
"/plugin/local/wiki/draw.js",
|
|
||||||
"/plugin/local/wiki/feel.js",
|
|
||||||
"/plugin/local/wiki/word.js",
|
|
||||||
"/plugin/local/team/plan.js",
|
|
||||||
"/plugin/local/mall/goods.js",
|
|
||||||
], PLUGIN_INPUT: "/plugin/input/", PLUGIN_STORY: "/plugin/story/", PLUGIN_LOCAL: "/plugin/local/",
|
|
||||||
PLUGIN_STATE_JS: "/plugin/state.js", PLUGIN_INPUT_JS: "/plugin/input.js", PLUGIN_TABLE_JS: "/plugin/table.js",
|
|
||||||
ONENGINE: "onengine", ONDAEMON: "ondaemon", ONAPPEND: "onappend", ONLAYOUT: "onlayout", ONMOTION: "onmotion", ONKEYMAP: "onkeymap",
|
|
||||||
ONIMPORT: "onimport", ONACTION: "onaction", ONDETAIL: "ondetail", ONEXPORT: "onexport",
|
|
||||||
ONSYNTAX: "onsyntax", ONFIGURE: "onfigure", ONPLUGIN: "onplugin",
|
|
||||||
|
|
||||||
ONSIZE: "onsize", ONMAIN: "onmain", ONLOGIN: "onlogin", ONREMOTE: "onremote", ONSEARCH: "onsearch",
|
|
||||||
ONRESIZE: "onresize", ONKEYUP: "onkeyup", ONKEYDOWN: "onkeydown", ONMOUSEENTER: "onmouseenter", ORIENTATIONCHANGE: "orientationchange",
|
|
||||||
ONSTORM_SELECT: "onstorm_select", ONACTION_NOSTORM: "onaction_nostorm", ONACTION_NOTOOL: "onaction_notool", ONACTION_TOUCH: "onaction_touch", ONACTION_CMD: "onaction_cmd", ONACTION_REMOVE: "onaction_remove",
|
|
||||||
ONOPENSEARCH: "onopensearch", ONSEARCH_FOCUS: "onsearch_focus", ONCOMMAND_FOCUS: "oncommand_focus",
|
|
||||||
ONTHEMECHANGE: "onthemechange", ONLAYOUT: "onlayout", ONUNLOAD: "onunload", ONWEBPACK: "onwebpack",
|
|
||||||
ONTOAST: "ontoast", ONDEBUG: "ondebug", ONSHARE: "onshare", ONPRINT: "onprint",
|
|
||||||
|
|
||||||
_INIT: "_init", _DELAY_INIT: "_delay_init",
|
|
||||||
_TRANS: "_trans", _STYLE: "_style", _ENGINE: "_engine", _SEARCH: "_search", _NAMES: "_names", _TOAST: "_toast",
|
|
||||||
}
|
|
||||||
var team = {
|
|
||||||
TASK: "task", PLAN: "plan",
|
|
||||||
BEGIN_TIME: "begin_time",
|
|
||||||
LONG: "long", YEAR: "year", MONTH: "month", WEEK: "week", DAY: "day", HOUR: "hour",
|
|
||||||
TASK_POD: "task.pod", TASK_ZONE: "task.zone", TASK_ID: "task.id",
|
|
||||||
}
|
|
||||||
var mall = {
|
|
||||||
COUNT: "count", PRICE: "price",
|
|
||||||
ASSET: "asset", SALARY: "salary",
|
|
||||||
}
|
|
||||||
|
|
||||||
var html = {PLUGIN_MARGIN: 10, ACTION_HEIGHT: 32, ACTION_MARGIN: 200,
|
|
||||||
FIELDSET: "fieldset", LEGEND: "legend", OPTION: "option", ACTION: "action", OUTPUT: "output", STATUS: "status",
|
|
||||||
OPTION_ARGS: "select.args,input.args,textarea.args", INPUT_ARGS: "input.args,textarea.args", INPUT_BUTTON: "input[type=button]", INPUT_FILE: "input[type=file]",
|
|
||||||
FORM_OPTION: "form.option", DIV_ACTION: "div.action", DIV_OUTPUT: "div.output", DIV_STATUS: "div.status",
|
|
||||||
FIELDSET_HEAD: "fieldset.head", FIELDSET_FOOT: "fieldset.foot", FIELDSET_LEFT: "fieldset.left", FIELDSET_MAIN: "fieldset.main",
|
|
||||||
FIELDSET_PANEL: "fieldset.panel", FIELDSET_PLUGIN: "fieldset.plugin", FIELDSET_STORY: "fieldset.story", FIELDSET_PLUG: "fieldset.plug",
|
|
||||||
FIELDSET_FLOAT: "fieldset.float", FIELDSET_INPUT: "fieldset.input",
|
|
||||||
|
|
||||||
H1: "h1", H2: "h2", H3: "h3", UL: "ul", OL: "ol", LI: "li", BR: "br", HR: "hr",
|
|
||||||
A: "a", SPAN: "span", CODE: "code", DIV: "div",
|
|
||||||
SVG: "svg", IMG: "img", VIDEO: "video", AUDIO: "audio", CANVAS: "canvas", IFRAME: "iframe",
|
|
||||||
WSS: "wss", WEBVIEW: "webview", CHROME: "chrome", MOBILE: "mobile", LANDSCAPE: "landscape",
|
|
||||||
BODY: "body", FORM: "form", LABEL: "label", TITLE: "title", INNER: "inner", SPACE: "space", CLICK: "click",
|
|
||||||
SELECT: "select", INPUT: "input", TEXT: "text", FILE: "file", TEXTAREA: "textarea", BUTTON: "button",
|
|
||||||
CANCEL: "cancel", SUBMIT: "submit", UPLOAD: "upload", USERNAME: "username", PASSWORD: "password",
|
|
||||||
TABLE: "table", THEAD: "thead", TBODY: "tbody", TR: "tr", TH: "th", TD: "td",
|
|
||||||
HEADER: "header", NAV: "nav", MAIN: "main", ASIDE: "aside", FOOTER: "footer",
|
|
||||||
|
|
||||||
BACKGROUND_COLOR: "background-color", COLOR: "color",
|
|
||||||
PADDING: "padding", BORDER: "border", MARGIN: "margin", MARGIN_TOP: "margin-top", MARGIN_X: "margin-x", MARGIN_Y: "margin-y",
|
|
||||||
HEIGHT: "height", WIDTH: "width", MIN_HEIGHT: "min-height", MAX_HEIGHT: "max-height", MIN_WIDTH: "min-width", MAX_WIDTH: "max-width",
|
|
||||||
DISPLAY: "display", BLOCK: "block", NONE: "none", OVERFLOW: "overflow", HIDDEN: "hidden", SCROLL: "scroll", FLOAT: "float", CLEAR: "clear", BOTH: "both",
|
|
||||||
LEFT: "left", TOP: "top", RIGHT: "right", BOTTOM: "bottom",
|
|
||||||
FLEX: "flex", FLOW: "flow",
|
|
||||||
SCROLLBAR: "scrollbar",
|
|
||||||
VISIBILITY: "visibility",
|
|
||||||
VERTICAL: "vertical", HORIZON: "horizon",
|
|
||||||
|
|
||||||
SIZE: "size", OPACITY: "opacity", VISIBLE: "visible",
|
|
||||||
CLASS: "class", LIGHT: "light", DARK: "dark",
|
|
||||||
FILTER: "filter", TOGGLE: "toggle", EXPAND: "expand", SPEED: "speed", HOVER: "hover", HOVER_SELECT: "hover,select",
|
|
||||||
NOT_HIDE: ":not(.hide)",
|
|
||||||
|
|
||||||
PAGE: "page", TABS: "tabs", MENU: "menu", NODE: "node", PLUG: "plug",
|
|
||||||
ZONE: "zone", LIST: "list", ITEM: "item", NAME: "name", ICON: "icon", VIEW: "view",
|
|
||||||
HEAD: "head", LEFT: "left", MAIN: "main", FOOT: "foot", AUTO: "auto", SHOW: "show", HIDE: "hide",
|
|
||||||
PLUGIN: "plugin", LAYOUT: "layout", PROJECT: "project", DISPLAY: "display", PROFILE: "profile", CONTENT: "content",
|
|
||||||
DIV_PAGE: "div.page", DIV_TABS: "div.tabs", DIV_PATH: "div.path", DIV_CODE: "div.code", DIV_PLUG: "div.plug",
|
|
||||||
DIV_ZONE: "div.zone", DIV_LIST: "div.list", DIV_ITEM: "div.item", DIV_NAME: "div.name", SPAN_ITEM: "span.item", SPAN_ICON: "span.icon", SPAN_NAME: "span.name",
|
|
||||||
DIV_CONTENT: "div.content", TABLE_CONTENT: "table.content", TABLE_LAYOUT: "table.layout", DIV_TOGGLE: "div.toggle",
|
|
||||||
DIV_LAYOUT: "div.layout", DIV_LAYOUT_HEAD: "div.layout.head", DIV_LAYOUT_FOOT: "div.layout.foot", DIV_LAYOUT_LEFT: "div.layout.left",
|
|
||||||
DIV_FLOAT: "div.float", DIV_TOAST: "div.toast", DIV_CARTE: "div.carte",
|
|
||||||
DESKTOP: "desktop", DIV_DESKTOP: "div.desktop", DIV_EXPAND: "div.expand",
|
|
||||||
}
|
|
||||||
var svg = {
|
|
||||||
GROUP: "group", PID: "pid", GRID: "grid",
|
|
||||||
FIGURE: "figure", DATA: "data", SHIP: "ship", TRANS: "trans",
|
|
||||||
GO: "go",
|
|
||||||
SHAPE: "shape", TEXT: "text", RECT: "rect", LINE: "line", CIRCLE: "circle", ELLIPSE: "ellipse", BLOCK: "block",
|
|
||||||
STROKE_WIDTH: "stroke-width", STROKE: "stroke", FILL: "fill", FONT_SIZE: "font-size", FONT_FAMILY: "font-family", TEXT_ANCHOR: "text-anchor",
|
|
||||||
G: "g", X: "x", Y: "y", R: "r", RX: "rx", RY: "ry", CX: "cx", CY: "cy", X1: "x1", Y1: "y1", X2: "x2", Y2: "y2",
|
|
||||||
PATH: "path", PATH2V: "path2v", PATH2H: "path2h",
|
|
||||||
M: "M", Q: "Q", T: "T",
|
|
||||||
TEXT_LENGTH: "textLength",
|
|
||||||
}
|
|
||||||
|
|
||||||
function shy(help, meta, list, cb) { var arg = arguments, i = 0; function next(type) {
|
function shy(help, meta, list, cb) { var arg = arguments, i = 0; function next(type) {
|
||||||
if (type == code.OBJECT) { if (typeof arg[i] == code.OBJECT && arg[i].length == undefined) { return arg[i++] }
|
if (type == code.OBJECT) { if (typeof arg[i] == code.OBJECT && arg[i].length == undefined) { return arg[i++] }
|
||||||
} else if (type == code.ARRAY) { if (typeof arg[i] == code.OBJECT && arg[i].length != undefined) { return arg[i++] }
|
} else if (type == code.ARRAY) { if (typeof arg[i] == code.OBJECT && arg[i].length != undefined) { return arg[i++] }
|
||||||
} else if (i < arg.length && (!type || type == typeof arg[i])) { return arg[i++] }
|
} else if (i < arg.length && (!type || type == typeof arg[i])) { return arg[i++] }
|
||||||
} return cb = typeof arg[arg.length-1] == code.FUNCTION? arg[arg.length-1]: function() {}, cb.help = next(code.STRING)||"", cb.meta = next(code.OBJECT)||{}, cb.list = next(code.ARRAY)||[], cb
|
} return cb = typeof arg[arg.length-1] == code.FUNCTION? arg[arg.length-1]: function() {}, cb.help = next(code.STRING)||"", cb.meta = next(code.OBJECT)||{}, cb.list = next(code.ARRAY)||[], cb
|
||||||
}; var _can_name = "", _can_path = ""
|
}; var _can_name = "", _can_path = ""
|
||||||
var Volcanos = shy({iceberg: "/chat/", volcano: "/frame.js", cache: {}, pack: {}, args: {}}, function(name, can, libs, cb) {
|
var Volcanos = shy({iceberg: "/chat/", volcano: chat.FRAME_JS, cache: {}, pack: {}, args: {}}, function(name, can, libs, cb) {
|
||||||
var meta = arguments.callee.meta, list = arguments.callee.list; if (typeof name == code.OBJECT) {
|
var meta = arguments.callee.meta, list = arguments.callee.list; if (typeof name == code.OBJECT) {
|
||||||
if (name.length > 0) { return Volcanos({panels: [{name: chat.HEADER, style: html.HIDE, state: [mdb.TIME, aaa.USERNICK]}, {name: chat.ACTION, style: html.MAIN, tool: name}, {name: chat.FOOTER, style: html.HIDE}]}) }
|
if (name.length > 0) { return Volcanos({panels: [{name: chat.HEADER, style: html.HIDE, state: [mdb.TIME, aaa.USERNICK]}, {name: chat.ACTION, style: html.MAIN, tool: name}, {name: chat.FOOTER, style: html.HIDE}]}) }
|
||||||
var Config = name; name = Config.name||ice.CAN, _can_name = ""
|
var Config = name; name = Config.name||ice.CAN, _can_name = ""
|
||||||
meta.iceberg = Config.iceberg||meta.iceberg, meta.libs = (Config.libs||chat.libs).concat(Config.list), panels = Config.panels||chat.panel_list, delete(Config.panels)
|
meta.iceberg = Config.iceberg||meta.iceberg, meta.libs = (Config.libs||chat.libs).concat(Config.list), panels = Config.panels||chat.panel_list, delete(Config.panels)
|
||||||
libs = [], panels.forEach(function(p) { p && (libs = libs.concat(p.list = p.list||["/panel/"+p.name+nfs._JS, "/panel/"+p.name+nfs._CSS])) }), libs = libs.concat(Config.plugin||chat.plugin_list)
|
libs = [], panels.forEach(function(p) { p && (libs = libs.concat(p.list = p.list||["/volcanos/panel/"+p.name+nfs._JS, "/volcanos/panel/"+p.name+nfs._CSS])) }), libs = libs.concat(Config.plugin||chat.plugin_list)
|
||||||
cb = can||function(can) { can.onengine._init(can, can.Conf(Config), panels, Config._init||meta._init, can._target) }
|
cb = can||function(can) { can.onengine._init(can, can.Conf(Config), panels, Config._init||meta._init, can._target) }
|
||||||
can = Config, can._follow = name, can._target = Config.target||meta.target, can._height = Config.height||meta._height, can._width = Config.width||meta._width
|
can = Config, can._follow = name, can._target = Config.target||meta.target, can._height = Config.height||meta._height, can._width = Config.width||meta._width
|
||||||
}
|
}
|
||||||
@ -323,7 +34,9 @@ var Volcanos = shy({iceberg: "/chat/", volcano: "/frame.js", cache: {}, pack: {}
|
|||||||
},
|
},
|
||||||
request: function(event) { event = event||{}, event = event._event||event
|
request: function(event) { event = event||{}, event = event._event||event
|
||||||
var msg = event._msg||can.misc.Message(event, can); event._msg = msg
|
var msg = event._msg||can.misc.Message(event, can); event._msg = msg
|
||||||
function set(key, value) { value == "" || msg.Option(key) || msg.Option(key, value) }
|
function set(key, value) {
|
||||||
|
if (key == "_method") { return msg._method = value }
|
||||||
|
value == "" || msg.Option(key) || msg.Option(key, value) }
|
||||||
can.core.List(arguments, function(item, index) { if (!item || index == 0) { return }
|
can.core.List(arguments, function(item, index) { if (!item || index == 0) { return }
|
||||||
can.base.isFunc(item.Option)? can.core.List(item.Option(), function(key) {
|
can.base.isFunc(item.Option)? can.core.List(item.Option(), function(key) {
|
||||||
key.indexOf("_") == 0 || key.indexOf("user.") == 0 || set(key, item.Option(key))
|
key.indexOf("_") == 0 || key.indexOf("user.") == 0 || set(key, item.Option(key))
|
||||||
|
Loading…
x
Reference in New Issue
Block a user