compass-jquery-plugin 0.3.2.1 → 0.3.2.2

Sign up to get free protection for your applications and to get access to all the features.
Files changed (33) hide show
  1. data/README.md +13 -6
  2. data/VERSION.yml +1 -1
  3. data/lib/handle_attributes.rb +23 -23
  4. data/lib/handle_js_files.rb +1 -1
  5. data/lib/jquery/compass_plugin.rb +5 -5
  6. data/lib/jquery/dynatree.rb +5 -5
  7. data/lib/jquery/jqtouch.rb +3 -3
  8. data/lib/jquery/jquery_auto_complete.rb +44 -44
  9. data/lib/jquery/jquery_selector_assertions.rb +78 -78
  10. data/lib/jquery/jstree.rb +4 -4
  11. data/lib/jquery/ribbon.rb +5 -5
  12. data/templates/jqtouch/jquery.jqtouch.min.js +2 -2
  13. data/templates/jquery/config/initializers/jquery.rb +2 -0
  14. data/templates/jquery/jquery.dotimeout.js +285 -0
  15. data/templates/jquery/jquery.dotimeout.min.js +2 -0
  16. data/templates/jquery/jquery.dst.js +154 -0
  17. data/templates/jquery/jquery.dst.min.js +4 -0
  18. data/templates/jquery/jquery.form.js +48 -36
  19. data/templates/jquery/jquery.form.min.js +15 -14
  20. data/templates/jquery/manifest.rb +4 -0
  21. data/templates/mobile/jquery/mobile/_base.scss +35 -20
  22. data/templates/mobile/jquery/mobile/default/icons-18-black.png +0 -0
  23. data/templates/mobile/jquery/mobile/default/icons-18-white.png +0 -0
  24. data/templates/mobile/jquery/mobile/default/icons-36-black.png +0 -0
  25. data/templates/mobile/jquery/mobile/default/icons-36-white.png +0 -0
  26. data/templates/mobile/jquery/mobile/default.scss +8 -2
  27. data/templates/mobile/jquery/mobile/valencia/icons-18-black.png +0 -0
  28. data/templates/mobile/jquery/mobile/valencia/icons-18-white.png +0 -0
  29. data/templates/mobile/jquery/mobile/valencia/icons-36-black.png +0 -0
  30. data/templates/mobile/jquery/mobile/valencia/icons-36-white.png +0 -0
  31. data/templates/mobile/jquery.mobile.js +29 -26
  32. data/templates/mobile/jquery.mobile.min.js +6 -6
  33. metadata +8 -4
