mirror of
https://github.com/novnc/noVNC.git
synced 2026-06-04 19:39:39 +00:00
Add RFB specs and move *.js files into include/
This commit is contained in:
4329
include/mootools-1.2.4-core-nc.js
vendored
Normal file
4329
include/mootools-1.2.4-core-nc.js
vendored
Normal file
File diff suppressed because it is too large
Load Diff
241
include/mootools-1.2.4.4-more.js
Normal file
241
include/mootools-1.2.4.4-more.js
Normal file
@@ -0,0 +1,241 @@
|
||||
//MooTools More, <http://mootools.net/more>. Copyright (c) 2006-2009 Aaron Newton <http://clientcide.com/>, Valerio Proietti <http://mad4milk.net> & the MooTools team <http://mootools.net/developers>, MIT Style License.
|
||||
|
||||
/*
|
||||
---
|
||||
|
||||
script: More.js
|
||||
|
||||
description: MooTools More
|
||||
|
||||
license: MIT-style license
|
||||
|
||||
authors:
|
||||
- Guillermo Rauch
|
||||
- Thomas Aylott
|
||||
- Scott Kyle
|
||||
|
||||
requires:
|
||||
- core:1.2.4/MooTools
|
||||
|
||||
provides: [MooTools.More]
|
||||
|
||||
...
|
||||
*/
|
||||
|
||||
MooTools.More = {
|
||||
'version': '1.2.4.4',
|
||||
'build': '6f6057dc645fdb7547689183b2311063bd653ddf'
|
||||
};
|
||||
|
||||
/*
|
||||
---
|
||||
|
||||
script: String.QueryString.js
|
||||
|
||||
description: Methods for dealing with URI query strings.
|
||||
|
||||
license: MIT-style license
|
||||
|
||||
authors:
|
||||
- Sebastian Markbåge, Aaron Newton, Lennart Pilon, Valerio Proietti
|
||||
|
||||
requires:
|
||||
- core:1.2.4/Array
|
||||
- core:1.2.4/String
|
||||
- /MooTools.More
|
||||
|
||||
provides: [String.QueryString]
|
||||
|
||||
...
|
||||
*/
|
||||
|
||||
String.implement({
|
||||
|
||||
parseQueryString: function(){
|
||||
var vars = this.split(/[&;]/), res = {};
|
||||
if (vars.length) vars.each(function(val){
|
||||
var index = val.indexOf('='),
|
||||
keys = index < 0 ? [''] : val.substr(0, index).match(/[^\]\[]+/g),
|
||||
value = decodeURIComponent(val.substr(index + 1)),
|
||||
obj = res;
|
||||
keys.each(function(key, i){
|
||||
var current = obj[key];
|
||||
if(i < keys.length - 1)
|
||||
obj = obj[key] = current || {};
|
||||
else if($type(current) == 'array')
|
||||
current.push(value);
|
||||
else
|
||||
obj[key] = $defined(current) ? [current, value] : value;
|
||||
});
|
||||
});
|
||||
return res;
|
||||
},
|
||||
|
||||
cleanQueryString: function(method){
|
||||
return this.split('&').filter(function(val){
|
||||
var index = val.indexOf('='),
|
||||
key = index < 0 ? '' : val.substr(0, index),
|
||||
value = val.substr(index + 1);
|
||||
return method ? method.run([key, value]) : $chk(value);
|
||||
}).join('&');
|
||||
}
|
||||
|
||||
});
|
||||
|
||||
/*
|
||||
---
|
||||
|
||||
script: URI.js
|
||||
|
||||
description: Provides methods useful in managing the window location and uris.
|
||||
|
||||
license: MIT-style license
|
||||
|
||||
authors:
|
||||
- Sebastian Markbåge
|
||||
- Aaron Newton
|
||||
|
||||
requires:
|
||||
- core:1.2.4/Selectors
|
||||
- /String.QueryString
|
||||
|
||||
provides: URI
|
||||
|
||||
...
|
||||
*/
|
||||
|
||||
var URI = new Class({
|
||||
|
||||
Implements: Options,
|
||||
|
||||
options: {
|
||||
/*base: false*/
|
||||
},
|
||||
|
||||
regex: /^(?:(\w+):)?(?:\/\/(?:(?:([^:@\/]*):?([^:@\/]*))?@)?([^:\/?#]*)(?::(\d*))?)?(\.\.?$|(?:[^?#\/]*\/)*)([^?#]*)(?:\?([^#]*))?(?:#(.*))?/,
|
||||
parts: ['scheme', 'user', 'password', 'host', 'port', 'directory', 'file', 'query', 'fragment'],
|
||||
schemes: {http: 80, https: 443, ftp: 21, rtsp: 554, mms: 1755, file: 0},
|
||||
|
||||
initialize: function(uri, options){
|
||||
this.setOptions(options);
|
||||
var base = this.options.base || URI.base;
|
||||
if(!uri) uri = base;
|
||||
|
||||
if (uri && uri.parsed) this.parsed = $unlink(uri.parsed);
|
||||
else this.set('value', uri.href || uri.toString(), base ? new URI(base) : false);
|
||||
},
|
||||
|
||||
parse: function(value, base){
|
||||
var bits = value.match(this.regex);
|
||||
if (!bits) return false;
|
||||
bits.shift();
|
||||
return this.merge(bits.associate(this.parts), base);
|
||||
},
|
||||
|
||||
merge: function(bits, base){
|
||||
if ((!bits || !bits.scheme) && (!base || !base.scheme)) return false;
|
||||
if (base){
|
||||
this.parts.every(function(part){
|
||||
if (bits[part]) return false;
|
||||
bits[part] = base[part] || '';
|
||||
return true;
|
||||
});
|
||||
}
|
||||
bits.port = bits.port || this.schemes[bits.scheme.toLowerCase()];
|
||||
bits.directory = bits.directory ? this.parseDirectory(bits.directory, base ? base.directory : '') : '/';
|
||||
return bits;
|
||||
},
|
||||
|
||||
parseDirectory: function(directory, baseDirectory) {
|
||||
directory = (directory.substr(0, 1) == '/' ? '' : (baseDirectory || '/')) + directory;
|
||||
if (!directory.test(URI.regs.directoryDot)) return directory;
|
||||
var result = [];
|
||||
directory.replace(URI.regs.endSlash, '').split('/').each(function(dir){
|
||||
if (dir == '..' && result.length > 0) result.pop();
|
||||
else if (dir != '.') result.push(dir);
|
||||
});
|
||||
return result.join('/') + '/';
|
||||
},
|
||||
|
||||
combine: function(bits){
|
||||
return bits.value || bits.scheme + '://' +
|
||||
(bits.user ? bits.user + (bits.password ? ':' + bits.password : '') + '@' : '') +
|
||||
(bits.host || '') + (bits.port && bits.port != this.schemes[bits.scheme] ? ':' + bits.port : '') +
|
||||
(bits.directory || '/') + (bits.file || '') +
|
||||
(bits.query ? '?' + bits.query : '') +
|
||||
(bits.fragment ? '#' + bits.fragment : '');
|
||||
},
|
||||
|
||||
set: function(part, value, base){
|
||||
if (part == 'value'){
|
||||
var scheme = value.match(URI.regs.scheme);
|
||||
if (scheme) scheme = scheme[1];
|
||||
if (scheme && !$defined(this.schemes[scheme.toLowerCase()])) this.parsed = { scheme: scheme, value: value };
|
||||
else this.parsed = this.parse(value, (base || this).parsed) || (scheme ? { scheme: scheme, value: value } : { value: value });
|
||||
} else if (part == 'data') {
|
||||
this.setData(value);
|
||||
} else {
|
||||
this.parsed[part] = value;
|
||||
}
|
||||
return this;
|
||||
},
|
||||
|
||||
get: function(part, base){
|
||||
switch(part){
|
||||
case 'value': return this.combine(this.parsed, base ? base.parsed : false);
|
||||
case 'data' : return this.getData();
|
||||
}
|
||||
return this.parsed[part] || '';
|
||||
},
|
||||
|
||||
go: function(){
|
||||
document.location.href = this.toString();
|
||||
},
|
||||
|
||||
toURI: function(){
|
||||
return this;
|
||||
},
|
||||
|
||||
getData: function(key, part){
|
||||
var qs = this.get(part || 'query');
|
||||
if (!$chk(qs)) return key ? null : {};
|
||||
var obj = qs.parseQueryString();
|
||||
return key ? obj[key] : obj;
|
||||
},
|
||||
|
||||
setData: function(values, merge, part){
|
||||
if (typeof values == 'string'){
|
||||
data = this.getData();
|
||||
data[arguments[0]] = arguments[1];
|
||||
values = data;
|
||||
} else if (merge) {
|
||||
values = $merge(this.getData(), values);
|
||||
}
|
||||
return this.set(part || 'query', Hash.toQueryString(values));
|
||||
},
|
||||
|
||||
clearData: function(part){
|
||||
return this.set(part || 'query', '');
|
||||
}
|
||||
|
||||
});
|
||||
|
||||
URI.prototype.toString = URI.prototype.valueOf = function(){
|
||||
return this.get('value');
|
||||
};
|
||||
|
||||
URI.regs = {
|
||||
endSlash: /\/$/,
|
||||
scheme: /^(\w+):/,
|
||||
directoryDot: /\.\/|\.$/
|
||||
};
|
||||
|
||||
URI.base = new URI(document.getElements('base[href]', true).getLast(), {base: document.location});
|
||||
|
||||
String.implement({
|
||||
|
||||
toURI: function(options){
|
||||
return new URI(this, options);
|
||||
}
|
||||
|
||||
});
|
||||
1
include/mootools-more.js
Symbolic link
1
include/mootools-more.js
Symbolic link
@@ -0,0 +1 @@
|
||||
mootools-1.2.4.4-more.js
|
||||
1
include/mootools.js
Symbolic link
1
include/mootools.js
Symbolic link
@@ -0,0 +1 @@
|
||||
mootools-1.2.4-core-nc.js
|
||||
Reference in New Issue
Block a user