nitrogen.js 1.4 KB

123456789101112131415161718192021222324252627282930
  1. // Nitrogen Compatibility Layer
  2. function querySourceRaw(Id) {
  3. var val, el = document.getElementById(Id);
  4. if (!el) return "";
  5. switch (el.tagName) {
  6. case 'FIELDSET': val = document.querySelector('[id="' + Id + '"] :checked');
  7. val = val ? val.value : ""; break;
  8. case 'INPUT':
  9. switch (el.getAttribute("type")) {
  10. case 'radio': case 'checkbox': val = el.checked ? el.value : ""; break;
  11. case 'date': val = new Date(Date.parse(el.value)) || ""; break;
  12. case 'calendar': val = pickers[el.id]._d || ""; break; //only 4 nitro #calendar{}
  13. default: var edit = el.contentEditable;
  14. if (edit && edit === 'true') val = el.innerHTML;
  15. else val = el.value; }
  16. break;
  17. default: var edit = el.contentEditable;
  18. if (edit && edit === 'true') val = el.innerHTML;
  19. else val = el.value; }
  20. return val; }
  21. function querySource(Id) {
  22. var qs = querySourceRaw(Id);
  23. if(qs instanceof Date) { return tuple(number(qs.getFullYear()),number(qs.getMonth()+1),number(qs.getDate())); }
  24. else { return utf8_toByteArray(qs); } }
  25. (function() {
  26. window.requestAnimationFrame = window.requestAnimationFrame || window.mozRequestAnimationFrame ||
  27. window.webkitRequestAnimationFrame || window.msRequestAnimationFrame; })();