UserProNetMediaZaliczka.php.fetchData.js 2.3 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667
  1. // @require var SYNC_URL
  2. function zaliczkaFetchData(query, fieldType, resultCallback) {
  3. console.warn('TODO: zaliczkaFetchData(query, fieldType, resultCallback) query('+query+') fieldType:', fieldType);
  4. // fieldType: Object {"@namespace": "default_db:IN7_DZIENNIK_KORESP", id: "xsd:integer", title: "xsd:string", kategoriaKosztu: "xsd:string"}
  5. if ('object' !== typeof fieldType) {
  6. console.log("BUG: Unsupported type '" + fieldType + "'");
  7. return;
  8. }
  9. if (!fieldType['@namespace'] && !fieldType['xsdType']) {
  10. // TODO: log error
  11. console.error("BUG: Missing xmlns or xsdType on fieldType");
  12. return;
  13. }
  14. if (fieldType['@namespace']) {
  15. switch (fieldType['@namespace']) {
  16. case 'default_db/IN7_MK_BAZA_DYSTRYBUCJI/ZaliczkaProjekt':
  17. case 'default_db/IN7_DZIENNIK_KORESP/ZaliczkaKoresp':
  18. {
  19. superagent
  20. .post(SYNC_URL)
  21. .type('json') // header ĺapplication/x-www-form-urlencoded' requires type('form');
  22. .send({
  23. schema: fieldType,
  24. query: query
  25. })
  26. .set('Accept', 'application/json')
  27. .end(function(err, res) {
  28. var payload = (err || !res.ok || 'application/json' !== res.type)
  29. ? {type: 'warning', msg: (res.body && res.body.msg) ? res.body.msg : 'Request error', body: res.body}
  30. : {type: 'success', msg: res.body.msg || '', body: res.body}
  31. jQuery(document).trigger('DBG:notify', payload)
  32. console.log('F.fetchDataAjax res.body', res.body)
  33. console.log('F.fetchDataAjax payload', payload)
  34. jQuery.notify(payload.msg, payload.type)
  35. resultCallback(payload.body)
  36. });
  37. }
  38. break;
  39. default: {
  40. console.log("BUG: Unsupported type namespace '" + fieldType['@namespace'] + "'");
  41. }
  42. }
  43. return;
  44. }
  45. if (fieldType['xsdType']) {
  46. switch (fieldType['xsdType']) {
  47. case 'default_db__x3A__ZALICZKA_POZYCJA:kategoria_kosztuType': {
  48. var options = [
  49. 'Koszt-1',
  50. 'Koszt-2',
  51. 'Koszt-3',
  52. ]
  53. resultCallback({options: options});
  54. } break;
  55. default: {
  56. console.warn("BUG: Unsupported xsdType '" + fieldType['xsdType'] + "'");
  57. }
  58. }
  59. return;
  60. }
  61. }
  62. global.zaliczkaFetchData = zaliczkaFetchData