/** * The contents of this file are subject to the license and copyright * detailed in the LICENSE file at the root of the source * tree and available online at * * https://github.com/keeps/roda */ package org.roda.wui.client.browse; import org.roda.core.data.common.RodaConstants; import org.roda.core.data.v2.index.facet.Facets; import org.roda.core.data.v2.index.filter.Filter; import org.roda.core.data.v2.index.filter.SimpleFilterParameter; import org.roda.core.data.v2.ip.DIPFile; import org.roda.core.data.v2.ip.metadata.FileFormat; import org.roda.wui.client.common.lists.DIPFileList; import org.roda.wui.client.common.lists.pagination.ListSelectionUtils; import org.roda.wui.client.common.search.SearchPanel; import org.roda.wui.common.client.tools.RestUtils; import com.google.gwt.core.client.GWT; import com.google.gwt.user.client.Command; import com.google.gwt.user.client.ui.FlowPanel; import com.google.gwt.user.client.ui.Widget; import config.i18n.client.ClientMessages; public class DipFilePreview extends BitstreamPreview<DIPFile> { private static final FileFormat NO_FORMAT = null; private static final ClientMessages messages = GWT.create(ClientMessages.class); public DipFilePreview(Viewers viewers, DIPFile dipFile) { super(viewers, RestUtils.createDipFileDownloadUri(dipFile.getUUID()), NO_FORMAT, dipFile.getId(), dipFile.getSize(), dipFile.isDirectory(), dipFile); } public DipFilePreview(Viewers viewers, DIPFile dipFile, Command onPreviewFailure) { super(viewers, RestUtils.createDipFileDownloadUri(dipFile.getUUID()), NO_FORMAT, dipFile.getId(), dipFile.getSize(), dipFile.isDirectory(), onPreviewFailure, dipFile); } @Override protected Widget directoryPreview() { final Filter filter = new Filter( new SimpleFilterParameter(RodaConstants.DIPFILE_PARENT_UUID, getObject().getUUID())); final FlowPanel layout = new FlowPanel(); final SearchPanel dipFileSearch = new SearchPanel(filter, RodaConstants.DIPFILE_SEARCH, true, messages.searchPlaceHolder(), false, false, true); final DIPFileList folderList = new DIPFileList(filter, Facets.NONE, messages.allOfAObject(DIPFile.class.getName()), false); dipFileSearch.setList(folderList); layout.add(dipFileSearch); layout.add(folderList); ListSelectionUtils.bindBrowseOpener(folderList); return layout; } }