public PersonUploadTable( final MshenguMain main, final Person person, final VerticalLayout content) { this.main = main; this.person = person; addContainerProperty("File Name", String.class, null); addContainerProperty("Download", Button.class, null); addContainerProperty("Delete", Button.class, null); EmployeeDetail detail = person.getEmployeeDetails(); if (detail.getFiles() != null) { for (final String fileId : detail.getFiles()) { final Button download = new Button("Download"); download.setStyleName(Reindeer.BUTTON_LINK); download.setData(fileId); download.addClickListener( new Button.ClickListener() { @Override public void buttonClick(Button.ClickEvent event) { PersonFilesgeUtil personFilesgeUtil = new PersonFilesgeUtil(fileId); StreamResource.StreamSource imageSource = personFilesgeUtil; StreamResource resource = new StreamResource(imageSource, personFilesgeUtil.getFileName()); FileDownloader fileDownloader = new FileDownloader(resource); fileDownloader.extend(download); } }); Button delete = new Button("Delete"); delete.setStyleName(Reindeer.BUTTON_LINK); delete.setData(fileId); delete.addClickListener( new Button.ClickListener() { @Override public void buttonClick(Button.ClickEvent event) { deleteFile((String) event.getButton().getData()); removeItem((String) event.getButton().getData()); } }); addItem( new Object[] { storageService.getById(fileId).getFilename(), download, delete, }, fileId); } } setNullSelectionAllowed(false); setSelectable(true); // Send changes in selection immediately to server. setImmediate(true); }
public void loadTable(InputStream in, String fileName, String mimeType) { // String uploadDate = dateTimeFormatHelper.getDayMonthYear(new Date()); String fileId = storageService.save(in, mimeType, fileName); Set<String> files = updateEmpDetails(fileId); for (String filesId : files) { Button download = new Button("Download"); download.setStyleName(Reindeer.BUTTON_LINK); download.setData(filesId); PersonFilesgeUtil personFilesgeUtil = new PersonFilesgeUtil(fileId); StreamResource.StreamSource imageSource = personFilesgeUtil; StreamResource resource = new StreamResource(imageSource, personFilesgeUtil.getFileName()); FileDownloader fileDownloader = new FileDownloader(resource); fileDownloader.extend(download); Button delete = new Button("Delete"); delete.setStyleName(Reindeer.BUTTON_LINK); delete.setData(filesId); delete.addClickListener( new Button.ClickListener() { @Override public void buttonClick(Button.ClickEvent event) { deleteFile((String) event.getButton().getData()); removeItem((String) event.getButton().getData()); } }); addItem( new Object[] { storageService.getById(filesId).getFilename(), download, delete, }, filesId); } // Allow selecting items from the table. setNullSelectionAllowed(false); setSelectable(true); // Send changes in selection immediately to server. setImmediate(true); }