@@ -0,0 +1,154 @@
1
+ /* DSt:
2
+ a simple, agnostic DOM Storage library.
3
+ http://github.com/gamache/DSt
4
+
5
+ AUTHORSHIP:
6
+ copyright 2010 pete gamache gamache!@#$!@#gmail.com
7
+ licensed under the MIT License and/or the GPL version 2
8
+
9
+ SYNOPSIS:
10
+ DSt uses the localStorage mechanism to provide per-site, persistent
11
+ storage of JSON-encodable data.
12
+
13
+ USAGE:
14
+
15
+ DSt.set(key, value); // sets stored value for given key
16
+ var value = DSt.get(key); // returns stored value for given key
17
+
18
+ DSt.store(input_elt); // stores value of a form input element
19
+ DSt.recall(input_elt); // recalls stored value of a form input elt
20
+
21
+ DSt.store_form(form_elt); // runs DSt.store(elt) on each form input
22
+ DSt.populate_form(form_elt); // runs DSt.recall(elt) on each form input
23
+
24
+ Element IDs may always be given in place of the elements themselves.
25
+ Values handled by DSt.get/DSt.set can be anything JSON-encodable.
26
+
27
+ You may use jQuery.DSt or $.DSt instead of DST if you're using
28
+ jquery.dst.js.
29
+ */
30
+
31
+ jQuery.DSt = (function(){var a = {
32
+
33
+ version: 0.002005,
34
+
35
+ get: function (key) {
36
+ var value = localStorage.getItem(key);
37
+ if (value === undefined || value === null)
38
+ value = 'null';
39
+ else
40
+ value = value.toString();
41
+ return JSON.parse(value);
42
+ },
43
+
44
+ set: function (key, value) {
45
+ return localStorage.setItem(key, JSON.stringify(value));
46
+ },
47
+
48
+
49
+ store: function (elt) {
50
+ if (typeof(elt) == 'string') elt = document.getElementById(elt);
51
+ if (!elt || elt.name == '') return this; // bail on nameless/missing elt
52
+
53
+ var key = a._form_elt_key(elt);
54
+
55
+ if (elt.type == 'checkbox') {
56
+ a.set(key, elt.checked ? 1 : 0);
57
+ }
58
+ else if (elt.type == 'radio') {
59
+ a.set(key, a._radio_value(elt));
60
+ }
61
+ else {
62
+ a.set(key, elt.value || '');
63
+ }
64
+
65
+ return this;
66
+ },
67
+
68
+ recall: function (elt) {
69
+ if (typeof(elt) == 'string') elt = document.getElementById(elt);
70
+ if (!elt || elt.name == '') return this; // bail on nameless/missing elt
71
+
72
+ var key = a._form_elt_key(elt);
73
+ var stored_value = a.get(key);
74
+
75
+ if (elt.type == 'checkbox') {
76
+ elt.checked = !!stored_value;
77
+ }
78
+ else if (elt.type == 'radio') {
79
+ if (elt.value == stored_value) elt.checked = true;
80
+ }
81
+ else {
82
+ elt.value = stored_value || '';
83
+ }
84
+
85
+ return this;
86
+ },
87
+
88
+ // returns a key string, based on form name and form element name
89
+ _form_elt_key: function (form_elt) {
90
+ return '_form_' + form_elt.form.name + '_field_' + form_elt.name;
91
+ },
92
+
93
+ // returns the selected value of a group of radio buttons, or null
94
+ // if none are selected
95
+ _radio_value: function (radio_elt) {
96
+ if (typeof(radio_elt)=='string')
97
+ radio_elt=document.getElementById(radio_elt);
98
+
99
+ var radios = radio_elt.form.elements[radio_elt.name];
100
+ var nradios = radios.length;
101
+ var value = null;
102
+ for (var i=0; i<nradios; i++) {
103
+ if (radios[i].checked) value = radios[i].value;
104
+ }
105
+ return value;
106
+ },
107
+
108
+
109
+
110
+ recall_form: function (form) {
111
+ return a._apply_fn_to_form_inputs(form, a.recall);
112
+ },
113
+
114
+ store_form: function (form) {
115
+ return a._apply_fn_to_form_inputs(form, a.store);
116
+ },
117
+
118
+ _apply_fn_to_form_inputs: function (form, fn) {
119
+ if (typeof(form)=='string') form=document.getElementById(form);
120
+ var nelts = form.elements.length;
121
+ for (var i=0; i<nelts; i++) {
122
+ var node = form.elements[i];
123
+ if (node.tagName == 'TEXTAREA' ||
124
+ node.tagName == 'INPUT' &&
125
+ node.type != 'file' &&
126
+ node.type != 'button' &&
127
+ node.type != 'image' &&
128
+ node.type != 'password' &&
129
+ node.type != 'submit' &&
130
+ node.type != 'reset' ) { fn(node); }
131
+ }
132
+ return this;
133
+ },
134
+
135
+
136
+
137
+ // _storage_types() returns a string containing every supported
138
+ // storage mechanism
139
+ _storage_types: function () {
140
+ var st = '';
141
+ for (var i in window) {
142
+ if (i=='sessionStorage' || i=='globalStorage' ||
143
+ i=='localStorage' || i=='openDatabase' ) {
144
+ st += st ? (' '+i) : i;
145
+ }
146
+ }
147
+ return st;
148
+ },
149
+
150
+ javascript_accepts_trailing_comma: false
151
+ };
152
+ return a;
153
+ })();
154
+
@@ -0,0 +1,4 @@
1
+ jQuery.DSt=function(){var c={version:0.002005,get:function(a){a=localStorage.getItem(a);a=a===undefined||a===null?"null":a.toString();return JSON.parse(a)},set:function(a,b){return localStorage.setItem(a,JSON.stringify(b))},store:function(a){if(typeof a=="string")a=document.getElementById(a);if(!a||a.name=="")return this;var b=c._form_elt_key(a);if(a.type=="checkbox")c.set(b,a.checked?1:0);else a.type=="radio"?c.set(b,c._radio_value(a)):c.set(b,a.value||"");return this},recall:function(a){if(typeof a==
2
+ "string")a=document.getElementById(a);if(!a||a.name=="")return this;var b=c._form_elt_key(a);b=c.get(b);if(a.type=="checkbox")a.checked=!!b;else if(a.type=="radio"){if(a.value==b)a.checked=true}else a.value=b||"";return this},_form_elt_key:function(a){return"_form_"+a.form.name+"_field_"+a.name},_radio_value:function(a){if(typeof a=="string")a=document.getElementById(a);a=a.form.elements[a.name];for(var b=a.length,f=null,e=0;e<b;e++)if(a[e].checked)f=a[e].value;return f},recall_form:function(a){return c._apply_fn_to_form_inputs(a,
3
+ c.recall)},store_form:function(a){return c._apply_fn_to_form_inputs(a,c.store)},_apply_fn_to_form_inputs:function(a,b){if(typeof a=="string")a=document.getElementById(a);for(var f=a.elements.length,e=0;e<f;e++){var d=a.elements[e];if(d.tagName=="TEXTAREA"||d.tagName=="INPUT"&&d.type!="file"&&d.type!="button"&&d.type!="image"&&d.type!="password"&&d.type!="submit"&&d.type!="reset")b(d)}return this},_storage_types:function(){var a="",b;for(b in window)if(b=="sessionStorage"||b=="globalStorage"||b=="localStorage"||
4
+ b=="openDatabase")a+=a?" "+b:b;return a},javascript_accepts_trailing_comma:false};return c}();
@@ -1,6 +1,6 @@
1
1
  /*!
2
2
  * jQuery Form Plugin
3
- * version: 2.52 (07-DEC-2010)
3
+ * version: 2.63 (29-JAN-2011)
4
4
  * @requires jQuery v1.3.2 or later
5
5
  *
6
6
  * Examples and documentation at: http://malsup.com/jquery/form/
@@ -64,7 +64,7 @@ $.fn.ajaxSubmit = function(options) {
64
64
 
65
65
  options = $.extend(true, {
66
66
  url: url,
67
- type: this.attr('method') || 'GET',
67
+ type: this[0].getAttribute('method') || 'GET', // IE7 massage (see issue 57)
68
68
  iframeSrc: /^https/i.test(window.location.href || '') ? 'javascript:false' : 'about:blank'
69
69
  }, options);
70
70
 
@@ -168,7 +168,7 @@ $.fn.ajaxSubmit = function(options) {
168
168
  }
169
169
  }
170
170
  else {
171
- $.ajax(options);
171
+ $.ajax(options);
172
172
  }
173
173
 
174
174
  // fire 'notify' event
@@ -190,15 +190,7 @@ $.fn.ajaxSubmit = function(options) {
190
190
  var s = $.extend(true, {}, $.ajaxSettings, options);
191
191
  s.context = s.context || s;
192
192
  var id = 'jqFormIO' + (new Date().getTime()), fn = '_'+id;
193
- window[fn] = function() {
194
- var f = $io.data('form-plugin-onload');
195
- if (f) {
196
- f();
197
- window[fn] = undefined;
198
- try { delete window[fn]; } catch(e){}
199
- }
200
- }
201
- var $io = $('<iframe id="' + id + '" name="' + id + '" src="'+ s.iframeSrc +'" onload="window[\'_\'+this.id]()" />');
193
+ var $io = $('<iframe id="' + id + '" name="' + id + '" src="'+ s.iframeSrc +'" />');
202
194
  var io = $io[0];
203
195
 
204
196
  $io.css({ position: 'absolute', top: '-1000px', left: '-1000px' });
@@ -237,7 +229,6 @@ $.fn.ajaxSubmit = function(options) {
237
229
  return;
238
230
  }
239
231
 
240
- var cbInvoked = false;
241
232
  var timedOut = 0;
242
233
 
243
234
  // add submitting element to data if we know it
@@ -294,7 +285,7 @@ $.fn.ajaxSubmit = function(options) {
294
285
 
295
286
  // add iframe to doc and submit the form
296
287
  $io.appendTo('body');
297
- $io.data('form-plugin-onload', cb);
288
+ io.attachEvent ? io.attachEvent('onload', cb) : io.addEventListener('load', cb, false);
298
289
  form.submit();
299
290
  }
300
291
  finally {
@@ -319,20 +310,19 @@ $.fn.ajaxSubmit = function(options) {
319
310
  var data, doc, domCheckCount = 50;
320
311
 
321
312
  function cb() {
322
- if (cbInvoked) {
313
+ doc = io.contentWindow ? io.contentWindow.document : io.contentDocument ? io.contentDocument : io.document;
314
+ if (!doc || doc.location.href == s.iframeSrc) {
315
+ // response not received yet
323
316
  return;
324
317
  }
318
+ io.detachEvent ? io.detachEvent('onload', cb) : io.removeEventListener('load', cb, false);
325
319
 
326
- $io.removeData('form-plugin-onload');
327
-
328
320
  var ok = true;
329
321
  try {
330
322
  if (timedOut) {
331
323
  throw 'timeout';
332
324
  }
333
- // extract the server response from the iframe
334
- doc = io.contentWindow ? io.contentWindow.document : io.contentDocument ? io.contentDocument : io.document;
335
-
325
+
336
326
  var isXml = s.dataType == 'xml' || doc.XMLDocument || $.isXMLDoc(doc);
337
327
  log('isXml='+isXml);
338
328
  if (!isXml && window.opera && (doc.body == null || doc.body.innerHTML == '')) {
@@ -349,8 +339,7 @@ $.fn.ajaxSubmit = function(options) {
349
339
  }
350
340
 
351
341
  //log('response detected');
352
- cbInvoked = true;
353
- xhr.responseText = doc.documentElement ? doc.documentElement.innerHTML : null;
342
+ xhr.responseText = doc.body ? doc.body.innerHTML : doc.documentElement ? doc.documentElement.innerHTML : null;
354
343
  xhr.responseXML = doc.XMLDocument ? doc.XMLDocument : doc;
355
344
  xhr.getResponseHeader = function(header){
356
345
  var headers = {'content-type': s.dataType};
@@ -379,13 +368,15 @@ $.fn.ajaxSubmit = function(options) {
379
368
  else if (s.dataType == 'xml' && !xhr.responseXML && xhr.responseText != null) {
380
369
  xhr.responseXML = toXml(xhr.responseText);
381
370
  }
382
- data = $.httpData(xhr, s.dataType);
371
+
372
+ data = httpData(xhr, s.dataType, s);
383
373
  }
384
374
  catch(e){
385
375
  log('error caught:',e);
386
376
  ok = false;
387
377
  xhr.error = e;
388
- $.handleError(s, xhr, 'error', e);
378
+ s.error.call(s.context, xhr, 'error', e);
379
+ g && $.event.trigger("ajaxError", [xhr, s, e]);
389
380
  }
390
381
 
391
382
  if (xhr.aborted) {
@@ -396,19 +387,16 @@ $.fn.ajaxSubmit = function(options) {
396
387
  // ordering of these callbacks/triggers is odd, but that's how $.ajax does it
397
388
  if (ok) {
398
389
  s.success.call(s.context, data, 'success', xhr);
399
- if (g) {
400
- $.event.trigger("ajaxSuccess", [xhr, s]);
401
- }
402
- }
403
- if (g) {
404
- $.event.trigger("ajaxComplete", [xhr, s]);
390
+ g && $.event.trigger("ajaxSuccess", [xhr, s]);
405
391
  }
392
+
393
+ g && $.event.trigger("ajaxComplete", [xhr, s]);
394
+
406
395
  if (g && ! --$.active) {
407
396
  $.event.trigger("ajaxStop");
408
397
  }
409
- if (s.complete) {
410
- s.complete.call(s.context, xhr, ok ? 'success' : 'error');
411
- }
398
+
399
+ s.complete && s.complete.call(s.context, xhr, ok ? 'success' : 'error');
412
400
 
413
401
  // clean up
414
402
  setTimeout(function() {
@@ -418,7 +406,7 @@ $.fn.ajaxSubmit = function(options) {
418
406
  }, 100);
419
407
  }
420
408
 
421
- function toXml(s, doc) {
409
+ var toXml = $.parseXML || function(s, doc) { // use parseXML if available (jQuery 1.5+)
422
410
  if (window.ActiveXObject) {
423
411
  doc = new ActiveXObject('Microsoft.XMLDOM');
424
412
  doc.async = 'false';
@@ -427,8 +415,32 @@ $.fn.ajaxSubmit = function(options) {
427
415
  else {
428
416
  doc = (new DOMParser()).parseFromString(s, 'text/xml');
429
417
  }
430
- return (doc && doc.documentElement && doc.documentElement.tagName != 'parsererror') ? doc : null;
431
- }
418
+ return (doc && doc.documentElement && doc.documentElement.nodeName != 'parsererror') ? doc : null;
419
+ };
420
+ var parseJSON = $.parseJSON || function(s) {
421
+ return window['eval']('(' + s + ')');
422
+ };
423
+
424
+ var httpData = function( xhr, type, s ) { // mostly lifted from jq1.4.4
425
+ var ct = xhr.getResponseHeader('content-type') || '',
426
+ xml = type === 'xml' || !type && ct.indexOf('xml') >= 0,
427
+ data = xml ? xhr.responseXML : xhr.responseText;
428
+
429
+ if (xml && data.documentElement.nodeName === 'parsererror') {
430
+ $.error && $.error('parsererror');
431
+ }
432
+ if (s && s.dataFilter) {
433
+ data = s.dataFilter(data, type);
434
+ }
435
+ if (typeof data === 'string') {
436
+ if (type === 'json' || !type && ct.indexOf('json') >= 0) {
437
+ data = parseJSON(data);
438
+ } else if (type === "script" || !type && ct.indexOf("javascript") >= 0) {
439
+ $.globalEval(data);
440
+ }
441
+ }
442
+ return data;
443
+ };
432
444
  }
433
445
  };
434
446
 
@@ -1,19 +1,20 @@
1
- (function(b){function q(){if(b.fn.ajaxSubmit.debug){var a="[jquery.form] "+Array.prototype.join.call(arguments,"");if(window.console&&window.console.log)window.console.log(a);else window.opera&&window.opera.postError&&window.opera.postError(a)}}b.fn.ajaxSubmit=function(a){function f(){function t(){var o=i.attr("target"),m=i.attr("action");l.setAttribute("target",u);l.getAttribute("method")!="POST"&&l.setAttribute("method","POST");l.getAttribute("action")!=e.url&&l.setAttribute("action",e.url);e.skipEncodingOverride||
2
- i.attr({encoding:"multipart/form-data",enctype:"multipart/form-data"});e.timeout&&setTimeout(function(){F=true;s()},e.timeout);var v=[];try{if(e.extraData)for(var w in e.extraData)v.push(b('<input type="hidden" name="'+w+'" value="'+e.extraData[w]+'" />').appendTo(l)[0]);r.appendTo("body");r.data("form-plugin-onload",s);l.submit()}finally{l.setAttribute("action",m);o?l.setAttribute("target",o):i.removeAttr("target");b(v).remove()}}function s(){if(!G){r.removeData("form-plugin-onload");var o=true;
3
- try{if(F)throw"timeout";p=x.contentWindow?x.contentWindow.document:x.contentDocument?x.contentDocument:x.document;var m=e.dataType=="xml"||p.XMLDocument||b.isXMLDoc(p);q("isXml="+m);if(!m&&window.opera&&(p.body==null||p.body.innerHTML==""))if(--K){q("requeing onLoad callback, DOM not available");setTimeout(s,250);return}G=true;j.responseText=p.documentElement?p.documentElement.innerHTML:null;j.responseXML=p.XMLDocument?p.XMLDocument:p;j.getResponseHeader=function(L){return{"content-type":e.dataType}[L]};
4
- var v=/(json|script)/.test(e.dataType);if(v||e.textarea){var w=p.getElementsByTagName("textarea")[0];if(w)j.responseText=w.value;else if(v){var H=p.getElementsByTagName("pre")[0],I=p.getElementsByTagName("body")[0];if(H)j.responseText=H.textContent;else if(I)j.responseText=I.innerHTML}}else if(e.dataType=="xml"&&!j.responseXML&&j.responseText!=null)j.responseXML=C(j.responseText);J=b.httpData(j,e.dataType)}catch(D){q("error caught:",D);o=false;j.error=D;b.handleError(e,j,"error",D)}if(j.aborted){q("upload aborted");
5
- o=false}if(o){e.success.call(e.context,J,"success",j);y&&b.event.trigger("ajaxSuccess",[j,e])}y&&b.event.trigger("ajaxComplete",[j,e]);y&&!--b.active&&b.event.trigger("ajaxStop");if(e.complete)e.complete.call(e.context,j,o?"success":"error");setTimeout(function(){r.removeData("form-plugin-onload");r.remove();j.responseXML=null},100)}}function C(o,m){if(window.ActiveXObject){m=new ActiveXObject("Microsoft.XMLDOM");m.async="false";m.loadXML(o)}else m=(new DOMParser).parseFromString(o,"text/xml");return m&&
6
- m.documentElement&&m.documentElement.tagName!="parsererror"?m:null}var l=i[0];if(b(":input[name=submit],:input[id=submit]",l).length)alert('Error: Form elements must not have name or id of "submit".');else{var e=b.extend(true,{},b.ajaxSettings,a);e.context=e.context||e;var u="jqFormIO"+(new Date).getTime(),E="_"+u;window[E]=function(){var o=r.data("form-plugin-onload");if(o){o();window[E]=undefined;try{delete window[E]}catch(m){}}};var r=b('<iframe id="'+u+'" name="'+u+'" src="'+e.iframeSrc+'" onload="window[\'_\'+this.id]()" />'),
7
- x=r[0];r.css({position:"absolute",top:"-1000px",left:"-1000px"});var j={aborted:0,responseText:null,responseXML:null,status:0,statusText:"n/a",getAllResponseHeaders:function(){},getResponseHeader:function(){},setRequestHeader:function(){},abort:function(){this.aborted=1;r.attr("src",e.iframeSrc)}},y=e.global;y&&!b.active++&&b.event.trigger("ajaxStart");y&&b.event.trigger("ajaxSend",[j,e]);if(e.beforeSend&&e.beforeSend.call(e.context,j,e)===false)e.global&&b.active--;else if(!j.aborted){var G=false,
8
- F=0,z=l.clk;if(z){var A=z.name;if(A&&!z.disabled){e.extraData=e.extraData||{};e.extraData[A]=z.value;if(z.type=="image"){e.extraData[A+".x"]=l.clk_x;e.extraData[A+".y"]=l.clk_y}}}e.forceSync?t():setTimeout(t,10);var J,p,K=50}}}if(!this.length){q("ajaxSubmit: skipping submit process - no element selected");return this}if(typeof a=="function")a={success:a};var d=this.attr("action");if(d=typeof d==="string"?b.trim(d):"")d=(d.match(/^([^#]+)/)||[])[1];d=d||window.location.href||"";a=b.extend(true,{url:d,
9
- type:this.attr("method")||"GET",iframeSrc:/^https/i.test(window.location.href||"")?"javascript:false":"about:blank"},a);d={};this.trigger("form-pre-serialize",[this,a,d]);if(d.veto){q("ajaxSubmit: submit vetoed via form-pre-serialize trigger");return this}if(a.beforeSerialize&&a.beforeSerialize(this,a)===false){q("ajaxSubmit: submit aborted via beforeSerialize callback");return this}var c,h,g=this.formToArray(a.semantic);if(a.data){a.extraData=a.data;for(c in a.data)if(a.data[c]instanceof Array)for(var k in a.data[c])g.push({name:c,
10
- value:a.data[c][k]});else{h=a.data[c];h=b.isFunction(h)?h():h;g.push({name:c,value:h})}}if(a.beforeSubmit&&a.beforeSubmit(g,this,a)===false){q("ajaxSubmit: submit aborted via beforeSubmit callback");return this}this.trigger("form-submit-validate",[g,this,a,d]);if(d.veto){q("ajaxSubmit: submit vetoed via form-submit-validate trigger");return this}c=b.param(g);if(a.type.toUpperCase()=="GET"){a.url+=(a.url.indexOf("?")>=0?"&":"?")+c;a.data=null}else a.data=c;var i=this,n=[];a.resetForm&&n.push(function(){i.resetForm()});
11
- a.clearForm&&n.push(function(){i.clearForm()});if(!a.dataType&&a.target){var B=a.success||function(){};n.push(function(t){var s=a.replaceTarget?"replaceWith":"html";b(a.target)[s](t).each(B,arguments)})}else a.success&&n.push(a.success);a.success=function(t,s,C){for(var l=a.context||a,e=0,u=n.length;e<u;e++)n[e].apply(l,[t,s,C||i,i])};c=b("input:file",this).length>0;k=i.attr("enctype")=="multipart/form-data"||i.attr("encoding")=="multipart/form-data";if(a.iframe!==false&&(c||a.iframe||k))a.closeKeepAlive?
1
+ (function(b){function q(){if(b.fn.ajaxSubmit.debug){var a="[jquery.form] "+Array.prototype.join.call(arguments,"");if(window.console&&window.console.log)window.console.log(a);else window.opera&&window.opera.postError&&window.opera.postError(a)}}b.fn.ajaxSubmit=function(a){function f(){function x(){var j=i.attr("target"),l=i.attr("action");o.setAttribute("target",w);o.getAttribute("method")!="POST"&&o.setAttribute("method","POST");o.getAttribute("action")!=e.url&&o.setAttribute("action",e.url);e.skipEncodingOverride||
2
+ i.attr({encoding:"multipart/form-data",enctype:"multipart/form-data"});e.timeout&&setTimeout(function(){E=true;s()},e.timeout);var t=[];try{if(e.extraData)for(var u in e.extraData)t.push(b('<input type="hidden" name="'+u+'" value="'+e.extraData[u]+'" />').appendTo(o)[0]);v.appendTo("body");r.attachEvent?r.attachEvent("onload",s):r.addEventListener("load",s,false);o.submit()}finally{o.setAttribute("action",l);j?o.setAttribute("target",j):i.removeAttr("target");b(t).remove()}}function s(){m=r.contentWindow?
3
+ r.contentWindow.document:r.contentDocument?r.contentDocument:r.document;if(!(!m||m.location.href==e.iframeSrc)){r.detachEvent?r.detachEvent("onload",s):r.removeEventListener("load",s,false);var j=true;try{if(E)throw"timeout";var l=e.dataType=="xml"||m.XMLDocument||b.isXMLDoc(m);q("isXml="+l);if(!l&&window.opera&&(m.body==null||m.body.innerHTML==""))if(--H){q("requeing onLoad callback, DOM not available");setTimeout(s,250);return}k.responseText=m.body?m.body.innerHTML:m.documentElement?m.documentElement.innerHTML:
4
+ null;k.responseXML=m.XMLDocument?m.XMLDocument:m;k.getResponseHeader=function(I){return{"content-type":e.dataType}[I]};var t=/(json|script)/.test(e.dataType);if(t||e.textarea){var u=m.getElementsByTagName("textarea")[0];if(u)k.responseText=u.value;else if(t){var z=m.getElementsByTagName("pre")[0],F=m.getElementsByTagName("body")[0];if(z)k.responseText=z.textContent;else if(F)k.responseText=F.innerHTML}}else if(e.dataType=="xml"&&!k.responseXML&&k.responseText!=null)k.responseXML=J(k.responseText);
5
+ G=K(k,e.dataType,e)}catch(B){q("error caught:",B);j=false;k.error=B;e.error.call(e.context,k,"error",B);y&&b.event.trigger("ajaxError",[k,e,B])}if(k.aborted){q("upload aborted");j=false}if(j){e.success.call(e.context,G,"success",k);y&&b.event.trigger("ajaxSuccess",[k,e])}y&&b.event.trigger("ajaxComplete",[k,e]);y&&!--b.active&&b.event.trigger("ajaxStop");e.complete&&e.complete.call(e.context,k,j?"success":"error");setTimeout(function(){v.removeData("form-plugin-onload");v.remove();k.responseXML=null},
6
+ 100)}}var o=i[0];if(b(":input[name=submit],:input[id=submit]",o).length)alert('Error: Form elements must not have name or id of "submit".');else{var e=b.extend(true,{},b.ajaxSettings,a);e.context=e.context||e;var w="jqFormIO"+(new Date).getTime(),v=b('<iframe id="'+w+'" name="'+w+'" src="'+e.iframeSrc+'" />'),r=v[0];v.css({position:"absolute",top:"-1000px",left:"-1000px"});var k={aborted:0,responseText:null,responseXML:null,status:0,statusText:"n/a",getAllResponseHeaders:function(){},getResponseHeader:function(){},
7
+ setRequestHeader:function(){},abort:function(){this.aborted=1;v.attr("src",e.iframeSrc)}},y=e.global;y&&!b.active++&&b.event.trigger("ajaxStart");y&&b.event.trigger("ajaxSend",[k,e]);if(e.beforeSend&&e.beforeSend.call(e.context,k,e)===false)e.global&&b.active--;else if(!k.aborted){var E=0,A=o.clk;if(A){var C=A.name;if(C&&!A.disabled){e.extraData=e.extraData||{};e.extraData[C]=A.value;if(A.type=="image"){e.extraData[C+".x"]=o.clk_x;e.extraData[C+".y"]=o.clk_y}}}e.forceSync?x():setTimeout(x,10);var G,
8
+ m,H=50,J=b.parseXML||function(j,l){if(window.ActiveXObject){l=new ActiveXObject("Microsoft.XMLDOM");l.async="false";l.loadXML(j)}else l=(new DOMParser).parseFromString(j,"text/xml");return l&&l.documentElement&&l.documentElement.nodeName!="parsererror"?l:null},L=b.parseJSON||function(j){return window.eval("("+j+")")},K=function(j,l,t){var u=j.getResponseHeader("content-type")||"",z=l==="xml"||!l&&u.indexOf("xml")>=0;j=z?j.responseXML:j.responseText;z&&j.documentElement.nodeName==="parsererror"&&b.error&&
9
+ b.error("parsererror");if(t&&t.dataFilter)j=t.dataFilter(j,l);if(typeof j==="string")if(l==="json"||!l&&u.indexOf("json")>=0)j=L(j);else if(l==="script"||!l&&u.indexOf("javascript")>=0)b.globalEval(j);return j}}}}if(!this.length){q("ajaxSubmit: skipping submit process - no element selected");return this}if(typeof a=="function")a={success:a};var d=this.attr("action");if(d=typeof d==="string"?b.trim(d):"")d=(d.match(/^([^#]+)/)||[])[1];d=d||window.location.href||"";a=b.extend(true,{url:d,type:this[0].getAttribute("method")||
10
+ "GET",iframeSrc:/^https/i.test(window.location.href||"")?"javascript:false":"about:blank"},a);d={};this.trigger("form-pre-serialize",[this,a,d]);if(d.veto){q("ajaxSubmit: submit vetoed via form-pre-serialize trigger");return this}if(a.beforeSerialize&&a.beforeSerialize(this,a)===false){q("ajaxSubmit: submit aborted via beforeSerialize callback");return this}var c,h,g=this.formToArray(a.semantic);if(a.data){a.extraData=a.data;for(c in a.data)if(a.data[c]instanceof Array)for(var n in a.data[c])g.push({name:c,
11
+ value:a.data[c][n]});else{h=a.data[c];h=b.isFunction(h)?h():h;g.push({name:c,value:h})}}if(a.beforeSubmit&&a.beforeSubmit(g,this,a)===false){q("ajaxSubmit: submit aborted via beforeSubmit callback");return this}this.trigger("form-submit-validate",[g,this,a,d]);if(d.veto){q("ajaxSubmit: submit vetoed via form-submit-validate trigger");return this}c=b.param(g);if(a.type.toUpperCase()=="GET"){a.url+=(a.url.indexOf("?")>=0?"&":"?")+c;a.data=null}else a.data=c;var i=this,p=[];a.resetForm&&p.push(function(){i.resetForm()});
12
+ a.clearForm&&p.push(function(){i.clearForm()});if(!a.dataType&&a.target){var D=a.success||function(){};p.push(function(x){var s=a.replaceTarget?"replaceWith":"html";b(a.target)[s](x).each(D,arguments)})}else a.success&&p.push(a.success);a.success=function(x,s,o){for(var e=a.context||a,w=0,v=p.length;w<v;w++)p[w].apply(e,[x,s,o||i,i])};c=b("input:file",this).length>0;n=i.attr("enctype")=="multipart/form-data"||i.attr("encoding")=="multipart/form-data";if(a.iframe!==false&&(c||a.iframe||n))a.closeKeepAlive?
12
13
  b.get(a.closeKeepAlive,f):f();else b.ajax(a);this.trigger("form-submit-notify",[this,a]);return this};b.fn.ajaxForm=function(a){if(this.length===0){var f={s:this.selector,c:this.context};if(!b.isReady&&f.s){q("DOM not ready, queuing ajaxForm");b(function(){b(f.s,f.c).ajaxForm(a)});return this}q("terminating; zero elements found by selector"+(b.isReady?"":" (DOM not ready)"));return this}return this.ajaxFormUnbind().bind("submit.form-plugin",function(d){if(!d.isDefaultPrevented()){d.preventDefault();
13
14
  b(this).ajaxSubmit(a)}}).bind("click.form-plugin",function(d){var c=d.target,h=b(c);if(!h.is(":submit,input:image")){c=h.closest(":submit");if(c.length==0)return;c=c[0]}var g=this;g.clk=c;if(c.type=="image")if(d.offsetX!=undefined){g.clk_x=d.offsetX;g.clk_y=d.offsetY}else if(typeof b.fn.offset=="function"){h=h.offset();g.clk_x=d.pageX-h.left;g.clk_y=d.pageY-h.top}else{g.clk_x=d.pageX-c.offsetLeft;g.clk_y=d.pageY-c.offsetTop}setTimeout(function(){g.clk=g.clk_x=g.clk_y=null},100)})};b.fn.ajaxFormUnbind=
14
- function(){return this.unbind("submit.form-plugin click.form-plugin")};b.fn.formToArray=function(a){var f=[];if(this.length===0)return f;var d=this[0],c=a?d.getElementsByTagName("*"):d.elements;if(!c)return f;var h,g,k,i,n,B;h=0;for(n=c.length;h<n;h++){g=c[h];if(k=g.name)if(a&&d.clk&&g.type=="image"){if(!g.disabled&&d.clk==g){f.push({name:k,value:b(g).val()});f.push({name:k+".x",value:d.clk_x},{name:k+".y",value:d.clk_y})}}else if((i=b.fieldValue(g,true))&&i.constructor==Array){g=0;for(B=i.length;g<
15
- B;g++)f.push({name:k,value:i[g]})}else i!==null&&typeof i!="undefined"&&f.push({name:k,value:i})}if(!a&&d.clk){a=b(d.clk);c=a[0];if((k=c.name)&&!c.disabled&&c.type=="image"){f.push({name:k,value:a.val()});f.push({name:k+".x",value:d.clk_x},{name:k+".y",value:d.clk_y})}}return f};b.fn.formSerialize=function(a){return b.param(this.formToArray(a))};b.fn.fieldSerialize=function(a){var f=[];this.each(function(){var d=this.name;if(d){var c=b.fieldValue(this,a);if(c&&c.constructor==Array)for(var h=0,g=c.length;h<
15
+ function(){return this.unbind("submit.form-plugin click.form-plugin")};b.fn.formToArray=function(a){var f=[];if(this.length===0)return f;var d=this[0],c=a?d.getElementsByTagName("*"):d.elements;if(!c)return f;var h,g,n,i,p,D;h=0;for(p=c.length;h<p;h++){g=c[h];if(n=g.name)if(a&&d.clk&&g.type=="image"){if(!g.disabled&&d.clk==g){f.push({name:n,value:b(g).val()});f.push({name:n+".x",value:d.clk_x},{name:n+".y",value:d.clk_y})}}else if((i=b.fieldValue(g,true))&&i.constructor==Array){g=0;for(D=i.length;g<
16
+ D;g++)f.push({name:n,value:i[g]})}else i!==null&&typeof i!="undefined"&&f.push({name:n,value:i})}if(!a&&d.clk){a=b(d.clk);c=a[0];if((n=c.name)&&!c.disabled&&c.type=="image"){f.push({name:n,value:a.val()});f.push({name:n+".x",value:d.clk_x},{name:n+".y",value:d.clk_y})}}return f};b.fn.formSerialize=function(a){return b.param(this.formToArray(a))};b.fn.fieldSerialize=function(a){var f=[];this.each(function(){var d=this.name;if(d){var c=b.fieldValue(this,a);if(c&&c.constructor==Array)for(var h=0,g=c.length;h<
16
17
  g;h++)f.push({name:d,value:c[h]});else c!==null&&typeof c!="undefined"&&f.push({name:this.name,value:c})}});return b.param(f)};b.fn.fieldValue=function(a){for(var f=[],d=0,c=this.length;d<c;d++){var h=b.fieldValue(this[d],a);h===null||typeof h=="undefined"||h.constructor==Array&&!h.length||(h.constructor==Array?b.merge(f,h):f.push(h))}return f};b.fieldValue=function(a,f){var d=a.name,c=a.type,h=a.tagName.toLowerCase();if(f===undefined)f=true;if(f&&(!d||a.disabled||c=="reset"||c=="button"||(c=="checkbox"||
17
- c=="radio")&&!a.checked||(c=="submit"||c=="image")&&a.form&&a.form.clk!=a||h=="select"&&a.selectedIndex==-1))return null;if(h=="select"){var g=a.selectedIndex;if(g<0)return null;d=[];h=a.options;var k=(c=c=="select-one")?g+1:h.length;for(g=c?g:0;g<k;g++){var i=h[g];if(i.selected){var n=i.value;n||(n=i.attributes&&i.attributes.value&&!i.attributes.value.specified?i.text:i.value);if(c)return n;d.push(n)}}return d}return b(a).val()};b.fn.clearForm=function(){return this.each(function(){b("input,select,textarea",
18
+ c=="radio")&&!a.checked||(c=="submit"||c=="image")&&a.form&&a.form.clk!=a||h=="select"&&a.selectedIndex==-1))return null;if(h=="select"){var g=a.selectedIndex;if(g<0)return null;d=[];h=a.options;var n=(c=c=="select-one")?g+1:h.length;for(g=c?g:0;g<n;g++){var i=h[g];if(i.selected){var p=i.value;p||(p=i.attributes&&i.attributes.value&&!i.attributes.value.specified?i.text:i.value);if(c)return p;d.push(p)}}return d}return b(a).val()};b.fn.clearForm=function(){return this.each(function(){b("input,select,textarea",
18
19
  this).clearFields()})};b.fn.clearFields=b.fn.clearInputs=function(){return this.each(function(){var a=this.type,f=this.tagName.toLowerCase();if(a=="text"||a=="password"||f=="textarea")this.value="";else if(a=="checkbox"||a=="radio")this.checked=false;else if(f=="select")this.selectedIndex=-1})};b.fn.resetForm=function(){return this.each(function(){if(typeof this.reset=="function"||typeof this.reset=="object"&&!this.reset.nodeType)this.reset()})};b.fn.enable=function(a){if(a===undefined)a=true;return this.each(function(){this.disabled=
19
20
  !a})};b.fn.selected=function(a){if(a===undefined)a=true;return this.each(function(){var f=this.type;if(f=="checkbox"||f=="radio")this.checked=a;else if(this.tagName.toLowerCase()=="option"){f=b(this).parent("select");a&&f[0]&&f[0].type=="select-one"&&f.find("option").selected(false);this.selected=a}})}})(jQuery);
@@ -17,6 +17,10 @@ javascript 'jquery.contextMenu.js'
17
17
  javascript 'jquery.contextMenu.min.js'
18
18
  javascript 'jquery.cookie.js'
19
19
  javascript 'jquery.cookie.min.js'
20
+ javascript 'jquery.dotimeout.js'
21
+ javascript 'jquery.dotimeout.min.js'
22
+ javascript 'jquery.dst.js'
23
+ javascript 'jquery.dst.min.js'
20
24
  stylesheet 'jquery/ui/farbtastic.scss'
21
25
  javascript 'jquery.farbtastic.js'
22
26
  javascript 'jquery.farbtastic.min.js'
@@ -39,7 +39,7 @@
39
39
  display: inline-block;
40
40
  width: 20px;
41
41
  height: 20px;
42
- padding: 1px 0px 1px 2px;
42
+ padding: 2px 1px 2px 3px;
43
43
  text-indent: -9999px;
44
44
  .ui-btn-inner {
45
45
  padding: 0; }
@@ -260,13 +260,19 @@
260
260
  -ms-text-size-adjust: none;
261
261
  -webkit-tap-highlight-color: rgba(0, 0, 0, 0); }
262
262
 
263
- /*orientations from js are available */
264
-
265
- .portrait, .landscape {}
266
-
267
263
  /* "page" containers - full-screen views, one should always be in view post-pageload */
