feature(join) mv from cloudfunc

This commit is contained in:
coderaiser 2014-08-14 04:57:13 -04:00
parent 40ed968ba4
commit 1ae70be714
6 changed files with 53 additions and 53 deletions

View file

@ -42,6 +42,7 @@
client = 'client/',
files = [
'util',
'join',
'format',
'promise',
'cloudfunc',

View file

@ -1,6 +1,6 @@
var CloudCmd, Util, DOM, CloudFunc, $;
var CloudCmd, Util, join, DOM, CloudFunc, $;
(function(CloudCmd, Util, DOM, CloudFunc) {
(function(CloudCmd, Util, join, DOM, CloudFunc) {
'use strict';
CloudCmd.Console = ConsoleProto;
@ -147,14 +147,15 @@ var CloudCmd, Util, DOM, CloudFunc, $;
function load(callback) {
var dir = CloudCmd.LIBDIRCLIENT + 'console/',
jsPath = dir + 'lib/',
css = [
css = join([
'/css/console.css',
dir + 'css/ansi.css',
],
cssAll = CloudFunc.getJoinURL(css),
]),
files = [
jsPath + 'jqconsole.js',
cssAll
css
];
DOM.load.parallel(files, function() {
@ -217,4 +218,4 @@ var CloudCmd, Util, DOM, CloudFunc, $;
init();
}
})(CloudCmd, Util, DOM, CloudFunc);
})(CloudCmd, Util, join, DOM, CloudFunc);

View file

@ -1,5 +1,5 @@
var CloudCmd, Util, DOM, CloudFunc, ace, DiffProto, diff_match_patch, Zip, MenuIO, Format;
(function(CloudCmd, Util, DOM, CloudFunc) {
var CloudCmd, Util, join, DOM, CloudFunc, ace, DiffProto, diff_match_patch, Zip, MenuIO, Format;
(function(CloudCmd, Util, Join, DOM, CloudFunc) {
'use strict';
CloudCmd.Edit = EditProto;
@ -157,7 +157,7 @@ var CloudCmd, Util, DOM, CloudFunc, ace, DiffProto, diff_match_patch, Zip, MenuI
if (!isHTML)
Util.exec(callback);
else {
url = CloudFunc.getJoinURL([
url = join([
DIR + 'emmet.js',
DIR + 'ext-emmet.js'
]);
@ -287,11 +287,10 @@ var CloudCmd, Util, DOM, CloudFunc, ace, DiffProto, diff_match_patch, Zip, MenuI
}
function diff(newValue, callback) {
var libs = [
var url = join([
LIBDIR + 'diff/diff-match-patch.js',
LIBDIR + 'diff.js'
],
url = CloudFunc.getJoinURL(libs);
]);
DOM.load.js(url, function(error) {
var patch,
@ -322,11 +321,10 @@ var CloudCmd, Util, DOM, CloudFunc, ace, DiffProto, diff_match_patch, Zip, MenuI
function zip(value, callback) {
var dir = CloudCmd.LIBDIRCLIENT,
libs = [
url = join([
dir + 'zip/dist/pako.js',
dir + 'zip.js'
],
url = CloudFunc.getJoinURL(libs);
]);
DOM.load.js(url, function() {
Zip.pack(value, callback);
@ -412,7 +410,7 @@ var CloudCmd, Util, DOM, CloudFunc, ace, DiffProto, diff_match_patch, Zip, MenuI
}
function load(callback) {
var url = CloudFunc.getJoinURL([
var url = join([
'theme-tomorrow_night_blue',
'ext-language_tools',
'ext-searchbox',
@ -512,4 +510,4 @@ var CloudCmd, Util, DOM, CloudFunc, ace, DiffProto, diff_match_patch, Zip, MenuI
init();
}
})(CloudCmd, Util, DOM, CloudFunc);
})(CloudCmd, Util, join, DOM, CloudFunc);

View file

@ -1,6 +1,6 @@
var CloudCmd, Util, DOM, CloudFunc, Github, cb;
var CloudCmd, Util, join, DOM, CloudFunc, Github, cb;
(function(CloudCmd, Util, DOM, CloudFunc) {
(function(CloudCmd, Util, join, DOM, CloudFunc) {
'use strict';
CloudCmd.GitHub = GitHubProto;
@ -32,13 +32,11 @@ var CloudCmd, Util, DOM, CloudFunc, Github, cb;
function load(callback) {
var dir = CloudCmd.LIBDIRCLIENT + 'storage/github/',
files = [
url = join([
dir + 'lib/underscore.js',
dir + 'lib/base64.js',
dir + 'github.js'
],
url = CloudFunc.getJoinURL(files);
]);
Util.time('github');
@ -163,4 +161,4 @@ var CloudCmd, Util, DOM, CloudFunc, Github, cb;
init(callback);
}
})(CloudCmd, Util, DOM, CloudFunc);
})(CloudCmd, Util, join, DOM, CloudFunc);

View file

@ -13,8 +13,7 @@ var Util;
function CloudFuncProto(Util) {
var CloudFunc = this,
FS,
JOIN = '/join/';
FS;
/* КОНСТАНТЫ (общие для клиента и сервера)*/
@ -58,25 +57,6 @@ var Util;
return str;
};
this.getJoinURL = function(names) {
var url,
regExp = new RegExp(',', 'g'),
nameStr = names + '';
nameStr = nameStr.replace(regExp, ':');
nameStr = this.rmFirstSlash(nameStr);
url = JOIN + nameStr;
return url;
};
this.getJoinArray = function(url) {
var str = Util.rmStrOnce(url, JOIN),
names = str.split(':');
return names;
};
this.formatMsg = function(msg, name, status) {
if (!status)
status = 'ok';

View file

@ -7,7 +7,6 @@
ponse = require(DIR_SERVER + 'ponse'),
Util = require(DIR + 'util'),
CloudFunc = require(DIR + 'cloudfunc'),
zlib = require('zlib');
module.exports = function(before) {
@ -20,12 +19,21 @@
readFunc = exec.with(readPipe, req, res),
path = ponse.getPathName(req),
regExp = new RegExp('^/join/'),
isJoin = path.match(regExp);
regExpFile = new RegExp('^/join/join.js$'),
isJoin = path.match(regExp),
isJoinFile = path.match(regExpFile);
if (!isJoin) {
if (isJoinFile) {
ponse.sendFile({
name : __dirname + '/../join.js',
gzip : true,
request : req,
response: res
});
} else if (!isJoin) {
next();
} else {
names = CloudFunc.getJoinArray(path);
names = parse(path);
exec.if(!before, readFunc, function(callback) {
before(names, callback);
@ -35,6 +43,19 @@
return isJoin;
}
function parse(url) {
var names,
isStr = typeof url === 'string';
if (!isStr)
throw(Error('url must be string!'));
names = url.replace('/join', '')
.split(':');
return names;
}
function readPipe(req, res, names) {
var stream,
path = ponse.getPathName(req),
@ -61,10 +82,11 @@
if (res.headersSent)
stream.end(msg);
else
ponse.send.error(msg, {
ponse.sendError(msg, {
name : path,
gzip : isGzip,
request : req,
response : res,
name : path
response : res
});
}
}