nitro.js 2.3 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061
  1. // Nitrogen Compatibility Layer
  2. function direct(term) { ws.send(enc(tuple(atom('direct'),term))); }
  3. function validateSources() { return true; }
  4. function querySourceRaw(Id) {
  5. var val, el = document.getElementById(Id);
  6. if (!el) {
  7. val = qs('input[name='+Id+']:checked'); val = val ? val.value : "";
  8. } else switch (el.tagName) {
  9. case 'FIELDSET':
  10. val = qs('[id="'+Id+'"]:checked'); val = val ? val.value : ""; break;
  11. case 'INPUT':
  12. switch (el.getAttribute("type")) {
  13. case 'radio': case 'checkbox': val = qs('input[name='+Id+']:checked'); val = val ? val.value : ""; break;
  14. case 'date': val = Date.parse(el.value); val = val && new Date(val) || ""; break;
  15. case 'calendar': val = pickers[el.id]._d || ""; break;
  16. default: var edit = el.contentEditable;
  17. if (edit && edit === 'true') val = el.innerHTML;
  18. else val = el.value;
  19. }
  20. break;
  21. default:
  22. if (el.getAttribute('data-vector-input')) {
  23. res = getSortableValues('#' + el.children[1].id);
  24. console.log('data-vector-input:res =', res);
  25. return res;
  26. } else {
  27. var edit = el.contentEditable;
  28. if (edit && edit === 'true') {
  29. val = el.innerHTML;
  30. } else {
  31. val = el.value;
  32. switch (val) {
  33. case "true": val = new Boolean(true); break;
  34. case "false": val = new Boolean(false); break;
  35. }
  36. }
  37. }
  38. }
  39. console.log("querySourceRaw:val:", val)
  40. return val;
  41. }
  42. function querySource(Id) {
  43. var qs = querySourceRaw(Id);
  44. if (qs instanceof Date) {
  45. return tuple(number(qs.getFullYear()),
  46. number(qs.getMonth() + 1),
  47. number(qs.getDate())); }
  48. else if (qs instanceof Boolean) {
  49. return atom(qs.valueOf()); }
  50. else if (qs instanceof Array) {
  51. return list.apply(null, qs.map(bin)); }
  52. else { return bin(qs); }
  53. }
  54. (function () {
  55. window.requestAnimationFrame = window.requestAnimationFrame || window.mozRequestAnimationFrame ||
  56. window.webkitRequestAnimationFrame || window.msRequestAnimationFrame;
  57. })();