268
264
 
269
- [data-role=page], [data-role=dialog], .ui-page {
265
+ .ui-mobile {
266
+ [data-role=page], [data-role=dialog] {
267
+ top: 0;
268
+ left: 0;
269
+ width: 100%;
270
+ min-height: 100%;
271
+ position: absolute;
272
+ display: none;
273
+ border: 0; } }
274
+
275
+ .ui-page {
270
276
  top: 0;
271
277
  left: 0;
272
278
  width: 100%;
@@ -275,10 +281,21 @@
275
281
  display: none;
276
282
  border: 0; }
277
283
 
278
- .ui-page-active {
284
+ .ui-mobile .ui-page-active {
279
285
  display: block;
280
- overflow: visible;
281
- min-height: 100%; }
286
+ overflow: visible; }
287
+
288
+ /*orientations from js are available */
289
+
290
+ .portrait {
291
+ min-height: 480px;
292
+ .ui-page {
293
+ min-height: 480px; } }
294
+
295
+ .landscape {
296
+ min-height: 320px;
297
+ .ui-page {
298
+ min-height: 320px; } }
282
299
 
283
300
  /* loading screen */
284
301
 
@@ -409,6 +426,7 @@
409
426
  */
410
427
 
411
428
  .ui-dialog {
429
+ min-height: 480px;
412
430
  .ui-header, .ui-content, .ui-footer {
413
431
  margin: 15px;
414
432
  position: relative; }
@@ -473,11 +491,10 @@
473
491
  &:first-child {
474
492
  border-top-width: 0; } }
475
493
 
476
- @media screen and (max-width: 480px) {
477
- .ui-field-contain {
478
- border-width: 0;
479
- padding: 0;
480
- margin: 1em 0; } }
494
+ .min-width-480px .ui-field-contain {
495
+ border-width: 0;
496
+ padding: 0;
497
+ margin: 1em 0; }
481
498
 
482
499
  /*
483
500
  * jQuery Mobile Framework
@@ -728,9 +745,9 @@ textarea.ui-input-text {
728
745
  outline: 0 !important; }
729
746
  .ui-input-clear {
730
747
  position: absolute;
731
- right: 2px;
748
+ right: 0;
732
749
  top: 50%;
733
- margin-top: -12px; }
750
+ margin-top: -14px; }
734
751
  .ui-input-clear-hidden {
735
752
  display: none; } }
736
753
 
@@ -1283,13 +1300,11 @@ Built by David Kaneda and maintained by Jonathan Stark.
1283
1300
 
1284
1301
  .ui-mobile-viewport-transitioning {
1285
1302
  width: 100%;
1286
- height: 120%;
1287
- /* we want to make sure we take up enough to keep the scroll top hidden during transition, but not too much to overflow our buffer */
1303
+ height: 100%;
1288
1304
  overflow: hidden;
1289
1305
  .ui-page {
1290
1306
  width: 100%;
1291
- height: 120%;
1292
- /* we want to make sure we take up enough to keep the scroll top hidden during transition, but not too much to overflow our buffer */
1307
+ height: 100%;
1293
1308
  overflow: hidden; } }
