Skip to content

Commit 0cabc16

Browse files
committed
MBH: what a mess
1 parent 023f4c1 commit 0cabc16

File tree

107 files changed

+31305
-2
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

107 files changed

+31305
-2
lines changed

.gitignore

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -15,7 +15,6 @@ css/
1515
passwd.txt
1616
scripts/
1717
env/
18-
/static
1918
db.sqlite3
2019
migrations
21-
.idea/
20+
.idea/
1.52 KB
Loading
Lines changed: 119 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,119 @@
1+
/**
2+
* Ajax Queue Plugin
3+
*
4+
* Homepage: http://jquery.com/plugins/project/ajaxqueue
5+
* Documentation: http://docs.jquery.com/AjaxQueue
6+
*/
7+
8+
/**
9+
10+
<script>
11+
$(function(){
12+
jQuery.ajaxQueue({
13+
url: "test.php",
14+
success: function(html){ jQuery("ul").append(html); }
15+
});
16+
jQuery.ajaxQueue({
17+
url: "test.php",
18+
success: function(html){ jQuery("ul").append(html); }
19+
});
20+
jQuery.ajaxSync({
21+
url: "test.php",
22+
success: function(html){ jQuery("ul").append("<b>"+html+"</b>"); }
23+
});
24+
jQuery.ajaxSync({
25+
url: "test.php",
26+
success: function(html){ jQuery("ul").append("<b>"+html+"</b>"); }
27+
});
28+
});
29+
</script>
30+
<ul style="position: absolute; top: 5px; right: 5px;"></ul>
31+
32+
*/
33+
/*
34+
* Queued Ajax requests.
35+
* A new Ajax request won't be started until the previous queued
36+
* request has finished.
37+
*/
38+
39+
/*
40+
* Synced Ajax requests.
41+
* The Ajax request will happen as soon as you call this method, but
42+
* the callbacks (success/error/complete) won't fire until all previous
43+
* synced requests have been completed.
44+
*/
45+
46+
47+
(function(jQuery) {
48+
49+
var ajax = jQuery.ajax;
50+
51+
var pendingRequests = {};
52+
53+
var synced = [];
54+
var syncedData = [];
55+
56+
jQuery.ajax = function(settings) {
57+
// create settings for compatibility with ajaxSetup
58+
settings = jQuery.extend(settings, jQuery.extend({}, jQuery.ajaxSettings, settings));
59+
60+
var port = settings.port;
61+
62+
switch(settings.mode) {
63+
case "abort":
64+
if ( pendingRequests[port] ) {
65+
pendingRequests[port].abort();
66+
}
67+
return pendingRequests[port] = ajax.apply(this, arguments);
68+
case "queue":
69+
var _old = settings.complete;
70+
settings.complete = function(){
71+
if ( _old )
72+
_old.apply( this, arguments );
73+
jQuery([ajax]).dequeue("ajax" + port );;
74+
};
75+
76+
jQuery([ ajax ]).queue("ajax" + port, function(){
77+
ajax( settings );
78+
});
79+
return;
80+
case "sync":
81+
var pos = synced.length;
82+
83+
synced[ pos ] = {
84+
error: settings.error,
85+
success: settings.success,
86+
complete: settings.complete,
87+
done: false
88+
};
89+
90+
syncedData[ pos ] = {
91+
error: [],
92+
success: [],
93+
complete: []
94+
};
95+
96+
settings.error = function(){ syncedData[ pos ].error = arguments; };
97+
settings.success = function(){ syncedData[ pos ].success = arguments; };
98+
settings.complete = function(){
99+
syncedData[ pos ].complete = arguments;
100+
synced[ pos ].done = true;
101+
102+
if ( pos == 0 || !synced[ pos-1 ] )
103+
for ( var i = pos; i < synced.length && synced[i].done; i++ ) {
104+
if ( synced[i].error ) synced[i].error.apply( jQuery, syncedData[i].error );
105+
if ( synced[i].success ) synced[i].success.apply( jQuery, syncedData[i].success );
106+
if ( synced[i].complete ) synced[i].complete.apply( jQuery, syncedData[i].complete );
107+
108+
synced[i] = null;
109+
syncedData[i] = null;
110+
}
111+
};
112+
}
113+
return ajax.apply(this, arguments);
114+
};
115+
116+
})((typeof window.jQuery == 'undefined' && typeof window.django != 'undefined')
117+
? django.jQuery
118+
: jQuery
119+
);

0 commit comments

Comments
 (0)