Skip to content

Commit

Permalink
Fix indentation after merge, fix global variables
Browse files Browse the repository at this point in the history
  • Loading branch information
arian committed Jul 9, 2012
1 parent 06be629 commit 2d9de4e
Show file tree
Hide file tree
Showing 4 changed files with 82 additions and 73 deletions.
4 changes: 4 additions & 0 deletions .jshintrc
Original file line number Diff line number Diff line change
@@ -0,0 +1,4 @@
{
"mootools": true,
"browser": true
}
1 change: 0 additions & 1 deletion Source/Form.MultipleFileInput.js
Original file line number Diff line number Diff line change
Expand Up @@ -11,7 +11,6 @@ provides: Form.MultipleFileInput
...
*/


Object.append(Element.NativeEvents, {
dragenter: 2, dragleave: 2, dragover: 2, dragend: 2, drop: 2
});
Expand Down
148 changes: 77 additions & 71 deletions Source/Form.Upload.js
Original file line number Diff line number Diff line change
Expand Up @@ -11,15 +11,19 @@ provides: Form.Upload
...
*/

(function(){
"use strict";

if (!this.Form) this.Form = {};
var Form = this.Form;

Form.Upload = new Class({

Implements: [Options, Events],

options: {
dropMsg: 'Please drop your files here',
fireAtOnce: false,
fireAtOnce: false,
onComplete: function(){
// reload
window.location.href = window.location.href;
Expand All @@ -43,97 +47,97 @@ Form.Upload = new Class({
var form = input.getParent('form');
if (!form) return;

var self = this,

drop = new Element('div.droppable', {
text: this.options.dropMsg
}).inject(input, 'after'),

list = new Element('ul.uploadList').inject(drop, 'after'),

progress = new Element('div.progress')
.setStyle('display', 'none').inject(list, 'after'),

inputFiles = new Form.MultipleFileInput(input, list, drop, {
onDragenter: drop.addClass.pass('hover', drop),
onDragleave: drop.removeClass.pass('hover', drop),
onDrop: function() {
drop.removeClass.pass('hover', drop);
if (self.options.fireAtOnce)
form.fireEvent("submit");
}
}),

uploadReq = new Request.File({
url: form.get('action'),
onRequest: progress.setStyles.pass({display: 'block', width: 0}, progress),
onProgress: function(event){
var loaded = event.loaded, total = event.total;
progress.setStyle('width', parseInt(loaded / total * 100, 10).limit(0, 100) + '%');
},
onComplete: function(){
progress.setStyle('width', '100%');
self.fireEvent('complete', arguments);
this.reset();
var self = this;

var drop = new Element('div.droppable', {
text: this.options.dropMsg
}).inject(input, 'after');

var list = new Element('ul.uploadList').inject(drop, 'after');

var progress = new Element('div.progress')
.setStyle('display', 'none').inject(list, 'after');

var inputFiles = new Form.MultipleFileInput(input, list, drop, {
onDragenter: drop.addClass.pass('hover', drop),
onDragleave: drop.removeClass.pass('hover', drop),
onDrop: function(){
drop.removeClass.pass('hover', drop);
if (self.options.fireAtOnce){
form.fireEvent("submit");
}
}),
}
});

var uploadReq = new Request.File({
url: form.get('action'),
onRequest: progress.setStyles.pass({display: 'block', width: 0}, progress),
onProgress: function(event){
var loaded = event.loaded, total = event.total;
progress.setStyle('width', parseInt(loaded / total * 100, 10).limit(0, 100) + '%');
},
onComplete: function(){
progress.setStyle('width', '100%');
self.fireEvent('complete', Array.slice(arguments));
this.reset();
}
});

inputname = input.get('name');
var inputname = input.get('name');

form.addEvent('submit', function(event){
if (event) {
event.preventDefault();
}
if (event) event.preventDefault();
inputFiles.getFiles().each(function(file){
uploadReq.append(inputname , file);
});
uploadReq.send();
});
self.reset = function() {
var files = inputFiles.getFiles();
for (var i = 0; i < files.length; i++) {
inputFiles.remove(files[i]);
}
};

self.reset = function() {
var files = inputFiles.getFiles();
for (var i = 0; i < files.length; i++){
inputFiles.remove(files[i]);
}
};
},

legacyUpload: function(input){

var rows = [];
var rows = [];

var row = input.getParent('.formRow');
rowClone = row.clone(true, true),
add = function(event){
event.preventDefault();

var newRow = rowClone.clone(true, true),
inputID = String.uniqueID(),
label = newRow.getElement('label');

newRow.getElement('input').set('id', inputID).grab(new Element('a.delInputRow', {
text: 'x',
events: {click: function(event){
event.preventDefault();
newRow.destroy();
}}
}), 'after');

if (label) label.set('for', inputID);
newRow.inject(row, 'after');
rows.push(newRow);
};
var rowClone = row.clone(true, true);
var add = function(event){
event.preventDefault();

var newRow = rowClone.clone(true, true),
inputID = String.uniqueID(),
label = newRow.getElement('label');

newRow.getElement('input').set('id', inputID).grab(new Element('a.delInputRow', {
text: 'x',
events: {click: function(event){
event.preventDefault();
newRow.destroy();
}}
}), 'after');

if (label) label.set('for', inputID);
newRow.inject(row, 'after');
rows.push(newRow);
};

new Element('a.addInputRow', {
text: '+',
events: {click: add}
}).inject(input, 'after');

this.reset = function() {
for (var i = 0; i < rows.length; i++) {
rows[i].destroy();
}
rows = [];
};
this.reset = function() {
for (var i = 0; i < rows.length; i++){
rows[i].destroy();
}
rows = [];
};

},

Expand All @@ -142,3 +146,5 @@ Form.Upload = new Class({
}

});

}).call(window);
2 changes: 1 addition & 1 deletion Source/Request.File.js
Original file line number Diff line number Diff line change
Expand Up @@ -14,7 +14,7 @@ credits: https://gist.github.com/a77b537e729aff97429c

(function(){

var progressSupport = ('onprogress' in new Browser.Request);
var progressSupport = ('onprogress' in new Browser.Request());

Request.File = new Class({

Expand Down

0 comments on commit 2d9de4e

Please sign in to comment.