Apache2-UploadProgress
view release on metacpan or search on metacpan
extra/progress.jmpl.js view on Meta::CPAN
/*
This Javascript code was generated by Jemplate, the Javascript
Template Toolkit. Any changes made to this file will be lost the next
time the templates are compiled.
Copyright 2006 - Ingy döt Net - All rights reserved.
*/
if (typeof(Jemplate) == 'undefined')
throw('Jemplate.js must be loaded before any Jemplate template files');
Jemplate.templateMap['progress.jmpl'] = function(context) {
if (! context) throw('Jemplate function called without context\n');
var stash = context.stash;
var output = '';
try {
output += '<span class="progressmeter">\n <div class="meter">\n <div class="amount" style="width: ';
//line 3 "progress.jmpl"
output += stash.get('percent');
output += '%;"></div>\n <div class="percent" style="width: 100%">';
//line 4 "progress.jmpl"
output += stash.get('percent');
extra/progress.jmpl.js view on Meta::CPAN
output += ' (avg ';
//line 25 "progress.jmpl"
output += stash.get('rate');
output += ')</td>\n </tr>\n';
}
output += ' </tbody>\n </table>\n</span>\n';
}
catch(e) {
var error = context.set_error(e, output);
throw(error);
}
return output;
}
extra/progress.js view on Meta::CPAN
context.stash = new Jemplate.Stash();
context._filter = new Jemplate.Filter();
var result;
var proc = function(input) {
try {
result = context.process(template, input);
}
catch(e) {
if (! String(e).match(/Jemplate\.STOP\n/))
throw(e);
result = e.toString().replace(/Jemplate\.STOP\n/, '')
}
if (typeof output == 'undefined')
return result;
if (typeof output == 'function') {
output(result);
return;
}
if (typeof(output) == 'string' || output instanceof String) {
if (output.match(/^#[\w\-]+$/)) {
var id = output.replace(/^#/, '');
var element = document.getElementById(id);
if (typeof element == 'undefined')
throw('No element found with id="' + id + '"');
element.innerHTML = result;
return;
}
}
else {
output.innerHTML = result;
return;
}
throw("Invalid arguments in call to Jemplate.process");
return 1;
}
if (typeof data == 'function')
data = data();
else if (typeof data == 'string') {
Ajax.get(data, function(r) { proc(JSON.parse(r)) });
return;
}
extra/progress.js view on Meta::CPAN
return this.process(template, args, true);
}
proto.process = function(template, args, localise) {
if (localise)
this.stash.clone(args);
else
this.stash.update(args);
var func = Jemplate.templateMap[template];
if (typeof func == 'undefined')
throw('No Jemplate template named "' + template + '" available');
var output = func(this);
if (localise)
this.stash.declone();
return output;
}
proto.set_error = function(error, output) {
this._error = [error, output];
return error;
}
proto.filter = function(text, name, args) {
if (name == 'null')
name = "null_filter";
if (typeof this._filter.filters[name] == "function")
return this._filter.filters[name](text, args, this);
else
throw "Unknown filter name ':" + name + "'";
}
//------------------------------------------------------------------------------
// Jemplate.Filter class
//------------------------------------------------------------------------------
if (typeof Jemplate.Filter == 'undefined') {
Jemplate.Filter = function() { };
}
proto = Jemplate.Filter.prototype;
extra/progress.js view on Meta::CPAN
proto.get_first = function() {
this.index = 0;
return this.get_next();
}
proto.get_next = function() {
var object = this.object;
var index = this.index++;
if (typeof object == 'undefined')
throw('No object to iterate');
if( this.object_keys ) {
if (index < this.object_keys.length)
return [this.object_keys[index], false];
} else {
if (index < object.length)
return [object[index], false];
}
return [null, true];
}
//------------------------------------------------------------------------------
// Debugging Support
//------------------------------------------------------------------------------
function XXX(msg) {
if (! confirm(msg))
throw("terminated...");
}
function JJJ(obj) {
XXX(JSON.stringify(obj));
}
//------------------------------------------------------------------------------
// Ajax support
//------------------------------------------------------------------------------
if (! this.Ajax) Ajax = {};
extra/progress.js view on Meta::CPAN
req.onreadystatechange = function() {
if (req.readyState == 4) {
if(req.status == 200)
callback(req.responseText);
}
};
}
req.send(data);
if (!callback) {
if (req.status != 200)
throw('Request for "' + url +
'" failed with status: ' + req.status);
return req.responseText;
}
}
//------------------------------------------------------------------------------
// Cross-Browser XMLHttpRequest v1.1
//------------------------------------------------------------------------------
/*
Emulate Gecko 'XMLHttpRequest()' functionality in IE and Opera. Opera requires
( run in 0.403 second using v1.01-cache-2.11-cpan-496ff517765 )