1294
1309
 
1295
1310
  .flip {
@@ -549,7 +549,7 @@ a.ui-link-inherit {
549
549
  @media screen and (-webkit-min-device-pixel-ratio: 2), screen and (max--moz-device-pixel-ratio: 2) {
550
550
  .ui-icon {
551
551
  background-image: image_url("jquery/mobile/default/icons-36-white.png");
552
- background-size: 558px 18px; }
552
+ background-size: 630px 18px; }
553
553
  .ui-icon-black {
554
554
  background-image: image_url("jquery/mobile/default/icons-36-black.png"); } }
555
555
 
@@ -609,6 +609,12 @@ a.ui-link-inherit {
609
609
  .ui-icon-info {
610
610
  background-position: -540px 0; }
611
611
 
612
+ .ui-icon-home {
613
+ background-position: -576px 0; }
614
+
615
+ .ui-icon-search {
616
+ background-position: -612px 0; }
617
+
612
618
  /* checks,radios */
613
619
 
614
620
  .ui-icon-checkbox-off, .ui-icon-checkbox-on, .ui-icon-radio-off, .ui-icon-radio-on {
@@ -630,7 +636,7 @@ a.ui-link-inherit {
630
636
  .ui-icon-radio-on {
631
637
  background-image: image_url("jquery/mobile/default/form-radio-on.png"); }
632
638
 
633
- .ui-icon-search {
639
+ .ui-icon-searchfield {
634
640
  background-image: image_url("jquery/mobile/default/icon-search-black.png");
635
641
  background-size: 16px 16px; }
636
642