summaryrefslogtreecommitdiff
path: root/devel-utf8/itjs/loader.js
diff options
context:
space:
mode:
Diffstat (limited to 'devel-utf8/itjs/loader.js')
-rw-r--r--devel-utf8/itjs/loader.js141
1 files changed, 0 insertions, 141 deletions
diff --git a/devel-utf8/itjs/loader.js b/devel-utf8/itjs/loader.js
deleted file mode 100644
index 9fdb9a8..0000000
--- a/devel-utf8/itjs/loader.js
+++ /dev/null
@@ -1,141 +0,0 @@
-/**
- * Create loader to request data from server
- * Uses it_http class for communication
- *
- * @param handler Object providing clear()/render() function when data arrives
- */
-function it_loader(handler)
-{
- /* Clear cache etc. if completely new data */
- this.http = null;
- this.handler = handler;
- this.callback = { object:this, method:'dataReady', errorhandler:'onerror' };
- this.clear();
-}
-
-/* Methods */
-it_loader.prototype =
-{
-
-/* Clear cache and initialize handler */
-clear: function()
-{
- /* Clear cache etc. if completely new data */
- this.entry = new Array();
- this.start = this.end = 0;
- this.attr = { num: 0, loadtime: 0 };
-
- if (this.handler.clear)
- this.handler.clear();
-},
-
-load: function(baseurl, pos, num, query_volatile, retry)
-{
- /* Convert to int */
- pos -= 0;
- num -= 0;
-
- if (isNaN(retry))
- retry = 0;
-
- if (baseurl != this.baseurl)
- {
- this.clear();
- this.baseurl = baseurl;
- this.start = this.end = pos;
- }
-
- this.pos = pos;
- this.num = num;
- this.query_volatile = query_volatile;
-
- this.stop();
-
- while ((num > 0) && (typeof this.entry[pos] != "undefined"))
- {
- pos++;
- num--;
- }
-
- if (this.attr.eof)
- num = Math.min(num, this.end - pos);
-
- if (num > 0)
- {
- this.retry = retry;
- this.http = it_http.get_instance();
- this.http.get(baseurl + (baseurl.match(/\?/) ? "&" : "?") + "pos=" + pos + "&num=" + num + (retry ? "&retry=" + retry : "") + (query_volatile ? query_volatile : ""), this.callback);
- }
- else
- this.handler.render(this);
-
- return true;
-},
-
-/* deprecated: use it_http::post() instead */
-post: function(baseurl, data)
-{
- this.clear();
- this.http = it_http.get_instance();
- this.http.post(baseurl, data, this.callback);
-},
-
-retryload: function(p)
-{
- this.load(p.baseurl, p.pos, p.num, p.query_volatile, p.retry);
-},
-
-dataReady: function(data)
-{
- if ((typeof data == "object"))
- {
- this.attr = {};
-
- for (var key in data)
- {
- var value = data[key];
- var id = key - 0;
-
- if (!isNaN(id))
- {
- this.start = Math.min(this.start, id);
- this.end = Math.max(this.end, id + 1);
- this.entry[id] = data[key];
- }
- else
- this.attr[key] = data[key];
- }
-
- if (this.attr.eof)
- this.attr.num = this.end; /* Fix bogus # of result value */
-
- this.handler.render(this);
-
- if (!this.attr.eof && (this.end < this.pos + this.num))
- this.load(this.baseurl, this.end, this.pos + this.num - this.end);
-
- it_loader.sequence += "h";
- this.http = null;
- }
-},
-
-onerror: function(response)
-{
- var retry = this.retry + 1;
-
- if (retry < 10)
- it_timer({ object: this, method: "retryload", timeout: Math.pow(5, Math.min(retry, 5)), baseurl: this.baseurl, pos: this.pos, num: this.num, query_volatile: this.query_volatile, retry: retry });
- else
- ED(response);
-},
-
-stop: function()
-{
- if (this.http)
- this.http.stop();
-} /* NO COMMA */
-
-}
-
-// static properties
-it_loader.sequence = "";