query.js 1.8 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859
  1. $(function()
  2. {
  3. var fileName = dataview != '' ? dataview.name : '';
  4. var exportModal = new $.zui.ModalTrigger({url: createLink('dataview', 'export', 'type=query&table=&fileName=' + fileName, '', true), type: 'iframe', width: 900});
  5. if(document.getElementById('exportDataview'))
  6. {
  7. document.getElementById('exportDataview').addEventListener('click', function(e)
  8. {
  9. tryQuery(e);
  10. showModel(exportModal);
  11. });
  12. }
  13. if(rawMethod !== 'create') return;
  14. var createModal = new $.zui.ModalTrigger({url: createLink('dataview', 'create', 'step=create', '', true), type: 'iframe', width: 480});
  15. document.getElementById('saveButton').addEventListener('click', function(e)
  16. {
  17. tryQuery(e);
  18. showModel(createModal);
  19. });
  20. });
  21. function tryQuery(e)
  22. {
  23. $.ajaxSettings.async = false;
  24. query();
  25. $.ajaxSettings.async = true;
  26. e.preventDefault();
  27. }
  28. function showModel(objModel)
  29. {
  30. if($('#dataform .error').length == $('#dataform .error.hidden').length)
  31. {
  32. var params = $('#dataform').serializeArray();
  33. getFieldSettings();
  34. /* Fix bug #26716. */
  35. var fieldSettings = DataStorage.clone('fieldSettings');
  36. for(let index in fieldSettings)
  37. {
  38. if(!Object.keys(DataStorage.fields).includes(index)) delete fieldSettings[index];
  39. }
  40. DataStorage.fieldSettings = fieldSettings;
  41. sessionStorage.setItem('dataviewSql', JSON.stringify(params));
  42. sessionStorage.setItem('fieldSettings', JSON.stringify(fieldSettings));
  43. sessionStorage.setItem('langs', JSON.stringify(DataStorage.langs));
  44. objModel.show();
  45. }
  46. }
  47. function locate(method, params)
  48. {
  49. var link = createLink('dataview', method, params);
  50. window.location.href = link;
  51. }