Advertisement
Guest User

Untitled

a guest
May 25th, 2016
187
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 4.30 KB | None | 0 0
  1. import javax.servlet.annotation.WebServlet;
  2. import com.vaadin.annotations.Theme;
  3. import com.vaadin.annotations.VaadinServletConfiguration;
  4. import com.vaadin.annotations.Widgetset;
  5. import com.vaadin.server.VaadinRequest;
  6. import com.vaadin.server.VaadinServlet;
  7. import com.vaadin.ui.Button;
  8. import com.vaadin.ui.Button.ClickEvent;
  9. import com.vaadin.ui.JavaScript;
  10. import com.vaadin.ui.Label;
  11. import com.vaadin.ui.UI;
  12. import com.vaadin.ui.VerticalLayout;
  13. import com.vaadin.client.ui.*;
  14.  
  15. @Theme("mytheme")
  16. @Widgetset("my.vaadin.apptest.MyAppWidgetset")
  17. @com.vaadin.annotations.JavaScript({"https://ajax.googleapis.com/ajax/libs/jquery/1.12.2/jquery.min.js"
  18.  
  19. })
  20. public class MyUI extends UI {
  21. @Override
  22. protected void init(VaadinRequest vaadinRequest) {
  23. final VerticalLayout layout = new VerticalLayout();
  24. layout.addStyleName("myLayout");//add class to main div
  25. Label label = new Label("Hello Vaadin user. Use this application to upload files.");
  26. ...
  27. //HERE IS THE JAVASCRIPT CREATING AND INSTANTIATING THE POPUP AND THE AJAX CALL
  28. //CREATING POPUP
  29. JavaScript.getCurrent().execute(""
  30. +"var $HTMLpopup = $('<div class=\"popupContainer\">"
  31. +"<span class=\"cancelBtn big\"></span>"
  32. +"<div class=\"wrapper\">"
  33. +"<form action=\"\" id=\"fileForm\">"
  34. +"<div class=\"mask\">"
  35. +"<input type=\"file\" title=\" \"name=\"uploadFile\" class=\"uploadFile\" accept=\".mol,.sdf\">/*filters files to upload*/"
  36. +"<span class=\"pseudoBtn\">Browse</span>"
  37. +"<input type=\"text\" name=\"displayFile\" class=\"displayFile\" placeholder=\"no file loaded\">"
  38. +"<span class=\"cancelBtn small\"></span>"
  39. +"</div>"
  40. +"<textarea class=\"fileResult\"></textarea>"
  41. +"<button type=\"submit\" class=\"submitBtn\">Upload</button>"
  42. +"<div class=\"clear\"></div>"
  43. +"</form>"
  44. +"</div>"
  45. +"</div>');"
  46. //INSTANTIATING THE POPUP
  47. +"$('.popupTriggerBtn').click(function(){"
  48. +"/*console.log('button clicked!');*/"
  49. +"var $body = $('body');"
  50. +"$HTMLpopup.appendTo($body);"
  51. +"});"
  52. //HERE IS THE AJAX BIT
  53. +"var $submitBtn = $HTMLpopup.find('.submitBtn');"
  54. +"$submitBtn.click(function(e){"
  55. +"e.preventDefault();/*prevent submission*/"
  56. +"if(isFileUploadEmpty()){/*IF EMPTY*/"
  57. +"/*alert('submit clicked');*/"
  58. +"removeError();"
  59. +"showError('empty');"
  60. + "}"
  61. +"else{/*IF NOT EMPTY*/"
  62. +"/*AJAX OPS*/"
  63. +"if (window.XMLHttpRequest){/*XMLHttpRequest SUPPORT?*/"
  64. +"console.log('XMLHttpRequest supported!');"
  65. +"var postData = returnFileAsString();/*returns the file as a string*/;"
  66. +"/*console.log('here is the file as a string ' + postData);*/"
  67. +"$.ajax({"
  68. +"type:'post',"
  69. +"url:'http://localhost:8080/apptest/',"
  70. +"data:postData,"
  71. +"contentType: 'application/x-www-form-urlencoded',"
  72. +"success: function(responseData, textStatus, jqXHR){"
  73. +"/*alert('data saved');*/"
  74. +"console.log('responseData is ' + responseData);"
  75. +"console.log('text status is ' + textStatus);"
  76. +"console.log('the data submitted is ' + postData );"
  77. +"},"
  78. +"error: function(jqXHR, textStatus, errorThrown){"
  79. +"console.log(errorThrown);"
  80. +"alert('an error has occurred!');"
  81. +"}"
  82. +"});"
  83. +"}"
  84. +"}"
  85. +"});"
  86. +"");
  87. //ADDING COMPONENTS
  88. layout.addComponents( label, button );
  89. layout.setMargin(true);
  90. layout.setSpacing(true);
  91.  
  92. setContent(layout);
  93. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement