summaryrefslogtreecommitdiffstats
path: root/module/web/static/default/home.js
diff options
context:
space:
mode:
Diffstat (limited to 'module/web/static/default/home.js')
-rw-r--r--module/web/static/default/home.js95
1 files changed, 95 insertions, 0 deletions
diff --git a/module/web/static/default/home.js b/module/web/static/default/home.js
new file mode 100644
index 000000000..cfb6e3ed8
--- /dev/null
+++ b/module/web/static/default/home.js
@@ -0,0 +1,95 @@
+var dwProgressBar = new Class({
+
+ //implements
+ Implements: [Options],
+
+ //options
+ options: {
+ container: $$('body')[0],
+ boxID:'',
+ percentageID:'',
+ displayID:'',
+ startPercentage: 0,
+ displayText: false,
+ speed:10
+ },
+
+ //initialization
+ initialize: function(options) {
+ //set options
+ this.setOptions(options);
+ //create elements
+ this.createElements();
+ },
+
+ //creates the box and percentage elements
+ createElements: function() {
+ var box = new Element('div', { id:this.options.boxID + this.options.id, 'class' : this.options.boxID});
+ var perc = new Element('div', { id:this.options.percentageID + this.options.id, 'style':'width:0px;', 'class' : this.options.percentageID });
+ perc.inject(box);
+ box.inject(this.options.container);
+ if(this.options.displayText) {
+ var text = new Element('div', { id:this.options.displayID + this.options.id, 'class' : this.options.displayID });
+ text.inject(this.options.container);
+ }
+ this.set(this.options.startPercentage);
+ },
+
+ //calculates width in pixels from percentage
+ calculate: function(percentage) {
+ return (document.id(this.options.boxID+ this.options.id).getStyle('width').replace('px','') * (percentage / 100)).toInt();
+ },
+
+ //animates the change in percentage
+ animate: function(to) {
+ document.id(this.options.percentageID+ this.options.id).set('morph', { duration: this.options.speed, link:'cancel' }).morph({width:this.calculate(to.toInt())});
+ if(this.options.displayText) {
+ document.id(this.options.displayID+ this.options.id).set('text', to.toInt() + '%');
+ }
+ },
+
+ //sets the percentage from its current state to desired percentage
+ set: function(to) {
+ this.animate(to);
+ }
+
+});
+
+
+req = new Request.JSON({
+ onSuccess: renderTable,
+ method: 'get',
+ url: '/json/links',
+ initialDelay: 0,
+ delay: 1000,
+ limit: 20000
+});
+
+
+function renderTable(data){
+
+data.downloads.forEach()
+
+}
+
+window.addEvent('domready', function(){
+
+//create the progress bar for example 1
+pb = new dwProgressBar({
+ container: $$('.level1 p')[0],
+ startPercentage: 25,
+ speed: 1000,
+ id: 1,
+ boxID: 'box',
+ percentageID: 'perc',
+ displayText: true,
+ displayID: 'boxtext'
+});
+
+req.startTimer();
+
+
+ });
+
+
+